diff --git a/protocols/v2/subprotocols/mining/src/new_mining_job.rs b/protocols/v2/subprotocols/mining/src/new_mining_job.rs index c0e493cda5..c8408a7fd1 100644 --- a/protocols/v2/subprotocols/mining/src/new_mining_job.rs +++ b/protocols/v2/subprotocols/mining/src/new_mining_job.rs @@ -71,13 +71,17 @@ impl<'d> NewMiningJob<'d> { /// so that they can implement various advanced use cases such as: translation between Sv1 and Sv2 /// protocols, difficulty aggregation and search space splitting. /// -/// In the Extended Channel scenario, the full coinbase transaction can be constructed as of the -/// following: `extranonce_prefix + extranonce`, which should equal the negotiated extranonce space -/// for the channel [`extranonce_size`]. -/// -/// In the Group Channel scenario, the full coinbase can then be constructed as the following: -/// [`NewExtendedMiningJob::coinbase_tx_prefix`] + `extranonce_prefix` + `extranonce` + -/// [`NewExtendedMiningJob::coinbase_tx_suffix`]. +/// In the Extended Channel scenario, the full coinbase transaction is reconstructed as: +/// - `NewExtendedMiningJob::coinbase_tx_prefix` +/// - `OpenExtendedMiningChannel.Success::extranonce_size` +/// - `SubmitSharesExtended::extranonce` +/// - `NewExtendedMiningJob::coinbase_tx_suffix` +/// +/// In the Group Channel scenario, the full coinbase transaction is reconstructed as: +/// - `NewExtendedMiningJob::coinbase_tx_prefix` +/// - `OpenStandardMiningChannel.Success::extranonce_size` (unique per Standard Channel) +/// - `SubmitSharesExtended::extranonce` +/// - `NewExtendedMiningJob::coinbase_tx_suffix` /// /// [`extranonce_size`]: crate::OpenExtendedMiningChannelSuccess::extranonce_size #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq)]