diff options
author | Florian Dold <florian@dold.me> | 2022-09-05 13:26:09 +0200 |
---|---|---|
committer | Florian Dold <florian@dold.me> | 2022-09-05 13:26:09 +0200 |
commit | 27fb2d297002d7440278933c15a894bfe1820629 (patch) | |
tree | 39633fa2300e3fb5826ea5b7c652427fc8a3e3d8 | |
parent | 300242637f20401fa9074e36eea5fa8788cc7202 (diff) |
wallet-core: fix format of purse deposits
-rw-r--r-- | packages/taler-util/src/talerTypes.ts | 9 | ||||
-rw-r--r-- | packages/taler-wallet-core/src/crypto/cryptoImplementation.ts | 7 |
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 { |