aboutsummaryrefslogtreecommitdiff
path: root/extension/background/wallet.js
diff options
context:
space:
mode:
authorFlorian Dold <florian.dold@gmail.com>2015-12-07 23:39:25 +0100
committerFlorian Dold <florian.dold@gmail.com>2015-12-07 23:39:25 +0100
commit415570a720a7a74b2d25699a55d03403e6d6231a (patch)
tree1fb56e2adc5da40bfd7247a42b41e5cf6d9d69b0 /extension/background/wallet.js
parentaeac228df7121dada4827ac248e61ba8b1db7318 (diff)
downloadwallet-core-415570a720a7a74b2d25699a55d03403e6d6231a.tar.xz
Towards reserve creation.
Diffstat (limited to 'extension/background/wallet.js')
-rw-r--r--extension/background/wallet.js35
1 files changed, 35 insertions, 0 deletions
diff --git a/extension/background/wallet.js b/extension/background/wallet.js
index 1e8dd6a7c..2d3687f98 100644
--- a/extension/background/wallet.js
+++ b/extension/background/wallet.js
@@ -17,6 +17,8 @@ DB.open(function () {
console.log ("DB: ready");
});
+let DONE = 4;
+
chrome.runtime.onMessage.addListener(
function (req, sender, onresponse) {
console.log("Message: " + req.type +
@@ -36,5 +38,38 @@ chrome.runtime.onMessage.addListener(
case "db-list-reserves":
DB.reserve_list (onresponse);
break;
+ case "confirm-reserve":
+ console.log('detail: ' + JSON.stringify(req.detail));
+ let keypair = createEddsaKeyPair();
+ let form = new FormData();
+ form.append(req.detail.field_amount, req.detail.amount_str);
+ form.append(req.detail.field_reserve_pub, keypair.pub);
+ form.append(req.detail.field_mint, req.detail.mint);
+ // XXX: set bank-specified fields.
+ let myRequest = new XMLHttpRequest();
+ console.log("making request to " + req.detail.post_url);
+ myRequest.open('post', req.detail.post_url);
+ myRequest.send(form);
+ myRequest.addEventListener('readystatechange', (e) => {
+ if (myRequest.readyState == DONE) {
+ let resp = {};
+ resp.status = myRequest.status;
+ resp.text = myRequest.responseText;
+ switch (myRequest.status) {
+ case 200:
+ resp.success = true;
+ // We can't show the page directly, so
+ // we show some generic page from the wallet.
+ resp.backlink = chrome.extension.getURL("pages/reserve-success.html");
+ break;
+ default:
+ resp.success = false;
+ }
+ onresponse(resp);
+ }
+ });
+ // Allow async response
+ return true;
+ break;
}
});