wallet: round timestamps in db-less requests to the exchange

This commit is contained in:
Florian Dold 2022-03-17 11:08:53 +01:00
parent 151aa904e0
commit 05838080f5
No known key found for this signature in database
GPG Key ID: D2E4F00F29D02A4B
2 changed files with 6 additions and 4 deletions

View File

@ -87,6 +87,7 @@ export namespace Timestamp {
export const now = getTimestampNow;
export const min = timestampMin;
export const isExpired = isTimestampExpired;
export const truncateToSecond = timestampTruncateToSecond;
}
export function timestampMin(t1: Timestamp, t2: Timestamp): Timestamp {

View File

@ -41,10 +41,10 @@ import {
ExchangeProtocolVersion,
ExchangeWithdrawRequest,
getRandomBytes,
getTimestampNow,
hashWire,
Logger,
parsePaytoUri,
Timestamp,
UnblindedSignature,
} from "@gnu-taler/taler-util";
import { DenominationRecord } from "./db.js";
@ -223,8 +223,9 @@ export async function depositCoin(args: {
args.depositPayto ?? "payto://x-taler-bank/localhost/foo";
const wireSalt = encodeCrock(getRandomBytes(16));
const contractTermsHash = encodeCrock(getRandomBytes(64));
const depositTimestamp = getTimestampNow();
const refundDeadline = getTimestampNow();
const depositTimestamp = Timestamp.truncateToSecond(Timestamp.now());
const refundDeadline = Timestamp.truncateToSecond(Timestamp.now());
const wireTransferDeadline = Timestamp.truncateToSecond(Timestamp.now());
const merchantPub = encodeCrock(getRandomBytes(32));
const dp = await cryptoApi.signDepositPermission({
coinPriv: coin.coinPriv,
@ -248,7 +249,7 @@ export async function depositCoin(args: {
h_contract_terms: contractTermsHash,
ub_sig: coin.denomSig,
timestamp: depositTimestamp,
wire_transfer_deadline: getTimestampNow(),
wire_transfer_deadline: wireTransferDeadline,
refund_deadline: refundDeadline,
coin_sig: dp.coin_sig,
denom_pub_hash: dp.h_denom,