GasLimit check updated
This commit is contained in:
		| @@ -204,9 +204,6 @@ func (sm *BlockProcessor) processWithParent(block, parent *types.Block) (td *big | ||||
| 	// Tre receipt Trie's root (R = (Tr [[H1, R1], ... [Hn, R1]])) | ||||
| 	receiptSha := types.DeriveSha(receipts) | ||||
| 	if bytes.Compare(receiptSha, header.ReceiptHash) != 0 { | ||||
| 		fmt.Println("receipts", receipts) | ||||
| 		state.Sync() | ||||
| 		chainlogger.Infof("%s\n", state.Dump()) | ||||
| 		err = fmt.Errorf("validating receipt root. received=%x got=%x", header.ReceiptHash, receiptSha) | ||||
| 		return | ||||
| 	} | ||||
| @@ -249,9 +246,14 @@ func (sm *BlockProcessor) ValidateBlock(block, parent *types.Block) error { | ||||
| 		return fmt.Errorf("Difficulty check failed for block %v, %v", block.Header().Difficulty, expd) | ||||
| 	} | ||||
|  | ||||
| 	expl := CalcGasLimit(parent, block) | ||||
| 	if expl.Cmp(block.Header().GasLimit) != 0 { | ||||
| 		return fmt.Errorf("GasLimit check failed for block %v, %v", block.Header().GasLimit, expl) | ||||
| 	//expl := CalcGasLimit(parent, block) | ||||
| 	//if expl.Cmp(block.Header().GasLimit) != 0 { | ||||
|  | ||||
| 	// block.gasLimit - parent.gasLimit <= parent.gasLimit / 1024 | ||||
| 	a := new(big.Int).Sub(block.Header().GasLimit, parent.Header().GasLimit) | ||||
| 	b := new(big.Int).Div(parent.Header().GasLimit, big.NewInt(1024)) | ||||
| 	if a.Cmp(b) > 0 { | ||||
| 		return fmt.Errorf("GasLimit check failed for block %v", block.Header().GasLimit) | ||||
| 	} | ||||
|  | ||||
| 	if block.Time() < parent.Time() { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user