From 1e378e4499906e466e933e40464727fb1c1cbf5e Mon Sep 17 00:00:00 2001 From: Florian Dold Date: Thu, 12 Jan 2023 16:57:51 +0100 Subject: wallet-core: retries for peer pull payments --- .../src/crypto/cryptoImplementation.ts | 20 +++++++++----------- packages/taler-wallet-core/src/crypto/cryptoTypes.ts | 5 +++-- 2 files changed, 12 insertions(+), 13 deletions(-) (limited to 'packages/taler-wallet-core/src/crypto') diff --git a/packages/taler-wallet-core/src/crypto/cryptoImplementation.ts b/packages/taler-wallet-core/src/crypto/cryptoImplementation.ts index c86a732d8..316755840 100644 --- a/packages/taler-wallet-core/src/crypto/cryptoImplementation.ts +++ b/packages/taler-wallet-core/src/crypto/cryptoImplementation.ts @@ -60,6 +60,7 @@ import { hashCoinPub, hashDenomPub, hashTruncate32, + j2s, kdf, kdfKw, keyExchangeEcdhEddsa, @@ -447,11 +448,11 @@ export interface SignPurseCreationRequest { export interface SpendCoinDetails { coinPub: string; - coinPriv: string; - contribution: AmountString; - denomPubHash: string; - denomSig: UnblindedSignature; - ageCommitmentProof: AgeCommitmentProof | undefined; + coinPriv: string; + contribution: AmountString; + denomPubHash: string; + denomSig: UnblindedSignature; + ageCommitmentProof: AgeCommitmentProof | undefined; } export interface SignPurseDepositsRequest { @@ -1453,7 +1454,6 @@ export const nativeCryptoR: TalerCryptoInterfaceR = { tci: TalerCryptoInterfaceR, req: EncryptContractRequest, ): Promise { - const enc = await encryptContractForMerge( decodeCrock(req.pursePub), decodeCrock(req.contractPriv), @@ -1491,24 +1491,22 @@ export const nativeCryptoR: TalerCryptoInterfaceR = { tci: TalerCryptoInterfaceR, req: EncryptContractForDepositRequest, ): Promise { - const contractKeyPair = await this.createEddsaKeypair(tci, {}); const enc = await encryptContractForDeposit( decodeCrock(req.pursePub), - decodeCrock(contractKeyPair.priv), + decodeCrock(req.contractPriv), req.contractTerms, ); const sigBlob = buildSigPS(TalerSignaturePurpose.WALLET_PURSE_ECONTRACT) .put(hash(enc)) - .put(decodeCrock(contractKeyPair.pub)) + .put(decodeCrock(req.contractPub)) .build(); const sig = eddsaSign(sigBlob, decodeCrock(req.pursePriv)); return { econtract: { - contract_pub: contractKeyPair.pub, + contract_pub: req.contractPub, econtract: encodeCrock(enc), econtract_sig: encodeCrock(sig), }, - contractPriv: contractKeyPair.priv, }; }, async decryptContractForDeposit( diff --git a/packages/taler-wallet-core/src/crypto/cryptoTypes.ts b/packages/taler-wallet-core/src/crypto/cryptoTypes.ts index ea58b2820..98f3c935b 100644 --- a/packages/taler-wallet-core/src/crypto/cryptoTypes.ts +++ b/packages/taler-wallet-core/src/crypto/cryptoTypes.ts @@ -190,14 +190,15 @@ export interface EncryptContractResponse { export interface EncryptContractForDepositRequest { contractTerms: any; + contractPriv: string; + contractPub: string; + pursePub: string; pursePriv: string; } export interface EncryptContractForDepositResponse { econtract: EncryptedContract; - - contractPriv: string; } export interface DecryptContractRequest { -- cgit v1.2.3