aboutsummaryrefslogtreecommitdiffstats
path: root/ethereal
diff options
context:
space:
mode:
authorMaran <maran.hidskes@gmail.com>2014-06-04 21:54:33 +0800
committerMaran <maran.hidskes@gmail.com>2014-06-04 21:54:33 +0800
commit7843390ecd52df37a28282d76be198d5456ce385 (patch)
tree42ab782f2bbd2246481d7336c424e835004064ff /ethereal
parent307fe4a3cd4ff2d3910ed992e6e98a7cd3ca6f87 (diff)
downloaddexon-7843390ecd52df37a28282d76be198d5456ce385.tar.gz
dexon-7843390ecd52df37a28282d76be198d5456ce385.tar.zst
dexon-7843390ecd52df37a28282d76be198d5456ce385.zip
Implement getStateKeyVal for JS bindings.
Gives JS the option to 'loop' over contract key/val storage
Diffstat (limited to 'ethereal')
-rw-r--r--ethereal/assets/ext/ethereum.js4
-rw-r--r--ethereal/assets/qml/webapp.qml9
-rw-r--r--ethereal/ui/gui.go2
3 files changed, 13 insertions, 2 deletions
diff --git a/ethereal/assets/ext/ethereum.js b/ethereal/assets/ext/ethereum.js
index d4eaf97fd..c58fe24c2 100644
--- a/ethereal/assets/ext/ethereum.js
+++ b/ethereal/assets/ext/ethereum.js
@@ -32,6 +32,10 @@ window.eth = {
postData({call: "getStorage", args: [address, storageAddress]}, cb);
},
+ getStateKeyVals: function(address, cb){
+ postData({call: "getStateKeyVals", args: [address]}, cb);
+ },
+
getKey: function(cb) {
postData({call: "getKey"}, cb);
},
diff --git a/ethereal/assets/qml/webapp.qml b/ethereal/assets/qml/webapp.qml
index d3cffeeca..ec236a18c 100644
--- a/ethereal/assets/qml/webapp.qml
+++ b/ethereal/assets/qml/webapp.qml
@@ -34,7 +34,6 @@ ApplicationWindow {
top: parent.top
}
*/
-
onTitleChanged: { window.title = title }
experimental.preferences.javascriptEnabled: true
experimental.preferences.navigatorQtObjectEnabled: true
@@ -98,6 +97,12 @@ ApplicationWindow {
postData(data._seed, storage)
break
+ case "getStateKeyVals":
+ require(1);
+ var stateObject = eth.getStateObject(data.args[0]).stateKeyVal(true)
+ postData(data._seed,stateObject)
+
+ break
case "getBalance":
require(1);
@@ -188,7 +193,7 @@ ApplicationWindow {
WebView {
id: inspector
- visible: false
+ visible: true
url: webview.experimental.remoteInspectorUrl
anchors {
left: root.left
diff --git a/ethereal/ui/gui.go b/ethereal/ui/gui.go
index 9fc1abc28..4dda5017f 100644
--- a/ethereal/ui/gui.go
+++ b/ethereal/ui/gui.go
@@ -65,6 +65,8 @@ func (gui *Gui) Start(assetPath string) {
Init: func(p *ethpub.PBlock, obj qml.Object) { p.Number = 0; p.Hash = "" },
}, {
Init: func(p *ethpub.PTx, obj qml.Object) { p.Value = ""; p.Hash = ""; p.Address = "" },
+ }, {
+ Init: func(p *ethpub.KeyVal, obj qml.Object) { p.Key = ""; p.Value = "" },
}})
ethutil.Config.SetClientString(fmt.Sprintf("/Ethereal v%s", version))