mirror of https://github.com/status-im/op-geth.git
Bloom validation
This commit is contained in:
parent
f59a3b67f6
commit
f4b717cb9d
|
@ -3,6 +3,7 @@ package chain
|
|||
import (
|
||||
"bytes"
|
||||
"container/list"
|
||||
"errors"
|
||||
"fmt"
|
||||
"math/big"
|
||||
"os"
|
||||
|
@ -168,7 +169,6 @@ done:
|
|||
erroneous = append(erroneous, tx)
|
||||
err = nil
|
||||
continue
|
||||
//return nil, nil, nil, err
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -177,7 +177,6 @@ done:
|
|||
|
||||
txGas.Sub(txGas, st.gas)
|
||||
cumulative := new(big.Int).Set(totalUsedGas.Add(totalUsedGas, txGas))
|
||||
//receipt := &Receipt{tx, ethutil.CopyBytes(state.Root().([]byte)), accumelative}
|
||||
receipt := &Receipt{ethutil.CopyBytes(state.Root().([]byte)), cumulative, LogsBloom(state.Logs()).Bytes(), state.Logs()}
|
||||
|
||||
if i < len(block.Receipts()) {
|
||||
|
@ -254,8 +253,6 @@ func (sm *BlockManager) Process(block *Block) (err error) {
|
|||
return fmt.Errorf("Error validating receipt sha. Received %x, got %x", block.ReceiptSha, receiptSha)
|
||||
}
|
||||
|
||||
// TODO validate bloom
|
||||
|
||||
// Block validation
|
||||
if err = sm.ValidateBlock(block); err != nil {
|
||||
statelogger.Errorln("Error validating block:", err)
|
||||
|
@ -267,6 +264,10 @@ func (sm *BlockManager) Process(block *Block) (err error) {
|
|||
return err
|
||||
}
|
||||
|
||||
if bytes.Compare(CreateBloom(block), block.LogsBloom) != 0 {
|
||||
return errors.New("Unable to replicate block's bloom")
|
||||
}
|
||||
|
||||
state.Update()
|
||||
|
||||
if !block.State().Cmp(state) {
|
||||
|
|
Loading…
Reference in New Issue