Removed mined transactions from pending view. Closes #321

pull/339/head
obscuren 10 years ago
parent 26d58e0446
commit c1474e1877
  1. 2
      cmd/mist/assets/qml/main.qml
  2. 9
      cmd/mist/assets/qml/views/pending_tx.qml
  3. 28
      cmd/mist/gui.go

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

@ -41,4 +41,13 @@ Rectangle {
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;
}
}
}
}

@ -407,34 +407,10 @@ func (gui *Gui) update() {
}
switch ev := ev.(type) {
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:
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:

Loading…
Cancel
Save