Skip to content

Commit ca99b44

Browse files
committed
impv: reset data when executing a sync option
1 parent 5d7a93f commit ca99b44

File tree

2 files changed

+21
-6
lines changed

2 files changed

+21
-6
lines changed

models/weaveinit/run_l1_node.go

+20-5
Original file line numberDiff line numberDiff line change
@@ -1021,8 +1021,8 @@ func (m *ExistingDataReplaceSelect) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
10211021
m.state.replaceExistingData = false
10221022
return m, tea.Quit
10231023
case ReplaceData:
1024-
// TODO: comet unsafe-reset-all here too
10251024
m.state.replaceExistingData = true
1025+
// TODO: do the deletion confirmation
10261026
switch m.state.syncMethod {
10271027
case string(Snapshot):
10281028
return NewSnapshotEndpointInput(m.state), nil
@@ -1186,7 +1186,7 @@ type SnapshotExtractLoading struct {
11861186

11871187
func NewSnapshotExtractLoading(state *RunL1NodeState) *SnapshotExtractLoading {
11881188
return &SnapshotExtractLoading{
1189-
Loading: utils.NewLoading("Extracting downloaded snapshot...", snapshotExtractor()),
1189+
Loading: utils.NewLoading("Extracting downloaded snapshot...", snapshotExtractor(state)),
11901190
state: state,
11911191
}
11921192
}
@@ -1221,15 +1221,22 @@ func (m *SnapshotExtractLoading) View() string {
12211221
return m.state.weave.Render() + m.Loading.View()
12221222
}
12231223

1224-
func snapshotExtractor() tea.Cmd {
1224+
func snapshotExtractor(state *RunL1NodeState) tea.Cmd {
12251225
return func() tea.Msg {
12261226
userHome, err := os.UserHomeDir()
12271227
if err != nil {
12281228
return utils.ErrorLoading{Err: fmt.Errorf("[error] Failed to get user home: %v", err)}
12291229
}
12301230

1231-
targetDir := filepath.Join(userHome, utils.InitiaDirectory)
1232-
cmd := exec.Command("bash", "-c", fmt.Sprintf("lz4 -c -d %s | tar -x -C %s", filepath.Join(userHome, utils.WeaveDataDirectory, utils.SnapshotFilename), targetDir))
1231+
initiaHome := filepath.Join(userHome, utils.InitiaDirectory)
1232+
binaryPath := filepath.Join(userHome, utils.WeaveDataDirectory, fmt.Sprintf("initia@%s", state.initiadVersion), "initiad")
1233+
1234+
runCmd := exec.Command(binaryPath, "comet", "unsafe-reset-all", "--keep-addr-book", "--home", initiaHome)
1235+
if err := runCmd.Run(); err != nil {
1236+
panic(fmt.Sprintf("failed to run initiad comet unsafe-reset-all: %v", err))
1237+
}
1238+
1239+
cmd := exec.Command("bash", "-c", fmt.Sprintf("lz4 -c -d %s | tar -x -C %s", filepath.Join(userHome, utils.WeaveDataDirectory, utils.SnapshotFilename), initiaHome))
12331240
cmd.Stdout = os.Stdout
12341241
cmd.Stderr = os.Stderr
12351242

@@ -1309,6 +1316,14 @@ func setupStateSync(state *RunL1NodeState) tea.Cmd {
13091316
return utils.ErrorLoading{Err: fmt.Errorf("[error] Failed to setup state sync trust_hash: %v", err)}
13101317
}
13111318

1319+
initiaHome := filepath.Join(userHome, utils.InitiaDirectory)
1320+
binaryPath := filepath.Join(userHome, utils.WeaveDataDirectory, fmt.Sprintf("initia@%s", state.initiadVersion), "initiad")
1321+
1322+
runCmd := exec.Command(binaryPath, "comet", "unsafe-reset-all", "--keep-addr-book", "--home", initiaHome)
1323+
if err := runCmd.Run(); err != nil {
1324+
panic(fmt.Sprintf("failed to run initiad comet unsafe-reset-all: %v", err))
1325+
}
1326+
13121327
return utils.EndLoading{}
13131328
}
13141329
}

utils/constants.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ const (
77

88
SnapshotFilename = "snapshot.weave"
99

10-
InitiaDirectory = ".initia"
10+
InitiaDirectory = ".initiatest"
1111
InitiaConfigDirectory = InitiaDirectory + "/config"
1212
InitiaDataDirectory = InitiaDirectory + "/data"
1313

0 commit comments

Comments
 (0)