taler-docs

Documentation for GNU Taler components, APIs and protocols
Log | Files | Refs | README | LICENSE

commit bc932d35b13d15440dc046bc2cd67bfa8a2bcdcd
parent b6d7b9bec3e43903891b2572c2f1e9015586072b
Author: Iván Ávalos <avalos@disroot.org>
Date:   Fri, 13 Feb 2026 17:13:05 +0100

update wallet-core API docs

Diffstat:
Mwallet/wallet-core.md | 224++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 222 insertions(+), 2 deletions(-)

diff --git a/wallet/wallet-core.md b/wallet/wallet-core.md @@ -144,6 +144,7 @@ This file is auto-generated from the [taler-typescript-core](https://git.taler.n * [WithdrawTestkudosOp](#withdrawtestkudosop) * [TestPayOp](#testpayop) * [GetActiveTasksOp](#getactivetasksop) +* [GetPerformanceStatsOp](#getperformancestatsop) * [DumpCoinsOp](#dumpcoinsop) * [TestingSetTimetravelOp](#testingsettimetravelop) * [TestingWaitTransactionsFinalOp](#testingwaittransactionsfinalop) @@ -156,6 +157,7 @@ This file is auto-generated from the [taler-typescript-core](https://git.taler.n * [TestingResetAllRetriesOp](#testingresetallretriesop) * [TestingGetDenomStatsOp](#testinggetdenomstatsop) * [TestingRunFixupOp](#testingrunfixupop) +* [TestingGetDiagnosticsOp](#testinggetdiagnosticsop) * [SetCoinSuspendedOp](#setcoinsuspendedop) * [ForceRefreshOp](#forcerefreshop) ## Operation Reference @@ -4015,6 +4017,199 @@ export interface ActiveTask { ``` +### GetPerformanceStatsOp +```typescript +/** + * Get a list of performance stats for diagnostics. + * + * Requires observability events to be enabled. Performance tables for the + * current running wallet instance are generated from observability events and + * stored in memory. + * + * Under each table, only the highest duration for each operation + * (e.g. `getBalances` wallet request) is included. + */ +export type GetPerformanceStatsOp = { + op: WalletApiOperation.TestingGetPerformanceStats; + request: GetPerformanceStatsRequest; + response: GetPerformanceStatsResponse; +}; +// TestingGetPerformanceStats = "testingGetPerformanceStats" + +``` +```typescript +export interface GetPerformanceStatsRequest { + /** + * Limit to N largest performance stats of each table. + * + * When undefined, all performance stats will be returned. + */ + limit?: number; +} + +``` +```typescript +export interface GetPerformanceStatsResponse { + stats: PerformanceTable; +} + +``` +```typescript +export type PerformanceTable = { + [key in PerformanceStatType]?: PerformanceStat[]; +}; + +``` +```typescript +export declare enum PerformanceStatType { + HttpFetch = "http-fetch", + DbQuery = "db-query", + Crypto = "crypto", + WalletRequest = "wallet-request", + WalletTask = "wallet-task", +} + +``` +```typescript +export type PerformanceStat = + | { + type: PerformanceStatType.HttpFetch; + url: string; + maxDurationMs: number; + count: number; + } + | { + type: PerformanceStatType.DbQuery; + name: string; + location: string; + maxDurationMs: number; + count: number; + } + | { + type: PerformanceStatType.Crypto; + operation: string; + maxDurationMs: number; + count: number; + } + | { + type: PerformanceStatType.WalletRequest; + operation: string; + maxDurationMs: number; + count: number; + } + | { + type: PerformanceStatType.WalletTask; + taskId: string; + maxDurationMs: number; + count: number; + }; + +``` +```typescript +export type ObservabilityEvent = + | { + id: string; + when: AbsoluteTime; + type: ObservabilityEventType.HttpFetchStart; + url: string; + } + | { + id: string; + when: AbsoluteTime; + type: ObservabilityEventType.HttpFetchFinishSuccess; + url: string; + status: number; + durationMs: number; + } + | { + id: string; + when: AbsoluteTime; + type: ObservabilityEventType.HttpFetchFinishError; + url: string; + error: TalerErrorDetail; + durationMs: number; + } + | { + type: ObservabilityEventType.DbQueryStart; + name: string; + location: string; + } + | { + type: ObservabilityEventType.DbQueryFinishSuccess; + name: string; + location: string; + durationMs: number; + } + | { + type: ObservabilityEventType.DbQueryFinishError; + name: string; + location: string; + error: TalerErrorDetail; + durationMs: number; + } + | { + type: ObservabilityEventType.RequestStart; + name: string; + } + | { + type: ObservabilityEventType.RequestFinishSuccess; + operation: string; + requestId: string; + durationMs: number; + } + | { + type: ObservabilityEventType.RequestFinishError; + operation: string; + requestId: string; + durationMs: number; + } + | { + type: ObservabilityEventType.TaskStart; + taskId: string; + } + | { + type: ObservabilityEventType.TaskStop; + taskId: string; + } + | { + type: ObservabilityEventType.TaskReset; + taskId: string; + } + | { + type: ObservabilityEventType.DeclareTaskDependency; + taskId: string; + } + | { + type: ObservabilityEventType.CryptoStart; + operation: string; + } + | { + type: ObservabilityEventType.CryptoFinishSuccess; + operation: string; + durationMs: number; + } + | { + type: ObservabilityEventType.CryptoFinishError; + operation: string; + durationMs: number; + } + | { + type: ObservabilityEventType.ShepherdTaskResult; + taskId: string; + resultType: string; + durationMs: number; + } + | { + type: ObservabilityEventType.Message; + contents: string; + } + | { + type: ObservabilityEventType.DeclareConcernsTransaction; + transactionId: TransactionIdStr; + }; + +``` + ### DumpCoinsOp ```typescript /** @@ -4416,6 +4611,29 @@ export interface RunFixupRequest { ``` +### TestingGetDiagnosticsOp +```typescript +export type TestingGetDiagnosticsOp = { + op: WalletApiOperation.TestingGetDiagnostics; + request: EmptyObject; + response: TestingGetDiagnosticsResponse; +}; +// TestingGetDiagnostics = "testingGetDiagnostics" + +``` +```typescript +export interface TestingGetDiagnosticsResponse { + version: 0; + exchangeEntries: { + exchangeBaseUrl: string; + numDenoms: number; + numWithdrawableDenoms: number; + numCandidateWithdrawableDenoms: number; + }[]; +} + +``` + ### SetCoinSuspendedOp ```typescript /** @@ -5352,7 +5570,7 @@ interface MerchantContractTermsCommon { delivery_date?: TalerProtocolTimestamp; delivery_location?: Location; exchanges: Exchange[]; - products?: Product[]; + products?: ProductSold[]; refund_deadline: TalerProtocolTimestamp; wire_transfer_deadline: TalerProtocolTimestamp; timestamp: TalerProtocolTimestamp; @@ -5363,10 +5581,11 @@ interface MerchantContractTermsCommon { fulfillment_message_i18n?: InternationalizedString; extra?: any; minimum_age?: Integer; + default_money_pot?: Integer; } ``` ```typescript -export interface Product { +export interface ProductSold { product_id?: string; product_name?: string; description: string; @@ -5379,6 +5598,7 @@ export interface Product { image?: ImageDataUrl; taxes?: Tax[]; delivery_date?: Timestamp; + product_money_pot?: Integer; } ``` ```typescript