[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] [taler-wallet-webex] branch master updated: implement new,
From: |
gnunet |
Subject: |
[GNUnet-SVN] [taler-wallet-webex] branch master updated: implement new, optimized refresh protocol |
Date: |
Sat, 09 Dec 2017 03:37:25 +0100 |
This is an automated email from the git hooks/post-receive script.
dold pushed a commit to branch master
in repository wallet-webex.
The following commit(s) were added to refs/heads/master by this push:
new 3e6bd635 implement new, optimized refresh protocol
3e6bd635 is described below
commit 3e6bd6351f5a581175a72200a876fb6c00ab879f
Author: Florian Dold <address@hidden>
AuthorDate: Sat Dec 9 03:37:21 2017 +0100
implement new, optimized refresh protocol
---
src/crypto/cryptoWorker.ts | 1 +
src/types.ts | 7 ++++++-
src/wallet.ts | 30 +++++++++++++++++-------------
3 files changed, 24 insertions(+), 14 deletions(-)
diff --git a/src/crypto/cryptoWorker.ts b/src/crypto/cryptoWorker.ts
index 5ec7c18e..92947d03 100644
--- a/src/crypto/cryptoWorker.ts
+++ b/src/crypto/cryptoWorker.ts
@@ -433,6 +433,7 @@ namespace RpcFunctions {
finished: false,
hash: sessionHash.toCrock(),
meltCoinPub: meltCoin.coinPub,
+ newDenomHashes: newCoinDenoms.map((d) => d.denomPubHash),
newDenoms: newCoinDenoms.map((d) => d.denomPub),
norevealIndex: undefined,
preCoinsForGammas,
diff --git a/src/types.ts b/src/types.ts
index 767474e4..39f0a850 100644
--- a/src/types.ts
+++ b/src/types.ts
@@ -748,7 +748,12 @@ export interface RefreshSessionRecord {
confirmSig: string;
/**
- * Denominations of the newly requested coins
+ * Hased denominations of the newly requested coins.
+ */
+ newDenomHashes: string[];
+
+ /**
+ * Denominations of the newly requested coins.
*/
newDenoms: string[];
diff --git a/src/wallet.ts b/src/wallet.ts
index 56120638..bd31d321 100644
--- a/src/wallet.ts
+++ b/src/wallet.ts
@@ -75,6 +75,7 @@ import {
ProposalRecord,
PurchaseRecord,
QueryPaymentResult,
+ RefreshPreCoinRecord,
RefreshSessionRecord,
RefundPermission,
ReserveCreationInfo,
@@ -320,7 +321,7 @@ export interface CoinsReturnRecord {
*
* Uses libtool's current:revision:age versioning.
*/
-export const WALLET_PROTOCOL_VERSION = "0:0:0";
+export const WALLET_PROTOCOL_VERSION = "2:0:0";
/**
* Current database version, should be incremented
@@ -2134,24 +2135,17 @@ export class Wallet {
}
const reqUrl = new
URI("refresh/melt").absoluteTo(refreshSession.exchangeBaseUrl);
- const meltCoin = {
+ const meltReq = {
coin_pub: coin.coinPub,
confirm_sig: refreshSession.confirmSig,
denom_pub: coin.denomPub,
denom_sig: coin.denomSig,
+ rc: refreshSession.hash,
value_with_fee: refreshSession.valueWithFee,
};
- const coinEvs = refreshSession.preCoinsForGammas.map((x) => x.map((y) =>
y.coinEv));
- const req = {
- coin_evs: coinEvs,
- melt_coin: meltCoin,
- new_denoms: refreshSession.newDenoms,
- transfer_pubs: refreshSession.transferPubs,
- };
- console.log("melt request:", req);
- const resp = await this.http.postJson(reqUrl.href(), req);
+ console.log("melt request:", meltReq);
+ const resp = await this.http.postJson(reqUrl.href(), meltReq);
- console.log("melt request:", req);
console.log("melt response:", resp.responseText);
if (resp.status !== 200) {
@@ -2186,9 +2180,19 @@ export class Wallet {
const privs = Array.from(refreshSession.transferPrivs);
privs.splice(norevealIndex, 1);
+ const preCoins = refreshSession.preCoinsForGammas[norevealIndex];
+ if (!preCoins) {
+ throw Error("refresh index error");
+ }
+
+ const evs = preCoins.map((x: RefreshPreCoinRecord) => x.coinEv);
+
const req = {
- session_hash: refreshSession.hash,
+ coin_evs: evs,
+ new_denoms_h: refreshSession.newDenomHashes,
+ rc: refreshSession.hash,
transfer_privs: privs,
+ transfer_pub: refreshSession.transferPubs[norevealIndex],
};
const reqUrl = new URI("refresh/reveal")
.absoluteTo(refreshSession.exchangeBaseUrl);
--
To stop receiving notification emails like this one, please contact
address@hidden
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] [taler-wallet-webex] branch master updated: implement new, optimized refresh protocol,
gnunet <=