Documentation
¶
Index ¶
- Constants
- Variables
- func SignWith(ctx context.Context, signer Signer, addr address.Address, signable ...Signable) error
- type ActiveSync
- type ActorState
- type BlockMessages
- type ChainSectorInfo
- type ChannelInfo
- type Common
- type DealInfo
- type DealState
- type FullNode
- type Import
- type Message
- type MinerPower
- type MinerSectors
- type MpoolChange
- type MpoolUpdate
- type MsgWait
- type MultiaddrSlice
- type PCHDir
- type PaychStatus
- type PaymentInfo
- type Permission
- type QueryOffer
- type ReplayResults
- type RetrievalOrder
- type SealedRef
- type SealedRefs
- type SectorInfo
- type SectorState
- type SignFunc
- type Signable
- type Signer
- type StorageMiner
- type SyncState
- type SyncStateStage
- type Version
- type VoucherSpec
Constants ¶
View Source
const ( StageIdle = SyncStateStage(iota) StageHeaders StagePersistHeaders StageMessages StageSyncComplete StageSyncErrored )
View Source
const ( DealUnknown = DealState(iota) DealRejected // Provider didn't like the proposal DealAccepted // Proposal accepted, data moved DealStaged // Data put into the sector DealSealing // Data in process of being sealed DealFailed DealComplete DealError // deal failed with an unexpected error DealNoUpdate = DealUnknown )
Variables ¶
View Source
var DealStates = []string{
"DealUnknown",
"DealRejected",
"DealAccepted",
"DealStaged",
"DealSealing",
"DealFailed",
"DealComplete",
"DealError",
}
View Source
var SectorStates = []string{ UndefinedSectorState: "UndefinedSectorState", Empty: "Empty", Packing: "Packing", Unsealed: "Unsealed", PreCommitting: "PreCommitting", PreCommitted: "PreCommitted", Committing: "Committing", CommitWait: "CommitWait", Proving: "Proving", SealFailed: "SealFailed", PreCommitFailed: "PreCommitFailed", SealCommitFailed: "SealCommitFailed", CommitFailed: "CommitFailed", FailedUnrecoverable: "FailedUnrecoverable", Faulty: "Faulty", FaultReported: "FaultReported", FaultedFinal: "FaultedFinal", }
Functions ¶
Types ¶
type ActiveSync ¶
type ActorState ¶
type BlockMessages ¶
type BlockMessages struct {
BlsMessages []*types.Message
SecpkMessages []*types.SignedMessage
Cids []cid.Cid
}
type ChainSectorInfo ¶
type ChannelInfo ¶
type Common ¶
type Common interface {
// Auth
AuthVerify(ctx context.Context, token string) ([]Permission, error)
AuthNew(ctx context.Context, perms []Permission) ([]byte, error)
NetConnectedness(context.Context, peer.ID) (network.Connectedness, error)
NetPeers(context.Context) ([]peer.AddrInfo, error)
NetConnect(context.Context, peer.AddrInfo) error
NetAddrsListen(context.Context) (peer.AddrInfo, error)
NetDisconnect(context.Context, peer.ID) error
// ID returns peerID of libp2p node backing this API
ID(context.Context) (peer.ID, error)
// Version provides information about API provider
Version(context.Context) (Version, error)
}
type FullNode ¶
type FullNode interface {
Common
// ChainNotify returns channel with chain head updates
// First message is guaranteed to be of len == 1, and type == 'current'
ChainNotify(context.Context) (<-chan []*store.HeadChange, error)
ChainHead(context.Context) (*types.TipSet, error)
ChainGetRandomness(context.Context, types.TipSetKey, int64) ([]byte, error)
ChainGetBlock(context.Context, cid.Cid) (*types.BlockHeader, error)
ChainGetTipSet(context.Context, types.TipSetKey) (*types.TipSet, error)
ChainGetBlockMessages(context.Context, cid.Cid) (*BlockMessages, error)
ChainGetParentReceipts(context.Context, cid.Cid) ([]*types.MessageReceipt, error)
ChainGetParentMessages(context.Context, cid.Cid) ([]Message, error)
ChainGetTipSetByHeight(context.Context, uint64, *types.TipSet) (*types.TipSet, error)
ChainReadObj(context.Context, cid.Cid) ([]byte, error)
ChainSetHead(context.Context, *types.TipSet) error
ChainGetGenesis(context.Context) (*types.TipSet, error)
ChainTipSetWeight(context.Context, *types.TipSet) (types.BigInt, error)
ChainGetNode(ctx context.Context, p string) (interface{}, error)
// syncer
SyncState(context.Context) (*SyncState, error)
SyncSubmitBlock(ctx context.Context, blk *types.BlockMsg) error
SyncIncomingBlocks(ctx context.Context) (<-chan *types.BlockHeader, error)
// messages
MpoolPending(context.Context, *types.TipSet) ([]*types.SignedMessage, error)
MpoolPush(context.Context, *types.SignedMessage) error // TODO: remove
MpoolPushMessage(context.Context, *types.Message) (*types.SignedMessage, error) // get nonce, sign, push
MpoolGetNonce(context.Context, address.Address) (uint64, error)
MpoolSub(context.Context) (<-chan MpoolUpdate, error)
MinerCreateBlock(context.Context, address.Address, *types.TipSet, *types.Ticket, *types.EPostProof, []*types.SignedMessage, uint64, uint64) (*types.BlockMsg, error)
WalletNew(context.Context, string) (address.Address, error)
WalletHas(context.Context, address.Address) (bool, error)
WalletList(context.Context) ([]address.Address, error)
WalletBalance(context.Context, address.Address) (types.BigInt, error)
WalletSign(context.Context, address.Address, []byte) (*types.Signature, error)
WalletSignMessage(context.Context, address.Address, *types.Message) (*types.SignedMessage, error)
WalletDefaultAddress(context.Context) (address.Address, error)
WalletSetDefault(context.Context, address.Address) error
WalletExport(context.Context, address.Address) (*types.KeyInfo, error)
WalletImport(context.Context, *types.KeyInfo) (address.Address, error)
// ClientImport imports file under the specified path into filestore
ClientImport(ctx context.Context, path string) (cid.Cid, error)
ClientStartDeal(ctx context.Context, data cid.Cid, addr address.Address, miner address.Address, epochPrice types.BigInt, blocksDuration uint64) (*cid.Cid, error)
ClientGetDealInfo(context.Context, cid.Cid) (*DealInfo, error)
ClientListDeals(ctx context.Context) ([]DealInfo, error)
ClientHasLocal(ctx context.Context, root cid.Cid) (bool, error)
ClientFindData(ctx context.Context, root cid.Cid) ([]QueryOffer, error)
ClientRetrieve(ctx context.Context, order RetrievalOrder, path string) error
ClientQueryAsk(ctx context.Context, p peer.ID, miner address.Address) (*types.SignedStorageAsk, error)
// ClientListImports lists imported files and their root CIDs
ClientListImports(ctx context.Context) ([]Import, error)
// if tipset is nil, we'll use heaviest
StateCall(context.Context, *types.Message, *types.TipSet) (*types.MessageReceipt, error)
StateReplay(context.Context, *types.TipSet, cid.Cid) (*ReplayResults, error)
StateGetActor(ctx context.Context, actor address.Address, ts *types.TipSet) (*types.Actor, error)
StateReadState(ctx context.Context, act *types.Actor, ts *types.TipSet) (*ActorState, error)
StateMinerSectors(context.Context, address.Address, *types.TipSet) ([]*ChainSectorInfo, error)
StateMinerProvingSet(context.Context, address.Address, *types.TipSet) ([]*ChainSectorInfo, error)
StateMinerPower(context.Context, address.Address, *types.TipSet) (MinerPower, error)
StateMinerWorker(context.Context, address.Address, *types.TipSet) (address.Address, error)
StateMinerPeerID(ctx context.Context, m address.Address, ts *types.TipSet) (peer.ID, error)
StateMinerElectionPeriodStart(ctx context.Context, actor address.Address, ts *types.TipSet) (uint64, error)
StateMinerSectorSize(context.Context, address.Address, *types.TipSet) (uint64, error)
StatePledgeCollateral(context.Context, *types.TipSet) (types.BigInt, error)
StateWaitMsg(context.Context, cid.Cid) (*MsgWait, error)
StateListMiners(context.Context, *types.TipSet) ([]address.Address, error)
StateListActors(context.Context, *types.TipSet) ([]address.Address, error)
StateMarketBalance(context.Context, address.Address, *types.TipSet) (actors.StorageParticipantBalance, error)
StateMarketParticipants(context.Context, *types.TipSet) (map[string]actors.StorageParticipantBalance, error)
StateMarketDeals(context.Context, *types.TipSet) (map[string]actors.OnChainDeal, error)
StateMarketStorageDeal(context.Context, uint64, *types.TipSet) (*actors.OnChainDeal, error)
StateLookupID(context.Context, address.Address, *types.TipSet) (address.Address, error)
StateChangedActors(context.Context, cid.Cid, cid.Cid) (map[string]types.Actor, error)
StateGetReceipt(context.Context, cid.Cid, *types.TipSet) (*types.MessageReceipt, error)
StateMinerSectorCount(context.Context, address.Address, *types.TipSet) (MinerSectors, error)
MarketEnsureAvailable(context.Context, address.Address, types.BigInt) error
PaychGet(ctx context.Context, from, to address.Address, ensureFunds types.BigInt) (*ChannelInfo, error)
PaychList(context.Context) ([]address.Address, error)
PaychStatus(context.Context, address.Address) (*PaychStatus, error)
PaychClose(context.Context, address.Address) (cid.Cid, error)
PaychAllocateLane(ctx context.Context, ch address.Address) (uint64, error)
PaychNewPayment(ctx context.Context, from, to address.Address, vouchers []VoucherSpec) (*PaymentInfo, error)
PaychVoucherCheckValid(context.Context, address.Address, *types.SignedVoucher) error
PaychVoucherCheckSpendable(context.Context, address.Address, *types.SignedVoucher, []byte, []byte) (bool, error)
PaychVoucherCreate(context.Context, address.Address, types.BigInt, uint64) (*types.SignedVoucher, error)
PaychVoucherAdd(context.Context, address.Address, *types.SignedVoucher, []byte, types.BigInt) (types.BigInt, error)
PaychVoucherList(context.Context, address.Address) ([]*types.SignedVoucher, error)
PaychVoucherSubmit(context.Context, address.Address, *types.SignedVoucher) (cid.Cid, error)
}
FullNode API is a low-level interface to the Filecoin network full node
type MinerSectors ¶ added in v0.1.5
type MpoolUpdate ¶
type MpoolUpdate struct {
Type MpoolChange
Message *types.SignedMessage
}
type MultiaddrSlice ¶
TODO: check if this exists anywhere else
func (*MultiaddrSlice) UnmarshalJSON ¶
func (m *MultiaddrSlice) UnmarshalJSON(raw []byte) (err error)
type PaychStatus ¶
type PaymentInfo ¶
type PaymentInfo struct {
Channel address.Address
ChannelMessage *cid.Cid
Vouchers []*types.SignedVoucher
}
func (*PaymentInfo) MarshalCBOR ¶
func (t *PaymentInfo) MarshalCBOR(w io.Writer) error
func (*PaymentInfo) UnmarshalCBOR ¶
func (t *PaymentInfo) UnmarshalCBOR(r io.Reader) error
type Permission ¶
type Permission = string
type QueryOffer ¶
type QueryOffer struct {
Err string
Root cid.Cid
Size uint64
MinPrice types.BigInt
Miner address.Address
MinerPeerID peer.ID
}
func (*QueryOffer) Order ¶
func (o *QueryOffer) Order(client address.Address) RetrievalOrder
type ReplayResults ¶
type ReplayResults struct {
Msg *types.Message
Receipt *types.MessageReceipt
Error string
}
type RetrievalOrder ¶
type SealedRefs ¶
type SealedRefs struct {
Refs []SealedRef
}
func (*SealedRefs) MarshalCBOR ¶
func (t *SealedRefs) MarshalCBOR(w io.Writer) error
func (*SealedRefs) UnmarshalCBOR ¶
func (t *SealedRefs) UnmarshalCBOR(r io.Reader) error
type SectorInfo ¶
type SectorInfo struct {
SectorID uint64
State SectorState
CommD []byte
CommR []byte
Proof []byte
Deals []uint64
Ticket sectorbuilder.SealTicket
Seed sectorbuilder.SealSeed
Retries uint64
LastErr string
}
type SectorState ¶
type SectorState = uint64
alias because cbor-gen doesn't like non-alias types
const ( UndefinedSectorState SectorState = iota Empty // TODO: Is this useful Packing // sector not in sealStore, and not on chain Unsealed // sealing / queued PreCommitting // on chain pre-commit PreCommitted // waiting for seed Committing CommitWait // waiting for message to land on chain Proving SealFailed PreCommitFailed SealCommitFailed CommitFailed FailedUnrecoverable Faulty // sector is corrupted or gone for some reason FaultReported // sector has been declared as a fault on chain FaultedFinal // fault declared on chain )
type StorageMiner ¶
type StorageMiner interface {
Common
ActorAddress(context.Context) (address.Address, error)
ActorSectorSize(context.Context, address.Address) (uint64, error)
// Temp api for testing
PledgeSector(context.Context) error
// Get the status of a given sector by ID
SectorsStatus(context.Context, uint64) (SectorInfo, error)
// List all staged sectors
SectorsList(context.Context) ([]uint64, error)
SectorsRefs(context.Context) (map[string][]SealedRef, error)
SectorsUpdate(context.Context, uint64, SectorState) error
WorkerStats(context.Context) (sectorbuilder.WorkerStats, error)
// WorkerQueue registers a remote worker
WorkerQueue(context.Context, sectorbuilder.WorkerCfg) (<-chan sectorbuilder.WorkerTask, error)
WorkerDone(ctx context.Context, task uint64, res sectorbuilder.SealRes) error
}
StorageMiner is a low-level interface to the Filecoin network storage miner node
type SyncState ¶
type SyncState struct {
ActiveSyncs []ActiveSync
}
type SyncStateStage ¶
type SyncStateStage int
type Version ¶
type Version struct {
Version string
// APIVersion is a binary encoded semver version of the remote implementing
// this api
//
// See APIVersion in build/version.go
APIVersion build.Version
// Seconds
BlockDelay uint64
}
Version provides various build-time information
type VoucherSpec ¶
Source Files
¶
Click to show internal directories.
Click to hide internal directories.