From 229caf012535881cc2d33cd044e5eb4b378ac45d Mon Sep 17 00:00:00 2001 From: wanwiset25 Date: Mon, 31 Mar 2025 06:00:27 +0400 Subject: [PATCH] add limit to high resource demand api --- consensus/XDPoS/api.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/consensus/XDPoS/api.go b/consensus/XDPoS/api.go index a26b9e21a6..19caa6b97a 100644 --- a/consensus/XDPoS/api.go +++ b/consensus/XDPoS/api.go @@ -334,6 +334,9 @@ func (api *API) GetEpochNumbersBetween(begin, end *rpc.BlockNumber) ([]uint64, e if beginHeader.Number.Cmp(endHeader.Number) > 0 { return nil, errors.New("illegal begin and end block number, begin > end") } + if big.NewInt(50_000).Cmp(new(big.Int).Sub(endHeader.Number, beginHeader.Number)) < 0 { + 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