Skip to content

Commit 60b943f

Browse files
committed
fix: Remove unnecessary version assignment in LightClientUpdates function
1 parent bceb6c1 commit 60b943f

File tree

5 files changed

+27
-20
lines changed

5 files changed

+27
-20
lines changed

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ require (
66
github.com/attestantio/go-eth2-client v0.21.9
77
github.com/chuckpreslar/emission v0.0.0-20170206194824-a7ddd980baf9
88
github.com/creasty/defaults v1.6.0
9-
github.com/ethpandaops/beacon v0.42.1-0.20241023053323-d1834c10e236
9+
github.com/ethpandaops/beacon v0.42.1-0.20241024060031-8e0b4cd9bc1f
1010
github.com/ethpandaops/ethwallclock v0.2.0
1111
github.com/go-co-op/gocron v1.18.0
1212
github.com/julienschmidt/httprouter v1.3.0

go.sum

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,8 @@ github.com/decred/dcrd/dcrec/secp256k1/v4 v4.0.1 h1:YLtO71vCjJRCBcrPMtQ9nqBsqpA1
2424
github.com/decred/dcrd/dcrec/secp256k1/v4 v4.0.1/go.mod h1:hyedUtir6IdtD/7lIxGeCxkaw7y45JueMRL4DIyJDKs=
2525
github.com/ethereum/go-ethereum v1.14.10 h1:kC24WjYeRjDy86LVo6MfF5Xs7nnUu+XG4AjaYIaZYko=
2626
github.com/ethereum/go-ethereum v1.14.10/go.mod h1:+l/fr42Mma+xBnhefL/+z11/hcmJ2egl+ScIVPjhc7E=
27-
github.com/ethpandaops/beacon v0.42.1-0.20241023053323-d1834c10e236 h1:f9W5dVimoPqaf3tuOdc6CdBr9e+Ot1hTqBRfsfurAek=
28-
github.com/ethpandaops/beacon v0.42.1-0.20241023053323-d1834c10e236/go.mod h1:hKfalJGsF4BuWPwcGCX/4fdQR31zDJVaTLWwrkfNTzw=
27+
github.com/ethpandaops/beacon v0.42.1-0.20241024060031-8e0b4cd9bc1f h1:RWIj9+8C2AW6VUXNguXgDPgXZ0UKAi52rIuO/05mq+I=
28+
github.com/ethpandaops/beacon v0.42.1-0.20241024060031-8e0b4cd9bc1f/go.mod h1:hKfalJGsF4BuWPwcGCX/4fdQR31zDJVaTLWwrkfNTzw=
2929
github.com/ethpandaops/ethwallclock v0.2.0 h1:EeFKtZ7v6TAdn/oAh0xaPujD7N4amjBxrWIByraUfLM=
3030
github.com/ethpandaops/ethwallclock v0.2.0/go.mod h1:y0Cu+mhGLlem19vnAV2x0hpFS5KZ7oOi2SWYayv9l24=
3131
github.com/fatih/color v1.10.0/go.mod h1:ELkj/draVOlAH/xkhN6mQ50Qd0MPOk5AAr3maGEBuJM=

pkg/api/handler.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -744,7 +744,7 @@ func (h *Handler) handleEthV1BeaconLightClientUpdates(ctx context.Context, r *ht
744744
return NewBadRequestResponse(nil), fmt.Errorf("invalid count: %w", err)
745745
}
746746

747-
updates, version, err := h.eth.LightClientUpdates(ctx, startPeriodInt, countInt)
747+
updates, _, err := h.eth.LightClientUpdates(ctx, startPeriodInt, countInt)
748748
if err != nil {
749749
return NewInternalServerErrorResponse(nil), err
750750
}
@@ -755,7 +755,7 @@ func (h *Handler) handleEthV1BeaconLightClientUpdates(ctx context.Context, r *ht
755755
},
756756
})
757757

758-
rsp.ExtraData["version"] = version
758+
rsp.IsMultipleResponses = true
759759

760760
return rsp, nil
761761
}

pkg/api/response.go

Lines changed: 21 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,11 @@ type ContentTypeResolver func() ([]byte, error)
1010
type ContentTypeResolvers map[ContentType]ContentTypeResolver
1111

1212
type HTTPResponse struct {
13-
resolvers ContentTypeResolvers
14-
StatusCode int `json:"status_code"`
15-
Headers map[string]string `json:"headers"`
16-
ExtraData map[string]interface{}
13+
resolvers ContentTypeResolvers
14+
StatusCode int `json:"status_code"`
15+
Headers map[string]string `json:"headers"`
16+
ExtraData map[string]interface{}
17+
IsMultipleResponses bool
1718
}
1819
type jsonResponse struct {
1920
Data json.RawMessage `json:"data"`
@@ -22,6 +23,9 @@ type jsonResponse struct {
2223
Version string `json:"version,omitempty"`
2324
}
2425

26+
// multipleJSONResponse is a wrapper for multiple json responses.
27+
type multipleJSONResponse []jsonResponse
28+
2529
func (r HTTPResponse) MarshalAs(contentType ContentType) ([]byte, error) {
2630
if _, exists := r.resolvers[contentType]; !exists {
2731
return nil, fmt.Errorf("unsupported content-type: %s", contentType.String())
@@ -31,6 +35,10 @@ func (r HTTPResponse) MarshalAs(contentType ContentType) ([]byte, error) {
3135
return r.resolvers[contentType]()
3236
}
3337

38+
if r.IsMultipleResponses {
39+
return r.buildWrappedJSONResponses()
40+
}
41+
3442
return r.buildWrappedJSONResponse()
3543
}
3644

@@ -110,3 +118,12 @@ func (r *HTTPResponse) buildWrappedJSONResponse() ([]byte, error) {
110118

111119
return json.Marshal(rsp)
112120
}
121+
122+
func (r *HTTPResponse) buildWrappedJSONResponses() ([]byte, error) {
123+
data, err := r.resolvers[ContentTypeJSON]()
124+
if err != nil {
125+
return nil, err
126+
}
127+
128+
return data, nil
129+
}

pkg/service/eth/eth.go

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -690,15 +690,5 @@ func (h *Handler) LightClientUpdates(ctx context.Context, startPeriod, count int
690690
return nil, "", err
691691
}
692692

693-
v, ok := rsp.Metadata["version"]
694-
if !ok {
695-
return nil, "", fmt.Errorf("version not found")
696-
}
697-
698-
ver, ok := v.(string)
699-
if !ok {
700-
return nil, "", fmt.Errorf("version is not a string")
701-
}
702-
703-
return rsp.Data, ver, nil
693+
return rsp.Data, "", nil
704694
}

0 commit comments

Comments
 (0)