Address issue #5758. (#5762)

This commit is contained in:
Eugene Kabanov 2024-01-20 01:34:11 +02:00 committed by GitHub
parent 3ff9b69bf1
commit 10dbd773c7
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -44,6 +44,19 @@ proc validateBeaconApiQueries*(key: string, value: string): int =
else: else:
1 1
const
AllValidatorFilterKinds = {
ValidatorFilterKind.PendingInitialized,
ValidatorFilterKind.PendingQueued,
ValidatorFilterKind.ActiveOngoing,
ValidatorFilterKind.ActiveExiting,
ValidatorFilterKind.ActiveSlashed,
ValidatorFilterKind.ExitedUnslashed,
ValidatorFilterKind.ExitedSlashed,
ValidatorFilterKind.WithdrawalPossible,
ValidatorFilterKind.WithdrawalDone
}
proc validateFilter(filters: seq[ValidatorFilter]): Result[ValidatorFilter, proc validateFilter(filters: seq[ValidatorFilter]): Result[ValidatorFilter,
cstring] = cstring] =
var res: ValidatorFilter var res: ValidatorFilter
@ -51,17 +64,8 @@ proc validateFilter(filters: seq[ValidatorFilter]): Result[ValidatorFilter,
if res * item != {}: if res * item != {}:
return err("Validator status must be unique") return err("Validator status must be unique")
res.incl(item) res.incl(item)
if res == {}: if res == {}:
res = {ValidatorFilterKind.PendingInitialized, return ok(AllValidatorFilterKinds)
ValidatorFilterKind.PendingQueued,
ValidatorFilterKind.ActiveOngoing,
ValidatorFilterKind.ActiveExiting,
ValidatorFilterKind.ActiveSlashed,
ValidatorFilterKind.ExitedUnslashed,
ValidatorFilterKind.ExitedSlashed,
ValidatorFilterKind.WithdrawalPossible,
ValidatorFilterKind.WithdrawalDone}
ok(res) ok(res)
proc getStatus(validator: Validator, proc getStatus(validator: Validator,
@ -413,7 +417,7 @@ proc installBeaconApiHandlers*(router: var RestRouter, node: BeaconNode) =
Http400, InvalidRequestBodyError, $error) Http400, InvalidRequestBodyError, $error)
let let
ids = request.ids.valueOr: @[] ids = request.ids.valueOr: @[]
filter = request.status.valueOr: {} filter = request.status.valueOr: AllValidatorFilterKinds
(ids, filter) (ids, filter)
sid = state_id.valueOr: sid = state_id.valueOr:
return RestApiResponse.jsonError(Http400, InvalidStateIdValueError, return RestApiResponse.jsonError(Http400, InvalidStateIdValueError,