From 365fa448cfc188c047ade36899deaf608b28bd80 Mon Sep 17 00:00:00 2001 From: Chase Fleming <1666730+chasefleming@users.noreply.github.com> Date: Fri, 12 Jul 2024 07:29:03 -0700 Subject: [PATCH 1/3] Change default to previewnet --- internal/super/setup.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/internal/super/setup.go b/internal/super/setup.go index d9652b765..7a130d02f 100644 --- a/internal/super/setup.go +++ b/internal/super/setup.go @@ -272,7 +272,7 @@ func startInteractiveSetup( func installCoreContracts(logger output.Logger, state *flowkit.State, tempDir string) error { // Prompt to ask which core contracts should be installed - sc := systemcontracts.SystemContractsForChain(flowGo.Mainnet) + sc := systemcontracts.SystemContractsForChain(flowGo.Previewnet) promptMessage := "Select any core contracts you would like to install or skip to continue." contractNames := make([]string, 0) @@ -294,7 +294,7 @@ func installCoreContracts(logger output.Logger, state *flowkit.State, tempDir st dependencies = append(dependencies, flowkitConfig.Dependency{ Name: contract.Name, Source: flowkitConfig.Source{ - NetworkName: flowkitConfig.MainnetNetwork.Name, + NetworkName: flowkitConfig.PreviewnetNetwork.Name, Address: flowsdk.HexToAddress(contract.Address.String()), ContractName: contract.Name, }, From ce228e5752b1f10140e77e87cfb3d9f211dafebe Mon Sep 17 00:00:00 2001 From: Chase Fleming <1666730+chasefleming@users.noreply.github.com> Date: Fri, 12 Jul 2024 08:30:17 -0700 Subject: [PATCH 2/3] Asks for correct missing alias names --- .../dependencymanager/dependencyinstaller.go | 31 +++++++++++-------- 1 file changed, 18 insertions(+), 13 deletions(-) diff --git a/internal/dependencymanager/dependencyinstaller.go b/internal/dependencymanager/dependencyinstaller.go index ab54c6655..dc3c312ec 100644 --- a/internal/dependencymanager/dependencyinstaller.go +++ b/internal/dependencymanager/dependencyinstaller.go @@ -502,24 +502,29 @@ func (di *DependencyInstaller) updateDependencyDeployment(contractName string) e } func (di *DependencyInstaller) updateDependencyAlias(contractName, aliasNetwork string) error { - var missingNetwork string + var missingNetworks []string - if aliasNetwork == config.TestnetNetwork.Name { - missingNetwork = config.MainnetNetwork.Name - } else { - missingNetwork = config.TestnetNetwork.Name + switch aliasNetwork { + case config.MainnetNetwork.Name: + missingNetworks = []string{config.TestnetNetwork.Name, config.PreviewnetNetwork.Name} + case config.TestnetNetwork.Name: + missingNetworks = []string{config.MainnetNetwork.Name, config.PreviewnetNetwork.Name} + case config.PreviewnetNetwork.Name: + missingNetworks = []string{config.MainnetNetwork.Name, config.TestnetNetwork.Name} } - label := fmt.Sprintf("Enter an alias address for %s on %s if you have one, otherwise leave blank", contractName, missingNetwork) - raw := prompt.AddressPromptOrEmpty(label, "Invalid alias address") + for _, missingNetwork := range missingNetworks { + label := fmt.Sprintf("Enter an alias address for %s on %s if you have one, otherwise leave blank", contractName, missingNetwork) + raw := prompt.AddressPromptOrEmpty(label, "Invalid alias address") - if raw != "" { - contract, err := di.State.Contracts().ByName(contractName) - if err != nil { - return err - } + if raw != "" { + contract, err := di.State.Contracts().ByName(contractName) + if err != nil { + return err + } - contract.Aliases.Add(missingNetwork, flowsdk.HexToAddress(raw)) + contract.Aliases.Add(missingNetwork, flowsdk.HexToAddress(raw)) + } } return nil From f582453efddc0d71379593b568dd2b3f2ff8fe52 Mon Sep 17 00:00:00 2001 From: Chase Fleming <1666730+chasefleming@users.noreply.github.com> Date: Fri, 12 Jul 2024 08:33:37 -0700 Subject: [PATCH 3/3] Check for already process dependencies --- internal/dependencymanager/dependencyinstaller.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/internal/dependencymanager/dependencyinstaller.go b/internal/dependencymanager/dependencyinstaller.go index dc3c312ec..c45691bac 100644 --- a/internal/dependencymanager/dependencyinstaller.go +++ b/internal/dependencymanager/dependencyinstaller.go @@ -285,6 +285,12 @@ func (di *DependencyInstaller) processDependency(dependency config.Dependency) e } func (di *DependencyInstaller) fetchDependencies(networkName string, address flowsdk.Address, assignedName, contractName string) error { + sourceString := fmt.Sprintf("%s://%s.%s", networkName, address.String(), contractName) + + if _, exists := di.dependencies[sourceString]; exists { + return nil // Skip already processed dependencies + } + err := di.addDependency(config.Dependency{ Name: assignedName, Source: config.Source{