storageadapter

package
v1.6.0-rc1 Latest Latest
Warning

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

Go to latest
Published: Mar 29, 2021 License: Apache-2.0, MIT Imports: 41 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewClientNodeAdapter

func NewClientNodeAdapter(mctx helpers.MetricsCtx, lc fx.Lifecycle, stateapi full.StateAPI, chain full.ChainAPI, mpool full.MpoolAPI, fundmgr *market.FundManager) storagemarket.StorageClientNode

func NewDealPublisher added in v1.4.2

func NewDealPublisher(
	feeConfig *config.MinerFeeConfig,
	publishMsgCfg PublishMsgConfig,
) func(lc fx.Lifecycle, full api.FullNode) *DealPublisher

Types

type ClientNodeAdapter

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

func (*ClientNodeAdapter) AddFunds

func (c *ClientNodeAdapter) AddFunds(ctx context.Context, addr address.Address, amount abi.TokenAmount) (cid.Cid, error)

Adds funds with the StorageMinerActor for a storage participant. Used by both providers and clients.

func (*ClientNodeAdapter) DealProviderCollateralBounds added in v0.5.0

func (c *ClientNodeAdapter) DealProviderCollateralBounds(ctx context.Context, size abi.PaddedPieceSize, isVerified bool) (abi.TokenAmount, abi.TokenAmount, error)

func (*ClientNodeAdapter) GetBalance

func (c *ClientNodeAdapter) GetBalance(ctx context.Context, addr address.Address, encodedTs shared.TipSetToken) (storagemarket.Balance, error)

func (*ClientNodeAdapter) GetChainHead added in v0.3.0

func (*ClientNodeAdapter) GetDefaultWalletAddress

func (c *ClientNodeAdapter) GetDefaultWalletAddress(ctx context.Context) (address.Address, error)

func (*ClientNodeAdapter) GetMinerInfo added in v0.4.1

func (c *ClientNodeAdapter) GetMinerInfo(ctx context.Context, addr address.Address, encodedTs shared.TipSetToken) (*storagemarket.StorageProviderInfo, error)

func (*ClientNodeAdapter) ListStorageProviders

func (c *ClientNodeAdapter) ListStorageProviders(ctx context.Context, encodedTs shared.TipSetToken) ([]*storagemarket.StorageProviderInfo, error)

func (*ClientNodeAdapter) OnDealExpiredOrSlashed added in v0.5.0

func (c *ClientNodeAdapter) OnDealExpiredOrSlashed(ctx context.Context, dealID abi.DealID, onDealExpired storagemarket.DealExpiredCallback, onDealSlashed storagemarket.DealSlashedCallback) error

TODO: Replace dealID parameter with DealProposal

func (*ClientNodeAdapter) OnDealSectorCommitted

func (c *ClientNodeAdapter) OnDealSectorCommitted(ctx context.Context, provider address.Address, dealID abi.DealID, sectorNumber abi.SectorNumber, proposal market2.DealProposal, publishCid *cid.Cid, cb storagemarket.DealSectorCommittedCallback) error

TODO: Remove dealID parameter, change publishCid to be cid.Cid (instead of pointer)

func (*ClientNodeAdapter) OnDealSectorPreCommitted added in v1.2.2

func (c *ClientNodeAdapter) OnDealSectorPreCommitted(ctx context.Context, provider address.Address, dealID abi.DealID, proposal market2.DealProposal, publishCid *cid.Cid, cb storagemarket.DealSectorPreCommittedCallback) error

TODO: Remove dealID parameter, change publishCid to be cid.Cid (instead of pointer)

func (*ClientNodeAdapter) ReleaseFunds added in v1.1.3

func (c *ClientNodeAdapter) ReleaseFunds(ctx context.Context, addr address.Address, amt abi.TokenAmount) error

func (*ClientNodeAdapter) ReserveFunds added in v1.1.3

func (c *ClientNodeAdapter) ReserveFunds(ctx context.Context, wallet, addr address.Address, amt abi.TokenAmount) (cid.Cid, error)

func (*ClientNodeAdapter) SignBytes added in v0.5.0

func (c *ClientNodeAdapter) SignBytes(ctx context.Context, signer address.Address, b []byte) (*crypto.Signature, error)

func (*ClientNodeAdapter) SignProposal

func (c *ClientNodeAdapter) SignProposal(ctx context.Context, signer address.Address, proposal market2.DealProposal) (*market2.ClientDealProposal, error)

func (*ClientNodeAdapter) ValidatePublishedDeal

func (c *ClientNodeAdapter) ValidatePublishedDeal(ctx context.Context, deal storagemarket.ClientDeal) (abi.DealID, error)

ValidatePublishedDeal validates that the provided deal has appeared on chain and references the same ClientDeal returns the Deal id if there is no error TODO: Don't return deal ID

func (*ClientNodeAdapter) VerifySignature added in v0.3.0

func (c *ClientNodeAdapter) VerifySignature(ctx context.Context, sig crypto.Signature, addr address.Address, input []byte, encodedTs shared.TipSetToken) (bool, error)

func (*ClientNodeAdapter) WaitForMessage added in v0.3.0

func (c *ClientNodeAdapter) WaitForMessage(ctx context.Context, mcid cid.Cid, cb func(code exitcode.ExitCode, bytes []byte, finalCid cid.Cid, err error) error) error

type DealPublisher added in v1.4.2

type DealPublisher struct {
	Shutdown context.CancelFunc
	// contains filtered or unexported fields
}

DealPublisher batches deal publishing so that many deals can be included in a single publish message. This saves gas for miners that publish deals frequently. When a deal is submitted, the DealPublisher waits a configurable amount of time for other deals to be submitted before sending the publish message. There is a configurable maximum number of deals that can be included in one message. When the limit is reached the DealPublisher immediately submits a publish message with all deals in the queue.

func (*DealPublisher) ForcePublishPendingDeals added in v1.4.2

func (p *DealPublisher) ForcePublishPendingDeals()

ForcePublishPendingDeals publishes all pending deals without waiting for the publish period to elapse

func (*DealPublisher) PendingDeals added in v1.4.2

func (p *DealPublisher) PendingDeals() api.PendingDealInfo

PendingDeals returns the list of deals that are queued up to be published

func (*DealPublisher) Publish added in v1.4.2

func (p *DealPublisher) Publish(ctx context.Context, deal market2.ClientDealProposal) (cid.Cid, error)

type ProviderNodeAdapter

type ProviderNodeAdapter struct {
	api.FullNode
	// contains filtered or unexported fields
}

func (*ProviderNodeAdapter) AddFunds

func (n *ProviderNodeAdapter) AddFunds(ctx context.Context, addr address.Address, amount abi.TokenAmount) (cid.Cid, error)

Adds funds with the StorageMinerActor for a storage participant. Used by both providers and clients.

func (*ProviderNodeAdapter) DealProviderCollateralBounds added in v0.5.0

func (n *ProviderNodeAdapter) DealProviderCollateralBounds(ctx context.Context, size abi.PaddedPieceSize, isVerified bool) (abi.TokenAmount, abi.TokenAmount, error)

func (*ProviderNodeAdapter) GetBalance

func (n *ProviderNodeAdapter) GetBalance(ctx context.Context, addr address.Address, encodedTs shared.TipSetToken) (storagemarket.Balance, error)

func (*ProviderNodeAdapter) GetChainHead added in v0.3.0

func (*ProviderNodeAdapter) GetDataCap added in v0.5.0

func (n *ProviderNodeAdapter) GetDataCap(ctx context.Context, addr address.Address, encodedTs shared.TipSetToken) (*abi.StoragePower, error)

func (*ProviderNodeAdapter) GetMinerWorkerAddress added in v0.3.0

func (n *ProviderNodeAdapter) GetMinerWorkerAddress(ctx context.Context, maddr address.Address, tok shared.TipSetToken) (address.Address, error)

func (*ProviderNodeAdapter) GetProofType added in v1.2.0

func (n *ProviderNodeAdapter) GetProofType(ctx context.Context, maddr address.Address, tok shared.TipSetToken) (abi.RegisteredSealProof, error)

func (*ProviderNodeAdapter) LocatePieceForDealWithinSector added in v0.3.0

func (n *ProviderNodeAdapter) LocatePieceForDealWithinSector(ctx context.Context, dealID abi.DealID, encodedTs shared.TipSetToken) (sectorID abi.SectorNumber, offset abi.PaddedPieceSize, length abi.PaddedPieceSize, err error)

TODO: why doesnt this method take in a sector ID?

func (*ProviderNodeAdapter) OnDealComplete

func (*ProviderNodeAdapter) OnDealExpiredOrSlashed added in v0.5.0

func (n *ProviderNodeAdapter) OnDealExpiredOrSlashed(ctx context.Context, dealID abi.DealID, onDealExpired storagemarket.DealExpiredCallback, onDealSlashed storagemarket.DealSlashedCallback) error

func (*ProviderNodeAdapter) OnDealSectorCommitted added in v0.3.0

func (n *ProviderNodeAdapter) OnDealSectorCommitted(ctx context.Context, provider address.Address, dealID abi.DealID, sectorNumber abi.SectorNumber, proposal market2.DealProposal, publishCid *cid.Cid, cb storagemarket.DealSectorCommittedCallback) error

TODO: Remove dealID parameter, change publishCid to be cid.Cid (instead of pointer)

func (*ProviderNodeAdapter) OnDealSectorPreCommitted added in v1.2.2

func (n *ProviderNodeAdapter) OnDealSectorPreCommitted(ctx context.Context, provider address.Address, dealID abi.DealID, proposal market2.DealProposal, publishCid *cid.Cid, cb storagemarket.DealSectorPreCommittedCallback) error

TODO: Remove dealID parameter, change publishCid to be cid.Cid (instead of pointer)

func (*ProviderNodeAdapter) PublishDeals

func (n *ProviderNodeAdapter) PublishDeals(ctx context.Context, deal storagemarket.MinerDeal) (cid.Cid, error)

func (*ProviderNodeAdapter) ReleaseFunds added in v1.1.3

func (n *ProviderNodeAdapter) ReleaseFunds(ctx context.Context, addr address.Address, amt abi.TokenAmount) error

func (*ProviderNodeAdapter) ReserveFunds added in v1.1.3

func (n *ProviderNodeAdapter) ReserveFunds(ctx context.Context, wallet, addr address.Address, amt abi.TokenAmount) (cid.Cid, error)

func (*ProviderNodeAdapter) SignBytes

func (n *ProviderNodeAdapter) SignBytes(ctx context.Context, signer address.Address, b []byte) (*crypto.Signature, error)

func (*ProviderNodeAdapter) VerifySignature added in v0.3.0

func (n *ProviderNodeAdapter) VerifySignature(ctx context.Context, sig crypto.Signature, addr address.Address, input []byte, encodedTs shared.TipSetToken) (bool, error)

func (*ProviderNodeAdapter) WaitForMessage added in v0.3.0

func (n *ProviderNodeAdapter) WaitForMessage(ctx context.Context, mcid cid.Cid, cb func(code exitcode.ExitCode, bytes []byte, finalCid cid.Cid, err error) error) error

func (*ProviderNodeAdapter) WaitForPublishDeals added in v1.4.2

func (n *ProviderNodeAdapter) WaitForPublishDeals(ctx context.Context, publishCid cid.Cid, proposal market2.DealProposal) (*storagemarket.PublishDealsWaitResult, error)

type PublishMsgConfig added in v1.4.2

type PublishMsgConfig struct {
	// The amount of time to wait for more deals to arrive before
	// publishing
	Period time.Duration
	// The maximum number of deals to include in a single PublishStorageDeals
	// message
	MaxDealsPerMsg uint64
}

type SectorCommittedManager added in v1.4.2

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

func NewSectorCommittedManager added in v1.4.2

func NewSectorCommittedManager(ev eventsCalledAPI, tskAPI sealing.CurrentDealInfoTskAPI, dpcAPI diffPreCommitsAPI) *SectorCommittedManager

func (*SectorCommittedManager) OnDealSectorCommitted added in v1.4.2

func (mgr *SectorCommittedManager) OnDealSectorCommitted(ctx context.Context, provider address.Address, sectorNumber abi.SectorNumber, proposal market.DealProposal, publishCid cid.Cid, callback storagemarket.DealSectorCommittedCallback) error

func (*SectorCommittedManager) OnDealSectorPreCommitted added in v1.4.2

func (mgr *SectorCommittedManager) OnDealSectorPreCommitted(ctx context.Context, provider address.Address, proposal market.DealProposal, publishCid cid.Cid, callback storagemarket.DealSectorPreCommittedCallback) error

Jump to

Keyboard shortcuts

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