commit a94dc4bf9dbd8c656776208d4201d76cd5bce22c
parent 0ad54690a3878dda1f230a9437ab3ea563c6f169
Author: Martin Schanzenbach <schanzen@gnunet.org>
Date: Thu, 16 Jul 2026 09:02:54 +0200
fix APIs
Diffstat:
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,