mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-07-16 09:50:45 +00:00
skip gaslimit check on genesis block (#1968)
This commit is contained in:
parent
e39a523260
commit
b53fa6c6d9
2 changed files with 9 additions and 2 deletions
|
|
@ -347,10 +347,13 @@ func (x *XDPoS_v2) Prepare(chain consensus.ChainReader, header *types.Header) er
|
||||||
if parent == nil {
|
if parent == nil {
|
||||||
return consensus.ErrUnknownAncestor
|
return consensus.ErrUnknownAncestor
|
||||||
}
|
}
|
||||||
|
|
||||||
// Ensure gas settings are bounded
|
// Ensure gas settings are bounded
|
||||||
if err := misc.VerifyGaslimit(parent.GasLimit, header.GasLimit); err != nil {
|
err = misc.VerifyGaslimit(parent.GasLimit, header.GasLimit)
|
||||||
|
if err != nil && parent.Number.Sign() != 0 { // skip genesis block
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
if header.GasUsed > header.GasLimit {
|
if header.GasUsed > header.GasLimit {
|
||||||
return fmt.Errorf("gas used exceeded gaslimit, gas used: %d, gas limit: %d", header.GasUsed, header.GasLimit)
|
return fmt.Errorf("gas used exceeded gaslimit, gas used: %d, gas limit: %d", header.GasUsed, header.GasLimit)
|
||||||
}
|
}
|
||||||
|
|
@ -458,10 +461,13 @@ func (x *XDPoS_v2) Finalize(chain consensus.ChainReader, header *types.Header, s
|
||||||
if parentHeader == nil {
|
if parentHeader == nil {
|
||||||
return nil, consensus.ErrUnknownAncestor
|
return nil, consensus.ErrUnknownAncestor
|
||||||
}
|
}
|
||||||
|
|
||||||
// Ensure gas settings are bounded
|
// Ensure gas settings are bounded
|
||||||
if err := misc.VerifyGaslimit(parentHeader.GasLimit, header.GasLimit); err != nil {
|
err = misc.VerifyGaslimit(parentHeader.GasLimit, header.GasLimit)
|
||||||
|
if err != nil && parentHeader.Number.Sign() != 0 { // skip genesis block
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
if header.GasUsed > header.GasLimit {
|
if header.GasUsed > header.GasLimit {
|
||||||
return nil, fmt.Errorf("gas used exceeded gaslimit, gas used: %d, gas limit: %d", header.GasUsed, header.GasLimit)
|
return nil, fmt.Errorf("gas used exceeded gaslimit, gas used: %d, gas limit: %d", header.GasUsed, header.GasLimit)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -65,6 +65,7 @@ func (x *XDPoS_v2) verifyHeader(chain consensus.ChainReader, header *types.Heade
|
||||||
if err != nil && parent.Number.Sign() != 0 { // skip genesis block
|
if err != nil && parent.Number.Sign() != 0 { // skip genesis block
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
// Ensure gas used is less than or equal to gas limit
|
// Ensure gas used is less than or equal to gas limit
|
||||||
if header.GasUsed > header.GasLimit {
|
if header.GasUsed > header.GasLimit {
|
||||||
return fmt.Errorf("gas used exceeded gaslimit, gas used: %d, gas limit: %d", header.GasUsed, header.GasLimit)
|
return fmt.Errorf("gas used exceeded gaslimit, gas used: %d, gas limit: %d", header.GasUsed, header.GasLimit)
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue