Some checks are pending
docker-build-cometbft / vars (push) Waiting to run
docker-build-cometbft / build-images (amd64, ubuntu-24.04) (push) Blocked by required conditions
docker-build-cometbft / build-images (arm64, ubuntu-24.04-arm) (push) Blocked by required conditions
docker-build-cometbft / merge-images (push) Blocked by required conditions
docker-build-e2e-node / vars (push) Waiting to run
docker-build-e2e-node / build-images (amd64, ubuntu-24.04) (push) Blocked by required conditions
docker-build-e2e-node / build-images (arm64, ubuntu-24.04-arm) (push) Blocked by required conditions
docker-build-e2e-node / merge-images (push) Blocked by required conditions
30 lines
865 B
Go
30 lines
865 B
Go
package config
|
|
|
|
import (
|
|
"context"
|
|
|
|
dbm "git.cw.tr/mukan-network/mukan-consensus-db"
|
|
|
|
"git.cw.tr/mukan-network/mukan-consensus/libs/log"
|
|
"git.cw.tr/mukan-network/mukan-consensus/libs/service"
|
|
)
|
|
|
|
// ServiceProvider takes a config and a logger and returns a ready to go Node.
|
|
type ServiceProvider func(context.Context, *Config, log.Logger) (service.Service, error)
|
|
|
|
// DBContext specifies config information for loading a new DB.
|
|
type DBContext struct {
|
|
ID string
|
|
Config *Config
|
|
}
|
|
|
|
// DBProvider takes a DBContext and returns an instantiated DB.
|
|
type DBProvider func(*DBContext) (dbm.DB, error)
|
|
|
|
// DefaultDBProvider returns a database using the DBBackend and DBDir
|
|
// specified in the Config.
|
|
func DefaultDBProvider(ctx *DBContext) (dbm.DB, error) {
|
|
dbType := dbm.BackendType(ctx.Config.DBBackend)
|
|
|
|
return dbm.NewDB(ctx.ID, dbType, ctx.Config.DBDir())
|
|
}
|