Documentation ¶
Index ¶
- Constants
- Variables
- type AddVerifiedClientParams
- type AddVerifierParams
- type Allocation
- type AllocationId
- type AllocationRequest
- type AllocationRequests
- type AllocationsResponse
- type BatchReturn
- type Claim
- type ClaimAllocationsParams
- type ClaimAllocationsReturn
- type ClaimExtensionRequest
- type ClaimId
- type ClaimTerm
- type DataCap
- type ExtendClaimTermsParams
- type ExtendClaimTermsReturn
- type FailCode
- type GetClaimsParams
- type GetClaimsReturn
- type ReceiverType
- type RemoveDataCapParams
- type RemoveDataCapProposal
- type RemoveDataCapRequest
- type RemoveDataCapReturn
- type RemoveExpiredAllocationsParams
- type RemoveExpiredAllocationsReturn
- type RemoveExpiredClaimsParams
- type RemoveExpiredClaimsReturn
- type RestoreBytesParams
- type RmDcProposalID
- type SectorAllocationClaim
- type State
- func (st *State) FindAllocation(store adt.Store, clientIdAddr address.Address, allocationId AllocationId) (*Allocation, bool, error)
- func (st *State) FindClaim(store adt.Store, providerIdAddr address.Address, claimId ClaimId) (*Claim, bool, error)
- func (st *State) LoadAllocationsToMap(store adt.Store, clientIdAddr address.Address) (map[AllocationId]Allocation, error)
- func (st *State) LoadClaimsToMap(store adt.Store, providerIdAddr address.Address) (map[ClaimId]Claim, error)
- func (t *State) MarshalCBOR(w io.Writer) error
- func (t *State) UnmarshalCBOR(r io.Reader) error
- type UniversalReceiverParams
- type UseBytesParams
Constants ¶
View Source
const EndOfLifeClaimDropPeriod = 30 * builtin.EpochsInDay
View Source
const MaximumVerifiedAllocationExpiration = 60 * builtin.EpochsInDay
View Source
const MaximumVerifiedAllocationTerm = 5 * builtin.EpochsInYear
View Source
const MinimumVerifiedAllocationTerm = 180 * builtin.EpochsInDay
View Source
const NoAllocationID = AllocationId(0)
View Source
const SignatureDomainSeparation_RemoveDataCap = "fil_removedatacap:"
Variables ¶
View Source
var DataCapGranularity = builtin.TokenPrecision
View Source
var Methods = map[uint64]interface{}{ 1: *new(func(interface{}, *address.Address) *abi.EmptyValue), 2: *new(func(interface{}, *AddVerifierParams) *abi.EmptyValue), 3: *new(func(interface{}, *address.Address) *abi.EmptyValue), 4: *new(func(interface{}, *AddVerifiedClientParams) *abi.EmptyValue), 5: nil, 6: nil, 7: *new(func(interface{}, *RemoveDataCapParams) *RemoveDataCapReturn), 8: *new(func(interface{}, *RemoveExpiredAllocationsParams) *RemoveExpiredAllocationsReturn), 9: *new(func(interface{}, *ClaimAllocationsParams) *ClaimAllocationsReturn), 10: *new(func(interface{}, *GetClaimsParams) *GetClaimsReturn), 11: *new(func(interface{}, *ExtendClaimTermsParams) *ExtendClaimTermsReturn), 12: *new(func(interface{}, *RemoveExpiredClaimsParams) *RemoveExpiredClaimsReturn), uint64(builtin.UniversalReceiverHookMethodNum): *new(func(interface{}, *UniversalReceiverParams) *AllocationsResponse), }
View Source
var MinVerifiedDealSize = abi.NewStoragePower(1 << 20)
Functions ¶
This section is empty.
Types ¶
type AddVerifiedClientParams ¶
func (*AddVerifiedClientParams) MarshalCBOR ¶
func (t *AddVerifiedClientParams) MarshalCBOR(w io.Writer) error
func (*AddVerifiedClientParams) UnmarshalCBOR ¶
func (t *AddVerifiedClientParams) UnmarshalCBOR(r io.Reader) error
type AddVerifierParams ¶
func (*AddVerifierParams) MarshalCBOR ¶
func (t *AddVerifierParams) MarshalCBOR(w io.Writer) error
func (*AddVerifierParams) UnmarshalCBOR ¶
func (t *AddVerifierParams) UnmarshalCBOR(r io.Reader) error
type Allocation ¶
type Allocation struct { // The verified client which allocated the DataCap. Client abi.ActorID // The provider (miner actor) which may claim the allocation. Provider abi.ActorID // Identifier of the data to be committed. Data cid.Cid // The (padded) size of data. Size abi.PaddedPieceSize // The minimum duration which the provider must commit to storing the piece to avoid // early-termination penalties (epochs). TermMin abi.ChainEpoch // The maximum period for which a provider can earn quality-adjusted power // for the piece (epochs). TermMax abi.ChainEpoch // The latest epoch by which a provider must commit data before the allocation expires. Expiration abi.ChainEpoch }
func (*Allocation) MarshalCBOR ¶
func (t *Allocation) MarshalCBOR(w io.Writer) error
func (*Allocation) UnmarshalCBOR ¶
func (t *Allocation) UnmarshalCBOR(r io.Reader) error
type AllocationId ¶
type AllocationId uint64
func (AllocationId) Key ¶ added in v0.9.0
func (a AllocationId) Key() string
type AllocationRequest ¶
type AllocationRequest struct { // The provider (miner actor) which may claim the allocation. Provider abi.ActorID // Identifier of the data to be committed. Data cid.Cid // The (padded) size of data. Size abi.PaddedPieceSize // The minimum duration which the provider must commit to storing the piece to avoid // early-termination penalties (epochs). TermMin abi.ChainEpoch // The maximum period for which a provider can earn quality-adjusted power // for the piece (epochs). TermMax abi.ChainEpoch // The latest epoch by which a provider must commit data before the allocation expires. Expiration abi.ChainEpoch }
type AllocationRequests ¶
type AllocationRequests struct { Allocations []AllocationRequest Extensions []ClaimExtensionRequest }
type AllocationsResponse ¶
type AllocationsResponse struct { AllocationResults BatchReturn ExtensionResults BatchReturn NewAllocations []AllocationId }
func (*AllocationsResponse) MarshalCBOR ¶
func (t *AllocationsResponse) MarshalCBOR(w io.Writer) error
func (*AllocationsResponse) UnmarshalCBOR ¶
func (t *AllocationsResponse) UnmarshalCBOR(r io.Reader) error
type BatchReturn ¶
func (*BatchReturn) MarshalCBOR ¶
func (t *BatchReturn) MarshalCBOR(w io.Writer) error
func (*BatchReturn) UnmarshalCBOR ¶
func (t *BatchReturn) UnmarshalCBOR(r io.Reader) error
type Claim ¶
type Claim struct { // The provider storing the data (from allocation). Provider abi.ActorID // The client which allocated the DataCap (from allocation). Client abi.ActorID // Identifier of the data committed (from allocation). Data cid.Cid // The (padded) size of data (from allocation). Size abi.PaddedPieceSize // The min period which the provider must commit to storing data TermMin abi.ChainEpoch // The max period for which provider can earn QA-power for the data TermMax abi.ChainEpoch // The epoch at which the (first range of the) piece was committed. TermStart abi.ChainEpoch // ID of the provider's sector in which the data is committed. Sector abi.SectorNumber }
type ClaimAllocationsParams ¶
type ClaimAllocationsParams struct { Sectors []SectorAllocationClaim AllOrNothing bool }
func (*ClaimAllocationsParams) MarshalCBOR ¶
func (t *ClaimAllocationsParams) MarshalCBOR(w io.Writer) error
func (*ClaimAllocationsParams) UnmarshalCBOR ¶
func (t *ClaimAllocationsParams) UnmarshalCBOR(r io.Reader) error
type ClaimAllocationsReturn ¶
type ClaimAllocationsReturn struct { BatchInfo BatchReturn ClaimedSpace big.Int }
func (*ClaimAllocationsReturn) MarshalCBOR ¶
func (t *ClaimAllocationsReturn) MarshalCBOR(w io.Writer) error
func (*ClaimAllocationsReturn) UnmarshalCBOR ¶
func (t *ClaimAllocationsReturn) UnmarshalCBOR(r io.Reader) error
type ClaimExtensionRequest ¶
type ClaimExtensionRequest struct { Provider addr.Address Claim ClaimId TermMax abi.ChainEpoch }
type ClaimTerm ¶
type ClaimTerm struct { Provider abi.ActorID ClaimId ClaimId TermMax abi.ChainEpoch }
type DataCap ¶
type DataCap = abi.StoragePower
DataCap is an integer number of bytes. We can introduce policy changes and replace this in the future.
type ExtendClaimTermsParams ¶
type ExtendClaimTermsParams struct {
Terms []ClaimTerm
}
func (*ExtendClaimTermsParams) MarshalCBOR ¶
func (t *ExtendClaimTermsParams) MarshalCBOR(w io.Writer) error
func (*ExtendClaimTermsParams) UnmarshalCBOR ¶
func (t *ExtendClaimTermsParams) UnmarshalCBOR(r io.Reader) error
type ExtendClaimTermsReturn ¶
type ExtendClaimTermsReturn BatchReturn
func (*ExtendClaimTermsReturn) MarshalCBOR ¶
func (t *ExtendClaimTermsReturn) MarshalCBOR(w io.Writer) error
func (*ExtendClaimTermsReturn) UnmarshalCBOR ¶
func (t *ExtendClaimTermsReturn) UnmarshalCBOR(r io.Reader) error
type GetClaimsParams ¶
func (*GetClaimsParams) MarshalCBOR ¶
func (t *GetClaimsParams) MarshalCBOR(w io.Writer) error
func (*GetClaimsParams) UnmarshalCBOR ¶
func (t *GetClaimsParams) UnmarshalCBOR(r io.Reader) error
type GetClaimsReturn ¶
type GetClaimsReturn struct { BatchInfo BatchReturn Claims []Claim }
func (*GetClaimsReturn) MarshalCBOR ¶
func (t *GetClaimsReturn) MarshalCBOR(w io.Writer) error
func (*GetClaimsReturn) UnmarshalCBOR ¶
func (t *GetClaimsReturn) UnmarshalCBOR(r io.Reader) error
type ReceiverType ¶
type ReceiverType uint64
type RemoveDataCapParams ¶
type RemoveDataCapParams struct { VerifiedClientToRemove addr.Address DataCapAmountToRemove DataCap VerifierRequest1 RemoveDataCapRequest VerifierRequest2 RemoveDataCapRequest }
func (*RemoveDataCapParams) MarshalCBOR ¶
func (t *RemoveDataCapParams) MarshalCBOR(w io.Writer) error
func (*RemoveDataCapParams) UnmarshalCBOR ¶
func (t *RemoveDataCapParams) UnmarshalCBOR(r io.Reader) error
type RemoveDataCapProposal ¶
type RemoveDataCapProposal struct { // VerifiedClient is the client address to remove the DataCap from // The address must be an ID address VerifiedClient addr.Address // DataCapAmount is the amount of DataCap to be removed from the VerifiedClient address DataCapAmount DataCap // RemovalProposalID is the counter of the proposal sent by the Verifier for the VerifiedClient RemovalProposalID RmDcProposalID }
RemoveDataCapProposal A verifier who wants to send/agree to a RemoveDataCapRequest should sign a RemoveDataCapProposal and send the signed proposal to the root key holder.
func (*RemoveDataCapProposal) MarshalCBOR ¶
func (t *RemoveDataCapProposal) MarshalCBOR(w io.Writer) error
func (*RemoveDataCapProposal) UnmarshalCBOR ¶
func (t *RemoveDataCapProposal) UnmarshalCBOR(r io.Reader) error
type RemoveDataCapRequest ¶
type RemoveDataCapRequest struct { // Verifier is the verifier address used for VerifierSignature. // The address can be address.SECP256K1 or address.BLS Verifier addr.Address // VerifierSignature is the Verifier's signature over a RemoveDataCapProposal VerifierSignature crypto.Signature }
RemoveDataCapRequest A verifier who wants to submit a request should send their RemoveDataCapRequest to the RKH.
func (*RemoveDataCapRequest) MarshalCBOR ¶
func (t *RemoveDataCapRequest) MarshalCBOR(w io.Writer) error
func (*RemoveDataCapRequest) UnmarshalCBOR ¶
func (t *RemoveDataCapRequest) UnmarshalCBOR(r io.Reader) error
type RemoveDataCapReturn ¶
func (*RemoveDataCapReturn) MarshalCBOR ¶
func (t *RemoveDataCapReturn) MarshalCBOR(w io.Writer) error
func (*RemoveDataCapReturn) UnmarshalCBOR ¶
func (t *RemoveDataCapReturn) UnmarshalCBOR(r io.Reader) error
type RemoveExpiredAllocationsParams ¶
type RemoveExpiredAllocationsParams struct { Client abi.ActorID AllocationIds []AllocationId }
func (*RemoveExpiredAllocationsParams) MarshalCBOR ¶
func (t *RemoveExpiredAllocationsParams) MarshalCBOR(w io.Writer) error
func (*RemoveExpiredAllocationsParams) UnmarshalCBOR ¶
func (t *RemoveExpiredAllocationsParams) UnmarshalCBOR(r io.Reader) error
type RemoveExpiredAllocationsReturn ¶
type RemoveExpiredAllocationsReturn struct { Considered []AllocationId Results BatchReturn DataCapRecovered DataCap }
func (*RemoveExpiredAllocationsReturn) MarshalCBOR ¶
func (t *RemoveExpiredAllocationsReturn) MarshalCBOR(w io.Writer) error
func (*RemoveExpiredAllocationsReturn) UnmarshalCBOR ¶
func (t *RemoveExpiredAllocationsReturn) UnmarshalCBOR(r io.Reader) error
type RemoveExpiredClaimsParams ¶
func (*RemoveExpiredClaimsParams) MarshalCBOR ¶
func (t *RemoveExpiredClaimsParams) MarshalCBOR(w io.Writer) error
func (*RemoveExpiredClaimsParams) UnmarshalCBOR ¶
func (t *RemoveExpiredClaimsParams) UnmarshalCBOR(r io.Reader) error
type RemoveExpiredClaimsReturn ¶
type RemoveExpiredClaimsReturn struct { Considered []AllocationId Results BatchReturn }
func (*RemoveExpiredClaimsReturn) MarshalCBOR ¶
func (t *RemoveExpiredClaimsReturn) MarshalCBOR(w io.Writer) error
func (*RemoveExpiredClaimsReturn) UnmarshalCBOR ¶
func (t *RemoveExpiredClaimsReturn) UnmarshalCBOR(r io.Reader) error
type RestoreBytesParams ¶
type RestoreBytesParams struct { Address addr.Address DealSize abi.StoragePower }
func (*RestoreBytesParams) MarshalCBOR ¶
func (t *RestoreBytesParams) MarshalCBOR(w io.Writer) error
func (*RestoreBytesParams) UnmarshalCBOR ¶
func (t *RestoreBytesParams) UnmarshalCBOR(r io.Reader) error
type RmDcProposalID ¶
type RmDcProposalID struct {
ProposalID uint64
}
func (*RmDcProposalID) MarshalCBOR ¶
func (t *RmDcProposalID) MarshalCBOR(w io.Writer) error
func (*RmDcProposalID) UnmarshalCBOR ¶
func (t *RmDcProposalID) UnmarshalCBOR(r io.Reader) error
type SectorAllocationClaim ¶
type SectorAllocationClaim struct { Client abi.ActorID AllocationId AllocationId Data cid.Cid Size abi.PaddedPieceSize Sector abi.SectorNumber SectorExpiry abi.ChainEpoch }
func (*SectorAllocationClaim) MarshalCBOR ¶
func (t *SectorAllocationClaim) MarshalCBOR(w io.Writer) error
func (*SectorAllocationClaim) UnmarshalCBOR ¶
func (t *SectorAllocationClaim) UnmarshalCBOR(r io.Reader) error
type State ¶
type State struct { // Root key holder multisig. // Authorize and remove verifiers. RootKey address.Address // Verifiers authorize VerifiedClients. // Verifiers delegate their DataCap. Verifiers cid.Cid // HAMT[addr.Address]DataCap // RemoveDataCapProposalIDs keeps the counters of the datacap removal proposal a verifier has submitted for a //specific client. Unique proposal ids ensure that removal proposals cannot be replayed.√ // AddrPairKey is constructed as <verifier address, client address>, both using ID addresses. RemoveDataCapProposalIDs cid.Cid // HAMT[AddrPairKey]RmDcProposalID // Maps client IDs to allocations made by that client. Allocations cid.Cid // HAMT[ActorID]HAMT[AllocationID]Allocation // Next allocation identifier to use. // The value 0 is reserved to mean "no allocation". NextAllocationId AllocationId // Maps provider IDs to allocations claimed by that provider. Claims cid.Cid // HAMT[ActorID]HAMT[ClaimID]Claim }
func ConstructState ¶
rootKeyAddress comes from genesis.
func (*State) FindAllocation ¶ added in v0.9.0
func (st *State) FindAllocation(store adt.Store, clientIdAddr address.Address, allocationId AllocationId) (*Allocation, bool, error)
func (*State) LoadAllocationsToMap ¶ added in v0.9.0
func (st *State) LoadAllocationsToMap(store adt.Store, clientIdAddr address.Address) (map[AllocationId]Allocation, error)
func (*State) LoadClaimsToMap ¶ added in v0.9.0
type UniversalReceiverParams ¶
type UniversalReceiverParams struct { Type_ ReceiverType Payload []byte }
func (*UniversalReceiverParams) MarshalCBOR ¶
func (t *UniversalReceiverParams) MarshalCBOR(w io.Writer) error
func (*UniversalReceiverParams) UnmarshalCBOR ¶
func (t *UniversalReceiverParams) UnmarshalCBOR(r io.Reader) error
type UseBytesParams ¶
type UseBytesParams struct { // Address of verified client. Address addr.Address // Number of bytes to use. DealSize abi.StoragePower }
func (*UseBytesParams) MarshalCBOR ¶
func (t *UseBytesParams) MarshalCBOR(w io.Writer) error
func (*UseBytesParams) UnmarshalCBOR ¶
func (t *UseBytesParams) UnmarshalCBOR(r io.Reader) error
Click to show internal directories.
Click to hide internal directories.