From ce239333d529898edd8333637fd75c565e80a9ff Mon Sep 17 00:00:00 2001 From: obscuren Date: Fri, 13 Feb 2015 18:15:23 +0100 Subject: [PATCH] Update balance label when mining --- cmd/mist/assets/qml/views/wallet.qml | 11 +++++++++++ cmd/mist/gui.go | 4 +++- core/types/block.go | 2 ++ miner/worker.go | 3 ++- 4 files changed, 18 insertions(+), 2 deletions(-) diff --git a/cmd/mist/assets/qml/views/wallet.qml b/cmd/mist/assets/qml/views/wallet.qml index 545098284..838fa8749 100644 --- a/cmd/mist/assets/qml/views/wallet.qml +++ b/cmd/mist/assets/qml/views/wallet.qml @@ -15,6 +15,17 @@ Rectangle { objectName: "walletView" anchors.fill: parent + Label { + objectName: "balanceLabel" + visible: false + font.pixelSize: 10 + anchors.right: lastBlockLabel.left + anchors.rightMargin: 5 + onTextChanged: { + menuItem.secondaryTitle = text + } + } + function onReady() { setBalance() } diff --git a/cmd/mist/gui.go b/cmd/mist/gui.go index 484cda5ff..c4ce1d463 100644 --- a/cmd/mist/gui.go +++ b/cmd/mist/gui.go @@ -412,7 +412,9 @@ func (gui *Gui) update() { switch ev := ev.(type) { case core.NewBlockEvent: gui.processBlock(ev.Block, false) - gui.setWalletValue(gui.eth.ChainManager().State().GetBalance(gui.address()), nil) + //gui.setWalletValue(gui.eth.ChainManager().State().GetBalance(gui.address()), nil) + balance := ethutil.CurrencyToString(gui.eth.ChainManager().State().GetBalance(gui.address())) + gui.getObjectByName("balanceLabel").Set("text", fmt.Sprintf("%v", balance)) case core.TxPreEvent: tx := ev.Tx diff --git a/core/types/block.go b/core/types/block.go index a334c512e..562a21239 100644 --- a/core/types/block.go +++ b/core/types/block.go @@ -6,6 +6,7 @@ import ( "math/big" "sort" "time" + "github.com/ethereum/go-ethereum/crypto" "github.com/ethereum/go-ethereum/ethutil" "github.com/ethereum/go-ethereum/rlp" @@ -175,6 +176,7 @@ func (self *Block) RlpDataForStorage() interface{} { // Header accessors (add as you need them) func (self *Block) Number() *big.Int { return self.header.Number } func (self *Block) NumberU64() uint64 { return self.header.Number.Uint64() } +func (self *Block) Nonce() []byte { return self.header.Nonce } func (self *Block) Bloom() []byte { return self.header.Bloom } func (self *Block) Coinbase() []byte { return self.header.Coinbase } func (self *Block) Time() int64 { return int64(self.header.Time) } diff --git a/miner/worker.go b/miner/worker.go index 9cb4ab76b..9244e06b9 100644 --- a/miner/worker.go +++ b/miner/worker.go @@ -127,7 +127,8 @@ out: func (self *worker) wait() { for { for work := range self.recv { - if self.current.block.Number().Uint64() == work.Number { + block := self.current.block + if block.Number().Uint64() == work.Number && block.Nonce() == nil { self.current.block.Header().Nonce = work.Nonce self.chain.InsertChain(types.Blocks{self.current.block})