Skip to content

Commit 96327b3

Browse files
avoids panic in org resolver loop when impl is nil (#1606)
1 parent 1bb9638 commit 96327b3

File tree

2 files changed

+7
-1
lines changed

2 files changed

+7
-1
lines changed

pkg/loop/internal/core/services/capability/standard/standard_capabilities.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@ func (c *StandardCapabilitiesClient) Initialise(ctx context.Context, dependencie
6969
oracleFactory := dependencies.OracleFactory
7070
gatewayConnector := dependencies.GatewayConnector
7171
p2pKeystore := dependencies.P2PKeystore
72+
orgResolver := dependencies.OrgResolver
7273
telemetryID, telemetryRes, err := c.ServeNew("Telemetry", func(s *grpc.Server) {
7374
pb.RegisterTelemetryServer(s, telemetry.NewTelemetryServer(telemetryService))
7475
})
@@ -158,7 +159,7 @@ func (c *StandardCapabilitiesClient) Initialise(ctx context.Context, dependencie
158159
resources = append(resources, gatewayConnectorRes)
159160

160161
orgResolverID, orgResolverRes, err := c.ServeNew("OrgResolver", func(s *grpc.Server) {
161-
pb.RegisterOrgResolverServer(s, orgresolver.NewServer(dependencies.OrgResolver))
162+
pb.RegisterOrgResolverServer(s, orgresolver.NewServer(orgResolver))
162163
})
163164
if err != nil {
164165
c.CloseAll(resources...)

pkg/loop/internal/core/services/orgresolver/server.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package orgresolver
22

33
import (
44
"context"
5+
"fmt"
56

67
"github.com/smartcontractkit/chainlink-common/pkg/loop/internal/pb"
78
"github.com/smartcontractkit/chainlink-common/pkg/services/orgresolver"
@@ -19,6 +20,10 @@ func NewServer(impl orgresolver.OrgResolver) *Server {
1920
}
2021

2122
func (s *Server) Get(ctx context.Context, req *pb.GetOrganizationRequest) (*pb.GetOrganizationResponse, error) {
23+
if s.impl == nil {
24+
// Return error when orgResolver implementation is nil
25+
return nil, fmt.Errorf("orgResolver implementation is nil - service may not be configured")
26+
}
2227
orgID, err := s.impl.Get(ctx, req.Owner)
2328
if err != nil {
2429
return nil, err

0 commit comments

Comments
 (0)