modules

package
v0.0.0-...-484cccf Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 16, 2023 License: Apache-2.0, MIT Imports: 134 Imported by: 0

Documentation

Index

Constants

View Source
const (
	JWTSecretName   = "auth-jwt-private" //nolint:gosec
	KTJwtHmacSecret = "jwt-hmac-secret"  //nolint:gosec
)
View Source
const (
	EnvDAGStoreCopyConcurrency = "LOTUS_DAGSTORE_COPY_CONCURRENCY"
	DefaultDAGStoreDir         = "dagstore"
)
View Source
const (
	// EnvWatchdogDisabled is an escape hatch to disable the watchdog explicitly
	// in case an OS/kernel appears to report incorrect information. The
	// watchdog will be disabled if the value of this env variable is 1.
	EnvWatchdogDisabled = "LOTUS_DISABLE_WATCHDOG"
)

Variables

View Source
var ManagerWorkPrefix = datastore.NewKey("/stmgr/calls")
View Source
var (
	StagingAreaDirName = "deal-staging"
)
View Source
var WorkerCallsPrefix = datastore.NewKey("/worker/calls")

Functions

func APISecret

func APISecret(keystore types.KeyStore, lr repo.LockedRepo) (*dtypes.APIAlg, error)

func AddressSelector

func AddressSelector(addrConf *config.MinerAddressConfig) func() (*ctladdr.AddressSelector, error)

func BadgerHotBlockstore

func BadgerHotBlockstore(lc fx.Lifecycle, r repo.LockedRepo) (dtypes.HotBlockstore, error)

func BuiltinBootstrap

func BuiltinBootstrap() (dtypes.BootstrapPeers, error)

func BuiltinDrandConfig

func BuiltinDrandConfig() dtypes.DrandSchedule

func ChainBitswap

ChainBitswap uses a blockstore that bypasses all caches.

func CheckFdLimit

func CheckFdLimit(min uint64) func(al *alerting.Alerting)

func ClientBlockstore

func ClientBlockstore() dtypes.ClientBlockstore

TODO this should be removed.

func ConfigBootstrap

func ConfigBootstrap(peers []string) func() (dtypes.BootstrapPeers, error)

func ConnectSealingService

func ConnectSealingService(apiInfo string) func(mctx helpers.MetricsCtx, lc fx.Lifecycle) (MinerSealingService, error)

func ConnectStorageService

func ConnectStorageService(apiInfo string) func(mctx helpers.MetricsCtx, lc fx.Lifecycle) (MinerStorageService, error)

func DAGStore

DAGStore constructs a DAG store using the supplied minerAPI, and the user configuration. It returns both the DAGStore and the Wrapper suitable for passing to markets.

func Datastore

func Datastore(disableLog bool) func(lc fx.Lifecycle, mctx helpers.MetricsCtx, r repo.LockedRepo) (dtypes.MetadataDS, error)

func DoSetGenesis

func DoSetGenesis(_ dtypes.AfterGenesisSet)

func DrandBootstrap

func DrandBootstrap(ds dtypes.DrandSchedule) (dtypes.DrandBootstrap, error)

func EnableStoringEvents

func EnableStoringEvents(cs *store.ChainStore)

func ExtractEnabledMinerSubsystems

func ExtractEnabledMinerSubsystems(cfg config.MinerSubsystemConfig) (res api.MinerSubsystems)

func GetParams

func GetParams(prover bool) func(spt abi.RegisteredSealProof) error

func Graphsync

func Graphsync(parallelTransfersForStorage uint64, parallelTransfersForRetrieval uint64) func(mctx helpers.MetricsCtx, lc fx.Lifecycle, r repo.LockedRepo, clientBs dtypes.ClientBlockstore, chainBs dtypes.ExposedBlockstore, h host.Host) (dtypes.Graphsync, error)

Graphsync creates a graphsync instance from the given loader and storer

func HandleIncomingMessages

func HandleIncomingMessages(mctx helpers.MetricsCtx, lc fx.Lifecycle, ps *pubsub.PubSub, stmgr *stmgr.StateManager, mpool *messagepool.MessagePool, h host.Host, nn dtypes.NetworkName, bootstrapper dtypes.Bootstrapper)

func HandleMigrateClientFunds

func HandleMigrateClientFunds(lc fx.Lifecycle, mctx helpers.MetricsCtx, ds dtypes.MetadataDS, wallet full.WalletAPI, fundMgr *market.FundManager)

func HandleMigrateProviderFunds

func HandleMigrateProviderFunds(lc fx.Lifecycle, ds dtypes.MetadataDS, node api.FullNode, minerAddress dtypes.MinerAddress)

func HandlePaychManager

func HandlePaychManager(lc fx.Lifecycle, pm *paychmgr.Manager)

HandlePaychManager is called by dependency injection to set up hooks

func IpfsClientBlockstore

func IpfsClientBlockstore(ipfsMaddr string, onlineMode bool) func(helpers.MetricsCtx, fx.Lifecycle, dtypes.ClientImportMgr) (dtypes.ClientBlockstore, error)

IpfsClientBlockstore returns a ClientBlockstore implementation backed by an IPFS node. If ipfsMaddr is empty, a local IPFS node is assumed considering IPFS_PATH configuration. If ipfsMaddr is not empty, it will connect to the remote IPFS node with the provided multiaddress. The flag useForRetrieval indicates if the IPFS node will also be used for storing retrieving deals.

func IpfsRetrievalBlockstoreAccessor

func IpfsRetrievalBlockstoreAccessor(ipfsBlockstore dtypes.ClientBlockstore) retrievalmarket.BlockstoreAccessor

func IpfsStorageBlockstoreAccessor

func IpfsStorageBlockstoreAccessor(ipfsBlockstore dtypes.ClientBlockstore) storagemarket.BlockstoreAccessor

func KeyStore

func KeyStore(lr repo.LockedRepo) (types.KeyStore, error)

func LoadGenesis

func LoadGenesis(genBytes []byte) func(fx.Lifecycle, helpers.MetricsCtx, dtypes.ChainBlockstore) Genesis

func LocalStorage

func LocalStorage(mctx helpers.MetricsCtx, lc fx.Lifecycle, ls paths.LocalStorage, si paths.SectorIndex, urls paths.URLs) (*paths.Local, error)

func LockedRepo

func LockedRepo(lr repo.LockedRepo) func(lc fx.Lifecycle) repo.LockedRepo

func MakeUuidWrapper

func MakeUuidWrapper(a v1api.RawFullNodeAPI) v1api.FullNode

func MemoryBlockstore

func MemoryBlockstore() dtypes.UniversalBlockstore

func MemoryConstraints

func MemoryConstraints() system.MemoryConstraints

MemoryConstraints returns the memory constraints configured for this system.

func MemoryWatchdog

func MemoryWatchdog(lr repo.LockedRepo, lc fx.Lifecycle, constraints system.MemoryConstraints)

MemoryWatchdog starts the memory watchdog, applying the computed resource constraints.

func MinerAddress

func MinerAddress(ds dtypes.MetadataDS) (dtypes.MinerAddress, error)

func MinerID

func MinerID(ma dtypes.MinerAddress) (dtypes.MinerID, error)

func NewClientDatastore

func NewClientDatastore(ds dtypes.MetadataDS) dtypes.ClientDatastore

NewClientDatastore creates a datastore for the client to store its deals

func NewClientGraphsyncDataTransfer

func NewClientGraphsyncDataTransfer(lc fx.Lifecycle, h host.Host, gs dtypes.Graphsync, ds dtypes.MetadataDS, r repo.LockedRepo) (dtypes.ClientDataTransfer, error)

NewClientGraphsyncDataTransfer returns a data transfer manager that just uses the clients's Client DAG service for transfers

func NewDefaultMaxFeeFunc

func NewDefaultMaxFeeFunc(r repo.LockedRepo) dtypes.DefaultMaxFeeFunc

func NewGetMaxDealStartDelayFunc

func NewGetMaxDealStartDelayFunc(r repo.LockedRepo) (dtypes.GetMaxDealStartDelayFunc, error)

func NewGetSealConfigFunc

func NewGetSealConfigFunc(r repo.LockedRepo) (dtypes.GetSealingConfigFunc, error)

func NewLocalDiscovery

func NewLocalDiscovery(lc fx.Lifecycle, ds dtypes.MetadataDS) (*discoveryimpl.Local, error)

func NewMinerAPI

NewMinerAPI creates a new MinerAPI adaptor for the dagstore mounts.

func NewPaychStore

func NewPaychStore(ds dtypes.MetadataDS) *paychmgr.Store

func NewProviderDataTransfer

NewProviderDataTransfer returns a data transfer manager

func NewProviderPieceStore

func NewProviderPieceStore(lc fx.Lifecycle, ds dtypes.MetadataDS) (dtypes.ProviderPieceStore, error)

NewProviderPieceStore creates a statestore for storing metadata about pieces shared by the storage and retrieval providers

func NewProviderTransferNetwork

func NewProviderTransferNetwork(h host.Host) dtypes.ProviderTransferNetwork

NewProviderTransferNetwork sets up the libp2p2 protocol networking for data transfer

func NewProviderTransport

func NewProviderTransport(h host.Host, gs dtypes.StagingGraphsync) dtypes.ProviderTransport

NewProviderTransport sets up a data transfer transport over graphsync

func NewRPCClient

func NewRPCClient(host host.Host) *rpc.Client

func NewRPCServer

func NewRPCServer(ctx context.Context, host host.Host, rpcHandler *RPCHandler) error

func NewSetMaxDealStartDelayFunc

func NewSetMaxDealStartDelayFunc(r repo.LockedRepo) (dtypes.SetMaxDealStartDelayFunc, error)

func NewSetSealConfigFunc

func NewSetSealConfigFunc(r repo.LockedRepo) (dtypes.SetSealingConfigFunc, error)

func NewSlashFilter

func NewSlashFilter(ds dtypes.MetadataDS) *slashfilter.SlashFilter

func NewSyncer

func NewSyncer(params SyncerParams) (*chain.Syncer, error)

func NoopGCReferenceProtector

func NoopGCReferenceProtector(_ fx.Lifecycle) dtypes.GCReferenceProtector

func OpenFilesystemJournal

func OpenFilesystemJournal(lr repo.LockedRepo, lc fx.Lifecycle, disabled journal.DisabledEvents) (journal.Journal, error)

func PreflightChecks

func PreflightChecks(mctx helpers.MetricsCtx, lc fx.Lifecycle, api v1api.FullNode, maddr dtypes.MinerAddress) error

func RecordValidator

func RecordValidator(ps peerstore.Peerstore) record.Validator

RecordValidator provides namesys compatible routing record validator

func RelayIndexerMessages

func RelayIndexerMessages(lc fx.Lifecycle, ps *pubsub.PubSub, nn dtypes.NetworkName, h host.Host, chainModule full.ChainModuleAPI, stateModule full.StateModuleAPI) error

func RemoteStorage

func RemoteStorage(lstor *paths.Local, si paths.SectorIndex, sa sealer.StorageAuth, sc config.SealerConfig) *paths.Remote

func RetrievalBlockstoreAccessor

func RetrievalBlockstoreAccessor(r repo.LockedRepo) (retrievalmarket.BlockstoreAccessor, error)

RetrievalBlockstoreAccessor returns the default retrieval blockstore accessor using the subdirectory `retrievals` under the repo.

func RetrievalClient

RetrievalClient creates a new retrieval client attached to the client blockstore

func RetrievalNetwork

func RetrievalNetwork(h host.Host) rmnet.RetrievalMarketNetwork

func RetrievalPricingFunc

RetrievalPricingFunc configures the pricing function to use for retrieval deals.

func RetrievalProvider

RetrievalProvider creates a new retrieval provider attached to the provider blockstore

func RetrievalResolver

func RetrievalResolver(l *discoveryimpl.Local) discovery.PeerResolver

func RunChainExchange

func RunChainExchange(h host.Host, svc exchange.Server)

func RunHello

func RunHello(mctx helpers.MetricsCtx, lc fx.Lifecycle, h host.Host, svc *hello.Service) error

func RunPeerMgr

func RunPeerMgr(mctx helpers.MetricsCtx, lc fx.Lifecycle, pmgr *peermgr.PeerMgr)

func SealProofType

func SealProofType(maddr dtypes.MinerAddress, fnapi v1api.FullNode) (abi.RegisteredSealProof, error)

func SealingPipeline

func SealingPipeline(fc config.MinerFeeConfig) func(params SealingPipelineParams) (*sealing.Sealing, error)

func StagingBlockstore

func StagingBlockstore(lc fx.Lifecycle, mctx helpers.MetricsCtx, r repo.LockedRepo) (dtypes.StagingBlockstore, error)

StagingBlockstore creates a blockstore for staging blocks for a miner in a storage deal, prior to sealing

func StagingGraphsync

func StagingGraphsync(parallelTransfersForStorage uint64, parallelTransfersForStoragePerPeer uint64, parallelTransfersForRetrieval uint64) func(mctx helpers.MetricsCtx, lc fx.Lifecycle, ibs dtypes.StagingBlockstore, h host.Host) dtypes.StagingGraphsync

StagingGraphsync creates a graphsync instance which reads and writes blocks to the StagingBlockstore

func StorageAuth

func StorageAuth(ctx helpers.MetricsCtx, ca v0api.Common) (sealer.StorageAuth, error)

func StorageAuthWithURL

func StorageAuthWithURL(apiInfo string) func(ctx helpers.MetricsCtx, ca v0api.Common) (sealer.StorageAuth, error)

func StorageBlockstoreAccessor

func StorageBlockstoreAccessor(importmgr dtypes.ClientImportMgr) storagemarket.BlockstoreAccessor

StorageBlockstoreAccessor returns the default storage blockstore accessor from the import manager.

func StorageNetworkName

func StorageNetworkName(ctx helpers.MetricsCtx, a v1api.FullNode) (dtypes.NetworkName, error)

func ToSealingConfig

func ToSealingConfig(dealmakingCfg config.DealmakingConfig, sealingCfg config.SealingConfig) sealiface.Config

func UniversalBlockstore

func UniversalBlockstore(lc fx.Lifecycle, mctx helpers.MetricsCtx, r repo.LockedRepo) (dtypes.UniversalBlockstore, error)

UniversalBlockstore returns a single universal blockstore that stores both chain data and state data. It can be backed by a blockstore directly (e.g. Badger), or by a Splitstore.

func UpgradeSchedule

func UpgradeSchedule() stmgr.UpgradeSchedule

Types

type EventAPI

type EventAPI struct {
	fx.In

	full.ChainAPI
	full.StateAPI
}

type Genesis

type Genesis func() (*types.BlockHeader, error)

func ErrorGenesis

func ErrorGenesis() Genesis

type IdxProv

type IdxProv struct {
	fx.In

	fx.Lifecycle
	Datastore dtypes.MetadataDS
}

type JwtPayload

type JwtPayload struct {
	Allow []auth.Permission
}

type MinerSealingService

type MinerSealingService api.StorageMiner

type MinerStorageService

type MinerStorageService api.StorageMiner

type MpoolNonceAPI

type MpoolNonceAPI struct {
	fx.In

	ChainModule full.ChainModuleAPI
	StateModule full.StateModuleAPI
}

MpoolNonceAPI substitutes the mpool nonce with an implementation that doesn't rely on the mpool - it just gets the nonce from actor state

func (*MpoolNonceAPI) GetActor

func (a *MpoolNonceAPI) GetActor(ctx context.Context, addr address.Address, tsk types.TipSetKey) (*types.Actor, error)

func (*MpoolNonceAPI) GetNonce

func (a *MpoolNonceAPI) GetNonce(ctx context.Context, addr address.Address, tsk types.TipSetKey) (uint64, error)

GetNonce gets the nonce from current chain head.

type PaychAPI

type PaychAPI struct {
	fx.In

	full.MpoolAPI
	full.StateAPI
}

type RPCHandler

type RPCHandler struct {
	// contains filtered or unexported fields
}

func NewRPCHandler

func NewRPCHandler(mpoolAPI full.MpoolAPI, cons *consensus.Consensus) *RPCHandler

func (*RPCHandler) AddPeer

func (h *RPCHandler) AddPeer(ctx context.Context, pid peer.ID, ret *struct{}) error

func (*RPCHandler) MpoolPushMessage

func (h *RPCHandler) MpoolPushMessage(ctx context.Context, msgWhole *api.MpoolMessageWhole, ret *types.SignedMessage) error

type RandomBeaconParams

type RandomBeaconParams struct {
	fx.In

	PubSub      *pubsub.PubSub `optional:"true"`
	Cs          *store.ChainStore
	DrandConfig dtypes.DrandSchedule
}

type SealingPipelineParams

type SealingPipelineParams struct {
	fx.In

	Lifecycle          fx.Lifecycle
	MetricsCtx         helpers.MetricsCtx
	API                v1api.FullNode
	MetadataDS         dtypes.MetadataDS
	Sealer             sealer.SectorManager
	Verifier           storiface.Verifier
	Prover             storiface.Prover
	GetSealingConfigFn dtypes.GetSealingConfigFunc
	Journal            journal.Journal
	AddrSel            *ctladdr.AddressSelector
	Maddr              dtypes.MinerAddress
}

type SyncerParams

type SyncerParams struct {
	fx.In

	Lifecycle    fx.Lifecycle
	MetadataDS   dtypes.MetadataDS
	StateManager *stmgr.StateManager
	ChainXchg    exchange.Client
	SyncMgrCtor  chain.SyncManagerCtor
	Host         host.Host
	Beacon       beacon.Schedule
	Gent         chain.Genesis
	Consensus    consensus.Consensus
}

type UuidWrapper

type UuidWrapper struct {
	v1api.FullNode
}

func (*UuidWrapper) MpoolPushMessage

func (a *UuidWrapper) MpoolPushMessage(ctx context.Context, msg *types.Message, spec *api.MessageSendSpec) (*types.SignedMessage, error)

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL