diff --git a/.openapi-generator/FILES b/.openapi-generator/FILES
index 1ce4ba0f..a84acbcc 100644
--- a/.openapi-generator/FILES
+++ b/.openapi-generator/FILES
@@ -846,6 +846,7 @@ docs/StEthBlockchainData.md
docs/StakeRequest.md
docs/StakeResponse.md
docs/StakingApi.md
+docs/StakingErrorSchema.md
docs/StakingPositionsPaginatedResponse.md
docs/StakingProvider.md
docs/Status.md
@@ -948,6 +949,7 @@ docs/TRLinkVerdict.md
docs/TRLinkVerdictEnum.md
docs/Tag.md
docs/TagAttachmentOperationAction.md
+docs/TagType.md
docs/TagsApi.md
docs/TagsPagedResponse.md
docs/TemplatesPaginatedResponse.md
@@ -1081,6 +1083,7 @@ docs/UpdateVaultAccountAssetAddressRequest.md
docs/UpdateVaultAccountRequest.md
docs/UpdateWebhookRequest.md
docs/UsWirePaymentInfo.md
+docs/UsdcGatewayWalletAsset.md
docs/UsdcGatewayWalletInfoResponse.md
docs/UsdcGatewayWalletStatusResponse.md
docs/UserGroupCreateRequest.md
@@ -2012,6 +2015,7 @@ fireblocks/models/split_response.py
fireblocks/models/st_eth_blockchain_data.py
fireblocks/models/stake_request.py
fireblocks/models/stake_response.py
+fireblocks/models/staking_error_schema.py
fireblocks/models/staking_positions_paginated_response.py
fireblocks/models/staking_provider.py
fireblocks/models/status.py
@@ -2023,6 +2027,7 @@ fireblocks/models/swift_destination.py
fireblocks/models/system_message_info.py
fireblocks/models/tag.py
fireblocks/models/tag_attachment_operation_action.py
+fireblocks/models/tag_type.py
fireblocks/models/tags_paged_response.py
fireblocks/models/templates_paginated_response.py
fireblocks/models/third_party_routing.py
@@ -2240,6 +2245,7 @@ fireblocks/models/update_webhook_request.py
fireblocks/models/us_wire_address.py
fireblocks/models/us_wire_destination.py
fireblocks/models/us_wire_payment_info.py
+fireblocks/models/usdc_gateway_wallet_asset.py
fireblocks/models/usdc_gateway_wallet_info_response.py
fireblocks/models/usdc_gateway_wallet_status_response.py
fireblocks/models/user_group_create_request.py
@@ -3157,6 +3163,7 @@ test/test_st_eth_blockchain_data.py
test/test_stake_request.py
test/test_stake_response.py
test/test_staking_api.py
+test/test_staking_error_schema.py
test/test_staking_positions_paginated_response.py
test/test_staking_provider.py
test/test_status.py
@@ -3168,6 +3175,7 @@ test/test_swift_destination.py
test/test_system_message_info.py
test/test_tag.py
test/test_tag_attachment_operation_action.py
+test/test_tag_type.py
test/test_tags_api.py
test/test_tags_paged_response.py
test/test_templates_paginated_response.py
@@ -3391,6 +3399,7 @@ test/test_update_webhook_request.py
test/test_us_wire_address.py
test/test_us_wire_destination.py
test/test_us_wire_payment_info.py
+test/test_usdc_gateway_wallet_asset.py
test/test_usdc_gateway_wallet_info_response.py
test/test_usdc_gateway_wallet_status_response.py
test/test_user_group_create_request.py
diff --git a/CHANGELOG.md b/CHANGELOG.md
deleted file mode 100644
index 01679467..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.0.0](https://github.com/fireblocks/py-sdk/compare/v18.0.0...v19.0.0) - 2026-05-17
-
-### Merged
-
-- Generated SDK #7742 (major) [`#139`](https://github.com/fireblocks/py-sdk/pull/139)
-
-## [v18.0.0](https://github.com/fireblocks/py-sdk/compare/v17.0.0...v18.0.0) - 2026-05-07
-
-### Merged
-
-- Generated SDK #3222 (major) [`#138`](https://github.com/fireblocks/py-sdk/pull/138)
-
-## [v17.0.0](https://github.com/fireblocks/py-sdk/compare/v16.0.0...v17.0.0) - 2026-04-20
-
-### Merged
-
-- Generated SDK #9605 (major) [`#137`](https://github.com/fireblocks/py-sdk/pull/137)
-
-## [v16.0.0](https://github.com/fireblocks/py-sdk/compare/v15.0.0...v16.0.0) - 2026-04-06
-
-### Merged
-
-- Generated SDK #3331 [`#135`](https://github.com/fireblocks/py-sdk/pull/135)
-
-## [v15.0.0](https://github.com/fireblocks/py-sdk/compare/v14.1.0...v15.0.0) - 2026-03-15
-
-### Merged
-
-- Generated SDK #3733 (major) [`#129`](https://github.com/fireblocks/py-sdk/pull/129)
-
-## [v14.1.0](https://github.com/fireblocks/py-sdk/compare/v14.0.0...v14.1.0) - 2026-02-26
-
-### Merged
-
-- Generated SDK #2167 [`#127`](https://github.com/fireblocks/py-sdk/pull/127)
-
-## [v14.0.0](https://github.com/fireblocks/py-sdk/compare/v13.0.0...v14.0.0) - 2026-02-03
-
-### Merged
-
-- Generated SDK #4746 [`#123`](https://github.com/fireblocks/py-sdk/pull/123)
-
-## [v13.0.0](https://github.com/fireblocks/py-sdk/compare/v12.1.2...v13.0.0) - 2025-11-13
-
-### Merged
-
-- Generated SDK #5834 [`#121`](https://github.com/fireblocks/py-sdk/pull/121)
-
-## [v12.1.2](https://github.com/fireblocks/py-sdk/compare/v12.1.1...v12.1.2) - 2025-10-22
-
-### Merged
-
-- Generated SDK #8293 [`#120`](https://github.com/fireblocks/py-sdk/pull/120)
-
-## [v12.1.1](https://github.com/fireblocks/py-sdk/compare/v12.1.0...v12.1.1) - 2025-09-29
-
-### Merged
-
-- Generated SDK #6061 [`#119`](https://github.com/fireblocks/py-sdk/pull/119)
-
-## [v12.1.0](https://github.com/fireblocks/py-sdk/compare/v12.0.0...v12.1.0) - 2025-09-09
-
-### Merged
-
-- Generated SDK #4521 [`#118`](https://github.com/fireblocks/py-sdk/pull/118)
-
-## [v12.0.0](https://github.com/fireblocks/py-sdk/compare/v11.2.0...v12.0.0) - 2025-09-01
-
-### Merged
-
-- Generated SDK #7741 [`#117`](https://github.com/fireblocks/py-sdk/pull/117)
-
-## [v11.2.0](https://github.com/fireblocks/py-sdk/compare/v11.1.0...v11.2.0) - 2025-08-18
-
-### Merged
-
-- Generated SDK #3302 [`#116`](https://github.com/fireblocks/py-sdk/pull/116)
-
-## [v11.1.0](https://github.com/fireblocks/py-sdk/compare/v11.0.0...v11.1.0) - 2025-08-11
-
-### Merged
-
-- Generated SDK #1782 [`#115`](https://github.com/fireblocks/py-sdk/pull/115)
-
-## [v11.0.0](https://github.com/fireblocks/py-sdk/compare/v10.4.0...v11.0.0) - 2025-07-15
-
-### Merged
-
-- Generated SDK #5610 [`#114`](https://github.com/fireblocks/py-sdk/pull/114)
-
-## [v10.4.0](https://github.com/fireblocks/py-sdk/compare/v10.3.0...v10.4.0) - 2025-06-29
-
-### Merged
-
-- Generated SDK #1492 [`#113`](https://github.com/fireblocks/py-sdk/pull/113)
-
-## [v10.3.0](https://github.com/fireblocks/py-sdk/compare/v10.2.0...v10.3.0) - 2025-06-18
-
-### Merged
-
-- Generated SDK #4009 [`#112`](https://github.com/fireblocks/py-sdk/pull/112)
-
-## [v10.2.0](https://github.com/fireblocks/py-sdk/compare/v10.1.1...v10.2.0) - 2025-06-04
-
-### Merged
-
-- Generated SDK #8912 [`#111`](https://github.com/fireblocks/py-sdk/pull/111)
-
-## [v10.1.1](https://github.com/fireblocks/py-sdk/compare/v10.1.0...v10.1.1) - 2025-05-18
-
-### Merged
-
-- Generated SDK #5019 [`#110`](https://github.com/fireblocks/py-sdk/pull/110)
-
-## [v10.1.0](https://github.com/fireblocks/py-sdk/compare/v10.0.0...v10.1.0) - 2025-05-07
-
-### Merged
-
-- Generated SDK #7076 [`#107`](https://github.com/fireblocks/py-sdk/pull/107)
-
-## [v10.0.0](https://github.com/fireblocks/py-sdk/compare/v9.0.1...v10.0.0) - 2025-04-20
-
-### Merged
-
-- Generated SDK #4794 [`#105`](https://github.com/fireblocks/py-sdk/pull/105)
-
-## [v9.0.1](https://github.com/fireblocks/py-sdk/compare/v9.0.0...v9.0.1) - 2025-04-07
-
-### Merged
-
-- Generated SDK #3065 [`#104`](https://github.com/fireblocks/py-sdk/pull/104)
-
-## [v9.0.0](https://github.com/fireblocks/py-sdk/compare/v8.0.0...v9.0.0) - 2025-03-27
-
-### Merged
-
-- Generated SDK #619 [`#102`](https://github.com/fireblocks/py-sdk/pull/102)
-
-## [v8.0.0](https://github.com/fireblocks/py-sdk/compare/v7.1.0...v8.0.0) - 2025-03-17
-
-### Merged
-
-- Generated SDK #645 [`#101`](https://github.com/fireblocks/py-sdk/pull/101)
-- Generated SDK #726 [`#99`](https://github.com/fireblocks/py-sdk/pull/99)
-
-## [v7.1.0](https://github.com/fireblocks/py-sdk/compare/v7.0.1...v7.1.0) - 2025-02-25
-
-### Merged
-
-- Generated SDK #9833 [`#96`](https://github.com/fireblocks/py-sdk/pull/96)
-
-## [v7.0.1](https://github.com/fireblocks/py-sdk/compare/v7.0.0...v7.0.1) - 2025-02-12
-
-### Merged
-
-- Generated SDK #4262 [`#95`](https://github.com/fireblocks/py-sdk/pull/95)
-
-## [v7.0.0](https://github.com/fireblocks/py-sdk/compare/v6.0.0...v7.0.0) - 2025-02-02
-
-### Merged
-
-- Generated SDK #538 [`#92`](https://github.com/fireblocks/py-sdk/pull/92)
-
-## [v6.0.0](https://github.com/fireblocks/py-sdk/compare/v5.0.0...v6.0.0) - 2025-01-08
-
-### Merged
-
-- Generated SDK #8699 [`#89`](https://github.com/fireblocks/py-sdk/pull/89)
-
-## [v5.0.0](https://github.com/fireblocks/py-sdk/compare/v4.0.0...v5.0.0) - 2024-12-05
-
-### Merged
-
-- Generated SDK #1430 [`#85`](https://github.com/fireblocks/py-sdk/pull/85)
-- Update python-package.yml, deprecate macos-12 [`#86`](https://github.com/fireblocks/py-sdk/pull/86)
-
-## [v4.0.0](https://github.com/fireblocks/py-sdk/compare/v3.0.0...v4.0.0) - 2024-10-31
-
-### Merged
-
-- Generated SDK #5184 [`#82`](https://github.com/fireblocks/py-sdk/pull/82)
-
-## [v3.0.0](https://github.com/fireblocks/py-sdk/compare/v2.1.0...v3.0.0) - 2024-09-17
-
-### Merged
-
-- Generated SDK #237 [`#81`](https://github.com/fireblocks/py-sdk/pull/81)
-
-## [v2.1.0](https://github.com/fireblocks/py-sdk/compare/v2.0.0...v2.1.0) - 2024-07-25
-
-### Merged
-
-- Generated SDK #6749 [`#78`](https://github.com/fireblocks/py-sdk/pull/78)
-
-## [v2.0.0](https://github.com/fireblocks/py-sdk/compare/v1.0.4...v2.0.0) - 2024-07-17
-
-### Merged
-
-- Generated SDK #6152 [`#76`](https://github.com/fireblocks/py-sdk/pull/76)
-- Generated SDK #7647 [`#73`](https://github.com/fireblocks/py-sdk/pull/73)
-- Generated SDK #7984 [`#70`](https://github.com/fireblocks/py-sdk/pull/70)
-
-## [v1.0.4](https://github.com/fireblocks/py-sdk/compare/v1.0.3...v1.0.4) - 2024-06-26
-
-### Merged
-
-- Generated SDK #5779 [`#69`](https://github.com/fireblocks/py-sdk/pull/69)
-- Generated SDK #913 [`#68`](https://github.com/fireblocks/py-sdk/pull/68)
-- Generated SDK #1353 [`#67`](https://github.com/fireblocks/py-sdk/pull/67)
-- Generated SDK #9982 [`#66`](https://github.com/fireblocks/py-sdk/pull/66)
-- Generated SDK #1362 [`#65`](https://github.com/fireblocks/py-sdk/pull/65)
-- Generated SDK #3652 [`#64`](https://github.com/fireblocks/py-sdk/pull/64)
-
-## [v1.0.3](https://github.com/fireblocks/py-sdk/compare/v1.0.2...v1.0.3) - 2024-06-06
-
-### Merged
-
-- Generated SDK #2648 [`#30`](https://github.com/fireblocks/py-sdk/pull/30)
-
-## [v1.0.2](https://github.com/fireblocks/py-sdk/compare/v0.0.2-beta...v1.0.2) - 2024-06-04
-
-### Merged
-
-- version 1.0.2 [`#25`](https://github.com/fireblocks/py-sdk/pull/25)
-- version 1.0.0 [`#24`](https://github.com/fireblocks/py-sdk/pull/24)
-
-## v0.0.2-beta - 2024-05-30
-
-### Merged
-
-- version 0.0.2-beta [`#23`](https://github.com/fireblocks/py-sdk/pull/23)
-- Update .bumpversion.cfg [`#14`](https://github.com/fireblocks/py-sdk/pull/14)
-- Update setup.py [`#13`](https://github.com/fireblocks/py-sdk/pull/13)
-- Bug Fixes [`#12`](https://github.com/fireblocks/py-sdk/pull/12)
-- update support for beta in bumpversion [`#11`](https://github.com/fireblocks/py-sdk/pull/11)
-- Update setup.py [`#10`](https://github.com/fireblocks/py-sdk/pull/10)
-- Update setup.py [`#9`](https://github.com/fireblocks/py-sdk/pull/9)
-- Added Idempotency & NCW headers support [`#7`](https://github.com/fireblocks/py-sdk/pull/7)
-- Added Idempotency & NCW headers support [`#8`](https://github.com/fireblocks/py-sdk/pull/8)
-- Update setup.py [`#5`](https://github.com/fireblocks/py-sdk/pull/5)
-- API Support Updates [`#4`](https://github.com/fireblocks/py-sdk/pull/4)
diff --git a/README.md b/README.md
index dcb2c675..142930c6 100644
--- a/README.md
+++ b/README.md
@@ -1460,6 +1460,7 @@ Class | Method | HTTP request | Description
- [StEthBlockchainData](docs/StEthBlockchainData.md)
- [StakeRequest](docs/StakeRequest.md)
- [StakeResponse](docs/StakeResponse.md)
+ - [StakingErrorSchema](docs/StakingErrorSchema.md)
- [StakingPositionsPaginatedResponse](docs/StakingPositionsPaginatedResponse.md)
- [StakingProvider](docs/StakingProvider.md)
- [Status](docs/Status.md)
@@ -1561,6 +1562,7 @@ Class | Method | HTTP request | Description
- [TRLinkVerdictEnum](docs/TRLinkVerdictEnum.md)
- [Tag](docs/Tag.md)
- [TagAttachmentOperationAction](docs/TagAttachmentOperationAction.md)
+ - [TagType](docs/TagType.md)
- [TagsPagedResponse](docs/TagsPagedResponse.md)
- [TemplatesPaginatedResponse](docs/TemplatesPaginatedResponse.md)
- [ThirdPartyRouting](docs/ThirdPartyRouting.md)
@@ -1688,6 +1690,7 @@ Class | Method | HTTP request | Description
- [UpdateVaultAccountRequest](docs/UpdateVaultAccountRequest.md)
- [UpdateWebhookRequest](docs/UpdateWebhookRequest.md)
- [UsWirePaymentInfo](docs/UsWirePaymentInfo.md)
+ - [UsdcGatewayWalletAsset](docs/UsdcGatewayWalletAsset.md)
- [UsdcGatewayWalletInfoResponse](docs/UsdcGatewayWalletInfoResponse.md)
- [UsdcGatewayWalletStatusResponse](docs/UsdcGatewayWalletStatusResponse.md)
- [UserGroupCreateRequest](docs/UserGroupCreateRequest.md)
diff --git a/docs/AuditLogData.md b/docs/AuditLogData.md
index 494af4ed..cdfebf24 100644
--- a/docs/AuditLogData.md
+++ b/docs/AuditLogData.md
@@ -11,6 +11,7 @@ Name | Type | Description | Notes
**user** | **str** | The user who performed the action | [optional]
**subject** | **str** | The subject of the action | [optional]
**event** | **str** | The event that was performed | [optional]
+**category** | **str** | The category of the audit event | [optional]
**tenant_id** | **str** | The tenant ID of the audit log | [optional]
**user_id** | **str** | The user ID of the audit log | [optional]
diff --git a/docs/AuditLogsApi.md b/docs/AuditLogsApi.md
index c4d574e4..7e8eeb87 100644
--- a/docs/AuditLogsApi.md
+++ b/docs/AuditLogsApi.md
@@ -8,14 +8,17 @@ Method | HTTP request | Description
# **get_audit_logs**
-> GetAuditLogsResponse get_audit_logs(time_period=time_period, cursor=cursor)
+> GetAuditLogsResponse get_audit_logs(start_time=start_time, end_time=end_time, time_period=time_period, category=category, subject=subject, event=event, user=user, user_id=user_id, order=order, page_size=page_size, page_cursor=page_cursor, cursor=cursor)
Get audit logs
-Get Audit logs for the last Day/Week.
+Retrieve audit log events for the workspace with optional filtering, date range, sorting, and cursor-based pagination.
-- Please note that this endpoint is available only for API keys with Admin/Non Signing Admin permissions.
-Endpoint Permission: Admin, Non-Signing Admin.
+Filters within the same field are combined as OR (e.g. category=Administration&category=Security returns events in either category). Filters across different fields are combined as AND.
+
+**Deprecated parameters:** `timePeriod` and `cursor` remain functional for backward compatibility but new integrations should use `startTime`/`endTime` and `pageCursor` instead.
+
+Endpoint Permission: Admin, Non-Signing Admin, Auditor, Security Admin, Security Auditor.
### Example
@@ -42,12 +45,22 @@ configuration = ClientConfiguration(
# Enter a context with an instance of the API client
with Fireblocks(configuration) as fireblocks:
- time_period = 'time_period_example' # str | The last time period to fetch audit logs (optional)
- cursor = 'cursor_example' # str | The next id to start fetch audit logs from (optional)
+ start_time = 56 # int | Start of date range as epoch time in milliseconds. Takes precedence over timePeriod when provided. Must be no more than 1 year before the current time. (optional)
+ end_time = 56 # int | End of date range as epoch time in milliseconds. Must be after startTime. Defaults to now when omitted. (optional)
+ time_period = 'time_period_example' # str | Deprecated. Use startTime/endTime instead. Ignored when startTime is provided. Defaults to DAY when neither timePeriod nor startTime is supplied. (optional)
+ category = ['category_example'] # List[str] | Filter by event category. Repeat the parameter for multiple values (OR logic within field). (optional)
+ subject = ['subject_example'] # List[str] | Filter by event subject. Repeat the parameter for multiple values. (optional)
+ event = ['event_example'] # List[str] | Filter by event type. Repeat the parameter for multiple values. (optional)
+ user = ['user_example'] # List[str] | Filter by user name. Repeat the parameter for multiple values. (optional)
+ user_id = ['user_id_example'] # List[str] | Filter by user ID. Repeat the parameter for multiple values. (optional)
+ order = DESC # str | Sort direction. Defaults to DESC. (optional) (default to DESC)
+ page_size = 200 # int | Number of results per page. Maximum 500. Defaults to 200. (optional) (default to 200)
+ page_cursor = 'page_cursor_example' # str | Cursor returned from the previous response to fetch the next page. (optional)
+ cursor = 'cursor_example' # str | Deprecated. Use pageCursor instead. (optional)
try:
# Get audit logs
- api_response = fireblocks.audit_logs.get_audit_logs(time_period=time_period, cursor=cursor).result()
+ api_response = fireblocks.audit_logs.get_audit_logs(start_time=start_time, end_time=end_time, time_period=time_period, category=category, subject=subject, event=event, user=user, user_id=user_id, order=order, page_size=page_size, page_cursor=page_cursor, cursor=cursor).result()
print("The response of AuditLogsApi->get_audit_logs:\n")
pprint(api_response)
except Exception as e:
@@ -61,8 +74,18 @@ with Fireblocks(configuration) as fireblocks:
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **time_period** | **str**| The last time period to fetch audit logs | [optional]
- **cursor** | **str**| The next id to start fetch audit logs from | [optional]
+ **start_time** | **int**| Start of date range as epoch time in milliseconds. Takes precedence over timePeriod when provided. Must be no more than 1 year before the current time. | [optional]
+ **end_time** | **int**| End of date range as epoch time in milliseconds. Must be after startTime. Defaults to now when omitted. | [optional]
+ **time_period** | **str**| Deprecated. Use startTime/endTime instead. Ignored when startTime is provided. Defaults to DAY when neither timePeriod nor startTime is supplied. | [optional]
+ **category** | [**List[str]**](str.md)| Filter by event category. Repeat the parameter for multiple values (OR logic within field). | [optional]
+ **subject** | [**List[str]**](str.md)| Filter by event subject. Repeat the parameter for multiple values. | [optional]
+ **event** | [**List[str]**](str.md)| Filter by event type. Repeat the parameter for multiple values. | [optional]
+ **user** | [**List[str]**](str.md)| Filter by user name. Repeat the parameter for multiple values. | [optional]
+ **user_id** | [**List[str]**](str.md)| Filter by user ID. Repeat the parameter for multiple values. | [optional]
+ **order** | **str**| Sort direction. Defaults to DESC. | [optional] [default to DESC]
+ **page_size** | **int**| Number of results per page. Maximum 500. Defaults to 200. | [optional] [default to 200]
+ **page_cursor** | **str**| Cursor returned from the previous response to fetch the next page. | [optional]
+ **cursor** | **str**| Deprecated. Use pageCursor instead. | [optional]
### Return type
@@ -81,7 +104,9 @@ No authorization required
| Status code | Description | Response headers |
|-------------|-------------|------------------|
-**200** | Audit logs from requested time period | * X-Request-ID -
|
+**200** | Audit log events matching the requested filters and date range | * X-Request-ID -
|
+**400** | Error Response | * X-Request-ID -
|
+**403** | Error Response | * X-Request-ID -
|
**0** | Error Response | * X-Request-ID -
|
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
diff --git a/docs/CreateTagRequest.md b/docs/CreateTagRequest.md
index 002b9875..6093e133 100644
--- a/docs/CreateTagRequest.md
+++ b/docs/CreateTagRequest.md
@@ -9,6 +9,7 @@ Name | Type | Description | Notes
**description** | **str** | Description for the tag | [optional]
**color** | **str** | The tag color in hex format | [optional]
**is_protected** | **bool** | Indication if the tag is protected tag | [optional] [default to False]
+**type** | [**TagType**](TagType.md) | | [optional]
## Example
diff --git a/docs/ExchangeAsset.md b/docs/ExchangeAsset.md
index 94bd5a0d..8766f837 100644
--- a/docs/ExchangeAsset.md
+++ b/docs/ExchangeAsset.md
@@ -5,16 +5,16 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**id** | **str** | | [optional]
+**id** | **str** | Deprecated. Use assetId or assetLegacyId instead. | [optional]
**balance** | **str** | | [optional]
**locked_amount** | **str** | | [optional]
**total** | **str** | | [optional]
**available** | **str** | | [optional]
**credit** | **str** | | [optional]
-**asset_id** | **str** | The id of the asset | [optional]
-**provider_symbol** | **str** | The provider symbol of the asset | [optional]
-**asset_symbol** | **str** | The asset symbol of the asset | [optional]
-**asset_legacy_id** | **str** | The asset legacy id of the asset | [optional]
+**asset_id** | **str** | The Fireblocks asset id. Present only when Fireblocks can identify the exchange asset. | [optional]
+**provider_symbol** | **str** | The symbol used by the exchange provider to identify the asset. | [optional]
+**asset_symbol** | **str** | The Fireblocks asset symbol. Present only when Fireblocks can identify the exchange asset. | [optional]
+**asset_legacy_id** | **str** | The Fireblocks legacy asset id. Present only when Fireblocks can identify the exchange asset. | [optional]
## Example
diff --git a/docs/GasStationsApi.md b/docs/GasStationsApi.md
index 55ab872e..649ec4ea 100644
--- a/docs/GasStationsApi.md
+++ b/docs/GasStationsApi.md
@@ -230,7 +230,7 @@ No authorization required
| Status code | Description | Response headers |
|-------------|-------------|------------------|
-**201** | OK | * X-Request-ID -
|
+**200** | OK | * X-Request-ID -
|
**0** | Error Response | * X-Request-ID -
|
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
@@ -311,7 +311,7 @@ No authorization required
| Status code | Description | Response headers |
|-------------|-------------|------------------|
-**201** | OK | * X-Request-ID -
|
+**200** | OK | * X-Request-ID -
|
**0** | Error Response | * X-Request-ID -
|
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
diff --git a/docs/GetAuditLogsResponse.md b/docs/GetAuditLogsResponse.md
index 49466ea8..095eba83 100644
--- a/docs/GetAuditLogsResponse.md
+++ b/docs/GetAuditLogsResponse.md
@@ -6,8 +6,8 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**data** | [**List[AuditLogData]**](AuditLogData.md) | | [optional]
-**cursor** | **str** | The next id to start fetch audit logs from | [optional]
-**total** | **float** | The total number of audit logs | [optional]
+**next** | **str** | Cursor to pass as pageCursor in the next request. Null when no further pages exist. | [optional]
+**cursor** | **str** | Deprecated. Use next instead. | [optional]
## Example
diff --git a/docs/StakingErrorSchema.md b/docs/StakingErrorSchema.md
new file mode 100644
index 00000000..0ac9a837
--- /dev/null
+++ b/docs/StakingErrorSchema.md
@@ -0,0 +1,31 @@
+# StakingErrorSchema
+
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**message** | **str** | Human-readable error message. |
+**code** | **float** | Numeric error code identifying the type of error. |
+**descriptor** | **str** | Additional structured context about the error. | [optional]
+
+## Example
+
+```python
+from fireblocks.models.staking_error_schema import StakingErrorSchema
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of StakingErrorSchema from a JSON string
+staking_error_schema_instance = StakingErrorSchema.from_json(json)
+# print the JSON string representation of the object
+print(StakingErrorSchema.to_json())
+
+# convert the object into a dict
+staking_error_schema_dict = staking_error_schema_instance.to_dict()
+# create an instance of StakingErrorSchema from a dict
+staking_error_schema_from_dict = StakingErrorSchema.from_dict(staking_error_schema_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/Tag.md b/docs/Tag.md
index 9519d8c5..78d6f6a7 100644
--- a/docs/Tag.md
+++ b/docs/Tag.md
@@ -11,6 +11,7 @@ Name | Type | Description | Notes
**color** | **str** | The tag color in hex format | [optional]
**is_protected** | **bool** | Indication if the tag is a protected tag | [default to False]
**updated_at** | **float** | The date and time the tag was last updated |
+**type** | [**TagType**](TagType.md) | | [optional]
**pending_approval_request** | [**ApprovalRequest**](ApprovalRequest.md) | | [optional]
## Example
diff --git a/docs/TagType.md b/docs/TagType.md
new file mode 100644
index 00000000..eb23039f
--- /dev/null
+++ b/docs/TagType.md
@@ -0,0 +1,11 @@
+# TagType
+
+The tag type, indicating the domain that owns the tag
+
+## Enum
+
+* `WALLET_POOL` (value: `'WALLET_POOL'`)
+
+[[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/TagsApi.md b/docs/TagsApi.md
index 7332b199..2ae050f5 100644
--- a/docs/TagsApi.md
+++ b/docs/TagsApi.md
@@ -385,7 +385,7 @@ 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_tags**
-> TagsPagedResponse get_tags(page_cursor=page_cursor, page_size=page_size, label=label, tag_ids=tag_ids, include_pending_approvals_info=include_pending_approvals_info, is_protected=is_protected)
+> TagsPagedResponse get_tags(page_cursor=page_cursor, page_size=page_size, label=label, tag_ids=tag_ids, include_pending_approvals_info=include_pending_approvals_info, is_protected=is_protected, type=type)
Get list of tags
@@ -395,6 +395,7 @@ Retrieve a paged list of all tags according to filters.
```python
+from fireblocks.models.tag_type import TagType
from fireblocks.models.tags_paged_response import TagsPagedResponse
from fireblocks.client import Fireblocks
from fireblocks.client_configuration import ClientConfiguration
@@ -422,10 +423,11 @@ with Fireblocks(configuration) as fireblocks:
tag_ids = ['tag_ids_example'] # List[str] | List of tag IDs to filter by. (optional)
include_pending_approvals_info = False # bool | Whether to include pending approval requests info. (optional) (default to False)
is_protected = True # bool | (optional)
+ type = [fireblocks.TagType()] # List[TagType] | Filter by tag type (optional)
try:
# Get list of tags
- api_response = fireblocks.tags.get_tags(page_cursor=page_cursor, page_size=page_size, label=label, tag_ids=tag_ids, include_pending_approvals_info=include_pending_approvals_info, is_protected=is_protected).result()
+ api_response = fireblocks.tags.get_tags(page_cursor=page_cursor, page_size=page_size, label=label, tag_ids=tag_ids, include_pending_approvals_info=include_pending_approvals_info, is_protected=is_protected, type=type).result()
print("The response of TagsApi->get_tags:\n")
pprint(api_response)
except Exception as e:
@@ -445,6 +447,7 @@ Name | Type | Description | Notes
**tag_ids** | [**List[str]**](str.md)| List of tag IDs to filter by. | [optional]
**include_pending_approvals_info** | **bool**| Whether to include pending approval requests info. | [optional] [default to False]
**is_protected** | **bool**| | [optional]
+ **type** | [**List[TagType]**](TagType.md)| Filter by tag type | [optional]
### Return type
diff --git a/docs/UpdateTagRequest.md b/docs/UpdateTagRequest.md
index 0db9506d..e8ce3956 100644
--- a/docs/UpdateTagRequest.md
+++ b/docs/UpdateTagRequest.md
@@ -7,6 +7,7 @@ Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**label** | **str** | The tag label | [optional]
**description** | **str** | Description for the tag | [optional]
+**color** | **str** | The tag color in hex format | [optional]
## Example
diff --git a/docs/UsdcGatewayWalletAsset.md b/docs/UsdcGatewayWalletAsset.md
new file mode 100644
index 00000000..169aa569
--- /dev/null
+++ b/docs/UsdcGatewayWalletAsset.md
@@ -0,0 +1,32 @@
+# UsdcGatewayWalletAsset
+
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**id** | **str** | Fireblocks asset ID |
+**balance** | **str** | Asset balance |
+**chain** | **str** | Blockchain name |
+**network** | **str** | Network name |
+
+## Example
+
+```python
+from fireblocks.models.usdc_gateway_wallet_asset import UsdcGatewayWalletAsset
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of UsdcGatewayWalletAsset from a JSON string
+usdc_gateway_wallet_asset_instance = UsdcGatewayWalletAsset.from_json(json)
+# print the JSON string representation of the object
+print(UsdcGatewayWalletAsset.to_json())
+
+# convert the object into a dict
+usdc_gateway_wallet_asset_dict = usdc_gateway_wallet_asset_instance.to_dict()
+# create an instance of UsdcGatewayWalletAsset from a dict
+usdc_gateway_wallet_asset_from_dict = UsdcGatewayWalletAsset.from_dict(usdc_gateway_wallet_asset_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/UsdcGatewayWalletInfoResponse.md b/docs/UsdcGatewayWalletInfoResponse.md
index d3a2f8d4..3fed74f0 100644
--- a/docs/UsdcGatewayWalletInfoResponse.md
+++ b/docs/UsdcGatewayWalletInfoResponse.md
@@ -9,7 +9,9 @@ Name | Type | Description | Notes
**type** | **str** | The USDC Gateway provider identifier |
**status** | **str** | Current activation status of the USDC Gateway wallet |
**symbol** | **str** | The token symbol supported by this wallet (e.g. USDC) |
-**asset_ids** | **List[str]** | Fireblocks asset IDs available for this wallet |
+**total_balance** | **str** | Aggregate USDC balance across all assets |
+**assets** | [**List[UsdcGatewayWalletAsset]**](UsdcGatewayWalletAsset.md) | Per-chain USDC asset balances |
+**virtual_asset_id** | **str** | The id of the virtual asset |
## Example
diff --git a/fireblocks/__init__.py b/fireblocks/__init__.py
index 1709453a..2cb33bdd 100644
--- a/fireblocks/__init__.py
+++ b/fireblocks/__init__.py
@@ -15,7 +15,7 @@
""" # noqa: E501
-__version__ = "19.0.0"
+__version__ = "0.0.0"
# import apis into sdk package
from fireblocks.api.api_user_api import ApiUserApi
@@ -1325,6 +1325,7 @@
from fireblocks.models.st_eth_blockchain_data import StEthBlockchainData
from fireblocks.models.stake_request import StakeRequest
from fireblocks.models.stake_response import StakeResponse
+from fireblocks.models.staking_error_schema import StakingErrorSchema
from fireblocks.models.staking_positions_paginated_response import (
StakingPositionsPaginatedResponse,
)
@@ -1492,6 +1493,7 @@
from fireblocks.models.tag_attachment_operation_action import (
TagAttachmentOperationAction,
)
+from fireblocks.models.tag_type import TagType
from fireblocks.models.tags_paged_response import TagsPagedResponse
from fireblocks.models.templates_paginated_response import TemplatesPaginatedResponse
from fireblocks.models.third_party_routing import ThirdPartyRouting
@@ -1713,6 +1715,7 @@
from fireblocks.models.update_vault_account_request import UpdateVaultAccountRequest
from fireblocks.models.update_webhook_request import UpdateWebhookRequest
from fireblocks.models.us_wire_payment_info import UsWirePaymentInfo
+from fireblocks.models.usdc_gateway_wallet_asset import UsdcGatewayWalletAsset
from fireblocks.models.usdc_gateway_wallet_info_response import (
UsdcGatewayWalletInfoResponse,
)
diff --git a/fireblocks/api/audit_logs_api.py b/fireblocks/api/audit_logs_api.py
index 1ccbe1aa..25d5644c 100644
--- a/fireblocks/api/audit_logs_api.py
+++ b/fireblocks/api/audit_logs_api.py
@@ -18,8 +18,8 @@
from typing import Any, Dict, List, Optional, Tuple, Union
from typing_extensions import Annotated
-from pydantic import Field, StrictStr, field_validator
-from typing import Optional
+from pydantic import Field, StrictInt, StrictStr, field_validator
+from typing import List, Optional
from typing_extensions import Annotated
from fireblocks.models.get_audit_logs_response import GetAuditLogsResponse
@@ -45,8 +45,18 @@ def __init__(self, api_client=None) -> None:
@validate_call
def get_audit_logs(
self,
- time_period: Annotated[Optional[StrictStr], Field(description="The last time period to fetch audit logs")] = None,
- cursor: Annotated[Optional[StrictStr], Field(description="The next id to start fetch audit logs from")] = None,
+ start_time: Annotated[Optional[StrictInt], Field(description="Start of date range as epoch time in milliseconds. Takes precedence over timePeriod when provided. Must be no more than 1 year before the current time.")] = None,
+ end_time: Annotated[Optional[StrictInt], Field(description="End of date range as epoch time in milliseconds. Must be after startTime. Defaults to now when omitted.")] = None,
+ time_period: Annotated[Optional[StrictStr], Field(description="Deprecated. Use startTime/endTime instead. Ignored when startTime is provided. Defaults to DAY when neither timePeriod nor startTime is supplied.")] = None,
+ category: Annotated[Optional[List[StrictStr]], Field(description="Filter by event category. Repeat the parameter for multiple values (OR logic within field).")] = None,
+ subject: Annotated[Optional[List[StrictStr]], Field(description="Filter by event subject. Repeat the parameter for multiple values.")] = None,
+ event: Annotated[Optional[List[StrictStr]], Field(description="Filter by event type. Repeat the parameter for multiple values.")] = None,
+ user: Annotated[Optional[List[StrictStr]], Field(description="Filter by user name. Repeat the parameter for multiple values.")] = None,
+ user_id: Annotated[Optional[List[StrictStr]], Field(description="Filter by user ID. Repeat the parameter for multiple values.")] = None,
+ order: Annotated[Optional[StrictStr], Field(description="Sort direction. Defaults to DESC.")] = None,
+ page_size: Annotated[Optional[Annotated[int, Field(le=500, strict=True, ge=1)]], Field(description="Number of results per page. Maximum 500. Defaults to 200.")] = None,
+ page_cursor: Annotated[Optional[StrictStr], Field(description="Cursor returned from the previous response to fetch the next page.")] = None,
+ cursor: Annotated[Optional[StrictStr], Field(description="Deprecated. Use pageCursor instead.")] = None,
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -62,11 +72,31 @@ def get_audit_logs(
) -> Future[ApiResponse[GetAuditLogsResponse]]:
"""Get audit logs
- Get Audit logs for the last Day/Week. - Please note that this endpoint is available only for API keys with Admin/Non Signing Admin permissions. Endpoint Permission: Admin, Non-Signing Admin.
+ Retrieve audit log events for the workspace with optional filtering, date range, sorting, and cursor-based pagination. Filters within the same field are combined as OR (e.g. category=Administration&category=Security returns events in either category). Filters across different fields are combined as AND. **Deprecated parameters:** `timePeriod` and `cursor` remain functional for backward compatibility but new integrations should use `startTime`/`endTime` and `pageCursor` instead. Endpoint Permission: Admin, Non-Signing Admin, Auditor, Security Admin, Security Auditor.
- :param time_period: The last time period to fetch audit logs
+ :param start_time: Start of date range as epoch time in milliseconds. Takes precedence over timePeriod when provided. Must be no more than 1 year before the current time.
+ :type start_time: int
+ :param end_time: End of date range as epoch time in milliseconds. Must be after startTime. Defaults to now when omitted.
+ :type end_time: int
+ :param time_period: Deprecated. Use startTime/endTime instead. Ignored when startTime is provided. Defaults to DAY when neither timePeriod nor startTime is supplied.
:type time_period: str
- :param cursor: The next id to start fetch audit logs from
+ :param category: Filter by event category. Repeat the parameter for multiple values (OR logic within field).
+ :type category: List[str]
+ :param subject: Filter by event subject. Repeat the parameter for multiple values.
+ :type subject: List[str]
+ :param event: Filter by event type. Repeat the parameter for multiple values.
+ :type event: List[str]
+ :param user: Filter by user name. Repeat the parameter for multiple values.
+ :type user: List[str]
+ :param user_id: Filter by user ID. Repeat the parameter for multiple values.
+ :type user_id: List[str]
+ :param order: Sort direction. Defaults to DESC.
+ :type order: str
+ :param page_size: Number of results per page. Maximum 500. Defaults to 200.
+ :type page_size: int
+ :param page_cursor: Cursor returned from the previous response to fetch the next page.
+ :type page_cursor: str
+ :param cursor: Deprecated. Use pageCursor instead.
:type cursor: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
@@ -92,7 +122,17 @@ def get_audit_logs(
_param = self._get_audit_logs_serialize(
+ start_time=start_time,
+ end_time=end_time,
time_period=time_period,
+ category=category,
+ subject=subject,
+ event=event,
+ user=user,
+ user_id=user_id,
+ order=order,
+ page_size=page_size,
+ page_cursor=page_cursor,
cursor=cursor,
_request_auth=_request_auth,
_content_type=_content_type,
@@ -102,6 +142,8 @@ def get_audit_logs(
_response_types_map: Dict[str, Optional[str]] = {
'200': "GetAuditLogsResponse",
+ '400': "ErrorSchema",
+ '403': "ErrorSchema",
'default': "ErrorSchema",
}
@@ -113,7 +155,17 @@ def get_audit_logs(
def _get_audit_logs_serialize(
self,
+ start_time,
+ end_time,
time_period,
+ category,
+ subject,
+ event,
+ user,
+ user_id,
+ order,
+ page_size,
+ page_cursor,
cursor,
_request_auth,
_content_type,
@@ -124,6 +176,11 @@ def _get_audit_logs_serialize(
_host = None
_collection_formats: Dict[str, str] = {
+ 'category': 'multi',
+ 'subject': 'multi',
+ 'event': 'multi',
+ 'user': 'multi',
+ 'userId': 'multi',
}
_path_params: Dict[str, str] = {}
@@ -137,10 +194,50 @@ def _get_audit_logs_serialize(
# process the path parameters
# process the query parameters
+ if start_time is not None:
+
+ _query_params.append(('startTime', start_time))
+
+ if end_time is not None:
+
+ _query_params.append(('endTime', end_time))
+
if time_period is not None:
_query_params.append(('timePeriod', time_period))
+ if category is not None:
+
+ _query_params.append(('category', category))
+
+ if subject is not None:
+
+ _query_params.append(('subject', subject))
+
+ if event is not None:
+
+ _query_params.append(('event', event))
+
+ if user is not None:
+
+ _query_params.append(('user', user))
+
+ if user_id is not None:
+
+ _query_params.append(('userId', user_id))
+
+ if order is not None:
+
+ _query_params.append(('order', order))
+
+ if page_size is not None:
+
+ _query_params.append(('pageSize', page_size))
+
+ if page_cursor is not None:
+
+ _query_params.append(('pageCursor', page_cursor))
+
if cursor is not None:
_query_params.append(('cursor', cursor))
diff --git a/fireblocks/api/gas_stations_api.py b/fireblocks/api/gas_stations_api.py
index 6f769060..20c56af6 100644
--- a/fireblocks/api/gas_stations_api.py
+++ b/fireblocks/api/gas_stations_api.py
@@ -353,7 +353,7 @@ def update_gas_station_configuration(
)
_response_types_map: Dict[str, Optional[str]] = {
- '201': "EditGasStationConfigurationResponse",
+ '200': "EditGasStationConfigurationResponse",
'default': "ErrorSchema",
}
@@ -506,7 +506,7 @@ def update_gas_station_configuration_by_asset_id(
)
_response_types_map: Dict[str, Optional[str]] = {
- '201': "EditGasStationConfigurationResponse",
+ '200': "EditGasStationConfigurationResponse",
'default': "ErrorSchema",
}
diff --git a/fireblocks/api/staking_api.py b/fireblocks/api/staking_api.py
index 64cc916e..9a6d0b9d 100644
--- a/fireblocks/api/staking_api.py
+++ b/fireblocks/api/staking_api.py
@@ -117,11 +117,11 @@ def approve_terms_of_service_by_provider_id(
_response_types_map: Dict[str, Optional[str]] = {
'201': None,
- '400': "ErrorSchema",
- '403': "ErrorSchema",
- '404': "ErrorSchema",
- '429': "ErrorSchema",
- '500': "ErrorSchema",
+ '400': "StakingErrorSchema",
+ '403': "StakingErrorSchema",
+ '404': "StakingErrorSchema",
+ '429': "StakingErrorSchema",
+ '500': "StakingErrorSchema",
'default': "ErrorSchema",
}
@@ -262,11 +262,11 @@ def claim_rewards(
_response_types_map: Dict[str, Optional[str]] = {
'201': None,
- '400': "ErrorSchema",
- '403': "ErrorSchema",
- '404': "ErrorSchema",
- '429': "ErrorSchema",
- '500': "ErrorSchema",
+ '400': "StakingErrorSchema",
+ '403': "StakingErrorSchema",
+ '404': "StakingErrorSchema",
+ '429': "StakingErrorSchema",
+ '500': "StakingErrorSchema",
'default': "ErrorSchema",
}
@@ -423,11 +423,11 @@ def consolidate(
_response_types_map: Dict[str, Optional[str]] = {
'201': "MergeStakeAccountsResponse",
- '400': "ErrorSchema",
- '403': "ErrorSchema",
- '404': "ErrorSchema",
- '429': "ErrorSchema",
- '500': "ErrorSchema",
+ '400': "StakingErrorSchema",
+ '403': "StakingErrorSchema",
+ '404': "StakingErrorSchema",
+ '429': "StakingErrorSchema",
+ '500': "StakingErrorSchema",
'default': "ErrorSchema",
}
@@ -579,11 +579,11 @@ def get_all_delegations(
_response_types_map: Dict[str, Optional[str]] = {
'200': "List[Delegation]",
- '400': "ErrorSchema",
- '403': "ErrorSchema",
- '404': "ErrorSchema",
- '429': "ErrorSchema",
- '500': "ErrorSchema",
+ '400': "StakingErrorSchema",
+ '403': "StakingErrorSchema",
+ '404': "StakingErrorSchema",
+ '429': "StakingErrorSchema",
+ '500': "StakingErrorSchema",
'default': "ErrorSchema",
}
@@ -719,11 +719,11 @@ def get_chain_info(
_response_types_map: Dict[str, Optional[str]] = {
'200': "ChainInfoResponse",
- '400': "ErrorSchema",
- '403': "ErrorSchema",
- '404': "ErrorSchema",
- '429': "ErrorSchema",
- '500': "ErrorSchema",
+ '400': "StakingErrorSchema",
+ '403': "StakingErrorSchema",
+ '404': "StakingErrorSchema",
+ '429': "StakingErrorSchema",
+ '500': "StakingErrorSchema",
'default': "ErrorSchema",
}
@@ -848,10 +848,10 @@ def get_chains(
_response_types_map: Dict[str, Optional[str]] = {
'200': "List[ChainDescriptor]",
- '403': "ErrorSchema",
- '404': "ErrorSchema",
- '429': "ErrorSchema",
- '500': "ErrorSchema",
+ '403': "StakingErrorSchema",
+ '404': "StakingErrorSchema",
+ '429': "StakingErrorSchema",
+ '500': "StakingErrorSchema",
'default': "ErrorSchema",
}
@@ -978,11 +978,11 @@ def get_delegation_by_id(
_response_types_map: Dict[str, Optional[str]] = {
'200': "Delegation",
- '400': "ErrorSchema",
- '403': "ErrorSchema",
- '404': "ErrorSchema",
- '429': "ErrorSchema",
- '500': "ErrorSchema",
+ '400': "StakingErrorSchema",
+ '403': "StakingErrorSchema",
+ '404': "StakingErrorSchema",
+ '429': "StakingErrorSchema",
+ '500': "StakingErrorSchema",
'default': "ErrorSchema",
}
@@ -1127,11 +1127,11 @@ def get_positions(
_response_types_map: Dict[str, Optional[str]] = {
'200': "StakingPositionsPaginatedResponse",
- '400': "ErrorSchema",
- '403': "ErrorSchema",
- '404': "ErrorSchema",
- '429': "ErrorSchema",
- '500': "ErrorSchema",
+ '400': "StakingErrorSchema",
+ '403': "StakingErrorSchema",
+ '404': "StakingErrorSchema",
+ '429': "StakingErrorSchema",
+ '500': "StakingErrorSchema",
'default': "ErrorSchema",
}
@@ -1278,10 +1278,10 @@ def get_providers(
_response_types_map: Dict[str, Optional[str]] = {
'200': "List[Provider]",
- '403': "ErrorSchema",
- '404': "ErrorSchema",
- '429': "ErrorSchema",
- '500': "ErrorSchema",
+ '403': "StakingErrorSchema",
+ '404': "StakingErrorSchema",
+ '429': "StakingErrorSchema",
+ '500': "StakingErrorSchema",
'default': "ErrorSchema",
}
@@ -1403,10 +1403,10 @@ def get_summary(
_response_types_map: Dict[str, Optional[str]] = {
'200': "DelegationSummary",
- '403': "ErrorSchema",
- '404': "ErrorSchema",
- '429': "ErrorSchema",
- '500': "ErrorSchema",
+ '403': "StakingErrorSchema",
+ '404': "StakingErrorSchema",
+ '429': "StakingErrorSchema",
+ '500': "StakingErrorSchema",
'default': "ErrorSchema",
}
@@ -1528,10 +1528,10 @@ def get_summary_by_vault(
_response_types_map: Dict[str, Optional[str]] = {
'200': "Dict[str, DelegationSummary]",
- '403': "ErrorSchema",
- '404': "ErrorSchema",
- '429': "ErrorSchema",
- '500': "ErrorSchema",
+ '403': "StakingErrorSchema",
+ '404': "StakingErrorSchema",
+ '429': "StakingErrorSchema",
+ '500': "StakingErrorSchema",
'default': "ErrorSchema",
}
@@ -1666,11 +1666,11 @@ def merge_stake_accounts(
_response_types_map: Dict[str, Optional[str]] = {
'201': "MergeStakeAccountsResponse",
- '400': "ErrorSchema",
- '403': "ErrorSchema",
- '404': "ErrorSchema",
- '429': "ErrorSchema",
- '500': "ErrorSchema",
+ '400': "StakingErrorSchema",
+ '403': "StakingErrorSchema",
+ '404': "StakingErrorSchema",
+ '429': "StakingErrorSchema",
+ '500': "StakingErrorSchema",
'default': "ErrorSchema",
}
@@ -1827,11 +1827,11 @@ def split(
_response_types_map: Dict[str, Optional[str]] = {
'201': "SplitResponse",
- '400': "ErrorSchema",
- '403': "ErrorSchema",
- '404': "ErrorSchema",
- '429': "ErrorSchema",
- '500': "ErrorSchema",
+ '400': "StakingErrorSchema",
+ '403': "StakingErrorSchema",
+ '404': "StakingErrorSchema",
+ '429': "StakingErrorSchema",
+ '500': "StakingErrorSchema",
'default': "ErrorSchema",
}
@@ -1987,11 +1987,11 @@ def stake(
_response_types_map: Dict[str, Optional[str]] = {
'201': "StakeResponse",
- '400': "ErrorSchema",
- '403': "ErrorSchema",
- '404': "ErrorSchema",
- '429': "ErrorSchema",
- '500': "ErrorSchema",
+ '400': "StakingErrorSchema",
+ '403': "StakingErrorSchema",
+ '404': "StakingErrorSchema",
+ '429': "StakingErrorSchema",
+ '500': "StakingErrorSchema",
'default': "ErrorSchema",
}
@@ -2147,11 +2147,11 @@ def unstake(
_response_types_map: Dict[str, Optional[str]] = {
'201': None,
- '400': "ErrorSchema",
- '403': "ErrorSchema",
- '404': "ErrorSchema",
- '429': "ErrorSchema",
- '500': "ErrorSchema",
+ '400': "StakingErrorSchema",
+ '403': "StakingErrorSchema",
+ '404': "StakingErrorSchema",
+ '429': "StakingErrorSchema",
+ '500': "StakingErrorSchema",
'default': "ErrorSchema",
}
@@ -2307,11 +2307,11 @@ def withdraw(
_response_types_map: Dict[str, Optional[str]] = {
'201': None,
- '400': "ErrorSchema",
- '403': "ErrorSchema",
- '404': "ErrorSchema",
- '429': "ErrorSchema",
- '500': "ErrorSchema",
+ '400': "StakingErrorSchema",
+ '403': "StakingErrorSchema",
+ '404': "StakingErrorSchema",
+ '429': "StakingErrorSchema",
+ '500': "StakingErrorSchema",
'default': "ErrorSchema",
}
diff --git a/fireblocks/api/tags_api.py b/fireblocks/api/tags_api.py
index 7cbc0a7e..295b5a38 100644
--- a/fireblocks/api/tags_api.py
+++ b/fireblocks/api/tags_api.py
@@ -24,6 +24,7 @@
from fireblocks.models.approval_request import ApprovalRequest
from fireblocks.models.create_tag_request import CreateTagRequest
from fireblocks.models.tag import Tag
+from fireblocks.models.tag_type import TagType
from fireblocks.models.tags_paged_response import TagsPagedResponse
from fireblocks.models.update_tag_request import UpdateTagRequest
@@ -721,6 +722,7 @@ def get_tags(
tag_ids: Annotated[Optional[Annotated[List[StrictStr], Field(max_length=100)]], Field(description="List of tag IDs to filter by.")] = None,
include_pending_approvals_info: Annotated[Optional[StrictBool], Field(description="Whether to include pending approval requests info.")] = None,
is_protected: Optional[StrictBool] = None,
+ type: Annotated[Optional[List[TagType]], Field(description="Filter by tag type")] = None,
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -750,6 +752,8 @@ def get_tags(
:type include_pending_approvals_info: bool
:param is_protected:
:type is_protected: bool
+ :param type: Filter by tag type
+ :type type: List[TagType]
: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
@@ -780,6 +784,7 @@ def get_tags(
tag_ids=tag_ids,
include_pending_approvals_info=include_pending_approvals_info,
is_protected=is_protected,
+ type=type,
_request_auth=_request_auth,
_content_type=_content_type,
_headers=_headers,
@@ -804,6 +809,7 @@ def _get_tags_serialize(
tag_ids,
include_pending_approvals_info,
is_protected,
+ type,
_request_auth,
_content_type,
_headers,
@@ -814,6 +820,7 @@ def _get_tags_serialize(
_collection_formats: Dict[str, str] = {
'tagIds': 'multi',
+ 'type': 'multi',
}
_path_params: Dict[str, str] = {}
@@ -851,6 +858,10 @@ def _get_tags_serialize(
_query_params.append(('isProtected', is_protected))
+ if type is not None:
+
+ _query_params.append(('type', type))
+
# process the header parameters
# process the form parameters
# process the body parameter
diff --git a/fireblocks/configuration.py b/fireblocks/configuration.py
index 9ef2e659..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.0.0".format(env=sys.platform, pyversion=sys.version)
+ "SDK Package Version: 0.0.0".format(env=sys.platform, pyversion=sys.version)
)
def get_host_settings(self) -> List[HostSetting]:
diff --git a/fireblocks/models/__init__.py b/fireblocks/models/__init__.py
index 5cfb1e97..404a5a28 100644
--- a/fireblocks/models/__init__.py
+++ b/fireblocks/models/__init__.py
@@ -826,6 +826,7 @@
from fireblocks.models.st_eth_blockchain_data import StEthBlockchainData
from fireblocks.models.stake_request import StakeRequest
from fireblocks.models.stake_response import StakeResponse
+from fireblocks.models.staking_error_schema import StakingErrorSchema
from fireblocks.models.staking_positions_paginated_response import StakingPositionsPaginatedResponse
from fireblocks.models.staking_provider import StakingProvider
from fireblocks.models.status import Status
@@ -927,6 +928,7 @@
from fireblocks.models.tr_link_verdict_enum import TRLinkVerdictEnum
from fireblocks.models.tag import Tag
from fireblocks.models.tag_attachment_operation_action import TagAttachmentOperationAction
+from fireblocks.models.tag_type import TagType
from fireblocks.models.tags_paged_response import TagsPagedResponse
from fireblocks.models.templates_paginated_response import TemplatesPaginatedResponse
from fireblocks.models.third_party_routing import ThirdPartyRouting
@@ -1054,6 +1056,7 @@
from fireblocks.models.update_vault_account_request import UpdateVaultAccountRequest
from fireblocks.models.update_webhook_request import UpdateWebhookRequest
from fireblocks.models.us_wire_payment_info import UsWirePaymentInfo
+from fireblocks.models.usdc_gateway_wallet_asset import UsdcGatewayWalletAsset
from fireblocks.models.usdc_gateway_wallet_info_response import UsdcGatewayWalletInfoResponse
from fireblocks.models.usdc_gateway_wallet_status_response import UsdcGatewayWalletStatusResponse
from fireblocks.models.user_group_create_request import UserGroupCreateRequest
diff --git a/fireblocks/models/audit_log_data.py b/fireblocks/models/audit_log_data.py
index 8a206ea1..964716ac 100644
--- a/fireblocks/models/audit_log_data.py
+++ b/fireblocks/models/audit_log_data.py
@@ -33,9 +33,10 @@ class AuditLogData(BaseModel):
user: Optional[StrictStr] = Field(default=None, description="The user who performed the action")
subject: Optional[StrictStr] = Field(default=None, description="The subject of the action")
event: Optional[StrictStr] = Field(default=None, description="The event that was performed")
+ category: Optional[StrictStr] = Field(default=None, description="The category of the audit event")
tenant_id: Optional[StrictStr] = Field(default=None, description="The tenant ID of the audit log", alias="tenantId")
user_id: Optional[StrictStr] = Field(default=None, description="The user ID of the audit log", alias="userId")
- __properties: ClassVar[List[str]] = ["id", "timestamp", "createdAt", "user", "subject", "event", "tenantId", "userId"]
+ __properties: ClassVar[List[str]] = ["id", "timestamp", "createdAt", "user", "subject", "event", "category", "tenantId", "userId"]
model_config = ConfigDict(
populate_by_name=True,
@@ -94,6 +95,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
"user": obj.get("user"),
"subject": obj.get("subject"),
"event": obj.get("event"),
+ "category": obj.get("category"),
"tenantId": obj.get("tenantId"),
"userId": obj.get("userId")
})
diff --git a/fireblocks/models/collection_ownership_response.py b/fireblocks/models/collection_ownership_response.py
index 6348c992..1b921331 100644
--- a/fireblocks/models/collection_ownership_response.py
+++ b/fireblocks/models/collection_ownership_response.py
@@ -38,8 +38,8 @@ class CollectionOwnershipResponse(BaseModel):
@field_validator('blockchain_descriptor')
def blockchain_descriptor_validate_enum(cls, value):
"""Validates the enum"""
- if value not in set(['ETH', 'ETH_TEST3', 'ETH_TEST5', 'ETH_TEST6', 'POLYGON', 'POLYGON_TEST_MUMBAI', 'AMOY_POLYGON_TEST', 'XTZ', 'XTZ_TEST', 'BASECHAIN_ETH', 'BASECHAIN_ETH_TEST3', 'BASECHAIN_ETH_TEST5', 'ETHERLINK', 'ETHERLINK_TEST', 'MANTLE', 'MANTLE_TEST', 'GUN_GUNZILLA', 'GUN_GUNZILLA_TEST', 'ETH_SONEIUM', 'SONEIUM_MINATO_TEST', 'IOTX_IOTEX', 'KLAY_KAIA', 'KLAY_KAIA_TEST', 'APECHAIN', 'APECHAIN_TEST', 'CRONOS', 'CRONOS_TEST', 'ROBINHOOD_CHAIN_TESTNET_TEST']):
- raise ValueError("must be one of enum values ('ETH', 'ETH_TEST3', 'ETH_TEST5', 'ETH_TEST6', 'POLYGON', 'POLYGON_TEST_MUMBAI', 'AMOY_POLYGON_TEST', 'XTZ', 'XTZ_TEST', 'BASECHAIN_ETH', 'BASECHAIN_ETH_TEST3', 'BASECHAIN_ETH_TEST5', 'ETHERLINK', 'ETHERLINK_TEST', 'MANTLE', 'MANTLE_TEST', 'GUN_GUNZILLA', 'GUN_GUNZILLA_TEST', 'ETH_SONEIUM', 'SONEIUM_MINATO_TEST', 'IOTX_IOTEX', 'KLAY_KAIA', 'KLAY_KAIA_TEST', 'APECHAIN', 'APECHAIN_TEST', 'CRONOS', 'CRONOS_TEST', 'ROBINHOOD_CHAIN_TESTNET_TEST')")
+ if value not in set(['ETH', 'ETH_TEST3', 'ETH_TEST5', 'ETH_TEST6', 'POLYGON', 'POLYGON_TEST_MUMBAI', 'AMOY_POLYGON_TEST', 'XTZ', 'XTZ_TEST', 'BASECHAIN_ETH', 'BASECHAIN_ETH_TEST3', 'BASECHAIN_ETH_TEST5', 'ETHERLINK', 'ETHERLINK_TEST', 'MANTLE', 'MANTLE_TEST', 'GUN_GUNZILLA', 'GUN_GUNZILLA_TEST', 'ETH_SONEIUM', 'SONEIUM_MINATO_TEST', 'IOTX_IOTEX', 'KLAY_KAIA', 'KLAY_KAIA_TEST', 'APECHAIN', 'APECHAIN_TEST', 'CRONOS', 'CRONOS_TEST', 'ROBINHOOD_CHAIN_TESTNET_TEST', 'ARB']):
+ raise ValueError("must be one of enum values ('ETH', 'ETH_TEST3', 'ETH_TEST5', 'ETH_TEST6', 'POLYGON', 'POLYGON_TEST_MUMBAI', 'AMOY_POLYGON_TEST', 'XTZ', 'XTZ_TEST', 'BASECHAIN_ETH', 'BASECHAIN_ETH_TEST3', 'BASECHAIN_ETH_TEST5', 'ETHERLINK', 'ETHERLINK_TEST', 'MANTLE', 'MANTLE_TEST', 'GUN_GUNZILLA', 'GUN_GUNZILLA_TEST', 'ETH_SONEIUM', 'SONEIUM_MINATO_TEST', 'IOTX_IOTEX', 'KLAY_KAIA', 'KLAY_KAIA_TEST', 'APECHAIN', 'APECHAIN_TEST', 'CRONOS', 'CRONOS_TEST', 'ROBINHOOD_CHAIN_TESTNET_TEST', 'ARB')")
return value
model_config = ConfigDict(
diff --git a/fireblocks/models/create_tag_request.py b/fireblocks/models/create_tag_request.py
index 8a7fa223..49b2f0ac 100644
--- a/fireblocks/models/create_tag_request.py
+++ b/fireblocks/models/create_tag_request.py
@@ -21,6 +21,7 @@
from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr
from typing import Any, ClassVar, Dict, List, Optional
from typing_extensions import Annotated
+from fireblocks.models.tag_type import TagType
from typing import Optional, Set
from typing_extensions import Self
@@ -32,7 +33,8 @@ class CreateTagRequest(BaseModel):
description: Optional[Annotated[str, Field(strict=True, max_length=250)]] = Field(default=None, description="Description for the tag")
color: Optional[StrictStr] = Field(default=None, description="The tag color in hex format")
is_protected: Optional[StrictBool] = Field(default=False, description="Indication if the tag is protected tag", alias="isProtected")
- __properties: ClassVar[List[str]] = ["label", "description", "color", "isProtected"]
+ type: Optional[TagType] = None
+ __properties: ClassVar[List[str]] = ["label", "description", "color", "isProtected", "type"]
model_config = ConfigDict(
populate_by_name=True,
@@ -88,7 +90,8 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
"label": obj.get("label"),
"description": obj.get("description"),
"color": obj.get("color"),
- "isProtected": obj.get("isProtected") if obj.get("isProtected") is not None else False
+ "isProtected": obj.get("isProtected") if obj.get("isProtected") is not None else False,
+ "type": obj.get("type")
})
return _obj
diff --git a/fireblocks/models/exchange_asset.py b/fireblocks/models/exchange_asset.py
index 7fde8ae0..1741a927 100644
--- a/fireblocks/models/exchange_asset.py
+++ b/fireblocks/models/exchange_asset.py
@@ -27,16 +27,16 @@ class ExchangeAsset(BaseModel):
"""
ExchangeAsset
""" # noqa: E501
- id: Optional[StrictStr] = None
+ id: Optional[StrictStr] = Field(default=None, description="Deprecated. Use assetId or assetLegacyId instead.")
balance: Optional[StrictStr] = None
locked_amount: Optional[StrictStr] = Field(default=None, alias="lockedAmount")
total: Optional[StrictStr] = None
available: Optional[StrictStr] = None
credit: Optional[StrictStr] = None
- asset_id: Optional[StrictStr] = Field(default=None, description="The id of the asset", alias="assetId")
- provider_symbol: Optional[StrictStr] = Field(default=None, description="The provider symbol of the asset", alias="providerSymbol")
- asset_symbol: Optional[StrictStr] = Field(default=None, description="The asset symbol of the asset", alias="assetSymbol")
- asset_legacy_id: Optional[StrictStr] = Field(default=None, description="The asset legacy id of the asset", alias="assetLegacyId")
+ asset_id: Optional[StrictStr] = Field(default=None, description="The Fireblocks asset id. Present only when Fireblocks can identify the exchange asset.", alias="assetId")
+ provider_symbol: Optional[StrictStr] = Field(default=None, description="The symbol used by the exchange provider to identify the asset.", alias="providerSymbol")
+ asset_symbol: Optional[StrictStr] = Field(default=None, description="The Fireblocks asset symbol. Present only when Fireblocks can identify the exchange asset.", alias="assetSymbol")
+ asset_legacy_id: Optional[StrictStr] = Field(default=None, description="The Fireblocks legacy asset id. Present only when Fireblocks can identify the exchange asset.", alias="assetLegacyId")
__properties: ClassVar[List[str]] = ["id", "balance", "lockedAmount", "total", "available", "credit", "assetId", "providerSymbol", "assetSymbol", "assetLegacyId"]
model_config = ConfigDict(
diff --git a/fireblocks/models/get_audit_logs_response.py b/fireblocks/models/get_audit_logs_response.py
index 257fbc02..05fa387c 100644
--- a/fireblocks/models/get_audit_logs_response.py
+++ b/fireblocks/models/get_audit_logs_response.py
@@ -18,8 +18,8 @@
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 pydantic import BaseModel, ConfigDict, Field, StrictStr
+from typing import Any, ClassVar, Dict, List, Optional
from fireblocks.models.audit_log_data import AuditLogData
from typing import Optional, Set
from typing_extensions import Self
@@ -29,9 +29,9 @@ class GetAuditLogsResponse(BaseModel):
GetAuditLogsResponse
""" # noqa: E501
data: Optional[List[AuditLogData]] = None
- cursor: Optional[StrictStr] = Field(default=None, description="The next id to start fetch audit logs from")
- total: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="The total number of audit logs")
- __properties: ClassVar[List[str]] = ["data", "cursor", "total"]
+ next: Optional[StrictStr] = Field(default=None, description="Cursor to pass as pageCursor in the next request. Null when no further pages exist.")
+ cursor: Optional[StrictStr] = Field(default=None, description="Deprecated. Use next instead.")
+ __properties: ClassVar[List[str]] = ["data", "next", "cursor"]
model_config = ConfigDict(
populate_by_name=True,
@@ -79,6 +79,11 @@ def to_dict(self) -> Dict[str, Any]:
if _item_data:
_items.append(_item_data.to_dict())
_dict['data'] = _items
+ # set to None if next (nullable) is None
+ # and model_fields_set contains the field
+ if self.next is None and "next" in self.model_fields_set:
+ _dict['next'] = None
+
# set to None if cursor (nullable) is None
# and model_fields_set contains the field
if self.cursor is None and "cursor" in self.model_fields_set:
@@ -97,8 +102,8 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
_obj = cls.model_validate({
"data": [AuditLogData.from_dict(_item) for _item in obj["data"]] if obj.get("data") is not None else None,
- "cursor": obj.get("cursor"),
- "total": obj.get("total")
+ "next": obj.get("next"),
+ "cursor": obj.get("cursor")
})
return _obj
diff --git a/fireblocks/models/public_key_information.py b/fireblocks/models/public_key_information.py
index bdff2230..877c3a5e 100644
--- a/fireblocks/models/public_key_information.py
+++ b/fireblocks/models/public_key_information.py
@@ -38,8 +38,8 @@ def algorithm_validate_enum(cls, value):
if value is None:
return value
- if value not in set(['MPC_ECDSA_SECP256K1', 'MPC_ECDSA_SECP256R1', 'MPC_EDDSA_ED25519']):
- raise ValueError("must be one of enum values ('MPC_ECDSA_SECP256K1', 'MPC_ECDSA_SECP256R1', 'MPC_EDDSA_ED25519')")
+ if value not in set(['MPC_ECDSA_SECP256K1', 'MPC_EDDSA_ED25519']):
+ raise ValueError("must be one of enum values ('MPC_ECDSA_SECP256K1', 'MPC_EDDSA_ED25519')")
return value
model_config = ConfigDict(
diff --git a/fireblocks/models/staking_error_schema.py b/fireblocks/models/staking_error_schema.py
new file mode 100644
index 00000000..1842d078
--- /dev/null
+++ b/fireblocks/models/staking_error_schema.py
@@ -0,0 +1,92 @@
+# coding: utf-8
+
+"""
+ Fireblocks API
+
+ Fireblocks provides a suite of applications to manage digital asset operations and a complete development platform to build your business on the blockchain. - Visit our website for more information: [Fireblocks Website](https://fireblocks.com) - Visit our developer docs: [Fireblocks DevPortal](https://developers.fireblocks.com)
+
+ The version of the OpenAPI document: 1.6.2
+ Contact: developers@fireblocks.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictFloat, StrictInt, StrictStr
+from typing import Any, ClassVar, Dict, List, Optional, Union
+from typing import Optional, Set
+from typing_extensions import Self
+
+class StakingErrorSchema(BaseModel):
+ """
+ StakingErrorSchema
+ """ # noqa: E501
+ message: StrictStr = Field(description="Human-readable error message.")
+ code: Union[StrictFloat, StrictInt] = Field(description="Numeric error code identifying the type of error.")
+ descriptor: Optional[StrictStr] = Field(default=None, description="Additional structured context about the error.")
+ __properties: ClassVar[List[str]] = ["message", "code", "descriptor"]
+
+ 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 StakingErrorSchema 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 StakingErrorSchema from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "message": obj.get("message"),
+ "code": obj.get("code"),
+ "descriptor": obj.get("descriptor")
+ })
+ return _obj
+
+
diff --git a/fireblocks/models/tag.py b/fireblocks/models/tag.py
index 3692e23c..edf7ee9d 100644
--- a/fireblocks/models/tag.py
+++ b/fireblocks/models/tag.py
@@ -21,6 +21,7 @@
from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictFloat, StrictInt, StrictStr
from typing import Any, ClassVar, Dict, List, Optional, Union
from fireblocks.models.approval_request import ApprovalRequest
+from fireblocks.models.tag_type import TagType
from typing import Optional, Set
from typing_extensions import Self
@@ -34,8 +35,9 @@ class Tag(BaseModel):
color: Optional[StrictStr] = Field(default=None, description="The tag color in hex format")
is_protected: StrictBool = Field(description="Indication if the tag is a protected tag", alias="isProtected")
updated_at: Union[StrictFloat, StrictInt] = Field(description="The date and time the tag was last updated", alias="updatedAt")
+ type: Optional[TagType] = None
pending_approval_request: Optional[ApprovalRequest] = Field(default=None, alias="pendingApprovalRequest")
- __properties: ClassVar[List[str]] = ["id", "label", "description", "color", "isProtected", "updatedAt", "pendingApprovalRequest"]
+ __properties: ClassVar[List[str]] = ["id", "label", "description", "color", "isProtected", "updatedAt", "type", "pendingApprovalRequest"]
model_config = ConfigDict(
populate_by_name=True,
@@ -97,6 +99,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
"color": obj.get("color"),
"isProtected": obj.get("isProtected") if obj.get("isProtected") is not None else False,
"updatedAt": obj.get("updatedAt"),
+ "type": obj.get("type"),
"pendingApprovalRequest": ApprovalRequest.from_dict(obj["pendingApprovalRequest"]) if obj.get("pendingApprovalRequest") is not None else None
})
return _obj
diff --git a/fireblocks/models/tag_type.py b/fireblocks/models/tag_type.py
new file mode 100644
index 00000000..421750cd
--- /dev/null
+++ b/fireblocks/models/tag_type.py
@@ -0,0 +1,37 @@
+# coding: utf-8
+
+"""
+ Fireblocks API
+
+ Fireblocks provides a suite of applications to manage digital asset operations and a complete development platform to build your business on the blockchain. - Visit our website for more information: [Fireblocks Website](https://fireblocks.com) - Visit our developer docs: [Fireblocks DevPortal](https://developers.fireblocks.com)
+
+ The version of the OpenAPI document: 1.6.2
+ Contact: developers@fireblocks.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import json
+from enum import Enum
+from typing_extensions import Self
+
+
+class TagType(str, Enum):
+ """
+ The tag type, indicating the domain that owns the tag
+ """
+
+ """
+ allowed enum values
+ """
+ WALLET_POOL = 'WALLET_POOL'
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Self:
+ """Create an instance of TagType from a JSON string"""
+ return cls(json.loads(json_str))
+
+
diff --git a/fireblocks/models/token_ownership_response.py b/fireblocks/models/token_ownership_response.py
index 20a369f3..8c722e0f 100644
--- a/fireblocks/models/token_ownership_response.py
+++ b/fireblocks/models/token_ownership_response.py
@@ -53,8 +53,8 @@ class TokenOwnershipResponse(BaseModel):
@field_validator('blockchain_descriptor')
def blockchain_descriptor_validate_enum(cls, value):
"""Validates the enum"""
- if value not in set(['ETH', 'ETH_TEST3', 'ETH_TEST5', 'ETH_TEST6', 'POLYGON', 'POLYGON_TEST_MUMBAI', 'AMOY_POLYGON_TEST', 'XTZ', 'XTZ_TEST', 'BASECHAIN_ETH', 'BASECHAIN_ETH_TEST3', 'BASECHAIN_ETH_TEST5', 'ETHERLINK', 'ETHERLINK_TEST', 'MANTLE', 'MANTLE_TEST', 'GUN_GUNZILLA', 'GUN_GUNZILLA_TEST', 'ETH_SONEIUM', 'SONEIUM_MINATO_TEST', 'IOTX_IOTEX', 'KLAY_KAIA', 'KLAY_KAIA_TEST', 'APECHAIN', 'APECHAIN_TEST', 'CRONOS', 'CRONOS_TEST', 'ROBINHOOD_CHAIN_TESTNET_TEST']):
- raise ValueError("must be one of enum values ('ETH', 'ETH_TEST3', 'ETH_TEST5', 'ETH_TEST6', 'POLYGON', 'POLYGON_TEST_MUMBAI', 'AMOY_POLYGON_TEST', 'XTZ', 'XTZ_TEST', 'BASECHAIN_ETH', 'BASECHAIN_ETH_TEST3', 'BASECHAIN_ETH_TEST5', 'ETHERLINK', 'ETHERLINK_TEST', 'MANTLE', 'MANTLE_TEST', 'GUN_GUNZILLA', 'GUN_GUNZILLA_TEST', 'ETH_SONEIUM', 'SONEIUM_MINATO_TEST', 'IOTX_IOTEX', 'KLAY_KAIA', 'KLAY_KAIA_TEST', 'APECHAIN', 'APECHAIN_TEST', 'CRONOS', 'CRONOS_TEST', 'ROBINHOOD_CHAIN_TESTNET_TEST')")
+ if value not in set(['ETH', 'ETH_TEST3', 'ETH_TEST5', 'ETH_TEST6', 'POLYGON', 'POLYGON_TEST_MUMBAI', 'AMOY_POLYGON_TEST', 'XTZ', 'XTZ_TEST', 'BASECHAIN_ETH', 'BASECHAIN_ETH_TEST3', 'BASECHAIN_ETH_TEST5', 'ETHERLINK', 'ETHERLINK_TEST', 'MANTLE', 'MANTLE_TEST', 'GUN_GUNZILLA', 'GUN_GUNZILLA_TEST', 'ETH_SONEIUM', 'SONEIUM_MINATO_TEST', 'IOTX_IOTEX', 'KLAY_KAIA', 'KLAY_KAIA_TEST', 'APECHAIN', 'APECHAIN_TEST', 'CRONOS', 'CRONOS_TEST', 'ROBINHOOD_CHAIN_TESTNET_TEST', 'ARB']):
+ raise ValueError("must be one of enum values ('ETH', 'ETH_TEST3', 'ETH_TEST5', 'ETH_TEST6', 'POLYGON', 'POLYGON_TEST_MUMBAI', 'AMOY_POLYGON_TEST', 'XTZ', 'XTZ_TEST', 'BASECHAIN_ETH', 'BASECHAIN_ETH_TEST3', 'BASECHAIN_ETH_TEST5', 'ETHERLINK', 'ETHERLINK_TEST', 'MANTLE', 'MANTLE_TEST', 'GUN_GUNZILLA', 'GUN_GUNZILLA_TEST', 'ETH_SONEIUM', 'SONEIUM_MINATO_TEST', 'IOTX_IOTEX', 'KLAY_KAIA', 'KLAY_KAIA_TEST', 'APECHAIN', 'APECHAIN_TEST', 'CRONOS', 'CRONOS_TEST', 'ROBINHOOD_CHAIN_TESTNET_TEST', 'ARB')")
return value
@field_validator('status')
diff --git a/fireblocks/models/token_response.py b/fireblocks/models/token_response.py
index 75c12e9e..51d073b0 100644
--- a/fireblocks/models/token_response.py
+++ b/fireblocks/models/token_response.py
@@ -46,8 +46,8 @@ class TokenResponse(BaseModel):
@field_validator('blockchain_descriptor')
def blockchain_descriptor_validate_enum(cls, value):
"""Validates the enum"""
- if value not in set(['ETH', 'ETH_TEST3', 'ETH_TEST5', 'ETH_TEST6', 'POLYGON', 'POLYGON_TEST_MUMBAI', 'AMOY_POLYGON_TEST', 'XTZ', 'XTZ_TEST', 'BASECHAIN_ETH', 'BASECHAIN_ETH_TEST3', 'BASECHAIN_ETH_TEST5', 'ETHERLINK', 'ETHERLINK_TEST', 'MANTLE', 'MANTLE_TEST', 'GUN_GUNZILLA', 'GUN_GUNZILLA_TEST', 'ETH_SONEIUM', 'SONEIUM_MINATO_TEST', 'IOTX_IOTEX', 'KLAY_KAIA', 'KLAY_KAIA_TEST', 'APECHAIN', 'APECHAIN_TEST', 'CRONOS', 'CRONOS_TEST', 'ROBINHOOD_CHAIN_TESTNET_TEST']):
- raise ValueError("must be one of enum values ('ETH', 'ETH_TEST3', 'ETH_TEST5', 'ETH_TEST6', 'POLYGON', 'POLYGON_TEST_MUMBAI', 'AMOY_POLYGON_TEST', 'XTZ', 'XTZ_TEST', 'BASECHAIN_ETH', 'BASECHAIN_ETH_TEST3', 'BASECHAIN_ETH_TEST5', 'ETHERLINK', 'ETHERLINK_TEST', 'MANTLE', 'MANTLE_TEST', 'GUN_GUNZILLA', 'GUN_GUNZILLA_TEST', 'ETH_SONEIUM', 'SONEIUM_MINATO_TEST', 'IOTX_IOTEX', 'KLAY_KAIA', 'KLAY_KAIA_TEST', 'APECHAIN', 'APECHAIN_TEST', 'CRONOS', 'CRONOS_TEST', 'ROBINHOOD_CHAIN_TESTNET_TEST')")
+ if value not in set(['ETH', 'ETH_TEST3', 'ETH_TEST5', 'ETH_TEST6', 'POLYGON', 'POLYGON_TEST_MUMBAI', 'AMOY_POLYGON_TEST', 'XTZ', 'XTZ_TEST', 'BASECHAIN_ETH', 'BASECHAIN_ETH_TEST3', 'BASECHAIN_ETH_TEST5', 'ETHERLINK', 'ETHERLINK_TEST', 'MANTLE', 'MANTLE_TEST', 'GUN_GUNZILLA', 'GUN_GUNZILLA_TEST', 'ETH_SONEIUM', 'SONEIUM_MINATO_TEST', 'IOTX_IOTEX', 'KLAY_KAIA', 'KLAY_KAIA_TEST', 'APECHAIN', 'APECHAIN_TEST', 'CRONOS', 'CRONOS_TEST', 'ROBINHOOD_CHAIN_TESTNET_TEST', 'ARB']):
+ raise ValueError("must be one of enum values ('ETH', 'ETH_TEST3', 'ETH_TEST5', 'ETH_TEST6', 'POLYGON', 'POLYGON_TEST_MUMBAI', 'AMOY_POLYGON_TEST', 'XTZ', 'XTZ_TEST', 'BASECHAIN_ETH', 'BASECHAIN_ETH_TEST3', 'BASECHAIN_ETH_TEST5', 'ETHERLINK', 'ETHERLINK_TEST', 'MANTLE', 'MANTLE_TEST', 'GUN_GUNZILLA', 'GUN_GUNZILLA_TEST', 'ETH_SONEIUM', 'SONEIUM_MINATO_TEST', 'IOTX_IOTEX', 'KLAY_KAIA', 'KLAY_KAIA_TEST', 'APECHAIN', 'APECHAIN_TEST', 'CRONOS', 'CRONOS_TEST', 'ROBINHOOD_CHAIN_TESTNET_TEST', 'ARB')")
return value
model_config = ConfigDict(
diff --git a/fireblocks/models/update_tag_request.py b/fireblocks/models/update_tag_request.py
index 28d65955..7a4b1b1b 100644
--- a/fireblocks/models/update_tag_request.py
+++ b/fireblocks/models/update_tag_request.py
@@ -29,7 +29,8 @@ class UpdateTagRequest(BaseModel):
""" # noqa: E501
label: Optional[StrictStr] = Field(default=None, description="The tag label")
description: Optional[StrictStr] = Field(default=None, description="Description for the tag")
- __properties: ClassVar[List[str]] = ["label", "description"]
+ color: Optional[StrictStr] = Field(default=None, description="The tag color in hex format")
+ __properties: ClassVar[List[str]] = ["label", "description", "color"]
model_config = ConfigDict(
populate_by_name=True,
@@ -83,7 +84,8 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
_obj = cls.model_validate({
"label": obj.get("label"),
- "description": obj.get("description")
+ "description": obj.get("description"),
+ "color": obj.get("color")
})
return _obj
diff --git a/fireblocks/models/usdc_gateway_wallet_asset.py b/fireblocks/models/usdc_gateway_wallet_asset.py
new file mode 100644
index 00000000..8792f53d
--- /dev/null
+++ b/fireblocks/models/usdc_gateway_wallet_asset.py
@@ -0,0 +1,94 @@
+# coding: utf-8
+
+"""
+ Fireblocks API
+
+ Fireblocks provides a suite of applications to manage digital asset operations and a complete development platform to build your business on the blockchain. - Visit our website for more information: [Fireblocks Website](https://fireblocks.com) - Visit our developer docs: [Fireblocks DevPortal](https://developers.fireblocks.com)
+
+ The version of the OpenAPI document: 1.6.2
+ Contact: developers@fireblocks.com
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr
+from typing import Any, ClassVar, Dict, List
+from typing import Optional, Set
+from typing_extensions import Self
+
+class UsdcGatewayWalletAsset(BaseModel):
+ """
+ UsdcGatewayWalletAsset
+ """ # noqa: E501
+ id: StrictStr = Field(description="Fireblocks asset ID")
+ balance: StrictStr = Field(description="Asset balance")
+ chain: StrictStr = Field(description="Blockchain name")
+ network: StrictStr = Field(description="Network name")
+ __properties: ClassVar[List[str]] = ["id", "balance", "chain", "network"]
+
+ 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 UsdcGatewayWalletAsset 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 UsdcGatewayWalletAsset from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "id": obj.get("id"),
+ "balance": obj.get("balance"),
+ "chain": obj.get("chain"),
+ "network": obj.get("network")
+ })
+ return _obj
+
+
diff --git a/fireblocks/models/usdc_gateway_wallet_info_response.py b/fireblocks/models/usdc_gateway_wallet_info_response.py
index f63685a7..d8dc3d78 100644
--- a/fireblocks/models/usdc_gateway_wallet_info_response.py
+++ b/fireblocks/models/usdc_gateway_wallet_info_response.py
@@ -20,6 +20,7 @@
from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
from typing import Any, ClassVar, Dict, List
+from fireblocks.models.usdc_gateway_wallet_asset import UsdcGatewayWalletAsset
from typing import Optional, Set
from typing_extensions import Self
@@ -31,8 +32,10 @@ class UsdcGatewayWalletInfoResponse(BaseModel):
type: StrictStr = Field(description="The USDC Gateway provider identifier")
status: StrictStr = Field(description="Current activation status of the USDC Gateway wallet")
symbol: StrictStr = Field(description="The token symbol supported by this wallet (e.g. USDC)")
- asset_ids: List[StrictStr] = Field(description="Fireblocks asset IDs available for this wallet", alias="assetIds")
- __properties: ClassVar[List[str]] = ["walletId", "type", "status", "symbol", "assetIds"]
+ total_balance: StrictStr = Field(description="Aggregate USDC balance across all assets", alias="totalBalance")
+ assets: List[UsdcGatewayWalletAsset] = Field(description="Per-chain USDC asset balances")
+ virtual_asset_id: StrictStr = Field(description="The id of the virtual asset", alias="virtualAssetId")
+ __properties: ClassVar[List[str]] = ["walletId", "type", "status", "symbol", "totalBalance", "assets", "virtualAssetId"]
@field_validator('status')
def status_validate_enum(cls, value):
@@ -80,6 +83,13 @@ def to_dict(self) -> Dict[str, Any]:
exclude=excluded_fields,
exclude_none=True,
)
+ # override the default output from pydantic by calling `to_dict()` of each item in assets (list)
+ _items = []
+ if self.assets:
+ for _item_assets in self.assets:
+ if _item_assets:
+ _items.append(_item_assets.to_dict())
+ _dict['assets'] = _items
return _dict
@classmethod
@@ -96,7 +106,9 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
"type": obj.get("type"),
"status": obj.get("status"),
"symbol": obj.get("symbol"),
- "assetIds": obj.get("assetIds")
+ "totalBalance": obj.get("totalBalance"),
+ "assets": [UsdcGatewayWalletAsset.from_dict(_item) for _item in obj["assets"]] if obj.get("assets") is not None else None,
+ "virtualAssetId": obj.get("virtualAssetId")
})
return _obj
diff --git a/pyproject.toml b/pyproject.toml
index ffacc71d..08a27f53 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -1,6 +1,6 @@
[tool.poetry]
name = "fireblocks"
-version = "19.0.0"
+version = "0.0.0"
description = "Fireblocks API"
authors = ["Fireblocks "]
license = "MIT License"
diff --git a/setup.py b/setup.py
index 6862de0e..8e55f57b 100644
--- a/setup.py
+++ b/setup.py
@@ -23,7 +23,7 @@
# prerequisite: setuptools
# http://pypi.python.org/pypi/setuptools
NAME = "fireblocks"
-VERSION = "19.0.0"
+VERSION = "0.0.0"
PYTHON_REQUIRES = ">= 3.8"
REQUIRES = [
"urllib3 >= 2.1.0, < 3.0.0",
diff --git a/test/test_audit_log_data.py b/test/test_audit_log_data.py
index ada1a5e2..f817a71f 100644
--- a/test/test_audit_log_data.py
+++ b/test/test_audit_log_data.py
@@ -43,6 +43,7 @@ def make_instance(self, include_optional) -> AuditLogData:
user = '',
subject = '',
event = '',
+ category = 'Administration',
tenant_id = '',
user_id = ''
)
diff --git a/test/test_create_tag_request.py b/test/test_create_tag_request.py
index e2dad6d7..5e44a84c 100644
--- a/test/test_create_tag_request.py
+++ b/test/test_create_tag_request.py
@@ -40,7 +40,8 @@ def make_instance(self, include_optional) -> CreateTagRequest:
label = 'VIP',
description = 'Tag for VIP customers',
color = '#FF5733',
- is_protected = True
+ is_protected = True,
+ type = 'WALLET_POOL'
)
else:
return CreateTagRequest(
diff --git a/test/test_get_audit_logs_response.py b/test/test_get_audit_logs_response.py
index 9443b0d4..4ae9f4bb 100644
--- a/test/test_get_audit_logs_response.py
+++ b/test/test_get_audit_logs_response.py
@@ -45,11 +45,12 @@ def make_instance(self, include_optional) -> GetAuditLogsResponse:
user = '',
subject = '',
event = '',
+ category = 'Administration',
tenant_id = '',
user_id = '', )
],
- cursor = '',
- total = 1.337
+ next = 'eyJpZCI6IjEyMzQ1NiJ9',
+ cursor = ''
)
else:
return GetAuditLogsResponse(
diff --git a/test/test_staking_error_schema.py b/test/test_staking_error_schema.py
new file mode 100644
index 00000000..46258c64
--- /dev/null
+++ b/test/test_staking_error_schema.py
@@ -0,0 +1,58 @@
+# coding: utf-8
+
+"""
+Fireblocks API
+
+Fireblocks provides a suite of applications to manage digital asset operations and a complete development platform to build your business on the blockchain. - Visit our website for more information: [Fireblocks Website](https://fireblocks.com) - Visit our developer docs: [Fireblocks DevPortal](https://developers.fireblocks.com)
+
+The version of the OpenAPI document: 1.6.2
+Contact: developers@fireblocks.com
+Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+Do not edit the class manually.
+""" # noqa: E501
+
+
+import unittest
+
+from fireblocks.models.staking_error_schema import StakingErrorSchema
+
+
+class TestStakingErrorSchema(unittest.TestCase):
+ """StakingErrorSchema unit test stubs"""
+
+ def setUp(self):
+ pass
+
+ def tearDown(self):
+ pass
+
+ def make_instance(self, include_optional) -> StakingErrorSchema:
+ """Test StakingErrorSchema
+ 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 `StakingErrorSchema`
+ """
+ model = StakingErrorSchema()
+ if include_optional:
+ return StakingErrorSchema(
+ message = 'Couldn't find position with id: abc-123',
+ code = 3310,
+ descriptor = '{"positionId":"abc-123"}'
+ )
+ else:
+ return StakingErrorSchema(
+ message = 'Couldn't find position with id: abc-123',
+ code = 3310,
+ )
+ """
+
+ def testStakingErrorSchema(self):
+ """Test StakingErrorSchema"""
+ # 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_tag.py b/test/test_tag.py
index e776ce73..e7726046 100644
--- a/test/test_tag.py
+++ b/test/test_tag.py
@@ -43,6 +43,7 @@ def make_instance(self, include_optional) -> Tag:
color = '#FF5733',
is_protected = True,
updated_at = 1717084800000,
+ type = 'WALLET_POOL',
pending_approval_request = fireblocks.models.approval_request.ApprovalRequest(
id = '12345',
type = 'TAG_UPDATE',
diff --git a/test/test_tag_type.py b/test/test_tag_type.py
new file mode 100644
index 00000000..feb7edea
--- /dev/null
+++ b/test/test_tag_type.py
@@ -0,0 +1,36 @@
+# coding: utf-8
+
+"""
+Fireblocks API
+
+Fireblocks provides a suite of applications to manage digital asset operations and a complete development platform to build your business on the blockchain. - Visit our website for more information: [Fireblocks Website](https://fireblocks.com) - Visit our developer docs: [Fireblocks DevPortal](https://developers.fireblocks.com)
+
+The version of the OpenAPI document: 1.6.2
+Contact: developers@fireblocks.com
+Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+Do not edit the class manually.
+""" # noqa: E501
+
+
+import unittest
+
+from fireblocks.models.tag_type import TagType
+
+
+class TestTagType(unittest.TestCase):
+ """TagType unit test stubs"""
+
+ def setUp(self):
+ pass
+
+ def tearDown(self):
+ pass
+
+ def testTagType(self):
+ """Test TagType"""
+ # inst = TagType()
+
+
+if __name__ == "__main__":
+ unittest.main()
diff --git a/test/test_tags_paged_response.py b/test/test_tags_paged_response.py
index 6578a0b1..a74be7fb 100644
--- a/test/test_tags_paged_response.py
+++ b/test/test_tags_paged_response.py
@@ -45,6 +45,7 @@ def make_instance(self, include_optional) -> TagsPagedResponse:
color = '#FF5733',
is_protected = True,
updated_at = 1717084800000,
+ type = 'WALLET_POOL',
pending_approval_request = fireblocks.models.approval_request.ApprovalRequest(
id = '12345',
type = 'TAG_UPDATE',
@@ -62,6 +63,7 @@ def make_instance(self, include_optional) -> TagsPagedResponse:
color = '#FF5733',
is_protected = True,
updated_at = 1717084800000,
+ type = 'WALLET_POOL',
pending_approval_request = fireblocks.models.approval_request.ApprovalRequest(
id = '12345',
type = 'TAG_UPDATE',
diff --git a/test/test_update_tag_request.py b/test/test_update_tag_request.py
index 0164a321..e24f7a98 100644
--- a/test/test_update_tag_request.py
+++ b/test/test_update_tag_request.py
@@ -38,7 +38,8 @@ def make_instance(self, include_optional) -> UpdateTagRequest:
if include_optional:
return UpdateTagRequest(
label = 'VIP',
- description = 'Tag for VIP customers'
+ description = 'Tag for VIP customers',
+ color = '#FF5733'
)
else:
return UpdateTagRequest(
diff --git a/test/test_usdc_gateway_wallet_asset.py b/test/test_usdc_gateway_wallet_asset.py
new file mode 100644
index 00000000..a085965e
--- /dev/null
+++ b/test/test_usdc_gateway_wallet_asset.py
@@ -0,0 +1,61 @@
+# coding: utf-8
+
+"""
+Fireblocks API
+
+Fireblocks provides a suite of applications to manage digital asset operations and a complete development platform to build your business on the blockchain. - Visit our website for more information: [Fireblocks Website](https://fireblocks.com) - Visit our developer docs: [Fireblocks DevPortal](https://developers.fireblocks.com)
+
+The version of the OpenAPI document: 1.6.2
+Contact: developers@fireblocks.com
+Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+Do not edit the class manually.
+""" # noqa: E501
+
+
+import unittest
+
+from fireblocks.models.usdc_gateway_wallet_asset import UsdcGatewayWalletAsset
+
+
+class TestUsdcGatewayWalletAsset(unittest.TestCase):
+ """UsdcGatewayWalletAsset unit test stubs"""
+
+ def setUp(self):
+ pass
+
+ def tearDown(self):
+ pass
+
+ def make_instance(self, include_optional) -> UsdcGatewayWalletAsset:
+ """Test UsdcGatewayWalletAsset
+ 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 `UsdcGatewayWalletAsset`
+ """
+ model = UsdcGatewayWalletAsset()
+ if include_optional:
+ return UsdcGatewayWalletAsset(
+ id = 'USDC',
+ balance = '100',
+ chain = 'Ethereum',
+ network = 'Mainnet'
+ )
+ else:
+ return UsdcGatewayWalletAsset(
+ id = 'USDC',
+ balance = '100',
+ chain = 'Ethereum',
+ network = 'Mainnet',
+ )
+ """
+
+ def testUsdcGatewayWalletAsset(self):
+ """Test UsdcGatewayWalletAsset"""
+ # 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_usdc_gateway_wallet_info_response.py b/test/test_usdc_gateway_wallet_info_response.py
index e97de710..904083ed 100644
--- a/test/test_usdc_gateway_wallet_info_response.py
+++ b/test/test_usdc_gateway_wallet_info_response.py
@@ -43,7 +43,9 @@ def make_instance(self, include_optional) -> UsdcGatewayWalletInfoResponse:
type = 'CIRCLEGATEWAY',
status = 'ACTIVATED',
symbol = 'USDC',
- asset_ids = ["USDC"]
+ total_balance = '150',
+ assets = [{"id":"USDC","balance":"100","chain":"Ethereum","network":"Mainnet"}],
+ virtual_asset_id = '0e7e2ab4-544e-40aa-a7d2-93b6f6a1516e'
)
else:
return UsdcGatewayWalletInfoResponse(
@@ -51,7 +53,9 @@ def make_instance(self, include_optional) -> UsdcGatewayWalletInfoResponse:
type = 'CIRCLEGATEWAY',
status = 'ACTIVATED',
symbol = 'USDC',
- asset_ids = ["USDC"],
+ total_balance = '150',
+ assets = [{"id":"USDC","balance":"100","chain":"Ethereum","network":"Mainnet"}],
+ virtual_asset_id = '0e7e2ab4-544e-40aa-a7d2-93b6f6a1516e',
)
"""
diff --git a/test/test_vault_account.py b/test/test_vault_account.py
index b026f834..67e13537 100644
--- a/test/test_vault_account.py
+++ b/test/test_vault_account.py
@@ -71,6 +71,7 @@ def make_instance(self, include_optional) -> VaultAccount:
color = '#FF5733',
is_protected = True,
updated_at = 1717084800000,
+ type = 'WALLET_POOL',
pending_approval_request = fireblocks.models.approval_request.ApprovalRequest(
id = '12345',
type = 'TAG_UPDATE',
diff --git a/test/test_vault_accounts_paged_response.py b/test/test_vault_accounts_paged_response.py
index 97c004c6..f5f3a60a 100644
--- a/test/test_vault_accounts_paged_response.py
+++ b/test/test_vault_accounts_paged_response.py
@@ -73,6 +73,7 @@ def make_instance(self, include_optional) -> VaultAccountsPagedResponse:
color = '#FF5733',
is_protected = True,
updated_at = 1717084800000,
+ type = 'WALLET_POOL',
pending_approval_request = fireblocks.models.approval_request.ApprovalRequest(
id = '12345',
type = 'TAG_UPDATE',