aboutsummaryrefslogtreecommitdiff
path: root/packages/taler-wallet-core/src/operations/tip.ts
diff options
context:
space:
mode:
authorFlorian Dold <florian@dold.me>2021-11-27 20:56:58 +0100
committerFlorian Dold <florian@dold.me>2021-11-27 20:57:07 +0100
commit5c4c25516df9d65d29dc7f3f38b5a2a1a8e9e374 (patch)
tree4665e79a6033ab949de211fd9de8de8ca681c2e0 /packages/taler-wallet-core/src/operations/tip.ts
parent403de8170ef538ef74505859b1c04e3542cad9fb (diff)
downloadwallet-core-5c4c25516df9d65d29dc7f3f38b5a2a1a8e9e374.tar.xz
wallet: support both protocol versions
Diffstat (limited to 'packages/taler-wallet-core/src/operations/tip.ts')
-rw-r--r--packages/taler-wallet-core/src/operations/tip.ts14
1 files changed, 10 insertions, 4 deletions
diff --git a/packages/taler-wallet-core/src/operations/tip.ts b/packages/taler-wallet-core/src/operations/tip.ts
index 0253930ea..cf3502ecd 100644
--- a/packages/taler-wallet-core/src/operations/tip.ts
+++ b/packages/taler-wallet-core/src/operations/tip.ts
@@ -314,13 +314,13 @@ async function processTipImpl(
let blindedSigs: BlindedDenominationSignature[] = [];
- if (merchantInfo.supportsMerchantProtocolV2) {
+ if (merchantInfo.protocolVersionCurrent === 2) {
const response = await readSuccessResponseJsonOrThrow(
merchantResp,
codecForMerchantTipResponseV2(),
);
blindedSigs = response.blind_sigs.map((x) => x.blind_sig);
- } else if (merchantInfo.supportsMerchantProtocolV1) {
+ } else if (merchantInfo.protocolVersionCurrent === 1) {
const response = await readSuccessResponseJsonOrThrow(
merchantResp,
codecForMerchantTipResponseV1(),
@@ -347,11 +347,17 @@ async function processTipImpl(
const planchet = planchets[i];
checkLogicInvariant(!!planchet);
- if (denom.denomPub.cipher !== DenomKeyType.Rsa) {
+ if (
+ denom.denomPub.cipher !== DenomKeyType.Rsa &&
+ denom.denomPub.cipher !== DenomKeyType.LegacyRsa
+ ) {
throw Error("unsupported cipher");
}
- if (blindedSig.cipher !== DenomKeyType.Rsa) {
+ if (
+ blindedSig.cipher !== DenomKeyType.Rsa &&
+ blindedSig.cipher !== DenomKeyType.LegacyRsa
+ ) {
throw Error("unsupported cipher");
}