file_layout.go 792 Bytes
Newer Older
1 2 3 4 5 6
package backend

import (
	"fmt"
	"os"
	"path/filepath"
7 8

	"github.com/ethereum-optimism/optimism/op-supervisor/supervisor/types"
9 10
)

11
func prepLogDBPath(chainID types.ChainID, datadir string) (string, error) {
12 13 14 15 16 17 18
	dir, err := prepChainDir(chainID, datadir)
	if err != nil {
		return "", err
	}
	return filepath.Join(dir, "log.db"), nil
}

19 20
func prepChainDir(chainID types.ChainID, datadir string) (string, error) {
	dir := filepath.Join(datadir, chainID.String())
21 22 23 24 25
	if err := os.MkdirAll(dir, 0755); err != nil {
		return "", fmt.Errorf("failed to create chain directory %v: %w", dir, err)
	}
	return dir, nil
}
26 27 28 29 30 31 32

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
}