mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-05-30 22:11:02 +00:00
Improve docs of broker pallet (#3980)
Small adjustments which should make understanding what is going on much easier for future readers. Initialization is a bit messy, the very least we should do is adding documentation to make it harder to use wrongly. I was thinking about calling `request_core_count` right from `start_sales`, but as explained in the docs, this is not necessarily what you want. --------- Co-authored-by: eskimor <eskimor@no-such-url.com> Co-authored-by: Bastian Köcher <git@kchr.de> Co-authored-by: Dónal Murray <donal.murray@parity.io>
This commit is contained in:
@@ -81,7 +81,8 @@ impl<T: Config> Pallet<T> {
|
||||
last_timeslice: Self::current_timeslice(),
|
||||
};
|
||||
let now = frame_system::Pallet::<T>::block_number();
|
||||
let new_sale = SaleInfoRecord {
|
||||
// Imaginary old sale for bootstrapping the first actual sale:
|
||||
let old_sale = SaleInfoRecord {
|
||||
sale_start: now,
|
||||
leadin_length: Zero::zero(),
|
||||
price,
|
||||
@@ -94,7 +95,7 @@ impl<T: Config> Pallet<T> {
|
||||
cores_sold: 0,
|
||||
};
|
||||
Self::deposit_event(Event::<T>::SalesStarted { price, core_count });
|
||||
Self::rotate_sale(new_sale, &config, &status);
|
||||
Self::rotate_sale(old_sale, &config, &status);
|
||||
Status::<T>::put(&status);
|
||||
Ok(())
|
||||
}
|
||||
|
||||
@@ -552,16 +552,27 @@ pub mod pallet {
|
||||
///
|
||||
/// - `origin`: Must be Root or pass `AdminOrigin`.
|
||||
/// - `initial_price`: The price of Bulk Coretime in the first sale.
|
||||
/// - `core_count`: The number of cores which can be allocated.
|
||||
/// - `total_core_count`: This is the total number of cores the relay chain should have
|
||||
/// after the sale concludes.
|
||||
///
|
||||
/// NOTE: This function does not actually request that new core count from the relay chain.
|
||||
/// You need to make sure to call `request_core_count` afterwards to bring the relay chain
|
||||
/// in sync.
|
||||
///
|
||||
/// When to call the function depends on the new core count. If it is larger than what it
|
||||
/// was before, you can call it immediately or even before `start_sales` as non allocated
|
||||
/// cores will just be `Idle`. If you are actually reducing the number of cores, you should
|
||||
/// call `request_core_count`, right before the next sale, to avoid shutting down tasks too
|
||||
/// early.
|
||||
#[pallet::call_index(4)]
|
||||
#[pallet::weight(T::WeightInfo::start_sales((*core_count).into()))]
|
||||
#[pallet::weight(T::WeightInfo::start_sales((*total_core_count).into()))]
|
||||
pub fn start_sales(
|
||||
origin: OriginFor<T>,
|
||||
initial_price: BalanceOf<T>,
|
||||
core_count: CoreIndex,
|
||||
total_core_count: CoreIndex,
|
||||
) -> DispatchResultWithPostInfo {
|
||||
T::AdminOrigin::ensure_origin_or_root(origin)?;
|
||||
Self::do_start_sales(initial_price, core_count)?;
|
||||
Self::do_start_sales(initial_price, total_core_count)?;
|
||||
Ok(Pays::No.into())
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user