aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Dold <florian@dold.me>2022-09-05 13:26:09 +0200
committerFlorian Dold <florian@dold.me>2022-09-05 13:26:09 +0200
commit27fb2d297002d7440278933c15a894bfe1820629 (patch)
tree39633fa2300e3fb5826ea5b7c652427fc8a3e3d8
parent300242637f20401fa9074e36eea5fa8788cc7202 (diff)
wallet-core: fix format of purse deposits
-rw-r--r--packages/taler-util/src/talerTypes.ts9
-rw-r--r--packages/taler-wallet-core/src/crypto/cryptoImplementation.ts7
2 files changed, 12 insertions, 4 deletions
diff --git a/packages/taler-util/src/talerTypes.ts b/packages/taler-util/src/talerTypes.ts
index 014631ad7..471c7e927 100644
--- a/packages/taler-util/src/talerTypes.ts
+++ b/packages/taler-util/src/talerTypes.ts
@@ -1813,11 +1813,14 @@ export interface PurseDeposit {
ub_sig: UnblindedSignature;
/**
- * Age commitment hash for the coin, if the denomination is age-restricted.
+ * Age commitment for the coin, if the denomination is age-restricted.
*/
- h_age_commitment?: HashCodeString;
+ age_commitment?: string[];
- // FIXME-Oec: proof of age is missing.
+ /**
+ * Attestation for the minimum age, if the denomination is age-restricted.
+ */
+ attest?: string;
/**
* Signature over TALER_PurseDepositSignaturePS
diff --git a/packages/taler-wallet-core/src/crypto/cryptoImplementation.ts b/packages/taler-wallet-core/src/crypto/cryptoImplementation.ts
index 6336539fa..c6be1d466 100644
--- a/packages/taler-wallet-core/src/crypto/cryptoImplementation.ts
+++ b/packages/taler-wallet-core/src/crypto/cryptoImplementation.ts
@@ -1362,12 +1362,15 @@ export const nativeCryptoR: TalerCryptoInterfaceR = {
const hExchangeBaseUrl = hash(stringToBytes(req.exchangeBaseUrl + "\0"));
const deposits: PurseDeposit[] = [];
for (const c of req.coins) {
+ let haveAch: boolean;
let maybeAch: Uint8Array;
if (c.ageCommitmentProof) {
+ haveAch = true;
maybeAch = decodeCrock(
AgeRestriction.hashCommitment(c.ageCommitmentProof.commitment),
);
} else {
+ haveAch = false;
maybeAch = new Uint8Array(32);
}
const sigBlob = buildSigPS(TalerSignaturePurpose.WALLET_PURSE_DEPOSIT)
@@ -1387,7 +1390,9 @@ export const nativeCryptoR: TalerCryptoInterfaceR = {
coin_sig: sigResp.sig,
denom_pub_hash: c.denomPubHash,
ub_sig: c.denomSig,
- h_age_commitment: undefined,
+ age_commitment: c.ageCommitmentProof
+ ? c.ageCommitmentProof.commitment.publicKeys
+ : undefined,
});
}
return {