aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeffrey Wilcke <jeffrey@ethereum.org>2015-03-31 18:41:05 +0800
committerJeffrey Wilcke <jeffrey@ethereum.org>2015-03-31 18:41:05 +0800
commit485dcf90cd4ea290cc1b6bea1c4f3135aa25cb7c (patch)
treee5a4cdeedb5149d914d955ecefe554ff8276c33f
parentf23529c5cde47f713ada745629a7bdc8e1506fa7 (diff)
parent9feed3f61ebd3875fef8355fab9f1027989c03d6 (diff)
downloaddexon-485dcf90cd4ea290cc1b6bea1c4f3135aa25cb7c.tar.gz
dexon-485dcf90cd4ea290cc1b6bea1c4f3135aa25cb7c.tar.zst
dexon-485dcf90cd4ea290cc1b6bea1c4f3135aa25cb7c.zip
Merge pull request #594 from Gustav-Simonsson/fix_block_header_gas_limit_validation
Correct gas limit validation according to new algorithm
-rw-r--r--core/block_processor.go5
1 files changed, 4 insertions, 1 deletions
diff --git a/core/block_processor.go b/core/block_processor.go
index bc3274eb5..e970ad06e 100644
--- a/core/block_processor.go
+++ b/core/block_processor.go
@@ -260,10 +260,13 @@ func (sm *BlockProcessor) ValidateHeader(block, parent *types.Header) error {
return fmt.Errorf("Difficulty check failed for block %v, %v", block.Difficulty, expd)
}
+ // TODO: use use minGasLimit and gasLimitBoundDivisor from
+ // https://github.com/ethereum/common/blob/master/params.json
// block.gasLimit - parent.gasLimit <= parent.gasLimit / 1024
a := new(big.Int).Sub(block.GasLimit, parent.GasLimit)
+ a.Abs(a)
b := new(big.Int).Div(parent.GasLimit, big.NewInt(1024))
- if a.Cmp(b) > 0 {
+ if !(a.Cmp(b) < 0) {
return fmt.Errorf("GasLimit check failed for block %v (%v > %v)", block.GasLimit, a, b)
}