|
|
@@ -285,9 +285,8 @@ func (self *BlockProcessor) GetBlockReceipts(bhash common.Hash) (receipts types.
|
|
|
|
|
|
}
|
|
|
|
|
|
-// Validates the current block. Returns an error if the block was invalid,
|
|
|
-// an uncle or anything that isn't on the current block chain.
|
|
|
-// Validation validates easy over difficult (dagger takes longer time = difficult)
|
|
|
+// See YP section 4.3.4. "Block Header Validity"
|
|
|
+// Validates a block. Returns an error if the block is invalid.
|
|
|
func (sm *BlockProcessor) ValidateHeader(block, parent *types.Header, checkPow bool) error {
|
|
|
if big.NewInt(int64(len(block.Extra))).Cmp(params.MaximumExtraDataSize) == 1 {
|
|
|
return fmt.Errorf("Block extra data too long (%d)", len(block.Extra))
|
|
|
@@ -298,7 +297,6 @@ func (sm *BlockProcessor) ValidateHeader(block, parent *types.Header, checkPow b
|
|
|
return fmt.Errorf("Difficulty check failed for block %v, %v", block.Difficulty, expd)
|
|
|
}
|
|
|
|
|
|
- // block.gasLimit - parent.gasLimit <= parent.gasLimit / GasLimitBoundDivisor
|
|
|
a := new(big.Int).Sub(block.GasLimit, parent.GasLimit)
|
|
|
a.Abs(a)
|
|
|
b := new(big.Int).Div(parent.GasLimit, params.GasLimitBoundDivisor)
|