@@ -20,28 +20,30 @@ pub struct WeightsTlockPayload {
20
20
impl < T : Config > Pallet < T > {
21
21
/// The `coinbase` function performs a four-part emission distribution process involving
22
22
/// subnets, epochs, hotkeys, and nominators.
23
+ ///
23
24
/// It is divided into several steps, each handling a specific part of the distribution:
24
25
///
25
26
/// Step 1: Compute the block-wise emission for each subnet.
26
- /// This involves calculating how much (TAO) should be emitted into each subnet using the
27
- /// root epoch function.
27
+ /// This involves calculating how much (TAO) should be emitted into each subnet using the root
28
+ /// epoch function.
28
29
///
29
30
/// Step 2: Accumulate the subnet block emission.
30
- /// After calculating the block-wise emission, these values are accumulated to keep track
31
- /// of how much each subnet should emit before the next distribution phase. This accumulation
32
- /// is a running total that gets updated each block.
31
+ /// After calculating the block-wise emission, these values are accumulated to keep track of how
32
+ /// much each subnet should emit before the next distribution phase. This accumulation is a
33
+ /// running total that gets updated each block.
33
34
///
34
35
/// Step 3: Distribute the accumulated emissions through epochs.
35
- /// Subnets periodically distribute their accumulated emissions to hotkeys (active validators/miners)
36
- /// in the network on a `tempo` --- the time between epochs. This step runs Yuma consensus to
37
- /// determine how emissions are split among hotkeys based on their contributions and roles.
38
- /// The accumulation of hotkey emissions is done through the `accumulate_hotkey_emission` function.
39
- /// The function splits the rewards for a hotkey amongst itself and its `parents`. The parents are
40
- /// the hotkeys that are delegating their stake to the hotkey.
36
+ /// Subnets periodically distribute their accumulated emissions to hotkeys (active
37
+ /// validators/miners) in the network on a `tempo` --- the time between epochs. This step runs
38
+ /// Yuma consensus to determine how emissions are split among hotkeys based on their
39
+ /// contributions and roles. The accumulation of hotkey emissions is done through the
40
+ /// `accumulate_hotkey_emission` function. The function splits the rewards for a hotkey amongst
41
+ /// itself and its `parents`. The parents are the hotkeys that are delegating their stake to the
42
+ /// hotkey.
41
43
///
42
44
/// Step 4: Further distribute emissions from hotkeys to nominators.
43
- /// Finally, the emissions received by hotkeys are further distributed to their nominators,
44
- /// who are stakeholders that support the hotkeys.
45
+ /// Finally, the emissions received by hotkeys are further distributed to their nominators, who
46
+ /// are stakeholders that support the hotkeys.
45
47
pub fn run_coinbase ( ) {
46
48
// --- 0. Get current block.
47
49
let current_block: u64 = Self :: get_current_block_as_u64 ( ) ;
0 commit comments