Skip to content

Commit ea39291

Browse files
authored
[CLD] Don't require force flag to update DON config version (#21335)
1 parent be4b540 commit ea39291

File tree

2 files changed

+0
-26
lines changed

2 files changed

+0
-26
lines changed

deployment/cre/capabilities_registry/v2/changeset/operations/contracts/update_don.go

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -103,14 +103,6 @@ var UpdateDON = operations.NewOperation[UpdateDONInput, UpdateDONOutput, UpdateD
103103
return UpdateDONOutput{}, fmt.Errorf("failed to call GetDONByName: %w", err)
104104
}
105105

106-
if don.AcceptsWorkflows && !input.Force {
107-
// TODO: CRE-277 ensure forwarders are support the next DON version
108-
// https://github.com/smartcontractkit/chainlink/blob/4fc61bb156fe57bfd939b836c02c413ad1209ebb/contracts/src/v0.8/keystone/CapabilitiesRegistry.sol#L812
109-
// and
110-
// https://github.com/smartcontractkit/chainlink/blob/4fc61bb156fe57bfd939b836c02c413ad1209ebb/contracts/src/v0.8/keystone/KeystoneForwarder.sol#L274
111-
return UpdateDONOutput{}, fmt.Errorf("refusing to update workflow don %d at config version %d because we cannot validate that all forwarder contracts are ready to accept the new configure version", don.Id, don.ConfigCount)
112-
}
113-
114106
cfgs, err := computeConfigs(input.CapabilityConfigs, don.CapabilityConfigurations, input.MergeCapabilityConfigsWithOnChain)
115107
if err != nil {
116108
return UpdateDONOutput{}, fmt.Errorf("failed to compute configs: %w", err)

deployment/cre/capabilities_registry/v2/changeset/update_don_test.go

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -294,24 +294,6 @@ func TestUpdateDONChangeset_ByName_Direct_Succeeds_MCMS(t *testing.T) {
294294
assert.NotEmpty(t, out.MCMSTimelockProposals, "MCMS → proposals must not be empty")
295295
}
296296

297-
// Safety gate: workflow DON should refuse without Force=true (changeset passes Force through to operation).
298-
func TestUpdateDONChangeset_ByName_Workflow_RefusesWithoutForce(t *testing.T) {
299-
t.Parallel()
300-
fx := setupRegistryForUpdateDON(t /*isWorkflow=*/, true, false)
301-
302-
_, err := changeset.UpdateDON{}.Apply(fx.env, changeset.UpdateDONInput{
303-
RegistryQualifier: fx.qualifier,
304-
RegistryChainSel: fx.selector,
305-
DONName: fx.donName, // required
306-
CapabilityConfigs: []contracts.CapabilityConfig{
307-
{Capability: contracts.Capability{CapabilityID: fx.capIDs[0]}, Config: map[string]any{"defaultConfig": map[string]any{}}},
308-
},
309-
Force: false,
310-
})
311-
require.Error(t, err)
312-
assert.Contains(t, err.Error(), "refusing to update workflow don")
313-
}
314-
315297
// Force override: workflow DON update succeeds when Force=true.
316298
func TestUpdateDONChangeset_ByName_Workflow_Force_Succeeds(t *testing.T) {
317299
t.Parallel()

0 commit comments

Comments
 (0)