aboutsummaryrefslogtreecommitdiff
path: root/packages/taler-wallet-core/src/operations
diff options
context:
space:
mode:
Diffstat (limited to 'packages/taler-wallet-core/src/operations')
-rw-r--r--packages/taler-wallet-core/src/operations/exchanges.ts46
-rw-r--r--packages/taler-wallet-core/src/operations/withdraw.ts13
2 files changed, 37 insertions, 22 deletions
diff --git a/packages/taler-wallet-core/src/operations/exchanges.ts b/packages/taler-wallet-core/src/operations/exchanges.ts
index 16e37fd3e..987031810 100644
--- a/packages/taler-wallet-core/src/operations/exchanges.ts
+++ b/packages/taler-wallet-core/src/operations/exchanges.ts
@@ -218,19 +218,24 @@ export async function acceptExchangeTermsOfService(
}
async function validateWireInfo(
+ ws: InternalWalletState,
versionCurrent: number,
wireInfo: ExchangeWireJson,
masterPublicKey: string,
- cryptoApi: CryptoApi,
): Promise<WireInfo> {
for (const a of wireInfo.accounts) {
logger.trace("validating exchange acct");
- const isValid = await cryptoApi.isValidWireAccount(
- versionCurrent,
- a.payto_uri,
- a.master_sig,
- masterPublicKey,
- );
+ let isValid = false;
+ if (ws.insecureTrustExchange) {
+ isValid = true;
+ } else {
+ isValid = await ws.cryptoApi.isValidWireAccount(
+ versionCurrent,
+ a.payto_uri,
+ a.master_sig,
+ masterPublicKey,
+ );
+ }
if (!isValid) {
throw Error("exchange acct signature invalid");
}
@@ -248,11 +253,16 @@ async function validateWireInfo(
startStamp,
wireFee: Amounts.parseOrThrow(x.wire_fee),
};
- const isValid = await cryptoApi.isValidWireFee(
- wireMethod,
- fee,
- masterPublicKey,
- );
+ let isValid = false;
+ if (ws.insecureTrustExchange) {
+ isValid = true;
+ } else {
+ isValid = await ws.cryptoApi.isValidWireFee(
+ wireMethod,
+ fee,
+ masterPublicKey,
+ );
+ }
if (!isValid) {
throw Error("exchange wire fee signature invalid");
}
@@ -488,10 +498,10 @@ async function updateExchangeFromUrlImpl(
}
const wireInfo = await validateWireInfo(
+ ws,
version.current,
wireInfoDownload,
keysInfo.masterPublicKey,
- ws.cryptoApi,
);
logger.info("finished validating exchange /wire info");
@@ -516,11 +526,11 @@ async function updateExchangeFromUrlImpl(
tosFound !== undefined
? tosFound
: await downloadExchangeWithTermsOfService(
- baseUrl,
- ws.http,
- timeout,
- "text/plain",
- );
+ baseUrl,
+ ws.http,
+ timeout,
+ "text/plain",
+ );
let recoupGroupId: string | undefined = undefined;
diff --git a/packages/taler-wallet-core/src/operations/withdraw.ts b/packages/taler-wallet-core/src/operations/withdraw.ts
index ebab54686..48d308b60 100644
--- a/packages/taler-wallet-core/src/operations/withdraw.ts
+++ b/packages/taler-wallet-core/src/operations/withdraw.ts
@@ -777,10 +777,15 @@ export async function updateWithdrawalDenoms(
denominations.length
}) signature of ${denom.denomPubHash}`,
);
- const valid = await ws.cryptoApi.isValidDenom(
- denom,
- exchangeDetails.masterPublicKey,
- );
+ let valid: boolean = false;
+ if (ws.insecureTrustExchange) {
+ valid = true;
+ } else {
+ valid = await ws.cryptoApi.isValidDenom(
+ denom,
+ exchangeDetails.masterPublicKey,
+ );
+ }
logger.trace(`Done validating ${denom.denomPubHash}`);
if (!valid) {
logger.warn(