From 124af830ffbafe539418423a1cd68bba60ae902b Mon Sep 17 00:00:00 2001 From: Martin Holst Swende Date: Thu, 4 May 2017 11:29:49 +0200 Subject: [PATCH] core: fix testcase for uncle gasUsage > gasLimit : https://github.com/ethereum/tests/blob/develop/BlockchainTests/EIP150/bcUncleHeaderValiditiy.json#L986 --- consensus/ethash/consensus.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/consensus/ethash/consensus.go b/consensus/ethash/consensus.go index b7e8244cdc..f461fabd6b 100644 --- a/consensus/ethash/consensus.go +++ b/consensus/ethash/consensus.go @@ -243,10 +243,14 @@ func (ethash *Ethash) verifyHeader(chain consensus.ChainReader, header, parent * if expected.Cmp(header.Difficulty) != 0 { return fmt.Errorf("invalid difficulty: have %v, want %v", header.Difficulty, expected) } - // Verify that the gas limit is < 2^63 + // Verify that the gas limit is < 2^63-1 if header.GasLimit.Cmp(math.TT63m1) > 0{ return fmt.Errorf("invalid gasLimit: have %v, max %v", header.GasLimit, math.TT63m1) } + // Verify that the gasUsed is <= gasLimit + if header.GasUsed.Cmp(header.GasLimit) > 0{ + return fmt.Errorf("invalid gasUsed: have %v, gasLimit %v", header.GasUsed, header.GasLimit) + } // Verify that the gas limit remains within allowed bounds diff := new(big.Int).Set(parent.GasLimit)