[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[taler-wallet-core] 02/03: version bump / pending balance tweaks
From: |
gnunet |
Subject: |
[taler-wallet-core] 02/03: version bump / pending balance tweaks |
Date: |
Tue, 03 Dec 2019 14:40:12 +0100 |
This is an automated email from the git hooks/post-receive script.
dold pushed a commit to branch master
in repository wallet-core.
commit 8683c93613caa4047c4fd874aefb0b7d35fdc038
Author: Florian Dold <address@hidden>
AuthorDate: Tue Dec 3 01:33:25 2019 +0100
version bump / pending balance tweaks
---
manifest.json | 4 ++--
src/dbTypes.ts | 9 +++++----
src/wallet-impl/balance.ts | 25 ++++++++++++++++++++-----
src/wallet-impl/history.ts | 2 +-
src/wallet-impl/reserves.ts | 7 ++++---
src/wallet-impl/tip.ts | 3 ++-
src/wallet-impl/withdraw.ts | 3 +++
src/wallet.ts | 2 +-
8 files changed, 38 insertions(+), 17 deletions(-)
diff --git a/manifest.json b/manifest.json
index 5abbccae..826f5241 100644
--- a/manifest.json
+++ b/manifest.json
@@ -4,8 +4,8 @@
"name": "GNU Taler Wallet (git)",
"description": "Privacy preserving and transparent payments",
"author": "GNU Taler Developers",
- "version": "0.6.70",
- "version_name": "0.6.0pre3",
+ "version": "0.6.71",
+ "version_name": "0.6.0pre4",
"minimum_chrome_version": "51",
"minimum_opera_version": "36",
diff --git a/src/dbTypes.ts b/src/dbTypes.ts
index 4f374c26..66c4fa8b 100644
--- a/src/dbTypes.ts
+++ b/src/dbTypes.ts
@@ -44,7 +44,7 @@ import { Timestamp, OperationError } from "./walletTypes";
* In the future we might consider adding migration functions for
* each version increment.
*/
-export const WALLET_DB_VERSION = 27;
+export const WALLET_DB_VERSION = 28;
export enum ReserveRecordStatus {
/**
@@ -1045,11 +1045,12 @@ export interface WithdrawalSessionRecord {
*/
finishTimestamp?: Timestamp;
+ totalCoinValue: AmountJson;
+
/**
- * Amount that is being withdrawn with this operation.
- * This does not include fees.
+ * Amount including fees.
*/
- withdrawalAmount: string;
+ rawWithdrawalAmount: AmountJson;
denoms: string[];
diff --git a/src/wallet-impl/balance.ts b/src/wallet-impl/balance.ts
index 0abc9663..94d65fa9 100644
--- a/src/wallet-impl/balance.ts
+++ b/src/wallet-impl/balance.ts
@@ -17,10 +17,7 @@
/**
* Imports.
*/
-import {
- WalletBalance,
- WalletBalanceEntry,
-} from "../walletTypes";
+import { WalletBalance, WalletBalanceEntry } from "../walletTypes";
import { runWithReadTransaction } from "../util/query";
import { InternalWalletState } from "./state";
import { Stores, TipRecord, CoinStatus } from "../dbTypes";
@@ -77,7 +74,7 @@ export async function getBalances(
await runWithReadTransaction(
ws.db,
- [Stores.coins, Stores.refresh, Stores.reserves, Stores.purchases],
+ [Stores.coins, Stores.refresh, Stores.reserves, Stores.purchases,
Stores.withdrawalSession],
async tx => {
await tx.iter(Stores.coins).forEach(c => {
if (c.suspended) {
@@ -121,6 +118,24 @@ export async function getBalances(
);
});
+ await tx.iter(Stores.withdrawalSession).forEach(wds => {
+ let w = wds.totalCoinValue;
+ for (let i = 0; i < wds.planchets.length; i++) {
+ if (wds.withdrawn[i]) {
+ const p = wds.planchets[i];
+ if (p) {
+ w = Amounts.sub(w, p.coinValue).amount;
+ }
+ }
+ }
+ addTo(
+ balanceStore,
+ "pendingIncoming",
+ w,
+ wds.exchangeBaseUrl,
+ );
+ });
+
await tx.iter(Stores.purchases).forEach(t => {
if (t.finished) {
return;
diff --git a/src/wallet-impl/history.ts b/src/wallet-impl/history.ts
index f5a4e9d3..dfc683e6 100644
--- a/src/wallet-impl/history.ts
+++ b/src/wallet-impl/history.ts
@@ -61,7 +61,7 @@ export async function getHistory(
for (const w of withdrawals) {
history.push({
detail: {
- withdrawalAmount: w.withdrawalAmount,
+ withdrawalAmount: w.rawWithdrawalAmount,
},
timestamp: w.startTimestamp,
type: "withdraw",
diff --git a/src/wallet-impl/reserves.ts b/src/wallet-impl/reserves.ts
index c9cd10ca..d70f0257 100644
--- a/src/wallet-impl/reserves.ts
+++ b/src/wallet-impl/reserves.ts
@@ -502,6 +502,8 @@ async function depleteReserve(
const withdrawalSessionId = encodeCrock(randomBytes(32));
+ const totalCoinValue = Amounts.sum(denomsForWithdraw.map(x =>
x.value)).amount;
+
const withdrawalRecord: WithdrawalSessionRecord = {
withdrawSessionId: withdrawalSessionId,
exchangeBaseUrl: reserve.exchangeBaseUrl,
@@ -509,15 +511,14 @@ async function depleteReserve(
type: "reserve",
reservePub: reserve.reservePub,
},
- withdrawalAmount: Amounts.toString(withdrawAmount),
+ rawWithdrawalAmount: withdrawAmount,
startTimestamp: getTimestampNow(),
denoms: denomsForWithdraw.map(x => x.denomPub),
withdrawn: denomsForWithdraw.map(x => false),
planchets: denomsForWithdraw.map(x => undefined),
+ totalCoinValue,
};
- const totalCoinValue = Amounts.sum(denomsForWithdraw.map(x => x.value))
- .amount;
const totalCoinWithdrawFee = Amounts.sum(
denomsForWithdraw.map(x => x.feeWithdraw),
).amount;
diff --git a/src/wallet-impl/tip.ts b/src/wallet-impl/tip.ts
index b102d026..593f0d61 100644
--- a/src/wallet-impl/tip.ts
+++ b/src/wallet-impl/tip.ts
@@ -202,8 +202,9 @@ export async function processTip(
},
startTimestamp: getTimestampNow(),
withdrawSessionId: withdrawalSessionId,
- withdrawalAmount: Amounts.toString(tipRecord.amount),
+ rawWithdrawalAmount: tipRecord.amount,
withdrawn: planchets.map((x) => false),
+ totalCoinValue: Amounts.sum(planchets.map((p) => p.coinValue)).amount,
};
diff --git a/src/wallet-impl/withdraw.ts b/src/wallet-impl/withdraw.ts
index baeae1a5..d02ae14a 100644
--- a/src/wallet-impl/withdraw.ts
+++ b/src/wallet-impl/withdraw.ts
@@ -143,9 +143,12 @@ export async function acceptWithdrawal(
senderWire: withdrawInfo.senderWire,
exchangeWire: exchangeWire,
});
+ ws.badge.showNotification();
+ ws.notifier.notify();
// We do this here, as the reserve should be registered before we return,
// so that we can redirect the user to the bank's status page.
await processReserveBankStatus(ws, reserve.reservePub);
+ ws.notifier.notify();
console.log("acceptWithdrawal: returning");
return {
reservePub: reserve.reservePub,
diff --git a/src/wallet.ts b/src/wallet.ts
index 432a3e98..89f31f51 100644
--- a/src/wallet.ts
+++ b/src/wallet.ts
@@ -120,7 +120,7 @@ import { AsyncCondition } from "./util/promiseUtils";
*/
export const WALLET_PROTOCOL_VERSION = "3:0:0";
-export const WALLET_CACHE_BREAKER_CLIENT_VERSION = "2";
+export const WALLET_CACHE_BREAKER_CLIENT_VERSION = "3";
const builtinCurrencies: CurrencyRecord[] = [
{
--
To stop receiving notification emails like this one, please contact
address@hidden.