diff --git a/cmd/sid/cli/btc_headers.go b/cmd/sid/cli/btc_headers.go index 318b348..ca1ec9d 100644 --- a/cmd/sid/cli/btc_headers.go +++ b/cmd/sid/cli/btc_headers.go @@ -9,13 +9,14 @@ import ( babylontypes "github.com/babylonlabs-io/babylon/types" bbnbtclightclienttypes "github.com/babylonlabs-io/babylon/x/btclightclient/types" + "github.com/urfave/cli" + "go.uber.org/zap" + "github.com/babylonlabs-io/staking-indexer/btcclient" "github.com/babylonlabs-io/staking-indexer/btcscanner" "github.com/babylonlabs-io/staking-indexer/config" "github.com/babylonlabs-io/staking-indexer/log" "github.com/babylonlabs-io/staking-indexer/utils" - "github.com/urfave/cli" - "go.uber.org/zap" sdkmath "cosmossdk.io/math" ) @@ -23,6 +24,7 @@ import ( const ( outputFileFlag = "output" defaultOutputFileName = "btc-headers.json" + filePermission = 0600 ) var BtcHeaderCommand = cli.Command{ @@ -105,7 +107,7 @@ func btcHeaders(ctx *cli.Context) error { } outputFilePath := ctx.String(outputFileFlag) - if err := os.WriteFile(outputFilePath, bz, 0644); err != nil { + if err := os.WriteFile(outputFilePath, bz, filePermission); err != nil { return fmt.Errorf("failed to write to output file %s: %w", outputFilePath, err) } diff --git a/itest/test_manager.go b/itest/test_manager.go index 95a26a4..89ee701 100644 --- a/itest/test_manager.go +++ b/itest/test_manager.go @@ -78,7 +78,7 @@ func StartManagerWithNBlocks(t *testing.T, n int, startHeight uint64) *TestManag require.NoError(t, err) dirPath := filepath.Join(t.TempDir(), "sid", "e2etest") - err = os.MkdirAll(dirPath, 0755) + err = os.MkdirAll(dirPath, 0750) require.NoError(t, err) return StartWithBitcoinHandler(t, h, minerAddressDecoded, dirPath, startHeight) diff --git a/log/log.go b/log/log.go index 46e6d1e..caa2dbd 100644 --- a/log/log.go +++ b/log/log.go @@ -15,6 +15,8 @@ import ( "github.com/babylonlabs-io/staking-indexer/utils" ) +const logFilePermission = 0600 + func NewRootLogger(format string, level string, w io.Writer) (*zap.Logger, error) { cfg := zap.NewProductionEncoderConfig() cfg.EncodeTime = func(ts time.Time, encoder zapcore.PrimitiveArrayEncoder) { @@ -63,7 +65,7 @@ func NewRootLoggerWithFile(logFile string, level string) (*zap.Logger, error) { if err := utils.MakeDirectory(filepath.Dir(logFile)); err != nil { return nil, err } - f, err := os.OpenFile(logFile, os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0660) + f, err := os.OpenFile(filepath.Clean(logFile), os.O_CREATE|os.O_WRONLY|os.O_APPEND, logFilePermission) if err != nil { return nil, err } diff --git a/server/server.go b/server/server.go index d33f32b..24bbf52 100644 --- a/server/server.go +++ b/server/server.go @@ -65,7 +65,10 @@ func (s *Server) RunUntilShutdown(startHeight uint64) error { defer func() { s.logger.Info("Closing database...") - s.db.Close() + err := s.db.Close() + if err != nil { + s.logger.Fatal("error closing the database") + } s.logger.Info("Database closed") }() diff --git a/testutils/utils.go b/testutils/utils.go index 0db9990..7802aa6 100644 --- a/testutils/utils.go +++ b/testutils/utils.go @@ -65,7 +65,8 @@ func MakeTestBackend(t *testing.T) kvdb.Backend { require.NoError(t, err) t.Cleanup(func() { - backend.Close() + err := backend.Close() + require.NoError(t, err) }) return backend