Pretty print wallet database.
This commit is contained in:
parent
b2b2cd6dfc
commit
833a2cf41d
@ -58,7 +58,6 @@ function confirmReserve(db, detail, sendResponse) {
|
|||||||
let reserveRecord = {
|
let reserveRecord = {
|
||||||
reserve_pub: keypair.pub,
|
reserve_pub: keypair.pub,
|
||||||
reserve_priv: keypair.priv,
|
reserve_priv: keypair.priv,
|
||||||
keypair: keypair,
|
|
||||||
mint_base_url: detail.mint,
|
mint_base_url: detail.mint,
|
||||||
created: now,
|
created: now,
|
||||||
last_query: null,
|
last_query: null,
|
||||||
@ -76,8 +75,10 @@ function confirmReserve(db, detail, sendResponse) {
|
|||||||
let tx = db.transaction(['reserves'], 'readwrite');
|
let tx = db.transaction(['reserves'], 'readwrite');
|
||||||
tx.objectStore('reserves').add(reserveRecord);
|
tx.objectStore('reserves').add(reserveRecord);
|
||||||
tx.addEventListener('complete', (e) => {
|
tx.addEventListener('complete', (e) => {
|
||||||
console.log('tx complete');
|
console.log('tx complete, pk was ' + reserveRecord.reserve_pub);
|
||||||
sendResponse(resp);
|
sendResponse(resp);
|
||||||
|
updateReserveMints(db);
|
||||||
|
// We have to update the mints now ...
|
||||||
});
|
});
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
@ -90,6 +91,42 @@ function confirmReserve(db, detail, sendResponse) {
|
|||||||
return true;
|
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) => {
|
withTalerDb((db) => {
|
||||||
console.log("db loaded");
|
console.log("db loaded");
|
||||||
chrome.runtime.onMessage.addListener(
|
chrome.runtime.onMessage.addListener(
|
||||||
@ -100,6 +137,9 @@ withTalerDb((db) => {
|
|||||||
case "confirm-reserve":
|
case "confirm-reserve":
|
||||||
return confirmReserve(db, req.detail, onresponse)
|
return confirmReserve(db, req.detail, onresponse)
|
||||||
break;
|
break;
|
||||||
|
case "dump-db":
|
||||||
|
console.log('dumping db');
|
||||||
|
return dumpDb(db, req.detail, onresponse);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
14
extension/pages/show-db.html
Normal file
14
extension/pages/show-db.html
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
|
||||||
|
<!doctype html>
|
||||||
|
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<title>Taler Wallet: Reserve Created</title>
|
||||||
|
<link rel="stylesheet" type="text/css" href="../style/wallet.css">
|
||||||
|
<script src="show-db.js"></script>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<h1>DB Dump</h1>
|
||||||
|
<pre id="dump"></pre>
|
||||||
|
</body>
|
||||||
|
</html>
|
27
extension/pages/show-db.js
Normal file
27
extension/pages/show-db.js
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
function replacer(match, pIndent, pKey, pVal, pEnd) {
|
||||||
|
var key = '<span class=json-key>';
|
||||||
|
var val = '<span class=json-value>';
|
||||||
|
var str = '<span class=json-string>';
|
||||||
|
var r = pIndent || '';
|
||||||
|
if (pKey)
|
||||||
|
r = r + key + pKey.replace(/[": ]/g, '') + '</span>: ';
|
||||||
|
if (pVal)
|
||||||
|
r = r + (pVal[0] == '"' ? str : val) + pVal + '</span>';
|
||||||
|
return r + (pEnd || '');
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function prettyPrint(obj) {
|
||||||
|
var jsonLine = /^( *)("[\w]+": )?("[^"]*"|[\w.+-]*)?([,[{])?$/mg;
|
||||||
|
return JSON.stringify(obj, null, 3)
|
||||||
|
.replace(/&/g, '&').replace(/\\"/g, '"')
|
||||||
|
.replace(/</g, '<').replace(/>/g, '>')
|
||||||
|
.replace(jsonLine, replacer);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
document.addEventListener("DOMContentLoaded", (e) => {
|
||||||
|
chrome.runtime.sendMessage({type:'dump-db'}, (resp) => {
|
||||||
|
document.getElementById('dump').innerHTML = prettyPrint(resp);
|
||||||
|
});
|
||||||
|
});
|
@ -17,3 +17,13 @@ input.url {
|
|||||||
|
|
||||||
.formish {
|
.formish {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.json-key {
|
||||||
|
color: brown;
|
||||||
|
}
|
||||||
|
.json-value {
|
||||||
|
color: navy;
|
||||||
|
}
|
||||||
|
.json-string {
|
||||||
|
color: olive;
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user