Skip to content

Commit

Permalink
Apply suggestions from code review
Browse files Browse the repository at this point in the history
Co-authored-by: str4d <[email protected]>
  • Loading branch information
nuttycom and str4d authored Feb 28, 2024
1 parent d68d154 commit a92a960
Show file tree
Hide file tree
Showing 4 changed files with 21 additions and 10 deletions.
5 changes: 3 additions & 2 deletions zcash_client_backend/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -291,8 +291,9 @@ and this library adheres to Rust's notion of
`zcash_client_backend::proposal`).
- `SentTransactionOutput::sapling_change_to` - the note created by an internal
transfer is now conveyed in the `recipient` field.
- `WalletSaplingSpend` use the generic `WalletSpend` instead.
- `WalletSaplingOutput::cmu` obtain `cmu` from the `Note` instead.
- `WalletSaplingSpend` (use the generic `WalletSpend` instead).
- `WalletSaplingOutput::cmu` (use `WalletSaplingOutput::note` and
`sapling_crypto::Note::cmu` instead).
- `zcash_client_backend::data_api`:
- `{PoolType, ShieldedProtocol}` (moved to `zcash_client_backend`).
- `{NoteId, Recipient}` (moved to `zcash_client_backend::wallet`).
Expand Down
16 changes: 13 additions & 3 deletions zcash_client_backend/src/proto.rs
Original file line number Diff line number Diff line change
Expand Up @@ -200,23 +200,33 @@ impl TryFrom<&compact_formats::CompactOrchardAction> for orchard::note_encryptio

#[cfg(feature = "orchard")]
impl compact_formats::CompactOrchardAction {
/// Returns the note commitment for the output of this action.
///
/// A convenience method that parses [`CompactOrchardAction.cmx`].
///
/// [`CompactOrchardAction.cmx`]: #structfield.cmx
pub fn cmx(&self) -> Result<orchard::note::ExtractedNoteCommitment, ()> {
Option::from(orchard::note::ExtractedNoteCommitment::from_bytes(
&self.cmx[..].try_into().map_err(|_| ())?,
))
.ok_or(())
}

/// Returns the nullifier for the spend of this action.
///
/// A convenience method that parses [`CompactOrchardAction.nullifier`].
///
/// [`CompactOrchardAction.cmx`]: #structfield.nullifier
pub fn nf(&self) -> Result<orchard::note::Nullifier, ()> {
let nf_bytes: [u8; 32] = self.nullifier[..].try_into().map_err(|_| ())?;
Option::from(orchard::note::Nullifier::from_bytes(&nf_bytes)).ok_or(())
}

/// Returns the ephemeral public key for this output.
/// Returns the ephemeral public key for the output of this action.
///
/// A convenience method that parses [`CompactOutput.epk`].
/// A convenience method that parses [`CompactOrchardAction.ephemeral_key`].
///
/// [`CompactOutput.epk`]: #structfield.epk
/// [`CompactOrchardAction.ephemeral_key`]: #structfield.ephemeral_key
pub fn ephemeral_key(&self) -> Result<EphemeralKeyBytes, ()> {
self.ephemeral_key[..]
.try_into()
Expand Down
4 changes: 2 additions & 2 deletions zcash_client_backend/src/scanning.rs
Original file line number Diff line number Diff line change
Expand Up @@ -913,8 +913,8 @@ pub(crate) fn scan_block_with_runners<
))
}

// Check for spent notes. The comparison against known-unspent nullifiers is done
// in constant time.
/// Check for spent notes. The comparison against known-unspent nullifiers is done
/// in constant time.
fn find_spent<Spend, Nf: ConstantTimeEq + Copy, WS>(
spends: &[Spend],
nullifiers: &[(AccountId, Nf)],
Expand Down
6 changes: 3 additions & 3 deletions zcash_client_backend/src/wallet.rs
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,7 @@ pub struct WalletTx {
}

impl WalletTx {
/// Constructs a new [`WalletTx`] from its constituent parts
/// Constructs a new [`WalletTx`] from its constituent parts.
pub fn new(
txid: TxId,
block_index: usize,
Expand All @@ -130,7 +130,7 @@ impl WalletTx {
}
}

/// Returns the [`TxId`] for the corresponding [`Transaction`]
/// Returns the [`TxId`] for the corresponding [`Transaction`].
///
/// [`Transaction`]: zcash_primitives::transaction::Transaction
pub fn txid(&self) -> TxId {
Expand Down Expand Up @@ -251,7 +251,7 @@ impl<Nf> WalletSpend<Nf> {
}
}

/// Returns source metadata for a given incoming viewing key.
/// Source metadata for a given incoming viewing key.
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub enum KeySource {
/// The ZIP 32 account identifier and key scope for the key, if the key was derived from the
Expand Down

0 comments on commit a92a960

Please sign in to comment.