aboutsummaryrefslogtreecommitdiffstats
path: root/cmd
diff options
context:
space:
mode:
authorGustav Simonsson <gustav.simonsson@gmail.com>2015-02-26 20:22:09 +0800
committerFelix Lange <fjl@twurst.com>2015-03-06 21:10:42 +0800
commitbc45e5c6de3052a4c853387dea0af5cd9207f1f7 (patch)
tree3230b89b3bf25eaf53e1b3b164cb72e89d8c4398 /cmd
parente64f727529287b7414af6d1f482ea5f318cbd2eb (diff)
downloaddexon-bc45e5c6de3052a4c853387dea0af5cd9207f1f7.tar
dexon-bc45e5c6de3052a4c853387dea0af5cd9207f1f7.tar.gz
dexon-bc45e5c6de3052a4c853387dea0af5cd9207f1f7.tar.bz2
dexon-bc45e5c6de3052a4c853387dea0af5cd9207f1f7.tar.lz
dexon-bc45e5c6de3052a4c853387dea0af5cd9207f1f7.tar.xz
dexon-bc45e5c6de3052a4c853387dea0af5cd9207f1f7.tar.zst
dexon-bc45e5c6de3052a4c853387dea0af5cd9207f1f7.zip
Integrate eth_accounts and eth_transact to use new account manager
* Add from to eth_transact / xeth.Transact and add static pass in lieu of integrating with native Mist window for user passphrase entry * Make eth_accounts return AccountManager.Accounts() * Add a Generate Key menu item in Mist
Diffstat (limited to 'cmd')
-rw-r--r--cmd/mist/assets/qml/main.qml5
-rw-r--r--cmd/mist/bindings.go4
-rw-r--r--cmd/mist/gui.go7
-rw-r--r--cmd/mist/ui_lib.go1
4 files changed, 15 insertions, 2 deletions
diff --git a/cmd/mist/assets/qml/main.qml b/cmd/mist/assets/qml/main.qml
index f9ee6939d..7f72d35f4 100644
--- a/cmd/mist/assets/qml/main.qml
+++ b/cmd/mist/assets/qml/main.qml
@@ -190,6 +190,11 @@ ApplicationWindow {
}
}
+ MenuItem {
+ text: "Generate key"
+ shortcut: "Ctrl+k"
+ onTriggered: gui.generateKey()
+ }
}
Menu {
diff --git a/cmd/mist/bindings.go b/cmd/mist/bindings.go
index f21aa3135..fd89eb7e2 100644
--- a/cmd/mist/bindings.go
+++ b/cmd/mist/bindings.go
@@ -49,7 +49,7 @@ func (gui *Gui) LogPrint(level logger.LogLevel, msg string) {
}
*/
}
-func (gui *Gui) Transact(recipient, value, gas, gasPrice, d string) (string, error) {
+func (gui *Gui) Transact(from, recipient, value, gas, gasPrice, d string) (string, error) {
var data string
if len(recipient) == 0 {
code, err := ethutil.Compile(d, false)
@@ -61,7 +61,7 @@ func (gui *Gui) Transact(recipient, value, gas, gasPrice, d string) (string, err
data = ethutil.Bytes2Hex(utils.FormatTransactionData(d))
}
- return gui.xeth.Transact(recipient, value, gas, gasPrice, data)
+ return gui.xeth.Transact(from, recipient, value, gas, gasPrice, data)
}
// functions that allow Gui to implement interface guilogger.LogSystem
diff --git a/cmd/mist/gui.go b/cmd/mist/gui.go
index 869b689dd..bc6e9ed53 100644
--- a/cmd/mist/gui.go
+++ b/cmd/mist/gui.go
@@ -175,6 +175,13 @@ func (gui *Gui) showWallet(context *qml.Context) (*qml.Window, error) {
func (gui *Gui) ImportKey(filePath string) {
}
+func (gui *Gui) GenerateKey() {
+ _, err := gui.eth.AccountManager().NewAccount("hurr")
+ if err != nil {
+ // TODO: UI feedback?
+ }
+}
+
func (gui *Gui) showKeyImport(context *qml.Context) (*qml.Window, error) {
context.SetVar("lib", gui)
component, err := gui.engine.LoadFile(gui.uiLib.AssetPath("qml/first_run.qml"))
diff --git a/cmd/mist/ui_lib.go b/cmd/mist/ui_lib.go
index 098e8fca5..af78f0c10 100644
--- a/cmd/mist/ui_lib.go
+++ b/cmd/mist/ui_lib.go
@@ -171,6 +171,7 @@ func (self *UiLib) Transact(params map[string]interface{}) (string, error) {
object := mapToTxParams(params)
return self.XEth.Transact(
+ object["from"],
object["to"],
object["value"],
object["gas"],