OnDemandAssignmentProvider¶
Calls¶
place_order_allow_death¶
See [Pallet::place_order_allow_death
].
Attributes¶
Name | Type |
---|---|
max_amount | BalanceOf<T> |
para_id | ParaId |
Python¶
call = substrate.compose_call(
'OnDemandAssignmentProvider', 'place_order_allow_death', {
'max_amount': 'u128',
'para_id': 'u32',
}
)
place_order_keep_alive¶
See [Pallet::place_order_keep_alive
].
Attributes¶
Name | Type |
---|---|
max_amount | BalanceOf<T> |
para_id | ParaId |
Python¶
call = substrate.compose_call(
'OnDemandAssignmentProvider', 'place_order_keep_alive', {
'max_amount': 'u128',
'para_id': 'u32',
}
)
Events¶
OnDemandOrderPlaced¶
An order was placed at some spot price amount.
Attributes¶
Name | Type | Composition |
---|---|---|
para_id | ParaId |
u32 |
spot_price | BalanceOf<T> |
u128 |
SpotTrafficSet¶
The value of the spot traffic multiplier changed.
Attributes¶
Name | Type | Composition |
---|---|---|
traffic | FixedU128 |
u128 |
Storage functions¶
OnDemandQueue¶
The order storage entry. Uses a VecDeque to be able to push to the front of the queue from the scheduler on session boundaries.
Python¶
result = substrate.query(
'OnDemandAssignmentProvider', 'OnDemandQueue', []
)
Return value¶
[{'para_id': 'u32'}]
ParaIdAffinity¶
Maps a ParaId
to CoreIndex
and keeps track of how many assignments the scheduler has in
it's lookahead. Keeping track of this affinity prevents parallel execution of the same
ParaId
on two or more CoreIndex
es.
Python¶
result = substrate.query(
'OnDemandAssignmentProvider', 'ParaIdAffinity', ['u32']
)
Return value¶
{'core_idx': 'u32', 'count': 'u32'}
SpotTraffic¶
Keeps track of the multiplier used to calculate the current spot price for the on demand assigner.
Python¶
result = substrate.query(
'OnDemandAssignmentProvider', 'SpotTraffic', []
)
Return value¶
'u128'
Constants¶
TrafficDefaultValue¶
The default value for the spot traffic multiplier.
Value¶
1000000000000000000
Python¶
constant = substrate.get_constant('OnDemandAssignmentProvider', 'TrafficDefaultValue')
Errors¶
InvalidParaId¶
The ParaId
supplied to the place_order
call is not a valid ParaThread
, making the
call is invalid.
QueueFull¶
The order queue is full, place_order
will not continue.
SpotPriceHigherThanMaxAmount¶
The current spot price is higher than the max amount specified in the place_order
call, making it invalid.