aboutsummaryrefslogtreecommitdiff
path: root/packages/taler-wallet-core/src/dbless.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/taler-wallet-core/src/dbless.ts')
-rw-r--r--packages/taler-wallet-core/src/dbless.ts61
1 files changed, 30 insertions, 31 deletions
diff --git a/packages/taler-wallet-core/src/dbless.ts b/packages/taler-wallet-core/src/dbless.ts
index e841d1d20..dfefe6ef5 100644
--- a/packages/taler-wallet-core/src/dbless.ts
+++ b/packages/taler-wallet-core/src/dbless.ts
@@ -29,29 +29,26 @@ import {
AbsoluteTime,
AgeRestriction,
AmountJson,
- Amounts,
AmountString,
+ Amounts,
+ DenominationPubKey,
+ ExchangeBatchDepositRequest,
+ ExchangeBatchWithdrawRequest,
+ ExchangeMeltRequest,
+ ExchangeProtocolVersion,
+ Logger,
TalerCorebankApiClient,
+ UnblindedSignature,
codecForAny,
codecForBankWithdrawalOperationPostResponse,
codecForBatchDepositSuccess,
codecForExchangeMeltResponse,
codecForExchangeRevealResponse,
- codecForWithdrawResponse,
- DenominationPubKey,
+ codecForExchangeWithdrawBatchResponse,
encodeCrock,
- ExchangeBatchDepositRequest,
- ExchangeMeltRequest,
- ExchangeProtocolVersion,
- ExchangeWithdrawRequest,
getRandomBytes,
hashWire,
- Logger,
parsePaytoUri,
- UnblindedSignature,
- ExchangeBatchWithdrawRequest,
- ExchangeWithdrawBatchResponse,
- codecForExchangeWithdrawBatchResponse,
} from "@gnu-taler/taler-util";
import {
HttpRequestLibrary,
@@ -59,16 +56,12 @@ import {
} from "@gnu-taler/taler-util/http";
import { TalerCryptoInterface } from "./crypto/cryptoImplementation.js";
import { DenominationRecord } from "./db.js";
-import {
- ExchangeInfo,
- ExchangeKeysDownloadResult,
- isWithdrawableDenom,
-} from "./index.js";
-import { assembleRefreshRevealRequest } from "./operations/refresh.js";
-import {
- getBankStatusUrl,
- getBankWithdrawalInfo,
-} from "./operations/withdraw.js";
+import { ExchangeInfo, downloadExchangeInfo } from "./exchanges.js";
+import { assembleRefreshRevealRequest } from "./refresh.js";
+import { isWithdrawableDenom } from "./denominations.js";
+import { getBankStatusUrl, getBankWithdrawalInfo } from "./withdraw.js";
+
+export { downloadExchangeInfo };
const logger = new Logger("dbless.ts");
@@ -106,13 +99,13 @@ export async function checkReserve(
if (longpollTimeoutMs) {
reqUrl.searchParams.set("timeout_ms", `${longpollTimeoutMs}`);
}
- const resp = await http.get(reqUrl.href);
+ const resp = await http.fetch(reqUrl.href, { method: "GET" });
if (resp.status !== 200) {
throw new Error("reserve not okay");
}
}
-export interface TopupReserveWithDemobankArgs {
+export interface TopupReserveWithBankArgs {
http: HttpRequestLibrary;
reservePub: string;
corebankApiBaseUrl: string;
@@ -120,8 +113,8 @@ export interface TopupReserveWithDemobankArgs {
amount: AmountString;
}
-export async function topupReserveWithDemobank(
- args: TopupReserveWithDemobankArgs,
+export async function topupReserveWithBank(
+ args: TopupReserveWithBankArgs,
) {
const { http, corebankApiBaseUrl, amount, exchangeInfo, reservePub } = args;
const bankClient = new TalerCorebankApiClient(corebankApiBaseUrl);
@@ -140,9 +133,12 @@ export async function topupReserveWithDemobank(
if (plainPaytoUris.length <= 0) {
throw new Error();
}
- const httpResp = await http.postJson(bankStatusUrl, {
- reserve_pub: reservePub,
- selected_exchange: plainPaytoUris[0],
+ const httpResp = await http.fetch(bankStatusUrl, {
+ method: "POST",
+ body: {
+ reserve_pub: reservePub,
+ selected_exchange: plainPaytoUris[0],
+ },
});
await readSuccessResponseJsonOrThrow(
httpResp,
@@ -245,7 +241,7 @@ export async function depositCoin(args: {
}): Promise<void> {
const { coin, http, cryptoApi } = args;
const depositPayto =
- args.depositPayto ?? "payto://x-taler-bank/localhost/foo";
+ args.depositPayto ?? "payto://x-taler-bank/localhost/foo?receiver-name=foo";
const wireSalt = args.wireSalt ?? encodeCrock(getRandomBytes(16));
const timestampNow = AbsoluteTime.toProtocolTimestamp(AbsoluteTime.now());
const contractTermsHash =
@@ -369,7 +365,10 @@ export async function refreshCoin(req: {
oldCoin.exchangeBaseUrl,
);
- const revealResp = await http.postJson(reqUrl.href, revealRequest);
+ const revealResp = await http.fetch(reqUrl.href, {
+ method: "POST",
+ body: revealRequest,
+ });
logger.info("requesting reveal done");