From f7e74aeee5f7af99c048b367c1352b49868142a4 Mon Sep 17 00:00:00 2001 From: Denis Dontsov Date: Tue, 2 Jun 2026 10:04:08 +0300 Subject: [PATCH] feat: support API 1.4.0 and MultiSigWallet v1.2.0 Add support for the latest DeFi API, including MultiSigWallet v1.2.0 operations and backend-provided signature blobs for execute calls. - Add contract version utilities for multisig operation signing - Update DefiClient, response mappers, and public types for the new API surface - Update transaction builders and EIP-712 / TIP-712 signing helpers (EVM + TRON) - Refresh runnable examples for payouts and full EVM/TRON flows - Regenerate API contracts: new payout and transaction payload models, removal of deprecated endpoints - Pin the OpenAPI codegen toolchain (generator 7.22.0) and add an import-normalization step so contract generation is reproducible --- examples/create-payout.ts | 10 +- examples/evm-full-flow.ts | 35 +- examples/queue-execute-batch.ts | 4 +- examples/tron-create-payout.ts | 9 +- examples/tron-full-flow.ts | 12 +- examples/tron-queue-execute-batch.ts | 10 +- generated-contracts/.openapi-generator/FILES | 17 +- .../.openapi-generator/VERSION | 2 +- generated-contracts/apis/accounts-api.ts | 207 +++++++---- generated-contracts/apis/callbacks-api.ts | 145 -------- generated-contracts/apis/claims-api.ts | 117 +++--- generated-contracts/apis/currencies-api.ts | 49 ++- generated-contracts/apis/index.ts | 1 - generated-contracts/apis/invoices-api.ts | 107 ++++-- generated-contracts/apis/networks-api.ts | 23 +- generated-contracts/apis/payouts-api.ts | 171 +++++---- .../apis/queue-operations-api.ts | 179 ++++++--- .../apis/smart-contract-versions-api.ts | 27 +- generated-contracts/apis/transactions-api.ts | 202 ++++++----- .../models/account-deployment-dto.ts | 2 +- .../models/asset-balance-dto.ts | 8 +- .../asset-balance-short-response-dto.ts | 4 +- .../models/balance-summary-response-dto.ts | 8 +- generated-contracts/models/callback.ts | 206 ----------- generated-contracts/models/claim-item-dto.ts | 2 +- .../models/claims-response-dto.ts | 6 +- ...troller-find-all-v1-is-native-parameter.ts | 6 + .../models/dapp-transaction-payload.ts | 65 ++++ .../models/get-callbacks-response-dto.ts | 101 ------ generated-contracts/models/index.ts | 16 +- .../models/invoice-response-dto.ts | 2 +- .../models/invoices-response-dto.ts | 2 +- .../models/multisig-config-change-payload.ts | 75 ++++ .../models/network-response-dto.ts | 11 +- .../models/networks-response-dto.ts | 2 +- .../models/payout-detail-response-dto.ts | 35 +- .../models/payout-list-response-dto.ts | 2 +- generated-contracts/models/payout-payload.ts | 66 ++++ .../models/payout-response-dto.ts | 35 +- ...ue-operation-response-dto-dapp-metadata.ts | 2 +- .../queue-operation-response-dto-payload.ts | 65 ++++ .../models/queue-operation-response-dto.ts | 51 ++- .../models/resend-callbacks-body-dto.ts | 66 ---- .../models/resend-callbacks-response-dto.ts | 66 ---- .../models/signature-response-dto.ts | 2 +- .../smart-contract-version-response-dto.ts | 2 +- .../models/transaction-dapp-metadata.ts | 81 +++++ .../models/transaction-details-dto.ts | 48 +-- .../transaction-invoice-response-dto.ts | 84 ----- ...st-response-dto-items-inner-calls-inner.ts | 81 +++++ ...n-list-response-dto-items-inner-invoice.ts | 96 +++++ ...ansaction-list-response-dto-items-inner.ts | 343 ++++++++++++++++++ .../models/transaction-list-response-dto.ts | 22 +- .../models/transaction-response-dto.ts | 307 ---------------- ...nsactions-v1-currency-is-scam-parameter.ts | 49 --- ...tions-v1-currency-is-verified-parameter.ts | 6 + ...et-transactions-v1-is-claimed-parameter.ts | 55 +++ .../models/update-invoice-dto.ts | 2 +- generated-contracts/runtime.ts | 21 +- openapitools.json | 10 +- package-lock.json | 319 +++++++++------- package.json | 4 +- scripts/fix-generated-imports.mjs | 86 +++++ src/api/defi-client.ts | 57 ++- src/api/index.ts | 3 + src/api/models/mappers.ts | 8 +- src/api/models/types.ts | 8 +- src/utils/transactions/builders.ts | 5 +- src/utils/transactions/contract-versions.ts | 8 + src/utils/transactions/index.ts | 1 + src/utils/transactions/signatures.spec.ts | 18 +- src/utils/transactions/signatures.ts | 31 +- src/utils/transactions/tron-tip712.spec.ts | 5 + src/utils/transactions/tron-tip712.ts | 16 +- 74 files changed, 2265 insertions(+), 1744 deletions(-) delete mode 100644 generated-contracts/apis/callbacks-api.ts delete mode 100644 generated-contracts/models/callback.ts create mode 100644 generated-contracts/models/dapp-transaction-payload.ts delete mode 100644 generated-contracts/models/get-callbacks-response-dto.ts create mode 100644 generated-contracts/models/multisig-config-change-payload.ts create mode 100644 generated-contracts/models/payout-payload.ts create mode 100644 generated-contracts/models/queue-operation-response-dto-payload.ts delete mode 100644 generated-contracts/models/resend-callbacks-body-dto.ts delete mode 100644 generated-contracts/models/resend-callbacks-response-dto.ts create mode 100644 generated-contracts/models/transaction-dapp-metadata.ts delete mode 100644 generated-contracts/models/transaction-invoice-response-dto.ts create mode 100644 generated-contracts/models/transaction-list-response-dto-items-inner-calls-inner.ts create mode 100644 generated-contracts/models/transaction-list-response-dto-items-inner-invoice.ts create mode 100644 generated-contracts/models/transaction-list-response-dto-items-inner.ts delete mode 100644 generated-contracts/models/transaction-response-dto.ts delete mode 100644 generated-contracts/models/transactions-controller-get-transactions-v1-currency-is-scam-parameter.ts create mode 100644 generated-contracts/models/transactions-controller-get-transactions-v1-is-claimed-parameter.ts create mode 100644 scripts/fix-generated-imports.mjs create mode 100644 src/utils/transactions/contract-versions.ts diff --git a/examples/create-payout.ts b/examples/create-payout.ts index 9410af5..15d1e50 100644 --- a/examples/create-payout.ts +++ b/examples/create-payout.ts @@ -5,6 +5,7 @@ * - Fetch payout details and show the associated queue operation for follow-up signing/execution flows. */ import 'dotenv/config'; +import { instanceOfPayoutPayload } from '../generated-contracts'; import { DefiClient } from '../src'; import { parseChainId, requireEnvVars, runMain } from './utils'; @@ -57,8 +58,15 @@ runMain(async () => { })), ); + // TODO: Fetch queue by id const queue = await client.getDeploymentQueue({ pageSize: 100 }); - const operation = queue.items.find((item) => item.operationType === 'PAYOUT' && item.payload?.payoutId === payout.id); + const operation = queue.items.find( + (item) => + item.operationType === 'PAYOUT' && + item.payload != null && + instanceOfPayoutPayload(item.payload) && + item.payload.payoutId === payout.id, + ); if (!operation) { throw new Error(`Payout operation for ${payout.id} not found in queue (queue size ${queue.items.length}).`); } diff --git a/examples/evm-full-flow.ts b/examples/evm-full-flow.ts index b1e1a58..949ac7f 100644 --- a/examples/evm-full-flow.ts +++ b/examples/evm-full-flow.ts @@ -35,6 +35,7 @@ import { zeroAddress, } from 'viem'; import { privateKeyToAccount } from 'viem/accounts'; +import { instanceOfPayoutPayload } from '../generated-contracts'; import { AssetSortField, AssetSortOrder, @@ -43,6 +44,7 @@ import { FiatCurrency, MultisigBlockchainClient, type QueueOperation, + QueueOperationStatus, type Transaction, TransactionOperationType, TransactionStatus, @@ -228,6 +230,29 @@ runMain(async () => { // ─── Step 5: Payout ─────────────────────────────────────────────────────────── console.log('\n═══ Step 5: Create payout ═══'); + const queueBefore = await client.getDeploymentQueue({ + statuses: [QueueOperationStatus.Pending, QueueOperationStatus.Ready], + pageSize: 100, + }); + if (queueBefore.items.length > 0) { + console.log( + `Found ${queueBefore.items.length} pending/ready queue operation(s); deleting before creating payout...`, + ); + const deletedIds = await client.deleteAllQueueOperations(); + console.log(`Deleted ${deletedIds.length} operation(s).`); + + const queueAfter = await client.getDeploymentQueue({ + statuses: [QueueOperationStatus.Pending, QueueOperationStatus.Ready], + pageSize: 100, + }); + if (queueAfter.items.length > 0) { + const leftover = queueAfter.items.map((op) => `${op.id} (${op.operationType}, ${op.status})`).join(', '); + throw new Error( + `Queue still has ${queueAfter.items.length} operation(s) after cleanup — resolve them manually before continuing: ${leftover}`, + ); + } + } + const payout = await client.createPayout({ currencyId: nativeCurrency.id, amount: PAYOUT_AMOUNT, @@ -248,7 +273,13 @@ runMain(async () => { 'payout queue operation', async () => { const queue = await client.getDeploymentQueue({ pageSize: 100 }); - const op = queue.items.find((item) => item.operationType === 'PAYOUT' && item.payload?.payoutId === payout.id); + const op = queue.items.find( + (item) => + item.operationType === 'PAYOUT' && + item.payload != null && + instanceOfPayoutPayload(item.payload) && + item.payload.payoutId === payout.id, + ); return op ?? null; }, pollInterval, @@ -297,7 +328,7 @@ runMain(async () => { const operationsToExecute = await poll( 'executable operation', async () => { - const queue = await client.getDeploymentQueue({ statuses: ['READY'], pageSize: 100 }); + const queue = await client.getDeploymentQueue({ statuses: [QueueOperationStatus.Ready], pageSize: 100 }); const payoutReady = queue.items.some((item) => item.id === payoutOperation.id); if (!payoutReady) return null; diff --git a/examples/queue-execute-batch.ts b/examples/queue-execute-batch.ts index ee3a194..e279619 100644 --- a/examples/queue-execute-batch.ts +++ b/examples/queue-execute-batch.ts @@ -7,7 +7,7 @@ import 'dotenv/config'; import { createPublicClient, createWalletClient, http } from 'viem'; import { privateKeyToAccount } from 'viem/accounts'; -import { DefiClient, MultisigBlockchainClient, type QueueOperation } from '../src'; +import { DefiClient, MultisigBlockchainClient, type QueueOperation, QueueOperationStatus } from '../src'; import { getEvmChainById } from '../src/blockchain/get-chain'; import { normalizePrivateKey, parseChainId, requireEnvVars, runMain } from './utils'; @@ -22,7 +22,7 @@ runMain(async () => { const accountDetails = await client.getAccount(); await client.selectChain(chainId); - const queue = await client.getDeploymentQueue({ statuses: ['READY'], pageSize: 50 }); + const queue = await client.getDeploymentQueue({ statuses: [QueueOperationStatus.Ready], pageSize: 50 }); const operationsToExecute: QueueOperation[] = []; let currentNonce = Number(queue.nextExecutableNonce); diff --git a/examples/tron-create-payout.ts b/examples/tron-create-payout.ts index cef0eee..bdd38d0 100644 --- a/examples/tron-create-payout.ts +++ b/examples/tron-create-payout.ts @@ -5,6 +5,7 @@ * - Show associated queue operation for follow-up signing/execution. */ import 'dotenv/config'; +import { instanceOfPayoutPayload } from '../generated-contracts'; import { DefiClient } from '../src'; import { parseChainId, requireEnvVars, runMain } from './utils'; @@ -44,7 +45,13 @@ runMain(async () => { }); const queue = await client.getDeploymentQueue({ pageSize: 100 }); - const operation = queue.items.find((item) => item.operationType === 'PAYOUT' && item.payload?.payoutId === payout.id); + const operation = queue.items.find( + (item) => + item.operationType === 'PAYOUT' && + item.payload != null && + instanceOfPayoutPayload(item.payload) && + item.payload.payoutId === payout.id, + ); if (!operation) { throw new Error(`Payout operation for ${payout.id} not found in queue.`); } diff --git a/examples/tron-full-flow.ts b/examples/tron-full-flow.ts index e612242..1feda4d 100644 --- a/examples/tron-full-flow.ts +++ b/examples/tron-full-flow.ts @@ -27,6 +27,7 @@ */ import 'dotenv/config'; import { TronWeb } from 'tronweb'; +import { instanceOfPayoutPayload } from '../generated-contracts'; import { AssetSortField, AssetSortOrder, @@ -34,6 +35,7 @@ import { DefiClient, FiatCurrency, type QueueOperation, + QueueOperationStatus, TRON_ZERO_ADDRESS, type Transaction, TransactionOperationType, @@ -259,7 +261,13 @@ runMain(async () => { 'payout queue operation', async () => { const queue = await client.getDeploymentQueue({ pageSize: 100 }); - const op = queue.items.find((item) => item.operationType === 'PAYOUT' && item.payload?.payoutId === payout.id); + const op = queue.items.find( + (item) => + item.operationType === 'PAYOUT' && + item.payload != null && + instanceOfPayoutPayload(item.payload) && + item.payload.payoutId === payout.id, + ); return op ?? null; }, pollInterval, @@ -306,7 +314,7 @@ runMain(async () => { const operationsToExecute = await poll( 'executable operation', async () => { - const queue = await client.getDeploymentQueue({ statuses: ['READY'], pageSize: 100 }); + const queue = await client.getDeploymentQueue({ statuses: [QueueOperationStatus.Ready], pageSize: 100 }); const payoutReady = queue.items.some((item) => item.id === payoutOperation.id); if (!payoutReady) return null; diff --git a/examples/tron-queue-execute-batch.ts b/examples/tron-queue-execute-batch.ts index 934b29b..03c4907 100644 --- a/examples/tron-queue-execute-batch.ts +++ b/examples/tron-queue-execute-batch.ts @@ -6,7 +6,13 @@ */ import 'dotenv/config'; import { TronWeb } from 'tronweb'; -import { DefiClient, type QueueOperation, type TronAddress, TronMultisigBlockchainClient } from '../src'; +import { + DefiClient, + type QueueOperation, + QueueOperationStatus, + type TronAddress, + TronMultisigBlockchainClient, +} from '../src'; import { DEFAULT_FEE_LIMIT, parseChainId, requireEnvVars, runMain } from './utils'; const requiredEnv = ['API_BASE_URL', 'API_KEY', 'CHAIN_ID', 'RPC_URL', 'WALLET_PRIVATE_KEY'] as const; @@ -19,7 +25,7 @@ runMain(async () => { const accountDetails = await client.getAccount(); await client.selectChain(chainId); - const queue = await client.getDeploymentQueue({ statuses: ['READY'], pageSize: 50 }); + const queue = await client.getDeploymentQueue({ statuses: [QueueOperationStatus.Ready], pageSize: 50 }); const operationsToExecute: QueueOperation[] = []; let currentNonce = Number(queue.nextExecutableNonce); diff --git a/generated-contracts/.openapi-generator/FILES b/generated-contracts/.openapi-generator/FILES index b371a0d..a2eccd0 100644 --- a/generated-contracts/.openapi-generator/FILES +++ b/generated-contracts/.openapi-generator/FILES @@ -1,6 +1,5 @@ .openapi-generator-ignore apis/accounts-api.ts -apis/callbacks-api.ts apis/claims-api.ts apis/currencies-api.ts apis/index.ts @@ -19,7 +18,6 @@ models/asset-balance-short-response-dto.ts models/asset-balances-response-dto.ts models/balance-summary-response-dto.ts models/call-dto.ts -models/callback.ts models/claim-item-dto.ts models/claims-response-dto.ts models/create-invoice-dto.ts @@ -28,33 +26,36 @@ models/create-payout-dto.ts models/create-reject-operation-dto.ts models/currencies-controller-find-all-v1-is-native-parameter.ts models/currency-response-dto.ts +models/dapp-transaction-payload.ts models/deployment-params-response-dto.ts models/deployment-queue-response-dto.ts -models/get-callbacks-response-dto.ts models/index.ts models/invoice-details-dto.ts models/invoice-response-dto.ts models/invoices-response-dto.ts +models/multisig-config-change-payload.ts models/network-response-dto.ts models/networks-response-dto.ts models/nonce-info-response-dto.ts models/operation-signature-dto.ts models/payout-detail-response-dto.ts models/payout-list-response-dto.ts +models/payout-payload.ts models/payout-response-dto.ts models/queue-operation-response-dto-dapp-metadata.ts +models/queue-operation-response-dto-payload.ts models/queue-operation-response-dto.ts -models/resend-callbacks-body-dto.ts -models/resend-callbacks-response-dto.ts models/signature-response-dto.ts models/smart-contract-version-response-dto.ts models/submit-signature-dto.ts +models/transaction-dapp-metadata.ts models/transaction-details-dto.ts -models/transaction-invoice-response-dto.ts +models/transaction-list-response-dto-items-inner-calls-inner.ts +models/transaction-list-response-dto-items-inner-invoice.ts +models/transaction-list-response-dto-items-inner.ts models/transaction-list-response-dto.ts -models/transaction-response-dto.ts -models/transactions-controller-get-transactions-v1-currency-is-scam-parameter.ts models/transactions-controller-get-transactions-v1-currency-is-verified-parameter.ts +models/transactions-controller-get-transactions-v1-is-claimed-parameter.ts models/universal-address.ts models/update-account-dto.ts models/update-invoice-dto.ts diff --git a/generated-contracts/.openapi-generator/VERSION b/generated-contracts/.openapi-generator/VERSION index 971ecb2..696eaac 100644 --- a/generated-contracts/.openapi-generator/VERSION +++ b/generated-contracts/.openapi-generator/VERSION @@ -1 +1 @@ -7.16.0 +7.22.0 diff --git a/generated-contracts/apis/accounts-api.ts b/generated-contracts/apis/accounts-api.ts index 5c72e80..b0b9ca6 100644 --- a/generated-contracts/apis/accounts-api.ts +++ b/generated-contracts/apis/accounts-api.ts @@ -12,42 +12,57 @@ * Do not edit the class manually. */ - import * as runtime from '../runtime'; -import type { - AccountDetailsDto, - AccountResponseDto, - AssetBalanceShortResponseDto, - AssetBalancesResponseDto, - BalanceSummaryResponseDto, - CurrenciesControllerFindAllV1IsNativeParameter, - DeploymentParamsResponseDto, - NonceInfoResponseDto, - TransactionsControllerGetTransactionsV1CurrencyIsScamParameter, - UpdateAccountDto, -} from '../models/index'; import { + type AccountDetailsDto, AccountDetailsDtoFromJSON, AccountDetailsDtoToJSON, +} from '../models/account-details-dto'; +import { + type AccountResponseDto, AccountResponseDtoFromJSON, AccountResponseDtoToJSON, +} from '../models/account-response-dto'; +import { + type AssetBalanceShortResponseDto, AssetBalanceShortResponseDtoFromJSON, AssetBalanceShortResponseDtoToJSON, +} from '../models/asset-balance-short-response-dto'; +import { + type AssetBalancesResponseDto, AssetBalancesResponseDtoFromJSON, AssetBalancesResponseDtoToJSON, +} from '../models/asset-balances-response-dto'; +import { + type BalanceSummaryResponseDto, BalanceSummaryResponseDtoFromJSON, BalanceSummaryResponseDtoToJSON, +} from '../models/balance-summary-response-dto'; +import { + type CurrenciesControllerFindAllV1IsNativeParameter, CurrenciesControllerFindAllV1IsNativeParameterFromJSON, CurrenciesControllerFindAllV1IsNativeParameterToJSON, +} from '../models/currencies-controller-find-all-v1-is-native-parameter'; +import { + type DeploymentParamsResponseDto, DeploymentParamsResponseDtoFromJSON, DeploymentParamsResponseDtoToJSON, +} from '../models/deployment-params-response-dto'; +import { + type NonceInfoResponseDto, NonceInfoResponseDtoFromJSON, NonceInfoResponseDtoToJSON, - TransactionsControllerGetTransactionsV1CurrencyIsScamParameterFromJSON, - TransactionsControllerGetTransactionsV1CurrencyIsScamParameterToJSON, +} from '../models/nonce-info-response-dto'; +import { + type TransactionsControllerGetTransactionsV1IsClaimedParameter, + TransactionsControllerGetTransactionsV1IsClaimedParameterFromJSON, + TransactionsControllerGetTransactionsV1IsClaimedParameterToJSON, +} from '../models/transactions-controller-get-transactions-v1-is-claimed-parameter'; +import { + type UpdateAccountDto, UpdateAccountDtoFromJSON, UpdateAccountDtoToJSON, -} from '../models/index'; +} from '../models/update-account-dto'; export interface AccountDeploymentsControllerGetNonceInfoV1Request { deploymentId: string; @@ -58,7 +73,7 @@ export interface AccountsControllerFindAccountByIdV1Request { } export interface AccountsControllerFindUserAccountsV1Request { - isHidden?: TransactionsControllerGetTransactionsV1CurrencyIsScamParameter; + isHidden?: TransactionsControllerGetTransactionsV1IsClaimedParameter; } export interface AccountsControllerGetAssetBalancesV1Request { @@ -105,10 +120,9 @@ export interface AccountsControllerUpdateAccountV1Request { export class AccountsApi extends runtime.BaseAPI { /** - * Returns current nonce and last executed nonce for the deployment - * Get nonce information + * Creates request options for accountDeploymentsControllerGetNonceInfoV1 without sending the request */ - async accountDeploymentsControllerGetNonceInfoV1Raw(requestParameters: AccountDeploymentsControllerGetNonceInfoV1Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + async accountDeploymentsControllerGetNonceInfoV1RequestOpts(requestParameters: AccountDeploymentsControllerGetNonceInfoV1Request): Promise { if (requestParameters['deploymentId'] == null) { throw new runtime.RequiredError( 'deploymentId', @@ -126,14 +140,23 @@ export class AccountsApi extends runtime.BaseAPI { let urlPath = `/api/v1/accounts/deployments/{deploymentId}/nonce-info`; - urlPath = urlPath.replace(`{${"deploymentId"}}`, encodeURIComponent(String(requestParameters['deploymentId']))); + urlPath = urlPath.replace('{deploymentId}', encodeURIComponent(String(requestParameters['deploymentId']))); - const response = await this.request({ + return { path: urlPath, method: 'GET', headers: headerParameters, query: queryParameters, - }, initOverrides); + }; + } + + /** + * Returns current nonce and last executed nonce for the deployment + * Get nonce information + */ + async accountDeploymentsControllerGetNonceInfoV1Raw(requestParameters: AccountDeploymentsControllerGetNonceInfoV1Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const requestOptions = await this.accountDeploymentsControllerGetNonceInfoV1RequestOpts(requestParameters); + const response = await this.request(requestOptions, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => NonceInfoResponseDtoFromJSON(jsonValue)); } @@ -148,10 +171,9 @@ export class AccountsApi extends runtime.BaseAPI { } /** - * Get entity by ID - * Get by ID + * Creates request options for accountsControllerFindAccountByIdV1 without sending the request */ - async accountsControllerFindAccountByIdV1Raw(requestParameters: AccountsControllerFindAccountByIdV1Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + async accountsControllerFindAccountByIdV1RequestOpts(requestParameters: AccountsControllerFindAccountByIdV1Request): Promise { if (requestParameters['accountId'] == null) { throw new runtime.RequiredError( 'accountId', @@ -169,14 +191,23 @@ export class AccountsApi extends runtime.BaseAPI { let urlPath = `/api/v1/accounts/{accountId}`; - urlPath = urlPath.replace(`{${"accountId"}}`, encodeURIComponent(String(requestParameters['accountId']))); + urlPath = urlPath.replace('{accountId}', encodeURIComponent(String(requestParameters['accountId']))); - const response = await this.request({ + return { path: urlPath, method: 'GET', headers: headerParameters, query: queryParameters, - }, initOverrides); + }; + } + + /** + * Get entity by ID + * Get by ID + */ + async accountsControllerFindAccountByIdV1Raw(requestParameters: AccountsControllerFindAccountByIdV1Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const requestOptions = await this.accountsControllerFindAccountByIdV1RequestOpts(requestParameters); + const response = await this.request(requestOptions, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => AccountDetailsDtoFromJSON(jsonValue)); } @@ -191,10 +222,9 @@ export class AccountsApi extends runtime.BaseAPI { } /** - * Get list of entities - * Get list + * Creates request options for accountsControllerFindUserAccountsV1 without sending the request */ - async accountsControllerFindUserAccountsV1Raw(requestParameters: AccountsControllerFindUserAccountsV1Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { + async accountsControllerFindUserAccountsV1RequestOpts(requestParameters: AccountsControllerFindUserAccountsV1Request): Promise { const queryParameters: any = {}; if (requestParameters['isHidden'] != null) { @@ -210,12 +240,21 @@ export class AccountsApi extends runtime.BaseAPI { let urlPath = `/api/v1/accounts`; - const response = await this.request({ + return { path: urlPath, method: 'GET', headers: headerParameters, query: queryParameters, - }, initOverrides); + }; + } + + /** + * Get list of entities + * Get list + */ + async accountsControllerFindUserAccountsV1Raw(requestParameters: AccountsControllerFindUserAccountsV1Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { + const requestOptions = await this.accountsControllerFindUserAccountsV1RequestOpts(requestParameters); + const response = await this.request(requestOptions, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(AccountResponseDtoFromJSON)); } @@ -230,10 +269,9 @@ export class AccountsApi extends runtime.BaseAPI { } /** - * Returns balances for each asset with conversion to base currency for a specific network with pagination - * Get asset balances + * Creates request options for accountsControllerGetAssetBalancesV1 without sending the request */ - async accountsControllerGetAssetBalancesV1Raw(requestParameters: AccountsControllerGetAssetBalancesV1Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + async accountsControllerGetAssetBalancesV1RequestOpts(requestParameters: AccountsControllerGetAssetBalancesV1Request): Promise { if (requestParameters['accountId'] == null) { throw new runtime.RequiredError( 'accountId', @@ -305,14 +343,23 @@ export class AccountsApi extends runtime.BaseAPI { let urlPath = `/api/v1/accounts/{accountId}/balance/assets`; - urlPath = urlPath.replace(`{${"accountId"}}`, encodeURIComponent(String(requestParameters['accountId']))); + urlPath = urlPath.replace('{accountId}', encodeURIComponent(String(requestParameters['accountId']))); - const response = await this.request({ + return { path: urlPath, method: 'GET', headers: headerParameters, query: queryParameters, - }, initOverrides); + }; + } + + /** + * Returns balances for each asset with conversion to base currency for a specific network with pagination + * Get asset balances + */ + async accountsControllerGetAssetBalancesV1Raw(requestParameters: AccountsControllerGetAssetBalancesV1Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const requestOptions = await this.accountsControllerGetAssetBalancesV1RequestOpts(requestParameters); + const response = await this.request(requestOptions, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => AssetBalancesResponseDtoFromJSON(jsonValue)); } @@ -327,10 +374,9 @@ export class AccountsApi extends runtime.BaseAPI { } /** - * Returns total balance, uncollected balance and count of uncollected invoices for a team on a specific network - * Get balance summary + * Creates request options for accountsControllerGetBalanceSummaryV1 without sending the request */ - async accountsControllerGetBalanceSummaryV1Raw(requestParameters: AccountsControllerGetBalanceSummaryV1Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + async accountsControllerGetBalanceSummaryV1RequestOpts(requestParameters: AccountsControllerGetBalanceSummaryV1Request): Promise { if (requestParameters['accountId'] == null) { throw new runtime.RequiredError( 'accountId', @@ -370,14 +416,23 @@ export class AccountsApi extends runtime.BaseAPI { let urlPath = `/api/v1/accounts/{accountId}/balance/summary`; - urlPath = urlPath.replace(`{${"accountId"}}`, encodeURIComponent(String(requestParameters['accountId']))); + urlPath = urlPath.replace('{accountId}', encodeURIComponent(String(requestParameters['accountId']))); - const response = await this.request({ + return { path: urlPath, method: 'GET', headers: headerParameters, query: queryParameters, - }, initOverrides); + }; + } + + /** + * Returns total balance, uncollected balance and count of uncollected invoices for a team on a specific network + * Get balance summary + */ + async accountsControllerGetBalanceSummaryV1Raw(requestParameters: AccountsControllerGetBalanceSummaryV1Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const requestOptions = await this.accountsControllerGetBalanceSummaryV1RequestOpts(requestParameters); + const response = await this.request(requestOptions, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => BalanceSummaryResponseDtoFromJSON(jsonValue)); } @@ -392,10 +447,9 @@ export class AccountsApi extends runtime.BaseAPI { } /** - * Get parameters required to deploy the team including bytecode, initializer bytecode, and nonce - * Get deployment params + * Creates request options for accountsControllerGetDeploymentInfoV1 without sending the request */ - async accountsControllerGetDeploymentInfoV1Raw(requestParameters: AccountsControllerGetDeploymentInfoV1Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + async accountsControllerGetDeploymentInfoV1RequestOpts(requestParameters: AccountsControllerGetDeploymentInfoV1Request): Promise { if (requestParameters['accountId'] == null) { throw new runtime.RequiredError( 'accountId', @@ -413,14 +467,23 @@ export class AccountsApi extends runtime.BaseAPI { let urlPath = `/api/v1/accounts/{accountId}/deploy-params`; - urlPath = urlPath.replace(`{${"accountId"}}`, encodeURIComponent(String(requestParameters['accountId']))); + urlPath = urlPath.replace('{accountId}', encodeURIComponent(String(requestParameters['accountId']))); - const response = await this.request({ + return { path: urlPath, method: 'GET', headers: headerParameters, query: queryParameters, - }, initOverrides); + }; + } + + /** + * Get parameters required to deploy the team including bytecode, initializer bytecode, and nonce + * Get deployment params + */ + async accountsControllerGetDeploymentInfoV1Raw(requestParameters: AccountsControllerGetDeploymentInfoV1Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const requestOptions = await this.accountsControllerGetDeploymentInfoV1RequestOpts(requestParameters); + const response = await this.request(requestOptions, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => DeploymentParamsResponseDtoFromJSON(jsonValue)); } @@ -435,10 +498,9 @@ export class AccountsApi extends runtime.BaseAPI { } /** - * Returns asset balances without conversion and pagination. Response is a flat array of items. - * Get asset balances (short) + * Creates request options for accountsControllerGetShortAssetBalancesV1 without sending the request */ - async accountsControllerGetShortAssetBalancesV1Raw(requestParameters: AccountsControllerGetShortAssetBalancesV1Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { + async accountsControllerGetShortAssetBalancesV1RequestOpts(requestParameters: AccountsControllerGetShortAssetBalancesV1Request): Promise { if (requestParameters['accountId'] == null) { throw new runtime.RequiredError( 'accountId', @@ -483,14 +545,23 @@ export class AccountsApi extends runtime.BaseAPI { let urlPath = `/api/v1/accounts/{accountId}/balances`; - urlPath = urlPath.replace(`{${"accountId"}}`, encodeURIComponent(String(requestParameters['accountId']))); + urlPath = urlPath.replace('{accountId}', encodeURIComponent(String(requestParameters['accountId']))); - const response = await this.request({ + return { path: urlPath, method: 'GET', headers: headerParameters, query: queryParameters, - }, initOverrides); + }; + } + + /** + * Returns asset balances without conversion and pagination. Response is a flat array of items. + * Get asset balances (short) + */ + async accountsControllerGetShortAssetBalancesV1Raw(requestParameters: AccountsControllerGetShortAssetBalancesV1Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { + const requestOptions = await this.accountsControllerGetShortAssetBalancesV1RequestOpts(requestParameters); + const response = await this.request(requestOptions, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(AssetBalanceShortResponseDtoFromJSON)); } @@ -505,10 +576,9 @@ export class AccountsApi extends runtime.BaseAPI { } /** - * Update entity - * Update + * Creates request options for accountsControllerUpdateAccountV1 without sending the request */ - async accountsControllerUpdateAccountV1Raw(requestParameters: AccountsControllerUpdateAccountV1Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + async accountsControllerUpdateAccountV1RequestOpts(requestParameters: AccountsControllerUpdateAccountV1Request): Promise { if (requestParameters['accountId'] == null) { throw new runtime.RequiredError( 'accountId', @@ -535,15 +605,24 @@ export class AccountsApi extends runtime.BaseAPI { let urlPath = `/api/v1/accounts/{accountId}`; - urlPath = urlPath.replace(`{${"accountId"}}`, encodeURIComponent(String(requestParameters['accountId']))); + urlPath = urlPath.replace('{accountId}', encodeURIComponent(String(requestParameters['accountId']))); - const response = await this.request({ + return { path: urlPath, method: 'PUT', headers: headerParameters, query: queryParameters, body: UpdateAccountDtoToJSON(requestParameters['updateAccountDto']), - }, initOverrides); + }; + } + + /** + * Update entity + * Update + */ + async accountsControllerUpdateAccountV1Raw(requestParameters: AccountsControllerUpdateAccountV1Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const requestOptions = await this.accountsControllerUpdateAccountV1RequestOpts(requestParameters); + const response = await this.request(requestOptions, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => AccountResponseDtoFromJSON(jsonValue)); } diff --git a/generated-contracts/apis/callbacks-api.ts b/generated-contracts/apis/callbacks-api.ts deleted file mode 100644 index 3a68a26..0000000 --- a/generated-contracts/apis/callbacks-api.ts +++ /dev/null @@ -1,145 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -/** - * DeFi API (API users) - * API surface available via API key authentication - * - * The version of the OpenAPI document: 1.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -import * as runtime from '../runtime'; -import type { - GetCallbacksResponseDto, - ResendCallbacksBodyDto, - ResendCallbacksResponseDto, -} from '../models/index'; -import { - GetCallbacksResponseDtoFromJSON, - GetCallbacksResponseDtoToJSON, - ResendCallbacksBodyDtoFromJSON, - ResendCallbacksBodyDtoToJSON, - ResendCallbacksResponseDtoFromJSON, - ResendCallbacksResponseDtoToJSON, -} from '../models/index'; - -export interface CallbacksControllerGetCallbacksV1Request { - operationId: string; - page?: number; - pageSize?: number; -} - -export interface CallbacksControllerResendCallbacksV1Request { - resendCallbacksBodyDto: ResendCallbacksBodyDto; -} - -/** - * - */ -export class CallbacksApi extends runtime.BaseAPI { - - /** - * Retrieve a paginated list of callbacks for a specific operation ID - * Get callbacks by operation ID - */ - async callbacksControllerGetCallbacksV1Raw(requestParameters: CallbacksControllerGetCallbacksV1Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { - if (requestParameters['operationId'] == null) { - throw new runtime.RequiredError( - 'operationId', - 'Required parameter "operationId" was null or undefined when calling callbacksControllerGetCallbacksV1().' - ); - } - - const queryParameters: any = {}; - - if (requestParameters['operationId'] != null) { - queryParameters['operationId'] = requestParameters['operationId']; - } - - if (requestParameters['page'] != null) { - queryParameters['page'] = requestParameters['page']; - } - - if (requestParameters['pageSize'] != null) { - queryParameters['pageSize'] = requestParameters['pageSize']; - } - - const headerParameters: runtime.HTTPHeaders = {}; - - if (this.configuration && this.configuration.apiKey) { - headerParameters["x-api-key"] = await this.configuration.apiKey("x-api-key"); // ApiKeyAuth authentication - } - - - let urlPath = `/api/v1/callbacks`; - - const response = await this.request({ - path: urlPath, - method: 'GET', - headers: headerParameters, - query: queryParameters, - }, initOverrides); - - return new runtime.JSONApiResponse(response, (jsonValue) => GetCallbacksResponseDtoFromJSON(jsonValue)); - } - - /** - * Retrieve a paginated list of callbacks for a specific operation ID - * Get callbacks by operation ID - */ - async callbacksControllerGetCallbacksV1(requestParameters: CallbacksControllerGetCallbacksV1Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { - const response = await this.callbacksControllerGetCallbacksV1Raw(requestParameters, initOverrides); - return await response.value(); - } - - /** - * Re-queue failed callbacks for delivery by resetting their status. Only FAILED callbacks owned by the current user are eligible. - * Resend failed callbacks - */ - async callbacksControllerResendCallbacksV1Raw(requestParameters: CallbacksControllerResendCallbacksV1Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { - if (requestParameters['resendCallbacksBodyDto'] == null) { - throw new runtime.RequiredError( - 'resendCallbacksBodyDto', - 'Required parameter "resendCallbacksBodyDto" was null or undefined when calling callbacksControllerResendCallbacksV1().' - ); - } - - const queryParameters: any = {}; - - const headerParameters: runtime.HTTPHeaders = {}; - - headerParameters['Content-Type'] = 'application/json'; - - if (this.configuration && this.configuration.apiKey) { - headerParameters["x-api-key"] = await this.configuration.apiKey("x-api-key"); // ApiKeyAuth authentication - } - - - let urlPath = `/api/v1/callbacks/resend`; - - const response = await this.request({ - path: urlPath, - method: 'POST', - headers: headerParameters, - query: queryParameters, - body: ResendCallbacksBodyDtoToJSON(requestParameters['resendCallbacksBodyDto']), - }, initOverrides); - - return new runtime.JSONApiResponse(response, (jsonValue) => ResendCallbacksResponseDtoFromJSON(jsonValue)); - } - - /** - * Re-queue failed callbacks for delivery by resetting their status. Only FAILED callbacks owned by the current user are eligible. - * Resend failed callbacks - */ - async callbacksControllerResendCallbacksV1(requestParameters: CallbacksControllerResendCallbacksV1Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { - const response = await this.callbacksControllerResendCallbacksV1Raw(requestParameters, initOverrides); - return await response.value(); - } - -} diff --git a/generated-contracts/apis/claims-api.ts b/generated-contracts/apis/claims-api.ts index 82b9027..d10ba78 100644 --- a/generated-contracts/apis/claims-api.ts +++ b/generated-contracts/apis/claims-api.ts @@ -12,24 +12,27 @@ * Do not edit the class manually. */ - import * as runtime from '../runtime'; -import type { - ClaimsResponseDto, - CurrencyResponseDto, - TransactionsControllerGetTransactionsV1CurrencyIsScamParameter, - TransactionsControllerGetTransactionsV1CurrencyIsVerifiedParameter, -} from '../models/index'; import { + type ClaimsResponseDto, ClaimsResponseDtoFromJSON, ClaimsResponseDtoToJSON, +} from '../models/claims-response-dto'; +import { + type CurrencyResponseDto, CurrencyResponseDtoFromJSON, CurrencyResponseDtoToJSON, - TransactionsControllerGetTransactionsV1CurrencyIsScamParameterFromJSON, - TransactionsControllerGetTransactionsV1CurrencyIsScamParameterToJSON, +} from '../models/currency-response-dto'; +import { + type TransactionsControllerGetTransactionsV1CurrencyIsVerifiedParameter, TransactionsControllerGetTransactionsV1CurrencyIsVerifiedParameterFromJSON, TransactionsControllerGetTransactionsV1CurrencyIsVerifiedParameterToJSON, -} from '../models/index'; +} from '../models/transactions-controller-get-transactions-v1-currency-is-verified-parameter'; +import { + type TransactionsControllerGetTransactionsV1IsClaimedParameter, + TransactionsControllerGetTransactionsV1IsClaimedParameterFromJSON, + TransactionsControllerGetTransactionsV1IsClaimedParameterToJSON, +} from '../models/transactions-controller-get-transactions-v1-is-claimed-parameter'; export interface ClaimsControllerGetClaimableCurrenciesV1Request { deploymentId: string; @@ -37,19 +40,19 @@ export interface ClaimsControllerGetClaimableCurrenciesV1Request { export interface ClaimsControllerGetClaimsV1Request { deploymentId: string; + page?: number; + pageSize?: number; + sortBy?: ClaimsControllerGetClaimsV1SortByEnum; + sortOrder?: ClaimsControllerGetClaimsV1SortOrderEnum; createdFrom?: string; createdTo?: string; updatedFrom?: string; updatedTo?: string; currencyIds?: Array; - currencyIsScam?: TransactionsControllerGetTransactionsV1CurrencyIsScamParameter; - currencyIsVerified?: TransactionsControllerGetTransactionsV1CurrencyIsVerifiedParameter; - currencyIsHidden?: TransactionsControllerGetTransactionsV1CurrencyIsScamParameter; invoiceId?: string; - sortBy?: ClaimsControllerGetClaimsV1SortByEnum; - sortOrder?: ClaimsControllerGetClaimsV1SortOrderEnum; - page?: number; - pageSize?: number; + currencyIsScam?: TransactionsControllerGetTransactionsV1IsClaimedParameter; + currencyIsVerified?: TransactionsControllerGetTransactionsV1CurrencyIsVerifiedParameter; + currencyIsHidden?: TransactionsControllerGetTransactionsV1IsClaimedParameter; } /** @@ -58,10 +61,9 @@ export interface ClaimsControllerGetClaimsV1Request { export class ClaimsApi extends runtime.BaseAPI { /** - * Returns all currencies that have non-zero claimable balances for the deployment - * Get currencies with claimable balances + * Creates request options for claimsControllerGetClaimableCurrenciesV1 without sending the request */ - async claimsControllerGetClaimableCurrenciesV1Raw(requestParameters: ClaimsControllerGetClaimableCurrenciesV1Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { + async claimsControllerGetClaimableCurrenciesV1RequestOpts(requestParameters: ClaimsControllerGetClaimableCurrenciesV1Request): Promise { if (requestParameters['deploymentId'] == null) { throw new runtime.RequiredError( 'deploymentId', @@ -79,14 +81,23 @@ export class ClaimsApi extends runtime.BaseAPI { let urlPath = `/api/v1/deployments/{deploymentId}/claims/currencies`; - urlPath = urlPath.replace(`{${"deploymentId"}}`, encodeURIComponent(String(requestParameters['deploymentId']))); + urlPath = urlPath.replace('{deploymentId}', encodeURIComponent(String(requestParameters['deploymentId']))); - const response = await this.request({ + return { path: urlPath, method: 'GET', headers: headerParameters, query: queryParameters, - }, initOverrides); + }; + } + + /** + * Returns all currencies that have non-zero claimable balances for the deployment + * Get currencies with claimable balances + */ + async claimsControllerGetClaimableCurrenciesV1Raw(requestParameters: ClaimsControllerGetClaimableCurrenciesV1Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { + const requestOptions = await this.claimsControllerGetClaimableCurrenciesV1RequestOpts(requestParameters); + const response = await this.request(requestOptions, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(CurrencyResponseDtoFromJSON)); } @@ -101,10 +112,9 @@ export class ClaimsApi extends runtime.BaseAPI { } /** - * Returns only uncollected deposits (EXECUTED status with isClaimed=false) grouped by invoice+currency - * Get claimable assets + * Creates request options for claimsControllerGetClaimsV1 without sending the request */ - async claimsControllerGetClaimsV1Raw(requestParameters: ClaimsControllerGetClaimsV1Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + async claimsControllerGetClaimsV1RequestOpts(requestParameters: ClaimsControllerGetClaimsV1Request): Promise { if (requestParameters['deploymentId'] == null) { throw new runtime.RequiredError( 'deploymentId', @@ -114,6 +124,22 @@ export class ClaimsApi extends runtime.BaseAPI { const queryParameters: any = {}; + if (requestParameters['page'] != null) { + queryParameters['page'] = requestParameters['page']; + } + + if (requestParameters['pageSize'] != null) { + queryParameters['pageSize'] = requestParameters['pageSize']; + } + + if (requestParameters['sortBy'] != null) { + queryParameters['sortBy'] = requestParameters['sortBy']; + } + + if (requestParameters['sortOrder'] != null) { + queryParameters['sortOrder'] = requestParameters['sortOrder']; + } + if (requestParameters['createdFrom'] != null) { queryParameters['createdFrom'] = requestParameters['createdFrom']; } @@ -134,6 +160,10 @@ export class ClaimsApi extends runtime.BaseAPI { queryParameters['currencyIds'] = requestParameters['currencyIds']; } + if (requestParameters['invoiceId'] != null) { + queryParameters['invoiceId'] = requestParameters['invoiceId']; + } + if (requestParameters['currencyIsScam'] != null) { queryParameters['currencyIsScam'] = requestParameters['currencyIsScam']; } @@ -146,26 +176,6 @@ export class ClaimsApi extends runtime.BaseAPI { queryParameters['currencyIsHidden'] = requestParameters['currencyIsHidden']; } - if (requestParameters['invoiceId'] != null) { - queryParameters['invoiceId'] = requestParameters['invoiceId']; - } - - if (requestParameters['sortBy'] != null) { - queryParameters['sortBy'] = requestParameters['sortBy']; - } - - if (requestParameters['sortOrder'] != null) { - queryParameters['sortOrder'] = requestParameters['sortOrder']; - } - - if (requestParameters['page'] != null) { - queryParameters['page'] = requestParameters['page']; - } - - if (requestParameters['pageSize'] != null) { - queryParameters['pageSize'] = requestParameters['pageSize']; - } - const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && this.configuration.apiKey) { @@ -174,14 +184,23 @@ export class ClaimsApi extends runtime.BaseAPI { let urlPath = `/api/v1/deployments/{deploymentId}/claims`; - urlPath = urlPath.replace(`{${"deploymentId"}}`, encodeURIComponent(String(requestParameters['deploymentId']))); + urlPath = urlPath.replace('{deploymentId}', encodeURIComponent(String(requestParameters['deploymentId']))); - const response = await this.request({ + return { path: urlPath, method: 'GET', headers: headerParameters, query: queryParameters, - }, initOverrides); + }; + } + + /** + * Returns only uncollected deposits (EXECUTED status with isClaimed=false) grouped by invoice+currency + * Get claimable assets + */ + async claimsControllerGetClaimsV1Raw(requestParameters: ClaimsControllerGetClaimsV1Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const requestOptions = await this.claimsControllerGetClaimsV1RequestOpts(requestParameters); + const response = await this.request(requestOptions, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => ClaimsResponseDtoFromJSON(jsonValue)); } diff --git a/generated-contracts/apis/currencies-api.ts b/generated-contracts/apis/currencies-api.ts index 1ca50c0..4b5d9e7 100644 --- a/generated-contracts/apis/currencies-api.ts +++ b/generated-contracts/apis/currencies-api.ts @@ -12,21 +12,22 @@ * Do not edit the class manually. */ - import * as runtime from '../runtime'; -import type { - CurrenciesControllerFindAllV1IsNativeParameter, - CurrencyResponseDto, - UniversalAddress, -} from '../models/index'; import { + type CurrenciesControllerFindAllV1IsNativeParameter, CurrenciesControllerFindAllV1IsNativeParameterFromJSON, CurrenciesControllerFindAllV1IsNativeParameterToJSON, +} from '../models/currencies-controller-find-all-v1-is-native-parameter'; +import { + type CurrencyResponseDto, CurrencyResponseDtoFromJSON, CurrencyResponseDtoToJSON, +} from '../models/currency-response-dto'; +import { + type UniversalAddress, UniversalAddressFromJSON, UniversalAddressToJSON, -} from '../models/index'; +} from '../models/universal-address'; export interface CurrenciesControllerFindAllV1Request { sortBy?: CurrenciesControllerFindAllV1SortByEnum; @@ -50,9 +51,9 @@ export interface CurrenciesControllerFindOneV1Request { export class CurrenciesApi extends runtime.BaseAPI { /** - * Get list + * Creates request options for currenciesControllerFindAllV1 without sending the request */ - async currenciesControllerFindAllV1Raw(requestParameters: CurrenciesControllerFindAllV1Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { + async currenciesControllerFindAllV1RequestOpts(requestParameters: CurrenciesControllerFindAllV1Request): Promise { const queryParameters: any = {}; if (requestParameters['sortBy'] != null) { @@ -100,12 +101,20 @@ export class CurrenciesApi extends runtime.BaseAPI { let urlPath = `/api/v1/public/currencies`; - const response = await this.request({ + return { path: urlPath, method: 'GET', headers: headerParameters, query: queryParameters, - }, initOverrides); + }; + } + + /** + * Get list + */ + async currenciesControllerFindAllV1Raw(requestParameters: CurrenciesControllerFindAllV1Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { + const requestOptions = await this.currenciesControllerFindAllV1RequestOpts(requestParameters); + const response = await this.request(requestOptions, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(CurrencyResponseDtoFromJSON)); } @@ -119,9 +128,9 @@ export class CurrenciesApi extends runtime.BaseAPI { } /** - * Get by ID + * Creates request options for currenciesControllerFindOneV1 without sending the request */ - async currenciesControllerFindOneV1Raw(requestParameters: CurrenciesControllerFindOneV1Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + async currenciesControllerFindOneV1RequestOpts(requestParameters: CurrenciesControllerFindOneV1Request): Promise { if (requestParameters['id'] == null) { throw new runtime.RequiredError( 'id', @@ -139,14 +148,22 @@ export class CurrenciesApi extends runtime.BaseAPI { let urlPath = `/api/v1/public/currencies/{id}`; - urlPath = urlPath.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id']))); + urlPath = urlPath.replace('{id}', encodeURIComponent(String(requestParameters['id']))); - const response = await this.request({ + return { path: urlPath, method: 'GET', headers: headerParameters, query: queryParameters, - }, initOverrides); + }; + } + + /** + * Get by ID + */ + async currenciesControllerFindOneV1Raw(requestParameters: CurrenciesControllerFindOneV1Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const requestOptions = await this.currenciesControllerFindOneV1RequestOpts(requestParameters); + const response = await this.request(requestOptions, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => CurrencyResponseDtoFromJSON(jsonValue)); } diff --git a/generated-contracts/apis/index.ts b/generated-contracts/apis/index.ts index 81d87d9..74a5f5a 100644 --- a/generated-contracts/apis/index.ts +++ b/generated-contracts/apis/index.ts @@ -1,7 +1,6 @@ /* tslint:disable */ /* eslint-disable */ export * from './accounts-api'; -export * from './callbacks-api'; export * from './claims-api'; export * from './currencies-api'; export * from './invoices-api'; diff --git a/generated-contracts/apis/invoices-api.ts b/generated-contracts/apis/invoices-api.ts index 72e88a7..8fa683b 100644 --- a/generated-contracts/apis/invoices-api.ts +++ b/generated-contracts/apis/invoices-api.ts @@ -12,27 +12,32 @@ * Do not edit the class manually. */ - import * as runtime from '../runtime'; -import type { - CreateInvoiceDto, - InvoiceDetailsDto, - InvoiceResponseDto, - InvoicesResponseDto, - UpdateInvoiceDto, -} from '../models/index'; import { + type CreateInvoiceDto, CreateInvoiceDtoFromJSON, CreateInvoiceDtoToJSON, +} from '../models/create-invoice-dto'; +import { + type InvoiceDetailsDto, InvoiceDetailsDtoFromJSON, InvoiceDetailsDtoToJSON, +} from '../models/invoice-details-dto'; +import { + type InvoiceResponseDto, InvoiceResponseDtoFromJSON, InvoiceResponseDtoToJSON, +} from '../models/invoice-response-dto'; +import { + type InvoicesResponseDto, InvoicesResponseDtoFromJSON, InvoicesResponseDtoToJSON, +} from '../models/invoices-response-dto'; +import { + type UpdateInvoiceDto, UpdateInvoiceDtoFromJSON, UpdateInvoiceDtoToJSON, -} from '../models/index'; +} from '../models/update-invoice-dto'; export interface InvoicesControllerCreateInvoiceV1Request { deploymentId: string; @@ -72,10 +77,9 @@ export interface InvoicesControllerUpdateInvoiceV1Request { export class InvoicesApi extends runtime.BaseAPI { /** - * Create new entity - * Create + * Creates request options for invoicesControllerCreateInvoiceV1 without sending the request */ - async invoicesControllerCreateInvoiceV1Raw(requestParameters: InvoicesControllerCreateInvoiceV1Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + async invoicesControllerCreateInvoiceV1RequestOpts(requestParameters: InvoicesControllerCreateInvoiceV1Request): Promise { if (requestParameters['deploymentId'] == null) { throw new runtime.RequiredError( 'deploymentId', @@ -102,15 +106,24 @@ export class InvoicesApi extends runtime.BaseAPI { let urlPath = `/api/v1/deployments/{deploymentId}/invoices`; - urlPath = urlPath.replace(`{${"deploymentId"}}`, encodeURIComponent(String(requestParameters['deploymentId']))); + urlPath = urlPath.replace('{deploymentId}', encodeURIComponent(String(requestParameters['deploymentId']))); - const response = await this.request({ + return { path: urlPath, method: 'POST', headers: headerParameters, query: queryParameters, body: CreateInvoiceDtoToJSON(requestParameters['createInvoiceDto']), - }, initOverrides); + }; + } + + /** + * Create new entity + * Create + */ + async invoicesControllerCreateInvoiceV1Raw(requestParameters: InvoicesControllerCreateInvoiceV1Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const requestOptions = await this.invoicesControllerCreateInvoiceV1RequestOpts(requestParameters); + const response = await this.request(requestOptions, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => InvoiceResponseDtoFromJSON(jsonValue)); } @@ -125,10 +138,9 @@ export class InvoicesApi extends runtime.BaseAPI { } /** - * Get entity by ID - * Get by ID + * Creates request options for invoicesControllerFindInvoiceByIdV1 without sending the request */ - async invoicesControllerFindInvoiceByIdV1Raw(requestParameters: InvoicesControllerFindInvoiceByIdV1Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + async invoicesControllerFindInvoiceByIdV1RequestOpts(requestParameters: InvoicesControllerFindInvoiceByIdV1Request): Promise { if (requestParameters['deploymentId'] == null) { throw new runtime.RequiredError( 'deploymentId', @@ -153,15 +165,24 @@ export class InvoicesApi extends runtime.BaseAPI { let urlPath = `/api/v1/deployments/{deploymentId}/invoices/{invoiceId}`; - urlPath = urlPath.replace(`{${"deploymentId"}}`, encodeURIComponent(String(requestParameters['deploymentId']))); - urlPath = urlPath.replace(`{${"invoiceId"}}`, encodeURIComponent(String(requestParameters['invoiceId']))); + urlPath = urlPath.replace('{deploymentId}', encodeURIComponent(String(requestParameters['deploymentId']))); + urlPath = urlPath.replace('{invoiceId}', encodeURIComponent(String(requestParameters['invoiceId']))); - const response = await this.request({ + return { path: urlPath, method: 'GET', headers: headerParameters, query: queryParameters, - }, initOverrides); + }; + } + + /** + * Get entity by ID + * Get by ID + */ + async invoicesControllerFindInvoiceByIdV1Raw(requestParameters: InvoicesControllerFindInvoiceByIdV1Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const requestOptions = await this.invoicesControllerFindInvoiceByIdV1RequestOpts(requestParameters); + const response = await this.request(requestOptions, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => InvoiceDetailsDtoFromJSON(jsonValue)); } @@ -176,10 +197,9 @@ export class InvoicesApi extends runtime.BaseAPI { } /** - * Get list of entities - * Get list + * Creates request options for invoicesControllerFindInvoicesByDeploymentV1 without sending the request */ - async invoicesControllerFindInvoicesByDeploymentV1Raw(requestParameters: InvoicesControllerFindInvoicesByDeploymentV1Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + async invoicesControllerFindInvoicesByDeploymentV1RequestOpts(requestParameters: InvoicesControllerFindInvoicesByDeploymentV1Request): Promise { if (requestParameters['deploymentId'] == null) { throw new runtime.RequiredError( 'deploymentId', @@ -245,14 +265,23 @@ export class InvoicesApi extends runtime.BaseAPI { let urlPath = `/api/v1/deployments/{deploymentId}/invoices`; - urlPath = urlPath.replace(`{${"deploymentId"}}`, encodeURIComponent(String(requestParameters['deploymentId']))); + urlPath = urlPath.replace('{deploymentId}', encodeURIComponent(String(requestParameters['deploymentId']))); - const response = await this.request({ + return { path: urlPath, method: 'GET', headers: headerParameters, query: queryParameters, - }, initOverrides); + }; + } + + /** + * Get list of entities + * Get list + */ + async invoicesControllerFindInvoicesByDeploymentV1Raw(requestParameters: InvoicesControllerFindInvoicesByDeploymentV1Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const requestOptions = await this.invoicesControllerFindInvoicesByDeploymentV1RequestOpts(requestParameters); + const response = await this.request(requestOptions, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => InvoicesResponseDtoFromJSON(jsonValue)); } @@ -267,10 +296,9 @@ export class InvoicesApi extends runtime.BaseAPI { } /** - * Update entity - * Update + * Creates request options for invoicesControllerUpdateInvoiceV1 without sending the request */ - async invoicesControllerUpdateInvoiceV1Raw(requestParameters: InvoicesControllerUpdateInvoiceV1Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + async invoicesControllerUpdateInvoiceV1RequestOpts(requestParameters: InvoicesControllerUpdateInvoiceV1Request): Promise { if (requestParameters['deploymentId'] == null) { throw new runtime.RequiredError( 'deploymentId', @@ -304,16 +332,25 @@ export class InvoicesApi extends runtime.BaseAPI { let urlPath = `/api/v1/deployments/{deploymentId}/invoices/{invoiceId}`; - urlPath = urlPath.replace(`{${"deploymentId"}}`, encodeURIComponent(String(requestParameters['deploymentId']))); - urlPath = urlPath.replace(`{${"invoiceId"}}`, encodeURIComponent(String(requestParameters['invoiceId']))); + urlPath = urlPath.replace('{deploymentId}', encodeURIComponent(String(requestParameters['deploymentId']))); + urlPath = urlPath.replace('{invoiceId}', encodeURIComponent(String(requestParameters['invoiceId']))); - const response = await this.request({ + return { path: urlPath, method: 'PUT', headers: headerParameters, query: queryParameters, body: UpdateInvoiceDtoToJSON(requestParameters['updateInvoiceDto']), - }, initOverrides); + }; + } + + /** + * Update entity + * Update + */ + async invoicesControllerUpdateInvoiceV1Raw(requestParameters: InvoicesControllerUpdateInvoiceV1Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const requestOptions = await this.invoicesControllerUpdateInvoiceV1RequestOpts(requestParameters); + const response = await this.request(requestOptions, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => InvoiceResponseDtoFromJSON(jsonValue)); } diff --git a/generated-contracts/apis/networks-api.ts b/generated-contracts/apis/networks-api.ts index 4204274..8ed0c81 100644 --- a/generated-contracts/apis/networks-api.ts +++ b/generated-contracts/apis/networks-api.ts @@ -12,15 +12,12 @@ * Do not edit the class manually. */ - import * as runtime from '../runtime'; -import type { - NetworksResponseDto, -} from '../models/index'; import { + type NetworksResponseDto, NetworksResponseDtoFromJSON, NetworksResponseDtoToJSON, -} from '../models/index'; +} from '../models/networks-response-dto'; /** * @@ -28,9 +25,9 @@ import { export class NetworksApi extends runtime.BaseAPI { /** - * Get list + * Creates request options for networksControllerFindAllV1 without sending the request */ - async networksControllerFindAllV1Raw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + async networksControllerFindAllV1RequestOpts(): Promise { const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; @@ -42,12 +39,20 @@ export class NetworksApi extends runtime.BaseAPI { let urlPath = `/api/v1/networks`; - const response = await this.request({ + return { path: urlPath, method: 'GET', headers: headerParameters, query: queryParameters, - }, initOverrides); + }; + } + + /** + * Get list + */ + async networksControllerFindAllV1Raw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const requestOptions = await this.networksControllerFindAllV1RequestOpts(); + const response = await this.request(requestOptions, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => NetworksResponseDtoFromJSON(jsonValue)); } diff --git a/generated-contracts/apis/payouts-api.ts b/generated-contracts/apis/payouts-api.ts index 3940c2d..1ac2d83 100644 --- a/generated-contracts/apis/payouts-api.ts +++ b/generated-contracts/apis/payouts-api.ts @@ -12,27 +12,32 @@ * Do not edit the class manually. */ - import * as runtime from '../runtime'; -import type { - CreatePayoutDto, - PayoutDetailResponseDto, - PayoutListResponseDto, - PayoutResponseDto, - UpdatePayoutDto, -} from '../models/index'; import { + type CreatePayoutDto, CreatePayoutDtoFromJSON, CreatePayoutDtoToJSON, +} from '../models/create-payout-dto'; +import { + type PayoutDetailResponseDto, PayoutDetailResponseDtoFromJSON, PayoutDetailResponseDtoToJSON, +} from '../models/payout-detail-response-dto'; +import { + type PayoutListResponseDto, PayoutListResponseDtoFromJSON, PayoutListResponseDtoToJSON, +} from '../models/payout-list-response-dto'; +import { + type PayoutResponseDto, PayoutResponseDtoFromJSON, PayoutResponseDtoToJSON, +} from '../models/payout-response-dto'; +import { + type UpdatePayoutDto, UpdatePayoutDtoFromJSON, UpdatePayoutDtoToJSON, -} from '../models/index'; +} from '../models/update-payout-dto'; export interface PayoutsControllerCreateV1Request { deploymentId: string; @@ -41,6 +46,10 @@ export interface PayoutsControllerCreateV1Request { export interface PayoutsControllerFindAllV1Request { deploymentId: string; + page?: number; + pageSize?: number; + sortBy?: PayoutsControllerFindAllV1SortByEnum; + sortOrder?: PayoutsControllerFindAllV1SortOrderEnum; id?: string; createdFrom?: string; createdTo?: string; @@ -51,10 +60,6 @@ export interface PayoutsControllerFindAllV1Request { trackingId?: string; createdBy?: string; toAddress?: string; - sortBy?: PayoutsControllerFindAllV1SortByEnum; - sortOrder?: PayoutsControllerFindAllV1SortOrderEnum; - page?: number; - pageSize?: number; } export interface PayoutsControllerFindOneV1Request { @@ -74,10 +79,9 @@ export interface PayoutsControllerUpdateV1Request { export class PayoutsApi extends runtime.BaseAPI { /** - * Create new entity - * Create + * Creates request options for payoutsControllerCreateV1 without sending the request */ - async payoutsControllerCreateV1Raw(requestParameters: PayoutsControllerCreateV1Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + async payoutsControllerCreateV1RequestOpts(requestParameters: PayoutsControllerCreateV1Request): Promise { if (requestParameters['deploymentId'] == null) { throw new runtime.RequiredError( 'deploymentId', @@ -104,15 +108,24 @@ export class PayoutsApi extends runtime.BaseAPI { let urlPath = `/api/v1/deployments/{deploymentId}/payouts`; - urlPath = urlPath.replace(`{${"deploymentId"}}`, encodeURIComponent(String(requestParameters['deploymentId']))); + urlPath = urlPath.replace('{deploymentId}', encodeURIComponent(String(requestParameters['deploymentId']))); - const response = await this.request({ + return { path: urlPath, method: 'POST', headers: headerParameters, query: queryParameters, body: CreatePayoutDtoToJSON(requestParameters['createPayoutDto']), - }, initOverrides); + }; + } + + /** + * Create new entity + * Create + */ + async payoutsControllerCreateV1Raw(requestParameters: PayoutsControllerCreateV1Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const requestOptions = await this.payoutsControllerCreateV1RequestOpts(requestParameters); + const response = await this.request(requestOptions, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => PayoutResponseDtoFromJSON(jsonValue)); } @@ -127,10 +140,9 @@ export class PayoutsApi extends runtime.BaseAPI { } /** - * Get list of entities - * Get list + * Creates request options for payoutsControllerFindAllV1 without sending the request */ - async payoutsControllerFindAllV1Raw(requestParameters: PayoutsControllerFindAllV1Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + async payoutsControllerFindAllV1RequestOpts(requestParameters: PayoutsControllerFindAllV1Request): Promise { if (requestParameters['deploymentId'] == null) { throw new runtime.RequiredError( 'deploymentId', @@ -140,6 +152,22 @@ export class PayoutsApi extends runtime.BaseAPI { const queryParameters: any = {}; + if (requestParameters['page'] != null) { + queryParameters['page'] = requestParameters['page']; + } + + if (requestParameters['pageSize'] != null) { + queryParameters['pageSize'] = requestParameters['pageSize']; + } + + if (requestParameters['sortBy'] != null) { + queryParameters['sortBy'] = requestParameters['sortBy']; + } + + if (requestParameters['sortOrder'] != null) { + queryParameters['sortOrder'] = requestParameters['sortOrder']; + } + if (requestParameters['id'] != null) { queryParameters['id'] = requestParameters['id']; } @@ -180,22 +208,6 @@ export class PayoutsApi extends runtime.BaseAPI { queryParameters['toAddress'] = requestParameters['toAddress']; } - if (requestParameters['sortBy'] != null) { - queryParameters['sortBy'] = requestParameters['sortBy']; - } - - if (requestParameters['sortOrder'] != null) { - queryParameters['sortOrder'] = requestParameters['sortOrder']; - } - - if (requestParameters['page'] != null) { - queryParameters['page'] = requestParameters['page']; - } - - if (requestParameters['pageSize'] != null) { - queryParameters['pageSize'] = requestParameters['pageSize']; - } - const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && this.configuration.apiKey) { @@ -204,14 +216,23 @@ export class PayoutsApi extends runtime.BaseAPI { let urlPath = `/api/v1/deployments/{deploymentId}/payouts`; - urlPath = urlPath.replace(`{${"deploymentId"}}`, encodeURIComponent(String(requestParameters['deploymentId']))); + urlPath = urlPath.replace('{deploymentId}', encodeURIComponent(String(requestParameters['deploymentId']))); - const response = await this.request({ + return { path: urlPath, method: 'GET', headers: headerParameters, query: queryParameters, - }, initOverrides); + }; + } + + /** + * Get list of entities + * Get list + */ + async payoutsControllerFindAllV1Raw(requestParameters: PayoutsControllerFindAllV1Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const requestOptions = await this.payoutsControllerFindAllV1RequestOpts(requestParameters); + const response = await this.request(requestOptions, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => PayoutListResponseDtoFromJSON(jsonValue)); } @@ -226,10 +247,9 @@ export class PayoutsApi extends runtime.BaseAPI { } /** - * Get entity by ID - * Get by ID + * Creates request options for payoutsControllerFindOneV1 without sending the request */ - async payoutsControllerFindOneV1Raw(requestParameters: PayoutsControllerFindOneV1Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + async payoutsControllerFindOneV1RequestOpts(requestParameters: PayoutsControllerFindOneV1Request): Promise { if (requestParameters['deploymentId'] == null) { throw new runtime.RequiredError( 'deploymentId', @@ -254,15 +274,24 @@ export class PayoutsApi extends runtime.BaseAPI { let urlPath = `/api/v1/deployments/{deploymentId}/payouts/{payoutId}`; - urlPath = urlPath.replace(`{${"deploymentId"}}`, encodeURIComponent(String(requestParameters['deploymentId']))); - urlPath = urlPath.replace(`{${"payoutId"}}`, encodeURIComponent(String(requestParameters['payoutId']))); + urlPath = urlPath.replace('{deploymentId}', encodeURIComponent(String(requestParameters['deploymentId']))); + urlPath = urlPath.replace('{payoutId}', encodeURIComponent(String(requestParameters['payoutId']))); - const response = await this.request({ + return { path: urlPath, method: 'GET', headers: headerParameters, query: queryParameters, - }, initOverrides); + }; + } + + /** + * Get entity by ID + * Get by ID + */ + async payoutsControllerFindOneV1Raw(requestParameters: PayoutsControllerFindOneV1Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const requestOptions = await this.payoutsControllerFindOneV1RequestOpts(requestParameters); + const response = await this.request(requestOptions, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => PayoutDetailResponseDtoFromJSON(jsonValue)); } @@ -277,10 +306,9 @@ export class PayoutsApi extends runtime.BaseAPI { } /** - * Update entity - * Update + * Creates request options for payoutsControllerUpdateV1 without sending the request */ - async payoutsControllerUpdateV1Raw(requestParameters: PayoutsControllerUpdateV1Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + async payoutsControllerUpdateV1RequestOpts(requestParameters: PayoutsControllerUpdateV1Request): Promise { if (requestParameters['deploymentId'] == null) { throw new runtime.RequiredError( 'deploymentId', @@ -314,16 +342,25 @@ export class PayoutsApi extends runtime.BaseAPI { let urlPath = `/api/v1/deployments/{deploymentId}/payouts/{payoutId}`; - urlPath = urlPath.replace(`{${"deploymentId"}}`, encodeURIComponent(String(requestParameters['deploymentId']))); - urlPath = urlPath.replace(`{${"payoutId"}}`, encodeURIComponent(String(requestParameters['payoutId']))); + urlPath = urlPath.replace('{deploymentId}', encodeURIComponent(String(requestParameters['deploymentId']))); + urlPath = urlPath.replace('{payoutId}', encodeURIComponent(String(requestParameters['payoutId']))); - const response = await this.request({ + return { path: urlPath, method: 'PATCH', headers: headerParameters, query: queryParameters, body: UpdatePayoutDtoToJSON(requestParameters['updatePayoutDto']), - }, initOverrides); + }; + } + + /** + * Update entity + * Update + */ + async payoutsControllerUpdateV1Raw(requestParameters: PayoutsControllerUpdateV1Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const requestOptions = await this.payoutsControllerUpdateV1RequestOpts(requestParameters); + const response = await this.request(requestOptions, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => PayoutResponseDtoFromJSON(jsonValue)); } @@ -339,18 +376,6 @@ export class PayoutsApi extends runtime.BaseAPI { } -/** - * @export - */ -export const PayoutsControllerFindAllV1StatusesEnum = { - Created: 'CREATED', - Signed: 'SIGNED', - Sent: 'SENT', - Executed: 'EXECUTED', - Failed: 'FAILED', - Canceled: 'CANCELED' -} as const; -export type PayoutsControllerFindAllV1StatusesEnum = typeof PayoutsControllerFindAllV1StatusesEnum[keyof typeof PayoutsControllerFindAllV1StatusesEnum]; /** * @export */ @@ -368,3 +393,15 @@ export const PayoutsControllerFindAllV1SortOrderEnum = { Desc: 'desc' } as const; export type PayoutsControllerFindAllV1SortOrderEnum = typeof PayoutsControllerFindAllV1SortOrderEnum[keyof typeof PayoutsControllerFindAllV1SortOrderEnum]; +/** + * @export + */ +export const PayoutsControllerFindAllV1StatusesEnum = { + Created: 'CREATED', + Signed: 'SIGNED', + Sent: 'SENT', + Executed: 'EXECUTED', + Failed: 'FAILED', + Canceled: 'CANCELED' +} as const; +export type PayoutsControllerFindAllV1StatusesEnum = typeof PayoutsControllerFindAllV1StatusesEnum[keyof typeof PayoutsControllerFindAllV1StatusesEnum]; diff --git a/generated-contracts/apis/queue-operations-api.ts b/generated-contracts/apis/queue-operations-api.ts index fba713c..1fba1ba 100644 --- a/generated-contracts/apis/queue-operations-api.ts +++ b/generated-contracts/apis/queue-operations-api.ts @@ -12,33 +12,42 @@ * Do not edit the class manually. */ - import * as runtime from '../runtime'; -import type { - CreateMultisigConfigChangeOperationDto, - CreateRejectOperationDto, - DeploymentQueueResponseDto, - QueueOperationResponseDto, - SignatureResponseDto, - SubmitSignatureDto, - UpdateOperationNonceDto, -} from '../models/index'; import { + type CreateMultisigConfigChangeOperationDto, CreateMultisigConfigChangeOperationDtoFromJSON, CreateMultisigConfigChangeOperationDtoToJSON, +} from '../models/create-multisig-config-change-operation-dto'; +import { + type CreateRejectOperationDto, CreateRejectOperationDtoFromJSON, CreateRejectOperationDtoToJSON, +} from '../models/create-reject-operation-dto'; +import { + type DeploymentQueueResponseDto, DeploymentQueueResponseDtoFromJSON, DeploymentQueueResponseDtoToJSON, +} from '../models/deployment-queue-response-dto'; +import { + type QueueOperationResponseDto, QueueOperationResponseDtoFromJSON, QueueOperationResponseDtoToJSON, +} from '../models/queue-operation-response-dto'; +import { + type SignatureResponseDto, SignatureResponseDtoFromJSON, SignatureResponseDtoToJSON, +} from '../models/signature-response-dto'; +import { + type SubmitSignatureDto, SubmitSignatureDtoFromJSON, SubmitSignatureDtoToJSON, +} from '../models/submit-signature-dto'; +import { + type UpdateOperationNonceDto, UpdateOperationNonceDtoFromJSON, UpdateOperationNonceDtoToJSON, -} from '../models/index'; +} from '../models/update-operation-nonce-dto'; export interface QueueOperationsControllerCreateMultisigConfigChangeOperationV1Request { deploymentId: string; @@ -90,10 +99,9 @@ export interface QueueOperationsControllerUpdateOperationNonceV1Request { export class QueueOperationsApi extends runtime.BaseAPI { /** - * Create account multisig configuration change operation - * Create account multisig config operation + * Creates request options for queueOperationsControllerCreateMultisigConfigChangeOperationV1 without sending the request */ - async queueOperationsControllerCreateMultisigConfigChangeOperationV1Raw(requestParameters: QueueOperationsControllerCreateMultisigConfigChangeOperationV1Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + async queueOperationsControllerCreateMultisigConfigChangeOperationV1RequestOpts(requestParameters: QueueOperationsControllerCreateMultisigConfigChangeOperationV1Request): Promise { if (requestParameters['deploymentId'] == null) { throw new runtime.RequiredError( 'deploymentId', @@ -120,15 +128,24 @@ export class QueueOperationsApi extends runtime.BaseAPI { let urlPath = `/api/v1/deployments/{deploymentId}/operations/multisig-config`; - urlPath = urlPath.replace(`{${"deploymentId"}}`, encodeURIComponent(String(requestParameters['deploymentId']))); + urlPath = urlPath.replace('{deploymentId}', encodeURIComponent(String(requestParameters['deploymentId']))); - const response = await this.request({ + return { path: urlPath, method: 'POST', headers: headerParameters, query: queryParameters, body: CreateMultisigConfigChangeOperationDtoToJSON(requestParameters['createMultisigConfigChangeOperationDto']), - }, initOverrides); + }; + } + + /** + * Create account multisig configuration change operation + * Create account multisig config operation + */ + async queueOperationsControllerCreateMultisigConfigChangeOperationV1Raw(requestParameters: QueueOperationsControllerCreateMultisigConfigChangeOperationV1Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const requestOptions = await this.queueOperationsControllerCreateMultisigConfigChangeOperationV1RequestOpts(requestParameters); + const response = await this.request(requestOptions, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => QueueOperationResponseDtoFromJSON(jsonValue)); } @@ -143,10 +160,9 @@ export class QueueOperationsApi extends runtime.BaseAPI { } /** - * Reject operation by consuming nonce - * Reject operation + * Creates request options for queueOperationsControllerCreateRejectOperationV1 without sending the request */ - async queueOperationsControllerCreateRejectOperationV1Raw(requestParameters: QueueOperationsControllerCreateRejectOperationV1Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + async queueOperationsControllerCreateRejectOperationV1RequestOpts(requestParameters: QueueOperationsControllerCreateRejectOperationV1Request): Promise { if (requestParameters['deploymentId'] == null) { throw new runtime.RequiredError( 'deploymentId', @@ -173,15 +189,24 @@ export class QueueOperationsApi extends runtime.BaseAPI { let urlPath = `/api/v1/deployments/{deploymentId}/operations/reject`; - urlPath = urlPath.replace(`{${"deploymentId"}}`, encodeURIComponent(String(requestParameters['deploymentId']))); + urlPath = urlPath.replace('{deploymentId}', encodeURIComponent(String(requestParameters['deploymentId']))); - const response = await this.request({ + return { path: urlPath, method: 'POST', headers: headerParameters, query: queryParameters, body: CreateRejectOperationDtoToJSON(requestParameters['createRejectOperationDto']), - }, initOverrides); + }; + } + + /** + * Reject operation by consuming nonce + * Reject operation + */ + async queueOperationsControllerCreateRejectOperationV1Raw(requestParameters: QueueOperationsControllerCreateRejectOperationV1Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const requestOptions = await this.queueOperationsControllerCreateRejectOperationV1RequestOpts(requestParameters); + const response = await this.request(requestOptions, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => QueueOperationResponseDtoFromJSON(jsonValue)); } @@ -196,10 +221,9 @@ export class QueueOperationsApi extends runtime.BaseAPI { } /** - * Delete an operation. Only the creator can delete operations in PENDING or READY status. - * Delete operation + * Creates request options for queueOperationsControllerDeleteOperationV1 without sending the request */ - async queueOperationsControllerDeleteOperationV1Raw(requestParameters: QueueOperationsControllerDeleteOperationV1Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + async queueOperationsControllerDeleteOperationV1RequestOpts(requestParameters: QueueOperationsControllerDeleteOperationV1Request): Promise { if (requestParameters['deploymentId'] == null) { throw new runtime.RequiredError( 'deploymentId', @@ -224,15 +248,24 @@ export class QueueOperationsApi extends runtime.BaseAPI { let urlPath = `/api/v1/deployments/{deploymentId}/operations/{operationId}`; - urlPath = urlPath.replace(`{${"deploymentId"}}`, encodeURIComponent(String(requestParameters['deploymentId']))); - urlPath = urlPath.replace(`{${"operationId"}}`, encodeURIComponent(String(requestParameters['operationId']))); + urlPath = urlPath.replace('{deploymentId}', encodeURIComponent(String(requestParameters['deploymentId']))); + urlPath = urlPath.replace('{operationId}', encodeURIComponent(String(requestParameters['operationId']))); - const response = await this.request({ + return { path: urlPath, method: 'DELETE', headers: headerParameters, query: queryParameters, - }, initOverrides); + }; + } + + /** + * Delete an operation. Only the creator can delete operations in PENDING or READY status. + * Delete operation + */ + async queueOperationsControllerDeleteOperationV1Raw(requestParameters: QueueOperationsControllerDeleteOperationV1Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const requestOptions = await this.queueOperationsControllerDeleteOperationV1RequestOpts(requestParameters); + const response = await this.request(requestOptions, initOverrides); return new runtime.VoidApiResponse(response); } @@ -246,10 +279,9 @@ export class QueueOperationsApi extends runtime.BaseAPI { } /** - * Get deployment operations queue - * Get queue + * Creates request options for queueOperationsControllerGetDeploymentQueueV1 without sending the request */ - async queueOperationsControllerGetDeploymentQueueV1Raw(requestParameters: QueueOperationsControllerGetDeploymentQueueV1Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + async queueOperationsControllerGetDeploymentQueueV1RequestOpts(requestParameters: QueueOperationsControllerGetDeploymentQueueV1Request): Promise { if (requestParameters['deploymentId'] == null) { throw new runtime.RequiredError( 'deploymentId', @@ -299,14 +331,23 @@ export class QueueOperationsApi extends runtime.BaseAPI { let urlPath = `/api/v1/deployments/{deploymentId}/operations`; - urlPath = urlPath.replace(`{${"deploymentId"}}`, encodeURIComponent(String(requestParameters['deploymentId']))); + urlPath = urlPath.replace('{deploymentId}', encodeURIComponent(String(requestParameters['deploymentId']))); - const response = await this.request({ + return { path: urlPath, method: 'GET', headers: headerParameters, query: queryParameters, - }, initOverrides); + }; + } + + /** + * Get deployment operations queue + * Get queue + */ + async queueOperationsControllerGetDeploymentQueueV1Raw(requestParameters: QueueOperationsControllerGetDeploymentQueueV1Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const requestOptions = await this.queueOperationsControllerGetDeploymentQueueV1RequestOpts(requestParameters); + const response = await this.request(requestOptions, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => DeploymentQueueResponseDtoFromJSON(jsonValue)); } @@ -321,10 +362,9 @@ export class QueueOperationsApi extends runtime.BaseAPI { } /** - * Get detailed information about a specific operation including signature status - * Get operation by ID + * Creates request options for queueOperationsControllerGetOperationByIdV1 without sending the request */ - async queueOperationsControllerGetOperationByIdV1Raw(requestParameters: QueueOperationsControllerGetOperationByIdV1Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + async queueOperationsControllerGetOperationByIdV1RequestOpts(requestParameters: QueueOperationsControllerGetOperationByIdV1Request): Promise { if (requestParameters['deploymentId'] == null) { throw new runtime.RequiredError( 'deploymentId', @@ -349,15 +389,24 @@ export class QueueOperationsApi extends runtime.BaseAPI { let urlPath = `/api/v1/deployments/{deploymentId}/operations/{operationId}`; - urlPath = urlPath.replace(`{${"deploymentId"}}`, encodeURIComponent(String(requestParameters['deploymentId']))); - urlPath = urlPath.replace(`{${"operationId"}}`, encodeURIComponent(String(requestParameters['operationId']))); + urlPath = urlPath.replace('{deploymentId}', encodeURIComponent(String(requestParameters['deploymentId']))); + urlPath = urlPath.replace('{operationId}', encodeURIComponent(String(requestParameters['operationId']))); - const response = await this.request({ + return { path: urlPath, method: 'GET', headers: headerParameters, query: queryParameters, - }, initOverrides); + }; + } + + /** + * Get detailed information about a specific operation including signature status + * Get operation by ID + */ + async queueOperationsControllerGetOperationByIdV1Raw(requestParameters: QueueOperationsControllerGetOperationByIdV1Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const requestOptions = await this.queueOperationsControllerGetOperationByIdV1RequestOpts(requestParameters); + const response = await this.request(requestOptions, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => QueueOperationResponseDtoFromJSON(jsonValue)); } @@ -372,10 +421,9 @@ export class QueueOperationsApi extends runtime.BaseAPI { } /** - * Submit signature for operation - * Sign operation + * Creates request options for queueOperationsControllerSubmitSignatureV1 without sending the request */ - async queueOperationsControllerSubmitSignatureV1Raw(requestParameters: QueueOperationsControllerSubmitSignatureV1Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + async queueOperationsControllerSubmitSignatureV1RequestOpts(requestParameters: QueueOperationsControllerSubmitSignatureV1Request): Promise { if (requestParameters['deploymentId'] == null) { throw new runtime.RequiredError( 'deploymentId', @@ -409,16 +457,25 @@ export class QueueOperationsApi extends runtime.BaseAPI { let urlPath = `/api/v1/deployments/{deploymentId}/operations/{operationId}/sign`; - urlPath = urlPath.replace(`{${"deploymentId"}}`, encodeURIComponent(String(requestParameters['deploymentId']))); - urlPath = urlPath.replace(`{${"operationId"}}`, encodeURIComponent(String(requestParameters['operationId']))); + urlPath = urlPath.replace('{deploymentId}', encodeURIComponent(String(requestParameters['deploymentId']))); + urlPath = urlPath.replace('{operationId}', encodeURIComponent(String(requestParameters['operationId']))); - const response = await this.request({ + return { path: urlPath, method: 'POST', headers: headerParameters, query: queryParameters, body: SubmitSignatureDtoToJSON(requestParameters['submitSignatureDto']), - }, initOverrides); + }; + } + + /** + * Submit signature for operation + * Sign operation + */ + async queueOperationsControllerSubmitSignatureV1Raw(requestParameters: QueueOperationsControllerSubmitSignatureV1Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const requestOptions = await this.queueOperationsControllerSubmitSignatureV1RequestOpts(requestParameters); + const response = await this.request(requestOptions, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => SignatureResponseDtoFromJSON(jsonValue)); } @@ -433,10 +490,9 @@ export class QueueOperationsApi extends runtime.BaseAPI { } /** - * Change operation nonce and reset all collected signatures - * Change operation nonce + * Creates request options for queueOperationsControllerUpdateOperationNonceV1 without sending the request */ - async queueOperationsControllerUpdateOperationNonceV1Raw(requestParameters: QueueOperationsControllerUpdateOperationNonceV1Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + async queueOperationsControllerUpdateOperationNonceV1RequestOpts(requestParameters: QueueOperationsControllerUpdateOperationNonceV1Request): Promise { if (requestParameters['deploymentId'] == null) { throw new runtime.RequiredError( 'deploymentId', @@ -470,16 +526,25 @@ export class QueueOperationsApi extends runtime.BaseAPI { let urlPath = `/api/v1/deployments/{deploymentId}/operations/{operationId}/nonce`; - urlPath = urlPath.replace(`{${"deploymentId"}}`, encodeURIComponent(String(requestParameters['deploymentId']))); - urlPath = urlPath.replace(`{${"operationId"}}`, encodeURIComponent(String(requestParameters['operationId']))); + urlPath = urlPath.replace('{deploymentId}', encodeURIComponent(String(requestParameters['deploymentId']))); + urlPath = urlPath.replace('{operationId}', encodeURIComponent(String(requestParameters['operationId']))); - const response = await this.request({ + return { path: urlPath, method: 'PATCH', headers: headerParameters, query: queryParameters, body: UpdateOperationNonceDtoToJSON(requestParameters['updateOperationNonceDto']), - }, initOverrides); + }; + } + + /** + * Change operation nonce and reset all collected signatures + * Change operation nonce + */ + async queueOperationsControllerUpdateOperationNonceV1Raw(requestParameters: QueueOperationsControllerUpdateOperationNonceV1Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const requestOptions = await this.queueOperationsControllerUpdateOperationNonceV1RequestOpts(requestParameters); + const response = await this.request(requestOptions, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => QueueOperationResponseDtoFromJSON(jsonValue)); } diff --git a/generated-contracts/apis/smart-contract-versions-api.ts b/generated-contracts/apis/smart-contract-versions-api.ts index a9b4e7e..a4fcb13 100644 --- a/generated-contracts/apis/smart-contract-versions-api.ts +++ b/generated-contracts/apis/smart-contract-versions-api.ts @@ -12,15 +12,12 @@ * Do not edit the class manually. */ - import * as runtime from '../runtime'; -import type { - SmartContractVersionResponseDto, -} from '../models/index'; import { + type SmartContractVersionResponseDto, SmartContractVersionResponseDtoFromJSON, SmartContractVersionResponseDtoToJSON, -} from '../models/index'; +} from '../models/smart-contract-version-response-dto'; export interface PublicSmartContractVersionsControllerGetByVersionIdV1Request { versionId: string; @@ -32,10 +29,9 @@ export interface PublicSmartContractVersionsControllerGetByVersionIdV1Request { export class SmartContractVersionsApi extends runtime.BaseAPI { /** - * Retrieves the smart contract version by version ID. - * Get smart contract version by version ID + * Creates request options for publicSmartContractVersionsControllerGetByVersionIdV1 without sending the request */ - async publicSmartContractVersionsControllerGetByVersionIdV1Raw(requestParameters: PublicSmartContractVersionsControllerGetByVersionIdV1Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + async publicSmartContractVersionsControllerGetByVersionIdV1RequestOpts(requestParameters: PublicSmartContractVersionsControllerGetByVersionIdV1Request): Promise { if (requestParameters['versionId'] == null) { throw new runtime.RequiredError( 'versionId', @@ -53,14 +49,23 @@ export class SmartContractVersionsApi extends runtime.BaseAPI { let urlPath = `/api/v1/public/smart-contract-versions/{versionId}`; - urlPath = urlPath.replace(`{${"versionId"}}`, encodeURIComponent(String(requestParameters['versionId']))); + urlPath = urlPath.replace('{versionId}', encodeURIComponent(String(requestParameters['versionId']))); - const response = await this.request({ + return { path: urlPath, method: 'GET', headers: headerParameters, query: queryParameters, - }, initOverrides); + }; + } + + /** + * Retrieves the smart contract version by version ID. + * Get smart contract version by version ID + */ + async publicSmartContractVersionsControllerGetByVersionIdV1Raw(requestParameters: PublicSmartContractVersionsControllerGetByVersionIdV1Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const requestOptions = await this.publicSmartContractVersionsControllerGetByVersionIdV1RequestOpts(requestParameters); + const response = await this.request(requestOptions, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => SmartContractVersionResponseDtoFromJSON(jsonValue)); } diff --git a/generated-contracts/apis/transactions-api.ts b/generated-contracts/apis/transactions-api.ts index a368275..876a702 100644 --- a/generated-contracts/apis/transactions-api.ts +++ b/generated-contracts/apis/transactions-api.ts @@ -12,24 +12,27 @@ * Do not edit the class manually. */ - import * as runtime from '../runtime'; -import type { - TransactionDetailsDto, - TransactionListResponseDto, - TransactionsControllerGetTransactionsV1CurrencyIsScamParameter, - TransactionsControllerGetTransactionsV1CurrencyIsVerifiedParameter, -} from '../models/index'; import { + type TransactionDetailsDto, TransactionDetailsDtoFromJSON, TransactionDetailsDtoToJSON, +} from '../models/transaction-details-dto'; +import { + type TransactionListResponseDto, TransactionListResponseDtoFromJSON, TransactionListResponseDtoToJSON, - TransactionsControllerGetTransactionsV1CurrencyIsScamParameterFromJSON, - TransactionsControllerGetTransactionsV1CurrencyIsScamParameterToJSON, +} from '../models/transaction-list-response-dto'; +import { + type TransactionsControllerGetTransactionsV1CurrencyIsVerifiedParameter, TransactionsControllerGetTransactionsV1CurrencyIsVerifiedParameterFromJSON, TransactionsControllerGetTransactionsV1CurrencyIsVerifiedParameterToJSON, -} from '../models/index'; +} from '../models/transactions-controller-get-transactions-v1-currency-is-verified-parameter'; +import { + type TransactionsControllerGetTransactionsV1IsClaimedParameter, + TransactionsControllerGetTransactionsV1IsClaimedParameterFromJSON, + TransactionsControllerGetTransactionsV1IsClaimedParameterToJSON, +} from '../models/transactions-controller-get-transactions-v1-is-claimed-parameter'; export interface TransactionsControllerGetTransactionDetailsV1Request { deploymentId: string; @@ -38,24 +41,24 @@ export interface TransactionsControllerGetTransactionDetailsV1Request { export interface TransactionsControllerGetTransactionsV1Request { deploymentId: string; + page?: number; + pageSize?: number; + sortBy?: TransactionsControllerGetTransactionsV1SortByEnum; + sortOrder?: TransactionsControllerGetTransactionsV1SortOrderEnum; id?: string; - operationId?: string; - operationTypes?: Array; - statuses?: Array; txHash?: string; - currencyIds?: Array; - currencyIsScam?: TransactionsControllerGetTransactionsV1CurrencyIsScamParameter; - currencyIsVerified?: TransactionsControllerGetTransactionsV1CurrencyIsVerifiedParameter; - currencyIsHidden?: TransactionsControllerGetTransactionsV1CurrencyIsScamParameter; createdFrom?: string; createdTo?: string; updatedFrom?: string; updatedTo?: string; - isClaimed?: TransactionsControllerGetTransactionsV1CurrencyIsScamParameter; - sortBy?: TransactionsControllerGetTransactionsV1SortByEnum; - sortOrder?: TransactionsControllerGetTransactionsV1SortOrderEnum; - page?: number; - pageSize?: number; + currencyIds?: Array; + statuses?: Array; + operationId?: string; + operationTypes?: Array; + isClaimed?: TransactionsControllerGetTransactionsV1IsClaimedParameter; + currencyIsScam?: TransactionsControllerGetTransactionsV1IsClaimedParameter; + currencyIsVerified?: TransactionsControllerGetTransactionsV1CurrencyIsVerifiedParameter; + currencyIsHidden?: TransactionsControllerGetTransactionsV1IsClaimedParameter; } /** @@ -64,10 +67,9 @@ export interface TransactionsControllerGetTransactionsV1Request { export class TransactionsApi extends runtime.BaseAPI { /** - * Get entity by ID - * Get by ID + * Creates request options for transactionsControllerGetTransactionDetailsV1 without sending the request */ - async transactionsControllerGetTransactionDetailsV1Raw(requestParameters: TransactionsControllerGetTransactionDetailsV1Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + async transactionsControllerGetTransactionDetailsV1RequestOpts(requestParameters: TransactionsControllerGetTransactionDetailsV1Request): Promise { if (requestParameters['deploymentId'] == null) { throw new runtime.RequiredError( 'deploymentId', @@ -92,15 +94,24 @@ export class TransactionsApi extends runtime.BaseAPI { let urlPath = `/api/v1/deployments/{deploymentId}/transactions/{transactionId}`; - urlPath = urlPath.replace(`{${"deploymentId"}}`, encodeURIComponent(String(requestParameters['deploymentId']))); - urlPath = urlPath.replace(`{${"transactionId"}}`, encodeURIComponent(String(requestParameters['transactionId']))); + urlPath = urlPath.replace('{deploymentId}', encodeURIComponent(String(requestParameters['deploymentId']))); + urlPath = urlPath.replace('{transactionId}', encodeURIComponent(String(requestParameters['transactionId']))); - const response = await this.request({ + return { path: urlPath, method: 'GET', headers: headerParameters, query: queryParameters, - }, initOverrides); + }; + } + + /** + * Get entity by ID + * Get by ID + */ + async transactionsControllerGetTransactionDetailsV1Raw(requestParameters: TransactionsControllerGetTransactionDetailsV1Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const requestOptions = await this.transactionsControllerGetTransactionDetailsV1RequestOpts(requestParameters); + const response = await this.request(requestOptions, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => TransactionDetailsDtoFromJSON(jsonValue)); } @@ -115,10 +126,9 @@ export class TransactionsApi extends runtime.BaseAPI { } /** - * Get list of entities - * Get list + * Creates request options for transactionsControllerGetTransactionsV1 without sending the request */ - async transactionsControllerGetTransactionsV1Raw(requestParameters: TransactionsControllerGetTransactionsV1Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + async transactionsControllerGetTransactionsV1RequestOpts(requestParameters: TransactionsControllerGetTransactionsV1Request): Promise { if (requestParameters['deploymentId'] == null) { throw new runtime.RequiredError( 'deploymentId', @@ -128,40 +138,28 @@ export class TransactionsApi extends runtime.BaseAPI { const queryParameters: any = {}; - if (requestParameters['id'] != null) { - queryParameters['id'] = requestParameters['id']; - } - - if (requestParameters['operationId'] != null) { - queryParameters['operationId'] = requestParameters['operationId']; - } - - if (requestParameters['operationTypes'] != null) { - queryParameters['operationTypes'] = requestParameters['operationTypes']; - } - - if (requestParameters['statuses'] != null) { - queryParameters['statuses'] = requestParameters['statuses']; + if (requestParameters['page'] != null) { + queryParameters['page'] = requestParameters['page']; } - if (requestParameters['txHash'] != null) { - queryParameters['txHash'] = requestParameters['txHash']; + if (requestParameters['pageSize'] != null) { + queryParameters['pageSize'] = requestParameters['pageSize']; } - if (requestParameters['currencyIds'] != null) { - queryParameters['currencyIds'] = requestParameters['currencyIds']; + if (requestParameters['sortBy'] != null) { + queryParameters['sortBy'] = requestParameters['sortBy']; } - if (requestParameters['currencyIsScam'] != null) { - queryParameters['currencyIsScam'] = requestParameters['currencyIsScam']; + if (requestParameters['sortOrder'] != null) { + queryParameters['sortOrder'] = requestParameters['sortOrder']; } - if (requestParameters['currencyIsVerified'] != null) { - queryParameters['currencyIsVerified'] = requestParameters['currencyIsVerified']; + if (requestParameters['id'] != null) { + queryParameters['id'] = requestParameters['id']; } - if (requestParameters['currencyIsHidden'] != null) { - queryParameters['currencyIsHidden'] = requestParameters['currencyIsHidden']; + if (requestParameters['txHash'] != null) { + queryParameters['txHash'] = requestParameters['txHash']; } if (requestParameters['createdFrom'] != null) { @@ -180,24 +178,36 @@ export class TransactionsApi extends runtime.BaseAPI { queryParameters['updatedTo'] = requestParameters['updatedTo']; } - if (requestParameters['isClaimed'] != null) { - queryParameters['isClaimed'] = requestParameters['isClaimed']; + if (requestParameters['currencyIds'] != null) { + queryParameters['currencyIds'] = requestParameters['currencyIds']; } - if (requestParameters['sortBy'] != null) { - queryParameters['sortBy'] = requestParameters['sortBy']; + if (requestParameters['statuses'] != null) { + queryParameters['statuses'] = requestParameters['statuses']; } - if (requestParameters['sortOrder'] != null) { - queryParameters['sortOrder'] = requestParameters['sortOrder']; + if (requestParameters['operationId'] != null) { + queryParameters['operationId'] = requestParameters['operationId']; } - if (requestParameters['page'] != null) { - queryParameters['page'] = requestParameters['page']; + if (requestParameters['operationTypes'] != null) { + queryParameters['operationTypes'] = requestParameters['operationTypes']; } - if (requestParameters['pageSize'] != null) { - queryParameters['pageSize'] = requestParameters['pageSize']; + if (requestParameters['isClaimed'] != null) { + queryParameters['isClaimed'] = requestParameters['isClaimed']; + } + + if (requestParameters['currencyIsScam'] != null) { + queryParameters['currencyIsScam'] = requestParameters['currencyIsScam']; + } + + if (requestParameters['currencyIsVerified'] != null) { + queryParameters['currencyIsVerified'] = requestParameters['currencyIsVerified']; + } + + if (requestParameters['currencyIsHidden'] != null) { + queryParameters['currencyIsHidden'] = requestParameters['currencyIsHidden']; } const headerParameters: runtime.HTTPHeaders = {}; @@ -208,14 +218,23 @@ export class TransactionsApi extends runtime.BaseAPI { let urlPath = `/api/v1/deployments/{deploymentId}/transactions`; - urlPath = urlPath.replace(`{${"deploymentId"}}`, encodeURIComponent(String(requestParameters['deploymentId']))); + urlPath = urlPath.replace('{deploymentId}', encodeURIComponent(String(requestParameters['deploymentId']))); - const response = await this.request({ + return { path: urlPath, method: 'GET', headers: headerParameters, query: queryParameters, - }, initOverrides); + }; + } + + /** + * Get list of entities + * Get list + */ + async transactionsControllerGetTransactionsV1Raw(requestParameters: TransactionsControllerGetTransactionsV1Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const requestOptions = await this.transactionsControllerGetTransactionsV1RequestOpts(requestParameters); + const response = await this.request(requestOptions, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => TransactionListResponseDtoFromJSON(jsonValue)); } @@ -234,16 +253,20 @@ export class TransactionsApi extends runtime.BaseAPI { /** * @export */ -export const TransactionsControllerGetTransactionsV1OperationTypesEnum = { - Invoice: 'invoice', - DirectDeposit: 'direct_deposit', - SetConfig: 'set_config', - Claim: 'claim', - Payout: 'payout', - Reject: 'reject', - DappTransaction: 'dapp_transaction' +export const TransactionsControllerGetTransactionsV1SortByEnum = { + Id: 'id', + CreatedAt: 'createdAt', + UpdatedAt: 'updatedAt' } as const; -export type TransactionsControllerGetTransactionsV1OperationTypesEnum = typeof TransactionsControllerGetTransactionsV1OperationTypesEnum[keyof typeof TransactionsControllerGetTransactionsV1OperationTypesEnum]; +export type TransactionsControllerGetTransactionsV1SortByEnum = typeof TransactionsControllerGetTransactionsV1SortByEnum[keyof typeof TransactionsControllerGetTransactionsV1SortByEnum]; +/** + * @export + */ +export const TransactionsControllerGetTransactionsV1SortOrderEnum = { + Asc: 'asc', + Desc: 'desc' +} as const; +export type TransactionsControllerGetTransactionsV1SortOrderEnum = typeof TransactionsControllerGetTransactionsV1SortOrderEnum[keyof typeof TransactionsControllerGetTransactionsV1SortOrderEnum]; /** * @export */ @@ -257,17 +280,14 @@ export type TransactionsControllerGetTransactionsV1StatusesEnum = typeof Transac /** * @export */ -export const TransactionsControllerGetTransactionsV1SortByEnum = { - Id: 'id', - CreatedAt: 'createdAt', - UpdatedAt: 'updatedAt' -} as const; -export type TransactionsControllerGetTransactionsV1SortByEnum = typeof TransactionsControllerGetTransactionsV1SortByEnum[keyof typeof TransactionsControllerGetTransactionsV1SortByEnum]; -/** - * @export - */ -export const TransactionsControllerGetTransactionsV1SortOrderEnum = { - Asc: 'asc', - Desc: 'desc' +export const TransactionsControllerGetTransactionsV1OperationTypesEnum = { + Invoice: 'invoice', + DirectDeposit: 'direct_deposit', + SetConfig: 'set_config', + Claim: 'claim', + Payout: 'payout', + Reject: 'reject', + Deploy: 'deploy', + DappTransaction: 'dapp_transaction' } as const; -export type TransactionsControllerGetTransactionsV1SortOrderEnum = typeof TransactionsControllerGetTransactionsV1SortOrderEnum[keyof typeof TransactionsControllerGetTransactionsV1SortOrderEnum]; +export type TransactionsControllerGetTransactionsV1OperationTypesEnum = typeof TransactionsControllerGetTransactionsV1OperationTypesEnum[keyof typeof TransactionsControllerGetTransactionsV1OperationTypesEnum]; diff --git a/generated-contracts/models/account-deployment-dto.ts b/generated-contracts/models/account-deployment-dto.ts index 1ed7d3f..7557ba5 100644 --- a/generated-contracts/models/account-deployment-dto.ts +++ b/generated-contracts/models/account-deployment-dto.ts @@ -51,7 +51,7 @@ export interface AccountDeploymentDto { threshold: number; /** * Deployment status - * @type {string} + * @type {AccountDeploymentDtoDeploymentStatusEnum} * @memberof AccountDeploymentDto */ deploymentStatus: AccountDeploymentDtoDeploymentStatusEnum; diff --git a/generated-contracts/models/asset-balance-dto.ts b/generated-contracts/models/asset-balance-dto.ts index ac4ed10..40ed209 100644 --- a/generated-contracts/models/asset-balance-dto.ts +++ b/generated-contracts/models/asset-balance-dto.ts @@ -35,16 +35,16 @@ export interface AssetBalanceDto { currency: CurrencyResponseDto; /** * Asset balance - * @type {number} + * @type {string} * @memberof AssetBalanceDto */ - balance: number; + balance: string; /** * Balance converted to base currency (null if rate unavailable) - * @type {number} + * @type {string} * @memberof AssetBalanceDto */ - convertedBalance: number | null; + convertedBalance: string | null; /** * Only for JWT users; ignored for API keys * @type {boolean} diff --git a/generated-contracts/models/asset-balance-short-response-dto.ts b/generated-contracts/models/asset-balance-short-response-dto.ts index 624f4c6..5ac3d0f 100644 --- a/generated-contracts/models/asset-balance-short-response-dto.ts +++ b/generated-contracts/models/asset-balance-short-response-dto.ts @@ -35,10 +35,10 @@ export interface AssetBalanceShortResponseDto { currency: CurrencyResponseDto; /** * Asset balance - * @type {number} + * @type {string} * @memberof AssetBalanceShortResponseDto */ - balance: number; + balance: string; /** * Only for JWT users; ignored for API keys * @type {boolean} diff --git a/generated-contracts/models/balance-summary-response-dto.ts b/generated-contracts/models/balance-summary-response-dto.ts index ce12deb..8e28d36 100644 --- a/generated-contracts/models/balance-summary-response-dto.ts +++ b/generated-contracts/models/balance-summary-response-dto.ts @@ -21,16 +21,16 @@ import { mapValues } from '../runtime'; export interface BalanceSummaryResponseDto { /** * Total balance in base currency - * @type {number} + * @type {string} * @memberof BalanceSummaryResponseDto */ - totalBalance: number; + totalBalance: string; /** * Uncollected balance in base currency - * @type {number} + * @type {string} * @memberof BalanceSummaryResponseDto */ - uncollectedBalance: number; + uncollectedBalance: string; /** * Count of uncollected invoices * @type {number} diff --git a/generated-contracts/models/callback.ts b/generated-contracts/models/callback.ts deleted file mode 100644 index 43e8dd5..0000000 --- a/generated-contracts/models/callback.ts +++ /dev/null @@ -1,206 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -/** - * DeFi API (API users) - * API surface available via API key authentication - * - * The version of the OpenAPI document: 1.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { mapValues } from '../runtime'; -/** - * - * @export - * @interface Callback - */ -export interface Callback { - /** - * Entity unique identifier - * @type {string} - * @memberof Callback - */ - id: string; - /** - * URL to send the callback to - * @type {string} - * @memberof Callback - */ - url: string; - /** - * Type of callback event - * @type {string} - * @memberof Callback - */ - type: CallbackTypeEnum; - /** - * Current status of the callback - * @type {string} - * @memberof Callback - */ - status: CallbackStatusEnum; - /** - * ID of the operation (invoice or payout) - * @type {string} - * @memberof Callback - */ - operationId: string; - /** - * Type of operation - * @type {string} - * @memberof Callback - */ - operationType: CallbackOperationTypeEnum; - /** - * Number of attempts made to send this callback - * @type {number} - * @memberof Callback - */ - attempt: number; - /** - * Timestamp when the callback was last sent - * @type {Date} - * @memberof Callback - */ - timeSent: Date | null; - /** - * HTTP response code from the callback endpoint - * @type {number} - * @memberof Callback - */ - responseCode: number | null; - /** - * HTTP response body from the callback endpoint - * @type {object} - * @memberof Callback - */ - responseBody: object | null; - /** - * Creation timestamp - * @type {string} - * @memberof Callback - */ - createdAt: string; - /** - * Last update timestamp - * @type {string} - * @memberof Callback - */ - updatedAt: string; -} - - -/** - * @export - */ -export const CallbackTypeEnum = { - InvoiceCreated: 'INVOICE_CREATED', - InvoiceDepositReceived: 'INVOICE_DEPOSIT_RECEIVED', - InvoiceDepositConfirmed: 'INVOICE_DEPOSIT_CONFIRMED', - InvoicePaid: 'INVOICE_PAID', - InvoiceUnresolved: 'INVOICE_UNRESOLVED', - InvoiceClaimed: 'INVOICE_CLAIMED', - PayoutCreated: 'PAYOUT_CREATED', - PayoutSent: 'PAYOUT_SENT', - PayoutExecuted: 'PAYOUT_EXECUTED', - PayoutConfirmed: 'PAYOUT_CONFIRMED', - PayoutFailed: 'PAYOUT_FAILED', - PayoutCancelled: 'PAYOUT_CANCELLED' -} as const; -export type CallbackTypeEnum = typeof CallbackTypeEnum[keyof typeof CallbackTypeEnum]; - -/** - * @export - */ -export const CallbackStatusEnum = { - Created: 'CREATED', - Retry: 'RETRY', - Sent: 'SENT', - Failed: 'FAILED' -} as const; -export type CallbackStatusEnum = typeof CallbackStatusEnum[keyof typeof CallbackStatusEnum]; - -/** - * @export - */ -export const CallbackOperationTypeEnum = { - Invoice: 'invoice', - Payout: 'payout' -} as const; -export type CallbackOperationTypeEnum = typeof CallbackOperationTypeEnum[keyof typeof CallbackOperationTypeEnum]; - - -/** - * Check if a given object implements the Callback interface. - */ -export function instanceOfCallback(value: object): value is Callback { - if (!('id' in value) || value['id'] === undefined) return false; - if (!('url' in value) || value['url'] === undefined) return false; - if (!('type' in value) || value['type'] === undefined) return false; - if (!('status' in value) || value['status'] === undefined) return false; - if (!('operationId' in value) || value['operationId'] === undefined) return false; - if (!('operationType' in value) || value['operationType'] === undefined) return false; - if (!('attempt' in value) || value['attempt'] === undefined) return false; - if (!('timeSent' in value) || value['timeSent'] === undefined) return false; - if (!('responseCode' in value) || value['responseCode'] === undefined) return false; - if (!('responseBody' in value) || value['responseBody'] === undefined) return false; - if (!('createdAt' in value) || value['createdAt'] === undefined) return false; - if (!('updatedAt' in value) || value['updatedAt'] === undefined) return false; - return true; -} - -export function CallbackFromJSON(json: any): Callback { - return CallbackFromJSONTyped(json, false); -} - -export function CallbackFromJSONTyped(json: any, ignoreDiscriminator: boolean): Callback { - if (json == null) { - return json; - } - return { - - 'id': json['id'], - 'url': json['url'], - 'type': json['type'], - 'status': json['status'], - 'operationId': json['operationId'], - 'operationType': json['operationType'], - 'attempt': json['attempt'], - 'timeSent': (json['timeSent'] == null ? null : new Date(json['timeSent'])), - 'responseCode': json['responseCode'], - 'responseBody': json['responseBody'], - 'createdAt': json['createdAt'], - 'updatedAt': json['updatedAt'], - }; -} - -export function CallbackToJSON(json: any): Callback { - return CallbackToJSONTyped(json, false); -} - -export function CallbackToJSONTyped(value?: Callback | null, ignoreDiscriminator: boolean = false): any { - if (value == null) { - return value; - } - - return { - - 'id': value['id'], - 'url': value['url'], - 'type': value['type'], - 'status': value['status'], - 'operationId': value['operationId'], - 'operationType': value['operationType'], - 'attempt': value['attempt'], - 'timeSent': value['timeSent'] == null ? value['timeSent'] : value['timeSent'].toISOString(), - 'responseCode': value['responseCode'], - 'responseBody': value['responseBody'], - 'createdAt': value['createdAt'], - 'updatedAt': value['updatedAt'], - }; -} - diff --git a/generated-contracts/models/claim-item-dto.ts b/generated-contracts/models/claim-item-dto.ts index 45e6872..80e4e83 100644 --- a/generated-contracts/models/claim-item-dto.ts +++ b/generated-contracts/models/claim-item-dto.ts @@ -52,7 +52,7 @@ export interface ClaimItemDto { */ updatedAt: string; /** - * Currency details + * * @type {CurrencyResponseDto} * @memberof ClaimItemDto */ diff --git a/generated-contracts/models/claims-response-dto.ts b/generated-contracts/models/claims-response-dto.ts index c51805a..5754ee0 100644 --- a/generated-contracts/models/claims-response-dto.ts +++ b/generated-contracts/models/claims-response-dto.ts @@ -28,13 +28,13 @@ import { */ export interface ClaimsResponseDto { /** - * Total number of claimable groups + * Total number of items across all pages * @type {number} * @memberof ClaimsResponseDto */ total: number; /** - * Current page number + * Current page number (starts from 1) * @type {number} * @memberof ClaimsResponseDto */ @@ -46,7 +46,7 @@ export interface ClaimsResponseDto { */ pageSize: number; /** - * List of claimable groups + * * @type {Array} * @memberof ClaimsResponseDto */ diff --git a/generated-contracts/models/currencies-controller-find-all-v1-is-native-parameter.ts b/generated-contracts/models/currencies-controller-find-all-v1-is-native-parameter.ts index d5cd3e7..e19406f 100644 --- a/generated-contracts/models/currencies-controller-find-all-v1-is-native-parameter.ts +++ b/generated-contracts/models/currencies-controller-find-all-v1-is-native-parameter.ts @@ -27,6 +27,9 @@ export function CurrenciesControllerFindAllV1IsNativeParameterFromJSONTyped(json if (json == null) { return json; } + if (typeof json === 'boolean') { + return json; + } if (typeof json === 'string') { return json; } @@ -41,6 +44,9 @@ export function CurrenciesControllerFindAllV1IsNativeParameterToJSONTyped(value? if (value == null) { return value; } + if (typeof value === 'boolean') { + return value; + } if (typeof value === 'string') { return value; } diff --git a/generated-contracts/models/dapp-transaction-payload.ts b/generated-contracts/models/dapp-transaction-payload.ts new file mode 100644 index 0000000..d1afb7b --- /dev/null +++ b/generated-contracts/models/dapp-transaction-payload.ts @@ -0,0 +1,65 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * DeFi API (API users) + * API surface available via API key authentication + * + * The version of the OpenAPI document: 1.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { mapValues } from '../runtime'; +/** + * + * @export + * @interface DappTransactionPayload + */ +export interface DappTransactionPayload { + /** + * Decoded operation details from frontend + * @type {Array} + * @memberof DappTransactionPayload + */ + decodedOperations?: Array; +} + +/** + * Check if a given object implements the DappTransactionPayload interface. + */ +export function instanceOfDappTransactionPayload(value: object): value is DappTransactionPayload { + return true; +} + +export function DappTransactionPayloadFromJSON(json: any): DappTransactionPayload { + return DappTransactionPayloadFromJSONTyped(json, false); +} + +export function DappTransactionPayloadFromJSONTyped(json: any, ignoreDiscriminator: boolean): DappTransactionPayload { + if (json == null) { + return json; + } + return { + + 'decodedOperations': json['decodedOperations'] == null ? undefined : json['decodedOperations'], + }; +} + +export function DappTransactionPayloadToJSON(json: any): DappTransactionPayload { + return DappTransactionPayloadToJSONTyped(json, false); +} + +export function DappTransactionPayloadToJSONTyped(value?: DappTransactionPayload | null, ignoreDiscriminator: boolean = false): any { + if (value == null) { + return value; + } + + return { + + 'decodedOperations': value['decodedOperations'], + }; +} + diff --git a/generated-contracts/models/get-callbacks-response-dto.ts b/generated-contracts/models/get-callbacks-response-dto.ts deleted file mode 100644 index f201d0f..0000000 --- a/generated-contracts/models/get-callbacks-response-dto.ts +++ /dev/null @@ -1,101 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -/** - * DeFi API (API users) - * API surface available via API key authentication - * - * The version of the OpenAPI document: 1.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { mapValues } from '../runtime'; -import type { Callback } from './callback'; -import { - CallbackFromJSON, - CallbackFromJSONTyped, - CallbackToJSON, - CallbackToJSONTyped, -} from './callback'; - -/** - * - * @export - * @interface GetCallbacksResponseDto - */ -export interface GetCallbacksResponseDto { - /** - * Total number of items across all pages - * @type {number} - * @memberof GetCallbacksResponseDto - */ - total: number; - /** - * Current page number (starts from 1) - * @type {number} - * @memberof GetCallbacksResponseDto - */ - page: number; - /** - * Number of items per page - * @type {number} - * @memberof GetCallbacksResponseDto - */ - pageSize: number; - /** - * Array of callbacks - * @type {Array} - * @memberof GetCallbacksResponseDto - */ - items: Array; -} - -/** - * Check if a given object implements the GetCallbacksResponseDto interface. - */ -export function instanceOfGetCallbacksResponseDto(value: object): value is GetCallbacksResponseDto { - if (!('total' in value) || value['total'] === undefined) return false; - if (!('page' in value) || value['page'] === undefined) return false; - if (!('pageSize' in value) || value['pageSize'] === undefined) return false; - if (!('items' in value) || value['items'] === undefined) return false; - return true; -} - -export function GetCallbacksResponseDtoFromJSON(json: any): GetCallbacksResponseDto { - return GetCallbacksResponseDtoFromJSONTyped(json, false); -} - -export function GetCallbacksResponseDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): GetCallbacksResponseDto { - if (json == null) { - return json; - } - return { - - 'total': json['total'], - 'page': json['page'], - 'pageSize': json['pageSize'], - 'items': ((json['items'] as Array).map(CallbackFromJSON)), - }; -} - -export function GetCallbacksResponseDtoToJSON(json: any): GetCallbacksResponseDto { - return GetCallbacksResponseDtoToJSONTyped(json, false); -} - -export function GetCallbacksResponseDtoToJSONTyped(value?: GetCallbacksResponseDto | null, ignoreDiscriminator: boolean = false): any { - if (value == null) { - return value; - } - - return { - - 'total': value['total'], - 'page': value['page'], - 'pageSize': value['pageSize'], - 'items': ((value['items'] as Array).map(CallbackToJSON)), - }; -} - diff --git a/generated-contracts/models/index.ts b/generated-contracts/models/index.ts index 0089b80..c3b80a6 100644 --- a/generated-contracts/models/index.ts +++ b/generated-contracts/models/index.ts @@ -8,7 +8,6 @@ export * from './asset-balance-short-response-dto'; export * from './asset-balances-response-dto'; export * from './balance-summary-response-dto'; export * from './call-dto'; -export * from './callback'; export * from './claim-item-dto'; export * from './claims-response-dto'; export * from './create-invoice-dto'; @@ -17,32 +16,35 @@ export * from './create-payout-dto'; export * from './create-reject-operation-dto'; export * from './currencies-controller-find-all-v1-is-native-parameter'; export * from './currency-response-dto'; +export * from './dapp-transaction-payload'; export * from './deployment-params-response-dto'; export * from './deployment-queue-response-dto'; -export * from './get-callbacks-response-dto'; export * from './invoice-details-dto'; export * from './invoice-response-dto'; export * from './invoices-response-dto'; +export * from './multisig-config-change-payload'; export * from './network-response-dto'; export * from './networks-response-dto'; export * from './nonce-info-response-dto'; export * from './operation-signature-dto'; export * from './payout-detail-response-dto'; export * from './payout-list-response-dto'; +export * from './payout-payload'; export * from './payout-response-dto'; export * from './queue-operation-response-dto'; export * from './queue-operation-response-dto-dapp-metadata'; -export * from './resend-callbacks-body-dto'; -export * from './resend-callbacks-response-dto'; +export * from './queue-operation-response-dto-payload'; export * from './signature-response-dto'; export * from './smart-contract-version-response-dto'; export * from './submit-signature-dto'; +export * from './transaction-dapp-metadata'; export * from './transaction-details-dto'; -export * from './transaction-invoice-response-dto'; export * from './transaction-list-response-dto'; -export * from './transaction-response-dto'; -export * from './transactions-controller-get-transactions-v1-currency-is-scam-parameter'; +export * from './transaction-list-response-dto-items-inner'; +export * from './transaction-list-response-dto-items-inner-calls-inner'; +export * from './transaction-list-response-dto-items-inner-invoice'; export * from './transactions-controller-get-transactions-v1-currency-is-verified-parameter'; +export * from './transactions-controller-get-transactions-v1-is-claimed-parameter'; export * from './universal-address'; export * from './update-account-dto'; export * from './update-invoice-dto'; diff --git a/generated-contracts/models/invoice-response-dto.ts b/generated-contracts/models/invoice-response-dto.ts index b4c0f82..9f7def5 100644 --- a/generated-contracts/models/invoice-response-dto.ts +++ b/generated-contracts/models/invoice-response-dto.ts @@ -59,7 +59,7 @@ export interface InvoiceResponseDto { paymentPageUrl: string; /** * Invoice status - * @type {string} + * @type {InvoiceResponseDtoStatusEnum} * @memberof InvoiceResponseDto */ status: InvoiceResponseDtoStatusEnum; diff --git a/generated-contracts/models/invoices-response-dto.ts b/generated-contracts/models/invoices-response-dto.ts index 4fb9858..2ddae42 100644 --- a/generated-contracts/models/invoices-response-dto.ts +++ b/generated-contracts/models/invoices-response-dto.ts @@ -40,7 +40,7 @@ export interface InvoicesResponseDto { */ page: number; /** - * Number of items per page (max 100) + * Number of items per page * @type {number} * @memberof InvoicesResponseDto */ diff --git a/generated-contracts/models/multisig-config-change-payload.ts b/generated-contracts/models/multisig-config-change-payload.ts new file mode 100644 index 0000000..291d28b --- /dev/null +++ b/generated-contracts/models/multisig-config-change-payload.ts @@ -0,0 +1,75 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * DeFi API (API users) + * API surface available via API key authentication + * + * The version of the OpenAPI document: 1.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { mapValues } from '../runtime'; +/** + * + * @export + * @interface MultisigConfigChangePayload + */ +export interface MultisigConfigChangePayload { + /** + * New list of approver addresses + * @type {Array} + * @memberof MultisigConfigChangePayload + */ + approvers: Array; + /** + * Required number of signatures + * @type {number} + * @memberof MultisigConfigChangePayload + */ + threshold: number; +} + +/** + * Check if a given object implements the MultisigConfigChangePayload interface. + */ +export function instanceOfMultisigConfigChangePayload(value: object): value is MultisigConfigChangePayload { + if (!('approvers' in value) || value['approvers'] === undefined) return false; + if (!('threshold' in value) || value['threshold'] === undefined) return false; + return true; +} + +export function MultisigConfigChangePayloadFromJSON(json: any): MultisigConfigChangePayload { + return MultisigConfigChangePayloadFromJSONTyped(json, false); +} + +export function MultisigConfigChangePayloadFromJSONTyped(json: any, ignoreDiscriminator: boolean): MultisigConfigChangePayload { + if (json == null) { + return json; + } + return { + + 'approvers': json['approvers'], + 'threshold': json['threshold'], + }; +} + +export function MultisigConfigChangePayloadToJSON(json: any): MultisigConfigChangePayload { + return MultisigConfigChangePayloadToJSONTyped(json, false); +} + +export function MultisigConfigChangePayloadToJSONTyped(value?: MultisigConfigChangePayload | null, ignoreDiscriminator: boolean = false): any { + if (value == null) { + return value; + } + + return { + + 'approvers': value['approvers'], + 'threshold': value['threshold'], + }; +} + diff --git a/generated-contracts/models/network-response-dto.ts b/generated-contracts/models/network-response-dto.ts index 6b6e50f..1c817de 100644 --- a/generated-contracts/models/network-response-dto.ts +++ b/generated-contracts/models/network-response-dto.ts @@ -31,12 +31,6 @@ export interface NetworkResponseDto { * @memberof NetworkResponseDto */ name: string; - /** - * Native token symbol - * @type {string} - * @memberof NetworkResponseDto - */ - coin: string; /** * Whether this is a testnet * @type {boolean} @@ -74,7 +68,7 @@ export interface NetworkResponseDto { */ tokenExplorerUrl: string | null; /** - * Number of confirmations required for transaction finality on this network + * Number of confirmations required for transaction finality * @type {number} * @memberof NetworkResponseDto */ @@ -87,7 +81,6 @@ export interface NetworkResponseDto { export function instanceOfNetworkResponseDto(value: object): value is NetworkResponseDto { if (!('chainId' in value) || value['chainId'] === undefined) return false; if (!('name' in value) || value['name'] === undefined) return false; - if (!('coin' in value) || value['coin'] === undefined) return false; if (!('isTestnet' in value) || value['isTestnet'] === undefined) return false; if (!('isActive' in value) || value['isActive'] === undefined) return false; if (!('isTron' in value) || value['isTron'] === undefined) return false; @@ -110,7 +103,6 @@ export function NetworkResponseDtoFromJSONTyped(json: any, ignoreDiscriminator: 'chainId': json['chainId'], 'name': json['name'], - 'coin': json['coin'], 'isTestnet': json['isTestnet'], 'isActive': json['isActive'], 'isTron': json['isTron'], @@ -134,7 +126,6 @@ export function NetworkResponseDtoToJSONTyped(value?: NetworkResponseDto | null, 'chainId': value['chainId'], 'name': value['name'], - 'coin': value['coin'], 'isTestnet': value['isTestnet'], 'isActive': value['isActive'], 'isTron': value['isTron'], diff --git a/generated-contracts/models/networks-response-dto.ts b/generated-contracts/models/networks-response-dto.ts index 14ab579..12618a1 100644 --- a/generated-contracts/models/networks-response-dto.ts +++ b/generated-contracts/models/networks-response-dto.ts @@ -28,7 +28,7 @@ import { */ export interface NetworksResponseDto { /** - * Get list + * * @type {Array} * @memberof NetworksResponseDto */ diff --git a/generated-contracts/models/payout-detail-response-dto.ts b/generated-contracts/models/payout-detail-response-dto.ts index c4be3fb..bbb07b3 100644 --- a/generated-contracts/models/payout-detail-response-dto.ts +++ b/generated-contracts/models/payout-detail-response-dto.ts @@ -13,6 +13,13 @@ */ import { mapValues } from '../runtime'; +import type { UniversalAddress } from './universal-address'; +import { + UniversalAddressFromJSON, + UniversalAddressFromJSONTyped, + UniversalAddressToJSON, + UniversalAddressToJSONTyped, +} from './universal-address'; import type { CurrencyResponseDto } from './currency-response-dto'; import { CurrencyResponseDtoFromJSON, @@ -46,11 +53,11 @@ export interface PayoutDetailResponseDto { */ amount: string; /** - * Wallet address (Ethereum 0x... or Tron TVM T...) - * @type {string} + * + * @type {UniversalAddress} * @memberof PayoutDetailResponseDto */ - toAddress: string; + toAddress: UniversalAddress; /** * Whether the entity relates to Tron (TVM) * @type {boolean} @@ -68,13 +75,13 @@ export interface PayoutDetailResponseDto { * @type {string} * @memberof PayoutDetailResponseDto */ - trackingId: string; + trackingId: string | null; /** * Callback URL for notifications * @type {string} * @memberof PayoutDetailResponseDto */ - callbackUrl: string; + callbackUrl: string | null; /** * Queue operation ID associated with this payout * @type {string} @@ -89,16 +96,16 @@ export interface PayoutDetailResponseDto { nonce: string; /** * Current status of the payout - * @type {string} + * @type {PayoutDetailResponseDtoStatusEnum} * @memberof PayoutDetailResponseDto */ status: PayoutDetailResponseDtoStatusEnum; /** - * Wallet address (Ethereum 0x... or Tron TVM T...) - * @type {string} + * + * @type {UniversalAddress} * @memberof PayoutDetailResponseDto */ - createdBy: string; + createdBy: UniversalAddress; /** * Creation timestamp * @type {string} @@ -112,7 +119,7 @@ export interface PayoutDetailResponseDto { */ updatedAt: string; /** - * Currency information + * * @type {CurrencyResponseDto} * @memberof PayoutDetailResponseDto */ @@ -169,7 +176,7 @@ export function PayoutDetailResponseDtoFromJSONTyped(json: any, ignoreDiscrimina 'id': json['id'], 'currencyId': json['currencyId'], 'amount': json['amount'], - 'toAddress': json['toAddress'], + 'toAddress': UniversalAddressFromJSON(json['toAddress']), 'isTron': json['isTron'], 'deploymentId': json['deploymentId'], 'trackingId': json['trackingId'], @@ -177,7 +184,7 @@ export function PayoutDetailResponseDtoFromJSONTyped(json: any, ignoreDiscrimina 'queueOperationId': json['queueOperationId'], 'nonce': json['nonce'], 'status': json['status'], - 'createdBy': json['createdBy'], + 'createdBy': UniversalAddressFromJSON(json['createdBy']), 'createdAt': json['createdAt'], 'updatedAt': json['updatedAt'], 'currency': CurrencyResponseDtoFromJSON(json['currency']), @@ -198,7 +205,7 @@ export function PayoutDetailResponseDtoToJSONTyped(value?: PayoutDetailResponseD 'id': value['id'], 'currencyId': value['currencyId'], 'amount': value['amount'], - 'toAddress': value['toAddress'], + 'toAddress': UniversalAddressToJSON(value['toAddress']), 'isTron': value['isTron'], 'deploymentId': value['deploymentId'], 'trackingId': value['trackingId'], @@ -206,7 +213,7 @@ export function PayoutDetailResponseDtoToJSONTyped(value?: PayoutDetailResponseD 'queueOperationId': value['queueOperationId'], 'nonce': value['nonce'], 'status': value['status'], - 'createdBy': value['createdBy'], + 'createdBy': UniversalAddressToJSON(value['createdBy']), 'createdAt': value['createdAt'], 'updatedAt': value['updatedAt'], 'currency': CurrencyResponseDtoToJSON(value['currency']), diff --git a/generated-contracts/models/payout-list-response-dto.ts b/generated-contracts/models/payout-list-response-dto.ts index b1bfd57..30d677b 100644 --- a/generated-contracts/models/payout-list-response-dto.ts +++ b/generated-contracts/models/payout-list-response-dto.ts @@ -46,7 +46,7 @@ export interface PayoutListResponseDto { */ pageSize: number; /** - * Array of payouts + * * @type {Array} * @memberof PayoutListResponseDto */ diff --git a/generated-contracts/models/payout-payload.ts b/generated-contracts/models/payout-payload.ts new file mode 100644 index 0000000..f5badcb --- /dev/null +++ b/generated-contracts/models/payout-payload.ts @@ -0,0 +1,66 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * DeFi API (API users) + * API surface available via API key authentication + * + * The version of the OpenAPI document: 1.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { mapValues } from '../runtime'; +/** + * + * @export + * @interface PayoutPayload + */ +export interface PayoutPayload { + /** + * Reference to the payout entity + * @type {string} + * @memberof PayoutPayload + */ + payoutId: string; +} + +/** + * Check if a given object implements the PayoutPayload interface. + */ +export function instanceOfPayoutPayload(value: object): value is PayoutPayload { + if (!('payoutId' in value) || value['payoutId'] === undefined) return false; + return true; +} + +export function PayoutPayloadFromJSON(json: any): PayoutPayload { + return PayoutPayloadFromJSONTyped(json, false); +} + +export function PayoutPayloadFromJSONTyped(json: any, ignoreDiscriminator: boolean): PayoutPayload { + if (json == null) { + return json; + } + return { + + 'payoutId': json['payoutId'], + }; +} + +export function PayoutPayloadToJSON(json: any): PayoutPayload { + return PayoutPayloadToJSONTyped(json, false); +} + +export function PayoutPayloadToJSONTyped(value?: PayoutPayload | null, ignoreDiscriminator: boolean = false): any { + if (value == null) { + return value; + } + + return { + + 'payoutId': value['payoutId'], + }; +} + diff --git a/generated-contracts/models/payout-response-dto.ts b/generated-contracts/models/payout-response-dto.ts index 5f91128..e84b1d7 100644 --- a/generated-contracts/models/payout-response-dto.ts +++ b/generated-contracts/models/payout-response-dto.ts @@ -13,6 +13,13 @@ */ import { mapValues } from '../runtime'; +import type { UniversalAddress } from './universal-address'; +import { + UniversalAddressFromJSON, + UniversalAddressFromJSONTyped, + UniversalAddressToJSON, + UniversalAddressToJSONTyped, +} from './universal-address'; import type { CurrencyResponseDto } from './currency-response-dto'; import { CurrencyResponseDtoFromJSON, @@ -46,11 +53,11 @@ export interface PayoutResponseDto { */ amount: string; /** - * Wallet address (Ethereum 0x... or Tron TVM T...) - * @type {string} + * + * @type {UniversalAddress} * @memberof PayoutResponseDto */ - toAddress: string; + toAddress: UniversalAddress; /** * Whether the entity relates to Tron (TVM) * @type {boolean} @@ -68,13 +75,13 @@ export interface PayoutResponseDto { * @type {string} * @memberof PayoutResponseDto */ - trackingId: string; + trackingId: string | null; /** * Callback URL for notifications * @type {string} * @memberof PayoutResponseDto */ - callbackUrl: string; + callbackUrl: string | null; /** * Queue operation ID associated with this payout * @type {string} @@ -89,16 +96,16 @@ export interface PayoutResponseDto { nonce: string; /** * Current status of the payout - * @type {string} + * @type {PayoutResponseDtoStatusEnum} * @memberof PayoutResponseDto */ status: PayoutResponseDtoStatusEnum; /** - * Wallet address (Ethereum 0x... or Tron TVM T...) - * @type {string} + * + * @type {UniversalAddress} * @memberof PayoutResponseDto */ - createdBy: string; + createdBy: UniversalAddress; /** * Creation timestamp * @type {string} @@ -112,7 +119,7 @@ export interface PayoutResponseDto { */ updatedAt: string; /** - * Currency information + * * @type {CurrencyResponseDto} * @memberof PayoutResponseDto */ @@ -169,7 +176,7 @@ export function PayoutResponseDtoFromJSONTyped(json: any, ignoreDiscriminator: b 'id': json['id'], 'currencyId': json['currencyId'], 'amount': json['amount'], - 'toAddress': json['toAddress'], + 'toAddress': UniversalAddressFromJSON(json['toAddress']), 'isTron': json['isTron'], 'deploymentId': json['deploymentId'], 'trackingId': json['trackingId'], @@ -177,7 +184,7 @@ export function PayoutResponseDtoFromJSONTyped(json: any, ignoreDiscriminator: b 'queueOperationId': json['queueOperationId'], 'nonce': json['nonce'], 'status': json['status'], - 'createdBy': json['createdBy'], + 'createdBy': UniversalAddressFromJSON(json['createdBy']), 'createdAt': json['createdAt'], 'updatedAt': json['updatedAt'], 'currency': CurrencyResponseDtoFromJSON(json['currency']), @@ -198,7 +205,7 @@ export function PayoutResponseDtoToJSONTyped(value?: PayoutResponseDto | null, i 'id': value['id'], 'currencyId': value['currencyId'], 'amount': value['amount'], - 'toAddress': value['toAddress'], + 'toAddress': UniversalAddressToJSON(value['toAddress']), 'isTron': value['isTron'], 'deploymentId': value['deploymentId'], 'trackingId': value['trackingId'], @@ -206,7 +213,7 @@ export function PayoutResponseDtoToJSONTyped(value?: PayoutResponseDto | null, i 'queueOperationId': value['queueOperationId'], 'nonce': value['nonce'], 'status': value['status'], - 'createdBy': value['createdBy'], + 'createdBy': UniversalAddressToJSON(value['createdBy']), 'createdAt': value['createdAt'], 'updatedAt': value['updatedAt'], 'currency': CurrencyResponseDtoToJSON(value['currency']), diff --git a/generated-contracts/models/queue-operation-response-dto-dapp-metadata.ts b/generated-contracts/models/queue-operation-response-dto-dapp-metadata.ts index 3a37411..446b6a0 100644 --- a/generated-contracts/models/queue-operation-response-dto-dapp-metadata.ts +++ b/generated-contracts/models/queue-operation-response-dto-dapp-metadata.ts @@ -14,7 +14,7 @@ import { mapValues } from '../runtime'; /** - * + * dApp metadata for DAPP_TRANSACTION operations (name, URL, icon) * @export * @interface QueueOperationResponseDtoDappMetadata */ diff --git a/generated-contracts/models/queue-operation-response-dto-payload.ts b/generated-contracts/models/queue-operation-response-dto-payload.ts new file mode 100644 index 0000000..fcf8d09 --- /dev/null +++ b/generated-contracts/models/queue-operation-response-dto-payload.ts @@ -0,0 +1,65 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * DeFi API (API users) + * API surface available via API key authentication + * + * The version of the OpenAPI document: 1.0 + * + * + * 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 { DappTransactionPayload } from './dapp-transaction-payload'; +import { + instanceOfDappTransactionPayload, + DappTransactionPayloadFromJSON, + DappTransactionPayloadFromJSONTyped, + DappTransactionPayloadToJSON, +} from './dapp-transaction-payload'; +import type { MultisigConfigChangePayload } from './multisig-config-change-payload'; +import { + instanceOfMultisigConfigChangePayload, + MultisigConfigChangePayloadFromJSON, + MultisigConfigChangePayloadFromJSONTyped, + MultisigConfigChangePayloadToJSON, +} from './multisig-config-change-payload'; +import type { PayoutPayload } from './payout-payload'; +import { + instanceOfPayoutPayload, + PayoutPayloadFromJSON, + PayoutPayloadFromJSONTyped, + PayoutPayloadToJSON, +} from './payout-payload'; + +/** + * @type QueueOperationResponseDtoPayload + * Operation-specific data (team config changes, reject details, etc.) + * @export + */ +export type QueueOperationResponseDtoPayload = DappTransactionPayload | MultisigConfigChangePayload | PayoutPayload | object; + +export function QueueOperationResponseDtoPayloadFromJSON(json: any): QueueOperationResponseDtoPayload { + return QueueOperationResponseDtoPayloadFromJSONTyped(json, false); +} + +export function QueueOperationResponseDtoPayloadFromJSONTyped(json: any, ignoreDiscriminator: boolean): QueueOperationResponseDtoPayload { + if (json == null) { + return json; + } + return json; +} + +export function QueueOperationResponseDtoPayloadToJSON(json: any): any { + return QueueOperationResponseDtoPayloadToJSONTyped(json, false); +} + +export function QueueOperationResponseDtoPayloadToJSONTyped(value?: QueueOperationResponseDtoPayload | null, ignoreDiscriminator: boolean = false): any { + if (value == null) { + return value; + } + return value; +} + diff --git a/generated-contracts/models/queue-operation-response-dto.ts b/generated-contracts/models/queue-operation-response-dto.ts index a84554a..f6cc9c5 100644 --- a/generated-contracts/models/queue-operation-response-dto.ts +++ b/generated-contracts/models/queue-operation-response-dto.ts @@ -13,6 +13,13 @@ */ import { mapValues } from '../runtime'; +import type { UniversalAddress } from './universal-address'; +import { + UniversalAddressFromJSON, + UniversalAddressFromJSONTyped, + UniversalAddressToJSON, + UniversalAddressToJSONTyped, +} from './universal-address'; import type { OperationSignatureDto } from './operation-signature-dto'; import { OperationSignatureDtoFromJSON, @@ -27,6 +34,13 @@ import { CallDtoToJSON, CallDtoToJSONTyped, } from './call-dto'; +import type { QueueOperationResponseDtoPayload } from './queue-operation-response-dto-payload'; +import { + QueueOperationResponseDtoPayloadFromJSON, + QueueOperationResponseDtoPayloadFromJSONTyped, + QueueOperationResponseDtoPayloadToJSON, + QueueOperationResponseDtoPayloadToJSONTyped, +} from './queue-operation-response-dto-payload'; import type { QueueOperationResponseDtoDappMetadata } from './queue-operation-response-dto-dapp-metadata'; import { QueueOperationResponseDtoDappMetadataFromJSON, @@ -61,13 +75,13 @@ export interface QueueOperationResponseDto { nonce: string; /** * Type of operation to execute - * @type {string} + * @type {QueueOperationResponseDtoOperationTypeEnum} * @memberof QueueOperationResponseDto */ operationType: QueueOperationResponseDtoOperationTypeEnum; /** * Current operation status - * @type {string} + * @type {QueueOperationResponseDtoStatusEnum} * @memberof QueueOperationResponseDto */ status: QueueOperationResponseDtoStatusEnum; @@ -78,11 +92,11 @@ export interface QueueOperationResponseDto { */ calls: Array; /** - * Operation-specific data (team config changes, reject details, etc.) - * @type {{ [key: string]: any; }} + * + * @type {QueueOperationResponseDtoPayload} * @memberof QueueOperationResponseDto */ - payload: { [key: string]: any; }; + payload: QueueOperationResponseDtoPayload; /** * Number of signatures collected * @type {number} @@ -96,7 +110,7 @@ export interface QueueOperationResponseDto { */ signaturesRequired: number; /** - * Blockchain transaction hash + * Blockchain transaction hash. EVM chains use the `0x`-prefixed 32-byte hex form; TVM (Tron) chains use a bare 64-hex string without the `0x` prefix. * @type {string} * @memberof QueueOperationResponseDto */ @@ -144,17 +158,23 @@ export interface QueueOperationResponseDto { */ createdAt: string; /** - * Wallet address (Ethereum 0x... or Tron TVM T...) - * @type {string} + * + * @type {UniversalAddress} * @memberof QueueOperationResponseDto */ - createdBy: string; + createdBy: UniversalAddress; /** - * Array of signatures for this operation + * Array of signatures for this operation, ordered by signer address ascending * @type {Array} * @memberof QueueOperationResponseDto */ signatures: Array; + /** + * Pre-built signature blob ready for the on-chain `execute` call (signers ordered ascending). Null until the required number of signatures is collected. + * @type {string} + * @memberof QueueOperationResponseDto + */ + signatureBlob: string | null; /** * Operation expiry timestamp (for DAPP_TRANSACTION operations) * @type {string} @@ -217,6 +237,7 @@ export function instanceOfQueueOperationResponseDto(value: object): value is Que if (!('createdAt' in value) || value['createdAt'] === undefined) return false; if (!('createdBy' in value) || value['createdBy'] === undefined) return false; if (!('signatures' in value) || value['signatures'] === undefined) return false; + if (!('signatureBlob' in value) || value['signatureBlob'] === undefined) return false; return true; } @@ -236,7 +257,7 @@ export function QueueOperationResponseDtoFromJSONTyped(json: any, ignoreDiscrimi 'operationType': json['operationType'], 'status': json['status'], 'calls': ((json['calls'] as Array).map(CallDtoFromJSON)), - 'payload': json['payload'], + 'payload': QueueOperationResponseDtoPayloadFromJSON(json['payload']), 'signaturesCollected': json['signaturesCollected'], 'signaturesRequired': json['signaturesRequired'], 'txHash': json['txHash'], @@ -247,8 +268,9 @@ export function QueueOperationResponseDtoFromJSONTyped(json: any, ignoreDiscrimi 'canReject': json['canReject'], 'isBlocked': json['isBlocked'], 'createdAt': json['createdAt'], - 'createdBy': json['createdBy'], + 'createdBy': UniversalAddressFromJSON(json['createdBy']), 'signatures': ((json['signatures'] as Array).map(OperationSignatureDtoFromJSON)), + 'signatureBlob': json['signatureBlob'], 'expiresAt': json['expiresAt'] == null ? undefined : json['expiresAt'], 'dappMetadata': json['dappMetadata'] == null ? undefined : QueueOperationResponseDtoDappMetadataFromJSON(json['dappMetadata']), }; @@ -271,7 +293,7 @@ export function QueueOperationResponseDtoToJSONTyped(value?: QueueOperationRespo 'operationType': value['operationType'], 'status': value['status'], 'calls': ((value['calls'] as Array).map(CallDtoToJSON)), - 'payload': value['payload'], + 'payload': QueueOperationResponseDtoPayloadToJSON(value['payload']), 'signaturesCollected': value['signaturesCollected'], 'signaturesRequired': value['signaturesRequired'], 'txHash': value['txHash'], @@ -282,8 +304,9 @@ export function QueueOperationResponseDtoToJSONTyped(value?: QueueOperationRespo 'canReject': value['canReject'], 'isBlocked': value['isBlocked'], 'createdAt': value['createdAt'], - 'createdBy': value['createdBy'], + 'createdBy': UniversalAddressToJSON(value['createdBy']), 'signatures': ((value['signatures'] as Array).map(OperationSignatureDtoToJSON)), + 'signatureBlob': value['signatureBlob'], 'expiresAt': value['expiresAt'], 'dappMetadata': QueueOperationResponseDtoDappMetadataToJSON(value['dappMetadata']), }; diff --git a/generated-contracts/models/resend-callbacks-body-dto.ts b/generated-contracts/models/resend-callbacks-body-dto.ts deleted file mode 100644 index 3f47233..0000000 --- a/generated-contracts/models/resend-callbacks-body-dto.ts +++ /dev/null @@ -1,66 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -/** - * DeFi API (API users) - * API surface available via API key authentication - * - * The version of the OpenAPI document: 1.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { mapValues } from '../runtime'; -/** - * - * @export - * @interface ResendCallbacksBodyDto - */ -export interface ResendCallbacksBodyDto { - /** - * Array of callback IDs to resend - * @type {Array} - * @memberof ResendCallbacksBodyDto - */ - ids: Array; -} - -/** - * Check if a given object implements the ResendCallbacksBodyDto interface. - */ -export function instanceOfResendCallbacksBodyDto(value: object): value is ResendCallbacksBodyDto { - if (!('ids' in value) || value['ids'] === undefined) return false; - return true; -} - -export function ResendCallbacksBodyDtoFromJSON(json: any): ResendCallbacksBodyDto { - return ResendCallbacksBodyDtoFromJSONTyped(json, false); -} - -export function ResendCallbacksBodyDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): ResendCallbacksBodyDto { - if (json == null) { - return json; - } - return { - - 'ids': json['ids'], - }; -} - -export function ResendCallbacksBodyDtoToJSON(json: any): ResendCallbacksBodyDto { - return ResendCallbacksBodyDtoToJSONTyped(json, false); -} - -export function ResendCallbacksBodyDtoToJSONTyped(value?: ResendCallbacksBodyDto | null, ignoreDiscriminator: boolean = false): any { - if (value == null) { - return value; - } - - return { - - 'ids': value['ids'], - }; -} - diff --git a/generated-contracts/models/resend-callbacks-response-dto.ts b/generated-contracts/models/resend-callbacks-response-dto.ts deleted file mode 100644 index 47f982b..0000000 --- a/generated-contracts/models/resend-callbacks-response-dto.ts +++ /dev/null @@ -1,66 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -/** - * DeFi API (API users) - * API surface available via API key authentication - * - * The version of the OpenAPI document: 1.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { mapValues } from '../runtime'; -/** - * - * @export - * @interface ResendCallbacksResponseDto - */ -export interface ResendCallbacksResponseDto { - /** - * Number of callbacks re-queued for delivery - * @type {number} - * @memberof ResendCallbacksResponseDto - */ - requeuedCount: number; -} - -/** - * Check if a given object implements the ResendCallbacksResponseDto interface. - */ -export function instanceOfResendCallbacksResponseDto(value: object): value is ResendCallbacksResponseDto { - if (!('requeuedCount' in value) || value['requeuedCount'] === undefined) return false; - return true; -} - -export function ResendCallbacksResponseDtoFromJSON(json: any): ResendCallbacksResponseDto { - return ResendCallbacksResponseDtoFromJSONTyped(json, false); -} - -export function ResendCallbacksResponseDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): ResendCallbacksResponseDto { - if (json == null) { - return json; - } - return { - - 'requeuedCount': json['requeuedCount'], - }; -} - -export function ResendCallbacksResponseDtoToJSON(json: any): ResendCallbacksResponseDto { - return ResendCallbacksResponseDtoToJSONTyped(json, false); -} - -export function ResendCallbacksResponseDtoToJSONTyped(value?: ResendCallbacksResponseDto | null, ignoreDiscriminator: boolean = false): any { - if (value == null) { - return value; - } - - return { - - 'requeuedCount': value['requeuedCount'], - }; -} - diff --git a/generated-contracts/models/signature-response-dto.ts b/generated-contracts/models/signature-response-dto.ts index cf68afe..eebe694 100644 --- a/generated-contracts/models/signature-response-dto.ts +++ b/generated-contracts/models/signature-response-dto.ts @@ -52,7 +52,7 @@ export interface SignatureResponseDto { */ userSigned: boolean; /** - * Array of signatures for this operation + * Array of signatures for this operation, ordered by signer address ascending * @type {Array} * @memberof SignatureResponseDto */ diff --git a/generated-contracts/models/smart-contract-version-response-dto.ts b/generated-contracts/models/smart-contract-version-response-dto.ts index e491bde..e06fb4a 100644 --- a/generated-contracts/models/smart-contract-version-response-dto.ts +++ b/generated-contracts/models/smart-contract-version-response-dto.ts @@ -33,7 +33,7 @@ export interface SmartContractVersionResponseDto { version: string; /** * - * @type {string} + * @type {SmartContractVersionResponseDtoNetworkTypeEnum} * @memberof SmartContractVersionResponseDto */ networkType: SmartContractVersionResponseDtoNetworkTypeEnum; diff --git a/generated-contracts/models/transaction-dapp-metadata.ts b/generated-contracts/models/transaction-dapp-metadata.ts new file mode 100644 index 0000000..965057a --- /dev/null +++ b/generated-contracts/models/transaction-dapp-metadata.ts @@ -0,0 +1,81 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * DeFi API (API users) + * API surface available via API key authentication + * + * The version of the OpenAPI document: 1.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { mapValues } from '../runtime'; +/** + * + * @export + * @interface TransactionDappMetadata + */ +export interface TransactionDappMetadata { + /** + * Dapp display name + * @type {string} + * @memberof TransactionDappMetadata + */ + dappName?: string; + /** + * Dapp URL + * @type {string} + * @memberof TransactionDappMetadata + */ + dappUrl?: string; + /** + * Dapp icon URL + * @type {string} + * @memberof TransactionDappMetadata + */ + icon?: string; +} + +/** + * Check if a given object implements the TransactionDappMetadata interface. + */ +export function instanceOfTransactionDappMetadata(value: object): value is TransactionDappMetadata { + return true; +} + +export function TransactionDappMetadataFromJSON(json: any): TransactionDappMetadata { + return TransactionDappMetadataFromJSONTyped(json, false); +} + +export function TransactionDappMetadataFromJSONTyped(json: any, ignoreDiscriminator: boolean): TransactionDappMetadata { + if (json == null) { + return json; + } + return { + + 'dappName': json['dappName'] == null ? undefined : json['dappName'], + 'dappUrl': json['dappUrl'] == null ? undefined : json['dappUrl'], + 'icon': json['icon'] == null ? undefined : json['icon'], + }; +} + +export function TransactionDappMetadataToJSON(json: any): TransactionDappMetadata { + return TransactionDappMetadataToJSONTyped(json, false); +} + +export function TransactionDappMetadataToJSONTyped(value?: TransactionDappMetadata | null, ignoreDiscriminator: boolean = false): any { + if (value == null) { + return value; + } + + return { + + 'dappName': value['dappName'], + 'dappUrl': value['dappUrl'], + 'icon': value['icon'], + }; +} + diff --git a/generated-contracts/models/transaction-details-dto.ts b/generated-contracts/models/transaction-details-dto.ts index cf071b5..9ddbd5f 100644 --- a/generated-contracts/models/transaction-details-dto.ts +++ b/generated-contracts/models/transaction-details-dto.ts @@ -13,20 +13,20 @@ */ import { mapValues } from '../runtime'; -import type { TransactionInvoiceResponseDto } from './transaction-invoice-response-dto'; +import type { TransactionListResponseDtoItemsInnerInvoice } from './transaction-list-response-dto-items-inner-invoice'; import { - TransactionInvoiceResponseDtoFromJSON, - TransactionInvoiceResponseDtoFromJSONTyped, - TransactionInvoiceResponseDtoToJSON, - TransactionInvoiceResponseDtoToJSONTyped, -} from './transaction-invoice-response-dto'; -import type { TransactionResponseDto } from './transaction-response-dto'; + TransactionListResponseDtoItemsInnerInvoiceFromJSON, + TransactionListResponseDtoItemsInnerInvoiceFromJSONTyped, + TransactionListResponseDtoItemsInnerInvoiceToJSON, + TransactionListResponseDtoItemsInnerInvoiceToJSONTyped, +} from './transaction-list-response-dto-items-inner-invoice'; +import type { TransactionListResponseDtoItemsInner } from './transaction-list-response-dto-items-inner'; import { - TransactionResponseDtoFromJSON, - TransactionResponseDtoFromJSONTyped, - TransactionResponseDtoToJSON, - TransactionResponseDtoToJSONTyped, -} from './transaction-response-dto'; + TransactionListResponseDtoItemsInnerFromJSON, + TransactionListResponseDtoItemsInnerFromJSONTyped, + TransactionListResponseDtoItemsInnerToJSON, + TransactionListResponseDtoItemsInnerToJSONTyped, +} from './transaction-list-response-dto-items-inner'; import type { CurrencyResponseDto } from './currency-response-dto'; import { CurrencyResponseDtoFromJSON, @@ -42,11 +42,11 @@ import { */ export interface TransactionDetailsDto { /** - * Transaction details - * @type {TransactionResponseDto} + * + * @type {TransactionListResponseDtoItemsInner} * @memberof TransactionDetailsDto */ - transaction: TransactionResponseDto; + transaction: TransactionListResponseDtoItemsInner; /** * Can this invoice be claimed * @type {boolean} @@ -60,17 +60,17 @@ export interface TransactionDetailsDto { */ isClaimed: boolean; /** - * Related invoice information - * @type {TransactionInvoiceResponseDto} + * + * @type {TransactionListResponseDtoItemsInnerInvoice} * @memberof TransactionDetailsDto */ - invoice: TransactionInvoiceResponseDto | null; + invoice: TransactionListResponseDtoItemsInnerInvoice | null; /** - * Currency details + * * @type {CurrencyResponseDto} * @memberof TransactionDetailsDto */ - currency: CurrencyResponseDto; + currency: CurrencyResponseDto | null; } /** @@ -95,10 +95,10 @@ export function TransactionDetailsDtoFromJSONTyped(json: any, ignoreDiscriminato } return { - 'transaction': TransactionResponseDtoFromJSON(json['transaction']), + 'transaction': TransactionListResponseDtoItemsInnerFromJSON(json['transaction']), 'canClaim': json['canClaim'], 'isClaimed': json['isClaimed'], - 'invoice': TransactionInvoiceResponseDtoFromJSON(json['invoice']), + 'invoice': TransactionListResponseDtoItemsInnerInvoiceFromJSON(json['invoice']), 'currency': CurrencyResponseDtoFromJSON(json['currency']), }; } @@ -114,10 +114,10 @@ export function TransactionDetailsDtoToJSONTyped(value?: TransactionDetailsDto | return { - 'transaction': TransactionResponseDtoToJSON(value['transaction']), + 'transaction': TransactionListResponseDtoItemsInnerToJSON(value['transaction']), 'canClaim': value['canClaim'], 'isClaimed': value['isClaimed'], - 'invoice': TransactionInvoiceResponseDtoToJSON(value['invoice']), + 'invoice': TransactionListResponseDtoItemsInnerInvoiceToJSON(value['invoice']), 'currency': CurrencyResponseDtoToJSON(value['currency']), }; } diff --git a/generated-contracts/models/transaction-invoice-response-dto.ts b/generated-contracts/models/transaction-invoice-response-dto.ts deleted file mode 100644 index 0d1daaf..0000000 --- a/generated-contracts/models/transaction-invoice-response-dto.ts +++ /dev/null @@ -1,84 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -/** - * DeFi API (API users) - * API surface available via API key authentication - * - * The version of the OpenAPI document: 1.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { mapValues } from '../runtime'; -/** - * - * @export - * @interface TransactionInvoiceResponseDto - */ -export interface TransactionInvoiceResponseDto { - /** - * Entity unique identifier - * @type {string} - * @memberof TransactionInvoiceResponseDto - */ - id: string; - /** - * Tracking identifier - * @type {string} - * @memberof TransactionInvoiceResponseDto - */ - trackingId: string | null; - /** - * Invoice status - * @type {string} - * @memberof TransactionInvoiceResponseDto - */ - status: string; -} - -/** - * Check if a given object implements the TransactionInvoiceResponseDto interface. - */ -export function instanceOfTransactionInvoiceResponseDto(value: object): value is TransactionInvoiceResponseDto { - if (!('id' in value) || value['id'] === undefined) return false; - if (!('trackingId' in value) || value['trackingId'] === undefined) return false; - if (!('status' in value) || value['status'] === undefined) return false; - return true; -} - -export function TransactionInvoiceResponseDtoFromJSON(json: any): TransactionInvoiceResponseDto { - return TransactionInvoiceResponseDtoFromJSONTyped(json, false); -} - -export function TransactionInvoiceResponseDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): TransactionInvoiceResponseDto { - if (json == null) { - return json; - } - return { - - 'id': json['id'], - 'trackingId': json['trackingId'], - 'status': json['status'], - }; -} - -export function TransactionInvoiceResponseDtoToJSON(json: any): TransactionInvoiceResponseDto { - return TransactionInvoiceResponseDtoToJSONTyped(json, false); -} - -export function TransactionInvoiceResponseDtoToJSONTyped(value?: TransactionInvoiceResponseDto | null, ignoreDiscriminator: boolean = false): any { - if (value == null) { - return value; - } - - return { - - 'id': value['id'], - 'trackingId': value['trackingId'], - 'status': value['status'], - }; -} - diff --git a/generated-contracts/models/transaction-list-response-dto-items-inner-calls-inner.ts b/generated-contracts/models/transaction-list-response-dto-items-inner-calls-inner.ts new file mode 100644 index 0000000..e7ae8e0 --- /dev/null +++ b/generated-contracts/models/transaction-list-response-dto-items-inner-calls-inner.ts @@ -0,0 +1,81 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * DeFi API (API users) + * API surface available via API key authentication + * + * The version of the OpenAPI document: 1.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { mapValues } from '../runtime'; +/** + * + * @export + * @interface TransactionListResponseDtoItemsInnerCallsInner + */ +export interface TransactionListResponseDtoItemsInnerCallsInner { + /** + * + * @type {string} + * @memberof TransactionListResponseDtoItemsInnerCallsInner + */ + to?: string; + /** + * + * @type {string} + * @memberof TransactionListResponseDtoItemsInnerCallsInner + */ + value?: string; + /** + * + * @type {string} + * @memberof TransactionListResponseDtoItemsInnerCallsInner + */ + data?: string; +} + +/** + * Check if a given object implements the TransactionListResponseDtoItemsInnerCallsInner interface. + */ +export function instanceOfTransactionListResponseDtoItemsInnerCallsInner(value: object): value is TransactionListResponseDtoItemsInnerCallsInner { + return true; +} + +export function TransactionListResponseDtoItemsInnerCallsInnerFromJSON(json: any): TransactionListResponseDtoItemsInnerCallsInner { + return TransactionListResponseDtoItemsInnerCallsInnerFromJSONTyped(json, false); +} + +export function TransactionListResponseDtoItemsInnerCallsInnerFromJSONTyped(json: any, ignoreDiscriminator: boolean): TransactionListResponseDtoItemsInnerCallsInner { + if (json == null) { + return json; + } + return { + + 'to': json['to'] == null ? undefined : json['to'], + 'value': json['value'] == null ? undefined : json['value'], + 'data': json['data'] == null ? undefined : json['data'], + }; +} + +export function TransactionListResponseDtoItemsInnerCallsInnerToJSON(json: any): TransactionListResponseDtoItemsInnerCallsInner { + return TransactionListResponseDtoItemsInnerCallsInnerToJSONTyped(json, false); +} + +export function TransactionListResponseDtoItemsInnerCallsInnerToJSONTyped(value?: TransactionListResponseDtoItemsInnerCallsInner | null, ignoreDiscriminator: boolean = false): any { + if (value == null) { + return value; + } + + return { + + 'to': value['to'], + 'value': value['value'], + 'data': value['data'], + }; +} + diff --git a/generated-contracts/models/transaction-list-response-dto-items-inner-invoice.ts b/generated-contracts/models/transaction-list-response-dto-items-inner-invoice.ts new file mode 100644 index 0000000..1df2b87 --- /dev/null +++ b/generated-contracts/models/transaction-list-response-dto-items-inner-invoice.ts @@ -0,0 +1,96 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * DeFi API (API users) + * API surface available via API key authentication + * + * The version of the OpenAPI document: 1.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { mapValues } from '../runtime'; +/** + * Related invoice information + * @export + * @interface TransactionListResponseDtoItemsInnerInvoice + */ +export interface TransactionListResponseDtoItemsInnerInvoice { + /** + * Entity unique identifier + * @type {string} + * @memberof TransactionListResponseDtoItemsInnerInvoice + */ + id: string; + /** + * Tracking identifier + * @type {string} + * @memberof TransactionListResponseDtoItemsInnerInvoice + */ + trackingId: string | null; + /** + * Invoice status + * @type {TransactionListResponseDtoItemsInnerInvoiceStatusEnum} + * @memberof TransactionListResponseDtoItemsInnerInvoice + */ + status: TransactionListResponseDtoItemsInnerInvoiceStatusEnum; +} + + +/** + * @export + */ +export const TransactionListResponseDtoItemsInnerInvoiceStatusEnum = { + Created: 'CREATED', + Paid: 'PAID', + Unresolved: 'UNRESOLVED' +} as const; +export type TransactionListResponseDtoItemsInnerInvoiceStatusEnum = typeof TransactionListResponseDtoItemsInnerInvoiceStatusEnum[keyof typeof TransactionListResponseDtoItemsInnerInvoiceStatusEnum]; + + +/** + * Check if a given object implements the TransactionListResponseDtoItemsInnerInvoice interface. + */ +export function instanceOfTransactionListResponseDtoItemsInnerInvoice(value: object): value is TransactionListResponseDtoItemsInnerInvoice { + if (!('id' in value) || value['id'] === undefined) return false; + if (!('trackingId' in value) || value['trackingId'] === undefined) return false; + if (!('status' in value) || value['status'] === undefined) return false; + return true; +} + +export function TransactionListResponseDtoItemsInnerInvoiceFromJSON(json: any): TransactionListResponseDtoItemsInnerInvoice { + return TransactionListResponseDtoItemsInnerInvoiceFromJSONTyped(json, false); +} + +export function TransactionListResponseDtoItemsInnerInvoiceFromJSONTyped(json: any, ignoreDiscriminator: boolean): TransactionListResponseDtoItemsInnerInvoice { + if (json == null) { + return json; + } + return { + + 'id': json['id'], + 'trackingId': json['trackingId'], + 'status': json['status'], + }; +} + +export function TransactionListResponseDtoItemsInnerInvoiceToJSON(json: any): TransactionListResponseDtoItemsInnerInvoice { + return TransactionListResponseDtoItemsInnerInvoiceToJSONTyped(json, false); +} + +export function TransactionListResponseDtoItemsInnerInvoiceToJSONTyped(value?: TransactionListResponseDtoItemsInnerInvoice | null, ignoreDiscriminator: boolean = false): any { + if (value == null) { + return value; + } + + return { + + 'id': value['id'], + 'trackingId': value['trackingId'], + 'status': value['status'], + }; +} + diff --git a/generated-contracts/models/transaction-list-response-dto-items-inner.ts b/generated-contracts/models/transaction-list-response-dto-items-inner.ts new file mode 100644 index 0000000..410cff9 --- /dev/null +++ b/generated-contracts/models/transaction-list-response-dto-items-inner.ts @@ -0,0 +1,343 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * DeFi API (API users) + * API surface available via API key authentication + * + * The version of the OpenAPI document: 1.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { mapValues } from '../runtime'; +import type { UniversalAddress } from './universal-address'; +import { + UniversalAddressFromJSON, + UniversalAddressFromJSONTyped, + UniversalAddressToJSON, + UniversalAddressToJSONTyped, +} from './universal-address'; +import type { TransactionListResponseDtoItemsInnerInvoice } from './transaction-list-response-dto-items-inner-invoice'; +import { + TransactionListResponseDtoItemsInnerInvoiceFromJSON, + TransactionListResponseDtoItemsInnerInvoiceFromJSONTyped, + TransactionListResponseDtoItemsInnerInvoiceToJSON, + TransactionListResponseDtoItemsInnerInvoiceToJSONTyped, +} from './transaction-list-response-dto-items-inner-invoice'; +import type { TransactionDappMetadata } from './transaction-dapp-metadata'; +import { + TransactionDappMetadataFromJSON, + TransactionDappMetadataFromJSONTyped, + TransactionDappMetadataToJSON, + TransactionDappMetadataToJSONTyped, +} from './transaction-dapp-metadata'; +import type { TransactionListResponseDtoItemsInnerCallsInner } from './transaction-list-response-dto-items-inner-calls-inner'; +import { + TransactionListResponseDtoItemsInnerCallsInnerFromJSON, + TransactionListResponseDtoItemsInnerCallsInnerFromJSONTyped, + TransactionListResponseDtoItemsInnerCallsInnerToJSON, + TransactionListResponseDtoItemsInnerCallsInnerToJSONTyped, +} from './transaction-list-response-dto-items-inner-calls-inner'; +import type { CurrencyResponseDto } from './currency-response-dto'; +import { + CurrencyResponseDtoFromJSON, + CurrencyResponseDtoFromJSONTyped, + CurrencyResponseDtoToJSON, + CurrencyResponseDtoToJSONTyped, +} from './currency-response-dto'; + +/** + * + * @export + * @interface TransactionListResponseDtoItemsInner + */ +export interface TransactionListResponseDtoItemsInner { + /** + * Entity unique identifier + * @type {string} + * @memberof TransactionListResponseDtoItemsInner + */ + id: string; + /** + * Transaction direction (IN for deposits, OUT for claims/payouts) + * @type {TransactionListResponseDtoItemsInnerDirectionEnum} + * @memberof TransactionListResponseDtoItemsInner + */ + direction: TransactionListResponseDtoItemsInnerDirectionEnum; + /** + * Transaction status + * @type {TransactionListResponseDtoItemsInnerStatusEnum} + * @memberof TransactionListResponseDtoItemsInner + */ + status: TransactionListResponseDtoItemsInnerStatusEnum; + /** + * Chain ID + * @type {string} + * @memberof TransactionListResponseDtoItemsInner + */ + chainId: string; + /** + * Blockchain transaction hash. EVM chains use the `0x`-prefixed 32-byte hex form; TVM (Tron) chains use a bare 64-hex string without the `0x` prefix. + * @type {string} + * @memberof TransactionListResponseDtoItemsInner + */ + txHash: string; + /** + * The unique ID of the currency, ("{chainId}" or "{chainId}-{contractAddress}") + * @type {string} + * @memberof TransactionListResponseDtoItemsInner + */ + currencyId: string | null; + /** + * Cryptocurrency amount with sign for display + * @type {string} + * @memberof TransactionListResponseDtoItemsInner + */ + amount: string; + /** + * + * @type {UniversalAddress} + * @memberof TransactionListResponseDtoItemsInner + */ + fromAddress: UniversalAddress | null; + /** + * + * @type {UniversalAddress} + * @memberof TransactionListResponseDtoItemsInner + */ + toAddress: UniversalAddress | null; + /** + * Queue operation unique identifier + * @type {string} + * @memberof TransactionListResponseDtoItemsInner + */ + operationId: string | null; + /** + * Type of operation this transaction belongs to + * @type {TransactionListResponseDtoItemsInnerOperationTypeEnum} + * @memberof TransactionListResponseDtoItemsInner + */ + operationType: TransactionListResponseDtoItemsInnerOperationTypeEnum | null; + /** + * Block number of the transaction + * @type {string} + * @memberof TransactionListResponseDtoItemsInner + */ + blockNumber: string | null; + /** + * Blockchain transaction fee + * @type {string} + * @memberof TransactionListResponseDtoItemsInner + */ + blockchainFee: string; + /** + * Number of blockchain confirmations + * @type {number} + * @memberof TransactionListResponseDtoItemsInner + */ + confirmations: number; + /** + * Creation timestamp + * @type {string} + * @memberof TransactionListResponseDtoItemsInner + */ + createdAt: string; + /** + * Last update timestamp + * @type {string} + * @memberof TransactionListResponseDtoItemsInner + */ + updatedAt: string; + /** + * Can this invoice be claimed + * @type {boolean} + * @memberof TransactionListResponseDtoItemsInner + */ + canClaim: boolean; + /** + * Whether this transaction has been claimed + * @type {boolean} + * @memberof TransactionListResponseDtoItemsInner + */ + isClaimed: boolean; + /** + * For IN transactions, same as operationId + * @type {string} + * @memberof TransactionListResponseDtoItemsInner + */ + invoiceId: string | null; + /** + * Timestamp when transfer was confirmed + * @type {string} + * @memberof TransactionListResponseDtoItemsInner + */ + confirmedAt: string | null; + /** + * + * @type {TransactionListResponseDtoItemsInnerInvoice} + * @memberof TransactionListResponseDtoItemsInner + */ + invoice?: TransactionListResponseDtoItemsInnerInvoice | null; + /** + * + * @type {CurrencyResponseDto} + * @memberof TransactionListResponseDtoItemsInner + */ + currency: CurrencyResponseDto | null; + /** + * + * @type {TransactionDappMetadata} + * @memberof TransactionListResponseDtoItemsInner + */ + dappMetadata?: TransactionDappMetadata; + /** + * Executed inner calls (atomic multicall payload from queue_operation) for dapp-originated transactions. Omitted when transaction is not dapp-originated. + * @type {Array} + * @memberof TransactionListResponseDtoItemsInner + */ + calls?: Array; +} + + +/** + * @export + */ +export const TransactionListResponseDtoItemsInnerDirectionEnum = { + In: 'IN', + Out: 'OUT' +} as const; +export type TransactionListResponseDtoItemsInnerDirectionEnum = typeof TransactionListResponseDtoItemsInnerDirectionEnum[keyof typeof TransactionListResponseDtoItemsInnerDirectionEnum]; + +/** + * @export + */ +export const TransactionListResponseDtoItemsInnerStatusEnum = { + Pending: 'PENDING', + Executed: 'EXECUTED', + Confirmed: 'CONFIRMED', + Failed: 'FAILED' +} as const; +export type TransactionListResponseDtoItemsInnerStatusEnum = typeof TransactionListResponseDtoItemsInnerStatusEnum[keyof typeof TransactionListResponseDtoItemsInnerStatusEnum]; + +/** + * @export + */ +export const TransactionListResponseDtoItemsInnerOperationTypeEnum = { + Invoice: 'invoice', + DirectDeposit: 'direct_deposit', + SetConfig: 'set_config', + Claim: 'claim', + Payout: 'payout', + Reject: 'reject', + Deploy: 'deploy', + DappTransaction: 'dapp_transaction' +} as const; +export type TransactionListResponseDtoItemsInnerOperationTypeEnum = typeof TransactionListResponseDtoItemsInnerOperationTypeEnum[keyof typeof TransactionListResponseDtoItemsInnerOperationTypeEnum]; + + +/** + * Check if a given object implements the TransactionListResponseDtoItemsInner interface. + */ +export function instanceOfTransactionListResponseDtoItemsInner(value: object): value is TransactionListResponseDtoItemsInner { + if (!('id' in value) || value['id'] === undefined) return false; + if (!('direction' in value) || value['direction'] === undefined) return false; + if (!('status' in value) || value['status'] === undefined) return false; + if (!('chainId' in value) || value['chainId'] === undefined) return false; + if (!('txHash' in value) || value['txHash'] === undefined) return false; + if (!('currencyId' in value) || value['currencyId'] === undefined) return false; + if (!('amount' in value) || value['amount'] === undefined) return false; + if (!('fromAddress' in value) || value['fromAddress'] === undefined) return false; + if (!('toAddress' in value) || value['toAddress'] === undefined) return false; + if (!('operationId' in value) || value['operationId'] === undefined) return false; + if (!('operationType' in value) || value['operationType'] === undefined) return false; + if (!('blockNumber' in value) || value['blockNumber'] === undefined) return false; + if (!('blockchainFee' in value) || value['blockchainFee'] === undefined) return false; + if (!('confirmations' in value) || value['confirmations'] === undefined) return false; + if (!('createdAt' in value) || value['createdAt'] === undefined) return false; + if (!('updatedAt' in value) || value['updatedAt'] === undefined) return false; + if (!('canClaim' in value) || value['canClaim'] === undefined) return false; + if (!('isClaimed' in value) || value['isClaimed'] === undefined) return false; + if (!('invoiceId' in value) || value['invoiceId'] === undefined) return false; + if (!('confirmedAt' in value) || value['confirmedAt'] === undefined) return false; + if (!('currency' in value) || value['currency'] === undefined) return false; + return true; +} + +export function TransactionListResponseDtoItemsInnerFromJSON(json: any): TransactionListResponseDtoItemsInner { + return TransactionListResponseDtoItemsInnerFromJSONTyped(json, false); +} + +export function TransactionListResponseDtoItemsInnerFromJSONTyped(json: any, ignoreDiscriminator: boolean): TransactionListResponseDtoItemsInner { + if (json == null) { + return json; + } + return { + + 'id': json['id'], + 'direction': json['direction'], + 'status': json['status'], + 'chainId': json['chainId'], + 'txHash': json['txHash'], + 'currencyId': json['currencyId'], + 'amount': json['amount'], + 'fromAddress': UniversalAddressFromJSON(json['fromAddress']), + 'toAddress': UniversalAddressFromJSON(json['toAddress']), + 'operationId': json['operationId'], + 'operationType': json['operationType'], + 'blockNumber': json['blockNumber'], + 'blockchainFee': json['blockchainFee'], + 'confirmations': json['confirmations'], + 'createdAt': json['createdAt'], + 'updatedAt': json['updatedAt'], + 'canClaim': json['canClaim'], + 'isClaimed': json['isClaimed'], + 'invoiceId': json['invoiceId'], + 'confirmedAt': json['confirmedAt'], + 'invoice': json['invoice'] == null ? undefined : TransactionListResponseDtoItemsInnerInvoiceFromJSON(json['invoice']), + 'currency': CurrencyResponseDtoFromJSON(json['currency']), + 'dappMetadata': json['dappMetadata'] == null ? undefined : TransactionDappMetadataFromJSON(json['dappMetadata']), + 'calls': json['calls'] == null ? undefined : ((json['calls'] as Array).map(TransactionListResponseDtoItemsInnerCallsInnerFromJSON)), + }; +} + +export function TransactionListResponseDtoItemsInnerToJSON(json: any): TransactionListResponseDtoItemsInner { + return TransactionListResponseDtoItemsInnerToJSONTyped(json, false); +} + +export function TransactionListResponseDtoItemsInnerToJSONTyped(value?: TransactionListResponseDtoItemsInner | null, ignoreDiscriminator: boolean = false): any { + if (value == null) { + return value; + } + + return { + + 'id': value['id'], + 'direction': value['direction'], + 'status': value['status'], + 'chainId': value['chainId'], + 'txHash': value['txHash'], + 'currencyId': value['currencyId'], + 'amount': value['amount'], + 'fromAddress': UniversalAddressToJSON(value['fromAddress']), + 'toAddress': UniversalAddressToJSON(value['toAddress']), + 'operationId': value['operationId'], + 'operationType': value['operationType'], + 'blockNumber': value['blockNumber'], + 'blockchainFee': value['blockchainFee'], + 'confirmations': value['confirmations'], + 'createdAt': value['createdAt'], + 'updatedAt': value['updatedAt'], + 'canClaim': value['canClaim'], + 'isClaimed': value['isClaimed'], + 'invoiceId': value['invoiceId'], + 'confirmedAt': value['confirmedAt'], + 'invoice': TransactionListResponseDtoItemsInnerInvoiceToJSON(value['invoice']), + 'currency': CurrencyResponseDtoToJSON(value['currency']), + 'dappMetadata': TransactionDappMetadataToJSON(value['dappMetadata']), + 'calls': value['calls'] == null ? undefined : ((value['calls'] as Array).map(TransactionListResponseDtoItemsInnerCallsInnerToJSON)), + }; +} + diff --git a/generated-contracts/models/transaction-list-response-dto.ts b/generated-contracts/models/transaction-list-response-dto.ts index 1f52bc8..446f42e 100644 --- a/generated-contracts/models/transaction-list-response-dto.ts +++ b/generated-contracts/models/transaction-list-response-dto.ts @@ -13,13 +13,13 @@ */ import { mapValues } from '../runtime'; -import type { TransactionResponseDto } from './transaction-response-dto'; +import type { TransactionListResponseDtoItemsInner } from './transaction-list-response-dto-items-inner'; import { - TransactionResponseDtoFromJSON, - TransactionResponseDtoFromJSONTyped, - TransactionResponseDtoToJSON, - TransactionResponseDtoToJSONTyped, -} from './transaction-response-dto'; + TransactionListResponseDtoItemsInnerFromJSON, + TransactionListResponseDtoItemsInnerFromJSONTyped, + TransactionListResponseDtoItemsInnerToJSON, + TransactionListResponseDtoItemsInnerToJSONTyped, +} from './transaction-list-response-dto-items-inner'; /** * @@ -46,11 +46,11 @@ export interface TransactionListResponseDto { */ pageSize: number; /** - * Array of transaction items - * @type {Array} + * + * @type {Array} * @memberof TransactionListResponseDto */ - items: Array; + items: Array; } /** @@ -77,7 +77,7 @@ export function TransactionListResponseDtoFromJSONTyped(json: any, ignoreDiscrim 'total': json['total'], 'page': json['page'], 'pageSize': json['pageSize'], - 'items': ((json['items'] as Array).map(TransactionResponseDtoFromJSON)), + 'items': ((json['items'] as Array).map(TransactionListResponseDtoItemsInnerFromJSON)), }; } @@ -95,7 +95,7 @@ export function TransactionListResponseDtoToJSONTyped(value?: TransactionListRes 'total': value['total'], 'page': value['page'], 'pageSize': value['pageSize'], - 'items': ((value['items'] as Array).map(TransactionResponseDtoToJSON)), + 'items': ((value['items'] as Array).map(TransactionListResponseDtoItemsInnerToJSON)), }; } diff --git a/generated-contracts/models/transaction-response-dto.ts b/generated-contracts/models/transaction-response-dto.ts deleted file mode 100644 index c14f53a..0000000 --- a/generated-contracts/models/transaction-response-dto.ts +++ /dev/null @@ -1,307 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -/** - * DeFi API (API users) - * API surface available via API key authentication - * - * The version of the OpenAPI document: 1.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { mapValues } from '../runtime'; -import type { TransactionInvoiceResponseDto } from './transaction-invoice-response-dto'; -import { - TransactionInvoiceResponseDtoFromJSON, - TransactionInvoiceResponseDtoFromJSONTyped, - TransactionInvoiceResponseDtoToJSON, - TransactionInvoiceResponseDtoToJSONTyped, -} from './transaction-invoice-response-dto'; -import type { CurrencyResponseDto } from './currency-response-dto'; -import { - CurrencyResponseDtoFromJSON, - CurrencyResponseDtoFromJSONTyped, - CurrencyResponseDtoToJSON, - CurrencyResponseDtoToJSONTyped, -} from './currency-response-dto'; - -/** - * - * @export - * @interface TransactionResponseDto - */ -export interface TransactionResponseDto { - /** - * Entity unique identifier - * @type {string} - * @memberof TransactionResponseDto - */ - id: string; - /** - * Transaction direction (IN for deposits, OUT for claims/payouts) - * @type {string} - * @memberof TransactionResponseDto - * @deprecated - */ - direction: TransactionResponseDtoDirectionEnum; - /** - * Blockchain transaction hash - * @type {string} - * @memberof TransactionResponseDto - */ - txHash: string; - /** - * The unique ID of the currency, ("{chainId}" or "{chainId}-{contractAddress}") - * @type {string} - * @memberof TransactionResponseDto - */ - currencyId: string; - /** - * Cryptocurrency amount with sign for display - * @type {string} - * @memberof TransactionResponseDto - */ - amount: string; - /** - * Transaction status - * @type {string} - * @memberof TransactionResponseDto - */ - status: TransactionResponseDtoStatusEnum; - /** - * Sender address - * @type {string} - * @memberof TransactionResponseDto - */ - fromAddress: string; - /** - * Receiver address - * @type {string} - * @memberof TransactionResponseDto - */ - toAddress: string; - /** - * Queue operation unique identifier - * @type {string} - * @memberof TransactionResponseDto - */ - operationId: string; - /** - * Type of operation this transaction belongs to - * @type {string} - * @memberof TransactionResponseDto - */ - operationType: TransactionResponseDtoOperationTypeEnum; - /** - * Creation timestamp - * @type {string} - * @memberof TransactionResponseDto - */ - createdAt: string; - /** - * Last update timestamp - * @type {string} - * @memberof TransactionResponseDto - */ - updatedAt: string; - /** - * Block number of deployment - * @type {number} - * @memberof TransactionResponseDto - */ - blockNumber: number; - /** - * Blockchain transaction fee - * @type {string} - * @memberof TransactionResponseDto - */ - blockchainFee: string; - /** - * Number of blockchain confirmations - * @type {number} - * @memberof TransactionResponseDto - */ - confirmations: number; - /** - * Chain ID - * @type {string} - * @memberof TransactionResponseDto - */ - chainId: string; - /** - * Can this invoice be claimed - * @type {boolean} - * @memberof TransactionResponseDto - */ - canClaim: boolean; - /** - * Whether this transaction has been claimed - * @type {boolean} - * @memberof TransactionResponseDto - */ - isClaimed: boolean; - /** - * For IN transactions, same as operationId - * @type {string} - * @memberof TransactionResponseDto - */ - invoiceId: string | null; - /** - * Timestamp when transfer was confirmed - * @type {string} - * @memberof TransactionResponseDto - */ - confirmedAt: string | null; - /** - * Related invoice information - * @type {TransactionInvoiceResponseDto} - * @memberof TransactionResponseDto - */ - invoice: TransactionInvoiceResponseDto | null; - /** - * Currency details - * @type {CurrencyResponseDto} - * @memberof TransactionResponseDto - */ - currency: CurrencyResponseDto; -} - - -/** - * @export - */ -export const TransactionResponseDtoDirectionEnum = { - In: 'IN', - Out: 'OUT' -} as const; -export type TransactionResponseDtoDirectionEnum = typeof TransactionResponseDtoDirectionEnum[keyof typeof TransactionResponseDtoDirectionEnum]; - -/** - * @export - */ -export const TransactionResponseDtoStatusEnum = { - Pending: 'PENDING', - Executed: 'EXECUTED', - Confirmed: 'CONFIRMED', - Failed: 'FAILED' -} as const; -export type TransactionResponseDtoStatusEnum = typeof TransactionResponseDtoStatusEnum[keyof typeof TransactionResponseDtoStatusEnum]; - -/** - * @export - */ -export const TransactionResponseDtoOperationTypeEnum = { - Invoice: 'invoice', - DirectDeposit: 'direct_deposit', - SetConfig: 'set_config', - Claim: 'claim', - Payout: 'payout', - Reject: 'reject', - DappTransaction: 'dapp_transaction' -} as const; -export type TransactionResponseDtoOperationTypeEnum = typeof TransactionResponseDtoOperationTypeEnum[keyof typeof TransactionResponseDtoOperationTypeEnum]; - - -/** - * Check if a given object implements the TransactionResponseDto interface. - */ -export function instanceOfTransactionResponseDto(value: object): value is TransactionResponseDto { - if (!('id' in value) || value['id'] === undefined) return false; - if (!('direction' in value) || value['direction'] === undefined) return false; - if (!('txHash' in value) || value['txHash'] === undefined) return false; - if (!('currencyId' in value) || value['currencyId'] === undefined) return false; - if (!('amount' in value) || value['amount'] === undefined) return false; - if (!('status' in value) || value['status'] === undefined) return false; - if (!('fromAddress' in value) || value['fromAddress'] === undefined) return false; - if (!('toAddress' in value) || value['toAddress'] === undefined) return false; - if (!('operationId' in value) || value['operationId'] === undefined) return false; - if (!('operationType' in value) || value['operationType'] === undefined) return false; - if (!('createdAt' in value) || value['createdAt'] === undefined) return false; - if (!('updatedAt' in value) || value['updatedAt'] === undefined) return false; - if (!('blockNumber' in value) || value['blockNumber'] === undefined) return false; - if (!('blockchainFee' in value) || value['blockchainFee'] === undefined) return false; - if (!('confirmations' in value) || value['confirmations'] === undefined) return false; - if (!('chainId' in value) || value['chainId'] === undefined) return false; - if (!('canClaim' in value) || value['canClaim'] === undefined) return false; - if (!('isClaimed' in value) || value['isClaimed'] === undefined) return false; - if (!('invoiceId' in value) || value['invoiceId'] === undefined) return false; - if (!('confirmedAt' in value) || value['confirmedAt'] === undefined) return false; - if (!('invoice' in value) || value['invoice'] === undefined) return false; - if (!('currency' in value) || value['currency'] === undefined) return false; - return true; -} - -export function TransactionResponseDtoFromJSON(json: any): TransactionResponseDto { - return TransactionResponseDtoFromJSONTyped(json, false); -} - -export function TransactionResponseDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): TransactionResponseDto { - if (json == null) { - return json; - } - return { - - 'id': json['id'], - 'direction': json['direction'], - 'txHash': json['txHash'], - 'currencyId': json['currencyId'], - 'amount': json['amount'], - 'status': json['status'], - 'fromAddress': json['fromAddress'], - 'toAddress': json['toAddress'], - 'operationId': json['operationId'], - 'operationType': json['operationType'], - 'createdAt': json['createdAt'], - 'updatedAt': json['updatedAt'], - 'blockNumber': json['blockNumber'], - 'blockchainFee': json['blockchainFee'], - 'confirmations': json['confirmations'], - 'chainId': json['chainId'], - 'canClaim': json['canClaim'], - 'isClaimed': json['isClaimed'], - 'invoiceId': json['invoiceId'], - 'confirmedAt': json['confirmedAt'], - 'invoice': TransactionInvoiceResponseDtoFromJSON(json['invoice']), - 'currency': CurrencyResponseDtoFromJSON(json['currency']), - }; -} - -export function TransactionResponseDtoToJSON(json: any): TransactionResponseDto { - return TransactionResponseDtoToJSONTyped(json, false); -} - -export function TransactionResponseDtoToJSONTyped(value?: TransactionResponseDto | null, ignoreDiscriminator: boolean = false): any { - if (value == null) { - return value; - } - - return { - - 'id': value['id'], - 'direction': value['direction'], - 'txHash': value['txHash'], - 'currencyId': value['currencyId'], - 'amount': value['amount'], - 'status': value['status'], - 'fromAddress': value['fromAddress'], - 'toAddress': value['toAddress'], - 'operationId': value['operationId'], - 'operationType': value['operationType'], - 'createdAt': value['createdAt'], - 'updatedAt': value['updatedAt'], - 'blockNumber': value['blockNumber'], - 'blockchainFee': value['blockchainFee'], - 'confirmations': value['confirmations'], - 'chainId': value['chainId'], - 'canClaim': value['canClaim'], - 'isClaimed': value['isClaimed'], - 'invoiceId': value['invoiceId'], - 'confirmedAt': value['confirmedAt'], - 'invoice': TransactionInvoiceResponseDtoToJSON(value['invoice']), - 'currency': CurrencyResponseDtoToJSON(value['currency']), - }; -} - diff --git a/generated-contracts/models/transactions-controller-get-transactions-v1-currency-is-scam-parameter.ts b/generated-contracts/models/transactions-controller-get-transactions-v1-currency-is-scam-parameter.ts deleted file mode 100644 index ae98059..0000000 --- a/generated-contracts/models/transactions-controller-get-transactions-v1-currency-is-scam-parameter.ts +++ /dev/null @@ -1,49 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -/** - * DeFi API (API users) - * API surface available via API key authentication - * - * The version of the OpenAPI document: 1.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -/** - * @type TransactionsControllerGetTransactionsV1CurrencyIsScamParameter - * - * @export - */ -export type TransactionsControllerGetTransactionsV1CurrencyIsScamParameter = boolean | string; - -export function TransactionsControllerGetTransactionsV1CurrencyIsScamParameterFromJSON(json: any): TransactionsControllerGetTransactionsV1CurrencyIsScamParameter { - return TransactionsControllerGetTransactionsV1CurrencyIsScamParameterFromJSONTyped(json, false); -} - -export function TransactionsControllerGetTransactionsV1CurrencyIsScamParameterFromJSONTyped(json: any, ignoreDiscriminator: boolean): TransactionsControllerGetTransactionsV1CurrencyIsScamParameter { - if (json == null) { - return json; - } - if (typeof json === 'string') { - return json; - } - return {} as any; -} - -export function TransactionsControllerGetTransactionsV1CurrencyIsScamParameterToJSON(json: any): any { - return TransactionsControllerGetTransactionsV1CurrencyIsScamParameterToJSONTyped(json, false); -} - -export function TransactionsControllerGetTransactionsV1CurrencyIsScamParameterToJSONTyped(value?: TransactionsControllerGetTransactionsV1CurrencyIsScamParameter | null, ignoreDiscriminator: boolean = false): any { - if (value == null) { - return value; - } - if (typeof value === 'string') { - return value; - } - return {}; -} - diff --git a/generated-contracts/models/transactions-controller-get-transactions-v1-currency-is-verified-parameter.ts b/generated-contracts/models/transactions-controller-get-transactions-v1-currency-is-verified-parameter.ts index 81c6ba7..b110ac4 100644 --- a/generated-contracts/models/transactions-controller-get-transactions-v1-currency-is-verified-parameter.ts +++ b/generated-contracts/models/transactions-controller-get-transactions-v1-currency-is-verified-parameter.ts @@ -27,6 +27,9 @@ export function TransactionsControllerGetTransactionsV1CurrencyIsVerifiedParamet if (json == null) { return json; } + if (typeof json === 'boolean') { + return json; + } if (typeof json === 'string') { return json; } @@ -41,6 +44,9 @@ export function TransactionsControllerGetTransactionsV1CurrencyIsVerifiedParamet if (value == null) { return value; } + if (typeof value === 'boolean') { + return value; + } if (typeof value === 'string') { return value; } diff --git a/generated-contracts/models/transactions-controller-get-transactions-v1-is-claimed-parameter.ts b/generated-contracts/models/transactions-controller-get-transactions-v1-is-claimed-parameter.ts new file mode 100644 index 0000000..a0a1e99 --- /dev/null +++ b/generated-contracts/models/transactions-controller-get-transactions-v1-is-claimed-parameter.ts @@ -0,0 +1,55 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * DeFi API (API users) + * API surface available via API key authentication + * + * The version of the OpenAPI document: 1.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +/** + * @type TransactionsControllerGetTransactionsV1IsClaimedParameter + * + * @export + */ +export type TransactionsControllerGetTransactionsV1IsClaimedParameter = boolean | string; + +export function TransactionsControllerGetTransactionsV1IsClaimedParameterFromJSON(json: any): TransactionsControllerGetTransactionsV1IsClaimedParameter { + return TransactionsControllerGetTransactionsV1IsClaimedParameterFromJSONTyped(json, false); +} + +export function TransactionsControllerGetTransactionsV1IsClaimedParameterFromJSONTyped(json: any, ignoreDiscriminator: boolean): TransactionsControllerGetTransactionsV1IsClaimedParameter { + if (json == null) { + return json; + } + if (typeof json === 'boolean') { + return json; + } + if (typeof json === 'string') { + return json; + } + return {} as any; +} + +export function TransactionsControllerGetTransactionsV1IsClaimedParameterToJSON(json: any): any { + return TransactionsControllerGetTransactionsV1IsClaimedParameterToJSONTyped(json, false); +} + +export function TransactionsControllerGetTransactionsV1IsClaimedParameterToJSONTyped(value?: TransactionsControllerGetTransactionsV1IsClaimedParameter | null, ignoreDiscriminator: boolean = false): any { + if (value == null) { + return value; + } + if (typeof value === 'boolean') { + return value; + } + if (typeof value === 'string') { + return value; + } + return {}; +} + diff --git a/generated-contracts/models/update-invoice-dto.ts b/generated-contracts/models/update-invoice-dto.ts index f44fa4b..2c82fd7 100644 --- a/generated-contracts/models/update-invoice-dto.ts +++ b/generated-contracts/models/update-invoice-dto.ts @@ -57,7 +57,7 @@ export interface UpdateInvoiceDto { currencyIds?: Array; /** * - * @type {string} + * @type {UpdateInvoiceDtoStatusEnum} * @memberof UpdateInvoiceDto */ status?: UpdateInvoiceDtoStatusEnum; diff --git a/generated-contracts/runtime.ts b/generated-contracts/runtime.ts index fcab449..c9fb6bb 100644 --- a/generated-contracts/runtime.ts +++ b/generated-contracts/runtime.ts @@ -12,7 +12,6 @@ * Do not edit the class manually. */ - export const BASE_PATH = "http://localhost".replace(/\/+$/, ""); export interface ConfigurationParameters { @@ -91,7 +90,7 @@ export const DefaultConfig = new Configuration(); */ export class BaseAPI { - private static readonly jsonRegex = new RegExp('^(:?application\/json|[^;/ \t]+\/[^;/ \t]+[+]json)[ \t]*(:?;.*)?$', 'i'); + private static readonly jsonRegex = /^(:?application\/json|[^;/ \t]+\/[^;/ \t]+[+]json)[ \t]*(:?;.*)?$/i; private middleware: Middleware[]; constructor(protected configuration = DefaultConfig) { @@ -261,6 +260,12 @@ export class ResponseError extends Error { override name: "ResponseError" = "ResponseError"; constructor(public response: Response, msg?: string) { super(msg); + + // restore prototype chain + const actualProto = new.target.prototype; + if (Object.setPrototypeOf) { + Object.setPrototypeOf(this, actualProto); + } } } @@ -268,6 +273,12 @@ export class FetchError extends Error { override name: "FetchError" = "FetchError"; constructor(public cause: Error, msg?: string) { super(msg); + + // restore prototype chain + const actualProto = new.target.prototype; + if (Object.setPrototypeOf) { + Object.setPrototypeOf(this, actualProto); + } } } @@ -275,6 +286,12 @@ export class RequiredError extends Error { override name: "RequiredError" = "RequiredError"; constructor(public field: string, msg?: string) { super(msg); + + // restore prototype chain + const actualProto = new.target.prototype; + if (Object.setPrototypeOf) { + Object.setPrototypeOf(this, actualProto); + } } } diff --git a/openapitools.json b/openapitools.json index de22148..da6c52d 100644 --- a/openapitools.json +++ b/openapitools.json @@ -2,7 +2,7 @@ "$schema": "node_modules/@openapitools/openapi-generator-cli/config.schema.json", "spaces": 2, "generator-cli": { - "version": "7.16.0", + "version": "7.22.0", "generators": { "api": { "generatorName": "typescript-fetch", @@ -16,7 +16,13 @@ "modelPropertyNaming": "camelCase", "useSingleRequestParameter": true }, - "skipValidateSpec": true + "skipValidateSpec": true, + "globalProperty": { + "modelDocs": "false", + "apiDocs": "false", + "modelTests": "false", + "apiTests": "false" + } } } } diff --git a/package-lock.json b/package-lock.json index 2b9e602..5c7383e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,7 +14,7 @@ }, "devDependencies": { "@biomejs/biome": "2.3.2", - "@openapitools/openapi-generator-cli": "^2.25.2", + "@openapitools/openapi-generator-cli": "^2.34.0", "@types/jest": "^30.0.0", "@types/node": "^24.10.1", "dotenv": "^17.2.3", @@ -1908,13 +1908,13 @@ } }, "node_modules/@nestjs/common": { - "version": "11.1.17", - "resolved": "https://registry.npmjs.org/@nestjs/common/-/common-11.1.17.tgz", - "integrity": "sha512-hLODw5Abp8OQgA+mUO4tHou4krKgDtUcM9j5Ihxncst9XeyxYBTt2bwZm4e4EQr5E352S4Fyy6V3iFx9ggxKAg==", + "version": "11.1.21", + "resolved": "https://registry.npmjs.org/@nestjs/common/-/common-11.1.21.tgz", + "integrity": "sha512-YV1HYDGsm2rnR0vrLKidtrG6jYX5yqiIjeur1j8++dKGqhhsJ6cjMs0RfQRSTUH7IjgDemA59/znQ8nRrE0D9g==", "dev": true, "license": "MIT", "dependencies": { - "file-type": "21.3.2", + "file-type": "21.3.4", "iterare": "1.2.1", "load-esm": "1.0.3", "tslib": "2.8.1", @@ -1940,9 +1940,9 @@ } }, "node_modules/@nestjs/core": { - "version": "11.1.18", - "resolved": "https://registry.npmjs.org/@nestjs/core/-/core-11.1.18.tgz", - "integrity": "sha512-wR3DtGyk/LUAiPtbXDuWJJwVkWElKBY0sqnTzf9d4uM3+X18FRZhK7WFc47czsIGOdWuRsMeLYV+1Z9dO4zDEQ==", + "version": "11.1.21", + "resolved": "https://registry.npmjs.org/@nestjs/core/-/core-11.1.21.tgz", + "integrity": "sha512-fqo0BHgny3MOuAL8GSfG3ZUKFVVBaBQD/0iyibnwTONT5vPexjQxJzu+945iloVvBDmrnAaRWxC1gqCDEs/AXQ==", "dev": true, "hasInstallScript": true, "license": "MIT", @@ -2064,27 +2064,27 @@ "license": "MIT" }, "node_modules/@openapitools/openapi-generator-cli": { - "version": "2.31.1", - "resolved": "https://registry.npmjs.org/@openapitools/openapi-generator-cli/-/openapi-generator-cli-2.31.1.tgz", - "integrity": "sha512-dPE+COjNLLTHFQ1lddUvpo+J8YQB1RD3/NVRJ3K+1hPZnyuxCURgOCmr7mXgHEyHmzWH8dKXWm/pD170iVR0vw==", + "version": "2.34.0", + "resolved": "https://registry.npmjs.org/@openapitools/openapi-generator-cli/-/openapi-generator-cli-2.34.0.tgz", + "integrity": "sha512-Z6400REeiq16xkRrdKgtv8nY3xy0DhUnc42DIT5rWjzoj7l4qn+MwqsOqUVJ5UwOF9VUBQGKN7jrDaEkKfj3kQ==", "dev": true, "hasInstallScript": true, "license": "Apache-2.0", "dependencies": { "@inquirer/select": "1.3.3", "@nestjs/axios": "4.0.1", - "@nestjs/common": "11.1.17", - "@nestjs/core": "11.1.18", + "@nestjs/common": "11.1.21", + "@nestjs/core": "11.1.21", "@nuxtjs/opencollective": "0.3.2", - "axios": "^1.14.0", + "axios": "^1.16.1", "chalk": "4.1.2", "commander": "8.3.0", "compare-versions": "6.1.1", "concurrently": "9.2.1", "console.table": "0.10.0", - "fs-extra": "11.3.4", + "fs-extra": "11.3.5", "glob": "13.0.6", - "proxy-agent": "6.5.0", + "proxy-agent": "8.0.1", "reflect-metadata": "0.2.2", "rxjs": "7.8.2", "tslib": "2.8.1" @@ -2212,13 +2212,6 @@ "dev": true, "license": "MIT" }, - "node_modules/@tootallnate/quickjs-emscripten": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@tootallnate/quickjs-emscripten/-/quickjs-emscripten-0.23.0.tgz", - "integrity": "sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==", - "dev": true, - "license": "MIT" - }, "node_modules/@tybys/wasm-util": { "version": "0.10.1", "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.1.tgz", @@ -2668,13 +2661,15 @@ "license": "MIT" }, "node_modules/agent-base": { - "version": "7.1.4", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz", - "integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==", - "dev": true, + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", "license": "MIT", + "dependencies": { + "debug": "4" + }, "engines": { - "node": ">= 14" + "node": ">= 6.0.0" } }, "node_modules/ansi-escapes": { @@ -2763,25 +2758,17 @@ "license": "MIT" }, "node_modules/axios": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.15.0.tgz", - "integrity": "sha512-wWyJDlAatxk30ZJer+GeCWS209sA42X+N5jU2jy6oHTp7ufw8uzUTVFBX9+wTfAlhiJXGS0Bq7X6efruWjuK9Q==", + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.16.1.tgz", + "integrity": "sha512-caYkukvroVPO8KrzuJEb50Hm07KwfBZPEC3VeFHTsqWHvKTsy54hjJz9BS/cdaypROE2rH6xvm9mHX4fgWkr3A==", "license": "MIT", "dependencies": { - "follow-redirects": "^1.15.11", + "follow-redirects": "^1.16.0", "form-data": "^4.0.5", + "https-proxy-agent": "^5.0.1", "proxy-from-env": "^2.1.0" } }, - "node_modules/axios/node_modules/proxy-from-env": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-2.1.0.tgz", - "integrity": "sha512-cJ+oHTW1VAEa8cJslgmUZrc+sjRKgAKl3Zyse6+PV38hZe/V6Z14TbCuXcan9F9ghlz4QrFr2c92TNF82UkYHA==", - "license": "MIT", - "engines": { - "node": ">=10" - } - }, "node_modules/babel-jest": { "version": "30.2.0", "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-30.2.0.tgz", @@ -2905,9 +2892,9 @@ } }, "node_modules/basic-ftp": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/basic-ftp/-/basic-ftp-5.3.0.tgz", - "integrity": "sha512-5K9eNNn7ywHPsYnFwjKgYH8Hf8B5emh7JKcPaVjjrMJFQQwGpwowEnZNEtHs7DfR7hCZsmaK3VA4HUK0YarT+w==", + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/basic-ftp/-/basic-ftp-5.3.1.tgz", + "integrity": "sha512-bopVNp6ugyA150DDuZfPFdt1KZ5a94ZDiwX4hMgZDzF+GttD80lEy8kj98kbyhLXnPvhtIo93mdnLIjpCAeeOw==", "dev": true, "license": "MIT", "engines": { @@ -3345,20 +3332,19 @@ } }, "node_modules/data-uri-to-buffer": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-6.0.2.tgz", - "integrity": "sha512-7hvf7/GW8e86rW0ptuwS3OcBGDjIi6SZva7hCyWC0yYry2cOPmLIjXAUHI6DK2HsnwJd9ifmt57i8eV2n4YNpw==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-8.0.0.tgz", + "integrity": "sha512-6UHfyCux51b8PTGDgveqtz1tvphBku5DrMKKJbFAZAJOI2zsjDpDoYE1+QGj7FOMS4BdTFNJsJiR3zEB0xH0yQ==", "dev": true, "license": "MIT", "engines": { - "node": ">= 14" + "node": ">= 20" } }, "node_modules/debug": { "version": "4.4.3", "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", - "dev": true, "license": "MIT", "dependencies": { "ms": "^2.1.3" @@ -3412,9 +3398,9 @@ } }, "node_modules/degenerator": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/degenerator/-/degenerator-5.0.1.tgz", - "integrity": "sha512-TllpMR/t0M5sqCXfj85i4XaAzxmS5tVA16dqvdkMwGmzI+dXLXnw3J+3Vdv7VKw+ThlTMboK6i9rnZ6Nntj5CQ==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/degenerator/-/degenerator-7.0.1.tgz", + "integrity": "sha512-ABErK0IefDSyHjlPH7WUEenIAX2rPPnrDcDM+TS3z3+zu9TfyKKi07BQM+8rmxpdE2y1v5fjjdoAS/x4D2U60w==", "dev": true, "license": "MIT", "dependencies": { @@ -3423,7 +3409,10 @@ "esprima": "^4.0.1" }, "engines": { - "node": ">= 14" + "node": ">= 20" + }, + "peerDependencies": { + "quickjs-wasi": "^2.2.0" } }, "node_modules/delayed-stream": { @@ -3960,9 +3949,9 @@ } }, "node_modules/file-type": { - "version": "21.3.2", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-21.3.2.tgz", - "integrity": "sha512-DLkUvGwep3poOV2wpzbHCOnSKGk1LzyXTv+aHFgN2VFl96wnp8YA9YjO2qPzg5PuL8q/SW9Pdi6WTkYOIh995w==", + "version": "21.3.4", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-21.3.4.tgz", + "integrity": "sha512-Ievi/yy8DS3ygGvT47PjSfdFoX+2isQueoYP1cntFW1JLYAuS4GD7NUPGg4zv2iZfV52uDyk5w5Z0TdpRS6Q1g==", "dev": true, "license": "MIT", "dependencies": { @@ -4072,9 +4061,9 @@ } }, "node_modules/fs-extra": { - "version": "11.3.4", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.4.tgz", - "integrity": "sha512-CTXd6rk/M3/ULNQj8FBqBWHYBVYybQ3VPBw0xGKFe3tuH7ytT6ACnvzpIQ3UZtB8yvUKC2cXn1a+x+5EVQLovA==", + "version": "11.3.5", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.5.tgz", + "integrity": "sha512-eKpRKAovdpZtR1WopLHxlBWvAgPny3c4gX1G5Jhwmmw4XJj0ifSD5qB5TOo8hmA0wlRKDAOAhEE1yVPgs6Fgcg==", "dev": true, "license": "MIT", "dependencies": { @@ -4211,18 +4200,18 @@ } }, "node_modules/get-uri": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-6.0.5.tgz", - "integrity": "sha512-b1O07XYq8eRuVzBNgJLstU6FYc1tS6wnMtF1I1D9lE8LxZSOGZ7LhxN54yPP6mGw5f2CkXY2BQUL9Fx41qvcIg==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-8.0.0.tgz", + "integrity": "sha512-CqtZlMKvfJeY0Zxv8wazDwXmSKmnMnsmNy8j8+wudi8EyG/pMUB1NqHc+Tv1QaNtpYsK9nOYjb7r7Ufu32RPSw==", "dev": true, "license": "MIT", "dependencies": { - "basic-ftp": "^5.0.2", - "data-uri-to-buffer": "^6.0.2", + "basic-ftp": "^5.2.0", + "data-uri-to-buffer": "8.0.0", "debug": "^4.3.4" }, "engines": { - "node": ">= 14" + "node": ">= 20" } }, "node_modules/glob": { @@ -4347,31 +4336,40 @@ "license": "MIT" }, "node_modules/http-proxy-agent": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", - "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-9.0.0.tgz", + "integrity": "sha512-FcF8VhXYLQcxWCnt/cCpT2apKsRDUGeVEeMqGu4HSTu29U8Yw0TLOjdYIlDsYk3IkUh+taX4IDWpPcCqKDhCjA==", "dev": true, "license": "MIT", "dependencies": { - "agent-base": "^7.1.0", + "agent-base": "9.0.0", "debug": "^4.3.4" }, "engines": { - "node": ">= 14" + "node": ">= 20" } }, - "node_modules/https-proxy-agent": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", - "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", + "node_modules/http-proxy-agent/node_modules/agent-base": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-9.0.0.tgz", + "integrity": "sha512-TQf59BsZnytt8GdJKLPfUZ54g/iaUL2OWDSFCCvMOhsHduDQxO8xC4PNeyIkVcA5KwL2phPSv0douC0fgWzmnA==", "dev": true, "license": "MIT", + "engines": { + "node": ">= 20" + } + }, + "node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "license": "MIT", "dependencies": { - "agent-base": "^7.1.2", + "agent-base": "6", "debug": "4" }, "engines": { - "node": ">= 14" + "node": ">= 6" } }, "node_modules/human-signals": { @@ -4455,9 +4453,9 @@ "license": "ISC" }, "node_modules/ip-address": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-10.1.0.tgz", - "integrity": "sha512-XXADHxXmvT9+CRxhXg56LJovE+bmWnEWB78LB83VZTprKTmaC5QfruXocxzTZ2Kl0DNwKuBdlIhjL8LeY8Sf8Q==", + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-10.2.0.tgz", + "integrity": "sha512-/+S6j4E9AHvW9SWMSEY9Xfy66O5PWvVEJ08O0y5JGyEKQpojb0K0GKpz/v5HJ/G0vi3D2sjGK78119oXZeE0qA==", "dev": true, "license": "MIT", "engines": { @@ -5431,9 +5429,9 @@ } }, "node_modules/jsonfile": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.0.tgz", - "integrity": "sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==", + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.1.tgz", + "integrity": "sha512-zwOTdL3rFQ/lRdBnntKVOX6k5cKJwEc1HdilT71BWEu7J41gXIB2MRp+vxduPSwZJPWBxEzv4yH1wYLJGUHX4Q==", "dev": true, "license": "MIT", "dependencies": { @@ -5657,7 +5655,6 @@ "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, "license": "MIT" }, "node_modules/mute-stream": { @@ -5701,9 +5698,9 @@ "license": "MIT" }, "node_modules/netmask": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/netmask/-/netmask-2.0.2.tgz", - "integrity": "sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/netmask/-/netmask-2.1.1.tgz", + "integrity": "sha512-eonl3sLUha+S1GzTPxychyhnUzKyeQkZ7jLjKrBagJgPla13F+uQ71HgpFefyHgqrjEbCPkDArxYsjY8/+gLKA==", "dev": true, "license": "MIT", "engines": { @@ -5880,37 +5877,64 @@ } }, "node_modules/pac-proxy-agent": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-7.2.0.tgz", - "integrity": "sha512-TEB8ESquiLMc0lV8vcd5Ql/JAKAoyzHFXaStwjkzpOpC5Yv+pIzLfHvjTSdf3vpa2bMiUQrg9i6276yn8666aA==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-9.0.1.tgz", + "integrity": "sha512-3ZOSpLboOlpW4yp8Cuv21KlTULRqyJ5Uuad3wXpSKFrxdNgcHEyoa22GRaZ2UlgCVuR6z+5BiavtYVvbajL/Yw==", "dev": true, "license": "MIT", "dependencies": { - "@tootallnate/quickjs-emscripten": "^0.23.0", - "agent-base": "^7.1.2", + "agent-base": "9.0.0", "debug": "^4.3.4", - "get-uri": "^6.0.1", - "http-proxy-agent": "^7.0.0", - "https-proxy-agent": "^7.0.6", - "pac-resolver": "^7.0.1", - "socks-proxy-agent": "^8.0.5" + "get-uri": "8.0.0", + "http-proxy-agent": "9.0.0", + "https-proxy-agent": "9.0.0", + "pac-resolver": "9.0.1", + "quickjs-wasi": "^2.2.0", + "socks-proxy-agent": "10.0.0" }, "engines": { - "node": ">= 14" + "node": ">= 20" + } + }, + "node_modules/pac-proxy-agent/node_modules/agent-base": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-9.0.0.tgz", + "integrity": "sha512-TQf59BsZnytt8GdJKLPfUZ54g/iaUL2OWDSFCCvMOhsHduDQxO8xC4PNeyIkVcA5KwL2phPSv0douC0fgWzmnA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 20" + } + }, + "node_modules/pac-proxy-agent/node_modules/https-proxy-agent": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-9.0.0.tgz", + "integrity": "sha512-/MVmHp58WkOypgFhCLk4fzpPcFQvTJ/e6LBI7irpIO2HfxUbpmYoHF+KzipzJpxxzJu7aJNWQ0xojJ/dzV2G5g==", + "dev": true, + "license": "MIT", + "dependencies": { + "agent-base": "9.0.0", + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 20" } }, "node_modules/pac-resolver": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-7.0.1.tgz", - "integrity": "sha512-5NPgf87AT2STgwa2ntRMr45jTKrYBGkVU36yT0ig/n/GMAa3oPqhZfIQ2kMEimReg0+t9kZViDVZ83qfVUlckg==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-9.0.1.tgz", + "integrity": "sha512-lJbS008tmkj08VhoM8Hzuv/VE5tK9MS0OIQ/7+s0lIF+BYhiQWFYzkSpML7lXs9iBu2jfmzBTLzhe9n6BX+dYw==", "dev": true, "license": "MIT", "dependencies": { - "degenerator": "^5.0.0", + "degenerator": "7.0.1", "netmask": "^2.0.2" }, "engines": { - "node": ">= 14" + "node": ">= 20" + }, + "peerDependencies": { + "quickjs-wasi": "^2.2.0" } }, "node_modules/package-json-from-dist": { @@ -6069,23 +6093,47 @@ } }, "node_modules/proxy-agent": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-6.5.0.tgz", - "integrity": "sha512-TmatMXdr2KlRiA2CyDu8GqR8EjahTG3aY3nXjdzFyoZbmB8hrBsTyMezhULIXKnC0jpfjlmiZ3+EaCzoInSu/A==", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-8.0.1.tgz", + "integrity": "sha512-kccqGBqHZXR8onQhY/ganJjoO8QIKKRiFBhPOzbTZK16attzSZ/0XSmp9H7jrRxPKHjhGyx1q32lMPrJ3uLFgA==", "dev": true, "license": "MIT", "dependencies": { - "agent-base": "^7.1.2", + "agent-base": "9.0.0", "debug": "^4.3.4", - "http-proxy-agent": "^7.0.1", - "https-proxy-agent": "^7.0.6", + "http-proxy-agent": "9.0.0", + "https-proxy-agent": "9.0.0", "lru-cache": "^7.14.1", - "pac-proxy-agent": "^7.1.0", - "proxy-from-env": "^1.1.0", - "socks-proxy-agent": "^8.0.5" + "pac-proxy-agent": "9.0.1", + "proxy-from-env": "^2.0.0", + "socks-proxy-agent": "10.0.0" }, "engines": { - "node": ">= 14" + "node": ">= 20" + } + }, + "node_modules/proxy-agent/node_modules/agent-base": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-9.0.0.tgz", + "integrity": "sha512-TQf59BsZnytt8GdJKLPfUZ54g/iaUL2OWDSFCCvMOhsHduDQxO8xC4PNeyIkVcA5KwL2phPSv0douC0fgWzmnA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 20" + } + }, + "node_modules/proxy-agent/node_modules/https-proxy-agent": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-9.0.0.tgz", + "integrity": "sha512-/MVmHp58WkOypgFhCLk4fzpPcFQvTJ/e6LBI7irpIO2HfxUbpmYoHF+KzipzJpxxzJu7aJNWQ0xojJ/dzV2G5g==", + "dev": true, + "license": "MIT", + "dependencies": { + "agent-base": "9.0.0", + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 20" } }, "node_modules/proxy-agent/node_modules/lru-cache": { @@ -6099,11 +6147,13 @@ } }, "node_modules/proxy-from-env": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", - "dev": true, - "license": "MIT" + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-2.1.0.tgz", + "integrity": "sha512-cJ+oHTW1VAEa8cJslgmUZrc+sjRKgAKl3Zyse6+PV38hZe/V6Z14TbCuXcan9F9ghlz4QrFr2c92TNF82UkYHA==", + "license": "MIT", + "engines": { + "node": ">=10" + } }, "node_modules/pure-rand": { "version": "7.0.1", @@ -6122,6 +6172,13 @@ ], "license": "MIT" }, + "node_modules/quickjs-wasi": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/quickjs-wasi/-/quickjs-wasi-2.2.0.tgz", + "integrity": "sha512-zQxXmQMrEoD3S+jQdYsloq4qAuaxKFHZj6hHqOYGwB2iQZH+q9e/lf5zQPXCKOk0WJuAjzRFbO4KwHIp2D05Iw==", + "dev": true, + "license": "MIT" + }, "node_modules/react-is": { "version": "18.3.1", "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", @@ -6280,13 +6337,13 @@ } }, "node_modules/socks": { - "version": "2.8.7", - "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.7.tgz", - "integrity": "sha512-HLpt+uLy/pxB+bum/9DzAgiKS8CX1EvbWxI4zlmgGCExImLdiad2iCwXT5Z4c9c3Eq8rP2318mPW2c+QbtjK8A==", + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.9.tgz", + "integrity": "sha512-LJhUYUvItdQ0LkJTmPeaEObWXAqFyfmP85x0tch/ez9cahmhlBBLbIqDFnvBnUJGagb0JbIQrkBs1wJ+yRYpEw==", "dev": true, "license": "MIT", "dependencies": { - "ip-address": "^10.0.1", + "ip-address": "^10.1.1", "smart-buffer": "^4.2.0" }, "engines": { @@ -6295,18 +6352,28 @@ } }, "node_modules/socks-proxy-agent": { - "version": "8.0.5", - "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.5.tgz", - "integrity": "sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw==", + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-10.0.0.tgz", + "integrity": "sha512-pyp2YR3mNxAMu0mGLtzs4g7O3uT4/9sQOLAKcViAkaS9fJWkud7nmaf6ZREFqQEi24IPkBcjfHjXhPTUWjo3uA==", "dev": true, "license": "MIT", "dependencies": { - "agent-base": "^7.1.2", + "agent-base": "9.0.0", "debug": "^4.3.4", "socks": "^2.8.3" }, "engines": { - "node": ">= 14" + "node": ">= 20" + } + }, + "node_modules/socks-proxy-agent/node_modules/agent-base": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-9.0.0.tgz", + "integrity": "sha512-TQf59BsZnytt8GdJKLPfUZ54g/iaUL2OWDSFCCvMOhsHduDQxO8xC4PNeyIkVcA5KwL2phPSv0douC0fgWzmnA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 20" } }, "node_modules/source-map": { diff --git a/package.json b/package.json index df892fd..330fa52 100644 --- a/package.json +++ b/package.json @@ -19,7 +19,7 @@ "lint": "biome check", "lint:fix": "biome check --fix", "prepublishOnly": "npm run build", - "generate:api": "rm -rf ./generated-contracts && openapi-generator-cli generate --openapitools ./openapitools.json", + "generate:api": "rm -rf ./generated-contracts && openapi-generator-cli generate --openapitools ./openapitools.json && node scripts/fix-generated-imports.mjs", "example:get-account-info": "tsx examples/get-account-info.ts", "example:create-invoice": "tsx examples/create-invoice.ts", "example:get-invoice-details": "tsx examples/get-invoice-details.ts", @@ -44,7 +44,7 @@ }, "devDependencies": { "@biomejs/biome": "2.3.2", - "@openapitools/openapi-generator-cli": "^2.25.2", + "@openapitools/openapi-generator-cli": "^2.34.0", "@types/jest": "^30.0.0", "@types/node": "^24.10.1", "dotenv": "^17.2.3", diff --git a/scripts/fix-generated-imports.mjs b/scripts/fix-generated-imports.mjs new file mode 100644 index 0000000..b813d0f --- /dev/null +++ b/scripts/fix-generated-imports.mjs @@ -0,0 +1,86 @@ +#!/usr/bin/env node +/** + * Workaround for openapi-generator typescript-fetch bug: + * oneOf-wrapper templates emit `from './PascalCaseName'` regardless of + * `fileNaming=kebab-case`. Rewrite such imports to kebab-case so they + * resolve to the actual generated files. + * + * See OpenAPITools/openapi-generator issues #11354, #14763 (related). + */ +import { readdirSync, readFileSync, writeFileSync } from 'node:fs'; +import { join } from 'node:path'; + +const ROOT = join(process.cwd(), 'generated-contracts'); +const DIRS = [join(ROOT, 'models'), join(ROOT, 'apis')]; + +const pascalToKebab = (name) => + name + .replace(/([a-z0-9])([A-Z])/g, '$1-$2') + .replace(/([A-Z]+)([A-Z][a-z])/g, '$1-$2') + .toLowerCase(); + +const IMPORT_RE = /from '(\.\.?\/(?:models\/)?)([A-Z][A-Za-z0-9]+)';/g; + +let patched = 0; +for (const dir of DIRS) { + for (const file of readdirSync(dir)) { + if (!file.endsWith('.ts')) { + continue; + } + const path = join(dir, file); + const src = readFileSync(path, 'utf8'); + const next = src.replace(IMPORT_RE, (_, prefix, name) => `from '${prefix}${pascalToKebab(name)}';`); + if (next !== src) { + writeFileSync(path, next); + patched += 1; + console.log(`patched imports: ${file}`); + } + } +} + +/** + * Workaround for oneOf without discriminator: the generated FromJSONTyped + * iterates instanceOfX guards in declaration order. When one variant has no + * required fields, its instanceOf returns `true` unconditionally and the parser + * strips fields from every other variant. Replace the body with a pass-through. + */ +const ONE_OF_FROM_BODY = /(export function [A-Z][A-Za-z0-9]+FromJSONTyped\(json: any, ignoreDiscriminator: boolean\): [A-Z][A-Za-z0-9]+ \{)[\s\S]*?(^\})/gm; +const ONE_OF_TO_BODY = /(export function [A-Z][A-Za-z0-9]+ToJSONTyped\(value\?: [A-Z][A-Za-z0-9]+ \| null, ignoreDiscriminator: boolean = false\): any \{)[\s\S]*?(^\})/gm; + +for (const file of readdirSync(DIRS[0])) { + if (!file.endsWith('.ts')) { + continue; + } + const path = join(DIRS[0], file); + const src = readFileSync(path, 'utf8'); + if (!src.includes('instanceOf') || !src.match(/^export type [A-Z][A-Za-z0-9]+ = .+ \| .+;$/m)) { + continue; + } + let next = src.replace( + ONE_OF_FROM_BODY, + `$1 + if (json == null) { + return json; + } + return json; +$2`, + ); + next = next.replace( + ONE_OF_TO_BODY, + `$1 + if (value == null) { + return value; + } + return value; +$2`, + ); + if (next !== src) { + writeFileSync(path, next); + patched += 1; + console.log(`patched oneOf pass-through: ${file}`); + } +} + +if (patched === 0) { + console.log('no generator-bug imports found'); +} diff --git a/src/api/defi-client.ts b/src/api/defi-client.ts index 3527230..a059c99 100644 --- a/src/api/defi-client.ts +++ b/src/api/defi-client.ts @@ -70,6 +70,7 @@ import type { TransactionSortField, TransactionStatus, } from './models'; +import { QueueOperationStatus } from './models'; import { mapAccountDetails, mapAssetBalanceList, @@ -125,11 +126,23 @@ export interface CreatePayoutParams extends ChainScopedParams { } export interface GetDeploymentQueueParams extends ChainScopedParams { - statuses?: Array<'PENDING' | 'READY' | 'EXECUTED' | 'FAILED' | 'CANCELLED'>; + statuses?: QueueOperationStatus[]; page?: number; pageSize?: number; } +export interface DeleteQueueOperationParams extends ChainScopedParams { + operationId: string; +} + +/** Statuses the API permits for deletion. */ +export type DeletableQueueOperationStatus = QueueOperationStatus.Pending | QueueOperationStatus.Ready; + +export interface DeleteAllQueueOperationsParams extends ChainScopedParams { + /** Statuses to delete. Defaults to PENDING + READY (the only ones the API allows). */ + statuses?: DeletableQueueOperationStatus[]; +} + export interface SubmitOperationSignatureParams extends ChainScopedParams { operationId: string; /** Raw ECDSA signature (hex). Will be packed automatically based on contract version. */ @@ -632,6 +645,48 @@ export class DefiClient { return mapDeploymentQueue(response); } + async deleteQueueOperation(params: DeleteQueueOperationParams): Promise { + const deploymentId = await this.resolveDeploymentId(params.chainId); + + await this.callApi(() => + this.queueOperationsApi.queueOperationsControllerDeleteOperationV1({ + deploymentId, + operationId: params.operationId, + }), + ); + } + + /** + * Delete every deletable queue operation owned by this API key. + * Server only accepts deletion for PENDING/READY; other statuses are skipped. + * Returns deleted operation ids. + */ + async deleteAllQueueOperations(params: DeleteAllQueueOperationsParams = {}): Promise { + const statuses: DeletableQueueOperationStatus[] = params.statuses ?? [ + QueueOperationStatus.Pending, + QueueOperationStatus.Ready, + ]; + const pageSize = 100; + const deletedIds: string[] = []; + + /** + * Always fetch page 1: after deleting items, the remaining matches collapse + * back to page 1, so advancing the cursor would skip the survivors. + */ + while (true) { + const queue = await this.getDeploymentQueue({ chainId: params.chainId, statuses, page: 1, pageSize }); + if (queue.items.length === 0) { + break; + } + for (const op of queue.items) { + await this.deleteQueueOperation({ chainId: params.chainId, operationId: op.id }); + deletedIds.push(op.id); + } + } + + return deletedIds; + } + async getTransactions(params: GetTransactionsParams): Promise { const deploymentId = await this.resolveDeploymentId(params.chainId); diff --git a/src/api/index.ts b/src/api/index.ts index 0d46feb..ef7f2dd 100644 --- a/src/api/index.ts +++ b/src/api/index.ts @@ -3,6 +3,9 @@ export type { CreateInvoiceParams, CreatePayoutParams, DefiClientOptions, + DeletableQueueOperationStatus, + DeleteAllQueueOperationsParams, + DeleteQueueOperationParams, ExecuteBatchClaimParams, ExecuteBatchOperationsParams, ExecuteClaimParams, diff --git a/src/api/models/mappers.ts b/src/api/models/mappers.ts index 4f43af3..a3889b7 100644 --- a/src/api/models/mappers.ts +++ b/src/api/models/mappers.ts @@ -20,9 +20,9 @@ import type { QueueOperationResponseDto, SignatureResponseDto, TransactionDetailsDto, - TransactionInvoiceResponseDto, TransactionListResponseDto, - TransactionResponseDto, + TransactionListResponseDtoItemsInner, + TransactionListResponseDtoItemsInnerInvoice, } from '../../../generated-contracts'; import type { Account, @@ -150,9 +150,9 @@ export const mapExecuteBatchOperationsResult = (): ExecuteBatchOperationsResult success: true, }); -const mapTransactionInvoice = (dto: TransactionInvoiceResponseDto): TransactionInvoice => clone(dto); +const mapTransactionInvoice = (dto: TransactionListResponseDtoItemsInnerInvoice): TransactionInvoice => clone(dto); -export const mapTransaction = (dto: TransactionResponseDto): Transaction => ({ +export const mapTransaction = (dto: TransactionListResponseDtoItemsInner): Transaction => ({ ...dto, direction: dto.direction as TransactionDirection, status: dto.status as TransactionStatus, diff --git a/src/api/models/types.ts b/src/api/models/types.ts index 4dc963f..b413488 100644 --- a/src/api/models/types.ts +++ b/src/api/models/types.ts @@ -17,9 +17,9 @@ import type { QueueOperationResponseDto, SignatureResponseDto, TransactionDetailsDto, - TransactionInvoiceResponseDto, TransactionListResponseDto, - TransactionResponseDto, + TransactionListResponseDtoItemsInner, + TransactionListResponseDtoItemsInnerInvoice, } from '../../../generated-contracts'; export enum FiatCurrency { @@ -188,10 +188,10 @@ export enum TransactionSortField { UpdatedAt = 'updatedAt', } -export type TransactionInvoice = TransactionInvoiceResponseDto; +export type TransactionInvoice = TransactionListResponseDtoItemsInnerInvoice; export type Transaction = Omit< - TransactionResponseDto, + TransactionListResponseDtoItemsInner, 'direction' | 'status' | 'operationType' | 'currency' | 'invoice' > & { /** @deprecated Use `operationType` to determine transaction direction instead. */ diff --git a/src/utils/transactions/builders.ts b/src/utils/transactions/builders.ts index de8dc75..bf7b2f1 100644 --- a/src/utils/transactions/builders.ts +++ b/src/utils/transactions/builders.ts @@ -44,7 +44,10 @@ export function buildExecuteOperationsTransaction(input: ExecuteQueueOperationIn value: call.value ? BigInt(call.value) : 0n, data: (call.data ?? '0x') as Hex, })), - signatures: concatHex(operation.signatures.map((sig) => sig.sign as Hex)), + // Prefer the backend-built blob (signers ordered ascending); fall back to + // client-side concat for backends that don't expose signatureBlob yet. + signatures: + (operation.signatureBlob as Hex | null) ?? concatHex(operation.signatures.map((sig) => sig.sign as Hex)), id: operation.executeOperationId as Hex, })); diff --git a/src/utils/transactions/contract-versions.ts b/src/utils/transactions/contract-versions.ts new file mode 100644 index 0000000..348050e --- /dev/null +++ b/src/utils/transactions/contract-versions.ts @@ -0,0 +1,8 @@ +/** + * Known MultiSigWallet contract versions used by the signature packing functions. + * + * Only v1.0.0 needs an explicit constant — it is the legacy format (raw 65-byte + * ECDSA concatenation). v1.1.0 and later all use the same packed format, so they + * are matched implicitly as "anything that is not v1.0.0". + */ +export const CONTRACT_VERSION_LEGACY = '1.0.0'; diff --git a/src/utils/transactions/index.ts b/src/utils/transactions/index.ts index 280fd7d..d7083ed 100644 --- a/src/utils/transactions/index.ts +++ b/src/utils/transactions/index.ts @@ -1,4 +1,5 @@ export * from './builders'; +export * from './contract-versions'; export * from './eip712'; export * from './signatures'; export * from './tron-tip712'; diff --git a/src/utils/transactions/signatures.spec.ts b/src/utils/transactions/signatures.spec.ts index 0f7ff3e..267ee19 100644 --- a/src/utils/transactions/signatures.spec.ts +++ b/src/utils/transactions/signatures.spec.ts @@ -104,25 +104,23 @@ describe('packSignatures', () => { expect(result).toBe(`0x${'bb'.repeat(65)}${'aa'.repeat(65)}`); }); - it('uses v1.1.0 packing for version "1.1.0"', () => { + it('uses v1.1.0+ packed format for version "1.1.0"', () => { const result = packSignatures([entry(SIGNER_A, SIG_A)], '1.1.0'); const bytes = hexToBytes(result); - // v1.1.0 includes address + length prefix = 87 bytes, not 65 + // packed format includes address + length prefix = 87 bytes, not 65 expect(bytes.length).toBe(87); }); - it('falls back to v1.1.0 for unknown versions with console warning', () => { - const warnSpy = jest.spyOn(console, 'warn').mockImplementation(); + it('uses v1.1.0+ packed format for version "1.2.0"', () => { + const result = packSignatures([entry(SIGNER_A, SIG_A)], '1.2.0'); + const bytes = hexToBytes(result); + expect(bytes.length).toBe(87); + }); + it('uses v1.1.0+ packed format for any non-v1.0.0 version', () => { const result = packSignatures([entry(SIGNER_A, SIG_A)], '2.0.0'); const bytes = hexToBytes(result); - - // Should use v1.1.0 format expect(bytes.length).toBe(87); - - expect(warnSpy).toHaveBeenCalledWith(expect.stringContaining('Unknown contract version "2.0.0"')); - - warnSpy.mockRestore(); }); }); diff --git a/src/utils/transactions/signatures.ts b/src/utils/transactions/signatures.ts index ee8fdbe..87355b1 100644 --- a/src/utils/transactions/signatures.ts +++ b/src/utils/transactions/signatures.ts @@ -1,11 +1,5 @@ import { type Address, bytesToHex, concatHex, type Hex, hexToBytes } from 'viem'; - -/** - * Supported MultiSigWallet contract versions. - */ -export type ContractVersion = '1.0.0' | '1.1.0'; - -export const SUPPORTED_CONTRACT_VERSIONS: readonly ContractVersion[] = ['1.0.0', '1.1.0']; +import { CONTRACT_VERSION_LEGACY } from './contract-versions'; export interface SignatureEntry { /** Signer address */ @@ -19,22 +13,17 @@ export interface SignatureEntry { * for the given contract version. * * - **v1.0.0**: Simple concatenation of 65-byte ECDSA signatures. - * - **v1.1.0**: Packed binary format `[signer:20 bytes][sigLen:2 bytes uint16 BE][sig:sigLen bytes]` - * per entry, sorted by signer address in strictly ascending order. + * - **v1.1.0 and later** (v1.1.0, v1.2.0, …): Packed binary format + * `[signer:20 bytes][sigLen:2 bytes uint16 BE][sig:sigLen bytes]` per entry, + * sorted by signer address in strictly ascending order. ERC-1271 contract + * signatures use the same envelope with a non-65-byte inner signature. */ export function packSignatures(signatures: ReadonlyArray, contractVersion: string): Hex { - switch (contractVersion) { - case '1.0.0': - return packSignaturesV1(signatures); - case '1.1.0': - return packSignaturesV1_1(signatures); - default: - console.warn( - `[defi-sdk] Unknown contract version "${contractVersion}" in packSignatures. ` + - 'Using v1.1.0 signature format as fallback.', - ); - return packSignaturesV1_1(signatures); + if (contractVersion === CONTRACT_VERSION_LEGACY) { + return packSignaturesV1(signatures); } + + return packSignaturesV1_1(signatures); } /** @@ -45,7 +34,7 @@ function packSignaturesV1(signatures: ReadonlyArray): Hex { } /** - * v1.1.0 signature packing: packed binary format with explicit signer addresses. + * v1.1.0+ signature packing: packed binary format with explicit signer addresses. * * Format per entry: `[signer:20 bytes][sigLen:2 bytes uint16 BE][sig:sigLen bytes]` * Entries are sorted by signer address in strictly ascending order. diff --git a/src/utils/transactions/tron-tip712.spec.ts b/src/utils/transactions/tron-tip712.spec.ts index ec51fea..953abc4 100644 --- a/src/utils/transactions/tron-tip712.spec.ts +++ b/src/utils/transactions/tron-tip712.spec.ts @@ -114,5 +114,10 @@ describe('packTronSignatures', () => { const result = packTronSignatures([], '1.1.0'); expect(result).toBe('0x'); }); + + it('uses packed format for any non-v1.0.0 version (e.g. v1.2.0)', () => { + const result = packTronSignatures([{ signer: SIGNER_A, signature: SIG_A }], '1.2.0'); + expect((result.length - 2) / 2).toBe(87); + }); }); }); diff --git a/src/utils/transactions/tron-tip712.ts b/src/utils/transactions/tron-tip712.ts index a4eddd0..76a1c87 100644 --- a/src/utils/transactions/tron-tip712.ts +++ b/src/utils/transactions/tron-tip712.ts @@ -2,6 +2,7 @@ import { TronWeb } from 'tronweb'; import { bytesToHex, concatHex, type Hex, hexToBytes } from 'viem'; import type { TronAddress } from '../tron-types'; import { tronToEvmHex } from '../tron-validation'; +import { CONTRACT_VERSION_LEGACY } from './contract-versions'; import { type FetchTronExecuteTypedDataDomainParams, TRON_EXECUTE_PRIMARY_TYPE, @@ -88,18 +89,11 @@ export function prepareTronTypedDataForSigning(typedData: TronExecuteTypedDataPa } export function packTronSignatures(signatures: ReadonlyArray, contractVersion: string): Hex { - switch (contractVersion) { - case '1.0.0': - return packTronSignaturesV1(signatures); - case '1.1.0': - return packTronSignaturesV1_1(signatures); - default: - console.warn( - `[defi-sdk] Unknown contract version "${contractVersion}" in packTronSignatures. ` + - 'Using v1.1.0 signature format as fallback.', - ); - return packTronSignaturesV1_1(signatures); + if (contractVersion === CONTRACT_VERSION_LEGACY) { + return packTronSignaturesV1(signatures); } + + return packTronSignaturesV1_1(signatures); } function packTronSignaturesV1(signatures: ReadonlyArray): Hex {