浏览代码

Removed mined transactions from pending view. Closes #321

obscuren 10 年之前
父节点
当前提交
c1474e1877
共有 3 个文件被更改,包括 12 次插入27 次删除
  1. 1 1
      cmd/mist/assets/qml/main.qml
  2. 9 0
      cmd/mist/assets/qml/views/pending_tx.qml
  3. 2 26
      cmd/mist/gui.go

+ 1 - 1
cmd/mist/assets/qml/main.qml

@@ -876,7 +876,7 @@ ApplicationWindow {
         }
         }
 
 
         function setWalletValue(value) {
         function setWalletValue(value) {
-            walletValueLabel.text = value
+            //walletValueLabel.text = value
         }
         }
 
 
         function loadPlugin(name) {
         function loadPlugin(name) {

+ 9 - 0
cmd/mist/assets/qml/views/pending_tx.qml

@@ -41,4 +41,13 @@ Rectangle {
 
 
 		pendingTxModel.insert(0, {hash: tx.hash, to: tx.address, from: tx.sender, value: tx.value, contract: isContract})
 		pendingTxModel.insert(0, {hash: tx.hash, to: tx.address, from: tx.sender, value: tx.value, contract: isContract})
 	}
 	}
+
+	function removeTx(tx) {
+		for (var i = 0; i < pendingTxModel.count; i++) {
+			if (tx.hash === pendingTxModel.get(i).hash) {
+				pendingTxModel.remove(i);
+				break;
+			}
+		}
+	}
 }
 }

+ 2 - 26
cmd/mist/gui.go

@@ -407,34 +407,10 @@ func (gui *Gui) update() {
 			}
 			}
 			switch ev := ev.(type) {
 			switch ev := ev.(type) {
 			case core.TxPreEvent:
 			case core.TxPreEvent:
-				tx := ev.Tx
-
-				tstate := gui.eth.ChainManager().TransState()
-				cstate := gui.eth.ChainManager().State()
-
-				taccount := tstate.GetAccount(gui.address())
-				caccount := cstate.GetAccount(gui.address())
-				unconfirmedFunds := new(big.Int).Sub(taccount.Balance(), caccount.Balance())
-
-				gui.setWalletValue(taccount.Balance(), unconfirmedFunds)
-				gui.insertTransaction("pre", tx)
+				gui.insertTransaction("pre", ev.Tx)
 
 
 			case core.TxPostEvent:
 			case core.TxPostEvent:
-				tx := ev.Tx
-				object := state.GetAccount(gui.address())
-
-				if bytes.Compare(tx.From(), gui.address()) == 0 {
-					object.SubAmount(tx.Value())
-
-					gui.txDb.Put(tx.Hash(), tx.RlpEncode())
-				} else if bytes.Compare(tx.To(), gui.address()) == 0 {
-					object.AddAmount(tx.Value())
-
-					gui.txDb.Put(tx.Hash(), tx.RlpEncode())
-				}
-
-				gui.setWalletValue(object.Balance(), nil)
-				state.UpdateStateObject(object)
+				gui.getObjectByName("pendingTxView").Call("removeTx", xeth.NewTx(ev.Tx))
 			}
 			}
 
 
 		case <-peerUpdateTicker.C:
 		case <-peerUpdateTicker.C: