market

package
v0.14.0-rc6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 15, 2024 License: Apache-2.0, MIT Imports: 22 Imported by: 8

Documentation

Index

Constants

View Source
const DealMaxLabelSize = 256

DealMaxLabelSize is the maximum size of a deal label.

View Source
const EpochUndefined = abi.ChainEpoch(-1)
View Source
const ProposalsAmtBitwidth = 5

Bitwidth of AMTs determined empirically from mutation patterns and projections of mainnet data.

View Source
const ProviderSectorsHamtBitwidth = 5
View Source
const StatesAmtBitwidth = 6

Variables

View Source
var DealMaxDuration = abi.ChainEpoch(1278 * builtin.EpochsInDay) // PARAM_SPEC

Maximum deal duration

View Source
var DealMinDuration = abi.ChainEpoch(180 * builtin.EpochsInDay) // PARAM_SPEC

Minimum deal duration.

View Source
var EmptyDealLabel = DealLabel{}

Zero value of DealLabel is canonical EmptyDealLabel

View Source
var MarketDefaultAllocationTermBuffer = abi.ChainEpoch(90 * builtin.EpochsInDay)
View Source
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)),
}
View Source
var PieceCIDPrefix = cid.Prefix{
	Version:  1,
	Codec:    cid.FilCommitmentUnsealed,
	MhType:   mh.SHA2_256_TRUNC254_PADDED,
	MhLength: 32,
}
View Source
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

func StoreEmptySetMultimap(s adt.Store, bitwidth int) (cid.Cid, error)

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

type BatchReturn struct {
	SuccessCount uint64
	FailCount    []FailCode
}

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

type DealArray struct {
	*adt.Array
}

A specialization of a array to deals. It is an error to query for a key that doesn't exist.

func AsDealProposalArray

func AsDealProposalArray(s adt.Store, r cid.Cid) (*DealArray, error)

Interprets a store as balance table with root `r`.

func (*DealArray) Delete

func (t *DealArray) Delete(id abi.DealID) error

func (*DealArray) Get

func (t *DealArray) Get(id abi.DealID) (*DealProposal, bool, error)

Gets the deal for a key. The entry must have been previously initialized.

func (*DealArray) Root

func (t *DealArray) Root() (cid.Cid, error)

Returns the root cid of underlying AMT.

func (*DealArray) Set

func (t *DealArray) Set(k abi.DealID, value *DealProposal) error

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 NewLabelFromBytes(b []byte) (DealLabel, error)

func NewLabelFromString

func NewLabelFromString(s string) (DealLabel, error)

func (DealLabel) Equals

func (l DealLabel) Equals(o DealLabel) bool

func (DealLabel) IsBytes

func (label DealLabel) IsBytes() bool

func (DealLabel) IsString

func (label DealLabel) IsString() bool

func (DealLabel) Length

func (label DealLabel) Length() int

func (*DealLabel) MarshalCBOR

func (label *DealLabel) MarshalCBOR(w io.Writer) error

func (DealLabel) MarshalJSON

func (label DealLabel) MarshalJSON() ([]byte, error)

func (DealLabel) ToBytes

func (label DealLabel) ToBytes() ([]byte, error)

func (DealLabel) ToString

func (label DealLabel) ToString() (string, error)

func (*DealLabel) UnmarshalCBOR

func (label *DealLabel) UnmarshalCBOR(br io.Reader) error

func (*DealLabel) UnmarshalJSON

func (label *DealLabel) UnmarshalJSON(b []byte) error

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 DealQueryParams = cbg.CborInt // abi.DealID

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
}

func (*DealState) MarshalCBOR

func (t *DealState) MarshalCBOR(w io.Writer) error

func (*DealState) UnmarshalCBOR

func (t *DealState) UnmarshalCBOR(r io.Reader) (err error)

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 FailCode

type FailCode struct {
	Index    uint64
	ExitCode exitcode.ExitCode
}

func (*FailCode) MarshalCBOR

func (t *FailCode) MarshalCBOR(w io.Writer) error

func (*FailCode) UnmarshalCBOR

func (t *FailCode) UnmarshalCBOR(r io.Reader) (err error)

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 GetDealClientReturn = cbg.CborInt // abi.ActorID

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 GetDealProviderReturn = cbg.CborInt // abi.ActorID

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 GetDealVerifiedReturn = cbg.CborBool

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

type PublishStorageDealsReturn struct {
	IDs        []abi.DealID
	ValidDeals bitfield.BitField
}

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

type SectorDealIDs []abi.DealID

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

func AsSetMultimap(s adt.Store, r cid.Cid, outerBitwidth, innerBitwidth int) (*SetMultimap, error)

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.

func (*SetMultimap) Root

func (mm *SetMultimap) Root() (cid.Cid, error)

Returns the root cid of the underlying HAMT.

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 ConstructState

func ConstructState(store adt.Store) (*State, error)

func (*State) GetPendingDealAllocationIds

func (st *State) GetPendingDealAllocationIds(store adt.Store) (map[abi.DealID]verifreg.AllocationId, error)

func (*State) MarshalCBOR

func (t *State) MarshalCBOR(w io.Writer) error

func (*State) UnmarshalCBOR

func (t *State) UnmarshalCBOR(r io.Reader) (err error)

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)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL