From ca2e34ff7bd50ad54ee0c4151700ec7aa3d57630 Mon Sep 17 00:00:00 2001 From: fireblocks_dx_team Date: Tue, 20 Oct 2026 08:21:53 +0000 Subject: [PATCH] Generated SDK #2966549409 --- .openapi-generator/FILES | 2 + CHANGELOG.md | 258 ---------------- README.md | 2 + api.ts | 1 + api/api-user-api.ts | 8 +- api/canton-beta-api.ts | 288 ++++++++++++++++++ api/webhooks-v2-api.ts | 8 +- client/client.ts | 5 + docs/apis/ApiUserApi.md | 2 +- docs/apis/CantonBetaApi.md | 148 +++++++++ docs/apis/WebhooksV2Api.md | 2 +- docs/models/OfferResponse.md | 2 +- docs/models/OfferResponseAllocationAccept.md | 2 +- docs/models/OfferResponseAllocationReject.md | 2 +- .../models/OfferResponseAllocationWithdraw.md | 2 +- .../OfferResponseDtccOnboardingAccept.md | 2 +- .../OfferResponseDtccOnboardingReject.md | 2 +- docs/models/OfferResponseTradewebAccept.md | 2 +- docs/models/OfferResponseTradewebReject.md | 2 +- docs/models/OfferResponseTransferAccept.md | 2 +- docs/models/OfferResponseTransferReject.md | 2 +- docs/models/OfferResponseTransferWithdraw.md | 2 +- docs/models/TrustProofOfAddressRequest.md | 1 + docs/models/TrustProofOfAddressResponse.md | 1 + models/end-investor-payload.ts | 2 +- models/offer-response-allocation-accept.ts | 2 +- models/offer-response-allocation-reject.ts | 2 +- models/offer-response-allocation-withdraw.ts | 2 +- .../offer-response-dtcc-onboarding-accept.ts | 2 +- .../offer-response-dtcc-onboarding-reject.ts | 2 +- models/offer-response-tradeweb-accept.ts | 2 +- models/offer-response-tradeweb-reject.ts | 4 +- models/offer-response-transfer-accept.ts | 2 +- models/offer-response-transfer-reject.ts | 2 +- models/offer-response-transfer-withdraw.ts | 4 +- models/trust-proof-of-address-request.ts | 6 + models/trust-proof-of-address-response.ts | 6 + package-lock.json | 48 +-- package.json | 2 +- tests/client.spec.ts | 8 + 40 files changed, 527 insertions(+), 317 deletions(-) delete mode 100644 CHANGELOG.md create mode 100644 api/canton-beta-api.ts create mode 100644 docs/apis/CantonBetaApi.md diff --git a/.openapi-generator/FILES b/.openapi-generator/FILES index db12e92e..4d61cb0b 100644 --- a/.openapi-generator/FILES +++ b/.openapi-generator/FILES @@ -196,6 +196,7 @@ CallAccepted.md CallbackHandler.md CallbackHandlerRequest.md CancelTransactionResponse.md +CantonBetaApi.md CantonCall.md CantonCallAllowListAdd.md CantonCallAllowListRemove.md @@ -1448,6 +1449,7 @@ api/approvals-beta-api.ts api/audit-logs-api.ts api/blockchain-link-beta-api.ts api/blockchains-assets-api.ts +api/canton-beta-api.ts api/compliance-api.ts api/compliance-orchestrator-beta-api.ts api/compliance-screening-configuration-api.ts diff --git a/CHANGELOG.md b/CHANGELOG.md deleted file mode 100644 index 965a34f3..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). - -## [v35.0.0](https://github.com/fireblocks/ts-sdk/compare/v19.0.0...v35.0.0) - 2026-10-13 - -### Merged - -- Generated SDK #2941386800 [`#213`](https://github.com/fireblocks/ts-sdk/pull/213) - -## [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 b2b9640f..80d71a6a 100644 --- a/README.md +++ b/README.md @@ -186,6 +186,8 @@ Class | Method | HTTP request | Description *BlockchainsAssetsApi* | [**registerNewAsset**](docs/apis/BlockchainsAssetsApi.md#registerNewAsset) | **POST** /assets | Register an asset *BlockchainsAssetsApi* | [**setAssetPrice**](docs/apis/BlockchainsAssetsApi.md#setAssetPrice) | **POST** /assets/prices/{id} | Set asset price *BlockchainsAssetsApi* | [**updateAssetUserMetadata**](docs/apis/BlockchainsAssetsApi.md#updateAssetUserMetadata) | **PATCH** /assets/{id} | Update the user’s metadata for an asset +*CantonBetaApi* | [**createCantonCall**](docs/apis/CantonBetaApi.md#createCantonCall) | **POST** /operations/canton/calls | Make a Canton call +*CantonBetaApi* | [**respondToCantonOffer**](docs/apis/CantonBetaApi.md#respondToCantonOffer) | **POST** /operations/canton/offers/{offerId}/responses | Answer an offer *ComplianceApi* | [**activateArsConfig**](docs/apis/ComplianceApi.md#activateArsConfig) | **POST** /screening/ars/config/activate | Activate ARS (Address Registry Screening) *ComplianceApi* | [**activateByorkConfig**](docs/apis/ComplianceApi.md#activateByorkConfig) | **POST** /screening/byork/config/activate | Activate BYORK Light *ComplianceApi* | [**addAddressRegistryVaultOptOuts**](docs/apis/ComplianceApi.md#addAddressRegistryVaultOptOuts) | **POST** /address_registry/vaults | Add vault accounts to the address registry opt-out list diff --git a/api.ts b/api.ts index 56d7e274..5649d3ad 100644 --- a/api.ts +++ b/api.ts @@ -19,6 +19,7 @@ export * from './api/approvals-beta-api'; export * from './api/audit-logs-api'; export * from './api/blockchain-link-beta-api'; export * from './api/blockchains-assets-api'; +export * from './api/canton-beta-api'; export * from './api/compliance-api'; export * from './api/compliance-orchestrator-beta-api'; export * from './api/compliance-screening-configuration-api'; diff --git a/api/api-user-api.ts b/api/api-user-api.ts index a509eacf..6a268415 100644 --- a/api/api-user-api.ts +++ b/api/api-user-api.ts @@ -120,7 +120,7 @@ export const ApiUserApiAxiosParamCreator = function (configuration?: Configurati }; }, /** - * Issues a device pairing token for the given user and returns the user\'s info along with the token. - The API user must be in PENDING_ACTIVATION status. If the user is already set up (enabled), the request is rejected with a 409 Conflict. - Please note that this endpoint is available only for API keys with Owner/Admin/Non Signing Admin permissions. Endpoint Permission: Owner, Admin, Non-Signing Admin. + * Issues a device pairing token for the given user and returns the user\'s info along with the token. - The API user must be in PENDING_ACTIVATION status. If the user is already set up (enabled), the request is rejected with a 409 Conflict. - Please note that this endpoint is available only for API keys with Owner/Admin/Non Signing Admin permissions. - This is the same pairing token that the API Co-signer requests during installation and when you pair an additional API user with an existing Co-signer. You can use this endpoint instead of copying the token from Pair API user in the Console. The token is valid for one hour. * @summary Issue API user pairing token * @param {string} userId The ID of the api user * @param {string} [idempotencyKey] A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours. @@ -198,7 +198,7 @@ export const ApiUserApiFp = function(configuration?: Configuration) { return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath); }, /** - * Issues a device pairing token for the given user and returns the user\'s info along with the token. - The API user must be in PENDING_ACTIVATION status. If the user is already set up (enabled), the request is rejected with a 409 Conflict. - Please note that this endpoint is available only for API keys with Owner/Admin/Non Signing Admin permissions. Endpoint Permission: Owner, Admin, Non-Signing Admin. + * Issues a device pairing token for the given user and returns the user\'s info along with the token. - The API user must be in PENDING_ACTIVATION status. If the user is already set up (enabled), the request is rejected with a 409 Conflict. - Please note that this endpoint is available only for API keys with Owner/Admin/Non Signing Admin permissions. - This is the same pairing token that the API Co-signer requests during installation and when you pair an additional API user with an existing Co-signer. You can use this endpoint instead of copying the token from Pair API user in the Console. The token is valid for one hour. * @summary Issue API user pairing token * @param {string} userId The ID of the api user * @param {string} [idempotencyKey] A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours. @@ -241,7 +241,7 @@ export const ApiUserApiFactory = function (configuration?: Configuration, basePa return localVarFp.getApiUsers(options).then((request) => request(axios, basePath)); }, /** - * Issues a device pairing token for the given user and returns the user\'s info along with the token. - The API user must be in PENDING_ACTIVATION status. If the user is already set up (enabled), the request is rejected with a 409 Conflict. - Please note that this endpoint is available only for API keys with Owner/Admin/Non Signing Admin permissions. Endpoint Permission: Owner, Admin, Non-Signing Admin. + * Issues a device pairing token for the given user and returns the user\'s info along with the token. - The API user must be in PENDING_ACTIVATION status. If the user is already set up (enabled), the request is rejected with a 409 Conflict. - Please note that this endpoint is available only for API keys with Owner/Admin/Non Signing Admin permissions. - This is the same pairing token that the API Co-signer requests during installation and when you pair an additional API user with an existing Co-signer. You can use this endpoint instead of copying the token from Pair API user in the Console. The token is valid for one hour. * @summary Issue API user pairing token * @param {ApiUserApiIssueApiUserPairingTokenRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. @@ -326,7 +326,7 @@ export class ApiUserApi extends BaseAPI { } /** - * Issues a device pairing token for the given user and returns the user\'s info along with the token. - The API user must be in PENDING_ACTIVATION status. If the user is already set up (enabled), the request is rejected with a 409 Conflict. - Please note that this endpoint is available only for API keys with Owner/Admin/Non Signing Admin permissions. Endpoint Permission: Owner, Admin, Non-Signing Admin. + * Issues a device pairing token for the given user and returns the user\'s info along with the token. - The API user must be in PENDING_ACTIVATION status. If the user is already set up (enabled), the request is rejected with a 409 Conflict. - Please note that this endpoint is available only for API keys with Owner/Admin/Non Signing Admin permissions. - This is the same pairing token that the API Co-signer requests during installation and when you pair an additional API user with an existing Co-signer. You can use this endpoint instead of copying the token from Pair API user in the Console. The token is valid for one hour. * @summary Issue API user pairing token * @param {ApiUserApiIssueApiUserPairingTokenRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. diff --git a/api/canton-beta-api.ts b/api/canton-beta-api.ts new file mode 100644 index 00000000..935afea4 --- /dev/null +++ b/api/canton-beta-api.ts @@ -0,0 +1,288 @@ +/* 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 { CallAccepted } from '../models'; +// @ts-ignore +import { CantonCall } from '../models'; +// @ts-ignore +import { ErrorSchema } from '../models'; +// @ts-ignore +import { OfferResponse } from '../models'; +// @ts-ignore +import { OfferResponseAccepted } from '../models'; +/** + * CantonBetaApi - axios parameter creator + * @export + */ +export const CantonBetaApiAxiosParamCreator = function (configuration?: Configuration) { + return { + /** + * Submits a Canton call from a vault account\'s Canton wallet. `type` selects the call and the shape of `payload`. + * @summary Make a Canton call + * @param {CantonCall} cantonCall + * @param {string} [idempotencyKey] A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + createCantonCall: async (cantonCall: CantonCall, idempotencyKey?: string, options: RawAxiosRequestConfig = {}): Promise => { + assertParamExists('createCantonCall', 'cantonCall', cantonCall) + const localVarPath = `/operations/canton/calls`; + // 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: 'POST', ...baseOptions, ...options}; + // Stamped onto the request config (not the headers, so it never goes on + // the wire) so the response interceptor can name the operation in the + // lifecycle warning. Key must match OPERATION_ID_CONFIG_KEY in utils/lifecycleWarning. + (localVarRequestOptions as any).fireblocksOperationId = 'createCantonCall'; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + if (idempotencyKey != null) { + localVarHeaderParameter['Idempotency-Key'] = String(idempotencyKey); + } + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(cantonCall, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * Responds to an incoming Canton offer. Set `responseType` to one of the values in the offer transaction\'s `cantonDetails.offerResponse.availableResponses`. + * @summary Answer an offer + * @param {OfferResponse} offerResponse + * @param {string} offerId The Fireblocks transaction id of the incoming offer being answered. + * @param {string} [idempotencyKey] A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + respondToCantonOffer: async (offerResponse: OfferResponse, offerId: string, idempotencyKey?: string, options: RawAxiosRequestConfig = {}): Promise => { + assertParamExists('respondToCantonOffer', 'offerResponse', offerResponse) + assertParamExistsAndNotEmpty('respondToCantonOffer', 'offerId', offerId) + const localVarPath = `/operations/canton/offers/{offerId}/responses` + .replace(`{${"offerId"}}`, encodeURIComponent(String(offerId))); + // 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: 'POST', ...baseOptions, ...options}; + // Stamped onto the request config (not the headers, so it never goes on + // the wire) so the response interceptor can name the operation in the + // lifecycle warning. Key must match OPERATION_ID_CONFIG_KEY in utils/lifecycleWarning. + (localVarRequestOptions as any).fireblocksOperationId = 'respondToCantonOffer'; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + if (idempotencyKey != null) { + localVarHeaderParameter['Idempotency-Key'] = String(idempotencyKey); + } + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(offerResponse, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + } +}; + +/** + * CantonBetaApi - functional programming interface + * @export + */ +export const CantonBetaApiFp = function(configuration?: Configuration) { + const localVarAxiosParamCreator = CantonBetaApiAxiosParamCreator(configuration) + return { + /** + * Submits a Canton call from a vault account\'s Canton wallet. `type` selects the call and the shape of `payload`. + * @summary Make a Canton call + * @param {CantonCall} cantonCall + * @param {string} [idempotencyKey] A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async createCantonCall(cantonCall: CantonCall, idempotencyKey?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.createCantonCall(cantonCall, idempotencyKey, options); + const index = configuration?.serverIndex ?? 0; + const operationBasePath = operationServerMap['CantonBetaApi.createCantonCall']?.[index]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath); + }, + /** + * Responds to an incoming Canton offer. Set `responseType` to one of the values in the offer transaction\'s `cantonDetails.offerResponse.availableResponses`. + * @summary Answer an offer + * @param {OfferResponse} offerResponse + * @param {string} offerId The Fireblocks transaction id of the incoming offer being answered. + * @param {string} [idempotencyKey] A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async respondToCantonOffer(offerResponse: OfferResponse, offerId: string, idempotencyKey?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.respondToCantonOffer(offerResponse, offerId, idempotencyKey, options); + const index = configuration?.serverIndex ?? 0; + const operationBasePath = operationServerMap['CantonBetaApi.respondToCantonOffer']?.[index]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath); + }, + } +}; + +/** + * CantonBetaApi - factory interface + * @export + */ +export const CantonBetaApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { + const localVarFp = CantonBetaApiFp(configuration) + return { + /** + * Submits a Canton call from a vault account\'s Canton wallet. `type` selects the call and the shape of `payload`. + * @summary Make a Canton call + * @param {CantonBetaApiCreateCantonCallRequest} requestParameters Request parameters. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + createCantonCall(requestParameters: CantonBetaApiCreateCantonCallRequest, options?: RawAxiosRequestConfig): AxiosPromise { + return localVarFp.createCantonCall(requestParameters.cantonCall, requestParameters.idempotencyKey, options).then((request) => request(axios, basePath)); + }, + /** + * Responds to an incoming Canton offer. Set `responseType` to one of the values in the offer transaction\'s `cantonDetails.offerResponse.availableResponses`. + * @summary Answer an offer + * @param {CantonBetaApiRespondToCantonOfferRequest} requestParameters Request parameters. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + respondToCantonOffer(requestParameters: CantonBetaApiRespondToCantonOfferRequest, options?: RawAxiosRequestConfig): AxiosPromise { + return localVarFp.respondToCantonOffer(requestParameters.offerResponse, requestParameters.offerId, requestParameters.idempotencyKey, options).then((request) => request(axios, basePath)); + }, + }; +}; + +/** + * Request parameters for createCantonCall operation in CantonBetaApi. + * @export + * @interface CantonBetaApiCreateCantonCallRequest + */ +export interface CantonBetaApiCreateCantonCallRequest { + /** + * + * @type {CantonCall} + * @memberof CantonBetaApiCreateCantonCall + */ + readonly cantonCall: CantonCall + + /** + * A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours. + * @type {string} + * @memberof CantonBetaApiCreateCantonCall + */ + readonly idempotencyKey?: string +} + +/** + * Request parameters for respondToCantonOffer operation in CantonBetaApi. + * @export + * @interface CantonBetaApiRespondToCantonOfferRequest + */ +export interface CantonBetaApiRespondToCantonOfferRequest { + /** + * + * @type {OfferResponse} + * @memberof CantonBetaApiRespondToCantonOffer + */ + readonly offerResponse: OfferResponse + + /** + * The Fireblocks transaction id of the incoming offer being answered. + * @type {string} + * @memberof CantonBetaApiRespondToCantonOffer + */ + readonly offerId: string + + /** + * A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours. + * @type {string} + * @memberof CantonBetaApiRespondToCantonOffer + */ + readonly idempotencyKey?: string +} + +/** + * CantonBetaApi - object-oriented interface + * @export + * @class CantonBetaApi + * @extends {BaseAPI} + */ +export class CantonBetaApi extends BaseAPI { + /** + * Submits a Canton call from a vault account\'s Canton wallet. `type` selects the call and the shape of `payload`. + * @summary Make a Canton call + * @param {CantonBetaApiCreateCantonCallRequest} requestParameters Request parameters. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof CantonBetaApi + */ + public createCantonCall(requestParameters: CantonBetaApiCreateCantonCallRequest) { + return CantonBetaApiFp(this.configuration).createCantonCall(requestParameters.cantonCall, requestParameters.idempotencyKey).then((request) => request(this.axios, this.basePath)).then(convertToFireblocksResponse); + } + + /** + * Responds to an incoming Canton offer. Set `responseType` to one of the values in the offer transaction\'s `cantonDetails.offerResponse.availableResponses`. + * @summary Answer an offer + * @param {CantonBetaApiRespondToCantonOfferRequest} requestParameters Request parameters. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof CantonBetaApi + */ + public respondToCantonOffer(requestParameters: CantonBetaApiRespondToCantonOfferRequest) { + return CantonBetaApiFp(this.configuration).respondToCantonOffer(requestParameters.offerResponse, requestParameters.offerId, requestParameters.idempotencyKey).then((request) => request(this.axios, this.basePath)).then(convertToFireblocksResponse); + } +} + diff --git a/api/webhooks-v2-api.ts b/api/webhooks-v2-api.ts index 139b2bd2..1432ac54 100644 --- a/api/webhooks-v2-api.ts +++ b/api/webhooks-v2-api.ts @@ -382,7 +382,7 @@ export const WebhooksV2ApiAxiosParamCreator = function (configuration?: Configur }; }, /** - * Returns the Certificate Signing Request (CSR) PEM that customers use to generate their signed client certificate. The private key the CSR is built from is held by Fireblocks and is specific to this workspace. It is created on the first request for a given key type, and the same CSR is returned on subsequent requests for that type. Pass `keyAlgorithm` to choose RSA or ECDSA. A workspace may hold one key of each: the CSR returned is always the one for the type requested, so a certificate signed against it matches the key used at delivery time. + * Returns the Certificate Signing Request (CSR) PEM that customers use to generate their signed client certificate. The private key the CSR is built from is held by Fireblocks and is specific to this workspace. It is created on the first request for a given key type, and the same CSR is returned on subsequent requests for that type. Pass `keyAlgorithm` to choose RSA or ECDSA. A workspace may hold one key of each: the CSR returned is always the one for the type requested, so a certificate signed against it matches the key used at delivery time. **Endpoint Permissions:** Owner, Admin, Non-Signing Admin. * @summary Get mTLS CSR * @param {GetMtlsCsrKeyAlgorithmEnum} [keyAlgorithm] Algorithm of the private key the CSR is generated for. ECDSA keys are smaller and quicker to issue, but the certificate authority signing the request has to accept an EC subject key, which some do not by default. * @param {*} [options] Override http request option. @@ -1330,7 +1330,7 @@ export const WebhooksV2ApiFp = function(configuration?: Configuration) { return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath); }, /** - * Returns the Certificate Signing Request (CSR) PEM that customers use to generate their signed client certificate. The private key the CSR is built from is held by Fireblocks and is specific to this workspace. It is created on the first request for a given key type, and the same CSR is returned on subsequent requests for that type. Pass `keyAlgorithm` to choose RSA or ECDSA. A workspace may hold one key of each: the CSR returned is always the one for the type requested, so a certificate signed against it matches the key used at delivery time. + * Returns the Certificate Signing Request (CSR) PEM that customers use to generate their signed client certificate. The private key the CSR is built from is held by Fireblocks and is specific to this workspace. It is created on the first request for a given key type, and the same CSR is returned on subsequent requests for that type. Pass `keyAlgorithm` to choose RSA or ECDSA. A workspace may hold one key of each: the CSR returned is always the one for the type requested, so a certificate signed against it matches the key used at delivery time. **Endpoint Permissions:** Owner, Admin, Non-Signing Admin. * @summary Get mTLS CSR * @param {GetMtlsCsrKeyAlgorithmEnum} [keyAlgorithm] Algorithm of the private key the CSR is generated for. ECDSA keys are smaller and quicker to issue, but the certificate authority signing the request has to accept an EC subject key, which some do not by default. * @param {*} [options] Override http request option. @@ -1685,7 +1685,7 @@ export const WebhooksV2ApiFactory = function (configuration?: Configuration, bas return localVarFp.getMetrics(requestParameters.webhookId, requestParameters.metricName, options).then((request) => request(axios, basePath)); }, /** - * Returns the Certificate Signing Request (CSR) PEM that customers use to generate their signed client certificate. The private key the CSR is built from is held by Fireblocks and is specific to this workspace. It is created on the first request for a given key type, and the same CSR is returned on subsequent requests for that type. Pass `keyAlgorithm` to choose RSA or ECDSA. A workspace may hold one key of each: the CSR returned is always the one for the type requested, so a certificate signed against it matches the key used at delivery time. + * Returns the Certificate Signing Request (CSR) PEM that customers use to generate their signed client certificate. The private key the CSR is built from is held by Fireblocks and is specific to this workspace. It is created on the first request for a given key type, and the same CSR is returned on subsequent requests for that type. Pass `keyAlgorithm` to choose RSA or ECDSA. A workspace may hold one key of each: the CSR returned is always the one for the type requested, so a certificate signed against it matches the key used at delivery time. **Endpoint Permissions:** Owner, Admin, Non-Signing Admin. * @summary Get mTLS CSR * @param {WebhooksV2ApiGetMtlsCsrRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. @@ -2563,7 +2563,7 @@ export class WebhooksV2Api extends BaseAPI { } /** - * Returns the Certificate Signing Request (CSR) PEM that customers use to generate their signed client certificate. The private key the CSR is built from is held by Fireblocks and is specific to this workspace. It is created on the first request for a given key type, and the same CSR is returned on subsequent requests for that type. Pass `keyAlgorithm` to choose RSA or ECDSA. A workspace may hold one key of each: the CSR returned is always the one for the type requested, so a certificate signed against it matches the key used at delivery time. + * Returns the Certificate Signing Request (CSR) PEM that customers use to generate their signed client certificate. The private key the CSR is built from is held by Fireblocks and is specific to this workspace. It is created on the first request for a given key type, and the same CSR is returned on subsequent requests for that type. Pass `keyAlgorithm` to choose RSA or ECDSA. A workspace may hold one key of each: the CSR returned is always the one for the type requested, so a certificate signed against it matches the key used at delivery time. **Endpoint Permissions:** Owner, Admin, Non-Signing Admin. * @summary Get mTLS CSR * @param {WebhooksV2ApiGetMtlsCsrRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. diff --git a/client/client.ts b/client/client.ts index bed3c8af..38060cda 100644 --- a/client/client.ts +++ b/client/client.ts @@ -17,6 +17,7 @@ import { ApiUserApi, AuditLogsApi, BlockchainLinkBetaApi, BlockchainsAssetsApi, + CantonBetaApi, ComplianceApi, ComplianceOrchestratorBetaApi, ComplianceScreeningConfigurationApi, @@ -81,6 +82,7 @@ export class Fireblocks { private _auditLogs?: AuditLogsApi; private _blockchainLinkBeta?: BlockchainLinkBetaApi; private _blockchainsAssets?: BlockchainsAssetsApi; + private _cantonBeta?: CantonBetaApi; private _compliance?: ComplianceApi; private _complianceOrchestratorBeta?: ComplianceOrchestratorBetaApi; private _complianceScreeningConfiguration?: ComplianceScreeningConfigurationApi; @@ -169,6 +171,9 @@ export class Fireblocks { get blockchainsAssets(): BlockchainsAssetsApi { return this._blockchainsAssets ?? new BlockchainsAssetsApi(this.config, undefined, this.axiosManager.axios); } + get cantonBeta(): CantonBetaApi { + return this._cantonBeta ?? new CantonBetaApi(this.config, undefined, this.axiosManager.axios); + } get compliance(): ComplianceApi { return this._compliance ?? new ComplianceApi(this.config, undefined, this.axiosManager.axios); } diff --git a/docs/apis/ApiUserApi.md b/docs/apis/ApiUserApi.md index fcb3f990..598ed15b 100644 --- a/docs/apis/ApiUserApi.md +++ b/docs/apis/ApiUserApi.md @@ -136,7 +136,7 @@ No authorization required # **issueApiUserPairingToken** > IssueApiUserPairingTokenResponse issueApiUserPairingToken() -Issues a device pairing token for the given user and returns the user\'s info along with the token. - The API user must be in PENDING_ACTIVATION status. If the user is already set up (enabled), the request is rejected with a 409 Conflict. - Please note that this endpoint is available only for API keys with Owner/Admin/Non Signing Admin permissions. Endpoint Permission: Owner, Admin, Non-Signing Admin. +Issues a device pairing token for the given user and returns the user\'s info along with the token. - The API user must be in PENDING_ACTIVATION status. If the user is already set up (enabled), the request is rejected with a 409 Conflict. - Please note that this endpoint is available only for API keys with Owner/Admin/Non Signing Admin permissions. - This is the same pairing token that the API Co-signer requests during installation and when you pair an additional API user with an existing Co-signer. You can use this endpoint instead of copying the token from Pair API user in the Console. The token is valid for one hour. ### Example diff --git a/docs/apis/CantonBetaApi.md b/docs/apis/CantonBetaApi.md new file mode 100644 index 00000000..effa0a08 --- /dev/null +++ b/docs/apis/CantonBetaApi.md @@ -0,0 +1,148 @@ +# CantonBetaApi + +All URIs are relative to https://developers.fireblocks.com/reference/ + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**createCantonCall**](#createCantonCall) | **POST** /operations/canton/calls | Make a Canton call +[**respondToCantonOffer**](#respondToCantonOffer) | **POST** /operations/canton/offers/{offerId}/responses | Answer an offer + + +# **createCantonCall** +> CallAccepted createCantonCall(cantonCall) + +Submits a Canton call from a vault account\'s Canton wallet. `type` selects the call and the shape of `payload`. + +### Example + + +```typescript +import { readFileSync } from 'fs'; +import { Fireblocks, BasePath } from '@fireblocks/ts-sdk'; +import type { FireblocksResponse, CantonBetaApiCreateCantonCallRequest, CallAccepted } 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: CantonBetaApiCreateCantonCallRequest = { + // CantonCall + cantonCall: param_value, + // string | A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours. (optional) + idempotencyKey: idempotencyKey_example, +}; + +fireblocks.cantonBeta.createCantonCall(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 +------------- | ------------- | ------------- | ------------- + **cantonCall** | **[CantonCall](../models/CantonCall.md)**| | + **idempotencyKey** | [**string**] | A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours. | (optional) defaults to undefined + + +### Return type + +**[CallAccepted](../models/CallAccepted.md)** + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**201** | The outgoing transaction that carries the call. | * X-Request-ID -
| +**400** | Unknown or missing type, a missing required payload field, or an invalid party id, blockchainId, or expiry | * X-Request-ID -
| +**404** | No Canton wallet for this vault account and blockchainId, or an unknown end investor for this tenant | * X-Request-ID -
| +**409** | The target is not in a state this call can act on, or more than one candidate contract matched the wallet | * X-Request-ID -
| +**501** | This call type is not yet available: DTCC_END_INVESTOR_INVITE_CANCEL, DTCC_ALLOW_LIST_ADD, DTCC_ALLOW_LIST_REMOVE | * 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) + +# **respondToCantonOffer** +> OfferResponseAccepted respondToCantonOffer(offerResponse, ) + +Responds to an incoming Canton offer. Set `responseType` to one of the values in the offer transaction\'s `cantonDetails.offerResponse.availableResponses`. + +### Example + + +```typescript +import { readFileSync } from 'fs'; +import { Fireblocks, BasePath } from '@fireblocks/ts-sdk'; +import type { FireblocksResponse, CantonBetaApiRespondToCantonOfferRequest, OfferResponseAccepted } 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: CantonBetaApiRespondToCantonOfferRequest = { + // OfferResponse + offerResponse: param_value, + // string | The Fireblocks transaction id of the incoming offer being answered. + offerId: 5a1d8b0f-2c31-4c7e-9d0a-118e7b6c4a21, + // string | A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours. (optional) + idempotencyKey: idempotencyKey_example, +}; + +fireblocks.cantonBeta.respondToCantonOffer(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 +------------- | ------------- | ------------- | ------------- + **offerResponse** | **[OfferResponse](../models/OfferResponse.md)**| | + **offerId** | [**string**] | The Fireblocks transaction id of the incoming offer being answered. | defaults to undefined + **idempotencyKey** | [**string**] | A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours. | (optional) defaults to undefined + + +### Return type + +**[OfferResponseAccepted](../models/OfferResponseAccepted.md)** + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**201** | The outgoing transaction that carries the response. Its on-chain outcome arrives by webhook as a status update on this transaction. | * X-Request-ID -
| +**400** | Unknown or missing responseType, or a missing required payload field, or the response is not available to this workspace\'s side of the offer (a sender sending accept/reject, a receiver sending withdraw) | * X-Request-ID -
| +**404** | Unknown offer id for this tenant | * X-Request-ID -
| +**409** | The offer cannot take this response now. An accept or reject: the offer is already answered, expired, or a response is in flight. ALLOCATION_WITHDRAW — which is sent AFTER the accept, on the same offer: the allocation is not ALLOCATED, because the accept has not settled yet, or it was already withdrawn or settled by the venue. The message names the state. | * X-Request-ID -
| +**501** | This responseType is not yet available | * 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/apis/WebhooksV2Api.md b/docs/apis/WebhooksV2Api.md index 23767389..5e352760 100644 --- a/docs/apis/WebhooksV2Api.md +++ b/docs/apis/WebhooksV2Api.md @@ -475,7 +475,7 @@ No authorization required # **getMtlsCsr** > WebhookMtlsCsrResponse getMtlsCsr() -Returns the Certificate Signing Request (CSR) PEM that customers use to generate their signed client certificate. The private key the CSR is built from is held by Fireblocks and is specific to this workspace. It is created on the first request for a given key type, and the same CSR is returned on subsequent requests for that type. Pass `keyAlgorithm` to choose RSA or ECDSA. A workspace may hold one key of each: the CSR returned is always the one for the type requested, so a certificate signed against it matches the key used at delivery time. +Returns the Certificate Signing Request (CSR) PEM that customers use to generate their signed client certificate. The private key the CSR is built from is held by Fireblocks and is specific to this workspace. It is created on the first request for a given key type, and the same CSR is returned on subsequent requests for that type. Pass `keyAlgorithm` to choose RSA or ECDSA. A workspace may hold one key of each: the CSR returned is always the one for the type requested, so a certificate signed against it matches the key used at delivery time. **Endpoint Permissions:** Owner, Admin, Non-Signing Admin. ### Example diff --git a/docs/models/OfferResponse.md b/docs/models/OfferResponse.md index d0ab209a..8a611a33 100644 --- a/docs/models/OfferResponse.md +++ b/docs/models/OfferResponse.md @@ -4,7 +4,7 @@ |Name | Type | Description | Notes| |------------ | ------------- | ------------- | -------------| -|**responseType** | **string** | How you are answering the offer. Must be one of the values listed in the transaction\'s `cantonDetails.offerResponse.availableResponses` — TOP-LEVEL on the transaction, not nested under an `additionalInfo` envelope, which does not exist on `TransactionResponse`. `availableResponses` states what this offer TYPE accepts. It is set when the offer arrives and does not change, so it does NOT tell you whether the offer is still answerable — check `expiresAt` and the transaction\'s status for that, and expect this endpoint to be the authority: it re-checks state and expiry on every call and answers 409 when either has moved. | [default to undefined]| +|**responseType** | **string** | How you are answering the offer — one of the offer transaction\'s `cantonDetails.offerResponse.availableResponses`. That list does not change after the offer arrives; check `expiresAt` and the transaction status to see whether it is still answerable. | [default to undefined]| |**payload** | [**DtccOnboardingRejectPayload**](DtccOnboardingRejectPayload.md) | | [default to undefined]| diff --git a/docs/models/OfferResponseAllocationAccept.md b/docs/models/OfferResponseAllocationAccept.md index e410b4e6..59c766f7 100644 --- a/docs/models/OfferResponseAllocationAccept.md +++ b/docs/models/OfferResponseAllocationAccept.md @@ -4,7 +4,7 @@ |Name | Type | Description | Notes| |------------ | ------------- | ------------- | -------------| -|**responseType** | **string** | How you are answering the offer. Must be one of the values listed in the transaction\'s `cantonDetails.offerResponse.availableResponses` — TOP-LEVEL on the transaction, not nested under an `additionalInfo` envelope, which does not exist on `TransactionResponse`. `availableResponses` states what this offer TYPE accepts. It is set when the offer arrives and does not change, so it does NOT tell you whether the offer is still answerable — check `expiresAt` and the transaction\'s status for that, and expect this endpoint to be the authority: it re-checks state and expiry on every call and answers 409 when either has moved. | [default to undefined]| +|**responseType** | **string** | How you are answering the offer — one of the offer transaction\'s `cantonDetails.offerResponse.availableResponses`. That list does not change after the offer arrives; check `expiresAt` and the transaction status to see whether it is still answerable. | [default to undefined]| ## Enum: OfferResponseAllocationAcceptResponseTypeEnum diff --git a/docs/models/OfferResponseAllocationReject.md b/docs/models/OfferResponseAllocationReject.md index 339d2298..8ea74dd0 100644 --- a/docs/models/OfferResponseAllocationReject.md +++ b/docs/models/OfferResponseAllocationReject.md @@ -4,7 +4,7 @@ |Name | Type | Description | Notes| |------------ | ------------- | ------------- | -------------| -|**responseType** | **string** | How you are answering the offer. Must be one of the values listed in the transaction\'s `cantonDetails.offerResponse.availableResponses` — TOP-LEVEL on the transaction, not nested under an `additionalInfo` envelope, which does not exist on `TransactionResponse`. `availableResponses` states what this offer TYPE accepts. It is set when the offer arrives and does not change, so it does NOT tell you whether the offer is still answerable — check `expiresAt` and the transaction\'s status for that, and expect this endpoint to be the authority: it re-checks state and expiry on every call and answers 409 when either has moved. | [default to undefined]| +|**responseType** | **string** | How you are answering the offer — one of the offer transaction\'s `cantonDetails.offerResponse.availableResponses`. That list does not change after the offer arrives; check `expiresAt` and the transaction status to see whether it is still answerable. | [default to undefined]| ## Enum: OfferResponseAllocationRejectResponseTypeEnum diff --git a/docs/models/OfferResponseAllocationWithdraw.md b/docs/models/OfferResponseAllocationWithdraw.md index 4d19883a..2b723b95 100644 --- a/docs/models/OfferResponseAllocationWithdraw.md +++ b/docs/models/OfferResponseAllocationWithdraw.md @@ -4,7 +4,7 @@ |Name | Type | Description | Notes| |------------ | ------------- | ------------- | -------------| -|**responseType** | **string** | How you are answering the offer. Must be one of the values listed in the transaction\'s `cantonDetails.offerResponse.availableResponses` — TOP-LEVEL on the transaction, not nested under an `additionalInfo` envelope, which does not exist on `TransactionResponse`. `availableResponses` states what this offer TYPE accepts. It is set when the offer arrives and does not change, so it does NOT tell you whether the offer is still answerable — check `expiresAt` and the transaction\'s status for that, and expect this endpoint to be the authority: it re-checks state and expiry on every call and answers 409 when either has moved. | [default to undefined]| +|**responseType** | **string** | How you are answering the offer — one of the offer transaction\'s `cantonDetails.offerResponse.availableResponses`. That list does not change after the offer arrives; check `expiresAt` and the transaction status to see whether it is still answerable. | [default to undefined]| ## Enum: OfferResponseAllocationWithdrawResponseTypeEnum diff --git a/docs/models/OfferResponseDtccOnboardingAccept.md b/docs/models/OfferResponseDtccOnboardingAccept.md index 71baf0dc..37d78d25 100644 --- a/docs/models/OfferResponseDtccOnboardingAccept.md +++ b/docs/models/OfferResponseDtccOnboardingAccept.md @@ -4,7 +4,7 @@ |Name | Type | Description | Notes| |------------ | ------------- | ------------- | -------------| -|**responseType** | **string** | How you are answering the offer. Must be one of the values listed in the transaction\'s `cantonDetails.offerResponse.availableResponses` — TOP-LEVEL on the transaction, not nested under an `additionalInfo` envelope, which does not exist on `TransactionResponse`. `availableResponses` states what this offer TYPE accepts. It is set when the offer arrives and does not change, so it does NOT tell you whether the offer is still answerable — check `expiresAt` and the transaction\'s status for that, and expect this endpoint to be the authority: it re-checks state and expiry on every call and answers 409 when either has moved. | [default to undefined]| +|**responseType** | **string** | How you are answering the offer — one of the offer transaction\'s `cantonDetails.offerResponse.availableResponses`. That list does not change after the offer arrives; check `expiresAt` and the transaction status to see whether it is still answerable. | [default to undefined]| ## Enum: OfferResponseDtccOnboardingAcceptResponseTypeEnum diff --git a/docs/models/OfferResponseDtccOnboardingReject.md b/docs/models/OfferResponseDtccOnboardingReject.md index 3b5e33a2..f659ef04 100644 --- a/docs/models/OfferResponseDtccOnboardingReject.md +++ b/docs/models/OfferResponseDtccOnboardingReject.md @@ -4,7 +4,7 @@ |Name | Type | Description | Notes| |------------ | ------------- | ------------- | -------------| -|**responseType** | **string** | How you are answering the offer. Must be one of the values listed in the transaction\'s `cantonDetails.offerResponse.availableResponses` — TOP-LEVEL on the transaction, not nested under an `additionalInfo` envelope, which does not exist on `TransactionResponse`. `availableResponses` states what this offer TYPE accepts. It is set when the offer arrives and does not change, so it does NOT tell you whether the offer is still answerable — check `expiresAt` and the transaction\'s status for that, and expect this endpoint to be the authority: it re-checks state and expiry on every call and answers 409 when either has moved. | [default to undefined]| +|**responseType** | **string** | How you are answering the offer — one of the offer transaction\'s `cantonDetails.offerResponse.availableResponses`. That list does not change after the offer arrives; check `expiresAt` and the transaction status to see whether it is still answerable. | [default to undefined]| |**payload** | [**DtccOnboardingRejectPayload**](DtccOnboardingRejectPayload.md) | | [default to undefined]| diff --git a/docs/models/OfferResponseTradewebAccept.md b/docs/models/OfferResponseTradewebAccept.md index 33524632..b1914dda 100644 --- a/docs/models/OfferResponseTradewebAccept.md +++ b/docs/models/OfferResponseTradewebAccept.md @@ -4,7 +4,7 @@ |Name | Type | Description | Notes| |------------ | ------------- | ------------- | -------------| -|**responseType** | **string** | How you are answering the offer. Must be one of the values listed in the transaction\'s `cantonDetails.offerResponse.availableResponses` — TOP-LEVEL on the transaction, not nested under an `additionalInfo` envelope, which does not exist on `TransactionResponse`. `availableResponses` states what this offer TYPE accepts. It is set when the offer arrives and does not change, so it does NOT tell you whether the offer is still answerable — check `expiresAt` and the transaction\'s status for that, and expect this endpoint to be the authority: it re-checks state and expiry on every call and answers 409 when either has moved. | [default to undefined]| +|**responseType** | **string** | How you are answering the offer — one of the offer transaction\'s `cantonDetails.offerResponse.availableResponses`. That list does not change after the offer arrives; check `expiresAt` and the transaction status to see whether it is still answerable. | [default to undefined]| ## Enum: OfferResponseTradewebAcceptResponseTypeEnum diff --git a/docs/models/OfferResponseTradewebReject.md b/docs/models/OfferResponseTradewebReject.md index 7ae31289..d4e03c39 100644 --- a/docs/models/OfferResponseTradewebReject.md +++ b/docs/models/OfferResponseTradewebReject.md @@ -4,7 +4,7 @@ |Name | Type | Description | Notes| |------------ | ------------- | ------------- | -------------| -|**responseType** | **string** | How you are answering the offer. Must be one of the values listed in the transaction\'s `cantonDetails.offerResponse.availableResponses` — TOP-LEVEL on the transaction, not nested under an `additionalInfo` envelope, which does not exist on `TransactionResponse`. `availableResponses` states what this offer TYPE accepts. It is set when the offer arrives and does not change, so it does NOT tell you whether the offer is still answerable — check `expiresAt` and the transaction\'s status for that, and expect this endpoint to be the authority: it re-checks state and expiry on every call and answers 409 when either has moved. | [default to undefined]| +|**responseType** | **string** | How you are answering the offer — one of the offer transaction\'s `cantonDetails.offerResponse.availableResponses`. That list does not change after the offer arrives; check `expiresAt` and the transaction status to see whether it is still answerable. | [default to undefined]| ## Enum: OfferResponseTradewebRejectResponseTypeEnum diff --git a/docs/models/OfferResponseTransferAccept.md b/docs/models/OfferResponseTransferAccept.md index a20e1e17..f6ebf299 100644 --- a/docs/models/OfferResponseTransferAccept.md +++ b/docs/models/OfferResponseTransferAccept.md @@ -4,7 +4,7 @@ |Name | Type | Description | Notes| |------------ | ------------- | ------------- | -------------| -|**responseType** | **string** | How you are answering the offer. Must be one of the values listed in the transaction\'s `cantonDetails.offerResponse.availableResponses` — TOP-LEVEL on the transaction, not nested under an `additionalInfo` envelope, which does not exist on `TransactionResponse`. `availableResponses` states what this offer TYPE accepts. It is set when the offer arrives and does not change, so it does NOT tell you whether the offer is still answerable — check `expiresAt` and the transaction\'s status for that, and expect this endpoint to be the authority: it re-checks state and expiry on every call and answers 409 when either has moved. | [default to undefined]| +|**responseType** | **string** | How you are answering the offer — one of the offer transaction\'s `cantonDetails.offerResponse.availableResponses`. That list does not change after the offer arrives; check `expiresAt` and the transaction status to see whether it is still answerable. | [default to undefined]| ## Enum: OfferResponseTransferAcceptResponseTypeEnum diff --git a/docs/models/OfferResponseTransferReject.md b/docs/models/OfferResponseTransferReject.md index bf18da32..d8c307f5 100644 --- a/docs/models/OfferResponseTransferReject.md +++ b/docs/models/OfferResponseTransferReject.md @@ -4,7 +4,7 @@ |Name | Type | Description | Notes| |------------ | ------------- | ------------- | -------------| -|**responseType** | **string** | How you are answering the offer. Must be one of the values listed in the transaction\'s `cantonDetails.offerResponse.availableResponses` — TOP-LEVEL on the transaction, not nested under an `additionalInfo` envelope, which does not exist on `TransactionResponse`. `availableResponses` states what this offer TYPE accepts. It is set when the offer arrives and does not change, so it does NOT tell you whether the offer is still answerable — check `expiresAt` and the transaction\'s status for that, and expect this endpoint to be the authority: it re-checks state and expiry on every call and answers 409 when either has moved. | [default to undefined]| +|**responseType** | **string** | How you are answering the offer — one of the offer transaction\'s `cantonDetails.offerResponse.availableResponses`. That list does not change after the offer arrives; check `expiresAt` and the transaction status to see whether it is still answerable. | [default to undefined]| ## Enum: OfferResponseTransferRejectResponseTypeEnum diff --git a/docs/models/OfferResponseTransferWithdraw.md b/docs/models/OfferResponseTransferWithdraw.md index 00adee11..4fe25f97 100644 --- a/docs/models/OfferResponseTransferWithdraw.md +++ b/docs/models/OfferResponseTransferWithdraw.md @@ -4,7 +4,7 @@ |Name | Type | Description | Notes| |------------ | ------------- | ------------- | -------------| -|**responseType** | **string** | How you are answering the offer. Must be one of the values listed in the transaction\'s `cantonDetails.offerResponse.availableResponses` — TOP-LEVEL on the transaction, not nested under an `additionalInfo` envelope, which does not exist on `TransactionResponse`. `availableResponses` states what this offer TYPE accepts. It is set when the offer arrives and does not change, so it does NOT tell you whether the offer is still answerable — check `expiresAt` and the transaction\'s status for that, and expect this endpoint to be the authority: it re-checks state and expiry on every call and answers 409 when either has moved. | [default to undefined]| +|**responseType** | **string** | How you are answering the offer — one of the offer transaction\'s `cantonDetails.offerResponse.availableResponses`. That list does not change after the offer arrives; check `expiresAt` and the transaction status to see whether it is still answerable. | [default to undefined]| ## Enum: OfferResponseTransferWithdrawResponseTypeEnum diff --git a/docs/models/TrustProofOfAddressRequest.md b/docs/models/TrustProofOfAddressRequest.md index cd81239e..bb2659a9 100644 --- a/docs/models/TrustProofOfAddressRequest.md +++ b/docs/models/TrustProofOfAddressRequest.md @@ -8,6 +8,7 @@ |**asset** | **string** | The asset identifier for which proof of address is being created. | [default to undefined]| |**prefix** | **string** | The prefix to be used for signing messages. | [default to undefined]| |**trustUuid** | **string** | A unique identifier (UUID) obtained from TRUST (CreateAddressOwnership) | [default to undefined]| +|**address** | **string** | Optional non-default (derived) address of the vault account to prove. Supported for UTXO assets only (`BTC`, `BTC_TEST`). The address must belong to the vault account for the given asset. Both SegWit and Legacy address forms are accepted. When omitted, the proof is created for the default (index 0) address of the vault account. | [optional] [default to undefined]| diff --git a/docs/models/TrustProofOfAddressResponse.md b/docs/models/TrustProofOfAddressResponse.md index 1c1fa6e9..8c58f6be 100644 --- a/docs/models/TrustProofOfAddressResponse.md +++ b/docs/models/TrustProofOfAddressResponse.md @@ -7,6 +7,7 @@ |**transactionId** | **string** | Transaction ID from Fireblocks (UUID format) | [default to undefined]| |**status** | [**TypedMessageTransactionStatusEnum**](TypedMessageTransactionStatusEnum.md) | | [default to undefined]| |**signature** | **string** | TRUST-compatible encoded signature for proof of address verification. | [default to undefined]| +|**publicKey** | **string** | Hex public key of the Fireblocks vault key that produced the signature. Present only when `status` is `SIGNED` or `COMPLETED`, and only if Fireblocks returned it. TRUST requires this key for SUI, TON and XTZ (as `auxProofData.encryptedPublicKey`). | [optional] [default to undefined]| diff --git a/models/end-investor-payload.ts b/models/end-investor-payload.ts index 0f807184..2f385bce 100644 --- a/models/end-investor-payload.ts +++ b/models/end-investor-payload.ts @@ -15,7 +15,7 @@ /** - * Shared by invite / invite-cancel / offboard — identical wire shape, different verb. + * The end investor a call acts on. * @export * @interface EndInvestorPayload */ diff --git a/models/offer-response-allocation-accept.ts b/models/offer-response-allocation-accept.ts index 158ce092..711bd8b1 100644 --- a/models/offer-response-allocation-accept.ts +++ b/models/offer-response-allocation-accept.ts @@ -21,7 +21,7 @@ */ export interface OfferResponseAllocationAccept { /** - * How you are answering the offer. Must be one of the values listed in the transaction\'s `cantonDetails.offerResponse.availableResponses` — TOP-LEVEL on the transaction, not nested under an `additionalInfo` envelope, which does not exist on `TransactionResponse`. `availableResponses` states what this offer TYPE accepts. It is set when the offer arrives and does not change, so it does NOT tell you whether the offer is still answerable — check `expiresAt` and the transaction\'s status for that, and expect this endpoint to be the authority: it re-checks state and expiry on every call and answers 409 when either has moved. + * How you are answering the offer — one of the offer transaction\'s `cantonDetails.offerResponse.availableResponses`. That list does not change after the offer arrives; check `expiresAt` and the transaction status to see whether it is still answerable. * @type {string} * @memberof OfferResponseAllocationAccept */ diff --git a/models/offer-response-allocation-reject.ts b/models/offer-response-allocation-reject.ts index 241166c0..d59fd239 100644 --- a/models/offer-response-allocation-reject.ts +++ b/models/offer-response-allocation-reject.ts @@ -21,7 +21,7 @@ */ export interface OfferResponseAllocationReject { /** - * How you are answering the offer. Must be one of the values listed in the transaction\'s `cantonDetails.offerResponse.availableResponses` — TOP-LEVEL on the transaction, not nested under an `additionalInfo` envelope, which does not exist on `TransactionResponse`. `availableResponses` states what this offer TYPE accepts. It is set when the offer arrives and does not change, so it does NOT tell you whether the offer is still answerable — check `expiresAt` and the transaction\'s status for that, and expect this endpoint to be the authority: it re-checks state and expiry on every call and answers 409 when either has moved. + * How you are answering the offer — one of the offer transaction\'s `cantonDetails.offerResponse.availableResponses`. That list does not change after the offer arrives; check `expiresAt` and the transaction status to see whether it is still answerable. * @type {string} * @memberof OfferResponseAllocationReject */ diff --git a/models/offer-response-allocation-withdraw.ts b/models/offer-response-allocation-withdraw.ts index cccff4ff..c8489d70 100644 --- a/models/offer-response-allocation-withdraw.ts +++ b/models/offer-response-allocation-withdraw.ts @@ -21,7 +21,7 @@ */ export interface OfferResponseAllocationWithdraw { /** - * How you are answering the offer. Must be one of the values listed in the transaction\'s `cantonDetails.offerResponse.availableResponses` — TOP-LEVEL on the transaction, not nested under an `additionalInfo` envelope, which does not exist on `TransactionResponse`. `availableResponses` states what this offer TYPE accepts. It is set when the offer arrives and does not change, so it does NOT tell you whether the offer is still answerable — check `expiresAt` and the transaction\'s status for that, and expect this endpoint to be the authority: it re-checks state and expiry on every call and answers 409 when either has moved. + * How you are answering the offer — one of the offer transaction\'s `cantonDetails.offerResponse.availableResponses`. That list does not change after the offer arrives; check `expiresAt` and the transaction status to see whether it is still answerable. * @type {string} * @memberof OfferResponseAllocationWithdraw */ diff --git a/models/offer-response-dtcc-onboarding-accept.ts b/models/offer-response-dtcc-onboarding-accept.ts index 78308a71..d095a234 100644 --- a/models/offer-response-dtcc-onboarding-accept.ts +++ b/models/offer-response-dtcc-onboarding-accept.ts @@ -21,7 +21,7 @@ */ export interface OfferResponseDtccOnboardingAccept { /** - * How you are answering the offer. Must be one of the values listed in the transaction\'s `cantonDetails.offerResponse.availableResponses` — TOP-LEVEL on the transaction, not nested under an `additionalInfo` envelope, which does not exist on `TransactionResponse`. `availableResponses` states what this offer TYPE accepts. It is set when the offer arrives and does not change, so it does NOT tell you whether the offer is still answerable — check `expiresAt` and the transaction\'s status for that, and expect this endpoint to be the authority: it re-checks state and expiry on every call and answers 409 when either has moved. + * How you are answering the offer — one of the offer transaction\'s `cantonDetails.offerResponse.availableResponses`. That list does not change after the offer arrives; check `expiresAt` and the transaction status to see whether it is still answerable. * @type {string} * @memberof OfferResponseDtccOnboardingAccept */ diff --git a/models/offer-response-dtcc-onboarding-reject.ts b/models/offer-response-dtcc-onboarding-reject.ts index 8da467ae..68a7cd3e 100644 --- a/models/offer-response-dtcc-onboarding-reject.ts +++ b/models/offer-response-dtcc-onboarding-reject.ts @@ -24,7 +24,7 @@ import { DtccOnboardingRejectPayload } from './dtcc-onboarding-reject-payload'; */ export interface OfferResponseDtccOnboardingReject { /** - * How you are answering the offer. Must be one of the values listed in the transaction\'s `cantonDetails.offerResponse.availableResponses` — TOP-LEVEL on the transaction, not nested under an `additionalInfo` envelope, which does not exist on `TransactionResponse`. `availableResponses` states what this offer TYPE accepts. It is set when the offer arrives and does not change, so it does NOT tell you whether the offer is still answerable — check `expiresAt` and the transaction\'s status for that, and expect this endpoint to be the authority: it re-checks state and expiry on every call and answers 409 when either has moved. + * How you are answering the offer — one of the offer transaction\'s `cantonDetails.offerResponse.availableResponses`. That list does not change after the offer arrives; check `expiresAt` and the transaction status to see whether it is still answerable. * @type {string} * @memberof OfferResponseDtccOnboardingReject */ diff --git a/models/offer-response-tradeweb-accept.ts b/models/offer-response-tradeweb-accept.ts index cc623b0e..fb7d9fe7 100644 --- a/models/offer-response-tradeweb-accept.ts +++ b/models/offer-response-tradeweb-accept.ts @@ -21,7 +21,7 @@ */ export interface OfferResponseTradewebAccept { /** - * How you are answering the offer. Must be one of the values listed in the transaction\'s `cantonDetails.offerResponse.availableResponses` — TOP-LEVEL on the transaction, not nested under an `additionalInfo` envelope, which does not exist on `TransactionResponse`. `availableResponses` states what this offer TYPE accepts. It is set when the offer arrives and does not change, so it does NOT tell you whether the offer is still answerable — check `expiresAt` and the transaction\'s status for that, and expect this endpoint to be the authority: it re-checks state and expiry on every call and answers 409 when either has moved. + * How you are answering the offer — one of the offer transaction\'s `cantonDetails.offerResponse.availableResponses`. That list does not change after the offer arrives; check `expiresAt` and the transaction status to see whether it is still answerable. * @type {string} * @memberof OfferResponseTradewebAccept */ diff --git a/models/offer-response-tradeweb-reject.ts b/models/offer-response-tradeweb-reject.ts index 19ad913c..09f971c9 100644 --- a/models/offer-response-tradeweb-reject.ts +++ b/models/offer-response-tradeweb-reject.ts @@ -15,13 +15,13 @@ /** - * Reject a Tradeweb co-signing delegation offer. Carries no arguments — the DAR has nowhere on-ledger to record a reason, so none is accepted. + * Reject a Tradeweb co-signing delegation offer. Carries no arguments — Tradeweb does not record a reject reason on the ledger, so none is accepted. * @export * @interface OfferResponseTradewebReject */ export interface OfferResponseTradewebReject { /** - * How you are answering the offer. Must be one of the values listed in the transaction\'s `cantonDetails.offerResponse.availableResponses` — TOP-LEVEL on the transaction, not nested under an `additionalInfo` envelope, which does not exist on `TransactionResponse`. `availableResponses` states what this offer TYPE accepts. It is set when the offer arrives and does not change, so it does NOT tell you whether the offer is still answerable — check `expiresAt` and the transaction\'s status for that, and expect this endpoint to be the authority: it re-checks state and expiry on every call and answers 409 when either has moved. + * How you are answering the offer — one of the offer transaction\'s `cantonDetails.offerResponse.availableResponses`. That list does not change after the offer arrives; check `expiresAt` and the transaction status to see whether it is still answerable. * @type {string} * @memberof OfferResponseTradewebReject */ diff --git a/models/offer-response-transfer-accept.ts b/models/offer-response-transfer-accept.ts index 53fd48bb..9f16f446 100644 --- a/models/offer-response-transfer-accept.ts +++ b/models/offer-response-transfer-accept.ts @@ -21,7 +21,7 @@ */ export interface OfferResponseTransferAccept { /** - * How you are answering the offer. Must be one of the values listed in the transaction\'s `cantonDetails.offerResponse.availableResponses` — TOP-LEVEL on the transaction, not nested under an `additionalInfo` envelope, which does not exist on `TransactionResponse`. `availableResponses` states what this offer TYPE accepts. It is set when the offer arrives and does not change, so it does NOT tell you whether the offer is still answerable — check `expiresAt` and the transaction\'s status for that, and expect this endpoint to be the authority: it re-checks state and expiry on every call and answers 409 when either has moved. + * How you are answering the offer — one of the offer transaction\'s `cantonDetails.offerResponse.availableResponses`. That list does not change after the offer arrives; check `expiresAt` and the transaction status to see whether it is still answerable. * @type {string} * @memberof OfferResponseTransferAccept */ diff --git a/models/offer-response-transfer-reject.ts b/models/offer-response-transfer-reject.ts index c5f9ba54..6c4c519e 100644 --- a/models/offer-response-transfer-reject.ts +++ b/models/offer-response-transfer-reject.ts @@ -21,7 +21,7 @@ */ export interface OfferResponseTransferReject { /** - * How you are answering the offer. Must be one of the values listed in the transaction\'s `cantonDetails.offerResponse.availableResponses` — TOP-LEVEL on the transaction, not nested under an `additionalInfo` envelope, which does not exist on `TransactionResponse`. `availableResponses` states what this offer TYPE accepts. It is set when the offer arrives and does not change, so it does NOT tell you whether the offer is still answerable — check `expiresAt` and the transaction\'s status for that, and expect this endpoint to be the authority: it re-checks state and expiry on every call and answers 409 when either has moved. + * How you are answering the offer — one of the offer transaction\'s `cantonDetails.offerResponse.availableResponses`. That list does not change after the offer arrives; check `expiresAt` and the transaction status to see whether it is still answerable. * @type {string} * @memberof OfferResponseTransferReject */ diff --git a/models/offer-response-transfer-withdraw.ts b/models/offer-response-transfer-withdraw.ts index 062b66d6..8814b549 100644 --- a/models/offer-response-transfer-withdraw.ts +++ b/models/offer-response-transfer-withdraw.ts @@ -15,13 +15,13 @@ /** - * Withdraw your own OUTGOING transfer offer. Carries no arguments — `offerId` in the path is the offer, so the vault account and blockchain are resolved from it rather than restated. Was `CantonCallType.TRANSFER_WITHDRAW` with a 3-field payload until FA-10624. + * Withdraw your own outgoing transfer offer. Carries no arguments — `offerId` in the path identifies the offer, and the vault account and blockchain are resolved from it. * @export * @interface OfferResponseTransferWithdraw */ export interface OfferResponseTransferWithdraw { /** - * How you are answering the offer. Must be one of the values listed in the transaction\'s `cantonDetails.offerResponse.availableResponses` — TOP-LEVEL on the transaction, not nested under an `additionalInfo` envelope, which does not exist on `TransactionResponse`. `availableResponses` states what this offer TYPE accepts. It is set when the offer arrives and does not change, so it does NOT tell you whether the offer is still answerable — check `expiresAt` and the transaction\'s status for that, and expect this endpoint to be the authority: it re-checks state and expiry on every call and answers 409 when either has moved. + * How you are answering the offer — one of the offer transaction\'s `cantonDetails.offerResponse.availableResponses`. That list does not change after the offer arrives; check `expiresAt` and the transaction status to see whether it is still answerable. * @type {string} * @memberof OfferResponseTransferWithdraw */ diff --git a/models/trust-proof-of-address-request.ts b/models/trust-proof-of-address-request.ts index c6c1354e..a86a600c 100644 --- a/models/trust-proof-of-address-request.ts +++ b/models/trust-proof-of-address-request.ts @@ -44,5 +44,11 @@ export interface TrustProofOfAddressRequest { * @memberof TrustProofOfAddressRequest */ 'trustUuid': string; + /** + * Optional non-default (derived) address of the vault account to prove. Supported for UTXO assets only (`BTC`, `BTC_TEST`). The address must belong to the vault account for the given asset. Both SegWit and Legacy address forms are accepted. When omitted, the proof is created for the default (index 0) address of the vault account. + * @type {string} + * @memberof TrustProofOfAddressRequest + */ + 'address'?: string; } diff --git a/models/trust-proof-of-address-response.ts b/models/trust-proof-of-address-response.ts index 75854f26..35c1fc73 100644 --- a/models/trust-proof-of-address-response.ts +++ b/models/trust-proof-of-address-response.ts @@ -41,6 +41,12 @@ export interface TrustProofOfAddressResponse { * @memberof TrustProofOfAddressResponse */ 'signature': string; + /** + * Hex public key of the Fireblocks vault key that produced the signature. Present only when `status` is `SIGNED` or `COMPLETED`, and only if Fireblocks returned it. TRUST requires this key for SUI, TON and XTZ (as `auxProofData.encryptedPublicKey`). + * @type {string} + * @memberof TrustProofOfAddressResponse + */ + 'publicKey'?: string; } diff --git a/package-lock.json b/package-lock.json index 0ee257ad..303dd9c2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@fireblocks/ts-sdk", - "version": "35.0.0", + "version": "0.0.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@fireblocks/ts-sdk", - "version": "35.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.25", - "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.11.25.tgz", - "integrity": "sha512-gMmEShwwq7FJqMwvfRwvCl00v4kN+KOfJqXn+f4nrufak5gNHJOksd/60Dvjuz7sI8Y5WiSFBa8FEYr+zoyqCw==", + "version": "2.11.26", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.11.26.tgz", + "integrity": "sha512-GLQdD3y6UF8iVuMJl5fHgE4jdn/ua7n+toKfLgNlg3BqQtOZjpy68T8Tup8/wGWZCDlm7KMg7tPb4MPn7oN0TQ==", "dev": true, "license": "Apache-2.0", "bin": { @@ -1331,9 +1331,9 @@ } }, "node_modules/browserslist": { - "version": "4.29.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.29.0.tgz", - "integrity": "sha512-3GSvyjvDI4Dur1Meg2BekJquu5uF+9R9a1+5M1Mde192eZoXbeXjzgOsgqPS2V8D5wrrip0gR5Hf/GhWQ9ZzaA==", + "version": "4.29.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.29.3.tgz", + "integrity": "sha512-1R4kiYKXGViqEN0CnoDrXc1StD9niAwu+j2dukWzrD4bJgsD4lDmEp0CRbc6E/vYJIfTHwPmwyaKtVSudICdPA==", "dev": true, "funding": [ { @@ -1351,10 +1351,10 @@ ], "license": "MIT", "dependencies": { - "baseline-browser-mapping": "^2.11.23", - "caniuse-lite": "^1.0.30001810", - "electron-to-chromium": "^1.5.427", - "node-releases": "^2.0.55", + "baseline-browser-mapping": "^2.11.26", + "caniuse-lite": "^1.0.30001813", + "electron-to-chromium": "^1.5.439", + "node-releases": "^2.0.57", "update-browserslist-db": "^1.3.3" }, "bin": { @@ -1434,9 +1434,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001810", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001810.tgz", - "integrity": "sha512-TITQPUkaz+aVk5GL6NhOdwk1aEaNTSDPsGFWrTuhKGtjTF70jL/Oht2W4c6rXUe5fu7Ie19VIahAXHIIiWWNeg==", + "version": "1.0.30001813", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001813.tgz", + "integrity": "sha512-zfjJo4rM0+fUomGDBW/xcDjhIwz/210DGvip2MAMDZ8KHcRPnOHmEgHPZP0UHlZoxr8fYKVJOqcORhYQcG4FKQ==", "dev": true, "funding": [ { @@ -1715,9 +1715,9 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.5.435", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.435.tgz", - "integrity": "sha512-hwZNgb6JmRlmQX/L0yojyu6upuvtR7iGS1hB/9nc7I9vCsvekahqh3noFeXUBRirv9+Hk7E6v/LFz4CW6FvpWA==", + "version": "1.5.441", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.441.tgz", + "integrity": "sha512-b84H5dyxtHtXYbJRJPLvbS+iud4ys2GVZ61BH7/9lJrfCcIL+Sk+Vh2AW6beaErTdstvjZLgEwkE2j0fZlmwRA==", "dev": true, "license": "ISC" }, @@ -1925,9 +1925,9 @@ } }, "node_modules/follow-redirects": { - "version": "1.16.0", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.16.0.tgz", - "integrity": "sha512-y5rN/uOsadFT/JfYwhxRS5R7Qce+g3zG97+JrtFZlC9klX/W5hD7iiLzScI4nZqUS7DNUdhPgw4xI8W2LuXlUw==", + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.16.1.tgz", + "integrity": "sha512-FNvFGzoMLWmE6Yj9spb/zjd7yiNCHiAW9/Tg9CXrQ8wuu32HtlJOwWO11OJafl5FfY3DxTdQ0vj42zU1kvv5jg==", "funding": [ { "type": "individual", @@ -3371,9 +3371,9 @@ "license": "MIT" }, "node_modules/node-releases": { - "version": "2.0.56", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.56.tgz", - "integrity": "sha512-x0InOIyzgdk+eyaWaRJFH5snEtiImgBgblZ2CyPrLmqqcuMQkEvcDPHbzqbD8eDsSeJbVOjn+crzyzHaM4D+/A==", + "version": "2.0.57", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.57.tgz", + "integrity": "sha512-kQK9LGGFiHtrWiNhZtA7Qbw17AQz+dmsEKODRIVTXA9+e5MS/2gZEBhYJt13GrAz5/IOZKddH/0Z3TP/Zgo+yw==", "dev": true, "license": "MIT", "engines": { diff --git a/package.json b/package.json index f1bb9edf..584251d5 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@fireblocks/ts-sdk", - "version": "35.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 a7a603d6..dce0fdf5 100644 --- a/tests/client.spec.ts +++ b/tests/client.spec.ts @@ -16,6 +16,7 @@ ApprovalsBetaApi, AuditLogsApi, BlockchainLinkBetaApi, BlockchainsAssetsApi, +CantonBetaApi, ComplianceApi, ComplianceOrchestratorBetaApi, ComplianceScreeningConfigurationApi, @@ -78,6 +79,7 @@ let mockApprovalsBetaApi: jest.Mock; let mockAuditLogsApi: jest.Mock; let mockBlockchainLinkBetaApi: jest.Mock; let mockBlockchainsAssetsApi: jest.Mock; +let mockCantonBetaApi: jest.Mock; let mockComplianceApi: jest.Mock; let mockComplianceOrchestratorBetaApi: jest.Mock; let mockComplianceScreeningConfigurationApi: jest.Mock; @@ -137,6 +139,7 @@ jest.mock('../api', () => { mockAuditLogsApi = jest.fn(); mockBlockchainLinkBetaApi = jest.fn(); mockBlockchainsAssetsApi = jest.fn(); + mockCantonBetaApi = jest.fn(); mockComplianceApi = jest.fn(); mockComplianceOrchestratorBetaApi = jest.fn(); mockComplianceScreeningConfigurationApi = jest.fn(); @@ -197,6 +200,7 @@ jest.mock('../api', () => { AuditLogsApi: mockAuditLogsApi, BlockchainLinkBetaApi: mockBlockchainLinkBetaApi, BlockchainsAssetsApi: mockBlockchainsAssetsApi, + CantonBetaApi: mockCantonBetaApi, ComplianceApi: mockComplianceApi, ComplianceOrchestratorBetaApi: mockComplianceOrchestratorBetaApi, ComplianceScreeningConfigurationApi: mockComplianceScreeningConfigurationApi, @@ -348,6 +352,10 @@ describe("Fireblocks Client Tests", () => { expect(fireblocks.blockchainsAssets).toBeInstanceOf(BlockchainsAssetsApi); expect(mockBlockchainsAssetsApi).toHaveBeenCalledWith(expectedConfig, undefined, mockAxios); }); + it('Should return CantonBetaApi', async () => { + expect(fireblocks.cantonBeta).toBeInstanceOf(CantonBetaApi); + expect(mockCantonBetaApi).toHaveBeenCalledWith(expectedConfig, undefined, mockAxios); + }); it('Should return ComplianceApi', async () => { expect(fireblocks.compliance).toBeInstanceOf(ComplianceApi); expect(mockComplianceApi).toHaveBeenCalledWith(expectedConfig, undefined, mockAxios);