Documentation ¶
Index ¶
- Constants
- Variables
- func DealClientCollateralBounds(_ abi.PaddedPieceSize, _ abi.ChainEpoch) (min abi.TokenAmount, max abi.TokenAmount)
- func DealDurationBounds(_ abi.PaddedPieceSize) (min abi.ChainEpoch, max abi.ChainEpoch)
- func DealPricePerEpochBounds(_ abi.PaddedPieceSize, _ abi.ChainEpoch) (min abi.TokenAmount, max abi.TokenAmount)
- func DealProviderCollateralBounds(pieceSize abi.PaddedPieceSize, verified bool, ...) (min, max abi.TokenAmount)
- func DealWeight(proposal *DealProposal) abi.DealWeight
- func StoreEmptySetMultimap(s adt.Store, bitwidth int) (cid.Cid, error)
- func ValidateDealsForActivation(st *State, store adt.Store, dealIDs []abi.DealID, minerAddr addr.Address, ...) (big.Int, big.Int, uint64, error)
- type ActivateDealsParams
- type ActivateDealsResult
- type BatchReturn
- type ClientDealProposal
- type DealArray
- type DealLabel
- func (l DealLabel) Equals(o DealLabel) bool
- func (label DealLabel) IsBytes() bool
- func (label DealLabel) IsString() bool
- func (label DealLabel) Length() int
- func (label *DealLabel) MarshalCBOR(w io.Writer) error
- func (label DealLabel) MarshalJSON() ([]byte, error)
- func (label DealLabel) ToBytes() ([]byte, error)
- func (label DealLabel) ToString() (string, error)
- func (label *DealLabel) UnmarshalCBOR(br io.Reader) error
- func (label *DealLabel) UnmarshalJSON(b []byte) error
- type DealProposal
- func (p *DealProposal) Cid() (cid.Cid, error)
- func (p *DealProposal) ClientBalanceRequirement() abi.TokenAmount
- func (p *DealProposal) Duration() abi.ChainEpoch
- func (t *DealProposal) MarshalCBOR(w io.Writer) error
- func (p *DealProposal) ProviderBalanceRequirement() abi.TokenAmount
- func (p *DealProposal) TotalStorageFee() abi.TokenAmount
- func (t *DealProposal) UnmarshalCBOR(r io.Reader) (err error)
- type DealQueryParams
- type DealSettlementSummary
- type DealSpaces
- type DealState
- type DealSummary
- type FailCode
- type GetBalanceReturn
- type GetDealActivationParams
- type GetDealActivationReturn
- type GetDealClientCollateralParams
- type GetDealClientCollateralReturn
- type GetDealClientParams
- type GetDealClientReturn
- type GetDealDataCommitmentParams
- type GetDealDataCommitmentReturn
- type GetDealLabelParams
- type GetDealLabelReturn
- type GetDealProviderCollateralParams
- type GetDealProviderCollateralReturn
- type GetDealProviderParams
- type GetDealProviderReturn
- type GetDealSectorParams
- type GetDealSectorReturn
- type GetDealTermParams
- type GetDealTermReturn
- type GetDealTotalPriceParams
- type GetDealTotalPriceReturn
- type GetDealVerifiedParams
- type GetDealVerifiedReturn
- type OnMinerSectorsTerminateParams
- type PublishStorageDealsParams
- type PublishStorageDealsReturn
- type SectorDataSpec
- type SectorDealIDs
- type SectorDeals
- type SetMultimap
- type SettleDealPaymentsParams
- type SettleDealPaymentsReturn
- type State
- type StateSummary
- type VerifiedDealInfo
- type VerifyDealsForActivationParams
- type VerifyDealsForActivationReturn
- type WithdrawBalanceParams
Constants ¶
const DealMaxLabelSize = 256
DealMaxLabelSize is the maximum size of a deal label.
const EpochUndefined = abi.ChainEpoch(-1)
const ProposalsAmtBitwidth = 5
Bitwidth of AMTs determined empirically from mutation patterns and projections of mainnet data.
const ProviderSectorsHamtBitwidth = 5
const StatesAmtBitwidth = 6
Variables ¶
var DealMaxDuration = abi.ChainEpoch(1278 * builtin.EpochsInDay) // PARAM_SPEC
Maximum deal duration
var DealMinDuration = abi.ChainEpoch(180 * builtin.EpochsInDay) // PARAM_SPEC
Minimum deal duration.
var EmptyDealLabel = DealLabel{}
Zero value of DealLabel is canonical EmptyDealLabel
var MarketDefaultAllocationTermBuffer = abi.ChainEpoch(90 * builtin.EpochsInDay)
var Methods = map[abi.MethodNum]builtin.MethodMeta{ 1: builtin.NewMethodMeta("Constructor", *new(func(*abi.EmptyValue) *abi.EmptyValue)), 2: builtin.NewMethodMeta("AddBalance", *new(func(*address.Address) *abi.EmptyValue)), builtin.MustGenerateFRCMethodNum("AddBalance"): builtin.NewMethodMeta("AddBalanceExported", *new(func(*address.Address) *abi.EmptyValue)), 3: builtin.NewMethodMeta("WithdrawBalance", *new(func(*WithdrawBalanceParams) *abi.TokenAmount)), builtin.MustGenerateFRCMethodNum("WithdrawBalance"): builtin.NewMethodMeta("WithdrawBalanceExported", *new(func(*WithdrawBalanceParams) *abi.TokenAmount)), 4: builtin.NewMethodMeta("PublishStorageDeals", *new(func(*PublishStorageDealsParams) *PublishStorageDealsReturn)), builtin.MustGenerateFRCMethodNum("PublishStorageDeals"): builtin.NewMethodMeta("PublishStorageDealsExported", *new(func(*PublishStorageDealsParams) *PublishStorageDealsReturn)), 5: builtin.NewMethodMeta("VerifyDealsForActivation", *new(func(*VerifyDealsForActivationParams) *VerifyDealsForActivationReturn)), 6: builtin.NewMethodMeta("ActivateDeals", *new(func(*ActivateDealsParams) *abi.EmptyValue)), 7: builtin.NewMethodMeta("OnMinerSectorsTerminate", *new(func(*OnMinerSectorsTerminateParams) *abi.EmptyValue)), 8: builtin.NewMethodMeta("ComputeDataCommitment", nil), 9: builtin.NewMethodMeta("CronTick", *new(func(*abi.EmptyValue) *abi.EmptyValue)), builtin.MustGenerateFRCMethodNum("GetBalance"): builtin.NewMethodMeta("GetBalanceExported", *new(func(*address.Address) *GetBalanceReturn)), builtin.MustGenerateFRCMethodNum("GetDealDataCommitment"): builtin.NewMethodMeta("GetDealDataCommitmentExported", *new(func(*GetDealDataCommitmentParams) *GetDealDataCommitmentReturn)), builtin.MustGenerateFRCMethodNum("GetDealClient"): builtin.NewMethodMeta("GetDealClientExported", *new(func(*GetDealClientParams) *GetDealClientReturn)), builtin.MustGenerateFRCMethodNum("GetDealProvider"): builtin.NewMethodMeta("GetDealProviderExported", *new(func(*GetDealProviderParams) *GetDealProviderReturn)), builtin.MustGenerateFRCMethodNum("GetDealLabel"): builtin.NewMethodMeta("GetDealLabelExported", *new(func(*GetDealLabelParams) *GetDealLabelReturn)), builtin.MustGenerateFRCMethodNum("GetDealTerm"): builtin.NewMethodMeta("GetDealTermExported", *new(func(*GetDealTermParams) *GetDealTermReturn)), builtin.MustGenerateFRCMethodNum("GetDealTotalPrice"): builtin.NewMethodMeta("GetDealTotalPriceExported", *new(func(*GetDealTotalPriceParams) *GetDealTotalPriceReturn)), builtin.MustGenerateFRCMethodNum("GetDealClientCollateral"): builtin.NewMethodMeta("GetDealClientCollateralExported", *new(func(*GetDealClientCollateralParams) *GetDealClientCollateralReturn)), builtin.MustGenerateFRCMethodNum("GetDealProviderCollateral"): builtin.NewMethodMeta("GetDealProviderCollateralExported", *new(func(*GetDealProviderCollateralParams) *GetDealProviderCollateralReturn)), builtin.MustGenerateFRCMethodNum("GetDealVerified"): builtin.NewMethodMeta("GetDealVerifiedExported", *new(func(*GetDealVerifiedParams) *GetDealVerifiedReturn)), builtin.MustGenerateFRCMethodNum("GetDealActivation"): builtin.NewMethodMeta("GetDealActivationExported", *new(func(*GetDealActivationParams) *GetDealActivationReturn)), builtin.MustGenerateFRCMethodNum("GetDealSector"): builtin.NewMethodMeta("GetDealSectorExported", *new(func(*GetDealSectorParams) *GetDealSectorReturn)), builtin.MethodSectorContentChanged: builtin.NewMethodMeta("SectorContentChanged", *new(func(*miner.SectorContentChangedParams) *miner.SectorContentChangedReturn)), builtin.MustGenerateFRCMethodNum("SettleDealPayments"): builtin.NewMethodMeta("SettleDealPaymentsExported", *new(func(*SettleDealPaymentsParams) *SettleDealPaymentsReturn)), }
var PieceCIDPrefix = cid.Prefix{ Version: 1, Codec: cid.FilCommitmentUnsealed, MhType: mh.SHA2_256_TRUNC254_PADDED, MhLength: 32, }
var ProviderCollateralSupplyTarget = builtin.BigFrac{ Numerator: big.NewInt(1), Denominator: big.NewInt(100), }
The percentage of normalized cirulating supply that must be covered by provider collateral in a deal
Functions ¶
func DealClientCollateralBounds ¶
func DealClientCollateralBounds(_ abi.PaddedPieceSize, _ abi.ChainEpoch) (min abi.TokenAmount, max abi.TokenAmount)
func DealDurationBounds ¶
func DealDurationBounds(_ abi.PaddedPieceSize) (min abi.ChainEpoch, max abi.ChainEpoch)
Bounds (inclusive) on deal duration
func DealPricePerEpochBounds ¶
func DealPricePerEpochBounds(_ abi.PaddedPieceSize, _ abi.ChainEpoch) (min abi.TokenAmount, max abi.TokenAmount)
func DealProviderCollateralBounds ¶
func DealProviderCollateralBounds(pieceSize abi.PaddedPieceSize, verified bool, networkRawPower, networkQAPower, baselinePower abi.StoragePower, networkCirculatingSupply abi.TokenAmount) (min, max abi.TokenAmount)
func DealWeight ¶
func DealWeight(proposal *DealProposal) abi.DealWeight
Computes the weight for a deal proposal, which is a function of its size and duration.
func StoreEmptySetMultimap ¶
Writes a new empty map to the store and returns its CID.
func ValidateDealsForActivation ¶
func ValidateDealsForActivation( st *State, store adt.Store, dealIDs []abi.DealID, minerAddr addr.Address, sectorExpiry, currEpoch abi.ChainEpoch, ) (big.Int, big.Int, uint64, error)
Validates a collection of deal dealProposals for activation, and returns their combined weight, split into regular deal weight and verified deal weight.
Types ¶
type ActivateDealsParams ¶
type ActivateDealsParams struct { DealIDs []abi.DealID SectorExpiry abi.ChainEpoch }
func (*ActivateDealsParams) MarshalCBOR ¶
func (t *ActivateDealsParams) MarshalCBOR(w io.Writer) error
func (*ActivateDealsParams) UnmarshalCBOR ¶
func (t *ActivateDealsParams) UnmarshalCBOR(r io.Reader) (err error)
type ActivateDealsResult ¶
type ActivateDealsResult struct { NonVerifiedDealSpace big.Int VerifiedInfos []VerifiedDealInfo }
func (*ActivateDealsResult) MarshalCBOR ¶
func (t *ActivateDealsResult) MarshalCBOR(w io.Writer) error
func (*ActivateDealsResult) UnmarshalCBOR ¶
func (t *ActivateDealsResult) UnmarshalCBOR(r io.Reader) (err error)
type BatchReturn ¶
func (*BatchReturn) MarshalCBOR ¶
func (t *BatchReturn) MarshalCBOR(w io.Writer) error
func (*BatchReturn) UnmarshalCBOR ¶
func (t *BatchReturn) UnmarshalCBOR(r io.Reader) (err error)
type ClientDealProposal ¶
type ClientDealProposal struct { Proposal DealProposal ClientSignature acrypto.Signature }
ClientDealProposal is a DealProposal signed by a client
func (*ClientDealProposal) MarshalCBOR ¶
func (t *ClientDealProposal) MarshalCBOR(w io.Writer) error
func (*ClientDealProposal) UnmarshalCBOR ¶
func (t *ClientDealProposal) UnmarshalCBOR(r io.Reader) (err error)
type DealArray ¶
A specialization of a array to deals. It is an error to query for a key that doesn't exist.
func AsDealProposalArray ¶
Interprets a store as balance table with root `r`.
type DealLabel ¶
type DealLabel struct {
// contains filtered or unexported fields
}
The DealLabel is a kinded union of string or byte slice. It serializes to a CBOR string or CBOR byte string depending on which form it takes. The zero value is serialized as an empty CBOR string (maj type 3).
func NewLabelFromBytes ¶
func NewLabelFromString ¶
func (DealLabel) MarshalJSON ¶
func (*DealLabel) UnmarshalJSON ¶
type DealProposal ¶
type DealProposal struct { PieceCID cid.Cid `checked:"true"` // Checked in validateDeal, CommP PieceSize abi.PaddedPieceSize VerifiedDeal bool Client addr.Address Provider addr.Address // Label is an arbitrary client chosen label to apply to the deal Label DealLabel // Nominal start epoch. Deal payment is linear between StartEpoch and EndEpoch, // with total amount StoragePricePerEpoch * (EndEpoch - StartEpoch). // Storage deal must appear in a sealed (proven) sector no later than StartEpoch, // otherwise it is invalid. StartEpoch abi.ChainEpoch EndEpoch abi.ChainEpoch StoragePricePerEpoch abi.TokenAmount ProviderCollateral abi.TokenAmount ClientCollateral abi.TokenAmount }
Note: Deal Collateral is only released and returned to clients and miners when the storage deal stops counting towards power. In the current iteration, it will be released when the sector containing the storage deals expires, even though some storage deals can expire earlier than the sector does. Collaterals are denominated in PerEpoch to incur a cost for self dealing or minimal deals that last for a long time. Note: ClientCollateralPerEpoch may not be needed and removed pending future confirmation. There will be a Minimum value for both client and provider deal collateral.
func (*DealProposal) Cid ¶
func (p *DealProposal) Cid() (cid.Cid, error)
func (*DealProposal) ClientBalanceRequirement ¶
func (p *DealProposal) ClientBalanceRequirement() abi.TokenAmount
func (*DealProposal) Duration ¶
func (p *DealProposal) Duration() abi.ChainEpoch
func (*DealProposal) MarshalCBOR ¶
func (t *DealProposal) MarshalCBOR(w io.Writer) error
func (*DealProposal) ProviderBalanceRequirement ¶
func (p *DealProposal) ProviderBalanceRequirement() abi.TokenAmount
func (*DealProposal) TotalStorageFee ¶
func (p *DealProposal) TotalStorageFee() abi.TokenAmount
func (*DealProposal) UnmarshalCBOR ¶
func (t *DealProposal) UnmarshalCBOR(r io.Reader) (err error)
type DealQueryParams ¶
type DealSettlementSummary ¶
type DealSettlementSummary struct { // Incremental amount paid to the provider. Payment abi.TokenAmount // Whether the deal has settled for the final time. Completed bool }
func (*DealSettlementSummary) MarshalCBOR ¶
func (t *DealSettlementSummary) MarshalCBOR(w io.Writer) error
func (*DealSettlementSummary) UnmarshalCBOR ¶
func (t *DealSettlementSummary) UnmarshalCBOR(r io.Reader) (err error)
type DealSpaces ¶
type DealSpaces struct { DealSpace abi.DealWeight // Total space of submitted deals. VerifiedDealSpace abi.DealWeight // Total space of submitted verified deals. }
func (*DealSpaces) MarshalCBOR ¶
func (t *DealSpaces) MarshalCBOR(w io.Writer) error
func (*DealSpaces) UnmarshalCBOR ¶
func (t *DealSpaces) UnmarshalCBOR(r io.Reader) (err error)
type DealState ¶
type DealState struct { SectorNumber abi.SectorNumber // 0 if not yet included in proven sector (0 is also a valid sector number) SectorStartEpoch abi.ChainEpoch // -1 if not yet included in proven sector LastUpdatedEpoch abi.ChainEpoch // -1 if deal state never updated SlashEpoch abi.ChainEpoch // -1 if deal never slashed }
type DealSummary ¶
type DealSummary struct { Provider address.Address StartEpoch abi.ChainEpoch EndEpoch abi.ChainEpoch SectorStartEpoch abi.ChainEpoch LastUpdatedEpoch abi.ChainEpoch SlashEpoch abi.ChainEpoch // Populated from market's States, not the miner state SectorNumber abi.SectorNumber PieceCid cid.Cid }
type GetBalanceReturn ¶
type GetBalanceReturn struct { Balance abi.TokenAmount Locked abi.TokenAmount }
func (*GetBalanceReturn) MarshalCBOR ¶
func (t *GetBalanceReturn) MarshalCBOR(w io.Writer) error
func (*GetBalanceReturn) UnmarshalCBOR ¶
func (t *GetBalanceReturn) UnmarshalCBOR(r io.Reader) (err error)
type GetDealActivationParams ¶
type GetDealActivationParams = DealQueryParams
type GetDealActivationReturn ¶
type GetDealActivationReturn struct { // Epoch at which the deal was activated, or -1. // This may be before the proposed start epoch. Activated abi.ChainEpoch // Epoch at which the deal was terminated abnormally, or -1. Terminated abi.ChainEpoch }
func (*GetDealActivationReturn) MarshalCBOR ¶
func (t *GetDealActivationReturn) MarshalCBOR(w io.Writer) error
func (*GetDealActivationReturn) UnmarshalCBOR ¶
func (t *GetDealActivationReturn) UnmarshalCBOR(r io.Reader) (err error)
type GetDealClientCollateralParams ¶
type GetDealClientCollateralParams = DealQueryParams
type GetDealClientCollateralReturn ¶
type GetDealClientCollateralReturn = abi.TokenAmount
type GetDealClientParams ¶
type GetDealClientParams = DealQueryParams
type GetDealClientReturn ¶
type GetDealDataCommitmentParams ¶
type GetDealDataCommitmentParams = DealQueryParams
type GetDealDataCommitmentReturn ¶
type GetDealDataCommitmentReturn struct { Data cid.Cid Size abi.PaddedPieceSize }
func (*GetDealDataCommitmentReturn) MarshalCBOR ¶
func (t *GetDealDataCommitmentReturn) MarshalCBOR(w io.Writer) error
func (*GetDealDataCommitmentReturn) UnmarshalCBOR ¶
func (t *GetDealDataCommitmentReturn) UnmarshalCBOR(r io.Reader) (err error)
type GetDealLabelParams ¶
type GetDealLabelParams = DealQueryParams
type GetDealLabelReturn ¶
type GetDealLabelReturn = DealLabel
type GetDealProviderCollateralParams ¶
type GetDealProviderCollateralParams = DealQueryParams
type GetDealProviderCollateralReturn ¶
type GetDealProviderCollateralReturn = abi.TokenAmount
type GetDealProviderParams ¶
type GetDealProviderParams = DealQueryParams
type GetDealProviderReturn ¶
type GetDealSectorParams ¶
type GetDealSectorParams = DealQueryParams
type GetDealSectorReturn ¶
type GetDealSectorReturn = abi.SectorNumber
type GetDealTermParams ¶
type GetDealTermParams = DealQueryParams
type GetDealTermReturn ¶
type GetDealTermReturn struct { Start abi.ChainEpoch Duration abi.ChainEpoch }
func (*GetDealTermReturn) MarshalCBOR ¶
func (t *GetDealTermReturn) MarshalCBOR(w io.Writer) error
func (*GetDealTermReturn) UnmarshalCBOR ¶
func (t *GetDealTermReturn) UnmarshalCBOR(r io.Reader) (err error)
type GetDealTotalPriceParams ¶
type GetDealTotalPriceParams = DealQueryParams
type GetDealTotalPriceReturn ¶
type GetDealTotalPriceReturn = abi.TokenAmount
type GetDealVerifiedParams ¶
type GetDealVerifiedParams = DealQueryParams
type GetDealVerifiedReturn ¶
type OnMinerSectorsTerminateParams ¶
type OnMinerSectorsTerminateParams struct { Epoch abi.ChainEpoch DealIDs []abi.DealID }
func (*OnMinerSectorsTerminateParams) MarshalCBOR ¶
func (t *OnMinerSectorsTerminateParams) MarshalCBOR(w io.Writer) error
func (*OnMinerSectorsTerminateParams) UnmarshalCBOR ¶
func (t *OnMinerSectorsTerminateParams) UnmarshalCBOR(r io.Reader) (err error)
type PublishStorageDealsParams ¶
type PublishStorageDealsParams struct {
Deals []ClientDealProposal
}
func (*PublishStorageDealsParams) MarshalCBOR ¶
func (t *PublishStorageDealsParams) MarshalCBOR(w io.Writer) error
func (*PublishStorageDealsParams) UnmarshalCBOR ¶
func (t *PublishStorageDealsParams) UnmarshalCBOR(r io.Reader) (err error)
type PublishStorageDealsReturn ¶
func (*PublishStorageDealsReturn) MarshalCBOR ¶
func (t *PublishStorageDealsReturn) MarshalCBOR(w io.Writer) error
func (*PublishStorageDealsReturn) UnmarshalCBOR ¶
func (t *PublishStorageDealsReturn) UnmarshalCBOR(r io.Reader) (err error)
type SectorDataSpec ¶
type SectorDataSpec struct { DealIDs []abi.DealID SectorType abi.RegisteredSealProof }
func (*SectorDataSpec) MarshalCBOR ¶
func (t *SectorDataSpec) MarshalCBOR(w io.Writer) error
func (*SectorDataSpec) UnmarshalCBOR ¶
func (t *SectorDataSpec) UnmarshalCBOR(r io.Reader) (err error)
type SectorDealIDs ¶
func (*SectorDealIDs) MarshalCBOR ¶
func (t *SectorDealIDs) MarshalCBOR(w io.Writer) error
func (*SectorDealIDs) UnmarshalCBOR ¶
func (t *SectorDealIDs) UnmarshalCBOR(r io.Reader) (err error)
type SectorDeals ¶
type SectorDeals struct { SectorType abi.RegisteredSealProof SectorExpiry abi.ChainEpoch DealIDs []abi.DealID }
func (*SectorDeals) MarshalCBOR ¶
func (t *SectorDeals) MarshalCBOR(w io.Writer) error
func (*SectorDeals) UnmarshalCBOR ¶
func (t *SectorDeals) UnmarshalCBOR(r io.Reader) (err error)
type SetMultimap ¶
type SetMultimap struct {
// contains filtered or unexported fields
}
func AsSetMultimap ¶
Interprets a store as a HAMT-based map of HAMT-based sets with root `r`. Both inner and outer HAMTs are interpreted with branching factor 2^bitwidth.
func MakeEmptySetMultimap ¶
func MakeEmptySetMultimap(s adt.Store, bitwidth int) (*SetMultimap, error)
Creates a new map backed by an empty HAMT and flushes it to the store. Both inner and outer HAMTs have branching factor 2^bitwidth.
func (*SetMultimap) ForEach ¶
func (mm *SetMultimap) ForEach(epoch abi.ChainEpoch, fn func(id abi.DealID) error) error
Iterates all entries for a key, iteration halts if the function returns an error.
type SettleDealPaymentsParams ¶
type SettleDealPaymentsParams = bitfield.BitField
type SettleDealPaymentsReturn ¶
type SettleDealPaymentsReturn struct { // Indicators of success or failure for each deal. Results BatchReturn // Results for those deals that successfully settled. Settlements []DealSettlementSummary }
func (*SettleDealPaymentsReturn) MarshalCBOR ¶
func (t *SettleDealPaymentsReturn) MarshalCBOR(w io.Writer) error
func (*SettleDealPaymentsReturn) UnmarshalCBOR ¶
func (t *SettleDealPaymentsReturn) UnmarshalCBOR(r io.Reader) (err error)
type State ¶
type State struct { // Proposals are deals that have been proposed and not yet cleaned up after expiry or termination. Proposals cid.Cid // AMT[DealID]DealProposal // States contains state for deals that have been activated and not yet cleaned up after expiry or termination. // After expiration, the state exists until the proposal is cleaned up too. // Invariant: keys(States) ⊆ keys(Proposals). States cid.Cid // AMT[DealID]DealState // PendingProposals tracks dealProposals that have not yet reached their deal start date. // We track them here to ensure that miners can't publish the same deal proposal twice PendingProposals cid.Cid // Set[DealCid] // Total amount held in escrow, indexed by actor address (including both locked and unlocked amounts). EscrowTable cid.Cid // BalanceTable // Amount locked, indexed by actor address. // Note: the amounts in this table do not affect the overall amount in escrow: // only the _portion_ of the total escrow amount that is locked. LockedTable cid.Cid // BalanceTable NextID abi.DealID // Metadata cached for efficient iteration over deals. DealOpsByEpoch cid.Cid // SetMultimap, HAMT[epoch]Set LastCron abi.ChainEpoch // Total Client Collateral that is locked -> unlocked when deal is terminated TotalClientLockedCollateral abi.TokenAmount // Total Provider Collateral that is locked -> unlocked when deal is terminated TotalProviderLockedCollateral abi.TokenAmount // Total storage fee that is locked in escrow -> unlocked when payments are made TotalClientStorageFee abi.TokenAmount // Verified registry allocation IDs for deals that are not yet activated. PendingDealAllocationIds cid.Cid // HAMT[DealID]AllocationID /// Maps providers to their sector IDs to deal IDs. /// This supports finding affected deals when a sector is terminated early /// or has data replaced. /// Grouping by provider limits the cost of operations in the expected use case /// of multiple sectors all belonging to the same provider. /// HAMT[ActorID]HAMT[SectorNumber]SectorDealIDs ProviderSectors cid.Cid }
func (*State) GetPendingDealAllocationIds ¶
type StateSummary ¶
type StateSummary struct { Deals map[abi.DealID]*DealSummary PendingDealAllocationIds map[abi.DealID]verifreg.AllocationId ClaimIdToDealId map[verifreg.ClaimId]abi.DealID AllocIdToDealId map[verifreg.AllocationId]abi.DealID ProviderSectors map[abi.SectorID][]abi.DealID PendingProposalCount uint64 DealStateCount uint64 LockTableCount uint64 DealOpEpochCount uint64 DealOpCount uint64 }
func CheckStateInvariants ¶
func CheckStateInvariants(st *State, store adt.Store, balance abi.TokenAmount, currEpoch abi.ChainEpoch) (*StateSummary, *builtin.MessageAccumulator)
Checks internal invariants of market state.
type VerifiedDealInfo ¶
type VerifiedDealInfo struct { Client abi.ActorID AllocationId verifreg.AllocationId Data cid.Cid Size abi.PaddedPieceSize }
func (*VerifiedDealInfo) MarshalCBOR ¶
func (t *VerifiedDealInfo) MarshalCBOR(w io.Writer) error
func (*VerifiedDealInfo) UnmarshalCBOR ¶
func (t *VerifiedDealInfo) UnmarshalCBOR(r io.Reader) (err error)
type VerifyDealsForActivationParams ¶
type VerifyDealsForActivationParams struct {
Sectors []SectorDeals
}
- Array of sectors rather than just one - Removed SectorStart (which is unknown at call time)
func (*VerifyDealsForActivationParams) MarshalCBOR ¶
func (t *VerifyDealsForActivationParams) MarshalCBOR(w io.Writer) error
func (*VerifyDealsForActivationParams) UnmarshalCBOR ¶
func (t *VerifyDealsForActivationParams) UnmarshalCBOR(r io.Reader) (err error)
type VerifyDealsForActivationReturn ¶
type VerifyDealsForActivationReturn struct {
UnsealedCIDs []*cid.Cid
}
Changed to an array of optional CIDs.
func (*VerifyDealsForActivationReturn) MarshalCBOR ¶
func (t *VerifyDealsForActivationReturn) MarshalCBOR(w io.Writer) error
func (*VerifyDealsForActivationReturn) UnmarshalCBOR ¶
func (t *VerifyDealsForActivationReturn) UnmarshalCBOR(r io.Reader) (err error)
type WithdrawBalanceParams ¶
type WithdrawBalanceParams struct { ProviderOrClientAddress addr.Address Amount abi.TokenAmount }
func (*WithdrawBalanceParams) MarshalCBOR ¶
func (t *WithdrawBalanceParams) MarshalCBOR(w io.Writer) error
func (*WithdrawBalanceParams) UnmarshalCBOR ¶
func (t *WithdrawBalanceParams) UnmarshalCBOR(r io.Reader) (err error)