diff --git a/internal/dependencymanager/dependencyinstaller.go b/internal/dependencymanager/dependencyinstaller.go index e34fc9cb7..23569a4cc 100644 --- a/internal/dependencymanager/dependencyinstaller.go +++ b/internal/dependencymanager/dependencyinstaller.go @@ -103,14 +103,13 @@ func (f *dependencyManagerFlagsCollection) AddToCommand(cmd *cobra.Command) { } type DependencyInstaller struct { - Gateways map[string]gateway.Gateway - Logger output.Logger - State *flowkit.State - SkipDeployments bool - SkipAlias bool - logs categorizedLogs - initialContractsState config.Contracts - dependencies map[string]config.Dependency + Gateways map[string]gateway.Gateway + Logger output.Logger + State *flowkit.State + SkipDeployments bool + SkipAlias bool + logs categorizedLogs + dependencies map[string]config.Dependency } // NewDependencyInstaller creates a new instance of DependencyInstaller @@ -137,13 +136,12 @@ func NewDependencyInstaller(logger output.Logger, state *flowkit.State, flags de } return &DependencyInstaller{ - Gateways: gateways, - Logger: logger, - State: state, - SkipDeployments: flags.skipDeployments, - SkipAlias: flags.skipAlias, - initialContractsState: *state.Contracts(), // Copy at this point in time - dependencies: make(map[string]config.Dependency), + Gateways: gateways, + Logger: logger, + State: state, + SkipDeployments: flags.skipDeployments, + SkipAlias: flags.skipAlias, + dependencies: make(map[string]config.Dependency), }, nil } @@ -221,8 +219,8 @@ func (di *DependencyInstaller) addDependency(dep config.Dependency) error { // checkForConflictingContracts checks if any of the dependencies conflict with contracts already in the state func (di *DependencyInstaller) checkForConflictingContracts() { for _, dependency := range di.dependencies { - foundContract, _ := di.initialContractsState.ByName(dependency.Name) - if foundContract != nil { + foundContract, _ := di.State.Contracts().ByName(dependency.Name) + if foundContract != nil && !foundContract.IsDependency { msg := util.MessageWithEmojiPrefix("❌", fmt.Sprintf("Contract named %s already exists in flow.json", dependency.Name)) di.logs.issues = append(di.logs.issues, msg) }