limit window size

This commit is contained in:
msutton 2022-06-29 12:31:22 +03:00
parent 1bd560da51
commit a1568d8de2

View File

@ -27,6 +27,27 @@ func HandleEstimateNetworkHashesPerSecond(
} }
} }
if context.Config.SafeRPC {
const windowSizeLimit = 10000
if windowSize > windowSizeLimit {
response := &appmessage.EstimateNetworkHashesPerSecondResponseMessage{}
response.Error =
appmessage.RPCErrorf(
"Requested window size %d is larger than max allowed in RPC safe mode (%d)",
windowSize, windowSizeLimit)
return response, nil
}
}
if uint64(windowSize) > context.Config.ActiveNetParams.PruningDepth() {
response := &appmessage.EstimateNetworkHashesPerSecondResponseMessage{}
response.Error =
appmessage.RPCErrorf(
"Requested window size %d is larger than pruning point depth %d",
windowSize, context.Config.ActiveNetParams.PruningDepth())
return response, nil
}
networkHashesPerSecond, err := context.Domain.Consensus().EstimateNetworkHashesPerSecond(startHash, windowSize) networkHashesPerSecond, err := context.Domain.Consensus().EstimateNetworkHashesPerSecond(startHash, windowSize)
if err != nil { if err != nil {
response := &appmessage.EstimateNetworkHashesPerSecondResponseMessage{} response := &appmessage.EstimateNetworkHashesPerSecondResponseMessage{}