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

     1  package state
     2  
     3  import (
     4  	apptypes "github.com/celestiaorg/celestia-app/x/blob/types"
     5  	libfraud "github.com/celestiaorg/go-fraud"
     6  	"github.com/celestiaorg/go-header/sync"
     7  
     8  	"github.com/celestiaorg/celestia-node/header"
     9  	"github.com/celestiaorg/celestia-node/nodebuilder/core"
    10  	modfraud "github.com/celestiaorg/celestia-node/nodebuilder/fraud"
    11  	"github.com/celestiaorg/celestia-node/share/eds/byzantine"
    12  	"github.com/celestiaorg/celestia-node/state"
    13  )
    14  
    15  // coreAccessor constructs a new instance of state.Module over
    16  // a celestia-core connection.
    17  func coreAccessor(
    18  	corecfg core.Config,
    19  	signer *apptypes.KeyringSigner,
    20  	sync *sync.Syncer[*header.ExtendedHeader],
    21  	fraudServ libfraud.Service[*header.ExtendedHeader],
    22  ) (*state.CoreAccessor, Module, *modfraud.ServiceBreaker[*state.CoreAccessor, *header.ExtendedHeader]) {
    23  	ca := state.NewCoreAccessor(signer, sync, corecfg.IP, corecfg.RPCPort, corecfg.GRPCPort)
    24  
    25  	return ca, ca, &modfraud.ServiceBreaker[*state.CoreAccessor, *header.ExtendedHeader]{
    26  		Service:   ca,
    27  		FraudType: byzantine.BadEncoding,
    28  		FraudServ: fraudServ,
    29  	}
    30  }