github.com/celestiaorg/celestia-node@v0.15.0-beta.1/nodebuilder/pruner/constructors.go (about)

     1  package pruner
     2  
     3  import (
     4  	"github.com/ipfs/go-datastore"
     5  
     6  	hdr "github.com/celestiaorg/go-header"
     7  
     8  	"github.com/celestiaorg/celestia-node/header"
     9  	"github.com/celestiaorg/celestia-node/nodebuilder/p2p"
    10  	"github.com/celestiaorg/celestia-node/pruner"
    11  )
    12  
    13  func newPrunerService(
    14  	p pruner.Pruner,
    15  	window pruner.AvailabilityWindow,
    16  	getter hdr.Store[*header.ExtendedHeader],
    17  	ds datastore.Batching,
    18  	opts ...pruner.Option,
    19  ) (*pruner.Service, error) {
    20  	serv := pruner.NewService(p, window, getter, ds, p2p.BlockTime, opts...)
    21  	if MetricsEnabled {
    22  		err := pruner.WithPrunerMetrics(serv)
    23  		if err != nil {
    24  			return nil, err
    25  		}
    26  	}
    27  	return serv, nil
    28  }