aboutsummaryrefslogtreecommitdiffstats
path: root/cmd/mist/assets
diff options
context:
space:
mode:
authorobscuren <geffobscura@gmail.com>2014-12-22 20:23:11 +0800
committerobscuren <geffobscura@gmail.com>2014-12-22 20:23:11 +0800
commit4051c0333f43765a7414a4e0e8ac51e7148b0646 (patch)
tree87c3637424820a681b88723bc666f3d01c069e82 /cmd/mist/assets
parente42517754ac2912b6d3ca78a34b8aeadf8805906 (diff)
downloadgo-tangerine-4051c0333f43765a7414a4e0e8ac51e7148b0646.tar.gz
go-tangerine-4051c0333f43765a7414a4e0e8ac51e7148b0646.tar.zst
go-tangerine-4051c0333f43765a7414a4e0e8ac51e7148b0646.zip
Added whisper js api
Diffstat (limited to 'cmd/mist/assets')
-rw-r--r--cmd/mist/assets/qml/browser.qml40
-rw-r--r--cmd/mist/assets/qml/views/whisper.qml2
2 files changed, 36 insertions, 6 deletions
diff --git a/cmd/mist/assets/qml/browser.qml b/cmd/mist/assets/qml/browser.qml
index 26fef0377..867260507 100644
--- a/cmd/mist/assets/qml/browser.qml
+++ b/cmd/mist/assets/qml/browser.qml
@@ -59,15 +59,18 @@ Rectangle {
}
Component.onCompleted: {
- //webview.url = "http://etherian.io"
- webview.url = "file:///Users/jeffrey/test.html"
+ webview.url = "http://etherian.io"
}
signal messages(var messages, int id);
onMessages: {
// Bit of a cheat to get proper JSON
var m = JSON.parse(JSON.parse(JSON.stringify(messages)))
- webview.postEvent("messages", [m, id]);
+ webview.postEvent("messages", id, m);
+ }
+
+ function onShhMessage(message, id) {
+ webview.postEvent("shhChanged", id, message)
}
Item {
@@ -328,6 +331,33 @@ Rectangle {
require(1);
eth.uninstallFilter(data.args[0])
break;
+
+
+ case "shhNewFilter":
+ require(1);
+ var id = shh.watch(data.args[0], window);
+ postData(data._id, id);
+ break;
+
+ case "newIdentity":
+ postData(data._id, shh.newIdentity())
+ break
+
+ case "post":
+ require(1);
+ var params = data.args[0];
+ var fields = ["payload", "to", "from"];
+ for(var i = 0; i < fields.length; i++) {
+ params[fields[i]] = params[fields[i]] || "";
+ }
+ if(typeof params.payload === "object") { params.payload = params.payload.join(""); }
+ params.topics = params.topics || [];
+ params.priority = params.priority || 1000;
+ params.ttl = params.ttl || 100;
+
+ console.log(JSON.stringify(params))
+ shh.post(params.payload, params.to, params.from, params.topics, params.priority, params.ttl);
+ break;
}
} catch(e) {
console.log(data.call + ": " + e)
@@ -349,8 +379,8 @@ Rectangle {
function postData(seed, data) {
webview.experimental.postMessage(JSON.stringify({data: data, _id: seed}))
}
- function postEvent(event, data) {
- webview.experimental.postMessage(JSON.stringify({data: data, _event: event}))
+ function postEvent(event, id, data) {
+ webview.experimental.postMessage(JSON.stringify({data: data, _id: id, _event: event}))
}
function onWatchedCb(data, id) {
diff --git a/cmd/mist/assets/qml/views/whisper.qml b/cmd/mist/assets/qml/views/whisper.qml
index 80d401301..ffe391666 100644
--- a/cmd/mist/assets/qml/views/whisper.qml
+++ b/cmd/mist/assets/qml/views/whisper.qml
@@ -24,7 +24,7 @@ Rectangle {
var t = shh.watch({}, root)
}
- function onMessage(message) {
+ function onShhMessage(message, i) {
whisperModel.insert(0, {from: message.from, payload: eth.toAscii(message.payload)})
}