forked from cerc-io/plugeth
Adding new blocks on broadcast
This commit is contained in:
parent
07204f129e
commit
1ab865a994
@ -642,13 +642,22 @@ ApplicationWindow {
|
||||
txModel.insert(0, {inout: inout, hash: tx.hash, address: tx.address, value: tx.value, contract: isContract})
|
||||
}
|
||||
|
||||
function addBlock(block) {
|
||||
function addBlock(block, initial) {
|
||||
var txs = JSON.parse(block.transactions);
|
||||
var amount = 0
|
||||
if(initial == undefined){
|
||||
initial = false
|
||||
}
|
||||
|
||||
if(txs != null){
|
||||
amount = txs.length
|
||||
}
|
||||
blockModel.insert(0, {number: block.number, hash: block.hash, txs: txs, txAmount: amount, time: block.time, prettyTime: convertToPretty(block.time)})
|
||||
|
||||
if(initial){
|
||||
blockModel.append({number: block.number, hash: block.hash, txs: txs, txAmount: amount, time: block.time, prettyTime: convertToPretty(block.time)})
|
||||
}else{
|
||||
blockModel.insert(0, {number: block.number, hash: block.hash, txs: txs, txAmount: amount, time: block.time, prettyTime: convertToPretty(block.time)})
|
||||
}
|
||||
}
|
||||
|
||||
function addLog(str) {
|
||||
|
@ -141,7 +141,7 @@ func (gui *Gui) setInitialBlockChain() {
|
||||
blk := gui.eth.BlockChain().GetBlock(sBlk)
|
||||
for ; blk != nil; blk = gui.eth.BlockChain().GetBlock(sBlk) {
|
||||
sBlk = blk.PrevHash
|
||||
gui.processBlock(blk)
|
||||
gui.processBlock(blk, true)
|
||||
}
|
||||
}
|
||||
|
||||
@ -163,8 +163,8 @@ func (gui *Gui) readPreviousTransactions() {
|
||||
it.Release()
|
||||
}
|
||||
|
||||
func (gui *Gui) processBlock(block *ethchain.Block) {
|
||||
gui.win.Root().Call("addBlock", ethpub.NewPBlock(block))
|
||||
func (gui *Gui) processBlock(block *ethchain.Block, initial bool) {
|
||||
gui.win.Root().Call("addBlock", ethpub.NewPBlock(block), initial)
|
||||
}
|
||||
|
||||
func (gui *Gui) setWalletValue(amount, unconfirmedFunds *big.Int) {
|
||||
@ -203,6 +203,7 @@ func (gui *Gui) update() {
|
||||
select {
|
||||
case b := <-blockChan:
|
||||
block := b.Resource.(*ethchain.Block)
|
||||
gui.processBlock(block, false)
|
||||
if bytes.Compare(block.Coinbase, gui.addr) == 0 {
|
||||
gui.setWalletValue(gui.eth.StateManager().CurrentState().GetAccount(gui.addr).Amount, nil)
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user