include age commitment proof in refreshed coins

This commit is contained in:
Florian Dold 2022-09-08 14:02:09 +02:00
parent 2119daba17
commit 9b2d6d766f
No known key found for this signature in database
GPG Key ID: D2E4F00F29D02A4B
5 changed files with 26 additions and 2 deletions

View File

@ -1154,6 +1154,8 @@ export interface RefreshPlanchetInfo {
* Blinding key used.
*/
blindingKey: string;
ageCommitmentProof?: AgeCommitmentProof;
}
/**

View File

@ -43,6 +43,28 @@ export async function runAgeRestrictionsMerchantTest(t: GlobalTestState) {
const walletTwo = new WalletCli(t, "walletTwo");
const walletThree = new WalletCli(t, "walletThree");
{
const walletZero = new WalletCli(t, "walletZero");
await withdrawViaBank(t, {
wallet: walletZero,
bank,
exchange,
amount: "TESTKUDOS:20",
restrictAge: 13,
});
const order = {
summary: "Buy me!",
amount: "TESTKUDOS:5",
fulfillment_url: "taler://fulfillment-success/thx",
minimum_age: 9,
};
await makeTestPayment(t, { wallet: walletZero, merchant, order });
await walletZero.runUntilDone();
}
{
const wallet = walletOne;

View File

@ -1208,6 +1208,7 @@ export const nativeCryptoR: TalerCryptoInterfaceR = {
coinPriv: encodeCrock(coinPriv),
coinPub: encodeCrock(coinPub),
coinEvHash: encodeCrock(coinEvHash),
ageCommitmentProof: newAc,
};
planchets.push(planchet);
hashCoinEvInner(coinEv, sessionHc);

View File

@ -23,7 +23,6 @@
*/
import {
ProposalStatus,
ReserveRecordStatus,
AbortStatus,
WalletStoresV1,
BackupProviderStateTag,
@ -33,7 +32,6 @@ import {
import {
PendingOperationsResponse,
PendingTaskType,
ReserveType,
} from "../pending-types.js";
import { AbsoluteTime } from "@gnu-taler/taler-util";
import { InternalWalletState } from "../internal-wallet-state.js";

View File

@ -695,6 +695,7 @@ async function refreshReveal(
},
suspended: false,
coinEvHash: pc.coinEvHash,
ageCommitmentProof: pc.ageCommitmentProof,
};
coins.push(coin);