taler-docs

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

commit a818031d3c88f34f1624dd7a265dc61130045404
parent 609c60eee31c7a53823dabaa5e27e5aa72fd171a
Author: Iván Ávalos <avalos@disroot.org>
Date:   Wed, 22 Jul 2026 13:55:51 +0200

updated tsdefs

Diffstat:
Mwallet/wallet-core.md | 379+++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------
1 file changed, 263 insertions(+), 116 deletions(-)

diff --git a/wallet/wallet-core.md b/wallet/wallet-core.md @@ -8,6 +8,9 @@ This file is auto-generated from the [taler-typescript-core](https://git.taler.n * [SetWalletRunConfigOp](#setwalletrunconfigop) * [GetVersionOp](#getversionop) * [HintNetworkAvailabilityOp](#hintnetworkavailabilityop) +### Generic request handling +* [RetryProgressTokenNowOp](#retryprogresstokennowop) +* [CancelProgressTokenOp](#cancelprogresstokenop) ### Donau * [SetDonauOp](#setdonauop) * [GetDonauOp](#getdonauop) @@ -16,6 +19,10 @@ This file is auto-generated from the [taler-typescript-core](https://git.taler.n * [AddContactOp](#addcontactop) * [DeleteContactOp](#deletecontactop) * [GetContactsOp](#getcontactsop) +### Taldir +* [RegisterAliasOp](#registeraliasop) +* [CompleteRegisterAliasOp](#completeregisteraliasop) +* [LookupAliasOp](#lookupaliasop) ### Mailbox * [RefreshMailboxOp](#refreshmailboxop) * [InitializeMailboxOp](#initializemailboxop) @@ -36,7 +43,6 @@ This file is auto-generated from the [taler-typescript-core](https://git.taler.n * [ListAssociatedRefreshesOp](#listassociatedrefreshesop) * [TestingGetSampleTransactionsOp](#testinggetsampletransactionsop) * [GetTransactionByIdOp](#gettransactionbyidop) -* [RetryPendingNowOp](#retrypendingnowop) * [DeleteTransactionOp](#deletetransactionop) * [RetryTransactionOp](#retrytransactionop) * [AbortTransactionOp](#aborttransactionop) @@ -144,6 +150,7 @@ This file is auto-generated from the [taler-typescript-core](https://git.taler.n * [TestingWaitTransactionsFinalOp](#testingwaittransactionsfinalop) * [TestingWaitTasksDoneOp](#testingwaittasksdoneop) * [TestingWaitRefreshesFinalOp](#testingwaitrefreshesfinalop) +* [TestingWaitBalanceOp](#testingwaitbalanceop) * [TestingWaitTransactionStateOp](#testingwaittransactionstateop) * [TestingWaitExchangeStateOp](#testingwaitexchangestateop) * [TestingWaitExchangeReadyOp](#testingwaitexchangereadyop) @@ -245,6 +252,42 @@ export interface HintNetworkAvailabilityRequest { ``` +### RetryProgressTokenNowOp +```typescript +export type RetryProgressTokenNowOp = { + op: WalletApiOperation.RetryProgressTokenNow; + request: RetryProgressTokenNowRequest; + response: EmptyObject; +}; +// RetryProgressTokenNow = "retryProgressTokenNow" + +``` +```typescript +export interface RetryProgressTokenNowRequest { + operation: string; + progressToken: string; +} + +``` + +### CancelProgressTokenOp +```typescript +export type CancelProgressTokenOp = { + op: WalletApiOperation.CancelProgressToken; + request: CancelProgressTokenRequest; + response: EmptyObject; +}; +// CancelProgressToken = "cancelProgressToken" + +``` +```typescript +export interface CancelProgressTokenRequest { + operation: string; + progressToken: string; +} + +``` + ### SetDonauOp ```typescript /** @@ -393,6 +436,48 @@ export interface ContactListResponse { ``` +### RegisterAliasOp +```typescript +/** + * Register alias + */ +export type RegisterAliasOp = { + op: WalletApiOperation.RegisterAlias; + request: TaldirRegistrationRequest; + response: TaldirRegistrationResponse; +}; +// RegisterAlias = "registerAlias" + +``` + +### CompleteRegisterAliasOp +```typescript +/** + * Complete alias registration + */ +export type CompleteRegisterAliasOp = { + op: WalletApiOperation.CompleteRegisterAlias; + request: TaldirRegistrationCompletionRequest; + response: EmptyObject; +}; +// CompleteRegisterAlias = "completeRegisterAlias" + +``` + +### LookupAliasOp +```typescript +/** + * Lookup alias + */ +export type LookupAliasOp = { + op: WalletApiOperation.LookupAlias; + request: TaldirLookupRequest; + response: TaldirLookupResponse; +}; +// LookupAlias = "lookupAlias" + +``` + ### RefreshMailboxOp ```typescript /** @@ -401,7 +486,7 @@ export interface ContactListResponse { export type RefreshMailboxOp = { op: WalletApiOperation.RefreshMailbox; request: MailboxConfiguration; - response: MailboxMessageRecord[]; + response: MailboxMessageRecordsResponse; }; // RefreshMailbox = "refreshMailbox" @@ -414,7 +499,7 @@ export type RefreshMailboxOp = { */ export type InitializeMailboxOp = { op: WalletApiOperation.InitializeMailbox; - request: string; + request: MailboxBaseUrl; response: MailboxConfiguration; }; // InitializeMailbox = "initializeMailbox" @@ -428,12 +513,18 @@ export type InitializeMailboxOp = { */ export type GetMailboxOp = { op: WalletApiOperation.GetMailbox; - request: string; - response: MailboxConfiguration | undefined; + request: MailboxBaseUrl; + response: GetMailboxResponse; }; // GetMailbox = "getMailbox" ``` +```typescript +export interface GetMailboxResponse { + mailboxConfiguration?: MailboxConfiguration; +} + +``` ### GetMailboxMessagesOp ```typescript @@ -991,17 +1082,6 @@ export interface TransactionByIdRequest { ``` -### RetryPendingNowOp -```typescript -export type RetryPendingNowOp = { - op: WalletApiOperation.RetryPendingNow; - request: EmptyObject; - response: EmptyObject; -}; -// RetryPendingNow = "retryPendingNow" - -``` - ### DeleteTransactionOp ```typescript /** @@ -1270,7 +1350,7 @@ export interface PrepareBankIntegratedWithdrawalResponse { export type ConfirmWithdrawalOp = { op: WalletApiOperation.ConfirmWithdrawal; request: ConfirmWithdrawalRequest; - response: AcceptWithdrawalResponse; + response: EmptyObject; }; // ConfirmWithdrawal = "confirmWithdrawal" @@ -1317,6 +1397,13 @@ export interface AcceptBankIntegratedWithdrawalRequest { } ``` +```typescript +export interface AcceptWithdrawalResponse { + confirmTransferUrl?: string; + transactionId: TransactionIdStr; +} + +``` ### AcceptManualWithdrawalOp ```typescript @@ -1756,7 +1843,7 @@ export interface OrderOutputToken { type: OrderOutputType.Token; token_family_slug: string; count?: Integer; - valid_at?: TalerPreciseTimestamp; + valid_at?: TalerProtocolTimestamp; } ``` @@ -1817,6 +1904,14 @@ export interface ConfirmPayRequest { * Only applies to v1 orders. */ choiceIndex?: number; + /** + * Do not wait for the first payment success or error + * before returning a response. Instead, status will + * be communicated via notifications. + * + * Will become the default in future versions. + */ + noWait?: boolean; } ``` @@ -2269,6 +2364,7 @@ export interface PrepareWithdrawExchangeRequest { * A taler://withdraw-exchange URI. */ talerUri: string; + progressToken?: string; } ``` @@ -2511,6 +2607,7 @@ export interface GetExchangeTosRequest { exchangeBaseUrl: string; acceptedFormat?: string[]; acceptLanguage?: string; + progressToken?: string; } ``` @@ -4370,6 +4467,27 @@ export type TestingWaitRefreshesFinalOp = { ``` +### TestingWaitBalanceOp +```typescript +/** + * Wait until a balance has reached the desired value. + */ +export type TestingWaitBalanceOp = { + op: WalletApiOperation.TestingWaitBalance; + request: TestingWaitBalanceRequest; + response: EmptyObject; +}; +// TestingWaitBalance = "testingWaitBalance" + +``` +```typescript +export interface TestingWaitBalanceRequest { + type: "material" | "available"; + amount: AmountString; +} + +``` + ### TestingWaitTransactionStateOp ```typescript /** @@ -4467,6 +4585,11 @@ export interface TestingWaitExchangeReadyRequest { * Force waiting until an update really happened. */ forceUpdate?: boolean; + /** + * Only consider the exchange as ready if the + * next auto-refresh is scheduled for the future. + */ + waitAutoRefresh?: boolean; } ``` @@ -4718,15 +4841,6 @@ export interface WalletRunConfig { */ features: { allowHttp: boolean; - /** - * If set to true, enable V1 contracts. Otherwise, emulate v0 contracts - * to wallet-core clients. - * - * Will become enabled by default in the future. - * - * Added 2025-08-19. - */ - enableV1Contracts: boolean; }; /** * Start processing tasks only when explicitly required, even after @@ -4821,6 +4935,7 @@ export interface MailboxConfiguration { privateKey: EddsaPrivateKeyString; privateEncryptionKey: string; expiration: Timestamp; + hAddress: string; payUri?: TalerUri; } ``` @@ -4838,24 +4953,21 @@ export interface TalerProtocolTimestamp { * A parsed taler URI. */ export type TalerUri = - | PayUriResult - | PayTemplateUriResult - | DevExperimentUri - | PayPullUriResult - | PayPushUriResult - | BackupRestoreUri - | RefundUriResult - | WithdrawUriResult - | WithdrawExchangeUri - | AddExchangeUri - | WithdrawalTransferResultUri - | AddContactUri; -``` -```typescript -/** - * - */ -export interface PayUriResult { + | TalerPayUriResult + | TalerPayTemplateUri + | TalerDevExperimentUri + | TalerPayPullUri + | TalerPayPushUri + | TalerRestoreUri + | TalerRefundUri + | TalerWithdrawUri + | TalerWithdrawExchangeUri + | TalerAddExchangeUri + | TalerWithdrawalTransferResultUri + | TalerAddContactUri; +``` +```typescript +export interface TalerPayUriResult { type: TalerUriAction.Pay; merchantBaseUrl: HostPortPath; orderId: string; @@ -4874,54 +4986,55 @@ export type HostPortPath = string & { }; ``` ```typescript -export interface PayTemplateUriResult { +export interface TalerPayTemplateUri { type: TalerUriAction.PayTemplate; merchantBaseUrl: HostPortPath; templateId: string; sessionId?: string; fulfillmentUrl?: string; + editableSummary?: boolean; + summary?: string; + editableAmount?: boolean; + amount?: AmountString; } ``` ```typescript -export interface DevExperimentUri { +export interface TalerDevExperimentUri { type: TalerUriAction.DevExperiment; devExperimentId: string; - query?: URLSearchParams; + query?: Record<string, string>; } ``` ```typescript -interface URLSearchParams extends _URLSearchParams {} -``` -```typescript -export interface PayPullUriResult { +export interface TalerPayPullUri { type: TalerUriAction.PayPull; exchangeBaseUrl: HostPortPath; contractPriv: string; } ``` ```typescript -export interface PayPushUriResult { +export interface TalerPayPushUri { type: TalerUriAction.PayPush; exchangeBaseUrl: HostPortPath; contractPriv: string; } ``` ```typescript -export interface BackupRestoreUri { +export interface TalerRestoreUri { type: TalerUriAction.Restore; walletRootPriv: string; providers: Array<HostPortPath>; } ``` ```typescript -export interface RefundUriResult { +export interface TalerRefundUri { type: TalerUriAction.Refund; merchantBaseUrl: HostPortPath; orderId: string; } ``` ```typescript -export interface WithdrawUriResult { +export interface TalerWithdrawUri { type: TalerUriAction.Withdraw; bankIntegrationApiBaseUrl: HostPortPath; withdrawalOperationId: string; @@ -4929,27 +5042,27 @@ export interface WithdrawUriResult { } ``` ```typescript -export interface WithdrawExchangeUri { +export interface TalerWithdrawExchangeUri { type: TalerUriAction.WithdrawExchange; exchangeBaseUrl: HostPortPath; amount?: AmountString; } ``` ```typescript -export interface AddExchangeUri { +export interface TalerAddExchangeUri { type: TalerUriAction.AddExchange; exchangeBaseUrl: HostPortPath; } ``` ```typescript -export interface WithdrawalTransferResultUri { +export interface TalerWithdrawalTransferResultUri { type: TalerUriAction.WithdrawalTransferResult; ref: string; status?: "success" | "aborted"; } ``` ```typescript -export interface AddContactUri { +export interface TalerAddContactUri { type: TalerUriAction.AddContact; alias: string; aliasType: string; @@ -4959,6 +5072,11 @@ export interface AddContactUri { } ``` ```typescript +export interface MailboxBaseUrl { + mailboxBaseUrl: string; +} +``` +```typescript /** * Record metadata for mailbox messages */ @@ -5151,8 +5269,23 @@ export interface TalerPreciseTimestamp { ``` ```typescript export interface TransactionState { + /** + * Major state component of the transaction state. + */ major: TransactionMajorState; + /** + * Minor state component of the transaction. + */ minor?: TransactionMinorState; + /** + * Indicator of whether the wallet is currently + * actively processing the transaction or waiting + * for a counterparty. + * + * Will eventually be folded into a new major state, + * first via a feature flag and then permanently. + */ + working?: boolean; } ``` ```typescript @@ -5271,20 +5404,82 @@ export interface KycAuthTransferInfo { */ accountPub: string; /** + * Options for making the KYC auth transfer payment + * to the exchange. + */ + transferOptions: TransferOption[]; + /** + * Validity of the transferOptions or undefined + * if transferOptions does not expire. + */ + transferExpiry: TalerProtocolTimestamp | undefined; + /** * Amount that the exchange expects to be deposited. * * Usually corresponds to the TINY_AMOUNT configuration of the exchange, * and thus is the smallest amount that can be transferred * via a bank transfer. + * + * @deprecated Use transferOptions instead. */ amount: AmountString; /** * Possible target payto URIs. + * + * @deprecated Use transferOptions instead. */ creditPaytoUris: string[]; } ``` ```typescript +export type TransferOption = + | TransferOptionPayto + | TransferOptionUri + | TransferOptionSwissQrBill; +``` +```typescript +export interface TransferOptionPayto { + type: "payto"; + paytoUri: string; + qrCodes: QrCodeSpec[]; +} +``` +```typescript +/** + * Specification of a QR code that includes payment information. + */ +export interface QrCodeSpec { + /** + * Type of the QR code. + * + * Depending on the type, different visual styles + * might be applied. + */ + type: SupportedBankQr; + /** + * Content of the QR code that should be rendered. + */ + qrContent: string; +} +``` +```typescript +export type SupportedBankQr = "epc-qr" | "spc"; +``` +```typescript +export interface TransferOptionUri { + type: "uri"; + uri: string; +} +``` +```typescript +export interface TransferOptionSwissQrBill { + type: "ch-qr-bill"; + paytoUri: string; + qrReferenceNumber: string; + qrCodes: QrCodeSpec[]; +} +``` +```typescript export type WithdrawalDetails = | WithdrawalDetailsForManualTransfer | WithdrawalDetailsForTalerBankIntegrationApi; @@ -5316,11 +5511,13 @@ interface WithdrawalDetailsForManualTransfer { ```typescript export interface WithdrawalExchangeAccountDetails { /** - * Payto URI to credit the exchange. + * Payto URI to of the exchange. * * Depending on whether the (manual!) withdrawal is accepted or just * being checked, this already includes the subject with the * reserve public key. + * + * Wallet UIs should never show instructions to send money to the exchange's payto */ paytoUri: string; /** @@ -5387,54 +5584,6 @@ export interface CurrencySpecification { } ``` ```typescript -export type TransferOption = - | TransferOptionPayto - | TransferOptionUri - | TransferOptionSwissQrBill; -``` -```typescript -export interface TransferOptionPayto { - type: "payto"; - paytoUri: string; - qrCodes: QrCodeSpec[]; -} -``` -```typescript -/** - * Specification of a QR code that includes payment information. - */ -export interface QrCodeSpec { - /** - * Type of the QR code. - * - * Depending on the type, different visual styles - * might be applied. - */ - type: SupportedBankQr; - /** - * Content of the QR code that should be rendered. - */ - qrContent: string; -} -``` -```typescript -export type SupportedBankQr = "epc-qr" | "spc"; -``` -```typescript -export interface TransferOptionUri { - type: "uri"; - uri: string; -} -``` -```typescript -export interface TransferOptionSwissQrBill { - type: "ch-qr-bill"; - paytoUri: string; - qrReferenceNumber: string; - qrCodes: QrCodeSpec[]; -} -``` -```typescript interface WithdrawalDetailsForTalerBankIntegrationApi { type: WithdrawalType.TalerBankIntegrationApi; /** @@ -5523,6 +5672,10 @@ export interface TransactionPayment extends TransactionCommon { * this is the transaction ID of the original payment. */ repurchaseTransactionId?: TransactionIdStr; + /** + * If applicable, the choice that the user selected. + */ + choiceIndex?: number; } ``` ```typescript @@ -6161,12 +6314,6 @@ export interface ForcedDenomSel { } ``` ```typescript -export interface AcceptWithdrawalResponse { - confirmTransferUrl?: string; - transactionId: TransactionIdStr; -} -``` -```typescript export interface PreparePayRequest { talerPayUri: string; } @@ -6400,7 +6547,7 @@ export interface PreparePayTemplateRequest { ``` ```typescript export type TemplateParams = { - amount?: string; + amount?: AmountString; summary?: string; }; ```