package backend
import (
"fmt"
"os"
"path/filepath"
"github.com/ethereum-optimism/optimism/op-supervisor/supervisor/types"
)
func prepLogDBPath(chainID types.ChainID, datadir string) (string, error) {
dir, err := prepChainDir(chainID, datadir)
if err != nil {
return "", err
}
return filepath.Join(dir, "log.db"), nil
}
func prepChainDir(chainID types.ChainID, datadir string) (string, error) {
dir := filepath.Join(datadir, chainID.String())
if err := os.MkdirAll(dir, 0755); err != nil {
return "", fmt.Errorf("failed to create chain directory %v: %w", dir, err)
}
return dir, nil
}
func prepDataDir(datadir string) error {
if err := os.MkdirAll(datadir, 0755); err != nil {
return fmt.Errorf("failed to create data directory %v: %w", datadir, err)
}
return nil
}
-
Adrian Sutton authored
* op-supervisor: Introduce head tracker * op-supervisor: Move log db to subpackage of db. * op-supervisor: Route all updates through a common db that can track heads * op-supervisor: Remove unused error. * op-supervisor: Remove operations - it fits into a later PR. * op-supervisor: Fix semgrep * op-supervisor: Move resuming databases into ChainsDB so it can later update the chain heads too.
98e1cf26