diff options
author | Maran <maran.hidskes@gmail.com> | 2014-06-04 21:54:33 +0800 |
---|---|---|
committer | Maran <maran.hidskes@gmail.com> | 2014-06-04 21:54:33 +0800 |
commit | 7843390ecd52df37a28282d76be198d5456ce385 (patch) | |
tree | 42ab782f2bbd2246481d7336c424e835004064ff /ethereal | |
parent | 307fe4a3cd4ff2d3910ed992e6e98a7cd3ca6f87 (diff) | |
download | dexon-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.js | 4 | ||||
-rw-r--r-- | ethereal/assets/qml/webapp.qml | 9 | ||||
-rw-r--r-- | ethereal/ui/gui.go | 2 |
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)) |