aboutsummaryrefslogtreecommitdiffstats
path: root/ethereal
diff options
context:
space:
mode:
authorobscuren <geffobscura@gmail.com>2014-05-14 19:55:08 +0800
committerobscuren <geffobscura@gmail.com>2014-05-14 19:55:08 +0800
commitf18ec51cb3959cc662bfc7b84314cd1d3b1541b5 (patch)
tree1c3d99407624dc791db0cb6c135bd2bd1dfc56cf /ethereal
parente8147cf7c6f508910698e6743ad347c78010ffe3 (diff)
downloaddexon-f18ec51cb3959cc662bfc7b84314cd1d3b1541b5.tar.gz
dexon-f18ec51cb3959cc662bfc7b84314cd1d3b1541b5.tar.zst
dexon-f18ec51cb3959cc662bfc7b84314cd1d3b1541b5.zip
Switched to new keyring methods
Diffstat (limited to 'ethereal')
-rw-r--r--ethereal/assets/muted/index.html1
-rw-r--r--ethereal/assets/samplecoin/samplecoin.html4
-rw-r--r--ethereal/ethereum.go15
-rw-r--r--ethereal/ui/gui.go49
-rw-r--r--ethereal/ui/library.go13
-rw-r--r--ethereal/ui/ui_lib.go2
6 files changed, 28 insertions, 56 deletions
diff --git a/ethereal/assets/muted/index.html b/ethereal/assets/muted/index.html
index 84584e373..14949b5ac 100644
--- a/ethereal/assets/muted/index.html
+++ b/ethereal/assets/muted/index.html
@@ -46,6 +46,7 @@
.CodeMirror {
height: 70%;
+ font-size: 14pt;
}
</style>
</head>
diff --git a/ethereal/assets/samplecoin/samplecoin.html b/ethereal/assets/samplecoin/samplecoin.html
index 384936780..3f8eacc00 100644
--- a/ethereal/assets/samplecoin/samplecoin.html
+++ b/ethereal/assets/samplecoin/samplecoin.html
@@ -9,7 +9,7 @@
<script type="text/javascript">
-var jefcoinAddr = "b7cb72c47ec4f31751d0d628b5a33fd6671bbba0"
+var jefcoinAddr = "681fd48ffa236549fbcd16bdf9f98bb541a7f742"
var mAddr = ""
function createTransaction() {
@@ -23,8 +23,6 @@ function createTransaction() {
}
function init() {
- eth.set({width: 500});
-
eth.getKey(function(sec) {
mAddr = sec;
eth.getSecretToAddress(sec, function(addr) {
diff --git a/ethereal/ethereum.go b/ethereal/ethereum.go
index 32c16f64f..63f907571 100644
--- a/ethereal/ethereum.go
+++ b/ethereal/ethereum.go
@@ -89,8 +89,19 @@ func main() {
}
if ExportKey {
- key := ethutil.Config.Db.GetKeys()[0]
- fmt.Printf("%x\n", key.PrivateKey)
+ keyPair := ethutil.GetKeyRing().Get(0)
+ fmt.Printf(`
+Generating new address and keypair.
+Please keep your keys somewhere save.
+
+++++++++++++++++ KeyRing +++++++++++++++++++
+addr: %x
+prvk: %x
+pubk: %x
+++++++++++++++++++++++++++++++++++++++++++++
+save these words so you can restore your account later: %s
+`, keyPair.Address(), keyPair.PrivateKey, keyPair.PublicKey)
+
os.Exit(0)
}
diff --git a/ethereal/ui/gui.go b/ethereal/ui/gui.go
index 7f84272d6..396447a81 100644
--- a/ethereal/ui/gui.go
+++ b/ethereal/ui/gui.go
@@ -42,15 +42,11 @@ func New(ethereum *eth.Ethereum) *Gui {
panic(err)
}
- data, _ := ethutil.Config.Db.Get([]byte("KeyRing"))
// On first run we won't have any keys yet, so this would crash.
// Therefor we check if we are ready to actually start this process
var addr []byte
- if len(data) > 0 {
- key := ethutil.Config.Db.GetKeys()[0]
- addr = key.Address()
-
- //ethereum.StateManager().WatchAddr(addr)
+ if ethutil.GetKeyRing().Len() != 0 {
+ addr = ethutil.GetKeyRing().Get(0).Address()
}
pub := ethpub.NewPEthereum(ethereum)
@@ -81,43 +77,6 @@ func (gui *Gui) Start(assetPath string) {
// Load the main QML interface
data, _ := ethutil.Config.Db.Get([]byte("KeyRing"))
- /*
- var err error
- var component qml.Object
- firstRun := len(data) == 0
-
- if firstRun {
- component, err = gui.engine.LoadFile(uiLib.AssetPath("qml/first_run.qml"))
- } else {
- component, err = gui.engine.LoadFile(uiLib.AssetPath("qml/wallet.qml"))
- }
- if err != nil {
- ethutil.Config.Log.Infoln("FATAL: asset not found: you can set an alternative asset path on on the command line using option 'asset_path'")
-
- panic(err)
- }
-
- gui.win = component.CreateWindow(nil)
- uiLib.win = gui.win
- db := &Debugger{gui.win, make(chan bool)}
- gui.lib.Db = db
- uiLib.Db = db
-
- // Add the ui as a log system so we can log directly to the UGI
- ethutil.Config.Log.AddLogSystem(gui)
-
- // Loads previous blocks
- if firstRun == false {
- go gui.setInitialBlockChain()
- go gui.readPreviousTransactions()
- go gui.update()
- }
-
- gui.win.Show()
- gui.win.Wait()
-
- gui.eth.Stop()
- */
var win *qml.Window
var err error
@@ -274,13 +233,13 @@ func (gui *Gui) Printf(format string, v ...interface{}) {
}
func (gui *Gui) Transact(recipient, value, gas, gasPrice, data string) (*ethpub.PReceipt, error) {
- keyPair := ethutil.Config.Db.GetKeys()[0]
+ keyPair := ethutil.GetKeyRing().Get(0)
return gui.pub.Transact(ethutil.Hex(keyPair.PrivateKey), recipient, value, gas, gasPrice, data)
}
func (gui *Gui) Create(recipient, value, gas, gasPrice, data string) (*ethpub.PReceipt, error) {
- keyPair := ethutil.Config.Db.GetKeys()[0]
+ keyPair := ethutil.GetKeyRing().Get(0)
mainInput, initInput := mutan.PreParse(data)
diff --git a/ethereal/ui/library.go b/ethereal/ui/library.go
index c889efb45..267108195 100644
--- a/ethereal/ui/library.go
+++ b/ethereal/ui/library.go
@@ -34,10 +34,13 @@ func (lib *EthLib) ImportAndSetPrivKey(privKey string) bool {
}
func (lib *EthLib) CreateAndSetPrivKey() (string, string, string, string) {
- pub, prv := secp256k1.GenerateKeyPair()
- pair := &ethutil.Key{PrivateKey: prv, PublicKey: pub}
- ethutil.Config.Db.Put([]byte("KeyRing"), pair.RlpEncode())
- mne := ethutil.MnemonicEncode(ethutil.Hex(prv))
+ _, prv := secp256k1.GenerateKeyPair()
+ keyPair, err := ethutil.GetKeyRing().NewKeyPair(prv)
+ if err != nil {
+ panic(err)
+ }
+
+ mne := ethutil.MnemonicEncode(ethutil.Hex(keyPair.PrivateKey))
mnemonicString := strings.Join(mne, " ")
- return mnemonicString, fmt.Sprintf("%x", pair.Address()), fmt.Sprintf("%x", prv), fmt.Sprintf("%x", pub)
+ return mnemonicString, fmt.Sprintf("%x", keyPair.Address()), ethutil.Hex(keyPair.PrivateKey), ethutil.Hex(keyPair.PublicKey)
}
diff --git a/ethereal/ui/ui_lib.go b/ethereal/ui/ui_lib.go
index 6736e79ae..0c43f1675 100644
--- a/ethereal/ui/ui_lib.go
+++ b/ethereal/ui/ui_lib.go
@@ -138,7 +138,7 @@ func (ui *UiLib) DebugTx(recipient, valueStr, gasStr, gasPriceStr, data string)
callerTx := ethchain.NewContractCreationTx(ethutil.Big(valueStr), ethutil.Big(gasStr), ethutil.Big(gasPriceStr), callerScript, nil)
// Contract addr as test address
- keyPair := ethutil.Config.Db.GetKeys()[0]
+ keyPair := ethutil.GetKeyRing().Get(0)
account := ui.eth.StateManager().TransState().GetStateObject(keyPair.Address())
c := ethchain.MakeContract(callerTx, state)
callerClosure := ethchain.NewClosure(account, c, c.Script(), state, ethutil.Big(gasStr), ethutil.Big(gasPriceStr))