From ef74fbb259bf6c034f35f2584a0c78df7234ee3d Mon Sep 17 00:00:00 2001 From: Kasey Kirkham Date: Mon, 12 Jun 2023 15:44:29 -0500 Subject: [PATCH] fixup! BlobSidecarsByRoot RPC handler --- beacon-chain/sync/rpc_blob_sidecars_by_root.go | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/beacon-chain/sync/rpc_blob_sidecars_by_root.go b/beacon-chain/sync/rpc_blob_sidecars_by_root.go index 19a2dc4e133..5239308f05d 100644 --- a/beacon-chain/sync/rpc_blob_sidecars_by_root.go +++ b/beacon-chain/sync/rpc_blob_sidecars_by_root.go @@ -51,10 +51,9 @@ func (s *Service) blobSidecarByRootRPCHandler(ctx context.Context, msg interface } blobIdents := *ref - if uint64(len(blobIdents)) > params.BeaconNetworkConfig().MaxRequestBlobsSidecars { + if err := validateBlobByRootRequest(blobIdents); err != nil { s.cfg.p2p.Peers().Scorers().BadResponsesScorer().Increment(stream.Conn().RemotePeer()) - s.writeErrorResponseToStream(responseCodeInvalidRequest, types.ErrMaxBlobReqExceeded.Error(), stream) - return types.ErrMaxBlobReqExceeded + s.writeErrorResponseToStream(responseCodeInvalidRequest, err.Error(), stream) } // Sort the identifiers so that requests for the same blob root will be adjacent, minimizing db lookups. sort.Sort(blobIdents) @@ -123,3 +122,10 @@ func (s *Service) blobSidecarByRootRPCHandler(ctx context.Context, msg interface closeStream(stream, log) return nil } + +func validateBlobByRootRequest(blobIdents types.BlobSidecarsByRootReq) error { + if uint64(len(blobIdents)) > params.BeaconNetworkConfig().MaxRequestBlobsSidecars { + return types.ErrMaxBlobReqExceeded + } + return nil +}