aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Dold <florian.dold@gmail.com>2019-09-01 01:05:38 +0200
committerFlorian Dold <florian.dold@gmail.com>2019-09-01 01:05:38 +0200
commit70912b07250e7c86ace4a0b0b16e90352df93ece (patch)
tree4609e53f86197c7706e803972537488cacb9173c
parentaa36fce8a0d1ead29709444527c2d1a4ba9491a6 (diff)
fix error in index iteration
-rwxr-xr-xbin/taler-wallet-cli1
-rw-r--r--packages/idb-bridge/package.json2
-rw-r--r--packages/idb-bridge/src/MemoryBackend.ts1
-rw-r--r--src/android/index.ts10
-rw-r--r--src/headless/helpers.ts3
-rw-r--r--src/headless/taler-wallet-cli.ts2
-rw-r--r--src/query.ts6
-rw-r--r--src/wallet.ts6
8 files changed, 24 insertions, 7 deletions
diff --git a/bin/taler-wallet-cli b/bin/taler-wallet-cli
index 1dbf05a08..04aef8922 100755
--- a/bin/taler-wallet-cli
+++ b/bin/taler-wallet-cli
@@ -1,2 +1,3 @@
#!/usr/bin/env node
+require('source-map-support').install();
require('../dist/node/headless/taler-wallet-cli.js')
diff --git a/packages/idb-bridge/package.json b/packages/idb-bridge/package.json
index b8579b053..f0072a6be 100644
--- a/packages/idb-bridge/package.json
+++ b/packages/idb-bridge/package.json
@@ -1,6 +1,6 @@
{
"name": "idb-bridge",
- "version": "0.0.9",
+ "version": "0.0.10",
"description": "IndexedDB implementation that uses SQLite3 as storage",
"main": "./build/index.js",
"types": "./build/index.d.ts",
diff --git a/packages/idb-bridge/src/MemoryBackend.ts b/packages/idb-bridge/src/MemoryBackend.ts
index 44da137ff..99582a1b6 100644
--- a/packages/idb-bridge/src/MemoryBackend.ts
+++ b/packages/idb-bridge/src/MemoryBackend.ts
@@ -1156,6 +1156,7 @@ export class MemoryBackend implements Backend {
indexPos = res[1].indexKey;
indexEntry = res[1];
primkeySubPos = forward ? 0 : indexEntry.primaryKeys.length - 1;
+ continue;
} else {
break;
}
diff --git a/src/android/index.ts b/src/android/index.ts
index e7d24c8b4..d3f5cd0d6 100644
--- a/src/android/index.ts
+++ b/src/android/index.ts
@@ -171,6 +171,16 @@ export function installAndroidWalletListener() {
httpLib.handleTunnelResponse(msg.args);
break;
}
+ case "getWithdrawalInfo": {
+ const wallet = await wp.promise;
+ result = await wallet.getWithdrawalInfo(msg.args.talerWithdrawUri);
+ break;
+ }
+ case "acceptWithdrawal": {
+ const wallet = await wp.promise;
+ result = await wallet.acceptWithdrawal(msg.args.talerWithdrawUri, msg.args.selectedExchange);
+ break;
+ }
case "reset": {
const wallet = await wp.promise;
wallet.stop();
diff --git a/src/headless/helpers.ts b/src/headless/helpers.ts
index a86b26738..6716ccef4 100644
--- a/src/headless/helpers.ts
+++ b/src/headless/helpers.ts
@@ -133,8 +133,9 @@ export async function getDefaultNodeWallet(
const myBadge = new ConsoleBadge();
+ BridgeIDBFactory.enableTracing = true;
const myBackend = new MemoryBackend();
- myBackend.enableTracing = false;
+ myBackend.enableTracing = true;
const storagePath = args.persistentStoragePath;
if (storagePath) {
diff --git a/src/headless/taler-wallet-cli.ts b/src/headless/taler-wallet-cli.ts
index bfa1ac4b9..da68f46ae 100644
--- a/src/headless/taler-wallet-cli.ts
+++ b/src/headless/taler-wallet-cli.ts
@@ -135,7 +135,7 @@ program
persistentStoragePath: walletDbPath,
});
- const withdrawInfo = await wallet.downloadWithdrawInfo(withdrawUrl);
+ const withdrawInfo = await wallet.getWithdrawalInfo(withdrawUrl);
console.log("withdraw info", withdrawInfo);
diff --git a/src/query.ts b/src/query.ts
index 7308d9ede..766696874 100644
--- a/src/query.ts
+++ b/src/query.ts
@@ -21,6 +21,7 @@
*/
import { openPromise } from "./promiseUtils";
+import { join } from "path";
/**
* Result of an inner join.
@@ -463,11 +464,14 @@ class QueryStreamIndexJoin<T, S> extends QueryStreamBase<JoinResult<T, S>> {
f(true, undefined, tx);
return;
}
+ const joinKey = this.key(value);
+ console.log("***** JOINING ON", joinKey);
const s = tx.objectStore(this.storeName).index(this.indexName);
- const req = s.openCursor(IDBKeyRange.only(this.key(value)));
+ const req = s.openCursor(IDBKeyRange.only(joinKey));
req.onsuccess = () => {
const cursor = req.result;
if (cursor) {
+ console.log(`join result for ${joinKey}`, { left: value, right: cursor.value });
f(false, { left: value, right: cursor.value }, tx);
cursor.continue();
}
diff --git a/src/wallet.ts b/src/wallet.ts
index 3785f912e..1d231f2df 100644
--- a/src/wallet.ts
+++ b/src/wallet.ts
@@ -1822,7 +1822,7 @@ export class Wallet {
talerWithdrawUri: string,
maybeSelectedExchange?: string,
): Promise<WithdrawDetails> {
- const info = await this.downloadWithdrawInfo(talerWithdrawUri);
+ const info = await this.getWithdrawalInfo(talerWithdrawUri);
let rci: ReserveCreationInfo | undefined = undefined;
if (maybeSelectedExchange) {
rci = await this.getWithdrawDetailsForAmount(
@@ -3551,7 +3551,7 @@ export class Wallet {
// strategy to test it.
}
- async downloadWithdrawInfo(
+ async getWithdrawalInfo(
talerWithdrawUri: string,
): Promise<DownloadedWithdrawInfo> {
const uriResult = parseWithdrawUri(talerWithdrawUri);
@@ -3577,7 +3577,7 @@ export class Wallet {
talerWithdrawUri: string,
selectedExchange: string,
): Promise<AcceptWithdrawalResponse> {
- const withdrawInfo = await this.downloadWithdrawInfo(talerWithdrawUri);
+ const withdrawInfo = await this.getWithdrawalInfo(talerWithdrawUri);
const exchangeWire = await this.getExchangePaytoUri(
selectedExchange,
withdrawInfo.wireTypes,