aboutsummaryrefslogtreecommitdiff
path: root/extension/background
diff options
context:
space:
mode:
Diffstat (limited to 'extension/background')
-rw-r--r--extension/background/wallet.js44
1 files changed, 42 insertions, 2 deletions
diff --git a/extension/background/wallet.js b/extension/background/wallet.js
index 6c596899f..18b0a511c 100644
--- a/extension/background/wallet.js
+++ b/extension/background/wallet.js
@@ -58,7 +58,6 @@ function confirmReserve(db, detail, sendResponse) {
let reserveRecord = {
reserve_pub: keypair.pub,
reserve_priv: keypair.priv,
- keypair: keypair,
mint_base_url: detail.mint,
created: now,
last_query: null,
@@ -76,8 +75,10 @@ function confirmReserve(db, detail, sendResponse) {
let tx = db.transaction(['reserves'], 'readwrite');
tx.objectStore('reserves').add(reserveRecord);
tx.addEventListener('complete', (e) => {
- console.log('tx complete');
+ console.log('tx complete, pk was ' + reserveRecord.reserve_pub);
sendResponse(resp);
+ updateReserveMints(db);
+ // We have to update the mints now ...
});
break;
default:
@@ -90,6 +91,42 @@ function confirmReserve(db, detail, sendResponse) {
return true;
}
+
+/**
+ * Fetch information for mints that
+ * are referenced in a reserve and that were not
+ * updated recently.
+ */
+function updateReserveMints(db) {
+
+}
+
+
+function dumpDb(db, detail, sendResponse) {
+ let dump = {};
+ dump.name = db.name;
+ dump.version = db.version;
+ dump.stores = {};
+ console.log("stores: " + JSON.stringify(db.objectStoreNames));
+ let tx = db.transaction(db.objectStoreNames);
+ tx.addEventListener('complete', (e) => {
+ sendResponse(dump);
+ });
+ for (let i = 0; i < db.objectStoreNames.length; i++) {
+ let name = db.objectStoreNames[i];
+ let storeDump = {};
+ dump.stores[name] = storeDump;
+ let store = tx.objectStore(name).openCursor().addEventListener('success', (e) => {
+ let cursor = event.target.result;
+ if (cursor) {
+ storeDump[cursor.key] = cursor.value;
+ cursor.continue();
+ }
+ });
+ }
+ return true;
+}
+
withTalerDb((db) => {
console.log("db loaded");
chrome.runtime.onMessage.addListener(
@@ -100,6 +137,9 @@ withTalerDb((db) => {
case "confirm-reserve":
return confirmReserve(db, req.detail, onresponse)
break;
+ case "dump-db":
+ console.log('dumping db');
+ return dumpDb(db, req.detail, onresponse);
}
});
});