diff --git a/fireblocks_sdk/api_types.py b/fireblocks_sdk/api_types.py index 5f91c12..dcfa1e6 100644 --- a/fireblocks_sdk/api_types.py +++ b/fireblocks_sdk/api_types.py @@ -335,6 +335,18 @@ class NFTOwnershipStatusValues(str, Enum): ARCHIVED = "ARCHIVED" +class NFTOwnershipStatusUpdatedPayload: + def __init__(self, asset_id: str, status: NFTOwnershipStatusValues): + self.asset_id = asset_id + self.status = status + + def serialize(self) -> dict: + return { + 'assetId': self.asset_id, + 'status': self.status, + } + + class GetOwnedCollectionsSortValue(str, Enum): COLLECTION_NAME = "name" diff --git a/fireblocks_sdk/sdk.py b/fireblocks_sdk/sdk.py index 200a5ae..912757b 100644 --- a/fireblocks_sdk/sdk.py +++ b/fireblocks_sdk/sdk.py @@ -31,7 +31,8 @@ GetOwnedAssetsSortValues, PolicyRule, GetSmartTransferFilters, - NFTsWalletTypeValues + NFTsWalletTypeValues, + NFTOwnershipStatusUpdatedPayload, ) from .sdk_token_provider import SdkTokenProvider @@ -319,6 +320,16 @@ def update_nft_ownership_status(self, id: str, status: NFTOwnershipStatusValues) return self._put_request(url, {"status": status.value}) + def update_nft_ownerships_status(self, payload: List[NFTOwnershipStatusUpdatedPayload]): + """Updates tokens status for a tenant, in all tenant vaults. + + Args: + payload (NFTOwnershipStatusUpdatedPayload[]): List of assets with status for update + """ + url = "/v1/nfts/ownership/tokens/status" + + return self._put_request(url, list(map((lambda payload_item: payload_item.serialize()), payload))) + def get_supported_assets(self): """Gets all assets that are currently supported by Fireblocks"""