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
	
	Block a user