aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorobscuren <geffobscura@gmail.com>2014-09-26 19:47:29 +0800
committerobscuren <geffobscura@gmail.com>2014-09-26 19:47:29 +0800
commitbd95fd770be8e6a969513a8eaddd05f3ae47c9a3 (patch)
tree498105565b63558018ff284ebf31932dbf1cf0ef
parentb8b1453392aa6a4a801b935621cb8405e6581f8a (diff)
parent2b8eae9810d67136812a4e9e9a822db47cc45a54 (diff)
downloadgo-tangerine-bd95fd770be8e6a969513a8eaddd05f3ae47c9a3.tar
go-tangerine-bd95fd770be8e6a969513a8eaddd05f3ae47c9a3.tar.gz
go-tangerine-bd95fd770be8e6a969513a8eaddd05f3ae47c9a3.tar.bz2
go-tangerine-bd95fd770be8e6a969513a8eaddd05f3ae47c9a3.tar.lz
go-tangerine-bd95fd770be8e6a969513a8eaddd05f3ae47c9a3.tar.xz
go-tangerine-bd95fd770be8e6a969513a8eaddd05f3ae47c9a3.tar.zst
go-tangerine-bd95fd770be8e6a969513a8eaddd05f3ae47c9a3.zip
Merge branch 'release/0.6.7'v0.6.7
-rw-r--r--README.md2
-rw-r--r--ethereum/main.go2
-rw-r--r--mist/assets/debugger/debugger.qml2
-rw-r--r--mist/assets/ext/html_messaging.js27
-rw-r--r--mist/assets/qml/main.qml (renamed from mist/assets/qml/wallet.qml)5
-rw-r--r--mist/assets/qml/views/info.qml41
-rw-r--r--mist/assets/qml/views/jeffcoin/jeffcoin.qml8
-rw-r--r--mist/assets/qml/views/wallet.qml4
-rw-r--r--mist/gui.go4
-rw-r--r--mist/main.go2
-rw-r--r--mist/ui_lib.go26
11 files changed, 65 insertions, 58 deletions
diff --git a/README.md b/README.md
index 85906d436..364e04c76 100644
--- a/README.md
+++ b/README.md
@@ -7,7 +7,7 @@ Status](http://cpt-obvious.ethercasts.com:8010/buildstatusimage?builder=go-ether
Ethereum Go Client © 2014 Jeffrey Wilcke.
-Current state: Proof of Concept 0.6.6.
+Current state: Proof of Concept 0.6.7.
For the development package please see the [eth-go package](https://github.com/ethereum/eth-go).
diff --git a/ethereum/main.go b/ethereum/main.go
index 8cc043a4f..6521188ff 100644
--- a/ethereum/main.go
+++ b/ethereum/main.go
@@ -13,7 +13,7 @@ import (
const (
ClientIdentifier = "Ethereum(G)"
- Version = "0.6.6"
+ Version = "0.6.7"
)
var logger = ethlog.NewLogger("CLI")
diff --git a/mist/assets/debugger/debugger.qml b/mist/assets/debugger/debugger.qml
index 8d54b5b5d..b30d20e6b 100644
--- a/mist/assets/debugger/debugger.qml
+++ b/mist/assets/debugger/debugger.qml
@@ -357,7 +357,7 @@ ApplicationWindow {
anchors.right: parent.right
model: ListModel {
ListElement { text: "Snippets" ; value: "" }
- ListElement { text: "Call Contract" ; value: "var[2] in;\nvar ret;\n\nin[0] = \"arg1\"\nin[1] = 0xdeadbeef\n\nvar success = call(0x0c542ddea93dae0c2fcb2cf175f03ad80d6be9a0, 0, 7000, in, ret)\n\nreturn ret" }
+ ListElement { text: "Call Contract" ; value: "var[2] in = { \"arg1\", 0xdeadbeef };\nvar ret;\n\nvar success = call(0x0c542ddea93dae0c2fcb2cf175f03ad80d6be9a0, 0, 7000, in, ret)\n\nreturn ret" }
}
onCurrentIndexChanged: {
if(currentIndex != 0) {
diff --git a/mist/assets/ext/html_messaging.js b/mist/assets/ext/html_messaging.js
index efb950b4b..1f9418148 100644
--- a/mist/assets/ext/html_messaging.js
+++ b/mist/assets/ext/html_messaging.js
@@ -92,19 +92,19 @@
promises.push(params.from.then(function(_from) { params.from = _from; }));
}
- if(isPromise(params.data)) {
- promises.push(params.data.then(function(_code) { params.data = _code; }));
- } else {
- if(typeof params.data === "object") {
- data = "";
- for(var i = 0; i < params.data.length; i++) {
- data += params.data[i]
- }
- } else {
- data = params.data;
- }
- }
-
+ if(typeof params.data !== "object" || isPromise(params.data)) {
+ params.data = [params.data]
+ }
+
+ var data = params.data;
+ for(var i = 0; i < params.data.length; i++) {
+ if(isPromise(params.data[i])) {
+ var promise = params.data[i];
+ var _i = i;
+ promises.push(promise.then(function(_arg) { params.data[_i] = _arg; }));
+ }
+ }
+
// Make sure everything is string
var fields = ["value", "gas", "gasPrice"];
for(var i = 0; i < fields.length; i++) {
@@ -117,6 +117,7 @@
// Load promises then call the last "transact".
return Q.all(promises).then(function() {
return new Promise(function(resolve, reject) {
+ params.data = params.data.join("");
postData({call: "transact", args: params}, function(data) {
if(data[1])
reject(data[0]);
diff --git a/mist/assets/qml/wallet.qml b/mist/assets/qml/main.qml
index 885d09116..0ee063f17 100644
--- a/mist/assets/qml/wallet.qml
+++ b/mist/assets/qml/main.qml
@@ -739,7 +739,7 @@ ApplicationWindow {
function addPeer(peer) {
// We could just append the whole peer object but it cries if you try to alter them
- peerModel.append({ip: peer.ip, port: peer.port, lastResponse:timeAgo(peer.lastSend), latency: peer.latency, version: peer.version})
+ peerModel.append({ip: peer.ip, port: peer.port, lastResponse:timeAgo(peer.lastSend), latency: peer.latency, version: peer.version, caps: peer.caps})
}
function resetPeers(){
@@ -782,10 +782,11 @@ ApplicationWindow {
id: peerTable
model: peerModel
TableViewColumn{width: 100; role: "ip" ; title: "IP" }
- TableViewColumn{width: 60; role: "port" ; title: "Port" }
+ TableViewColumn{width: 60; role: "port" ; title: "Port" }
TableViewColumn{width: 140; role: "lastResponse"; title: "Last event" }
TableViewColumn{width: 100; role: "latency"; title: "Latency" }
TableViewColumn{width: 260; role: "version" ; title: "Version" }
+ TableViewColumn{width: 80; role: "caps" ; title: "Capabilities" }
}
}
}
diff --git a/mist/assets/qml/views/info.qml b/mist/assets/qml/views/info.qml
index 8a1d4d84a..158e2c960 100644
--- a/mist/assets/qml/views/info.qml
+++ b/mist/assets/qml/views/info.qml
@@ -121,40 +121,7 @@ Rectangle {
}
}
- Slider {
- id: logLevelSlider
- value: gui.getLogLevelInt()
- anchors {
- right: parent.right
- top: parent.top
- bottom: parent.bottom
-
- rightMargin: 5
- leftMargin: 5
- topMargin: 5
- bottomMargin: 5
- }
-
- orientation: Qt.Vertical
- maximumValue: 5
- stepSize: 1
-
- onValueChanged: {
- gui.setLogLevel(value)
- }
- }
- }
-
- property var logModel: ListModel {
- id: logModel
- }
-
- /*
- RowLayout {
- id: logLayout
- width: parent.width
- height: 200
- anchors.bottom: parent.bottom
+ /*
TableView {
id: logView
headerVisible: false
@@ -169,6 +136,7 @@ Rectangle {
model: logModel
}
+ */
Slider {
id: logLevelSlider
@@ -193,7 +161,10 @@ Rectangle {
}
}
}
- */
+
+ property var logModel: ListModel {
+ id: logModel
+ }
function addDebugMessage(message){
debuggerLog.append({value: message})
diff --git a/mist/assets/qml/views/jeffcoin/jeffcoin.qml b/mist/assets/qml/views/jeffcoin/jeffcoin.qml
index 6506b53b8..23502d334 100644
--- a/mist/assets/qml/views/jeffcoin/jeffcoin.qml
+++ b/mist/assets/qml/views/jeffcoin/jeffcoin.qml
@@ -22,6 +22,8 @@ Rectangle {
var me = eth.key().address;
if((to == me|| from == me) && message.input.length == 128) {
+ var to = eth.lookupName(to)
+ var from = eth.lookupName(from)
txModel.insert(0, {confirmations: blockNumber - message.number, from: from, to: to, value: value})
}
}
@@ -151,7 +153,11 @@ Rectangle {
Button {
text: "Send"
onClicked: {
- eth.transact({from: eth.key().privateKey, to:address, gas: "9000", gasPrice: "10000000000000", data: ["0x"+txTo.text, txValue.text]})
+ var lookup = eth.lookupAddress(address)
+ if(lookup.length == 0)
+ lookup = address
+
+ eth.transact({from: eth.key().privateKey, to:lookup, gas: "9000", gasPrice: "10000000000000", data: ["0x"+txTo.text, txValue.text]})
}
}
}
diff --git a/mist/assets/qml/views/wallet.qml b/mist/assets/qml/views/wallet.qml
index a3a4a6e7c..a57e7869a 100644
--- a/mist/assets/qml/views/wallet.qml
+++ b/mist/assets/qml/views/wallet.qml
@@ -160,7 +160,9 @@ Rectangle {
function addTxs(messages) {
for(var i = 0; i < messages.length; i++) {
var message = messages.get(i);
- txModel.insert(0, {num: txModel.count, from: message.from, to: message.to, value: eth.numberToHuman(message.value)})
+ var to = eth.lookupName(message.to);
+ var from = eth.lookupName(message.from);
+ txModel.insert(0, {num: txModel.count, from: from, to: to, value: eth.numberToHuman(message.value)})
}
}
}
diff --git a/mist/gui.go b/mist/gui.go
index 299a441c0..45ef66624 100644
--- a/mist/gui.go
+++ b/mist/gui.go
@@ -172,7 +172,7 @@ func (gui *Gui) Stop() {
}
func (gui *Gui) showWallet(context *qml.Context) (*qml.Window, error) {
- component, err := gui.engine.LoadFile(gui.uiLib.AssetPath("qml/wallet.qml"))
+ component, err := gui.engine.LoadFile(gui.uiLib.AssetPath("qml/main.qml"))
if err != nil {
return nil, err
}
@@ -500,7 +500,7 @@ func (gui *Gui) setStatsPane() {
runtime.ReadMemStats(&memStats)
statsPane := gui.getObjectByName("statsPane")
- statsPane.Set("text", fmt.Sprintf(`###### Mist 0.6.5 (%s) #######
+ statsPane.Set("text", fmt.Sprintf(`###### Mist 0.6.7 (%s) #######
eth %d (p2p = %d)
diff --git a/mist/main.go b/mist/main.go
index 094246c1a..6e4554352 100644
--- a/mist/main.go
+++ b/mist/main.go
@@ -12,7 +12,7 @@ import (
const (
ClientIdentifier = "Mist"
- Version = "0.6.6"
+ Version = "0.6.7"
)
var ethereum *eth.Ethereum
diff --git a/mist/ui_lib.go b/mist/ui_lib.go
index e1963aa86..e77336c90 100644
--- a/mist/ui_lib.go
+++ b/mist/ui_lib.go
@@ -71,6 +71,32 @@ func (self *UiLib) LookupDomain(domain string) string {
}
}
+func (self *UiLib) LookupName(addr string) string {
+ var (
+ nameReg = self.World().Config().Get("NameReg")
+ lookup = nameReg.Storage(ethutil.Hex2Bytes(addr))
+ )
+
+ if lookup.Len() != 0 {
+ return strings.Trim(lookup.Str(), "\x00")
+ }
+
+ return addr
+}
+
+func (self *UiLib) LookupAddress(name string) string {
+ var (
+ nameReg = self.World().Config().Get("NameReg")
+ lookup = nameReg.Storage(ethutil.RightPadBytes([]byte(name), 32))
+ )
+
+ if lookup.Len() != 0 {
+ return ethutil.Bytes2Hex(lookup.Bytes())
+ }
+
+ return ""
+}
+
func (self *UiLib) PastPeers() *ethutil.List {
return ethutil.NewList(eth.PastPeers())
}