Skip to content

Commit 77fd4f1

Browse files
updating standard capabilities interface (#19768)
* updating standard capabilities interface * bumping go mod
1 parent e478a40 commit 77fd4f1

24 files changed

Lines changed: 96 additions & 106 deletions

File tree

core/capabilities/fakes/consensus_nodag.go

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -154,15 +154,7 @@ func (fc *fakeConsensusNoDAG) Description() string {
154154

155155
func (fc *fakeConsensusNoDAG) Initialise(
156156
_ context.Context,
157-
_ string,
158-
_ core.TelemetryService,
159-
_ core.KeyValueStore,
160-
_ core.ErrorLog,
161-
_ core.PipelineRunnerService,
162-
_ core.RelayerSet,
163-
_ core.OracleFactory,
164-
_ core.GatewayConnector,
165-
_ core.Keystore,
157+
_ core.StandardCapabilitiesDependencies,
166158
) error {
167159
return nil
168160
}

core/capabilities/fakes/evm_chain.go

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -85,14 +85,7 @@ func NewFakeEvmChain(
8585
return fc
8686
}
8787

88-
func (fc *FakeEVMChain) Initialise(ctx context.Context, config string, _ core.TelemetryService,
89-
_ core.KeyValueStore,
90-
_ core.ErrorLog,
91-
_ core.PipelineRunnerService,
92-
_ core.RelayerSet,
93-
_ core.OracleFactory,
94-
_ core.GatewayConnector,
95-
_ core.Keystore) error {
88+
func (fc *FakeEVMChain) Initialise(ctx context.Context, dependencies core.StandardCapabilitiesDependencies) error {
9689
// TODO: do validation of config here
9790

9891
err := fc.Start(ctx)

core/capabilities/fakes/http_action.go

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -147,14 +147,7 @@ func (fh *DirectHTTPAction) Description() string {
147147
return directHTTPActionInfo.Description
148148
}
149149

150-
func (fh *DirectHTTPAction) Initialise(ctx context.Context, config string, _ core.TelemetryService,
151-
_ core.KeyValueStore,
152-
_ core.ErrorLog,
153-
_ core.PipelineRunnerService,
154-
_ core.RelayerSet,
155-
_ core.OracleFactory,
156-
_ core.GatewayConnector,
157-
_ core.Keystore) error {
150+
func (fh *DirectHTTPAction) Initialise(ctx context.Context, dependencies core.StandardCapabilitiesDependencies) error {
158151
// TODO: do validation of config here
159152

160153
err := fh.Start(ctx)

core/capabilities/fakes/manual_cron_trigger.go

Lines changed: 4 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -57,21 +57,14 @@ func NewManualCronTriggerService(parentLggr logger.Logger) *ManualCronTriggerSer
5757
}
5858
}
5959

60-
func (f *ManualCronTriggerService) Initialise(ctx context.Context, config string, _ core.TelemetryService,
61-
_ core.KeyValueStore,
62-
_ core.ErrorLog,
63-
_ core.PipelineRunnerService,
64-
_ core.RelayerSet,
65-
_ core.OracleFactory,
66-
_ core.GatewayConnector,
67-
_ core.Keystore) error {
60+
func (f *ManualCronTriggerService) Initialise(ctx context.Context, dependencies core.StandardCapabilitiesDependencies) error {
6861
f.lggr.Debugf("Initialising %s", ServiceName)
6962

7063
var cronConfig ManualCronConfig
71-
if len(config) > 0 {
72-
err := json.Unmarshal([]byte(config), &cronConfig)
64+
if len(dependencies.Config) > 0 {
65+
err := json.Unmarshal([]byte(dependencies.Config), &cronConfig)
7366
if err != nil {
74-
return fmt.Errorf("failed to unmarshal config: %s %w", config, err)
67+
return fmt.Errorf("failed to unmarshal config: %s %w", dependencies.Config, err)
7568
}
7669
}
7770

core/capabilities/fakes/manual_http_trigger.go

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -54,15 +54,7 @@ func (f *ManualHTTPTriggerService) UnregisterTrigger(ctx context.Context, trigge
5454
return nil
5555
}
5656

57-
func (f *ManualHTTPTriggerService) Initialise(ctx context.Context, config string,
58-
_ core.TelemetryService,
59-
_ core.KeyValueStore,
60-
_ core.ErrorLog,
61-
_ core.PipelineRunnerService,
62-
_ core.RelayerSet,
63-
_ core.OracleFactory,
64-
_ core.GatewayConnector,
65-
_ core.Keystore) error {
57+
func (f *ManualHTTPTriggerService) Initialise(ctx context.Context, dependencies core.StandardCapabilitiesDependencies) error {
6658
f.lggr.Debugf("Initialising %s", HTTPTriggerServiceName)
6759
return f.Start(ctx)
6860
}

core/scripts/go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ require (
4747
github.com/shopspring/decimal v1.4.0
4848
github.com/smartcontractkit/chainlink-automation v0.8.1
4949
github.com/smartcontractkit/chainlink-ccip v0.1.1-solana.0.20251006204220-06f2720ee9a0
50-
github.com/smartcontractkit/chainlink-common v0.9.6-0.20251007140624-a242e4bbd3dc
50+
github.com/smartcontractkit/chainlink-common v0.9.6-0.20251007200533-32ee550b9b37
5151
github.com/smartcontractkit/chainlink-data-streams v0.1.5
5252
github.com/smartcontractkit/chainlink-deployments-framework v0.54.0
5353
github.com/smartcontractkit/chainlink-evm v0.3.4-0.20251007172225-ba2f4b5ef962

core/scripts/go.sum

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1599,8 +1599,8 @@ github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20250912190424-f
15991599
github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20250912190424-fd2e35d7deb5/go.mod h1:Ve1xD71bl193YIZQEoJMmBqLGQJdNs29bwbuObwvbhQ=
16001600
github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings v0.0.0-20250912190424-fd2e35d7deb5 h1:Z4t2ZY+ZyGWxtcXvPr11y4o3CGqhg3frJB5jXkCSvWA=
16011601
github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings v0.0.0-20250912190424-fd2e35d7deb5/go.mod h1:xtZNi6pOKdC3sLvokDvXOhgHzT+cyBqH/gWwvxTxqrg=
1602-
github.com/smartcontractkit/chainlink-common v0.9.6-0.20251007140624-a242e4bbd3dc h1:6mfaXVqIxIp+yl41VLQZmEBhvIkXF+kRqnLI8tQLdmE=
1603-
github.com/smartcontractkit/chainlink-common v0.9.6-0.20251007140624-a242e4bbd3dc/go.mod h1:37kbNkl7i8GIVDX7ScdzxQCMGFYkaL6cX+P1wRG4D4U=
1602+
github.com/smartcontractkit/chainlink-common v0.9.6-0.20251007200533-32ee550b9b37 h1:20has9qym6hsGIXY/LnfiulB1ABv9wpsZwkpuZoevPk=
1603+
github.com/smartcontractkit/chainlink-common v0.9.6-0.20251007200533-32ee550b9b37/go.mod h1:37kbNkl7i8GIVDX7ScdzxQCMGFYkaL6cX+P1wRG4D4U=
16041604
github.com/smartcontractkit/chainlink-common/pkg/chipingress v0.0.4 h1:hvqATtrZ0iMRTI80cpBot/3JFbjz2j+2tvpfooVhRHw=
16051605
github.com/smartcontractkit/chainlink-common/pkg/chipingress v0.0.4/go.mod h1:eKGyfTKzr0/PeR7qKN4l2FcW9p+HzyKUwAfGhm/5YZc=
16061606
github.com/smartcontractkit/chainlink-common/pkg/monitoring v0.0.0-20250415235644-8703639403c7 h1:9wh1G+WbXwPVqf0cfSRSgwIcaXTQgvYezylEAfwmrbw=

core/services/standardcapabilities/delegate.go

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -304,8 +304,19 @@ func (d *Delegate) ServicesForSpec(ctx context.Context, spec job.Job) ([]job.Ser
304304
return services, nil
305305
}
306306

307-
standardCapability := NewStandardCapabilities(log, spec.StandardCapabilitiesSpec, d.cfg, telemetryService, kvStore, d.registry, errorLog,
308-
pr, relayerSet, oracleFactory, connector, ks)
307+
dependencies := core.StandardCapabilitiesDependencies{
308+
Config: spec.StandardCapabilitiesSpec.Config,
309+
TelemetryService: telemetryService,
310+
Store: kvStore,
311+
CapabilityRegistry: d.registry,
312+
ErrorLog: errorLog,
313+
PipelineRunner: pr,
314+
RelayerSet: relayerSet,
315+
OracleFactory: oracleFactory,
316+
GatewayConnector: connector,
317+
P2PKeystore: ks,
318+
}
319+
standardCapability := NewStandardCapabilities(log, spec.StandardCapabilitiesSpec, d.cfg, dependencies)
309320

310321
return []job.ServiceCtx{standardCapability}, nil
311322
}

core/services/standardcapabilities/standard_capabilities.go

Lines changed: 23 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -49,29 +49,21 @@ func NewStandardCapabilities(
4949
log logger.Logger,
5050
spec *job.StandardCapabilitiesSpec,
5151
pluginRegistrar plugins.RegistrarConfig,
52-
telemetryService core.TelemetryService,
53-
store core.KeyValueStore,
54-
CapabilitiesRegistry core.CapabilitiesRegistry,
55-
errorLog core.ErrorLog,
56-
pipelineRunner core.PipelineRunnerService,
57-
relayerSet core.RelayerSet,
58-
oracleFactory core.OracleFactory,
59-
gatewayConnector core.GatewayConnector,
60-
keystore core.Keystore,
52+
dependencies core.StandardCapabilitiesDependencies,
6153
) *StandardCapabilities {
6254
return &StandardCapabilities{
6355
log: log,
6456
spec: spec,
6557
pluginRegistrar: pluginRegistrar,
66-
telemetryService: telemetryService,
67-
store: store,
68-
CapabilitiesRegistry: CapabilitiesRegistry,
69-
errorLog: errorLog,
70-
pipelineRunner: pipelineRunner,
71-
relayerSet: relayerSet,
72-
oracleFactory: oracleFactory,
73-
gatewayConnector: gatewayConnector,
74-
keystore: keystore,
58+
telemetryService: dependencies.TelemetryService,
59+
store: dependencies.Store,
60+
CapabilitiesRegistry: dependencies.CapabilityRegistry,
61+
errorLog: dependencies.ErrorLog,
62+
pipelineRunner: dependencies.PipelineRunner,
63+
relayerSet: dependencies.RelayerSet,
64+
oracleFactory: dependencies.OracleFactory,
65+
gatewayConnector: dependencies.GatewayConnector,
66+
keystore: dependencies.P2PKeystore,
7567
stopChan: make(chan struct{}),
7668
readyChan: make(chan struct{}),
7769
}
@@ -112,8 +104,19 @@ func (s *StandardCapabilities) Start(ctx context.Context) error {
112104
return
113105
}
114106

115-
if err = s.capabilitiesLoop.Service.Initialise(cctx, s.spec.Config, s.telemetryService, s.store, s.CapabilitiesRegistry, s.errorLog,
116-
s.pipelineRunner, s.relayerSet, s.oracleFactory, s.gatewayConnector, s.keystore); err != nil {
107+
dependencies := core.StandardCapabilitiesDependencies{
108+
Config: s.spec.Config,
109+
TelemetryService: s.telemetryService,
110+
Store: s.store,
111+
CapabilityRegistry: s.CapabilitiesRegistry,
112+
ErrorLog: s.errorLog,
113+
PipelineRunner: s.pipelineRunner,
114+
RelayerSet: s.relayerSet,
115+
OracleFactory: s.oracleFactory,
116+
GatewayConnector: s.gatewayConnector,
117+
P2PKeystore: s.keystore,
118+
}
119+
if err = s.capabilitiesLoop.Service.Initialise(cctx, dependencies); err != nil {
117120
s.log.Errorf("error initialising standard capabilities service: %v", err)
118121
return
119122
}

core/services/standardcapabilities/standard_capabilities_test.go

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,19 @@ func TestStandardCapabilityStart(t *testing.T) {
3939
ChainID: "31337",
4040
}}
4141

42-
standardCapability := NewStandardCapabilities(lggr, spec, pluginRegistrar, &telemetryServiceMock{}, &kvstoreMock{}, registry, &errorLogMock{}, &pipelineRunnerServiceMock{}, &relayerSetMock{}, &oracleFactoryMock{}, &gatewayConnectorMock{}, &keystoreMock{})
42+
dependencies := core.StandardCapabilitiesDependencies{
43+
Config: spec.Config,
44+
TelemetryService: &telemetryServiceMock{},
45+
Store: &kvstoreMock{},
46+
CapabilityRegistry: registry,
47+
ErrorLog: &errorLogMock{},
48+
PipelineRunner: &pipelineRunnerServiceMock{},
49+
RelayerSet: &relayerSetMock{},
50+
OracleFactory: &oracleFactoryMock{},
51+
GatewayConnector: &gatewayConnectorMock{},
52+
P2PKeystore: &keystoreMock{},
53+
}
54+
standardCapability := NewStandardCapabilities(lggr, spec, pluginRegistrar, dependencies)
4355
standardCapability.startTimeout = 1 * time.Second
4456
err := standardCapability.Start(ctx)
4557
require.NoError(t, err)

0 commit comments

Comments
 (0)