Crate pallet_broker

Source
Expand description

§Pallet Broker

Brokerage tool for managing Polkadot Core scheduling.

Properly described in RFC-0001 Agile Coretime.

§Implementation Specifics

§Core Mask Bits

This is 1/80th of a Polkadot Core per timeslice. Assuming timeslices are 80 blocks, then this indicates usage of a single core one time over a timeslice.

§The Sale

					1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7
--------------------------------------------------------
< interlude  >
			  <                   sale                 >
							... of which ...
			  <  descending-price   ><   fixed-price   >
														| <-------\
price fixed, unsold assigned to instapool, system cores reserved -/

Re-exports§

pub use weights::WeightInfo;
pub use pallet::*;

Modules§

migration
pallet
The pallet module in each FRAME pallet hosts the most important items needed to construct this pallet.
runtime_api
Runtime API definition for the FRAME Broker pallet.
weights
Autogenerated weights for pallet_broker

Structs§

AdaptedPrices
Result of AdaptPrice::adapt_price.
AutoRenewalRecord
A record containing information regarding auto-renewal for a specific core.
CenterTargetPrice
Simple implementation of AdaptPrice with two linear phases.
ConfigRecord
Configuration of this pallet.
ContributionRecord
The record body of a Region which was contributed to the Instantaneous Coretime Pool. This helps with making pro rata payments to contributors.
CoreMask
InstaPoolHistoryRecord
A per-timeslice bookkeeping record for tracking Instantaneous Coretime Pool activity and making proper payments to contributors.
LeaseRecordItem
Information on a single legacy lease.
OnDemandRevenueRecord
Record for On demand core sales.
PoolIoRecord
A record of flux in the InstaPool.
PotentialRenewalId
The identity of a possibly renewable Core workload.
PotentialRenewalRecord
A record of a potential renewal.
RegionId
Self-describing identity for a Region of Bulk Coretime.
RegionRecord
The rest of the information describing a Region.
SaleInfoRecord
The status of a Bulk Coretime Sale.
SalePerformance
Performance of a past sale.
ScheduleItem
An distinct item which can be scheduled on a Polkadot Core.
StatusRecord
General status of the system.

Enums§

CompletionStatus
How much of a core has been assigned or, if completely assigned, the workload itself.
CoreAssignment
An element to which a core can be assigned.
Finality
Whether a core assignment is revokable or not.

Constants§

CORE_MASK_BITS
The number of bits in the CoreMask.

Traits§

AdaptPrice
Type for determining how to set price.
CoretimeInterface
Type able to accept Coretime scheduling instructions and provide certain usage information. Generally implemented by the Relay-chain or some means of communicating with it.

Type Aliases§

BalanceOf
ConfigRecordOf
ContributionRecordOf
CoreIndex
Index of a Polkadot Core.
CoreMaskBitCount
Counter for the total number of set bits over every core’s CoreMask. u32 so we don’t ever get an overflow. This is 1/80th of a Polkadot Core per timeslice. Assuming timeslices are 80 blocks, then this indicates usage of a single core one time over a timeslice.
InstaPoolHistoryRecordOf
LeasesRecord
Record for Polkadot Core legacy leases.
LeasesRecordOf
OnDemandRevenueRecordOf
PartsOf57600
Fraction expressed as a nominator with an assumed denominator of 57,600.
PotentialRenewalRecordOf
RCBlockNumberOf
Relay chain block number of T that implements CoretimeInterface.
RCBlockNumberProviderOf
Relay chain block number provider of T that implements CoretimeInterface.
RegionRecordOf
RelayAccountIdOf
RelayBalanceOf
RelayBlockNumberOf
ReservationsRecord
Record for Polkadot Core reservations (generally tasked with the maintenance of System Chains).
ReservationsRecordOf
SaleInfoRecordOf
Schedule
SignedCoreMaskBitCount
The same as CoreMaskBitCount but signed.
TaskId
A Task Id. In general this is called a ParachainId.
Timeslice
Relay-chain block number with a fixed divisor of Config::TimeslicePeriod.