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) { function setWalletValue(value) {
walletValueLabel.text = value //walletValueLabel.text = value
} }
function loadPlugin(name) { 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}) 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) { switch ev := ev.(type) {
case core.TxPreEvent: case core.TxPreEvent:
tx := ev.Tx gui.insertTransaction("pre", 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)
case core.TxPostEvent: case core.TxPostEvent:
tx := ev.Tx gui.getObjectByName("pendingTxView").Call("removeTx", xeth.NewTx(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)
} }
case <-peerUpdateTicker.C: case <-peerUpdateTicker.C:

Loading…
Cancel
Save