taler-typescript-core

Wallet core logic and WebUIs for various components
Log | Files | Refs | Submodules | README | LICENSE

commit a94dc4bf9dbd8c656776208d4201d76cd5bce22c
parent 0ad54690a3878dda1f230a9437ab3ea563c6f169
Author: Martin Schanzenbach <schanzen@gnunet.org>
Date:   Thu, 16 Jul 2026 09:02:54 +0200

fix APIs

Diffstat:
Mpackages/taler-util/src/index.ts | 3+++
Mpackages/taler-util/src/types-taler-wallet.ts | 24++++++++++++++++++++++++
Mpackages/taler-wallet-core/src/wallet-api-types.ts | 18+++++++++++++++++-
Mpackages/taler-wallet-core/src/wallet.ts | 8++++++++
4 files changed, 52 insertions(+), 1 deletion(-)

diff --git a/packages/taler-util/src/index.ts b/packages/taler-util/src/index.ts @@ -21,6 +21,7 @@ export * from "./http-client/challenger.js"; export * from "./http-client/donau-client.js"; export * from "./http-client/exchange-client.js"; export * from "./http-client/mailbox.js"; +export * from "./http-client/taldir.js"; export * from "./http-client/merchant.js"; export * from "./http-client/officer-account.js"; @@ -73,6 +74,7 @@ export * from "./types-taler-bank-conversion.js"; export * from "./types-taler-bank-integration.js"; export * from "./types-taler-exchange.js"; export * from "./types-taler-mailbox.js"; +export * from "./types-taler-directory.js"; export * from "./types-taler-merchant.js"; // end @@ -88,6 +90,7 @@ export * as TalerCorebankApi from "./types-taler-corebank.js"; export * as TalerExchangeApi from "./types-taler-exchange.js"; export * as TalerKycAml from "./types-taler-kyc-aml.js"; export * as TalerMailboxApi from "./types-taler-mailbox.js"; +export * as TalerDirectoryApi from "./types-taler-directory.js"; export * as TalerMerchantApi from "./types-taler-merchant.js"; export * as TalerRevenueApi from "./types-taler-revenue.js"; export * as TalerWireGatewayApi from "./types-taler-wire-gateway.js"; diff --git a/packages/taler-util/src/types-taler-wallet.ts b/packages/taler-util/src/types-taler-wallet.ts @@ -1417,6 +1417,30 @@ export interface ContactListResponse { contacts: ContactEntry[]; } +export interface TaldirLookupRequest { + alias: string; + aliasType: string; + taldirBaseUrl: string; +} + +export const codecForTaldirLookupRequest = (): Codec<TaldirLookupRequest> => + buildCodecForObject<TaldirLookupRequest>() + .property("taldirBaseUrl", codecForString()) + .property("alias", codecForString()) + .property("aliasType", codecForString()) + .build("TaldirLookupRequest"); + +export interface TaldirLookupResponse { + targetUri?: string; +} + +export const codecForTaldirLookupResponse = (): Codec<TaldirLookupResponse> => + buildCodecForObject<TaldirLookupResponse>() + .property("targetUri", codecForString()) + .build("TaldirLookupResponse"); + + + export interface GetMailboxResponse { mailboxConfiguration?: MailboxConfiguration; } diff --git a/packages/taler-wallet-core/src/wallet-api-types.ts b/packages/taler-wallet-core/src/wallet-api-types.ts @@ -207,6 +207,8 @@ import { WithdrawUriInfoResponse, WithdrawalDetailsForAmount, MailboxMessageRecordsResponse, + TaldirLookupRequest, + TaldirLookupResponse, } from "@gnu-taler/taler-util"; import { PaymentBalanceDetails } from "./balance.js"; import { WithdrawTestBalanceResult } from "./testing.js"; @@ -335,7 +337,6 @@ export enum WalletApiOperation { GetDonauStatements = "getDonauStatements", // Mailbox - AddContact = "addContact", DeleteContact = "deleteContact", GetContacts = "getContacts", @@ -347,6 +348,9 @@ export enum WalletApiOperation { SendTalerUriMailboxMessage = "sendTalerUriMailboxMessage", RefreshMailbox = "refreshMailbox", + // Taldir + LookupAlias = "lookupAlias", + // Stored backups ListStoredBackups = "listStoredBackups", @@ -545,6 +549,17 @@ export type GetContactsOp = { response: ContactListResponse; }; +// group: Taldir + +/** + * Lookup alias + */ +export type LookupAliasOp = { + op: WalletApiOperation.LookupAlias; + request: TaldirLookupRequest; + response: TaldirLookupResponse; +} + // group: Mailbox /** @@ -1802,6 +1817,7 @@ export type WalletOperations = { [WalletApiOperation.GetMailboxMessages]: GetMailboxMessagesOp; [WalletApiOperation.DeleteMailboxMessage]: DeleteMailboxMessageOp; [WalletApiOperation.AddMailboxMessage]: AddMailboxMessageOp; + [WalletApiOperation.LookupAlias]: LookupAliasOp; [WalletApiOperation.GetMailbox]: GetMailboxOp; [WalletApiOperation.InitializeMailbox]: InitializeMailboxOp; [WalletApiOperation.RefreshMailbox]: RefreshMailboxOp; diff --git a/packages/taler-wallet-core/src/wallet.ts b/packages/taler-wallet-core/src/wallet.ts @@ -260,6 +260,7 @@ import { codecForStartExchangeWalletKycRequest, codecForStartRefundQueryRequest, codecForSuspendTransaction, + codecForTaldirLookupRequest, codecForTestPayArgs, codecForTestingCorruptWithdrawalCoinSelRequest, codecForTestingGetDenomStatsRequest, @@ -367,6 +368,9 @@ import { } from "./exchanges.js"; import { convertDepositAmount } from "./instructedAmountConversion.js"; import { + lookupAlias +} from "./taldir.js" +import { addMailboxMessage, createNewMailbox, deleteMailboxMessage, @@ -2266,6 +2270,10 @@ const handlers: { [T in WalletApiOperation]: HandlerWithValidator<T> } = { codec: codecForEmptyObject(), handler: listContacts, }, + [WalletApiOperation.LookupAlias]: { + codec: codecForTaldirLookupRequest(), + handler: lookupAlias, + }, [WalletApiOperation.InitializeMailbox]: { codec: codecForMailboxBaseUrl(), handler: createNewMailbox,