40 lines
		
	
	
		
			906 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			40 lines
		
	
	
		
			906 B
		
	
	
	
		
			Go
		
	
	
	
	
	
| package modules
 | |
| 
 | |
| import (
 | |
| 	"context"
 | |
| 
 | |
| 	"go.uber.org/fx"
 | |
| 
 | |
| 	"github.com/filecoin-project/lotus/chain/types"
 | |
| 	"github.com/filecoin-project/lotus/lib/backupds"
 | |
| 	"github.com/filecoin-project/lotus/node/modules/dtypes"
 | |
| 	"github.com/filecoin-project/lotus/node/modules/helpers"
 | |
| 	"github.com/filecoin-project/lotus/node/repo"
 | |
| )
 | |
| 
 | |
| func LockedRepo(lr repo.LockedRepo) func(lc fx.Lifecycle) repo.LockedRepo {
 | |
| 	return func(lc fx.Lifecycle) repo.LockedRepo {
 | |
| 		lc.Append(fx.Hook{
 | |
| 			OnStop: func(_ context.Context) error {
 | |
| 				return lr.Close()
 | |
| 			},
 | |
| 		})
 | |
| 
 | |
| 		return lr
 | |
| 	}
 | |
| }
 | |
| 
 | |
| func KeyStore(lr repo.LockedRepo) (types.KeyStore, error) {
 | |
| 	return lr.KeyStore()
 | |
| }
 | |
| 
 | |
| func Datastore(lc fx.Lifecycle, mctx helpers.MetricsCtx, r repo.LockedRepo) (dtypes.MetadataDS, error) {
 | |
| 	ctx := helpers.LifecycleCtx(mctx, lc)
 | |
| 	mds, err := r.Datastore(ctx, "/metadata")
 | |
| 	if err != nil {
 | |
| 		return nil, err
 | |
| 	}
 | |
| 
 | |
| 	return backupds.Wrap(mds), nil
 | |
| }
 |