[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[taler-wallet-core] branch master updated: wallet-core: cleanup
From: |
gnunet |
Subject: |
[taler-wallet-core] branch master updated: wallet-core: cleanup |
Date: |
Fri, 05 Jul 2024 15:04:42 +0200 |
This is an automated email from the git hooks/post-receive script.
dold pushed a commit to branch master
in repository wallet-core.
The following commit(s) were added to refs/heads/master by this push:
new 0c5e5193e wallet-core: cleanup
0c5e5193e is described below
commit 0c5e5193ed91e915ccf551ba21340503ebc53fd5
Author: Florian Dold <florian@dold.me>
AuthorDate: Fri Jul 5 15:04:32 2024 +0200
wallet-core: cleanup
---
packages/taler-wallet-core/src/wallet.ts | 198 +++++++++++++++----------------
1 file changed, 97 insertions(+), 101 deletions(-)
diff --git a/packages/taler-wallet-core/src/wallet.ts
b/packages/taler-wallet-core/src/wallet.ts
index 1723e2c81..50c16892c 100644
--- a/packages/taler-wallet-core/src/wallet.ts
+++ b/packages/taler-wallet-core/src/wallet.ts
@@ -76,6 +76,7 @@ import {
ListExchangesForScopedCurrencyRequest,
ListGlobalCurrencyAuditorsResponse,
ListGlobalCurrencyExchangesResponse,
+ ListKnownBankAccountsRequest,
Logger,
NotificationType,
ObservabilityContext,
@@ -214,7 +215,6 @@ import {
markAttentionRequestAsRead,
} from "./attention.js";
import {
- RunBackupCycleRequest,
addBackupProvider,
codecForAddBackupProviderRequest,
codecForRemoveBackupProvider,
@@ -452,11 +452,12 @@ export async function getDenomInfo(
* List bank accounts known to the wallet from
* previous withdrawals.
*/
-async function listKnownBankAccounts(
+async function handleListKnownBankAccounts(
wex: WalletExecutionContext,
- currency?: string,
+ req: ListKnownBankAccountsRequest,
): Promise<KnownBankAccounts> {
const accounts: KnownBankAccountsInfo[] = [];
+ const currency = req.currency;
await wex.db.runReadOnlyTx({ storeNames: ["bankAccounts"] }, async (tx) => {
const knownAccounts = await tx.bankAccounts.iter().toArray();
for (const r of knownAccounts) {
@@ -625,7 +626,12 @@ async function getClientFromWalletState(
const client: WalletCoreApiClient = {
async call(op, payload): Promise<any> {
id = (id + 1) % (Number.MAX_SAFE_INTEGER - 100);
- const res = await handleCoreApiRequest(ws, op, String(id), payload);
+ const res = await dispatchWalletCoreApiRequest(
+ ws,
+ op,
+ String(id),
+ payload,
+ );
switch (res.type) {
case "error":
throw TalerError.fromUncheckedDetail(res.error);
@@ -1119,14 +1125,6 @@ async function handleStartRefundQuery(
return {};
}
-async function handleAddBackupProvider(
- wex: WalletExecutionContext,
- req: RunBackupCycleRequest,
-): Promise<EmptyObject> {
- await runBackupCycle(wex, req);
- return {};
-}
-
async function handleHintNetworkAvailability(
wex: WalletExecutionContext,
req: HintNetworkAvailabilityRequest,
@@ -1184,7 +1182,7 @@ async function handleGetDepositWireTypesForCurrency(
async function handleListGlobalCurrencyExchanges(
wex: WalletExecutionContext,
- req: EmptyObject,
+ _req: EmptyObject,
): Promise<ListGlobalCurrencyExchangesResponse> {
const resp: ListGlobalCurrencyExchangesResponse = {
exchanges: [],
@@ -1207,7 +1205,7 @@ async function handleListGlobalCurrencyExchanges(
async function handleListGlobalCurrencyAuditors(
wex: WalletExecutionContext,
- req: EmptyObject,
+ _req: EmptyObject,
): Promise<ListGlobalCurrencyAuditorsResponse> {
const resp: ListGlobalCurrencyAuditorsResponse = {
auditors: [],
@@ -1324,7 +1322,7 @@ async function handleAddGlobalCurrencyAuditor(
async function handleShutdown(
wex: WalletExecutionContext,
- req: EmptyObject,
+ _req: EmptyObject,
): Promise<EmptyObject> {
wex.ws.stop();
return {};
@@ -1340,7 +1338,7 @@ async function handleTestingSetTimetravel(
}
async function handleCanonicalizeBaseUrl(
- wex: WalletExecutionContext,
+ _wex: WalletExecutionContext,
req: CanonicalizeBaseUrlRequest,
): Promise<CanonicalizeBaseUrlResponse> {
return {
@@ -1358,7 +1356,7 @@ async function handleDeleteExchange(
async function handleCreateStoredBackup(
wex: WalletExecutionContext,
- req: EmptyObject,
+ _req: EmptyObject,
): Promise<CreateStoredBackupResponse> {
return await createStoredBackup(wex);
}
@@ -1376,6 +1374,84 @@ async function handleAcceptBankIntegratedWithdrawal(
});
}
+async function handleGetCurrencySpecification(
+ wex: WalletExecutionContext,
+ req: GetCurrencySpecificationRequest,
+): Promise<GetCurrencySpecificationResponse> {
+ const spec = await wex.db.runReadOnlyTx(
+ {
+ storeNames: ["currencyInfo"],
+ },
+ async (tx) => {
+ return WalletDbHelpers.getCurrencyInfo(tx, req.scope);
+ },
+ );
+ if (spec) {
+ return {
+ currencySpecification: spec.currencySpec,
+ };
+ }
+ // Hard-coded mock for KUDOS and TESTKUDOS
+ if (req.scope.currency === "KUDOS") {
+ const kudosResp: GetCurrencySpecificationResponse = {
+ currencySpecification: {
+ name: "Kudos (Taler Demonstrator)",
+ num_fractional_input_digits: 2,
+ num_fractional_normal_digits: 2,
+ num_fractional_trailing_zero_digits: 2,
+ alt_unit_names: {
+ "0": "ク",
+ },
+ },
+ };
+ return kudosResp;
+ } else if (req.scope.currency === "TESTKUDOS") {
+ const testkudosResp: GetCurrencySpecificationResponse = {
+ currencySpecification: {
+ name: "Test (Taler Unstable Demonstrator)",
+ num_fractional_input_digits: 0,
+ num_fractional_normal_digits: 0,
+ num_fractional_trailing_zero_digits: 0,
+ alt_unit_names: {
+ "0": "テ",
+ },
+ },
+ };
+ return testkudosResp;
+ }
+ const defaultResp: GetCurrencySpecificationResponse = {
+ currencySpecification: {
+ name: req.scope.currency,
+ num_fractional_input_digits: 2,
+ num_fractional_normal_digits: 2,
+ num_fractional_trailing_zero_digits: 2,
+ alt_unit_names: {
+ "0": req.scope.currency,
+ },
+ },
+ };
+ return defaultResp;
+}
+
+async function handleGetVersion(
+ wex: WalletExecutionContext,
+): Promise<WalletCoreVersion> {
+ const result: WalletCoreVersion = {
+ implementationSemver: walletCoreBuildInfo.implementationSemver,
+ implementationGitHash: walletCoreBuildInfo.implementationGitHash,
+ hash: undefined,
+ version: WALLET_CORE_API_PROTOCOL_VERSION,
+ exchange: WALLET_EXCHANGE_PROTOCOL_VERSION,
+ merchant: WALLET_MERCHANT_PROTOCOL_VERSION,
+ bankConversionApiRange: WALLET_BANK_CONVERSION_API_PROTOCOL_VERSION,
+ bankIntegrationApiRange: TalerBankIntegrationHttpClient.PROTOCOL_VERSION,
+ corebankApiRange: WALLET_COREBANK_API_PROTOCOL_VERSION,
+ bank: TalerBankIntegrationHttpClient.PROTOCOL_VERSION,
+ devMode: wex.ws.config.testing.devModeActive,
+ };
+ return result;
+}
+
interface HandlerWithValidator<Tag extends WalletApiOperation> {
codec: Codec<WalletCoreRequestType<Tag>>;
handler: (
@@ -1484,7 +1560,7 @@ const handlers: { [T in WalletApiOperation]:
HandlerWithValidator<T> } = {
},
[WalletApiOperation.ListKnownBankAccounts]: {
codec: codecForListKnownBankAccounts(),
- handler: (wex, req) => listKnownBankAccounts(wex, req.currency),
+ handler: handleListKnownBankAccounts,
},
[WalletApiOperation.AddKnownBankAccounts]: {
codec: codecForAddKnownBankAccounts(),
@@ -1965,84 +2041,6 @@ async function dispatchRequestInternal(
return await h.handler(wex, req);
}
-export async function handleGetCurrencySpecification(
- wex: WalletExecutionContext,
- req: GetCurrencySpecificationRequest,
-): Promise<GetCurrencySpecificationResponse> {
- const spec = await wex.db.runReadOnlyTx(
- {
- storeNames: ["currencyInfo"],
- },
- async (tx) => {
- return WalletDbHelpers.getCurrencyInfo(tx, req.scope);
- },
- );
- if (spec) {
- return {
- currencySpecification: spec.currencySpec,
- };
- }
- // Hard-coded mock for KUDOS and TESTKUDOS
- if (req.scope.currency === "KUDOS") {
- const kudosResp: GetCurrencySpecificationResponse = {
- currencySpecification: {
- name: "Kudos (Taler Demonstrator)",
- num_fractional_input_digits: 2,
- num_fractional_normal_digits: 2,
- num_fractional_trailing_zero_digits: 2,
- alt_unit_names: {
- "0": "ク",
- },
- },
- };
- return kudosResp;
- } else if (req.scope.currency === "TESTKUDOS") {
- const testkudosResp: GetCurrencySpecificationResponse = {
- currencySpecification: {
- name: "Test (Taler Unstable Demonstrator)",
- num_fractional_input_digits: 0,
- num_fractional_normal_digits: 0,
- num_fractional_trailing_zero_digits: 0,
- alt_unit_names: {
- "0": "テ",
- },
- },
- };
- return testkudosResp;
- }
- const defaultResp: GetCurrencySpecificationResponse = {
- currencySpecification: {
- name: req.scope.currency,
- num_fractional_input_digits: 2,
- num_fractional_normal_digits: 2,
- num_fractional_trailing_zero_digits: 2,
- alt_unit_names: {
- "0": req.scope.currency,
- },
- },
- };
- return defaultResp;
-}
-
-async function handleGetVersion(
- wex: WalletExecutionContext,
-): Promise<WalletCoreVersion> {
- const result: WalletCoreVersion = {
- implementationSemver: walletCoreBuildInfo.implementationSemver,
- implementationGitHash: walletCoreBuildInfo.implementationGitHash,
- hash: undefined,
- version: WALLET_CORE_API_PROTOCOL_VERSION,
- exchange: WALLET_EXCHANGE_PROTOCOL_VERSION,
- merchant: WALLET_MERCHANT_PROTOCOL_VERSION,
- bankConversionApiRange: WALLET_BANK_CONVERSION_API_PROTOCOL_VERSION,
- bankIntegrationApiRange: TalerBankIntegrationHttpClient.PROTOCOL_VERSION,
- corebankApiRange: WALLET_COREBANK_API_PROTOCOL_VERSION,
- bank: TalerBankIntegrationHttpClient.PROTOCOL_VERSION,
- devMode: wex.ws.config.testing.devModeActive,
- };
- return result;
-}
-
export function getObservedWalletExecutionContext(
ws: InternalWalletState,
cancellationToken: CancellationToken,
@@ -2091,7 +2089,7 @@ export function getNormalWalletExecutionContext(
/**
* Handle a request to the wallet-core API.
*/
-async function handleCoreApiRequest(
+async function dispatchWalletCoreApiRequest(
ws: InternalWalletState,
operation: string,
id: string,
@@ -2169,9 +2167,7 @@ async function handleCoreApiRequest(
}
}
-export function applyRunConfigDefaults(
- wcp?: PartialWalletRunConfig,
-): WalletRunConfig {
+function applyRunConfigDefaults(wcp?: PartialWalletRunConfig): WalletRunConfig
{
return {
builtin: {
exchanges: wcp?.builtin?.exchanges ?? [
@@ -2247,7 +2243,7 @@ export class Wallet {
payload: unknown,
): Promise<CoreApiResponse> {
await this.ws.ensureWalletDbOpen();
- return handleCoreApiRequest(this.ws, operation, id, payload);
+ return dispatchWalletCoreApiRequest(this.ws, operation, id, payload);
}
}
--
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [taler-wallet-core] branch master updated: wallet-core: cleanup,
gnunet <=