Documentation ¶
Index ¶
- Constants
- Variables
- func SignWith(ctx context.Context, signer Signer, addr address.Address, signable ...Signable) error
- type ActiveSync
- type ActorState
- type BlockMessages
- type BlockTemplate
- type ChainSectorInfo
- type ChannelAvailableFunds
- type ChannelInfo
- type CirculatingSupply
- type CommPRet
- type Common
- type ComputeStateOutput
- type DataSize
- type DataTransferChannel
- type DealCollateralBounds
- type DealInfo
- type Fault
- type FileRef
- type FullNode
- type HeadChange
- type Import
- type ImportRes
- type InvocResult
- type IpldObject
- type MarketBalance
- type MarketDeal
- type Message
- type MessageSendSpec
- type MethodCall
- type MinerInfo
- type MinerPower
- type MinerSectors
- type MiningBaseInfo
- type MpoolChange
- type MpoolUpdate
- type MsgGasCost
- type MsgLookup
- type MsigProposeResponse
- type MultiaddrSlice
- type NatInfo
- type ObjStat
- type PCHDir
- type PaychStatus
- type PaymentInfo
- type PubsubScore
- type QueryOffer
- type RetrievalOrder
- type SealRes
- type SealSeed
- type SealTicket
- type SealedRef
- type SealedRefs
- type SectorExpiration
- type SectorInfo
- type SectorLocation
- type SectorLog
- type SectorState
- type SignFunc
- type Signable
- type Signer
- type StartDealParams
- type StorageMiner
- type SyncState
- type SyncStateStage
- type Version
- type VoucherCreateResult
- type VoucherSpec
- type WorkerAPI
Constants ¶
View Source
const ( StageIdle = SyncStateStage(iota) StageHeaders StagePersistHeaders StageMessages StageSyncComplete StageSyncErrored StageFetchingMessages )
Variables ¶
View Source
var DefaultMessageSendSpec = MessageSendSpec{ MaxFee: abi.NewTokenAmount(int64(build.FilecoinPrecision) / 10), }
Functions ¶
Types ¶
type ActiveSync ¶
type ActorState ¶
type BlockMessages ¶
type BlockMessages struct { BlsMessages []*types.Message SecpkMessages []*types.SignedMessage Cids []cid.Cid }
type BlockTemplate ¶ added in v0.3.0
type BlockTemplate struct { Miner address.Address Parents types.TipSetKey Ticket *types.Ticket Eproof *types.ElectionProof BeaconValues []types.BeaconEntry Messages []*types.SignedMessage Epoch abi.ChainEpoch Timestamp uint64 WinningPoStProof []proof.PoStProof }
type ChainSectorInfo ¶
type ChainSectorInfo struct { Info miner.SectorOnChainInfo ID abi.SectorNumber }
type ChannelAvailableFunds ¶ added in v0.6.0
type ChannelAvailableFunds struct { // Channel is the address of the channel Channel *address.Address // From is the from address of the channel (channel creator) From address.Address // To is the to address of the channel To address.Address // ConfirmedAmt is the amount of funds that have been confirmed on-chain // for the channel ConfirmedAmt types.BigInt // PendingAmt is the amount of funds that are pending confirmation on-chain PendingAmt types.BigInt // PendingWaitSentinel can be used with PaychGetWaitReady to wait for // confirmation of pending funds PendingWaitSentinel *cid.Cid // QueuedAmt is the amount that is queued up behind a pending request QueuedAmt types.BigInt // VoucherRedeemedAmt is the amount that is redeemed by vouchers on-chain // and in the local datastore VoucherReedeemedAmt types.BigInt }
type ChannelInfo ¶
type ChannelInfo struct { Channel address.Address WaitSentinel cid.Cid }
type CirculatingSupply ¶ added in v0.5.0
type CirculatingSupply struct { FilVested abi.TokenAmount FilMined abi.TokenAmount FilBurnt abi.TokenAmount FilLocked abi.TokenAmount FilCirculating abi.TokenAmount }
type CommPRet ¶ added in v0.3.0
type CommPRet struct { Root cid.Cid Size abi.UnpaddedPieceSize }
type Common ¶
type Common interface { AuthVerify(ctx context.Context, token string) ([]auth.Permission, error) AuthNew(ctx context.Context, perms []auth.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 NetFindPeer(context.Context, peer.ID) (peer.AddrInfo, error) NetPubsubScores(context.Context) ([]PubsubScore, error) NetAutoNatStatus(context.Context) (NatInfo, error) NetAgentVersion(ctx context.Context, p peer.ID) (string, error) // NetBandwidthStats returns statistics about the nodes total bandwidth // usage and current rate across all peers and protocols. NetBandwidthStats(ctx context.Context) (metrics.Stats, error) // NetBandwidthStatsByPeer returns statistics about the nodes bandwidth // usage and current rate per peer NetBandwidthStatsByPeer(ctx context.Context) (map[string]metrics.Stats, error) // NetBandwidthStatsByProtocol returns statistics about the nodes bandwidth // usage and current rate per protocol NetBandwidthStatsByProtocol(ctx context.Context) (map[protocol.ID]metrics.Stats, 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) LogList(context.Context) ([]string, error) LogSetLevel(context.Context, string, string) error // trigger graceful shutdown Shutdown(context.Context) error Closing(context.Context) (<-chan struct{}, error) }
type ComputeStateOutput ¶ added in v0.3.0
type ComputeStateOutput struct { Root cid.Cid Trace []*InvocResult }
type DataSize ¶ added in v0.5.0
type DataSize struct { PayloadSize int64 PieceSize abi.PaddedPieceSize }
type DataTransferChannel ¶ added in v0.5.0
type DataTransferChannel struct { TransferID datatransfer.TransferID Status datatransfer.Status BaseCID cid.Cid IsInitiator bool IsSender bool Voucher string Message string OtherPeer peer.ID Transferred uint64 }
func NewDataTransferChannel ¶ added in v0.5.0
func NewDataTransferChannel(hostID peer.ID, channelState datatransfer.ChannelState) DataTransferChannel
NewDataTransferChannel constructs an API DataTransferChannel type from full channel state snapshot and a host id
type DealCollateralBounds ¶ added in v0.5.0
type DealCollateralBounds struct { Min abi.TokenAmount Max abi.TokenAmount }
type DealInfo ¶
type DealInfo struct { ProposalCid cid.Cid State storagemarket.StorageDealStatus Message string // more information about deal state, particularly errors Provider address.Address DataRef *storagemarket.DataRef PieceCID cid.Cid Size uint64 PricePerEpoch types.BigInt Duration uint64 DealID abi.DealID CreationTime time.Time }
type Fault ¶ added in v0.3.1
type Fault struct { Miner address.Address Epoch abi.ChainEpoch }
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 []*HeadChange, error) // ChainHead returns the current head of the chain. ChainHead(context.Context) (*types.TipSet, error) // ChainGetRandomnessFromTickets is used to sample the chain for randomness. ChainGetRandomnessFromTickets(ctx context.Context, tsk types.TipSetKey, personalization crypto.DomainSeparationTag, randEpoch abi.ChainEpoch, entropy []byte) (abi.Randomness, error) // ChainGetRandomnessFromBeacon is used to sample the beacon for randomness. ChainGetRandomnessFromBeacon(ctx context.Context, tsk types.TipSetKey, personalization crypto.DomainSeparationTag, randEpoch abi.ChainEpoch, entropy []byte) (abi.Randomness, error) // ChainGetBlock returns the block specified by the given CID. ChainGetBlock(context.Context, cid.Cid) (*types.BlockHeader, error) // ChainGetTipSet returns the tipset specified by the given TipSetKey. ChainGetTipSet(context.Context, types.TipSetKey) (*types.TipSet, error) // ChainGetBlockMessages returns messages stored in the specified block. ChainGetBlockMessages(ctx context.Context, blockCid cid.Cid) (*BlockMessages, error) // ChainGetParentReceipts returns receipts for messages in parent tipset of // the specified block. ChainGetParentReceipts(ctx context.Context, blockCid cid.Cid) ([]*types.MessageReceipt, error) // ChainGetParentMessages returns messages stored in parent tipset of the // specified block. ChainGetParentMessages(ctx context.Context, blockCid cid.Cid) ([]Message, error) // ChainGetTipSetByHeight looks back for a tipset at the specified epoch. // If there are no blocks at the specified epoch, a tipset at an earlier epoch // will be returned. ChainGetTipSetByHeight(context.Context, abi.ChainEpoch, types.TipSetKey) (*types.TipSet, error) // ChainReadObj reads ipld nodes referenced by the specified CID from chain // blockstore and returns raw bytes. ChainReadObj(context.Context, cid.Cid) ([]byte, error) // ChainHasObj checks if a given CID exists in the chain blockstore. ChainHasObj(context.Context, cid.Cid) (bool, error) // ChainStatObj returns statistics about the graph referenced by 'obj'. // If 'base' is also specified, then the returned stat will be a diff // between the two objects. ChainStatObj(ctx context.Context, obj cid.Cid, base cid.Cid) (ObjStat, error) // ChainSetHead forcefully sets current chain head. Use with caution. ChainSetHead(context.Context, types.TipSetKey) error // ChainGetGenesis returns the genesis tipset. ChainGetGenesis(context.Context) (*types.TipSet, error) // ChainTipSetWeight computes weight for the specified tipset. ChainTipSetWeight(context.Context, types.TipSetKey) (types.BigInt, error) ChainGetNode(ctx context.Context, p string) (*IpldObject, error) // ChainGetMessage reads a message referenced by the specified CID from the // chain blockstore. ChainGetMessage(context.Context, cid.Cid) (*types.Message, error) // ChainGetPath returns a set of revert/apply operations needed to get from // one tipset to another, for example: //“` // to // ^ // from tAA // ^ ^ // tBA tAB // ^---*--^ // ^ // tRR //“` // Would return `[revert(tBA), apply(tAB), apply(tAA)]` ChainGetPath(ctx context.Context, from types.TipSetKey, to types.TipSetKey) ([]*HeadChange, error) // ChainExport returns a stream of bytes with CAR dump of chain data. // The exported chain data includes the header chain from the given tipset // back to genesis, the entire genesis state, and the most recent 'nroots' // state trees. // If oldmsgskip is set, messages from before the requested roots are also not included. ChainExport(ctx context.Context, nroots abi.ChainEpoch, oldmsgskip bool, tsk types.TipSetKey) (<-chan []byte, error) // BeaconGetEntry returns the beacon entry for the given filecoin epoch. If // the entry has not yet been produced, the call will block until the entry // becomes available BeaconGetEntry(ctx context.Context, epoch abi.ChainEpoch) (*types.BeaconEntry, error) // GasEstimateFeeCap estimates gas fee cap GasEstimateFeeCap(context.Context, *types.Message, int64, types.TipSetKey) (types.BigInt, error) // GasEstimateGasLimit estimates gas used by the message and returns it. // It fails if message fails to execute. GasEstimateGasLimit(context.Context, *types.Message, types.TipSetKey) (int64, error) GasEstimateGasPremium(_ context.Context, nblocksincl uint64, sender address.Address, gaslimit int64, tsk types.TipSetKey) (types.BigInt, error) // GasEstimateMessageGas estimates gas values for unset message gas fields GasEstimateMessageGas(context.Context, *types.Message, *MessageSendSpec, types.TipSetKey) (*types.Message, error) // SyncState returns the current status of the lotus sync system. SyncState(context.Context) (*SyncState, error) // SyncSubmitBlock can be used to submit a newly created block to the. // network through this node SyncSubmitBlock(ctx context.Context, blk *types.BlockMsg) error // SyncIncomingBlocks returns a channel streaming incoming, potentially not // yet synced block headers. SyncIncomingBlocks(ctx context.Context) (<-chan *types.BlockHeader, error) // SyncCheckpoint marks a blocks as checkpointed, meaning that it won't ever fork away from it. SyncCheckpoint(ctx context.Context, tsk types.TipSetKey) error // SyncMarkBad marks a blocks as bad, meaning that it won't ever by synced. // Use with extreme caution. SyncMarkBad(ctx context.Context, bcid cid.Cid) error // SyncUnmarkBad unmarks a blocks as bad, making it possible to be validated and synced again. SyncUnmarkBad(ctx context.Context, bcid cid.Cid) error // SyncCheckBad checks if a block was marked as bad, and if it was, returns // the reason. SyncCheckBad(ctx context.Context, bcid cid.Cid) (string, error) // MpoolPending returns pending mempool messages. MpoolPending(context.Context, types.TipSetKey) ([]*types.SignedMessage, error) // MpoolSelect returns a list of pending messages for inclusion in the next block MpoolSelect(context.Context, types.TipSetKey, float64) ([]*types.SignedMessage, error) // MpoolPush pushes a signed message to mempool. MpoolPush(context.Context, *types.SignedMessage) (cid.Cid, error) // MpoolPushMessage atomically assigns a nonce, signs, and pushes a message // to mempool. // maxFee is only used when GasFeeCap/GasPremium fields aren't specified // // When maxFee is set to 0, MpoolPushMessage will guess appropriate fee // based on current chain conditions MpoolPushMessage(ctx context.Context, msg *types.Message, spec *MessageSendSpec) (*types.SignedMessage, error) // MpoolGetNonce gets next nonce for the specified sender. // Note that this method may not be atomic. Use MpoolPushMessage instead. MpoolGetNonce(context.Context, address.Address) (uint64, error) MpoolSub(context.Context) (<-chan MpoolUpdate, error) // MpoolClear clears pending messages from the mpool MpoolClear(context.Context, bool) error // MpoolGetConfig returns (a copy of) the current mpool config MpoolGetConfig(context.Context) (*types.MpoolConfig, error) // MpoolSetConfig sets the mpool config to (a copy of) the supplied config MpoolSetConfig(context.Context, *types.MpoolConfig) error MinerGetBaseInfo(context.Context, address.Address, abi.ChainEpoch, types.TipSetKey) (*MiningBaseInfo, error) MinerCreateBlock(context.Context, *BlockTemplate) (*types.BlockMsg, error) // WalletNew creates a new address in the wallet with the given sigType. WalletNew(context.Context, crypto.SigType) (address.Address, error) // WalletHas indicates whether the given address is in the wallet. WalletHas(context.Context, address.Address) (bool, error) // WalletList lists all the addresses in the wallet. WalletList(context.Context) ([]address.Address, error) // WalletBalance returns the balance of the given address at the current head of the chain. WalletBalance(context.Context, address.Address) (types.BigInt, error) // WalletSign signs the given bytes using the given address. WalletSign(context.Context, address.Address, []byte) (*crypto.Signature, error) // WalletSignMessage signs the given message using the given address. WalletSignMessage(context.Context, address.Address, *types.Message) (*types.SignedMessage, error) // WalletVerify takes an address, a signature, and some bytes, and indicates whether the signature is valid. // The address does not have to be in the wallet. WalletVerify(context.Context, address.Address, []byte, *crypto.Signature) bool // WalletDefaultAddress returns the address marked as default in the wallet. WalletDefaultAddress(context.Context) (address.Address, error) // WalletSetDefault marks the given address as as the default one. WalletSetDefault(context.Context, address.Address) error // WalletExport returns the private key of an address in the wallet. WalletExport(context.Context, address.Address) (*types.KeyInfo, error) // WalletImport receives a KeyInfo, which includes a private key, and imports it into the wallet. WalletImport(context.Context, *types.KeyInfo) (address.Address, error) // WalletDelete deletes an address from the wallet. WalletDelete(context.Context, address.Address) error // ClientImport imports file under the specified path into filestore. ClientImport(ctx context.Context, ref FileRef) (*ImportRes, error) // ClientRemoveImport removes file import ClientRemoveImport(ctx context.Context, importID multistore.StoreID) error // ClientStartDeal proposes a deal with a miner. ClientStartDeal(ctx context.Context, params *StartDealParams) (*cid.Cid, error) // ClientGetDealInfo returns the latest information about a given deal. ClientGetDealInfo(context.Context, cid.Cid) (*DealInfo, error) // ClientListDeals returns information about the deals made by the local client. ClientListDeals(ctx context.Context) ([]DealInfo, error) // ClientGetDealUpdates returns the status of updated deals ClientGetDealUpdates(ctx context.Context) (<-chan DealInfo, error) // ClientHasLocal indicates whether a certain CID is locally stored. ClientHasLocal(ctx context.Context, root cid.Cid) (bool, error) // ClientFindData identifies peers that have a certain file, and returns QueryOffers (one per peer). ClientFindData(ctx context.Context, root cid.Cid, piece *cid.Cid) ([]QueryOffer, error) // ClientMinerQueryOffer returns a QueryOffer for the specific miner and file. ClientMinerQueryOffer(ctx context.Context, miner address.Address, root cid.Cid, piece *cid.Cid) (QueryOffer, error) // ClientRetrieve initiates the retrieval of a file, as specified in the order. ClientRetrieve(ctx context.Context, order RetrievalOrder, ref *FileRef) error // ClientRetrieveWithEvents initiates the retrieval of a file, as specified in the order, and provides a channel // of status updates. ClientRetrieveWithEvents(ctx context.Context, order RetrievalOrder, ref *FileRef) (<-chan marketevents.RetrievalEvent, error) // ClientQueryAsk returns a signed StorageAsk from the specified miner. ClientQueryAsk(ctx context.Context, p peer.ID, miner address.Address) (*storagemarket.SignedStorageAsk, error) // ClientCalcCommP calculates the CommP for a specified file ClientCalcCommP(ctx context.Context, inpath string) (*CommPRet, error) // ClientGenCar generates a CAR file for the specified file. ClientGenCar(ctx context.Context, ref FileRef, outpath string) error // ClientDealSize calculates real deal data size ClientDealSize(ctx context.Context, root cid.Cid) (DataSize, error) // ClientListTransfers returns the status of all ongoing transfers of data ClientListDataTransfers(ctx context.Context) ([]DataTransferChannel, error) ClientDataTransferUpdates(ctx context.Context) (<-chan DataTransferChannel, error) // ClientRetrieveTryRestartInsufficientFunds attempts to restart stalled retrievals on a given payment channel // which are stuck due to insufficient funds ClientRetrieveTryRestartInsufficientFunds(ctx context.Context, paymentChannel address.Address) error // ClientListImports lists imported files and their root CIDs ClientListImports(ctx context.Context) ([]Import, error) // StateCall runs the given message and returns its result without any persisted changes. StateCall(context.Context, *types.Message, types.TipSetKey) (*InvocResult, error) // StateReplay returns the result of executing the indicated message, assuming it was executed in the indicated tipset. StateReplay(context.Context, types.TipSetKey, cid.Cid) (*InvocResult, error) // StateGetActor returns the indicated actor's nonce and balance. StateGetActor(ctx context.Context, actor address.Address, tsk types.TipSetKey) (*types.Actor, error) // StateReadState returns the indicated actor's state. StateReadState(ctx context.Context, actor address.Address, tsk types.TipSetKey) (*ActorState, error) // StateListMessages looks back and returns all messages with a matching to or from address, stopping at the given height. StateListMessages(ctx context.Context, match *types.Message, tsk types.TipSetKey, toht abi.ChainEpoch) ([]cid.Cid, error) // StateNetworkName returns the name of the network the node is synced to StateNetworkName(context.Context) (dtypes.NetworkName, error) // StateMinerSectors returns info about the given miner's sectors. If the filter bitfield is nil, all sectors are included. // If the filterOut boolean is set to true, any sectors in the filter are excluded. // If false, only those sectors in the filter are included. StateMinerSectors(context.Context, address.Address, *bitfield.BitField, bool, types.TipSetKey) ([]*ChainSectorInfo, error) // StateMinerActiveSectors returns info about sectors that a given miner is actively proving. StateMinerActiveSectors(context.Context, address.Address, types.TipSetKey) ([]*ChainSectorInfo, error) // StateMinerProvingDeadline calculates the deadline at some epoch for a proving period // and returns the deadline-related calculations. StateMinerProvingDeadline(context.Context, address.Address, types.TipSetKey) (*dline.Info, error) // StateMinerPower returns the power of the indicated miner StateMinerPower(context.Context, address.Address, types.TipSetKey) (*MinerPower, error) // StateMinerInfo returns info about the indicated miner StateMinerInfo(context.Context, address.Address, types.TipSetKey) (MinerInfo, error) // StateMinerDeadlines returns all the proving deadlines for the given miner StateMinerDeadlines(context.Context, address.Address, types.TipSetKey) ([]*miner.Deadline, error) // StateMinerPartitions loads miner partitions for the specified miner/deadline StateMinerPartitions(context.Context, address.Address, uint64, types.TipSetKey) ([]*miner.Partition, error) // StateMinerFaults returns a bitfield indicating the faulty sectors of the given miner StateMinerFaults(context.Context, address.Address, types.TipSetKey) (bitfield.BitField, error) // StateAllMinerFaults returns all non-expired Faults that occur within lookback epochs of the given tipset StateAllMinerFaults(ctx context.Context, lookback abi.ChainEpoch, ts types.TipSetKey) ([]*Fault, error) // StateMinerRecoveries returns a bitfield indicating the recovering sectors of the given miner StateMinerRecoveries(context.Context, address.Address, types.TipSetKey) (bitfield.BitField, error) // StateMinerInitialPledgeCollateral returns the precommit deposit for the specified miner's sector StateMinerPreCommitDepositForPower(context.Context, address.Address, miner.SectorPreCommitInfo, types.TipSetKey) (types.BigInt, error) // StateMinerInitialPledgeCollateral returns the initial pledge collateral for the specified miner's sector StateMinerInitialPledgeCollateral(context.Context, address.Address, miner.SectorPreCommitInfo, types.TipSetKey) (types.BigInt, error) // StateMinerAvailableBalance returns the portion of a miner's balance that can be withdrawn or spent StateMinerAvailableBalance(context.Context, address.Address, types.TipSetKey) (types.BigInt, error) // StateSectorPreCommitInfo returns the PreCommit info for the specified miner's sector StateSectorPreCommitInfo(context.Context, address.Address, abi.SectorNumber, types.TipSetKey) (miner.SectorPreCommitOnChainInfo, error) // StateSectorGetInfo returns the on-chain info for the specified miner's sector. Returns null in case the sector info isn't found // NOTE: returned info.Expiration may not be accurate in some cases, use StateSectorExpiration to get accurate // expiration epoch StateSectorGetInfo(context.Context, address.Address, abi.SectorNumber, types.TipSetKey) (*miner.SectorOnChainInfo, error) // StateSectorExpiration returns epoch at which given sector will expire StateSectorExpiration(context.Context, address.Address, abi.SectorNumber, types.TipSetKey) (*SectorExpiration, error) // StateSectorPartition finds deadline/partition with the specified sector StateSectorPartition(ctx context.Context, maddr address.Address, sectorNumber abi.SectorNumber, tok types.TipSetKey) (*SectorLocation, error) // StateSearchMsg searches for a message in the chain, and returns its receipt and the tipset where it was executed StateSearchMsg(context.Context, cid.Cid) (*MsgLookup, error) // StateMsgGasCost searches for a message in the chain, and returns details of the messages gas costs, including the penalty and miner tip StateMsgGasCost(context.Context, cid.Cid, types.TipSetKey) (*MsgGasCost, error) // StateWaitMsg looks back in the chain for a message. If not found, it blocks until the // message arrives on chain, and gets to the indicated confidence depth. StateWaitMsg(ctx context.Context, cid cid.Cid, confidence uint64) (*MsgLookup, error) // StateListMiners returns the addresses of every miner that has claimed power in the Power Actor StateListMiners(context.Context, types.TipSetKey) ([]address.Address, error) // StateListActors returns the addresses of every actor in the state StateListActors(context.Context, types.TipSetKey) ([]address.Address, error) // StateMarketBalance looks up the Escrow and Locked balances of the given address in the Storage Market StateMarketBalance(context.Context, address.Address, types.TipSetKey) (MarketBalance, error) // StateMarketParticipants returns the Escrow and Locked balances of every participant in the Storage Market StateMarketParticipants(context.Context, types.TipSetKey) (map[string]MarketBalance, error) // StateMarketDeals returns information about every deal in the Storage Market StateMarketDeals(context.Context, types.TipSetKey) (map[string]MarketDeal, error) // StateMarketStorageDeal returns information about the indicated deal StateMarketStorageDeal(context.Context, abi.DealID, types.TipSetKey) (*MarketDeal, error) // StateLookupID retrieves the ID address of the given address StateLookupID(context.Context, address.Address, types.TipSetKey) (address.Address, error) // StateAccountKey returns the public key address of the given ID address StateAccountKey(context.Context, address.Address, types.TipSetKey) (address.Address, error) // StateChangedActors returns all the actors whose states change between the two given state CIDs // TODO: Should this take tipset keys instead? StateChangedActors(context.Context, cid.Cid, cid.Cid) (map[string]types.Actor, error) // StateGetReceipt returns the message receipt for the given message StateGetReceipt(context.Context, cid.Cid, types.TipSetKey) (*types.MessageReceipt, error) // StateMinerSectorCount returns the number of sectors in a miner's sector set and proving set StateMinerSectorCount(context.Context, address.Address, types.TipSetKey) (MinerSectors, error) // StateCompute is a flexible command that applies the given messages on the given tipset. // The messages are run as though the VM were at the provided height. StateCompute(context.Context, abi.ChainEpoch, []*types.Message, types.TipSetKey) (*ComputeStateOutput, error) // StateVerifiedClientStatus returns the data cap for the given address. // Returns nil if there is no entry in the data cap table for the // address. StateVerifiedClientStatus(ctx context.Context, addr address.Address, tsk types.TipSetKey) (*verifreg.DataCap, error) // StateDealProviderCollateralBounds returns the min and max collateral a storage provider // can issue. It takes the deal size and verified status as parameters. StateDealProviderCollateralBounds(context.Context, abi.PaddedPieceSize, bool, types.TipSetKey) (DealCollateralBounds, error) // StateCirculatingSupply returns the circulating supply of Filecoin at the given tipset StateCirculatingSupply(context.Context, types.TipSetKey) (CirculatingSupply, error) // MsigGetAvailableBalance returns the portion of a multisig's balance that can be withdrawn or spent MsigGetAvailableBalance(context.Context, address.Address, types.TipSetKey) (types.BigInt, error) // MsigGetVested returns the amount of FIL that vested in a multisig in a certain period. // It takes the following params: <multisig address>, <start epoch>, <end epoch> MsigGetVested(context.Context, address.Address, types.TipSetKey, types.TipSetKey) (types.BigInt, error) // MsigCreate creates a multisig wallet // It takes the following params: <required number of senders>, <approving addresses>, <unlock duration> //<initial balance>, <sender address of the create msg>, <gas price> MsigCreate(context.Context, uint64, []address.Address, abi.ChainEpoch, types.BigInt, address.Address, types.BigInt) (cid.Cid, error) // MsigPropose proposes a multisig message // It takes the following params: <multisig address>, <recipient address>, <value to transfer>, // <sender address of the propose msg>, <method to call in the proposed message>, <params to include in the proposed message> MsigPropose(context.Context, address.Address, address.Address, types.BigInt, address.Address, uint64, []byte) (cid.Cid, error) // MsigApprove approves a previously-proposed multisig message // It takes the following params: <multisig address>, <proposed message ID>, <proposer address>, <recipient address>, <value to transfer>, // <sender address of the approve msg>, <method to call in the proposed message>, <params to include in the proposed message> MsigApprove(context.Context, address.Address, uint64, address.Address, address.Address, types.BigInt, address.Address, uint64, []byte) (cid.Cid, error) // MsigCancel cancels a previously-proposed multisig message // It takes the following params: <multisig address>, <proposed message ID>, <recipient address>, <value to transfer>, // <sender address of the cancel msg>, <method to call in the proposed message>, <params to include in the proposed message> MsigCancel(context.Context, address.Address, uint64, address.Address, types.BigInt, address.Address, uint64, []byte) (cid.Cid, error) // MsigAddPropose proposes adding a signer in the multisig // It takes the following params: <multisig address>, <sender address of the propose msg>, // <new signer>, <whether the number of required signers should be increased> MsigAddPropose(context.Context, address.Address, address.Address, address.Address, bool) (cid.Cid, error) // MsigAddApprove approves a previously proposed AddSigner message // It takes the following params: <multisig address>, <sender address of the approve msg>, <proposed message ID>, // <proposer address>, <new signer>, <whether the number of required signers should be increased> MsigAddApprove(context.Context, address.Address, address.Address, uint64, address.Address, address.Address, bool) (cid.Cid, error) // MsigAddCancel cancels a previously proposed AddSigner message // It takes the following params: <multisig address>, <sender address of the cancel msg>, <proposed message ID>, // <new signer>, <whether the number of required signers should be increased> MsigAddCancel(context.Context, address.Address, address.Address, uint64, address.Address, bool) (cid.Cid, error) // MsigSwapPropose proposes swapping 2 signers in the multisig // It takes the following params: <multisig address>, <sender address of the propose msg>, // <old signer>, <new signer> MsigSwapPropose(context.Context, address.Address, address.Address, address.Address, address.Address) (cid.Cid, error) // MsigSwapApprove approves a previously proposed SwapSigner // It takes the following params: <multisig address>, <sender address of the approve msg>, <proposed message ID>, // <proposer address>, <old signer>, <new signer> MsigSwapApprove(context.Context, address.Address, address.Address, uint64, address.Address, address.Address, address.Address) (cid.Cid, error) // MsigSwapCancel cancels a previously proposed SwapSigner message // It takes the following params: <multisig address>, <sender address of the cancel msg>, <proposed message ID>, // <old signer>, <new signer> MsigSwapCancel(context.Context, address.Address, address.Address, uint64, address.Address, address.Address) (cid.Cid, error) MarketEnsureAvailable(context.Context, address.Address, address.Address, types.BigInt) (cid.Cid, error) PaychGet(ctx context.Context, from, to address.Address, amt types.BigInt) (*ChannelInfo, error) PaychGetWaitReady(context.Context, cid.Cid) (address.Address, error) PaychAvailableFunds(ctx context.Context, ch address.Address) (*ChannelAvailableFunds, error) PaychAvailableFundsByFromTo(ctx context.Context, from, to address.Address) (*ChannelAvailableFunds, error) PaychList(context.Context) ([]address.Address, error) PaychStatus(context.Context, address.Address) (*PaychStatus, error) PaychSettle(context.Context, address.Address) (cid.Cid, error) PaychCollect(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, *paych.SignedVoucher) error PaychVoucherCheckSpendable(context.Context, address.Address, *paych.SignedVoucher, []byte, []byte) (bool, error) PaychVoucherCreate(context.Context, address.Address, types.BigInt, uint64) (*VoucherCreateResult, error) PaychVoucherAdd(context.Context, address.Address, *paych.SignedVoucher, []byte, types.BigInt) (types.BigInt, error) PaychVoucherList(context.Context, address.Address) ([]*paych.SignedVoucher, error) PaychVoucherSubmit(context.Context, address.Address, *paych.SignedVoucher, []byte, []byte) (cid.Cid, error) }
FullNode API is a low-level interface to the Filecoin network full node
type HeadChange ¶ added in v0.3.0
type InvocResult ¶ added in v0.3.0
type InvocResult struct { Msg *types.Message MsgRct *types.MessageReceipt ExecutionTrace types.ExecutionTrace Error string Duration time.Duration }
type IpldObject ¶ added in v0.3.0
type IpldObject struct { Cid cid.Cid Obj interface{} }
type MarketDeal ¶ added in v0.3.0
type MarketDeal struct { Proposal market.DealProposal State market.DealState }
type MessageSendSpec ¶ added in v0.5.0
type MessageSendSpec struct {
MaxFee abi.TokenAmount
}
func (*MessageSendSpec) Get ¶ added in v0.5.0
func (ms *MessageSendSpec) Get() MessageSendSpec
type MethodCall ¶ added in v0.2.6
type MethodCall struct { types.MessageReceipt Error string }
type MinerInfo ¶ added in v0.4.0
type MinerInfo struct { Owner address.Address // Must be an ID-address. Worker address.Address // Must be an ID-address. NewWorker address.Address // Must be an ID-address. ControlAddresses []address.Address // Must be an ID-addresses. WorkerChangeEpoch abi.ChainEpoch PeerId *peer.ID Multiaddrs []abi.Multiaddrs SealProofType abi.RegisteredSealProof SectorSize abi.SectorSize WindowPoStPartitionSectors uint64 }
func NewApiMinerInfo ¶ added in v0.4.0
type MinerSectors ¶ added in v0.1.5
type MiningBaseInfo ¶ added in v0.3.0
type MiningBaseInfo struct { MinerPower types.BigInt NetworkPower types.BigInt Sectors []proof.SectorInfo WorkerKey address.Address SectorSize abi.SectorSize PrevBeaconEntry types.BeaconEntry BeaconEntries []types.BeaconEntry HasMinPower bool }
type MpoolUpdate ¶
type MpoolUpdate struct { Type MpoolChange Message *types.SignedMessage }
type MsgGasCost ¶ added in v0.7.1
type MsgGasCost struct { Message cid.Cid // Can be different than requested, in case it was replaced, but only gas values changed GasUsed abi.TokenAmount BaseFeeBurn abi.TokenAmount OverEstimationBurn abi.TokenAmount MinerPenalty abi.TokenAmount MinerTip abi.TokenAmount Refund abi.TokenAmount TotalCost abi.TokenAmount }
type MsgLookup ¶ added in v0.3.0
type MsgLookup struct { Message cid.Cid // Can be different than requested, in case it was replaced, but only gas values changed Receipt types.MessageReceipt ReturnDec interface{} TipSet types.TipSetKey Height abi.ChainEpoch }
type MsigProposeResponse ¶ added in v0.3.0
type MsigProposeResponse int
const ( MsigApprove MsigProposeResponse = iota MsigCancel )
type MultiaddrSlice ¶
func (*MultiaddrSlice) UnmarshalJSON ¶
func (m *MultiaddrSlice) UnmarshalJSON(raw []byte) (err error)
type NatInfo ¶ added in v0.5.0
type NatInfo struct { Reachability network.Reachability PublicAddr string }
type PaychStatus ¶
type PaychStatus struct { ControlAddr address.Address Direction PCHDir }
type PaymentInfo ¶
type PaymentInfo struct { Channel address.Address WaitSentinel cid.Cid Vouchers []*paych.SignedVoucher }
func (*PaymentInfo) MarshalCBOR ¶
func (t *PaymentInfo) MarshalCBOR(w io.Writer) error
func (*PaymentInfo) UnmarshalCBOR ¶
func (t *PaymentInfo) UnmarshalCBOR(r io.Reader) error
type PubsubScore ¶ added in v0.3.1
type PubsubScore struct { ID peer.ID Score *pubsub.PeerScoreSnapshot }
type QueryOffer ¶
type QueryOffer struct { Err string Root cid.Cid Piece *cid.Cid Size uint64 MinPrice types.BigInt UnsealPrice types.BigInt PaymentInterval uint64 PaymentIntervalIncrease uint64 Miner address.Address MinerPeer retrievalmarket.RetrievalPeer }
func (*QueryOffer) Order ¶
func (o *QueryOffer) Order(client address.Address) RetrievalOrder
type RetrievalOrder ¶
type RetrievalOrder struct { // TODO: make this less unixfs specific Root cid.Cid Piece *cid.Cid Size uint64 // TODO: support offset Total types.BigInt UnsealPrice types.BigInt PaymentInterval uint64 PaymentIntervalIncrease uint64 Client address.Address Miner address.Address MinerPeer retrievalmarket.RetrievalPeer }
type SealSeed ¶ added in v0.3.0
type SealSeed struct { Value abi.InteractiveSealRandomness Epoch abi.ChainEpoch }
type SealTicket ¶ added in v0.3.0
type SealTicket struct { Value abi.SealRandomness Epoch abi.ChainEpoch }
func (*SealTicket) Equals ¶ added in v0.3.0
func (st *SealTicket) Equals(ost *SealTicket) bool
func (*SealTicket) MarshalCBOR ¶ added in v0.3.0
func (t *SealTicket) MarshalCBOR(w io.Writer) error
func (*SealTicket) UnmarshalCBOR ¶ added in v0.3.0
func (t *SealTicket) UnmarshalCBOR(r io.Reader) error
type SealedRef ¶
type SealedRef struct { SectorID abi.SectorNumber Offset abi.PaddedPieceSize Size abi.UnpaddedPieceSize }
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 SectorExpiration ¶ added in v0.5.0
type SectorExpiration struct { OnTime abi.ChainEpoch // non-zero if sector is faulty, epoch at which it will be permanently // removed if it doesn't recover Early abi.ChainEpoch }
type SectorInfo ¶
type SectorInfo struct { SectorID abi.SectorNumber State SectorState CommD *cid.Cid CommR *cid.Cid Proof []byte Deals []abi.DealID Ticket SealTicket Seed SealSeed PreCommitMsg *cid.Cid CommitMsg *cid.Cid Retries uint64 ToUpgrade bool LastErr string Log []SectorLog // On Chain Info SealProof abi.RegisteredSealProof // The seal proof type implies the PoSt proof/s Activation abi.ChainEpoch // Epoch during which the sector proof was accepted Expiration abi.ChainEpoch // Epoch during which the sector expires DealWeight abi.DealWeight // Integral of active deals over sector lifetime VerifiedDealWeight abi.DealWeight // Integral of active verified deals over sector lifetime InitialPledge abi.TokenAmount // Pledge collected to commit this sector // Expiration Info OnTime abi.ChainEpoch // non-zero if sector is faulty, epoch at which it will be permanently // removed if it doesn't recover Early abi.ChainEpoch }
type SectorLocation ¶ added in v0.5.0
type SectorState ¶
type SectorState string
type StartDealParams ¶ added in v0.3.0
type StorageMiner ¶
type StorageMiner interface { Common ActorAddress(context.Context) (address.Address, error) ActorSectorSize(context.Context, address.Address) (abi.SectorSize, error) MiningBase(context.Context) (*types.TipSet, error) // Temp api for testing PledgeSector(context.Context) error // Get the status of a given sector by ID SectorsStatus(ctx context.Context, sid abi.SectorNumber, showOnChainInfo bool) (SectorInfo, error) // List all staged sectors SectorsList(context.Context) ([]abi.SectorNumber, error) SectorsRefs(context.Context) (map[string][]SealedRef, error) // SectorStartSealing can be called on sectors in Empty or WaitDeals states // to trigger sealing early SectorStartSealing(context.Context, abi.SectorNumber) error // SectorSetSealDelay sets the time that a newly-created sector // waits for more deals before it starts sealing SectorSetSealDelay(context.Context, time.Duration) error // SectorGetSealDelay gets the time that a newly-created sector // waits for more deals before it starts sealing SectorGetSealDelay(context.Context) (time.Duration, error) // SectorSetExpectedSealDuration sets the expected time for a sector to seal SectorSetExpectedSealDuration(context.Context, time.Duration) error // SectorGetExpectedSealDuration gets the expected time for a sector to seal SectorGetExpectedSealDuration(context.Context) (time.Duration, error) SectorsUpdate(context.Context, abi.SectorNumber, SectorState) error SectorRemove(context.Context, abi.SectorNumber) error SectorMarkForUpgrade(ctx context.Context, id abi.SectorNumber) error StorageList(ctx context.Context) (map[stores.ID][]stores.Decl, error) StorageLocal(ctx context.Context) (map[stores.ID]string, error) StorageStat(ctx context.Context, id stores.ID) (fsutil.FsStat, error) // WorkerConnect tells the node to connect to workers RPC WorkerConnect(context.Context, string) error WorkerStats(context.Context) (map[uint64]storiface.WorkerStats, error) WorkerJobs(context.Context) (map[uint64][]storiface.WorkerJob, error) // SealingSchedDiag dumps internal sealing scheduler state SealingSchedDiag(context.Context) (interface{}, error) stores.SectorIndex MarketImportDealData(ctx context.Context, propcid cid.Cid, path string) error MarketListDeals(ctx context.Context) ([]storagemarket.StorageDeal, error) MarketListRetrievalDeals(ctx context.Context) ([]retrievalmarket.ProviderDealState, error) MarketGetDealUpdates(ctx context.Context) (<-chan storagemarket.MinerDeal, error) MarketListIncompleteDeals(ctx context.Context) ([]storagemarket.MinerDeal, error) MarketSetAsk(ctx context.Context, price types.BigInt, verifiedPrice types.BigInt, duration abi.ChainEpoch, minPieceSize abi.PaddedPieceSize, maxPieceSize abi.PaddedPieceSize) error MarketGetAsk(ctx context.Context) (*storagemarket.SignedStorageAsk, error) MarketSetRetrievalAsk(ctx context.Context, rask *retrievalmarket.Ask) error MarketGetRetrievalAsk(ctx context.Context) (*retrievalmarket.Ask, error) MarketListDataTransfers(ctx context.Context) ([]DataTransferChannel, error) MarketDataTransferUpdates(ctx context.Context) (<-chan DataTransferChannel, error) DealsImportData(ctx context.Context, dealPropCid cid.Cid, file string) error DealsList(ctx context.Context) ([]storagemarket.StorageDeal, error) DealsConsiderOnlineStorageDeals(context.Context) (bool, error) DealsSetConsiderOnlineStorageDeals(context.Context, bool) error DealsConsiderOnlineRetrievalDeals(context.Context) (bool, error) DealsSetConsiderOnlineRetrievalDeals(context.Context, bool) error DealsPieceCidBlocklist(context.Context) ([]cid.Cid, error) DealsSetPieceCidBlocklist(context.Context, []cid.Cid) error DealsConsiderOfflineStorageDeals(context.Context) (bool, error) DealsSetConsiderOfflineStorageDeals(context.Context, bool) error DealsConsiderOfflineRetrievalDeals(context.Context) (bool, error) DealsSetConsiderOfflineRetrievalDeals(context.Context, bool) error StorageAddLocal(ctx context.Context, path string) error PiecesListPieces(ctx context.Context) ([]cid.Cid, error) PiecesListCidInfos(ctx context.Context) ([]cid.Cid, error) PiecesGetPieceInfo(ctx context.Context, pieceCid cid.Cid) (*piecestore.PieceInfo, error) PiecesGetCIDInfo(ctx context.Context, payloadCid cid.Cid) (*piecestore.CIDInfo, 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
func (SyncStateStage) String ¶ added in v0.6.2
func (v SyncStateStage) String() string
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 VoucherCreateResult ¶ added in v0.6.0
type VoucherCreateResult struct { // Voucher that was created, or nil if there was an error or if there // were insufficient funds in the channel Voucher *paych.SignedVoucher // Shortfall is the additional amount that would be needed in the channel // in order to be able to create the voucher Shortfall types.BigInt }
VoucherCreateResult is the response to calling PaychVoucherCreate
type VoucherSpec ¶
type VoucherSpec struct { Amount types.BigInt TimeLockMin abi.ChainEpoch TimeLockMax abi.ChainEpoch MinSettle abi.ChainEpoch Extra *paych.ModVerifyParams }
type WorkerAPI ¶ added in v0.3.1
type WorkerAPI interface { Version(context.Context) (build.Version, error) TaskTypes(context.Context) (map[sealtasks.TaskType]struct{}, error) // TaskType -> Weight Paths(context.Context) ([]stores.StoragePath, error) Info(context.Context) (storiface.WorkerInfo, error) AddPiece(ctx context.Context, sector abi.SectorID, pieceSizes []abi.UnpaddedPieceSize, newPieceSize abi.UnpaddedPieceSize, pieceData storage.Data) (abi.PieceInfo, error) storage.Sealer MoveStorage(ctx context.Context, sector abi.SectorID, types stores.SectorFileType) error UnsealPiece(context.Context, abi.SectorID, storiface.UnpaddedByteIndex, abi.UnpaddedPieceSize, abi.SealRandomness, cid.Cid) error ReadPiece(context.Context, io.Writer, abi.SectorID, storiface.UnpaddedByteIndex, abi.UnpaddedPieceSize) (bool, error) StorageAddLocal(ctx context.Context, path string) error Fetch(context.Context, abi.SectorID, stores.SectorFileType, stores.PathType, stores.AcquireMode) error Closing(context.Context) (<-chan struct{}, error) }
Source Files ¶
Click to show internal directories.
Click to hide internal directories.