mirror of
https://github.com/luxfi/cli.git
synced 2026-10-30 17:01:20 +00:00
52 lines
983 B
Go
52 lines
983 B
Go
// Copyright (C) 2022, Lux Industries Inc. All rights reserved.
|
|
// See the file LICENSE for licensing terms.
|
|
|
|
package migrations
|
|
|
|
import (
|
|
"os"
|
|
"path/filepath"
|
|
|
|
"github.com/luxfi/cli/v2/pkg/models"
|
|
|
|
"github.com/luxfi/cli/v2/pkg/application"
|
|
)
|
|
|
|
const oldEVM = "EVM"
|
|
|
|
func migrateEVMNames(app *application.Lux, runner *migrationRunner) error {
|
|
subnetDir := app.GetSubnetDir()
|
|
subnets, err := os.ReadDir(subnetDir)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
for _, subnet := range subnets {
|
|
if !subnet.IsDir() {
|
|
continue
|
|
}
|
|
// disregard any empty subnet directories
|
|
dirContents, err := os.ReadDir(filepath.Join(subnetDir, subnet.Name()))
|
|
if err != nil {
|
|
return err
|
|
}
|
|
if len(dirContents) == 0 {
|
|
continue
|
|
}
|
|
|
|
sc, err := app.LoadSidecar(subnet.Name())
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
if string(sc.VM) == oldEVM {
|
|
runner.printMigrationMessage()
|
|
sc.VM = models.EVM
|
|
if err = app.UpdateSidecar(&sc); err != nil {
|
|
return err
|
|
}
|
|
}
|
|
}
|
|
return nil
|
|
}
|