@@ -18,7 +18,7 @@ use crate::{
1818#[ allow( unused_imports) ]
1919use crate :: service;
2020
21- /// Reject double-spends of nullifers :
21+ /// Reject double-spends of nullifiers :
2222/// - one from this [`SemanticallyVerifiedBlock`], and the other already committed to the
2323/// [`FinalizedState`](service::FinalizedState).
2424///
@@ -143,13 +143,15 @@ pub(crate) fn tx_no_duplicates_in_chain(
143143 Ok ( ( ) )
144144}
145145
146- /// Reject double-spends of nullifers :
146+ /// Reject double-spends of nullifiers :
147147/// - both within the same `JoinSplit` (sprout only),
148- /// - from different `JoinSplit`s, [`sapling::Spend`][2]s or
149- /// [`orchard::Action`][3]s in this [`Transaction`][1]'s shielded data, or
148+ /// - from different `JoinSplit`s, [`sapling::Spend`](zebra_chain::sapling::Spend)s or
149+ /// [`orchard::Action`](zebra_chain::orchard::Action)s in this
150+ /// [`Transaction`]'s shielded data, or
150151/// - one from this shielded data, and another from:
151- /// - a previous transaction in this [`Block`][4], or
152- /// - a previous block in this non-finalized [`Chain`][5].
152+ /// - a previous transaction in this [`Block`](zebra_chain::block::Block), or
153+ /// - a previous block in this non-finalized
154+ /// [`Chain`].
153155///
154156/// (Duplicate finalized nullifiers are rejected during service contextual validation,
155157/// see [`no_duplicates_in_finalized_chain`] for details.)
@@ -168,12 +170,6 @@ pub(crate) fn tx_no_duplicates_in_chain(
168170/// different pools have nullifiers with same bit pattern, they won't be
169171/// considered the same when determining uniqueness. This is enforced by the
170172/// callers of this function.
171- ///
172- /// [1]: zebra_chain::transaction::Transaction
173- /// [2]: zebra_chain::sapling::Spend
174- /// [3]: zebra_chain::orchard::Action
175- /// [4]: zebra_chain::block::Block
176- /// [5]: service::non_finalized_state::Chain
177173#[ tracing:: instrument( skip( chain_nullifiers, shielded_data_nullifiers) ) ]
178174pub ( crate ) fn add_to_non_finalized_chain_unique < NullifierT > (
179175 chain_nullifiers : & mut HashMap < NullifierT , SpendingTransactionId > ,
@@ -199,7 +195,7 @@ where
199195}
200196
201197/// Remove nullifiers that were previously added to this non-finalized
202- /// [`Chain`][1] by this shielded data.
198+ /// [`Chain`] by this shielded data.
203199///
204200/// "A note can change from being unspent to spent as a node’s view
205201/// of the best valid block chain is extended by new transactions.
@@ -219,9 +215,8 @@ where
219215///
220216/// Blocks with duplicate nullifiers are rejected by
221217/// [`add_to_non_finalized_chain_unique`], so this shielded data should be the
222- /// only shielded data that added this nullifier to this [`Chain`][1].
223- ///
224- /// [1]: service::non_finalized_state::Chain
218+ /// only shielded data that added this nullifier to this
219+ /// [`Chain`].
225220#[ tracing:: instrument( skip( chain_nullifiers, shielded_data_nullifiers) ) ]
226221pub ( crate ) fn remove_from_non_finalized_chain < NullifierT > (
227222 chain_nullifiers : & mut HashMap < NullifierT , SpendingTransactionId > ,
0 commit comments