Documentation ¶
Index ¶
- Constants
- Variables
- func SignWith(ctx context.Context, signer Signer, addr address.Address, signable ...Signable) error
- type APIVersion
- type ActiveSync
- type ActorState
- type AddrUse
- type AddressConfig
- type BlockMessages
- type BlockReward
- type BlockTemplate
- type ChainIO
- type ChannelAvailableFunds
- type ChannelInfo
- type CirculatingSupply
- type CommPRet
- type Common
- type ComputeStateOutput
- type ConnMgrInfo
- type DataCIDSize
- type DataIndex
- type DataSize
- type DataTransferChannel
- type Deadline
- type DealInfo
- type ExpertFileInfo
- type ExpertInfo
- type ExpertRegisterFileParams
- type ExtendedPeerInfo
- type Fault
- type FileRef
- type FlowInfo
- type FlowVoucherCreateResult
- type FlowVoucherSpec
- type FlowchStatus
- type FullNode
- type GatewayAPI
- type HeadChange
- type Import
- type ImportAndDealParams
- type ImportRes
- type InvocResult
- type IpldObject
- type MarketDeal
- type Message
- type MessageMatch
- type MessageSendSpec
- type MethodCall
- type MinerPower
- type MinerSectors
- type MiningBaseInfo
- type MpoolChange
- type MpoolUpdate
- type MsgGasCost
- type MsgLookup
- type MsgMeta
- type MsgType
- type MsigProposeResponse
- type MsigTransaction
- type MsigVesting
- type MultiaddrSlice
- type NatInfo
- type NetBlockList
- type NodeType
- type ObjStat
- type PCHDir
- type Partition
- type PaychStatus
- type PaymentInfo
- type PendingDealInfo
- type PubsubScore
- type QueryOffer
- type RetrievalDeal
- type RetrievalInfo
- type RetrievalOrder
- type RetrievalPledgeInfo
- type RetrievalState
- type SealRes
- type SealSeed
- type SealTicket
- type SealedRef
- type SealedRefs
- type SectorInfo
- 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 WalletAPI
- type WorkerAPI
Constants ¶
const ( StageIdle = SyncStateStage(iota) StageHeaders StagePersistHeaders StageMessages StageSyncComplete StageSyncErrored StageFetchingMessages )
const ( MTUnknown = "unknown" // Signing message CID. MsgMeta.Extra contains raw cbor message bytes MTChainMsg = "message" // Signing a blockheader. signing raw cbor block bytes (MsgMeta.Extra is empty) MTBlock = "block" // Signing a deal proposal. signing raw cbor proposal bytes (MsgMeta.Extra is empty) MTDealProposal = "dealproposal" )
Variables ¶
var ( FullAPIVersion = newVer(1, 1, 0) MinerAPIVersion = newVer(1, 0, 1) WorkerAPIVersion = newVer(1, 0, 0) )
semver versions of the rpc api exposed
var EmptyVesting = MsigVesting{ InitialBalance: types.EmptyInt, StartEpoch: -1, UnlockDuration: -1, }
Functions ¶
Types ¶
type APIVersion ¶
type APIVersion struct { Version string // APIVersion is a binary encoded semver version of the remote implementing // this api // // See APIVersion in build/version.go APIVersion Version // Seconds BlockDelay uint64 }
APIVersion provides various build-time information
func (APIVersion) String ¶
func (v APIVersion) String() string
type ActiveSync ¶
type ActorState ¶
type AddressConfig ¶
type BlockMessages ¶
type BlockMessages struct { BlsMessages []*types.Message SecpkMessages []*types.SignedMessage Cids []cid.Cid }
BlsMessages[x].cid = Cids[x] SecpkMessages[y].cid = Cids[BlsMessages.length + y]
type BlockReward ¶
type BlockReward struct { PowerReward abi.TokenAmount // to miner GasReward abi.TokenAmount // to miner VoteReward abi.TokenAmount // to vote fund ExpertReward abi.TokenAmount // to expert fund RetrievalReward abi.TokenAmount // to retrieval fund KnowledgeReward abi.TokenAmount // to knowledge fund // Sum of failed to award among above, the funds may be burnt or remain in reward actor SendFailed abi.TokenAmount }
type BlockTemplate ¶
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 []builtin.PoStProof }
type ChainIO ¶
type ChainIO interface { ChainReadObj(context.Context, cid.Cid) ([]byte, error) ChainHasObj(context.Context, cid.Cid) (bool, error) }
ChainIO abstracts operations for accessing raw IPLD objects.
type ChannelAvailableFunds ¶
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 ¶
type CirculatingSupply struct { EpkVested abi.TokenAmount EpkTeamVested abi.TokenAmount EpkFoundationVested abi.TokenAmount EpkInvestorVested abi.TokenAmount EpkMined abi.TokenAmount EpkBurnt abi.TokenAmount EpkLocked abi.TokenAmount EpkCirculating abi.TokenAmount TotalRetrievalPledge abi.TokenAmount }
type CommPRet ¶
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) NetPeerInfo(context.Context, peer.ID) (*ExtendedPeerInfo, 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) // ConnectionGater API NetBlockAdd(ctx context.Context, acl NetBlockList) error NetBlockRemove(ctx context.Context, acl NetBlockList) error NetBlockList(ctx context.Context) (NetBlockList, 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) (APIVersion, error) LogList(context.Context) ([]string, error) LogSetLevel(context.Context, string, string) error // GC handle the db gc GC(context.Context) error // trigger graceful shutdown Shutdown(context.Context) error // Session returns a random UUID of api provider session Session(context.Context) (uuid.UUID, error) Closing(context.Context) (<-chan struct{}, error) }
type ComputeStateOutput ¶
type ComputeStateOutput struct { Root cid.Cid Trace []*InvocResult }
type ConnMgrInfo ¶
type DataCIDSize ¶
type DataCIDSize struct { PayloadSize int64 PieceSize abi.PaddedPieceSize PieceCID cid.Cid }
type DataSize ¶
type DataSize struct { PayloadSize int64 PieceSize abi.PaddedPieceSize }
type DataTransferChannel ¶
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 ¶
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 Deadline ¶
type Deadline struct { PostSubmissions bitfield.BitField DisputableProofCount uint64 }
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 DealID abi.DealID CreationTime time.Time TransferChannelID *datatransfer.ChannelID DataTransfer *DataTransferChannel }
type ExpertFileInfo ¶
type ExpertFileInfo struct { Expert address.Address PieceID cid.Cid PieceSize abi.PaddedPieceSize Redundancy uint64 }
type ExpertInfo ¶
type ExpertInfo struct { expert.ExpertInfo TotalReward abi.TokenAmount }
type ExpertRegisterFileParams ¶
type ExpertRegisterFileParams struct { Expert address.Address RootID cid.Cid PieceID cid.Cid PieceSize abi.PaddedPieceSize }
type ExtendedPeerInfo ¶
type Fault ¶
type Fault struct { Miner address.Address Epoch abi.ChainEpoch }
type FlowInfo ¶
type FlowInfo struct { Channel address.Address WaitSentinel cid.Cid Vouchers []*flowch.SignedVoucher }
type FlowVoucherCreateResult ¶
type FlowVoucherCreateResult struct { // Voucher that was created, or nil if there was an error or if there // were insufficient funds in the channel Voucher *flowch.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 }
FlowVoucherCreateResult is the response to calling PaychVoucherCreate
type FlowVoucherSpec ¶
type FlowVoucherSpec struct { Amount types.BigInt TimeLockMin abi.ChainEpoch TimeLockMax abi.ChainEpoch MinSettle abi.ChainEpoch Extra *flowch.ModVerifyParams }
type FlowchStatus ¶
type FlowchStatus struct { ControlAddr address.Address Direction PCHDir }
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) ChainAllowNoWindowPoSt(ctx context.Context, tsk types.TipSetKey, challenge abi.ChainEpoch, rand abi.Randomness) (bool, 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) // ChainDeleteObj deletes node referenced by the given CID ChainDeleteObj(context.Context, cid.Cid) 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 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 epik 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 // SyncUnmarkAllBad purges bad block cache, making it possible to sync to chains previously marked as bad SyncUnmarkAllBad(ctx context.Context) 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) // SyncValidateTipset indicates whether the provided tipset is valid or not SyncValidateTipset(ctx context.Context, tsk types.TipSetKey) (bool, 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) // MpoolPushUntrusted pushes a signed message to mempool from untrusted sources. MpoolPushUntrusted(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) // MpoolBatchPush batch pushes a signed message to mempool. MpoolBatchPush(context.Context, []*types.SignedMessage) ([]cid.Cid, error) // MpoolBatchPushUntrusted batch pushes a signed message to mempool from untrusted sources. MpoolBatchPushUntrusted(context.Context, []*types.SignedMessage) ([]cid.Cid, error) // MpoolBatchPushMessage batch pushes a unsigned message to mempool. MpoolBatchPushMessage(context.Context, []*types.Message, *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. // Available key types: bls, secp256k1, secp256k1-ledger // Support for numerical types: 1 - secp256k1, 2 - BLS is deprecated WalletNew(context.Context, types.KeyType) (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, error) // 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 // WalletValidateAddress validates whether a given string can be decoded as a well-formed address WalletValidateAddress(context.Context, string) (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) // ClientImportAndDeal imports file and deal with all miners found. ClientImportAndDeal(ctx context.Context, params *ImportAndDealParams) (*ImportRes, error) // ClientExpertRegisterFile registers new piece. ClientExpertRegisterFile(ctx context.Context, params *ExpertRegisterFileParams) (*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) // ClientGetDealStatus returns status given a code ClientGetDealStatus(ctx context.Context, statusCode uint64) (string, 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.StorageAsk, error) // ClientCalcCommP calculates the CommP and data size of the specified CID ClientDealPieceCID(ctx context.Context, root cid.Cid) (DataCIDSize, 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) // ClientRestartDataTransfer attempts to restart a data transfer with the given transfer ID and other peer ClientRestartDataTransfer(ctx context.Context, transferID datatransfer.TransferID, otherPeer peer.ID, isInitiator bool) error // ClientCancelDataTransfer cancels a data transfer with the given transfer ID and other peer ClientCancelDataTransfer(ctx context.Context, transferID datatransfer.TransferID, otherPeer peer.ID, isInitiator bool) 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 // ClientRetrieveGetDeal return retrieve deal state ClientRetrieveGetDeal(ctx context.Context, dealID retrievalmarket.DealID) (*RetrievalDeal, error) // ClientRetrieveListDeals list retrieve deals ClientRetrieveListDeals(ctx context.Context) (map[retrievalmarket.DealID]*RetrievalDeal, error) // ClientListImports lists imported files and their root CIDs ClientListImports(ctx context.Context) ([]Import, error) // ClientRemove removes file storage from system, returns message cid. ClientRemove(ctx context.Context, root cid.Cid, wallet address.Address) (cid.Cid, error) // ClientRetrieveQuery query file status by file root or retrieve id ClientRetrieveQuery(ctx context.Context, wallet address.Address, root cid.Cid, piece *cid.Cid, miner address.Address) (*RetrievalDeal, error) // ClientRetrievePledge retrieval pledge amount ClientRetrievePledge(ctx context.Context, wallet address.Address, target address.Address, miners []address.Address, amount abi.TokenAmount) (cid.Cid, error) // ClientRetrieveBind retrieval bind miners, if reverse, unbind the miners ClientRetrieveBind(ctx context.Context, wallet address.Address, miners []address.Address, reverse bool) (cid.Cid, error) // ClientRetrieveApplyForWithdraw apply for withdraw ClientRetrieveApplyForWithdraw(ctx context.Context, wallet address.Address, target address.Address, amount abi.TokenAmount) (cid.Cid, error) // ClientRetrieveWithdraw withdraw ClientRetrieveWithdraw(ctx context.Context, wallet address.Address, amount abi.TokenAmount) (cid.Cid, error) // ClientExpertNominate nominate expert ClientExpertNominate(ctx context.Context, wallet address.Address, expert address.Address) (cid.Cid, error) // StateCall runs the given message and returns its result without any persisted changes. // // StateCall applies the message to the tipset's parent state. The // message is not applied on-top-of the messages in the passed-in // tipset. StateCall(context.Context, *types.Message, types.TipSetKey) (*InvocResult, error) // StateReplay replays a given message, assuming it was included in a block in the specified tipset. // If no tipset key is provided, the appropriate tipset is looked up. StateReplay(context.Context, types.TipSetKey, cid.Cid) (*InvocResult, error) // StateBlockReward returns block's reward detail. StateBlockReward(ctx context.Context, bid cid.Cid, tsk types.TipSetKey) (*BlockReward, 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 *MessageMatch, tsk types.TipSetKey, toht abi.ChainEpoch) ([]cid.Cid, error) // StateDecodeParams attempts to decode the provided params, based on the recipient actor address and method number. StateDecodeParams(ctx context.Context, toAddr address.Address, method abi.MethodNum, params []byte, tsk types.TipSetKey) (interface{}, 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. StateMinerSectors(context.Context, address.Address, *bitfield.BitField, types.TipSetKey) ([]*miner.SectorOnChainInfo, error) // StateMinerActiveSectors returns info about sectors that a given miner is actively proving. StateMinerActiveSectors(context.Context, address.Address, types.TipSetKey) ([]*miner.SectorOnChainInfo, 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) (miner.MinerInfo, error) // StateMinerDeadlines returns all the proving deadlines for the given miner StateMinerDeadlines(context.Context, address.Address, types.TipSetKey) ([]Deadline, error) // StateMinerPartitions returns all partitions in the specified deadline StateMinerPartitions(ctx context.Context, m address.Address, dlIdx uint64, tsk types.TipSetKey) ([]Partition, error) // StateMinerFaults returns a bitfield indicating the faulty sectors of the given miner StateMinerFaults(context.Context, address.Address, types.TipSetKey) (bitfield.BitField, error) // StateMinerActives returns a bitfield indicating the active sectors of the given miner StateMinerActives(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) */ // StateCoinbase returns the portion of a miner's balance that can be withdrawn or spent StateCoinbase(context.Context, address.Address, types.TipSetKey) (*vesting.CoinbaseInfo, error) // StateMinerFunds returns the total pledge collateral for mining StateMinerFunds(context.Context, address.Address, types.TipSetKey) (miner.Funds, error) // StateMinerSectorAllocated checks if a sector is allocated StateMinerSectorAllocated(context.Context, address.Address, abi.SectorNumber, types.TipSetKey) (bool, 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) (*miner.SectorExpiration, error) // StateSectorPartition finds deadline/partition with the specified sector StateSectorPartition(ctx context.Context, maddr address.Address, sectorNumber abi.SectorNumber, tok types.TipSetKey) (*miner.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) // StateSearchMsgLimited looks back up to limit epochs in the chain for a message, and returns its receipt and the tipset where it was executed StateSearchMsgLimited(ctx context.Context, msg cid.Cid, limit abi.ChainEpoch) (*MsgLookup, 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) // StateWaitMsgLimited looks back up to limit epochs in the chain for a message. // If not found, it blocks until the message arrives on chain, and gets to the // indicated confidence depth. StateWaitMsgLimited(ctx context.Context, cid cid.Cid, confidence uint64, limit abi.ChainEpoch) (*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) // StateMarketRemainingQuota returns remaining quota of piece StateMarketRemainingQuota(context.Context, cid.Cid, types.TipSetKey) (int64, 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) StateTotalMinedDetail(ctx context.Context, tsk types.TipSetKey) (*reward.TotalMinedDetail, error) // StateCirculatingSupply returns the exact circulating supply of EPK at the given tipset. // This is not used anywhere in the protocol itself, and is only for external consumption. StateCirculatingSupply(context.Context, types.TipSetKey) (abi.TokenAmount, error) // StateVMCirculatingSupplyInternal returns an approximation of the circulating supply of EPK at the given tipset. // This is the value reported by the runtime interface to actors code. StateVMCirculatingSupplyInternal(context.Context, types.TipSetKey) (CirculatingSupply, error) // StateNetworkVersion returns the network version at the given tipset StateNetworkVersion(context.Context, types.TipSetKey) (network.Version, error) // StateListExperts returns the addresses of every expert. StateListExperts(context.Context, types.TipSetKey) ([]address.Address, error) // StateExpertInfo returns info about the indicated expert. StateExpertInfo(context.Context, address.Address, types.TipSetKey) (*ExpertInfo, error) // StateExpertInfo lists expert's data StateExpertDatas(context.Context, address.Address, *bitfield.BitField, bool, types.TipSetKey) ([]*expert.DataOnChainInfo, error) // StateExpertFileInfo returns expert's file StateExpertFileInfo(context.Context, cid.Cid, types.TipSetKey) (*ExpertFileInfo, error) // StateVoteTally returns voting result at given tipset StateVoteTally(context.Context, types.TipSetKey) (*vote.Tally, error) // StateVoterInfo returns voter info at given tipset StateVoterInfo(context.Context, address.Address, types.TipSetKey) (*vote.VoterInfo, error) // StateKnowledgeInfo returns knowledge fund info at given tipset StateKnowledgeInfo(context.Context, types.TipSetKey) (*knowledge.Info, error) // StateGovernSupervisor returns authorities of given governor StateGovernSupervisor(context.Context, types.TipSetKey) (address.Address, error) // StateGovernorList returns all governors StateGovernorList(context.Context, types.TipSetKey) ([]*govern.GovernorInfo, error) StateGovernParams(context.Context, types.TipSetKey) (*govern.GovParams, error) // StateRetrievalInfo retrieval pledge info StateRetrievalInfo(context.Context, types.TipSetKey) (*RetrievalInfo, error) // StateRetrievalPledge retrieval pledge state StateRetrievalPledge(context.Context, address.Address, types.TipSetKey) (*RetrievalState, error) // StateRetrievalPledge retrieval from address StateRetrievalPledgeFrom(context.Context, address.Address, types.TipSetKey) (*RetrievalPledgeInfo, error) // StateRetrievalPledgeList retrieval pledge list StateRetrievalPledgeList(context.Context, types.TipSetKey) (map[address.Address]*RetrievalState, error) // StateDataIndex data index StateDataIndex(context.Context, abi.ChainEpoch, types.TipSetKey) ([]*DataIndex, error) // StateMinerStoredAnyPiece check miner has storage the data by pieceIDs StateMinerStoredAnyPiece(context.Context, address.Address, []cid.Cid, types.TipSetKey) (bool, 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) // MsigGetVestingSchedule returns the vesting details of a given multisig. MsigGetVestingSchedule(context.Context, address.Address, types.TipSetKey) (MsigVesting, error) // MsigGetVested returns the amount of EPK 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) //MsigGetPending returns pending transactions for the given multisig //wallet. Once pending transactions are fully approved, they will no longer //appear here. MsigGetPending(context.Context, address.Address, types.TipSetKey) ([]*MsigTransaction, 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 by transaction ID // It takes the following params: <multisig address>, <proposed transaction ID> <signer address> MsigApprove(context.Context, address.Address, uint64, address.Address) (cid.Cid, error) // MsigApproveTxnHash approves a previously-proposed multisig message, specified // using both transaction ID and a hash of the parameters used in the // proposal. This method of approval can be used to ensure you only approve // exactly the transaction you think you are. // 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> MsigApproveTxnHash(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 transaction 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) // MsigRemoveSigner proposes the removal of a signer from the multisig. // It accepts the multisig to make the change on, the proposer address to // send the message from, the address to be removed, and a boolean // indicating whether or not the signing threshold should be lowered by one // along with the address removal. MsigRemoveSigner(ctx context.Context, msig address.Address, proposer address.Address, toRemove address.Address, decrease bool) (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) FlowchGet(ctx context.Context, from, to address.Address, amt types.BigInt) (*ChannelInfo, error) FlowchGetWaitReady(context.Context, cid.Cid) (address.Address, error) FlowchAvailableFunds(ctx context.Context, ch address.Address) (*ChannelAvailableFunds, error) FlowchAvailableFundsByFromTo(ctx context.Context, from, to address.Address) (*ChannelAvailableFunds, error) FlowchList(context.Context) ([]address.Address, error) FlowchStatus(context.Context, address.Address) (*FlowchStatus, error) FlowchSettle(context.Context, address.Address) (cid.Cid, error) FlowchCollect(context.Context, address.Address) (cid.Cid, error) FlowchAllocateLane(ctx context.Context, ch address.Address) (uint64, error) FlowchNewPayment(ctx context.Context, from, to address.Address, vouchers []FlowVoucherSpec) (*FlowInfo, error) FlowchVoucherCheckValid(context.Context, address.Address, *flowch.SignedVoucher) error FlowchVoucherCheckSpendable(context.Context, address.Address, *flowch.SignedVoucher, []byte, []byte) (bool, error) FlowchVoucherCreate(context.Context, address.Address, types.BigInt, uint64) (*FlowVoucherCreateResult, error) FlowchVoucherAdd(context.Context, address.Address, *flowch.SignedVoucher, []byte, types.BigInt) (types.BigInt, error) FlowchVoucherList(context.Context, address.Address) ([]*flowch.SignedVoucher, error) FlowchVoucherSubmit(context.Context, address.Address, *flowch.SignedVoucher, []byte, []byte) (cid.Cid, error) // CreateBackup creates node backup onder the specified file name. The // method requires that the epik daemon is running with the // EPIK_BACKUP_BASE_PATH environment variable set to some path, and that // the path specified when calling CreateBackup is within the base path CreateBackup(ctx context.Context, fpath string) error }
FullNode API is a low-level interface to the EpiK network full node
type GatewayAPI ¶
type GatewayAPI interface { ChainHasObj(context.Context, cid.Cid) (bool, error) ChainHead(ctx context.Context) (*types.TipSet, error) ChainGetBlockMessages(context.Context, cid.Cid) (*BlockMessages, error) ChainGetMessage(ctx context.Context, mc cid.Cid) (*types.Message, error) ChainGetTipSet(ctx context.Context, tsk types.TipSetKey) (*types.TipSet, error) ChainGetTipSetByHeight(ctx context.Context, h abi.ChainEpoch, tsk types.TipSetKey) (*types.TipSet, error) ChainNotify(context.Context) (<-chan []*HeadChange, error) ChainReadObj(context.Context, cid.Cid) ([]byte, error) GasEstimateMessageGas(ctx context.Context, msg *types.Message, spec *MessageSendSpec, tsk types.TipSetKey) (*types.Message, error) MpoolPush(ctx context.Context, sm *types.SignedMessage) (cid.Cid, error) MsigGetAvailableBalance(ctx context.Context, addr address.Address, tsk types.TipSetKey) (types.BigInt, error) MsigGetVested(ctx context.Context, addr address.Address, start types.TipSetKey, end types.TipSetKey) (types.BigInt, error) MsigGetPending(context.Context, address.Address, types.TipSetKey) ([]*MsigTransaction, error) StateAccountKey(ctx context.Context, addr address.Address, tsk types.TipSetKey) (address.Address, error) /* StateDealProviderCollateralBounds(ctx context.Context, size abi.PaddedPieceSize, verified bool, tsk types.TipSetKey) (DealCollateralBounds, error) */ StateGetActor(ctx context.Context, actor address.Address, ts types.TipSetKey) (*types.Actor, error) StateGetReceipt(context.Context, cid.Cid, types.TipSetKey) (*types.MessageReceipt, error) StateListMiners(ctx context.Context, tsk types.TipSetKey) ([]address.Address, error) StateLookupID(ctx context.Context, addr address.Address, tsk types.TipSetKey) (address.Address, error) // StateMarketBalance(ctx context.Context, addr address.Address, tsk types.TipSetKey) (MarketBalance, error) StateMarketStorageDeal(ctx context.Context, dealId abi.DealID, tsk types.TipSetKey) (*MarketDeal, error) StateMinerInfo(ctx context.Context, actor address.Address, tsk types.TipSetKey) (miner.MinerInfo, error) StateMinerProvingDeadline(ctx context.Context, addr address.Address, tsk types.TipSetKey) (*dline.Info, error) StateMinerPower(context.Context, address.Address, types.TipSetKey) (*MinerPower, error) StateNetworkVersion(context.Context, types.TipSetKey) (network.Version, error) StateSectorGetInfo(ctx context.Context, maddr address.Address, n abi.SectorNumber, tsk types.TipSetKey) (*miner.SectorOnChainInfo, error) // StateVerifiedClientStatus(ctx context.Context, addr address.Address, tsk types.TipSetKey) (*abi.StoragePower, error) StateWaitMsg(ctx context.Context, msg cid.Cid, confidence uint64) (*MsgLookup, error) }
type HeadChange ¶
type ImportAndDealParams ¶
type ImportAndDealParams struct { Ref FileRef From address.Address Expert address.Address Miner address.Address }
type InvocResult ¶
type InvocResult struct { MsgCid cid.Cid Msg *types.Message MsgRct *types.MessageReceipt GasCost MsgGasCost ExecutionTrace types.ExecutionTrace Error string Duration time.Duration }
type IpldObject ¶
type IpldObject struct { Cid cid.Cid Obj interface{} }
type MarketDeal ¶
type MarketDeal struct { Proposal market.DealProposal State market.DealState }
type MessageMatch ¶
type MessageMatch struct { To address.Address From address.Address }
type MessageSendSpec ¶
type MessageSendSpec struct {
MaxFee abi.TokenAmount
}
type MethodCall ¶
type MethodCall struct { types.MessageReceipt Error string }
type MinerPower ¶
type MinerSectors ¶
type MiningBaseInfo ¶
type MiningBaseInfo struct { MinerPower types.BigInt NetworkPower types.BigInt Sectors []builtin.SectorInfo WorkerKey address.Address SectorSize abi.SectorSize PrevBeaconEntry types.BeaconEntry BeaconEntries []types.BeaconEntry EligibleForMining bool }
type MpoolUpdate ¶
type MpoolUpdate struct { Type MpoolChange Message *types.SignedMessage }
type MsgGasCost ¶
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 ¶
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 ¶
type MsigProposeResponse int
const ( MsigApprove MsigProposeResponse = iota MsigCancel )
type MsigTransaction ¶
type MsigVesting ¶
type MsigVesting struct { InitialBalance abi.TokenAmount StartEpoch abi.ChainEpoch UnlockDuration abi.ChainEpoch }
type MultiaddrSlice ¶
func (*MultiaddrSlice) UnmarshalJSON ¶
func (m *MultiaddrSlice) UnmarshalJSON(raw []byte) (err error)
type NatInfo ¶
type NatInfo struct { Reachability network.Reachability PublicAddr string }
type NetBlockList ¶
type Partition ¶
type Partition struct { AllSectors bitfield.BitField FaultySectors bitfield.BitField RecoveringSectors bitfield.BitField LiveSectors bitfield.BitField ActiveSectors bitfield.BitField }
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 PendingDealInfo ¶
type PendingDealInfo struct { Deals []market.ClientDealProposal PublishPeriodStart time.Time PublishPeriod time.Duration }
PendingDealInfo has info about pending deals and when they are due to be published
type PubsubScore ¶
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 RetrievalDeal ¶
type RetrievalDeal struct { DealID retrievalmarket.DealID RootCID cid.Cid PieceCID *cid.Cid ClientWallet address.Address MinerWallet address.Address Miner address.Address Status retrievalmarket.DealStatus Message string WaitMsgCID *cid.Cid // the CID of any message the client deal is waiting for }
type RetrievalInfo ¶
type RetrievalInfo struct { TotalPledge abi.TokenAmount TotalReward abi.TokenAmount PendingReward abi.TokenAmount }
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 RetrievalPledgeInfo ¶
type RetrievalPledgeInfo struct { Pledges map[string]abi.TokenAmount Locked abi.TokenAmount UnlockedEpoch abi.ChainEpoch }
type RetrievalState ¶
type RetrievalState struct { BindMiners []address.Address Balance abi.TokenAmount DayExpend abi.TokenAmount }
type SealSeed ¶
type SealSeed struct { Value abi.InteractiveSealRandomness Epoch abi.ChainEpoch }
type SealTicket ¶
type SealTicket struct { Value abi.SealRandomness Epoch abi.ChainEpoch }
func (*SealTicket) Equals ¶
func (st *SealTicket) Equals(ost *SealTicket) bool
func (*SealTicket) MarshalCBOR ¶
func (t *SealTicket) MarshalCBOR(w io.Writer) error
func (*SealTicket) UnmarshalCBOR ¶
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 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 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 PieceSizes []abi.PaddedPieceSize DealWins []builtin.BoolValue /* 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 SectorState ¶
type SectorState string
type StartDealParams ¶
type StartDealParams struct { Data *storagemarket.DataRef Wallet address.Address Miner address.Address /* EpochPrice types.BigInt MinBlocksDuration uint64 ProviderCollateral big.Int */ DealStartEpoch abi.ChainEpoch FastRetrieval bool }
func (*StartDealParams) UnmarshalJSON ¶
func (s *StartDealParams) UnmarshalJSON(raw []byte) (err error)
type StorageMiner ¶
type StorageMiner interface { Common ActorAddress(context.Context) (address.Address, error) ActorSectorSize(context.Context, address.Address) (abi.SectorSize, error) ActorAddressConfig(ctx context.Context) (AddressConfig, error) MiningBase(context.Context) (*types.TipSet, error) // Temp api for testing PledgeSector(context.Context) (abi.SectorID, 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) // Get summary info of sectors SectorsSummary(ctx context.Context) (map[SectorState]int, error) // List sectors in particular states SectorsListInStates(context.Context, []SectorState) ([]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 removes the sector from storage. It doesn't terminate it on-chain, which can // be done with SectorTerminate. Removing and not terminating live sectors will cause additional penalties. SectorRemove(context.Context, abi.SectorNumber) error // SectorTerminate terminates the sector on-chain (adding it to a termination batch first), then // automatically removes it from storage SectorTerminate(context.Context, abi.SectorNumber) error // SectorTerminateFlush immediately sends a terminate message with sectors batched for termination. // Returns null if message wasn't sent SectorTerminateFlush(ctx context.Context) (*cid.Cid, error) // SectorTerminatePending returns a list of pending sector terminations to be sent in the next batch message SectorTerminatePending(ctx context.Context) ([]abi.SectorID, 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[uuid.UUID]storiface.WorkerStats, error) WorkerJobs(context.Context) (map[uuid.UUID][]storiface.WorkerJob, error) storiface.WorkerReturn // SealingSchedDiag dumps internal sealing scheduler state SealingSchedDiag(ctx context.Context, doSched bool) (interface{}, error) SealingAbort(ctx context.Context, call storiface.CallID) error stores.SectorIndex MarketImportDealData(ctx context.Context, propcid cid.Cid, path string) error MarketListDeals(ctx context.Context) ([]MarketDeal, 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) // MarketRestartDataTransfer attempts to restart a data transfer with the given transfer ID and other peer MarketRestartDataTransfer(ctx context.Context, transferID datatransfer.TransferID, otherPeer peer.ID, isInitiator bool) error // MarketCancelDataTransfer cancels a data transfer with the given transfer ID and other peer MarketCancelDataTransfer(ctx context.Context, transferID datatransfer.TransferID, otherPeer peer.ID, isInitiator bool) error MarketPendingDeals(ctx context.Context) (PendingDealInfo, error) MarketPublishPendingDeals(ctx context.Context) error DealsImportData(ctx context.Context, dealPropCid cid.Cid, file string) error DealsList(ctx context.Context) ([]MarketDeal, 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) // CreateBackup creates node backup onder the specified file name. The // method requires that the epik-miner is running with the // EPIK_BACKUP_BASE_PATH environment variable set to some path, and that // the path specified when calling CreateBackup is within the base path CreateBackup(ctx context.Context, fpath string) error CheckProvable(ctx context.Context, pp abi.RegisteredPoStProof, sectors []storage.SectorRef, expensive bool) (map[abi.SectorNumber]string, error) }
StorageMiner is a low-level interface to the EpiK network storage miner node
type SyncState ¶
type SyncState struct { ActiveSyncs []ActiveSync VMApplied uint64 }
type SyncStateStage ¶
type SyncStateStage int
func (SyncStateStage) String ¶
func (v SyncStateStage) String() string
type Version ¶
type Version uint32
func VersionForType ¶
func (Version) EqMajorMinor ¶
type VoucherCreateResult ¶
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 WalletAPI ¶
type WalletAPI interface { WalletNew(context.Context, types.KeyType) (address.Address, error) WalletHas(context.Context, address.Address) (bool, error) WalletList(context.Context) ([]address.Address, error) WalletSign(ctx context.Context, signer address.Address, toSign []byte, meta MsgMeta) (*crypto.Signature, error) WalletExport(context.Context, address.Address) (*types.KeyInfo, error) WalletImport(context.Context, *types.KeyInfo) (address.Address, error) WalletDelete(context.Context, address.Address) error }
type WorkerAPI ¶
type WorkerAPI interface { Version(context.Context) (Version, error) TaskTypes(context.Context) (map[sealtasks.TaskType]struct{}, error) // TaskType -> Weight Paths(context.Context) ([]stores.StoragePath, error) Info(context.Context) (storiface.WorkerInfo, error) storiface.WorkerCalls TaskDisable(ctx context.Context, tt sealtasks.TaskType) error TaskEnable(ctx context.Context, tt sealtasks.TaskType) error // Storage / Other Remove(ctx context.Context, sector abi.SectorID) error StorageAddLocal(ctx context.Context, path string) error // SetEnabled marks the worker as enabled/disabled. Not that this setting // may take a few seconds to propagate to task scheduler SetEnabled(ctx context.Context, enabled bool) error Enabled(ctx context.Context) (bool, error) // WaitQuiet blocks until there are no tasks running WaitQuiet(ctx context.Context) error // returns a random UUID of worker session, generated randomly when worker // process starts ProcessSession(context.Context) (uuid.UUID, error) // Like ProcessSession, but returns an error when worker is disabled Session(context.Context) (uuid.UUID, error) }