Documentation ¶
Index ¶
- Variables
- type API
- func (i *API) Addrs() []AddrInfo
- func (i *API) CancelJob(jid ffs.JobID) error
- func (i *API) Close() error
- func (i *API) DefaultStorageConfig() ffs.StorageConfig
- func (i *API) ExecutingStorageJobs(cids ...cid.Cid) []ffs.StorageJob
- func (i *API) Get(ctx context.Context, c cid.Cid) (io.Reader, error)
- func (i *API) GetRetrieval(prID ffs.RetrievalID) (Retrieval, error)
- func (i *API) GetStorageConfigs(cids ...cid.Cid) (map[cid.Cid]ffs.StorageConfig, error)
- func (i *API) GetStorageJob(jid ffs.JobID) (ffs.StorageJob, error)
- func (i *API) ID() ffs.APIID
- func (i *API) ImportStorage(payloadCid cid.Cid, pieceCid cid.Cid, deals []ImportDeal, opts ...ImportOption) error
- func (i *API) LatestFinalStorageJobs(cids ...cid.Cid) []ffs.StorageJob
- func (i *API) LatestSuccessfulStorageJobs(cids ...cid.Cid) []ffs.StorageJob
- func (i *API) NewAddr(ctx context.Context, name string, options ...NewAddressOption) (string, error)
- func (i *API) PushStorageConfig(c cid.Cid, opts ...PushStorageConfigOption) (ffs.JobID, error)
- func (i *API) QueuedStorageJobs(cids ...cid.Cid) []ffs.StorageJob
- func (i *API) Remove(c cid.Cid) error
- func (i *API) RemoveRetrieval(partialCid cid.Cid) error
- func (i *API) Replace(c1 cid.Cid, c2 cid.Cid) (ffs.JobID, error)
- func (i *API) RetrievalDealRecords(opts ...deals.DealRecordsOption) ([]deals.RetrievalDealRecord, error)
- func (i *API) SendFil(ctx context.Context, from string, to string, amount *big.Int) error
- func (i *API) SetDefaultStorageConfig(c ffs.StorageConfig) error
- func (i *API) Show(cid cid.Cid) (ffs.StorageInfo, error)
- func (i *API) SignMessage(ctx context.Context, addr string, message []byte) ([]byte, error)
- func (i *API) StartRetrieval(payloadCid, pieceCid cid.Cid, selector string, miners []string, ...) (Retrieval, error)
- func (i *API) StorageConfigForJob(jid ffs.JobID) (ffs.StorageConfig, error)
- func (i *API) StorageDealRecords(opts ...deals.DealRecordsOption) ([]deals.StorageDealRecord, error)
- func (i *API) VerifyMessage(ctx context.Context, addr string, message, signature []byte) (bool, error)
- func (i *API) WatchJobs(ctx context.Context, c chan<- ffs.StorageJob, jids ...ffs.JobID) error
- func (i *API) WatchLogs(ctx context.Context, ch chan<- ffs.LogEntry, c cid.Cid, opts ...GetLogsOption) error
- type AddrInfo
- type GetLogsConfig
- type GetLogsOption
- type ImportDeal
- type ImportOption
- type InstanceConfig
- type NewAddressConfig
- type NewAddressOption
- type PushStorageConfigConfig
- type PushStorageConfigOption
- type Retrieval
- type RetrievalOption
Constants ¶
This section is empty.
Variables ¶
var ( // ErrMustOverrideConfig returned when trying to push config for storing a Cid // without the override flag. ErrMustOverrideConfig = errors.New("cid already pinned, consider using override flag") // ErrReplacedCidNotFound returns when replacing a Cid that isn't stored. ErrReplacedCidNotFound = errors.New("provided replaced cid wasn't found") // ErrActiveInStorage returns when a Cid is trying to be removed but still defined as active // on Hot or Cold storage. ErrActiveInStorage = errors.New("can't remove Cid, disable from Hot and Cold storage") // ErrHotStorageDisabled returned when trying to fetch a Cid when disabled on Hot Storage. // To retrieve the data, is necessary to call unfreeze by enabling the Enabled flag in // the Hot Storage for that Cid. ErrHotStorageDisabled = errors.New("cid disabled in hot storage") )
var ( // ErrNotFound returned when instance configuration doesn't exist. ErrNotFound = errors.New("stored item not found") )
Functions ¶
This section is empty.
Types ¶
type API ¶
type API struct {
// contains filtered or unexported fields
}
API is an Api instance, which owns a Lotus Address and allows to Store and Retrieve Cids from Hot and Cold layers.
func Load ¶
func Load(ds datastore.Datastore, iid ffs.APIID, sched *scheduler.Scheduler, wm ffs.WalletManager, drm ffs.DealRecordsManager) (*API, error)
Load loads a saved Api instance from its ConfigStore.
func New ¶
func New(ds datastore.Datastore, iid ffs.APIID, sch *scheduler.Scheduler, wm ffs.WalletManager, drm ffs.DealRecordsManager, dc ffs.StorageConfig, addrInfo AddrInfo) (*API, error)
New returns a new Api instance.
func (*API) CancelJob ¶
CancelJob cancels an executing Job. If no Job is executing with that JobID, it won't fail.
func (*API) DefaultStorageConfig ¶ added in v0.2.0
func (i *API) DefaultStorageConfig() ffs.StorageConfig
DefaultStorageConfig returns the default StorageConfig.
func (*API) ExecutingStorageJobs ¶ added in v1.0.0
func (i *API) ExecutingStorageJobs(cids ...cid.Cid) []ffs.StorageJob
ExecutingStorageJobs returns executing jobs for the specified cids. If no cids are provided, data for all data cids is returned.
func (*API) GetRetrieval ¶ added in v0.6.0
func (i *API) GetRetrieval(prID ffs.RetrievalID) (Retrieval, error)
GetRetrieval returns information from a Retrieval using its ID.
func (*API) GetStorageConfigs ¶ added in v1.0.0
func (i *API) GetStorageConfigs(cids ...cid.Cid) (map[cid.Cid]ffs.StorageConfig, error)
GetStorageConfigs returns the current StorageConfigs for a FFS instance, filtered by cids, if provided.
func (*API) GetStorageJob ¶ added in v0.6.0
GetStorageJob returns the current state of the specified job.
func (*API) ImportStorage ¶ added in v0.6.0
func (i *API) ImportStorage(payloadCid cid.Cid, pieceCid cid.Cid, deals []ImportDeal, opts ...ImportOption) error
ImportStorage imports deals existing in the Filecoin network. The StorageConfig attached to this Cid will be the default one with HotStorage disabled.
func (*API) LatestFinalStorageJobs ¶ added in v1.0.0
func (i *API) LatestFinalStorageJobs(cids ...cid.Cid) []ffs.StorageJob
LatestFinalStorageJobs returns the most recent finished jobs for the specified cids. If no cids are provided, data for all data cids is returned.
func (*API) LatestSuccessfulStorageJobs ¶ added in v1.0.0
func (i *API) LatestSuccessfulStorageJobs(cids ...cid.Cid) []ffs.StorageJob
LatestSuccessfulStorageJobs returns the most recent successful jobs for the specified cids. If no cids are provided, data for all data cids is returned.
func (*API) NewAddr ¶
func (i *API) NewAddr(ctx context.Context, name string, options ...NewAddressOption) (string, error)
NewAddr creates a new address managed by the FFS instance.
func (*API) PushStorageConfig ¶ added in v0.2.0
func (i *API) PushStorageConfig(c cid.Cid, opts ...PushStorageConfigOption) (ffs.JobID, error)
PushStorageConfig push a new configuration for the Cid in the Hot and Cold layer. If WithOverride opt isn't set it errors with ErrMustOverrideConfig.
func (*API) QueuedStorageJobs ¶ added in v1.0.0
func (i *API) QueuedStorageJobs(cids ...cid.Cid) []ffs.StorageJob
QueuedStorageJobs returns queued jobs for the specified cids. If no cids are provided, data for all data cids is returned.
func (*API) Remove ¶
Remove removes a Cid from being tracked as an active storage. The Cid should have both Hot and Cold storage disabled, if that isn't the case it will return ErrActiveInStorage.
func (*API) RemoveRetrieval ¶ added in v0.6.0
RemoveRetrieval removes information and data from a executed retrieval.
func (*API) Replace ¶
Replace pushes a StorageConfig for c2 equal to that of c1, and removes c1. This operation is more efficient than manually removing and adding in two separate operations. c1 and c2 must not be equal.
func (*API) RetrievalDealRecords ¶ added in v1.0.0
func (i *API) RetrievalDealRecords(opts ...deals.DealRecordsOption) ([]deals.RetrievalDealRecord, error)
RetrievalDealRecords returns a list of retrieval deals for this FFS instance according to the provided options.
func (*API) SendFil ¶
SendFil sends fil from a managed address to any another address, returns immediately but funds are sent asynchronously.
func (*API) SetDefaultStorageConfig ¶ added in v0.2.0
func (i *API) SetDefaultStorageConfig(c ffs.StorageConfig) error
SetDefaultStorageConfig sets a new default StorageConfig.
func (*API) Show ¶
func (i *API) Show(cid cid.Cid) (ffs.StorageInfo, error)
Show returns the information about a stored Cid. If no information is available, since the Cid was never stored, it returns ErrNotFound.
func (*API) SignMessage ¶ added in v0.6.9
SignMessage signs a message using a managed address.
func (*API) StartRetrieval ¶ added in v0.6.0
func (i *API) StartRetrieval(payloadCid, pieceCid cid.Cid, selector string, miners []string, opts ...RetrievalOption) (Retrieval, error)
StartRetrieval schedules a new job to do a data retrieval.
func (*API) StorageConfigForJob ¶ added in v1.0.0
StorageConfigForJob returns the StorageConfig associated with the specified job.
func (*API) StorageDealRecords ¶ added in v1.0.0
func (i *API) StorageDealRecords(opts ...deals.DealRecordsOption) ([]deals.StorageDealRecord, error)
StorageDealRecords lists storage deals for this FFS instance according to the provided options.
func (*API) VerifyMessage ¶ added in v0.6.9
func (i *API) VerifyMessage(ctx context.Context, addr string, message, signature []byte) (bool, error)
VerifyMessage verifies a message signature of a message from a managed address.
type GetLogsConfig ¶
type GetLogsConfig struct {
// contains filtered or unexported fields
}
GetLogsConfig contains configuration for a stream-log of human-friendly messages for a Cid execution.
type GetLogsOption ¶
type GetLogsOption func(config *GetLogsConfig)
GetLogsOption is a function that changes GetLogsConfig.
func WithHistory ¶
func WithHistory(enabled bool) GetLogsOption
WithHistory indicates that prior log history should be sent to the channel before getting realtime logs.
func WithJidFilter ¶
func WithJidFilter(jid ffs.JobID) GetLogsOption
WithJidFilter filters only log messages of a Cid related to the Job with id jid.
type ImportDeal ¶ added in v0.6.0
type ImportDeal struct { ProposalCid *cid.Cid MinerAddress string }
ImportDeal contains information of an imported deal.
type ImportOption ¶ added in v0.6.0
type ImportOption func(*importConfig)
ImportOption provides configurations for importing deal information.
func WithValidateImport ¶ added in v0.6.0
func WithValidateImport(enabled bool) ImportOption
WithValidateImport indicates to validate imported deal information to check for inconsistencies.
type InstanceConfig ¶ added in v0.6.0
type InstanceConfig struct { ID ffs.APIID Addrs map[string]AddrInfo DefaultStorageConfig ffs.StorageConfig }
InstanceConfig has general information about a Api instance.
type NewAddressConfig ¶
type NewAddressConfig struct {
// contains filtered or unexported fields
}
NewAddressConfig contains options for creating a new wallet address.
type NewAddressOption ¶
type NewAddressOption func(config *NewAddressConfig)
NewAddressOption is a function that changes a NewAddressConfig.
func WithAddressType ¶
func WithAddressType(addressType string) NewAddressOption
WithAddressType specifies the type of address to create.
func WithMakeDefault ¶
func WithMakeDefault(makeDefault bool) NewAddressOption
WithMakeDefault specifies if the new address should become the default.
type PushStorageConfigConfig ¶ added in v0.2.0
type PushStorageConfigConfig struct { Config ffs.StorageConfig OverrideConfig bool }
PushStorageConfigConfig contains options for pushing a Cid configuration.
func (PushStorageConfigConfig) Validate ¶ added in v0.2.0
func (pc PushStorageConfigConfig) Validate() error
Validate validates a PushStorageConfigConfig.
type PushStorageConfigOption ¶ added in v0.2.0
type PushStorageConfigOption func(o *PushStorageConfigConfig) error
PushStorageConfigOption mutates a push configuration.
func WithOverride ¶
func WithOverride(override bool) PushStorageConfigOption
WithOverride allows a new push configuration to override an existing one. It's used as an extra security measure to avoid unwanted configuration changes.
func WithStorageConfig ¶ added in v0.2.0
func WithStorageConfig(c ffs.StorageConfig) PushStorageConfigOption
WithStorageConfig overrides the Api default Cid configuration.
type Retrieval ¶ added in v0.6.0
type Retrieval struct { ID ffs.RetrievalID PayloadCid cid.Cid PieceCid cid.Cid Selector string Miners []string WalletAddress string MaxPrice uint64 JID ffs.JobID CreatedAt time.Time // Possibly empty RetrievalMiner string DataCid cid.Cid Size uint64 }
Retrieval indicates information of a retrieval in the Filecoin network.
type RetrievalOption ¶ added in v0.6.0
type RetrievalOption func(*retrievalConfig)
RetrievalOption provides a retrieval configuration setup.
func WithRetrievalMaxPrice ¶ added in v0.6.0
func WithRetrievalMaxPrice(maxPrice uint64) RetrievalOption
WithRetrievalMaxPrice indicates which is the maximum prices to pay for the retrieval.
func WithRetrievalWalletAddress ¶ added in v0.6.0
func WithRetrievalWalletAddress(addr string) RetrievalOption
WithRetrievalWalletAddress indicates which wallet address to use for doing the deal retrieval.