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 ExitCode
- 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
- 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 SignatureDomainSeparation_RemoveDataCap = "fil_removedatacap:"
Variables ¶
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
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 addr.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 uint64
// Maps provider IDs to allocations claimed by that provider.
Claims cid.Cid // HAMT[ActorID]HAMT[ClaimID]Claim
}
func ConstructState ¶
rootKeyAddress comes from genesis.
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.