@@ -40,7 +40,9 @@ type RMNCurseConfig struct {
40
40
CurseActions []CurseAction
41
41
// Use this if you need to include lanes that are not in sourcechain in the offramp. i.e. not yet migrated lane from 1.5
42
42
IncludeNotConnectedLanes bool
43
- Reason string
43
+ // Use this if you want to include curse subject even when they are already cursed (CurseChangeset) or already uncursed (UncurseChangeset)
44
+ Force bool
45
+ Reason string
44
46
}
45
47
46
48
func (c RMNCurseConfig ) Validate (e deployment.Environment ) error {
@@ -377,7 +379,7 @@ func RMNCurseChangeset(e deployment.Environment, cfg RMNCurseConfig) (deployment
377
379
return deployment.ChangesetOutput {}, fmt .Errorf ("failed to check if chain %d is cursed: %w" , selector , err )
378
380
}
379
381
380
- if ! cursed {
382
+ if ! cursed || cfg . Force {
381
383
notAlreadyCursedSubjects = append (notAlreadyCursedSubjects , subject )
382
384
} else {
383
385
e .Logger .Warnf ("chain %s subject %x is already cursed, ignoring it while cursing" , cursableChains [selector ].Name (), subject )
@@ -460,7 +462,7 @@ func RMNUncurseChangeset(e deployment.Environment, cfg RMNCurseConfig) (deployme
460
462
return deployment.ChangesetOutput {}, fmt .Errorf ("failed to check if chain %d is cursed: %w" , selector , err )
461
463
}
462
464
463
- if cursed {
465
+ if cursed || cfg . Force {
464
466
actuallyCursedSubjects = append (actuallyCursedSubjects , subject )
465
467
} else {
466
468
e .Logger .Warnf ("chain %s subject %x is not cursed, ignoring it while uncursing" , cursableChains [selector ].Name (), subject )
0 commit comments