From 47555fcbb2ebcb59aedecd88d8b07ee68f1beae9 Mon Sep 17 00:00:00 2001 From: fireblocks_dx_team Date: Tue, 1 Sep 2026 10:56:40 +0000 Subject: [PATCH] Generated SDK #2809037023 --- .openapi-generator/FILES | 12 + CHANGELOG.md | 258 -------------- README.md | 6 + api.ts | 1 + api/contacts-api.ts | 328 ++++++++++++++++++ client/client.ts | 5 + docs/apis/ContactsApi.md | 103 ++++++ docs/models/Contact.md | 40 +++ docs/models/ContactApprovalRequest.md | 13 + docs/models/ContactTag.md | 18 + docs/models/ContactTagAttachmentPending.md | 22 ++ docs/models/ContactsPagedResponse.md | 14 + docs/models/FailureReason.md | 2 + .../ScreeningTRLinkMissingTrmDecision.md | 4 +- docs/models/ScreeningTRLinkMissingTrmRule.md | 4 +- .../ScreeningTRLinkPostScreeningRule.md | 4 +- docs/models/SecurityFinding.md | 50 --- docs/models/SecurityFindingDetailed.md | 50 --- docs/models/TRLinkMissingTrmDecision.md | 4 +- docs/models/TRLinkMissingTrmRule.md | 4 +- docs/models/TRLinkMissingTrmRule2.md | 4 +- docs/models/TRLinkPostScreeningRule.md | 4 +- docs/models/TRLinkPostScreeningRule2.md | 4 +- docs/models/TransactionRequest.md | 1 + models/contact-approval-request.ts | 36 ++ models/contact-tag-attachment-pending.ts | 44 +++ models/contact-tag.ts | 72 ++++ models/contact.ts | 110 ++++++ models/contacts-paged-response.ts | 45 +++ models/failure-reason.ts | 1 + models/index.ts | 5 + models/security-finding-detailed.ts | 32 -- models/security-finding.ts | 32 -- models/transaction-request.ts | 6 + models/trlink-missing-trm-rule2.ts | 4 +- models/trlink-post-screening-rule2.ts | 4 +- package-lock.json | 56 +-- package.json | 2 +- tests/client.spec.ts | 8 + 39 files changed, 941 insertions(+), 471 deletions(-) delete mode 100644 CHANGELOG.md create mode 100644 api/contacts-api.ts create mode 100644 docs/apis/ContactsApi.md create mode 100644 docs/models/Contact.md create mode 100644 docs/models/ContactApprovalRequest.md create mode 100644 docs/models/ContactTag.md create mode 100644 docs/models/ContactTagAttachmentPending.md create mode 100644 docs/models/ContactsPagedResponse.md create mode 100644 models/contact-approval-request.ts create mode 100644 models/contact-tag-attachment-pending.ts create mode 100644 models/contact-tag.ts create mode 100644 models/contact.ts create mode 100644 models/contacts-paged-response.ts diff --git a/.openapi-generator/FILES b/.openapi-generator/FILES index 54d514bd..fb55f3e5 100644 --- a/.openapi-generator/FILES +++ b/.openapi-generator/FILES @@ -238,6 +238,12 @@ ConnectedSingleAccountResponse.md ConsoleUser.md ConsoleUserApi.md ConsoleUsers.md +Contact.md +ContactApprovalRequest.md +ContactTag.md +ContactTagAttachmentPending.md +ContactsApi.md +ContactsPagedResponse.md ContractAbiResponseDto.md ContractAbiResponseDtoAbiInner.md ContractAddressResponse.md @@ -1316,6 +1322,7 @@ api/compliance-api.ts api/compliance-screening-configuration-api.ts api/connected-accounts-beta-api.ts api/console-user-api.ts +api/contacts-api.ts api/contract-interactions-api.ts api/contract-templates-api.ts api/contracts-api.ts @@ -1598,6 +1605,11 @@ models/connected-single-account-response.ts models/connected-single-account.ts models/console-user.ts models/console-users.ts +models/contact-approval-request.ts +models/contact-tag-attachment-pending.ts +models/contact-tag.ts +models/contact.ts +models/contacts-paged-response.ts models/contract-abi-response-dto-abi-inner.ts models/contract-abi-response-dto.ts models/contract-address-response.ts diff --git a/CHANGELOG.md b/CHANGELOG.md deleted file mode 100644 index 09dfa221..00000000 --- a/CHANGELOG.md +++ /dev/null @@ -1,258 +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). - -## [v28.0.0](https://github.com/fireblocks/ts-sdk/compare/v19.0.0...v28.0.0) - 2026-08-26 - -### Merged - -- Generated SDK #2791732002 [`#205`](https://github.com/fireblocks/ts-sdk/pull/205) - -## [v19.0.0](https://github.com/fireblocks/ts-sdk/compare/v18.0.0...v19.0.0) - 2026-05-17 - -### Merged - -- Generated SDK #7742 (major) [`#183`](https://github.com/fireblocks/ts-sdk/pull/183) - -## [v18.0.0](https://github.com/fireblocks/ts-sdk/compare/v17.0.0...v18.0.0) - 2026-05-06 - -### Merged - -- Generated SDK #3222 [`#181`](https://github.com/fireblocks/ts-sdk/pull/181) - -## [v17.0.0](https://github.com/fireblocks/ts-sdk/compare/v16.0.0...v17.0.0) - 2026-04-20 - -### Merged - -- Generated SDK #9605 (major) [`#180`](https://github.com/fireblocks/ts-sdk/pull/180) - -## [v16.0.0](https://github.com/fireblocks/ts-sdk/compare/v15.0.0...v16.0.0) - 2026-04-06 - -### Merged - -- Generated SDK #3331 [`#179`](https://github.com/fireblocks/ts-sdk/pull/179) - -## [v15.0.0](https://github.com/fireblocks/ts-sdk/compare/v14.1.0...v15.0.0) - 2026-03-15 - -### Merged - -- Generated SDK #3733 (major) [`#174`](https://github.com/fireblocks/ts-sdk/pull/174) - -## [v14.1.0](https://github.com/fireblocks/ts-sdk/compare/v14.0.0...v14.1.0) - 2026-02-26 - -### Merged - -- Generated SDK #2167 [`#172`](https://github.com/fireblocks/ts-sdk/pull/172) - -## [v14.0.0](https://github.com/fireblocks/ts-sdk/compare/v13.0.0...v14.0.0) - 2026-02-03 - -### Merged - -- Generated SDK #4746 [`#164`](https://github.com/fireblocks/ts-sdk/pull/164) - -## [v13.0.0](https://github.com/fireblocks/ts-sdk/compare/v12.1.2...v13.0.0) - 2025-11-13 - -### Merged - -- Generated SDK #5834 [`#146`](https://github.com/fireblocks/ts-sdk/pull/146) - -## [v12.1.2](https://github.com/fireblocks/ts-sdk/compare/v12.1.1...v12.1.2) - 2025-10-22 - -### Merged - -- Generated SDK #8293 [`#145`](https://github.com/fireblocks/ts-sdk/pull/145) - -## [v12.1.1](https://github.com/fireblocks/ts-sdk/compare/v12.1.0...v12.1.1) - 2025-09-29 - -### Merged - -- Generated SDK #6061 [`#143`](https://github.com/fireblocks/ts-sdk/pull/143) - -## [v12.1.0](https://github.com/fireblocks/ts-sdk/compare/v12.0.0...v12.1.0) - 2025-09-09 - -### Merged - -- Generated SDK #4521 [`#142`](https://github.com/fireblocks/ts-sdk/pull/142) - -## [v12.0.0](https://github.com/fireblocks/ts-sdk/compare/v11.2.0...v12.0.0) - 2025-09-01 - -### Merged - -- Generated SDK #7741 [`#141`](https://github.com/fireblocks/ts-sdk/pull/141) - -## [v11.2.0](https://github.com/fireblocks/ts-sdk/compare/v11.1.0...v11.2.0) - 2025-08-18 - -### Merged - -- Generated SDK #3302 [`#140`](https://github.com/fireblocks/ts-sdk/pull/140) - -## [v11.1.0](https://github.com/fireblocks/ts-sdk/compare/v11.0.0...v11.1.0) - 2025-08-11 - -### Merged - -- Generated SDK #1782 [`#139`](https://github.com/fireblocks/ts-sdk/pull/139) - -## [v11.0.0](https://github.com/fireblocks/ts-sdk/compare/v10.4.0...v11.0.0) - 2025-07-15 - -### Merged - -- Generated SDK #5610 [`#136`](https://github.com/fireblocks/ts-sdk/pull/136) - -## [v10.4.0](https://github.com/fireblocks/ts-sdk/compare/v10.3.0...v10.4.0) - 2025-06-29 - -### Merged - -- Generated SDK #1492 [`#135`](https://github.com/fireblocks/ts-sdk/pull/135) - -## [v10.3.0](https://github.com/fireblocks/ts-sdk/compare/v10.2.0...v10.3.0) - 2025-06-18 - -### Merged - -- Generated SDK #4009 [`#134`](https://github.com/fireblocks/ts-sdk/pull/134) - -## [v10.2.0](https://github.com/fireblocks/ts-sdk/compare/v10.1.1...v10.2.0) - 2025-06-04 - -### Merged - -- Generated SDK #8912 [`#133`](https://github.com/fireblocks/ts-sdk/pull/133) - -## [v10.1.1](https://github.com/fireblocks/ts-sdk/compare/v10.1.0...v10.1.1) - 2025-05-18 - -### Merged - -- Generated SDK #5019 [`#132`](https://github.com/fireblocks/ts-sdk/pull/132) - -## [v10.1.0](https://github.com/fireblocks/ts-sdk/compare/v10.0.2...v10.1.0) - 2025-05-07 - -### Merged - -- Generated SDK #7076 [`#130`](https://github.com/fireblocks/ts-sdk/pull/130) - -## [v10.0.2](https://github.com/fireblocks/ts-sdk/compare/v10.0.1...v10.0.2) - 2025-04-20 - -### Merged - -- Generated SDK #4794 [`#128`](https://github.com/fireblocks/ts-sdk/pull/128) - -## [v10.0.1](https://github.com/fireblocks/ts-sdk/compare/v10.0.0...v10.0.1) - 2025-04-07 - -### Merged - -- Generated SDK #3065 [`#126`](https://github.com/fireblocks/ts-sdk/pull/126) - -## [v10.0.0](https://github.com/fireblocks/ts-sdk/compare/v9.0.0...v10.0.0) - 2025-03-27 - -### Merged - -- Generated SDK #619 [`#124`](https://github.com/fireblocks/ts-sdk/pull/124) - -## [v9.0.0](https://github.com/fireblocks/ts-sdk/compare/v8.1.0...v9.0.0) - 2025-03-17 - -### Merged - -- Generated SDK #645 [`#123`](https://github.com/fireblocks/ts-sdk/pull/123) - -## [v8.1.0](https://github.com/fireblocks/ts-sdk/compare/v8.0.1...v8.1.0) - 2025-02-24 - -### Merged - -- Generated SDK #9833 [`#120`](https://github.com/fireblocks/ts-sdk/pull/120) - -## [v8.0.1](https://github.com/fireblocks/ts-sdk/compare/v8.0.0...v8.0.1) - 2025-02-12 - -### Merged - -- Generated SDK #4262 [`#119`](https://github.com/fireblocks/ts-sdk/pull/119) - -## [v8.0.0](https://github.com/fireblocks/ts-sdk/compare/v7.0.0...v8.0.0) - 2025-02-02 - -### Merged - -- Generated SDK #538 [`#118`](https://github.com/fireblocks/ts-sdk/pull/118) - -## [v7.0.0](https://github.com/fireblocks/ts-sdk/compare/v6.0.0...v7.0.0) - 2025-01-08 - -### Merged - -- Generated SDK #8699 [`#116`](https://github.com/fireblocks/ts-sdk/pull/116) - -## [v6.0.0](https://github.com/fireblocks/ts-sdk/compare/v5.0.0...v6.0.0) - 2024-12-05 - -### Merged - -- Generated SDK #1430 [`#111`](https://github.com/fireblocks/ts-sdk/pull/111) - -## [v5.0.0](https://github.com/fireblocks/ts-sdk/compare/v4.0.0...v5.0.0) - 2024-10-31 - -### Merged - -- Generated SDK #5184 [`#109`](https://github.com/fireblocks/ts-sdk/pull/109) - -## [v4.0.0](https://github.com/fireblocks/ts-sdk/compare/v3.1.0...v4.0.0) - 2024-09-17 - -### Merged - -- Generated SDK #237 [`#107`](https://github.com/fireblocks/ts-sdk/pull/107) - -## [v3.1.0](https://github.com/fireblocks/ts-sdk/compare/v3.0.0...v3.1.0) - 2024-07-25 - -### Merged - -- Generated SDK #6749 [`#102`](https://github.com/fireblocks/ts-sdk/pull/102) - -## [v3.0.0](https://github.com/fireblocks/ts-sdk/compare/v2.1.0...v3.0.0) - 2024-07-17 - -### Merged - -- Generated SDK #6152 [`#90`](https://github.com/fireblocks/ts-sdk/pull/90) -- Generated SDK #2589 [`#86`](https://github.com/fireblocks/ts-sdk/pull/86) -- Generated SDK #7882 [`#85`](https://github.com/fireblocks/ts-sdk/pull/85) -- Generated SDK #8418 [`#84`](https://github.com/fireblocks/ts-sdk/pull/84) -- Generated SDK #3524 [`#83`](https://github.com/fireblocks/ts-sdk/pull/83) -- Generated SDK #7984 [`#82`](https://github.com/fireblocks/ts-sdk/pull/82) -- Generated SDK #2873 [`#81`](https://github.com/fireblocks/ts-sdk/pull/81) - -## [v2.1.0](https://github.com/fireblocks/ts-sdk/compare/v2.0.0...v2.1.0) - 2024-06-04 - -### Merged - -- Generated SDK for version COR-46191/fix_pipelines [`#44`](https://github.com/fireblocks/ts-sdk/pull/44) - -## [v2.0.0](https://github.com/fireblocks/ts-sdk/compare/v1.1.0...v2.0.0) - 2024-05-08 - -### Merged - -- feat: add tokenization api [`#35`](https://github.com/fireblocks/ts-sdk/pull/35) - -## [v1.1.0](https://github.com/fireblocks/ts-sdk/compare/v1.0.1...v1.1.0) - 2024-04-17 - -### Merged - -- feat: adding consigners beta api [`#34`](https://github.com/fireblocks/ts-sdk/pull/34) -- fix: modify error message when secretKey missing and fix readme doc [`#33`](https://github.com/fireblocks/ts-sdk/pull/33) - -## [v1.0.1](https://github.com/fireblocks/ts-sdk/compare/v1.0.0...v1.0.1) - 2024-04-07 - -### Merged - -- Generated SDK for version v1.0.1 [`#32`](https://github.com/fireblocks/ts-sdk/pull/32) - -## v1.0.0 - 2024-04-07 - -### Merged - -- Generated SDK for version v1.0.0 GA [`#31`](https://github.com/fireblocks/ts-sdk/pull/31) -- add_license [`#30`](https://github.com/fireblocks/ts-sdk/pull/30) -- version_3_0_6_beta [`#29`](https://github.com/fireblocks/ts-sdk/pull/29) -- version_3_0_5_beta [`#27`](https://github.com/fireblocks/ts-sdk/pull/27) -- Version 3.0.4-beta [`#26`](https://github.com/fireblocks/ts-sdk/pull/26) -- Fireblocks api spec/generated/9818 [`#25`](https://github.com/fireblocks/ts-sdk/pull/25) -- Generated SDK for version 9817 [`#24`](https://github.com/fireblocks/ts-sdk/pull/24) -- Generated SDK for version master [`#23`](https://github.com/fireblocks/ts-sdk/pull/23) -- Added Idempotency & NCW headers support [`#22`](https://github.com/fireblocks/ts-sdk/pull/22) -- API SDK Improvments [`#21`](https://github.com/fireblocks/ts-sdk/pull/21) -- Update README.md [`#18`](https://github.com/fireblocks/ts-sdk/pull/18) -- Update README.md [`#17`](https://github.com/fireblocks/ts-sdk/pull/17) diff --git a/README.md b/README.md index 533c93a0..6cc70b68 100644 --- a/README.md +++ b/README.md @@ -203,6 +203,7 @@ Class | Method | HTTP request | Description *ConnectedAccountsBetaApi* | [**syncConnectedAccountAllowlist**](docs/apis/ConnectedAccountsBetaApi.md#syncConnectedAccountAllowlist) | **POST** /connected_accounts/{accountId}/allowlist/sync | Sync allowlist for connected account *ConsoleUserApi* | [**createConsoleUser**](docs/apis/ConsoleUserApi.md#createConsoleUser) | **POST** /management/users | Create console user *ConsoleUserApi* | [**getConsoleUsers**](docs/apis/ConsoleUserApi.md#getConsoleUsers) | **GET** /management/users | Get console users +*ContactsApi* | [**getContacts**](docs/apis/ContactsApi.md#getContacts) | **GET** /contacts | List contacts *ContractInteractionsApi* | [**decodeContractData**](docs/apis/ContractInteractionsApi.md#decodeContractData) | **POST** /contract_interactions/base_asset_id/{baseAssetId}/contract_address/{contractAddress}/decode | Decode a function call data, error, or event log *ContractInteractionsApi* | [**getContractAddress**](docs/apis/ContractInteractionsApi.md#getContractAddress) | **GET** /contract_interactions/base_asset_id/{baseAssetId}/tx_hash/{txHash} | Get contract address by transaction hash *ContractInteractionsApi* | [**getDeployedContractAbi**](docs/apis/ContractInteractionsApi.md#getDeployedContractAbi) | **GET** /contract_interactions/base_asset_id/{baseAssetId}/contract_address/{contractAddress}/functions | Return deployed contract\'s ABI @@ -813,6 +814,11 @@ Class | Method | HTTP request | Description - [ConnectedSingleAccountResponse](docs/models/ConnectedSingleAccountResponse.md) - [ConsoleUser](docs/models/ConsoleUser.md) - [ConsoleUsers](docs/models/ConsoleUsers.md) + - [Contact](docs/models/Contact.md) + - [ContactApprovalRequest](docs/models/ContactApprovalRequest.md) + - [ContactTag](docs/models/ContactTag.md) + - [ContactTagAttachmentPending](docs/models/ContactTagAttachmentPending.md) + - [ContactsPagedResponse](docs/models/ContactsPagedResponse.md) - [ContractAbiResponseDto](docs/models/ContractAbiResponseDto.md) - [ContractAbiResponseDtoAbiInner](docs/models/ContractAbiResponseDtoAbiInner.md) - [ContractAddressResponse](docs/models/ContractAddressResponse.md) diff --git a/api.ts b/api.ts index 7a522189..d202a941 100644 --- a/api.ts +++ b/api.ts @@ -22,6 +22,7 @@ export * from './api/compliance-api'; export * from './api/compliance-screening-configuration-api'; export * from './api/connected-accounts-beta-api'; export * from './api/console-user-api'; +export * from './api/contacts-api'; export * from './api/contract-interactions-api'; export * from './api/contract-templates-api'; export * from './api/contracts-api'; diff --git a/api/contacts-api.ts b/api/contacts-api.ts new file mode 100644 index 00000000..6eea87fa --- /dev/null +++ b/api/contacts-api.ts @@ -0,0 +1,328 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * 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 + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import type { Configuration } from '../configuration'; +import type { AxiosPromise, AxiosInstance, RawAxiosRequestConfig } from 'axios'; +import globalAxios from 'axios'; +import { convertToFireblocksResponse } from "../response/fireblocksResponse"; +// URLSearchParams not necessarily used +// @ts-ignore +import { URL, URLSearchParams } from 'url'; +// Some imports not used depending on template conditions +// @ts-ignore +import { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setOAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction } from '../common'; +import { assertParamExistsAndNotEmpty } from '../utils/validation_utils'; +// @ts-ignore +import { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError, operationServerMap } from '../base'; +// @ts-ignore +import { ContactsPagedResponse } from '../models'; +// @ts-ignore +import { ErrorSchema } from '../models'; +/** + * ContactsApi - axios parameter creator + * @export + */ +export const ContactsApiAxiosParamCreator = function (configuration?: Configuration) { + return { + /** + * Returns a paginated list of the workspace\'s address book contacts. Live contacts are returned by default; pass `archived=true` to return only the archived ones. Results are sorted by `name` ascending unless `sortBy`/`order` say otherwise. Because the sort column is the page cursor\'s leading key, a `pageCursor` must be replayed with the same sort it was minted under, or the request is rejected. Endpoint Permissions: any workspace role may read the address book. Writes are role-gated. + * @summary List contacts + * @param {string} [pageCursor] Cursor indicating the page position. Omit to fetch the first page. + * @param {number} [pageSize] Number of results per page + * @param {boolean} [includeTotal] Return the total count of matching contacts alongside the page. Counting is opt-in because it costs an extra pass over the filtered set; `total` is omitted from the response unless this is `true`. + * @param {string} [name] Filter by a case-insensitive substring of the contact name + * @param {Array} [types] Filter by one or more contact types + * @param {string} [containerId] Filter by the container holding the contact + * @param {boolean} [archived] Return only archived contacts instead of live ones + * @param {GetContactsAccessControlEnum} [accessControl] Filter by the access control applied to the contact + * @param {Array} [includeTagIds] List of tag IDs to include. Contacts with any of these tags will be included + * @param {Array} [excludeTagIds] List of tag IDs to exclude. Contacts with any of these tags will be filtered out + * @param {GetContactsSortByEnum} [sortBy] The field to sort by + * @param {GetContactsOrderEnum} [order] The sort direction + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + getContacts: async (pageCursor?: string, pageSize?: number, includeTotal?: boolean, name?: string, types?: Array, containerId?: string, archived?: boolean, accessControl?: GetContactsAccessControlEnum, includeTagIds?: Array, excludeTagIds?: Array, sortBy?: GetContactsSortByEnum, order?: GetContactsOrderEnum, options: RawAxiosRequestConfig = {}): Promise => { + const localVarPath = `/contacts`; + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + if (pageCursor !== undefined) { + localVarQueryParameter['pageCursor'] = pageCursor; + } + + if (pageSize !== undefined) { + localVarQueryParameter['pageSize'] = pageSize; + } + + if (includeTotal !== undefined) { + localVarQueryParameter['includeTotal'] = includeTotal; + } + + if (name !== undefined) { + localVarQueryParameter['name'] = name; + } + + if (types) { + localVarQueryParameter['types'] = types; + } + + if (containerId !== undefined) { + localVarQueryParameter['containerId'] = containerId; + } + + if (archived !== undefined) { + localVarQueryParameter['archived'] = archived; + } + + if (accessControl !== undefined) { + localVarQueryParameter['accessControl'] = accessControl; + } + + if (includeTagIds) { + localVarQueryParameter['includeTagIds'] = includeTagIds; + } + + if (excludeTagIds) { + localVarQueryParameter['excludeTagIds'] = excludeTagIds; + } + + if (sortBy !== undefined) { + localVarQueryParameter['sortBy'] = sortBy; + } + + if (order !== undefined) { + localVarQueryParameter['order'] = order; + } + + + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + } +}; + +/** + * ContactsApi - functional programming interface + * @export + */ +export const ContactsApiFp = function(configuration?: Configuration) { + const localVarAxiosParamCreator = ContactsApiAxiosParamCreator(configuration) + return { + /** + * Returns a paginated list of the workspace\'s address book contacts. Live contacts are returned by default; pass `archived=true` to return only the archived ones. Results are sorted by `name` ascending unless `sortBy`/`order` say otherwise. Because the sort column is the page cursor\'s leading key, a `pageCursor` must be replayed with the same sort it was minted under, or the request is rejected. Endpoint Permissions: any workspace role may read the address book. Writes are role-gated. + * @summary List contacts + * @param {string} [pageCursor] Cursor indicating the page position. Omit to fetch the first page. + * @param {number} [pageSize] Number of results per page + * @param {boolean} [includeTotal] Return the total count of matching contacts alongside the page. Counting is opt-in because it costs an extra pass over the filtered set; `total` is omitted from the response unless this is `true`. + * @param {string} [name] Filter by a case-insensitive substring of the contact name + * @param {Array} [types] Filter by one or more contact types + * @param {string} [containerId] Filter by the container holding the contact + * @param {boolean} [archived] Return only archived contacts instead of live ones + * @param {GetContactsAccessControlEnum} [accessControl] Filter by the access control applied to the contact + * @param {Array} [includeTagIds] List of tag IDs to include. Contacts with any of these tags will be included + * @param {Array} [excludeTagIds] List of tag IDs to exclude. Contacts with any of these tags will be filtered out + * @param {GetContactsSortByEnum} [sortBy] The field to sort by + * @param {GetContactsOrderEnum} [order] The sort direction + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async getContacts(pageCursor?: string, pageSize?: number, includeTotal?: boolean, name?: string, types?: Array, containerId?: string, archived?: boolean, accessControl?: GetContactsAccessControlEnum, includeTagIds?: Array, excludeTagIds?: Array, sortBy?: GetContactsSortByEnum, order?: GetContactsOrderEnum, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.getContacts(pageCursor, pageSize, includeTotal, name, types, containerId, archived, accessControl, includeTagIds, excludeTagIds, sortBy, order, options); + const index = configuration?.serverIndex ?? 0; + const operationBasePath = operationServerMap['ContactsApi.getContacts']?.[index]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath); + }, + } +}; + +/** + * ContactsApi - factory interface + * @export + */ +export const ContactsApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { + const localVarFp = ContactsApiFp(configuration) + return { + /** + * Returns a paginated list of the workspace\'s address book contacts. Live contacts are returned by default; pass `archived=true` to return only the archived ones. Results are sorted by `name` ascending unless `sortBy`/`order` say otherwise. Because the sort column is the page cursor\'s leading key, a `pageCursor` must be replayed with the same sort it was minted under, or the request is rejected. Endpoint Permissions: any workspace role may read the address book. Writes are role-gated. + * @summary List contacts + * @param {ContactsApiGetContactsRequest} requestParameters Request parameters. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + getContacts(requestParameters: ContactsApiGetContactsRequest = {}, options?: RawAxiosRequestConfig): AxiosPromise { + return localVarFp.getContacts(requestParameters.pageCursor, requestParameters.pageSize, requestParameters.includeTotal, requestParameters.name, requestParameters.types, requestParameters.containerId, requestParameters.archived, requestParameters.accessControl, requestParameters.includeTagIds, requestParameters.excludeTagIds, requestParameters.sortBy, requestParameters.order, options).then((request) => request(axios, basePath)); + }, + }; +}; + +/** + * Request parameters for getContacts operation in ContactsApi. + * @export + * @interface ContactsApiGetContactsRequest + */ +export interface ContactsApiGetContactsRequest { + /** + * Cursor indicating the page position. Omit to fetch the first page. + * @type {string} + * @memberof ContactsApiGetContacts + */ + readonly pageCursor?: string + + /** + * Number of results per page + * @type {number} + * @memberof ContactsApiGetContacts + */ + readonly pageSize?: number + + /** + * Return the total count of matching contacts alongside the page. Counting is opt-in because it costs an extra pass over the filtered set; `total` is omitted from the response unless this is `true`. + * @type {boolean} + * @memberof ContactsApiGetContacts + */ + readonly includeTotal?: boolean + + /** + * Filter by a case-insensitive substring of the contact name + * @type {string} + * @memberof ContactsApiGetContacts + */ + readonly name?: string + + /** + * Filter by one or more contact types + * @type {Array<'COUNTERPARTY' | 'OWN_ACCOUNT'>} + * @memberof ContactsApiGetContacts + */ + readonly types?: Array + + /** + * Filter by the container holding the contact + * @type {string} + * @memberof ContactsApiGetContacts + */ + readonly containerId?: string + + /** + * Return only archived contacts instead of live ones + * @type {boolean} + * @memberof ContactsApiGetContacts + */ + readonly archived?: boolean + + /** + * Filter by the access control applied to the contact + * @type {'WHITELIST' | 'BLACKLIST'} + * @memberof ContactsApiGetContacts + */ + readonly accessControl?: GetContactsAccessControlEnum + + /** + * List of tag IDs to include. Contacts with any of these tags will be included + * @type {Array} + * @memberof ContactsApiGetContacts + */ + readonly includeTagIds?: Array + + /** + * List of tag IDs to exclude. Contacts with any of these tags will be filtered out + * @type {Array} + * @memberof ContactsApiGetContacts + */ + readonly excludeTagIds?: Array + + /** + * The field to sort by + * @type {'name' | 'updatedAt'} + * @memberof ContactsApiGetContacts + */ + readonly sortBy?: GetContactsSortByEnum + + /** + * The sort direction + * @type {'ASC' | 'DESC'} + * @memberof ContactsApiGetContacts + */ + readonly order?: GetContactsOrderEnum +} + +/** + * ContactsApi - object-oriented interface + * @export + * @class ContactsApi + * @extends {BaseAPI} + */ +export class ContactsApi extends BaseAPI { + /** + * Returns a paginated list of the workspace\'s address book contacts. Live contacts are returned by default; pass `archived=true` to return only the archived ones. Results are sorted by `name` ascending unless `sortBy`/`order` say otherwise. Because the sort column is the page cursor\'s leading key, a `pageCursor` must be replayed with the same sort it was minted under, or the request is rejected. Endpoint Permissions: any workspace role may read the address book. Writes are role-gated. + * @summary List contacts + * @param {ContactsApiGetContactsRequest} requestParameters Request parameters. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ContactsApi + */ + public getContacts(requestParameters: ContactsApiGetContactsRequest = {}) { + return ContactsApiFp(this.configuration).getContacts(requestParameters.pageCursor, requestParameters.pageSize, requestParameters.includeTotal, requestParameters.name, requestParameters.types, requestParameters.containerId, requestParameters.archived, requestParameters.accessControl, requestParameters.includeTagIds, requestParameters.excludeTagIds, requestParameters.sortBy, requestParameters.order).then((request) => request(this.axios, this.basePath)).then(convertToFireblocksResponse); + } +} + +/** + * @export + */ +export const GetContactsTypesEnum = { + Counterparty: 'COUNTERPARTY', + OwnAccount: 'OWN_ACCOUNT' +} as const; +export type GetContactsTypesEnum = typeof GetContactsTypesEnum[keyof typeof GetContactsTypesEnum]; +/** + * @export + */ +export const GetContactsAccessControlEnum = { + Whitelist: 'WHITELIST', + Blacklist: 'BLACKLIST' +} as const; +export type GetContactsAccessControlEnum = typeof GetContactsAccessControlEnum[keyof typeof GetContactsAccessControlEnum]; +/** + * @export + */ +export const GetContactsSortByEnum = { + Name: 'name', + UpdatedAt: 'updatedAt' +} as const; +export type GetContactsSortByEnum = typeof GetContactsSortByEnum[keyof typeof GetContactsSortByEnum]; +/** + * @export + */ +export const GetContactsOrderEnum = { + Asc: 'ASC', + Desc: 'DESC' +} as const; +export type GetContactsOrderEnum = typeof GetContactsOrderEnum[keyof typeof GetContactsOrderEnum]; diff --git a/client/client.ts b/client/client.ts index 35badcfb..697788fa 100644 --- a/client/client.ts +++ b/client/client.ts @@ -20,6 +20,7 @@ import { ApiUserApi, ComplianceScreeningConfigurationApi, ConnectedAccountsBetaApi, ConsoleUserApi, + ContactsApi, ContractInteractionsApi, ContractTemplatesApi, ContractsApi, @@ -80,6 +81,7 @@ export class Fireblocks { private _complianceScreeningConfiguration?: ComplianceScreeningConfigurationApi; private _connectedAccountsBeta?: ConnectedAccountsBetaApi; private _consoleUser?: ConsoleUserApi; + private _contacts?: ContactsApi; private _contractInteractions?: ContractInteractionsApi; private _contractTemplates?: ContractTemplatesApi; private _contracts?: ContractsApi; @@ -170,6 +172,9 @@ export class Fireblocks { get consoleUser(): ConsoleUserApi { return this._consoleUser ?? new ConsoleUserApi(this.config, undefined, this.axiosManager.axios); } + get contacts(): ContactsApi { + return this._contacts ?? new ContactsApi(this.config, undefined, this.axiosManager.axios); + } get contractInteractions(): ContractInteractionsApi { return this._contractInteractions ?? new ContractInteractionsApi(this.config, undefined, this.axiosManager.axios); } diff --git a/docs/apis/ContactsApi.md b/docs/apis/ContactsApi.md new file mode 100644 index 00000000..e6425027 --- /dev/null +++ b/docs/apis/ContactsApi.md @@ -0,0 +1,103 @@ +# ContactsApi + +All URIs are relative to https://developers.fireblocks.com/reference/ + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**getContacts**](#getContacts) | **GET** /contacts | List contacts + + +# **getContacts** +> ContactsPagedResponse getContacts() + +Returns a paginated list of the workspace\'s address book contacts. Live contacts are returned by default; pass `archived=true` to return only the archived ones. Results are sorted by `name` ascending unless `sortBy`/`order` say otherwise. Because the sort column is the page cursor\'s leading key, a `pageCursor` must be replayed with the same sort it was minted under, or the request is rejected. Endpoint Permissions: any workspace role may read the address book. Writes are role-gated. + +### Example + + +```typescript +import { readFileSync } from 'fs'; +import { Fireblocks, BasePath } from '@fireblocks/ts-sdk'; +import type { FireblocksResponse, ContactsApiGetContactsRequest, ContactsPagedResponse } from '@fireblocks/ts-sdk'; + +// Set the environment variables for authentication +process.env.FIREBLOCKS_BASE_PATH = BasePath.Sandbox; // or assign directly to "https://sandbox-api.fireblocks.io/v1" +process.env.FIREBLOCKS_API_KEY = "my-api-key"; +process.env.FIREBLOCKS_SECRET_KEY = readFileSync("./fireblocks_secret.key", "utf8"); + +const fireblocks = new Fireblocks(); + +let body: ContactsApiGetContactsRequest = { + // string | Cursor indicating the page position. Omit to fetch the first page. (optional) + pageCursor: bmFtZS1BU0M=~QWNtZSBDb3Jw:NA==, + // number | Number of results per page (optional) + pageSize: 25, + // boolean | Return the total count of matching contacts alongside the page. Counting is opt-in because it costs an extra pass over the filtered set; `total` is omitted from the response unless this is `true`. (optional) + includeTotal: true, + // string | Filter by a case-insensitive substring of the contact name (optional) + name: acme, + // Array<'COUNTERPARTY' | 'OWN_ACCOUNT'> | Filter by one or more contact types (optional) + types: ["COUNTERPARTY"], + // string | Filter by the container holding the contact (optional) + containerId: 11111111-1111-1111-1111-111111111111, + // boolean | Return only archived contacts instead of live ones (optional) + archived: false, + // 'WHITELIST' | 'BLACKLIST' | Filter by the access control applied to the contact (optional) + accessControl: WHITELIST, + // Array | List of tag IDs to include. Contacts with any of these tags will be included (optional) + includeTagIds: ["df4c0987-30da-4976-8dcf-bc2dd41ae331"], + // Array | List of tag IDs to exclude. Contacts with any of these tags will be filtered out (optional) + excludeTagIds: ["df4c0987-30da-4976-8dcf-bc2dd41ae331"], + // 'name' | 'updatedAt' | The field to sort by (optional) + sortBy: updatedAt, + // 'ASC' | 'DESC' | The sort direction (optional) + order: DESC, +}; + +fireblocks.contacts.getContacts(body).then((res: FireblocksResponse) => { + console.log('API called successfully. Returned data: ' + JSON.stringify(res, null, 2)); +}).catch((error:any) => console.error(error)); +``` + + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **pageCursor** | [**string**] | Cursor indicating the page position. Omit to fetch the first page. | (optional) defaults to undefined + **pageSize** | [**number**] | Number of results per page | (optional) defaults to 100 + **includeTotal** | [**boolean**] | Return the total count of matching contacts alongside the page. Counting is opt-in because it costs an extra pass over the filtered set; `total` is omitted from the response unless this is `true`. | (optional) defaults to false + **name** | [**string**] | Filter by a case-insensitive substring of the contact name | (optional) defaults to undefined + **types** | **Array<'COUNTERPARTY' | 'OWN_ACCOUNT'>** | Filter by one or more contact types | (optional) defaults to undefined + **containerId** | [**string**] | Filter by the container holding the contact | (optional) defaults to undefined + **archived** | [**boolean**] | Return only archived contacts instead of live ones | (optional) defaults to false + **accessControl** | [**'WHITELIST' | 'BLACKLIST'**]**Array<'WHITELIST' | 'BLACKLIST'>** | Filter by the access control applied to the contact | (optional) defaults to undefined + **includeTagIds** | **Array<string>** | List of tag IDs to include. Contacts with any of these tags will be included | (optional) defaults to undefined + **excludeTagIds** | **Array<string>** | List of tag IDs to exclude. Contacts with any of these tags will be filtered out | (optional) defaults to undefined + **sortBy** | [**'name' | 'updatedAt'**]**Array<'name' | 'updatedAt'>** | The field to sort by | (optional) defaults to 'name' + **order** | [**'ASC' | 'DESC'**]**Array<'ASC' | 'DESC'>** | The sort direction | (optional) defaults to 'ASC' + + +### Return type + +**[ContactsPagedResponse](../models/ContactsPagedResponse.md)** + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A paginated list of contacts | * 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/models/Contact.md b/docs/models/Contact.md new file mode 100644 index 00000000..05747e39 --- /dev/null +++ b/docs/models/Contact.md @@ -0,0 +1,40 @@ +# Contact + +## Properties + +|Name | Type | Description | Notes| +|------------ | ------------- | ------------- | -------------| +|**id** | **string** | The unique identifier of the contact | [default to undefined]| +|**name** | **string** | The contact name, unique across the workspace | [default to undefined]| +|**type** | **string** | Whether the contact is an external party or an account the workspace owns elsewhere | [default to undefined]| +|**updatedAt** | **string** | The date and time the contact was last modified, in ISO-8601 | [default to undefined]| +|**tags** | [**Array<ContactTag>**](ContactTag.md) | The tags attached to the contact | [default to undefined]| +|**pendingApprovalRequest** | [**ContactApprovalRequest**](ContactApprovalRequest.md) | | [default to undefined]| +|**accessControl** | **string** | The access control applied to the contact. Absent when none is set. | [optional] [default to undefined]| +|**notes** | **string** | Free-text notes on the contact. Absent when none are set. | [optional] [default to undefined]| +|**externalRefId** | **string** | A customer-supplied reference id for the contact. Absent when none is set. | [optional] [default to undefined]| +|**containerId** | **string** | The container holding the contact. Absent when the contact sits at the root. | [optional] [default to undefined]| +|**archivedAt** | **string** | The date and time the contact was archived, in ISO-8601. Absent for live contacts, so this only carries a value when the request passed archived=true. | [optional] [default to undefined]| + + +## Enum: ContactTypeEnum + + +* `Counterparty` (value: `'COUNTERPARTY'`) + +* `OwnAccount` (value: `'OWN_ACCOUNT'`) + + + +## Enum: ContactAccessControlEnum + + +* `Whitelist` (value: `'WHITELIST'`) + +* `Blacklist` (value: `'BLACKLIST'`) + + + + + +[[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/models/ContactApprovalRequest.md b/docs/models/ContactApprovalRequest.md new file mode 100644 index 00000000..5a8075b5 --- /dev/null +++ b/docs/models/ContactApprovalRequest.md @@ -0,0 +1,13 @@ +# ContactApprovalRequest + +## Properties + +|Name | Type | Description | Notes| +|------------ | ------------- | ------------- | -------------| +|**id** | **string** | The approval request identifier | [default to undefined]| +|**type** | **string** | The operation awaiting approval. Deliberately not an enumeration: the set is open across the surfaces that carry one, and includes contact operations such as CREATE_CONTACT and DELETE_CONTACT as well as changes to a tag itself. | [default to undefined]| + + + + +[[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/models/ContactTag.md b/docs/models/ContactTag.md new file mode 100644 index 00000000..ea2c444c --- /dev/null +++ b/docs/models/ContactTag.md @@ -0,0 +1,18 @@ +# ContactTag + +## Properties + +|Name | Type | Description | Notes| +|------------ | ------------- | ------------- | -------------| +|**id** | **string** | The unique identifier of the tag | [default to undefined]| +|**label** | **string** | The tag label | [default to undefined]| +|**isProtected** | **boolean** | Whether the tag is protected, meaning changes to it and to its attachments are approval-gated. | [default to undefined]| +|**pendingApprovalRequest** | [**ContactApprovalRequest**](ContactApprovalRequest.md) | | [default to undefined]| +|**pendingAttachment** | [**ContactTagAttachmentPending**](ContactTagAttachmentPending.md) | | [default to undefined]| +|**color** | **string** | The tag color in hex format. Absent when the tag has none. | [optional] [default to undefined]| +|**description** | **string** | Description for the tag. Absent when the tag has none. | [optional] [default to undefined]| + + + + +[[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/models/ContactTagAttachmentPending.md b/docs/models/ContactTagAttachmentPending.md new file mode 100644 index 00000000..2abc5fbe --- /dev/null +++ b/docs/models/ContactTagAttachmentPending.md @@ -0,0 +1,22 @@ +# ContactTagAttachmentPending + +## Properties + +|Name | Type | Description | Notes| +|------------ | ------------- | ------------- | -------------| +|**action** | **string** | The operation awaiting approval. ATTACH means the tag is not yet attached; DETACH means it is still attached, pending removal. | [default to undefined]| +|**approvalRequestId** | **string** | The identifier of the approval request gating the operation | [optional] [default to undefined]| + + +## Enum: ContactTagAttachmentPendingActionEnum + + +* `Attach` (value: `'ATTACH'`) + +* `Detach` (value: `'DETACH'`) + + + + + +[[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/models/ContactsPagedResponse.md b/docs/models/ContactsPagedResponse.md new file mode 100644 index 00000000..054d1a93 --- /dev/null +++ b/docs/models/ContactsPagedResponse.md @@ -0,0 +1,14 @@ +# ContactsPagedResponse + +## Properties + +|Name | Type | Description | Notes| +|------------ | ------------- | ------------- | -------------| +|**data** | [**Array<Contact>**](Contact.md) | The page of contacts | [default to undefined]| +|**next** | **string** | Cursor to the next page; absent when the current page is the last. Opaque, and bound to the sort that minted it — replay it unchanged and keep sortBy/order steady across pages. | [optional] [default to undefined]| +|**total** | **number** | The number of contacts matching the filters, ignoring pagination. Present only when the request passed `includeTotal=true`; the key is absent otherwise. | [optional] [default to undefined]| + + + + +[[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/models/FailureReason.md b/docs/models/FailureReason.md index e13cea97..8810411e 100644 --- a/docs/models/FailureReason.md +++ b/docs/models/FailureReason.md @@ -47,6 +47,8 @@ * `AmountBelowMinimum` (value: `'AMOUNT_BELOW_MINIMUM'`) +* `AmountAboveMaximum` (value: `'AMOUNT_ABOVE_MAXIMUM'`) + * `PiiMissing` (value: `'PII_MISSING'`) * `ExternalSourceNotSupported` (value: `'EXTERNAL_SOURCE_NOT_SUPPORTED'`) diff --git a/docs/models/ScreeningTRLinkMissingTrmDecision.md b/docs/models/ScreeningTRLinkMissingTrmDecision.md index 9eefb363..defa42c2 100644 --- a/docs/models/ScreeningTRLinkMissingTrmDecision.md +++ b/docs/models/ScreeningTRLinkMissingTrmDecision.md @@ -23,8 +23,8 @@ |**operation** | [**TransactionOperationEnum**](TransactionOperationEnum.md) | | [optional] [default to undefined]| |**description** | **string** | Rule description | [optional] [default to undefined]| |**isDefault** | **boolean** | Whether this is a default rule | [optional] [default to false]| -|**validBefore** | **number** | Unix timestamp when rule expires | [optional] [default to undefined]| -|**validAfter** | **number** | Unix timestamp when rule becomes valid | [optional] [default to undefined]| +|**validBefore** | **number** | Rule expires once this many seconds have elapsed since the wait/screening step started | [optional] [default to undefined]| +|**validAfter** | **number** | Rule applies only after this many seconds have elapsed since the wait/screening step started | [optional] [default to undefined]| |**timestamp** | **string** | Timestamp of the decision | [optional] [default to undefined]| |**reason** | **string** | Reason for the decision | [optional] [default to undefined]| diff --git a/docs/models/ScreeningTRLinkMissingTrmRule.md b/docs/models/ScreeningTRLinkMissingTrmRule.md index 9513932a..aee25554 100644 --- a/docs/models/ScreeningTRLinkMissingTrmRule.md +++ b/docs/models/ScreeningTRLinkMissingTrmRule.md @@ -22,8 +22,8 @@ |**operation** | [**TransactionOperationEnum**](TransactionOperationEnum.md) | | [optional] [default to undefined]| |**description** | **string** | Rule description | [optional] [default to undefined]| |**isDefault** | **boolean** | Whether this is a default rule | [optional] [default to false]| -|**validBefore** | **number** | Unix timestamp when rule expires | [optional] [default to undefined]| -|**validAfter** | **number** | Unix timestamp when rule becomes valid | [optional] [default to undefined]| +|**validBefore** | **number** | Rule expires once this many seconds have elapsed since the wait/screening step started | [optional] [default to undefined]| +|**validAfter** | **number** | Rule applies only after this many seconds have elapsed since the wait/screening step started | [optional] [default to undefined]| diff --git a/docs/models/ScreeningTRLinkPostScreeningRule.md b/docs/models/ScreeningTRLinkPostScreeningRule.md index 075ca997..a19ab1a2 100644 --- a/docs/models/ScreeningTRLinkPostScreeningRule.md +++ b/docs/models/ScreeningTRLinkPostScreeningRule.md @@ -24,8 +24,8 @@ |**isDefault** | **boolean** | Whether this is a default rule | [optional] [default to false]| |**providerIdent** | **string** | Provider identifier | [optional] [default to undefined]| |**trmStatus** | [**TRLinkTrmScreeningStatusEnum**](TRLinkTrmScreeningStatusEnum.md) | | [optional] [default to undefined]| -|**validBefore** | **number** | Unix timestamp when rule expires | [optional] [default to undefined]| -|**validAfter** | **number** | Unix timestamp when rule becomes valid | [optional] [default to undefined]| +|**validBefore** | **number** | Rule expires once this many seconds have elapsed since the wait/screening step started | [optional] [default to undefined]| +|**validAfter** | **number** | Rule applies only after this many seconds have elapsed since the wait/screening step started | [optional] [default to undefined]| diff --git a/docs/models/SecurityFinding.md b/docs/models/SecurityFinding.md index c967eaa5..41b3ae15 100644 --- a/docs/models/SecurityFinding.md +++ b/docs/models/SecurityFinding.md @@ -5,7 +5,6 @@ |Name | Type | Description | Notes| |------------ | ------------- | ------------- | -------------| |**id** | **string** | Unique identifier of the finding | [optional] [default to undefined]| -|**type** | **string** | The finding type identifier | [optional] [default to undefined]| |**status** | **string** | Current status of the finding | [optional] [default to undefined]| |**severity** | **string** | Severity level of the finding | [optional] [default to undefined]| |**category** | **string** | Category of the finding | [optional] [default to undefined]| @@ -13,55 +12,6 @@ |**title** | **string** | Human-readable title of the finding | [optional] [default to undefined]| -## Enum: SecurityFindingTypeEnum - - -* `ApiUserNotWhitelisted` (value: `'API_USER_NOT_WHITELISTED'`) - -* `ConsoleIpAllowlistDeactivated` (value: `'CONSOLE_IP_ALLOWLIST_DEACTIVATED'`) - -* `AdminThSetToAllAndMoreThan2Admins` (value: `'ADMIN_TH_SET_TO_ALL_AND_MORE_THAN_2_ADMINS'`) - -* `ApiUsersCountPassesThAndOwnerNotMandatory` (value: `'API_USERS_COUNT_PASSES_TH_AND_OWNER_NOT_MANDATORY'`) - -* `ApiCosignerWithNoCallback` (value: `'API_COSIGNER_WITH_NO_CALLBACK'`) - -* `ApiUserDidntApproveCcrInXDays` (value: `'API_USER_DIDNT_APPROVE_CCR_IN_X_DAYS'`) - -* `NonViewerDidntInitiateApproveOrSignTxOrCcrLastXDays` (value: `'NON_VIEWER_DIDNT_INITIATE_APPROVE_OR_SIGN_TX_OR_CCR_LAST_X_DAYS'`) - -* `ThSetTo1AndMoreThan3Approvers` (value: `'TH_SET_TO_1_AND_MORE_THAN_3_APPROVERS'`) - -* `AdminThSetTo1AndMoreThan3Admins` (value: `'ADMIN_TH_SET_TO_1_AND_MORE_THAN_3_ADMINS'`) - -* `NonEvmDappConnectionsEnabledButUnused` (value: `'NON_EVM_DAPP_CONNECTIONS_ENABLED_BUT_UNUSED'`) - -* `OtaEnabledButUnused` (value: `'OTA_ENABLED_BUT_UNUSED'`) - -* `PolicyNotUpdatedRecently` (value: `'POLICY_NOT_UPDATED_RECENTLY'`) - -* `RawSigningEnabledButUnused` (value: `'RAW_SIGNING_ENABLED_BUT_UNUSED'`) - -* `ApiUserUnusedFor90Days` (value: `'API_USER_UNUSED_FOR_90_DAYS'`) - -* `UnusedUnlimitedTokenAllowances` (value: `'UNUSED_UNLIMITED_TOKEN_ALLOWANCES'`) - -* `UnusedWhitelistedAddress` (value: `'UNUSED_WHITELISTED_ADDRESS'`) - -* `TransactionRepetitionAttack` (value: `'TRANSACTION_REPETITION_ATTACK'`) - -* `UserEmailDomainNonBusiness` (value: `'USER_EMAIL_DOMAIN_NON_BUSINESS'`) - -* `OutdatedMobileAppVersion` (value: `'OUTDATED_MOBILE_APP_VERSION'`) - -* `SingleHopDrainAttack` (value: `'SINGLE_HOP_DRAIN_ATTACK'`) - -* `LateralMovementDrainAttack` (value: `'LATERAL_MOVEMENT_DRAIN_ATTACK'`) - -* `WorkspaceUserDormantForXDays` (value: `'WORKSPACE_USER_DORMANT_FOR_X_DAYS'`) - - - ## Enum: SecurityFindingStatusEnum diff --git a/docs/models/SecurityFindingDetailed.md b/docs/models/SecurityFindingDetailed.md index 5eabafc0..9ef853ab 100644 --- a/docs/models/SecurityFindingDetailed.md +++ b/docs/models/SecurityFindingDetailed.md @@ -5,7 +5,6 @@ |Name | Type | Description | Notes| |------------ | ------------- | ------------- | -------------| |**id** | **string** | Unique identifier of the finding | [default to undefined]| -|**type** | **string** | The finding type identifier | [default to undefined]| |**status** | **string** | Current status of the finding | [default to undefined]| |**severity** | **string** | Severity level of the finding | [default to undefined]| |**category** | **string** | Category of the finding | [default to undefined]| @@ -20,55 +19,6 @@ |**statusUpdatedReason** | **string** | The reason provided for the last status update, omitted if none was provided | [optional] [default to undefined]| -## Enum: SecurityFindingDetailedTypeEnum - - -* `ApiUserNotWhitelisted` (value: `'API_USER_NOT_WHITELISTED'`) - -* `ConsoleIpAllowlistDeactivated` (value: `'CONSOLE_IP_ALLOWLIST_DEACTIVATED'`) - -* `AdminThSetToAllAndMoreThan2Admins` (value: `'ADMIN_TH_SET_TO_ALL_AND_MORE_THAN_2_ADMINS'`) - -* `ApiUsersCountPassesThAndOwnerNotMandatory` (value: `'API_USERS_COUNT_PASSES_TH_AND_OWNER_NOT_MANDATORY'`) - -* `ApiCosignerWithNoCallback` (value: `'API_COSIGNER_WITH_NO_CALLBACK'`) - -* `ApiUserDidntApproveCcrInXDays` (value: `'API_USER_DIDNT_APPROVE_CCR_IN_X_DAYS'`) - -* `NonViewerDidntInitiateApproveOrSignTxOrCcrLastXDays` (value: `'NON_VIEWER_DIDNT_INITIATE_APPROVE_OR_SIGN_TX_OR_CCR_LAST_X_DAYS'`) - -* `ThSetTo1AndMoreThan3Approvers` (value: `'TH_SET_TO_1_AND_MORE_THAN_3_APPROVERS'`) - -* `AdminThSetTo1AndMoreThan3Admins` (value: `'ADMIN_TH_SET_TO_1_AND_MORE_THAN_3_ADMINS'`) - -* `NonEvmDappConnectionsEnabledButUnused` (value: `'NON_EVM_DAPP_CONNECTIONS_ENABLED_BUT_UNUSED'`) - -* `OtaEnabledButUnused` (value: `'OTA_ENABLED_BUT_UNUSED'`) - -* `PolicyNotUpdatedRecently` (value: `'POLICY_NOT_UPDATED_RECENTLY'`) - -* `RawSigningEnabledButUnused` (value: `'RAW_SIGNING_ENABLED_BUT_UNUSED'`) - -* `ApiUserUnusedFor90Days` (value: `'API_USER_UNUSED_FOR_90_DAYS'`) - -* `UnusedUnlimitedTokenAllowances` (value: `'UNUSED_UNLIMITED_TOKEN_ALLOWANCES'`) - -* `UnusedWhitelistedAddress` (value: `'UNUSED_WHITELISTED_ADDRESS'`) - -* `TransactionRepetitionAttack` (value: `'TRANSACTION_REPETITION_ATTACK'`) - -* `UserEmailDomainNonBusiness` (value: `'USER_EMAIL_DOMAIN_NON_BUSINESS'`) - -* `OutdatedMobileAppVersion` (value: `'OUTDATED_MOBILE_APP_VERSION'`) - -* `SingleHopDrainAttack` (value: `'SINGLE_HOP_DRAIN_ATTACK'`) - -* `LateralMovementDrainAttack` (value: `'LATERAL_MOVEMENT_DRAIN_ATTACK'`) - -* `WorkspaceUserDormantForXDays` (value: `'WORKSPACE_USER_DORMANT_FOR_X_DAYS'`) - - - ## Enum: SecurityFindingDetailedStatusEnum diff --git a/docs/models/TRLinkMissingTrmDecision.md b/docs/models/TRLinkMissingTrmDecision.md index fcb7e94f..e7aa4c77 100644 --- a/docs/models/TRLinkMissingTrmDecision.md +++ b/docs/models/TRLinkMissingTrmDecision.md @@ -23,8 +23,8 @@ |**operation** | [**TransactionOperationEnum**](TransactionOperationEnum.md) | | [optional] [default to undefined]| |**description** | **string** | Rule description | [optional] [default to undefined]| |**isDefault** | **boolean** | Whether this is a default rule | [optional] [default to false]| -|**validBefore** | **number** | Unix timestamp when rule expires | [optional] [default to undefined]| -|**validAfter** | **number** | Unix timestamp when rule becomes valid | [optional] [default to undefined]| +|**validBefore** | **number** | Rule expires once this many seconds have elapsed since the wait/screening step started | [optional] [default to undefined]| +|**validAfter** | **number** | Rule applies only after this many seconds have elapsed since the wait/screening step started | [optional] [default to undefined]| |**timestamp** | **string** | Timestamp of the decision | [optional] [default to undefined]| |**reason** | **string** | Reason for the decision | [optional] [default to undefined]| diff --git a/docs/models/TRLinkMissingTrmRule.md b/docs/models/TRLinkMissingTrmRule.md index 09a2d481..ccc5fea5 100644 --- a/docs/models/TRLinkMissingTrmRule.md +++ b/docs/models/TRLinkMissingTrmRule.md @@ -22,8 +22,8 @@ |**operation** | [**TransactionOperationEnum**](TransactionOperationEnum.md) | | [optional] [default to undefined]| |**description** | **string** | Rule description | [optional] [default to undefined]| |**isDefault** | **boolean** | Whether this is a default rule | [optional] [default to false]| -|**validBefore** | **number** | Unix timestamp when rule expires | [optional] [default to undefined]| -|**validAfter** | **number** | Unix timestamp when rule becomes valid | [optional] [default to undefined]| +|**validBefore** | **number** | Rule expires once this many seconds have elapsed since the wait/screening step started | [optional] [default to undefined]| +|**validAfter** | **number** | Rule applies only after this many seconds have elapsed since the wait/screening step started | [optional] [default to undefined]| diff --git a/docs/models/TRLinkMissingTrmRule2.md b/docs/models/TRLinkMissingTrmRule2.md index 52eb8f82..20d2fbde 100644 --- a/docs/models/TRLinkMissingTrmRule2.md +++ b/docs/models/TRLinkMissingTrmRule2.md @@ -22,8 +22,8 @@ |**operation** | **string** | Operation type | [optional] [default to undefined]| |**description** | **string** | Rule description | [optional] [default to undefined]| |**isDefault** | **boolean** | Whether this is a default rule | [optional] [default to undefined]| -|**validBefore** | **number** | Rule is valid before this timestamp (milliseconds) | [optional] [default to undefined]| -|**validAfter** | **number** | Rule is valid after this timestamp (milliseconds) | [optional] [default to undefined]| +|**validBefore** | **number** | Rule expires once this many seconds have elapsed since the wait/screening step started | [optional] [default to undefined]| +|**validAfter** | **number** | Rule applies only after this many seconds have elapsed since the wait/screening step started | [optional] [default to undefined]| diff --git a/docs/models/TRLinkPostScreeningRule.md b/docs/models/TRLinkPostScreeningRule.md index 48657c11..ef779a7c 100644 --- a/docs/models/TRLinkPostScreeningRule.md +++ b/docs/models/TRLinkPostScreeningRule.md @@ -24,8 +24,8 @@ |**isDefault** | **boolean** | Whether this is a default rule | [optional] [default to false]| |**providerIdent** | **string** | Provider identifier | [optional] [default to undefined]| |**trmStatus** | [**TRLinkTrmScreeningStatus**](TRLinkTrmScreeningStatus.md) | | [optional] [default to undefined]| -|**validBefore** | **number** | Unix timestamp when rule expires | [optional] [default to undefined]| -|**validAfter** | **number** | Unix timestamp when rule becomes valid | [optional] [default to undefined]| +|**validBefore** | **number** | Rule expires once this many seconds have elapsed since the wait/screening step started | [optional] [default to undefined]| +|**validAfter** | **number** | Rule applies only after this many seconds have elapsed since the wait/screening step started | [optional] [default to undefined]| diff --git a/docs/models/TRLinkPostScreeningRule2.md b/docs/models/TRLinkPostScreeningRule2.md index a4fe0f5b..35b54f42 100644 --- a/docs/models/TRLinkPostScreeningRule2.md +++ b/docs/models/TRLinkPostScreeningRule2.md @@ -24,8 +24,8 @@ |**isDefault** | **boolean** | Whether this is a default rule | [optional] [default to undefined]| |**providerIdent** | **string** | TRP provider identifier | [optional] [default to undefined]| |**trmStatus** | [**TRLinkTrmStatus**](TRLinkTrmStatus.md) | | [optional] [default to undefined]| -|**validBefore** | **number** | Rule is valid before this timestamp (milliseconds) | [optional] [default to undefined]| -|**validAfter** | **number** | Rule is valid after this timestamp (milliseconds) | [optional] [default to undefined]| +|**validBefore** | **number** | Rule expires once this many seconds have elapsed since the wait/screening step started | [optional] [default to undefined]| +|**validAfter** | **number** | Rule applies only after this many seconds have elapsed since the wait/screening step started | [optional] [default to undefined]| diff --git a/docs/models/TransactionRequest.md b/docs/models/TransactionRequest.md index 88914f97..7df5d41c 100644 --- a/docs/models/TransactionRequest.md +++ b/docs/models/TransactionRequest.md @@ -7,6 +7,7 @@ |**operation** | [**TransactionOperation**](TransactionOperation.md) | | [optional] [default to undefined]| |**note** | **string** | Custom note, not sent to the blockchain, to describe the transaction at your Fireblocks workspace. | [optional] [default to undefined]| |**externalTxId** | **string** | This parameter allows you to add a unique ID of your own to help prevent duplicate transactions. No specific format is required for this parameter. After you submit a transaction with an external ID, Fireblocks will automatically reject all future transactions with the same ID. Using an external ID primarily helps in situations where, even though a submitted transaction responds with an error due to an internet outage, the transaction was still sent to and processed on the blockchain. Use the [Get a specific transaction by external transaction ID](https://developers.fireblocks.com/reference/gettransactionbyexternalid) endpoint to validate whether these transactions have been processed. | [optional] [default to undefined]| +|**feeCurrency** | **string** | For Tempo-based transactions only, the asset used to pay the transaction\'s network fee, as an asset ID ([see supported assets](https://developers.fireblocks.com/api-reference/blockchains-&-assets/list-assets)). For any other blockchain, this value is ignored. This feature is currently in beta and might be subject to changes. | [optional] [default to undefined]| |**assetId** | **string** | The ID of the asset to transfer, for `TRANSFER`, `MINT` or `BURN` operations. [See the list of supported assets and their IDs on Fireblocks.](https://developers.fireblocks.com/reference/gettrlinksupportedasset#/) | [optional] [default to undefined]| |**source** | [**SourceTransferPeerPath**](SourceTransferPeerPath.md) | | [optional] [default to undefined]| |**destination** | [**DestinationTransferPeerPath**](DestinationTransferPeerPath.md) | | [optional] [default to undefined]| diff --git a/models/contact-approval-request.ts b/models/contact-approval-request.ts new file mode 100644 index 00000000..7ed74f33 --- /dev/null +++ b/models/contact-approval-request.ts @@ -0,0 +1,36 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * 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 + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * An approval request awaiting a quorum decision. Null when none is open. Carried both by a contact, for a quorum-gated write on the contact itself, and by an individual tag, for a change to the tag\'s own definition. An attach or detach of that tag to this contact is carried by the tag\'s `pendingAttachment` instead. + * @export + * @interface ContactApprovalRequest + */ +export interface ContactApprovalRequest { + /** + * The approval request identifier + * @type {string} + * @memberof ContactApprovalRequest + */ + 'id': string; + /** + * The operation awaiting approval. Deliberately not an enumeration: the set is open across the surfaces that carry one, and includes contact operations such as CREATE_CONTACT and DELETE_CONTACT as well as changes to a tag itself. + * @type {string} + * @memberof ContactApprovalRequest + */ + 'type': string; +} + diff --git a/models/contact-tag-attachment-pending.ts b/models/contact-tag-attachment-pending.ts new file mode 100644 index 00000000..c6e6c474 --- /dev/null +++ b/models/contact-tag-attachment-pending.ts @@ -0,0 +1,44 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * 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 + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * An attach or detach of this tag to this contact awaiting a quorum decision. Null when the attachment is settled. Distinct from the tag\'s own `pendingApprovalRequest`, which covers a change to the tag itself rather than to this pairing. When both are open, this is the one to act on from a contact: cancelling a change to the tag\'s own definition belongs to the tag surface, and `pendingApprovalRequest.id` must not be used to cancel an attachment. + * @export + * @interface ContactTagAttachmentPending + */ +export interface ContactTagAttachmentPending { + /** + * The operation awaiting approval. ATTACH means the tag is not yet attached; DETACH means it is still attached, pending removal. + * @type {string} + * @memberof ContactTagAttachmentPending + */ + 'action': ContactTagAttachmentPendingActionEnum; + /** + * The identifier of the approval request gating the operation + * @type {string} + * @memberof ContactTagAttachmentPending + */ + 'approvalRequestId'?: string; +} + +export const ContactTagAttachmentPendingActionEnum = { + Attach: 'ATTACH', + Detach: 'DETACH' +} as const; + +export type ContactTagAttachmentPendingActionEnum = typeof ContactTagAttachmentPendingActionEnum[keyof typeof ContactTagAttachmentPendingActionEnum]; + + diff --git a/models/contact-tag.ts b/models/contact-tag.ts new file mode 100644 index 00000000..fdc97669 --- /dev/null +++ b/models/contact-tag.ts @@ -0,0 +1,72 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * 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 + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +// May contain unused imports in some cases +// @ts-ignore +import { ContactApprovalRequest } from './contact-approval-request'; +// May contain unused imports in some cases +// @ts-ignore +import { ContactTagAttachmentPending } from './contact-tag-attachment-pending'; + +/** + * A tag attached to the contact, with the display details resolved from the tagging service. + * @export + * @interface ContactTag + */ +export interface ContactTag { + /** + * The unique identifier of the tag + * @type {string} + * @memberof ContactTag + */ + 'id': string; + /** + * The tag label + * @type {string} + * @memberof ContactTag + */ + 'label': string; + /** + * Whether the tag is protected, meaning changes to it and to its attachments are approval-gated. + * @type {boolean} + * @memberof ContactTag + */ + 'isProtected': boolean; + /** + * + * @type {ContactApprovalRequest} + * @memberof ContactTag + */ + 'pendingApprovalRequest': ContactApprovalRequest | null; + /** + * + * @type {ContactTagAttachmentPending} + * @memberof ContactTag + */ + 'pendingAttachment': ContactTagAttachmentPending | null; + /** + * The tag color in hex format. Absent when the tag has none. + * @type {string} + * @memberof ContactTag + */ + 'color'?: string; + /** + * Description for the tag. Absent when the tag has none. + * @type {string} + * @memberof ContactTag + */ + 'description'?: string; +} + diff --git a/models/contact.ts b/models/contact.ts new file mode 100644 index 00000000..2172fca2 --- /dev/null +++ b/models/contact.ts @@ -0,0 +1,110 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * 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 + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +// May contain unused imports in some cases +// @ts-ignore +import { ContactApprovalRequest } from './contact-approval-request'; +// May contain unused imports in some cases +// @ts-ignore +import { ContactTag } from './contact-tag'; + +/** + * A contact in the workspace address book. + * @export + * @interface Contact + */ +export interface Contact { + /** + * The unique identifier of the contact + * @type {string} + * @memberof Contact + */ + 'id': string; + /** + * The contact name, unique across the workspace + * @type {string} + * @memberof Contact + */ + 'name': string; + /** + * Whether the contact is an external party or an account the workspace owns elsewhere + * @type {string} + * @memberof Contact + */ + 'type': ContactTypeEnum; + /** + * The date and time the contact was last modified, in ISO-8601 + * @type {string} + * @memberof Contact + */ + 'updatedAt': string; + /** + * The tags attached to the contact + * @type {Array} + * @memberof Contact + */ + 'tags': Array; + /** + * + * @type {ContactApprovalRequest} + * @memberof Contact + */ + 'pendingApprovalRequest': ContactApprovalRequest | null; + /** + * The access control applied to the contact. Absent when none is set. + * @type {string} + * @memberof Contact + */ + 'accessControl'?: ContactAccessControlEnum; + /** + * Free-text notes on the contact. Absent when none are set. + * @type {string} + * @memberof Contact + */ + 'notes'?: string; + /** + * A customer-supplied reference id for the contact. Absent when none is set. + * @type {string} + * @memberof Contact + */ + 'externalRefId'?: string; + /** + * The container holding the contact. Absent when the contact sits at the root. + * @type {string} + * @memberof Contact + */ + 'containerId'?: string; + /** + * The date and time the contact was archived, in ISO-8601. Absent for live contacts, so this only carries a value when the request passed archived=true. + * @type {string} + * @memberof Contact + */ + 'archivedAt'?: string; +} + +export const ContactTypeEnum = { + Counterparty: 'COUNTERPARTY', + OwnAccount: 'OWN_ACCOUNT' +} as const; + +export type ContactTypeEnum = typeof ContactTypeEnum[keyof typeof ContactTypeEnum]; +export const ContactAccessControlEnum = { + Whitelist: 'WHITELIST', + Blacklist: 'BLACKLIST' +} as const; + +export type ContactAccessControlEnum = typeof ContactAccessControlEnum[keyof typeof ContactAccessControlEnum]; + + diff --git a/models/contacts-paged-response.ts b/models/contacts-paged-response.ts new file mode 100644 index 00000000..40f6601f --- /dev/null +++ b/models/contacts-paged-response.ts @@ -0,0 +1,45 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * 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 + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +// May contain unused imports in some cases +// @ts-ignore +import { Contact } from './contact'; + +/** + * + * @export + * @interface ContactsPagedResponse + */ +export interface ContactsPagedResponse { + /** + * The page of contacts + * @type {Array} + * @memberof ContactsPagedResponse + */ + 'data': Array; + /** + * Cursor to the next page; absent when the current page is the last. Opaque, and bound to the sort that minted it — replay it unchanged and keep sortBy/order steady across pages. + * @type {string} + * @memberof ContactsPagedResponse + */ + 'next'?: string; + /** + * The number of contacts matching the filters, ignoring pagination. Present only when the request passed `includeTotal=true`; the key is absent otherwise. + * @type {number} + * @memberof ContactsPagedResponse + */ + 'total'?: number; +} + diff --git a/models/failure-reason.ts b/models/failure-reason.ts index 3aa52520..0fe055cb 100644 --- a/models/failure-reason.ts +++ b/models/failure-reason.ts @@ -43,6 +43,7 @@ export const FailureReason = { UnsupportedSourceAsset: 'UNSUPPORTED_SOURCE_ASSET', UnsupportedDestinationAsset: 'UNSUPPORTED_DESTINATION_ASSET', AmountBelowMinimum: 'AMOUNT_BELOW_MINIMUM', + AmountAboveMaximum: 'AMOUNT_ABOVE_MAXIMUM', PiiMissing: 'PII_MISSING', ExternalSourceNotSupported: 'EXTERNAL_SOURCE_NOT_SUPPORTED', UnsupportedRegion: 'UNSUPPORTED_REGION', diff --git a/models/index.ts b/models/index.ts index 850ddcc7..5b37ef82 100644 --- a/models/index.ts +++ b/models/index.ts @@ -227,6 +227,11 @@ export * from './connected-single-account'; export * from './connected-single-account-response'; export * from './console-user'; export * from './console-users'; +export * from './contact'; +export * from './contact-approval-request'; +export * from './contact-tag'; +export * from './contact-tag-attachment-pending'; +export * from './contacts-paged-response'; export * from './contract-abi-response-dto'; export * from './contract-abi-response-dto-abi-inner'; export * from './contract-address-response'; diff --git a/models/security-finding-detailed.ts b/models/security-finding-detailed.ts index 65ee5faa..aa306cf3 100644 --- a/models/security-finding-detailed.ts +++ b/models/security-finding-detailed.ts @@ -32,12 +32,6 @@ export interface SecurityFindingDetailed { * @memberof SecurityFindingDetailed */ 'id': string; - /** - * The finding type identifier - * @type {string} - * @memberof SecurityFindingDetailed - */ - 'type': SecurityFindingDetailedTypeEnum; /** * Current status of the finding * @type {string} @@ -112,32 +106,6 @@ export interface SecurityFindingDetailed { 'statusUpdatedReason'?: string; } -export const SecurityFindingDetailedTypeEnum = { - ApiUserNotWhitelisted: 'API_USER_NOT_WHITELISTED', - ConsoleIpAllowlistDeactivated: 'CONSOLE_IP_ALLOWLIST_DEACTIVATED', - AdminThSetToAllAndMoreThan2Admins: 'ADMIN_TH_SET_TO_ALL_AND_MORE_THAN_2_ADMINS', - ApiUsersCountPassesThAndOwnerNotMandatory: 'API_USERS_COUNT_PASSES_TH_AND_OWNER_NOT_MANDATORY', - ApiCosignerWithNoCallback: 'API_COSIGNER_WITH_NO_CALLBACK', - ApiUserDidntApproveCcrInXDays: 'API_USER_DIDNT_APPROVE_CCR_IN_X_DAYS', - NonViewerDidntInitiateApproveOrSignTxOrCcrLastXDays: 'NON_VIEWER_DIDNT_INITIATE_APPROVE_OR_SIGN_TX_OR_CCR_LAST_X_DAYS', - ThSetTo1AndMoreThan3Approvers: 'TH_SET_TO_1_AND_MORE_THAN_3_APPROVERS', - AdminThSetTo1AndMoreThan3Admins: 'ADMIN_TH_SET_TO_1_AND_MORE_THAN_3_ADMINS', - NonEvmDappConnectionsEnabledButUnused: 'NON_EVM_DAPP_CONNECTIONS_ENABLED_BUT_UNUSED', - OtaEnabledButUnused: 'OTA_ENABLED_BUT_UNUSED', - PolicyNotUpdatedRecently: 'POLICY_NOT_UPDATED_RECENTLY', - RawSigningEnabledButUnused: 'RAW_SIGNING_ENABLED_BUT_UNUSED', - ApiUserUnusedFor90Days: 'API_USER_UNUSED_FOR_90_DAYS', - UnusedUnlimitedTokenAllowances: 'UNUSED_UNLIMITED_TOKEN_ALLOWANCES', - UnusedWhitelistedAddress: 'UNUSED_WHITELISTED_ADDRESS', - TransactionRepetitionAttack: 'TRANSACTION_REPETITION_ATTACK', - UserEmailDomainNonBusiness: 'USER_EMAIL_DOMAIN_NON_BUSINESS', - OutdatedMobileAppVersion: 'OUTDATED_MOBILE_APP_VERSION', - SingleHopDrainAttack: 'SINGLE_HOP_DRAIN_ATTACK', - LateralMovementDrainAttack: 'LATERAL_MOVEMENT_DRAIN_ATTACK', - WorkspaceUserDormantForXDays: 'WORKSPACE_USER_DORMANT_FOR_X_DAYS' -} as const; - -export type SecurityFindingDetailedTypeEnum = typeof SecurityFindingDetailedTypeEnum[keyof typeof SecurityFindingDetailedTypeEnum]; export const SecurityFindingDetailedStatusEnum = { Open: 'OPEN', Accepted: 'ACCEPTED', diff --git a/models/security-finding.ts b/models/security-finding.ts index 3f5f61f0..e23eb944 100644 --- a/models/security-finding.ts +++ b/models/security-finding.ts @@ -26,12 +26,6 @@ export interface SecurityFinding { * @memberof SecurityFinding */ 'id'?: string; - /** - * The finding type identifier - * @type {string} - * @memberof SecurityFinding - */ - 'type'?: SecurityFindingTypeEnum; /** * Current status of the finding * @type {string} @@ -64,32 +58,6 @@ export interface SecurityFinding { 'title'?: string; } -export const SecurityFindingTypeEnum = { - ApiUserNotWhitelisted: 'API_USER_NOT_WHITELISTED', - ConsoleIpAllowlistDeactivated: 'CONSOLE_IP_ALLOWLIST_DEACTIVATED', - AdminThSetToAllAndMoreThan2Admins: 'ADMIN_TH_SET_TO_ALL_AND_MORE_THAN_2_ADMINS', - ApiUsersCountPassesThAndOwnerNotMandatory: 'API_USERS_COUNT_PASSES_TH_AND_OWNER_NOT_MANDATORY', - ApiCosignerWithNoCallback: 'API_COSIGNER_WITH_NO_CALLBACK', - ApiUserDidntApproveCcrInXDays: 'API_USER_DIDNT_APPROVE_CCR_IN_X_DAYS', - NonViewerDidntInitiateApproveOrSignTxOrCcrLastXDays: 'NON_VIEWER_DIDNT_INITIATE_APPROVE_OR_SIGN_TX_OR_CCR_LAST_X_DAYS', - ThSetTo1AndMoreThan3Approvers: 'TH_SET_TO_1_AND_MORE_THAN_3_APPROVERS', - AdminThSetTo1AndMoreThan3Admins: 'ADMIN_TH_SET_TO_1_AND_MORE_THAN_3_ADMINS', - NonEvmDappConnectionsEnabledButUnused: 'NON_EVM_DAPP_CONNECTIONS_ENABLED_BUT_UNUSED', - OtaEnabledButUnused: 'OTA_ENABLED_BUT_UNUSED', - PolicyNotUpdatedRecently: 'POLICY_NOT_UPDATED_RECENTLY', - RawSigningEnabledButUnused: 'RAW_SIGNING_ENABLED_BUT_UNUSED', - ApiUserUnusedFor90Days: 'API_USER_UNUSED_FOR_90_DAYS', - UnusedUnlimitedTokenAllowances: 'UNUSED_UNLIMITED_TOKEN_ALLOWANCES', - UnusedWhitelistedAddress: 'UNUSED_WHITELISTED_ADDRESS', - TransactionRepetitionAttack: 'TRANSACTION_REPETITION_ATTACK', - UserEmailDomainNonBusiness: 'USER_EMAIL_DOMAIN_NON_BUSINESS', - OutdatedMobileAppVersion: 'OUTDATED_MOBILE_APP_VERSION', - SingleHopDrainAttack: 'SINGLE_HOP_DRAIN_ATTACK', - LateralMovementDrainAttack: 'LATERAL_MOVEMENT_DRAIN_ATTACK', - WorkspaceUserDormantForXDays: 'WORKSPACE_USER_DORMANT_FOR_X_DAYS' -} as const; - -export type SecurityFindingTypeEnum = typeof SecurityFindingTypeEnum[keyof typeof SecurityFindingTypeEnum]; export const SecurityFindingStatusEnum = { Open: 'OPEN', Accepted: 'ACCEPTED', diff --git a/models/transaction-request.ts b/models/transaction-request.ts index 09b21124..b40d3cbb 100644 --- a/models/transaction-request.ts +++ b/models/transaction-request.ts @@ -83,6 +83,12 @@ export interface TransactionRequest { * @memberof TransactionRequest */ 'externalTxId'?: string; + /** + * For Tempo-based transactions only, the asset used to pay the transaction\'s network fee, as an asset ID ([see supported assets](https://developers.fireblocks.com/api-reference/blockchains-&-assets/list-assets)). For any other blockchain, this value is ignored. This feature is currently in beta and might be subject to changes. + * @type {string} + * @memberof TransactionRequest + */ + 'feeCurrency'?: string; /** * The ID of the asset to transfer, for `TRANSFER`, `MINT` or `BURN` operations. [See the list of supported assets and their IDs on Fireblocks.](https://developers.fireblocks.com/reference/gettrlinksupportedasset#/) * @type {string} diff --git a/models/trlink-missing-trm-rule2.ts b/models/trlink-missing-trm-rule2.ts index 181ac7d4..b91a51a5 100644 --- a/models/trlink-missing-trm-rule2.ts +++ b/models/trlink-missing-trm-rule2.ts @@ -138,13 +138,13 @@ export interface TRLinkMissingTrmRule2 { */ 'isDefault'?: boolean | null; /** - * Rule is valid before this timestamp (milliseconds) + * Rule expires once this many seconds have elapsed since the wait/screening step started * @type {number} * @memberof TRLinkMissingTrmRule2 */ 'validBefore'?: number | null; /** - * Rule is valid after this timestamp (milliseconds) + * Rule applies only after this many seconds have elapsed since the wait/screening step started * @type {number} * @memberof TRLinkMissingTrmRule2 */ diff --git a/models/trlink-post-screening-rule2.ts b/models/trlink-post-screening-rule2.ts index 5c1b0210..72b4deac 100644 --- a/models/trlink-post-screening-rule2.ts +++ b/models/trlink-post-screening-rule2.ts @@ -153,13 +153,13 @@ export interface TRLinkPostScreeningRule2 { */ 'trmStatus'?: TRLinkTrmStatus | null; /** - * Rule is valid before this timestamp (milliseconds) + * Rule expires once this many seconds have elapsed since the wait/screening step started * @type {number} * @memberof TRLinkPostScreeningRule2 */ 'validBefore'?: number | null; /** - * Rule is valid after this timestamp (milliseconds) + * Rule applies only after this many seconds have elapsed since the wait/screening step started * @type {number} * @memberof TRLinkPostScreeningRule2 */ diff --git a/package-lock.json b/package-lock.json index 53174b70..bd5d0f33 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@fireblocks/ts-sdk", - "version": "28.0.0", + "version": "0.0.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@fireblocks/ts-sdk", - "version": "28.0.0", + "version": "0.0.0", "license": "MIT License", "dependencies": { "axios": "^1.15.2", @@ -1294,9 +1294,9 @@ "license": "MIT" }, "node_modules/baseline-browser-mapping": { - "version": "2.11.12", - "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.11.12.tgz", - "integrity": "sha512-r7WnVImvVCeFpf2DOXfy41aPWzeNg3H/A2X4dKmy1QL0MSyyk/e7z8ihJ3N6Nn2PsdhkVlqnEfnUE4a05P2aTA==", + "version": "2.11.13", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.11.13.tgz", + "integrity": "sha512-k9HNuUVMlqVjQ9UHzfPjIqiDbWw7WqT1AoT7GL8VwvF3r0ZfArtgiSPAlmupyNquNgOJHTuH4CKYf8ttMTWBTQ==", "dev": true, "license": "Apache-2.0", "bin": { @@ -1331,9 +1331,9 @@ } }, "node_modules/browserslist": { - "version": "4.28.7", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.7.tgz", - "integrity": "sha512-JxV13hNrFxqjOc8alRbq9dK1MM79NEXYpma2B2J4wAtpWS5zIEIKqWPGCl7N4o7Uc7B7itylh7SuDujATRyyTw==", + "version": "4.28.8", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.8.tgz", + "integrity": "sha512-V2NpofLblG64mfOtSgDhOJESZEGogzDMBv/q+W6oc4LXWP/q75eOXoOaaOu1EOadB9U4Bwx/e0yzbvwKH8zalA==", "dev": true, "funding": [ { @@ -1351,11 +1351,11 @@ ], "license": "MIT", "dependencies": { - "baseline-browser-mapping": "^2.10.44", - "caniuse-lite": "^1.0.30001806", - "electron-to-chromium": "^1.5.393", - "node-releases": "^2.0.51", - "update-browserslist-db": "^1.2.3" + "baseline-browser-mapping": "^2.11.12", + "caniuse-lite": "^1.0.30001809", + "electron-to-chromium": "^1.5.402", + "node-releases": "^2.0.53", + "update-browserslist-db": "^1.3.0" }, "bin": { "browserslist": "cli.js" @@ -1434,9 +1434,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001806", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001806.tgz", - "integrity": "sha512-72Cuvd95zbSYPKq6Fhg8eDJRlzgWDf7/mtoZv6Qe/DYNCEBdNxoA3+rZAU2ZhGCpZlns3EssFavaZomckT5Uuw==", + "version": "1.0.30001809", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001809.tgz", + "integrity": "sha512-xxWVywk6a6Arlk+hymeycyn/VgqEfLDxupvhH/xiY5SJ/18kmi9o6MiO320DCUzypORHLtvh0I4i04tUhCNHNQ==", "dev": true, "funding": [ { @@ -1715,9 +1715,9 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.5.401", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.401.tgz", - "integrity": "sha512-H6ViHN68nGYlChEvlIU67fn8O2/tpbWQPwck98yaJmh+08LSvHiydzDQ6oXNccLU3kNRVIRS9A4mA7CG+i6fLQ==", + "version": "1.5.405", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.405.tgz", + "integrity": "sha512-bNglH7lPH5l+yHOes7Zr4VqxhOy4BQ9ZBUX4VdoFgxMpzJk7W1ZoO3Vgd9Pxa9PyjQ76sfm2aKH/nzEcCNRlew==", "dev": true, "license": "ISC" }, @@ -3017,9 +3017,9 @@ "license": "MIT" }, "node_modules/js-yaml": { - "version": "3.15.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.15.1.tgz", - "integrity": "sha512-S99WuO3HlhO3XN41EtYUNl9zzXjoJx7QvmipxsJVxtCBT0YHEFy+iOJhjSvrmV12nYhWpZaM8lPHkJm0yUMbag==", + "version": "3.15.2", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.15.2.tgz", + "integrity": "sha512-6EuL879VkRA+1Cz578mKMiKvjPNEuk6+r1JaFzoSWejZmtf7xWbIyw1e3KkxlkzTIt9Taw6JBhEppG7utc1P+w==", "dev": true, "license": "MIT", "dependencies": { @@ -3371,9 +3371,9 @@ "license": "MIT" }, "node_modules/node-releases": { - "version": "2.0.52", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.52.tgz", - "integrity": "sha512-MRlTqhAfoMx/4mhEbPo3Hi02g9LJZaJkka69V6h67Cb1gjrAG0jsTE4CZX1eptNx+VCAwJmfpnDIF4P0Nh1A7A==", + "version": "2.0.53", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.53.tgz", + "integrity": "sha512-D9UOmYG3UH1V+ENW56t5QXBwJw1YEY18ruVeus89Rw+SyIgjPkCO84bRzO3uNIYosJbNwiabWVn48o3uJLjxFQ==", "dev": true, "license": "MIT", "engines": { @@ -4078,9 +4078,9 @@ } }, "node_modules/update-browserslist-db": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz", - "integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.3.1.tgz", + "integrity": "sha512-ZZ61DsRsOnakl74HAmp3oSN4aXUmEWXf+i/yv0h7tIBfICc3VdrFErQKUUKPgu3AMsTUMbcongALEN4l6GSUrQ==", "dev": true, "funding": [ { diff --git a/package.json b/package.json index 52818a82..584251d5 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@fireblocks/ts-sdk", - "version": "28.0.0", + "version": "0.0.0", "description": "OpenAPI client for @fireblocks/ts-sdk", "author": "Fireblocks SDK Generator", "repository": { diff --git a/tests/client.spec.ts b/tests/client.spec.ts index f3e37c63..2d04277e 100644 --- a/tests/client.spec.ts +++ b/tests/client.spec.ts @@ -19,6 +19,7 @@ ComplianceApi, ComplianceScreeningConfigurationApi, ConnectedAccountsBetaApi, ConsoleUserApi, +ContactsApi, ContractInteractionsApi, ContractTemplatesApi, ContractsApi, @@ -77,6 +78,7 @@ let mockComplianceApi: jest.Mock; let mockComplianceScreeningConfigurationApi: jest.Mock; let mockConnectedAccountsBetaApi: jest.Mock; let mockConsoleUserApi: jest.Mock; +let mockContactsApi: jest.Mock; let mockContractInteractionsApi: jest.Mock; let mockContractTemplatesApi: jest.Mock; let mockContractsApi: jest.Mock; @@ -132,6 +134,7 @@ jest.mock('../api', () => { mockComplianceScreeningConfigurationApi = jest.fn(); mockConnectedAccountsBetaApi = jest.fn(); mockConsoleUserApi = jest.fn(); + mockContactsApi = jest.fn(); mockContractInteractionsApi = jest.fn(); mockContractTemplatesApi = jest.fn(); mockContractsApi = jest.fn(); @@ -188,6 +191,7 @@ jest.mock('../api', () => { ComplianceScreeningConfigurationApi: mockComplianceScreeningConfigurationApi, ConnectedAccountsBetaApi: mockConnectedAccountsBetaApi, ConsoleUserApi: mockConsoleUserApi, + ContactsApi: mockContactsApi, ContractInteractionsApi: mockContractInteractionsApi, ContractTemplatesApi: mockContractTemplatesApi, ContractsApi: mockContractsApi, @@ -344,6 +348,10 @@ describe("Fireblocks Client Tests", () => { expect(fireblocks.consoleUser).toBeInstanceOf(ConsoleUserApi); expect(mockConsoleUserApi).toHaveBeenCalledWith(expectedConfig, undefined, mockAxios); }); + it('Should return ContactsApi', async () => { + expect(fireblocks.contacts).toBeInstanceOf(ContactsApi); + expect(mockContactsApi).toHaveBeenCalledWith(expectedConfig, undefined, mockAxios); + }); it('Should return ContractInteractionsApi', async () => { expect(fireblocks.contractInteractions).toBeInstanceOf(ContractInteractionsApi); expect(mockContractInteractionsApi).toHaveBeenCalledWith(expectedConfig, undefined, mockAxios);