mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-06-28 09:17:35 +00:00
Merge pull request #930 from XinFinOrg/add-api-limit
consensus/XDPoS: add limit to high resource demand api
This commit is contained in:
commit
9a00e475b4
1 changed files with 5 additions and 1 deletions
|
|
@ -324,9 +324,13 @@ func (api *API) GetEpochNumbersBetween(begin, end *rpc.BlockNumber) ([]uint64, e
|
|||
if endHeader == nil {
|
||||
return nil, errors.New("illegal end block number")
|
||||
}
|
||||
if beginHeader.Number.Cmp(endHeader.Number) > 0 {
|
||||
diff := new(big.Int).Sub(endHeader.Number, beginHeader.Number).Int64()
|
||||
if diff < 0 {
|
||||
return nil, errors.New("illegal begin and end block number, begin > end")
|
||||
}
|
||||
if diff > 50_000 {
|
||||
return nil, errors.New("block range over limit of 50,000 blocks")
|
||||
}
|
||||
epochSwitchInfos, err := api.XDPoS.GetEpochSwitchInfoBetween(api.chain, beginHeader, endHeader)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
|
|
|
|||
Loading…
Reference in a new issue