pub trait OutgoingNoteInterface: Sized {
type ZcashNote;
type Address: Clone + Copy + Debug + PartialEq + Eq;
type Error: Debug + Error;
const SHIELDED_PROTOCOL: ShieldedProtocol;
// Required methods
fn output_id(&self) -> OutputId;
fn key_id(&self) -> KeyId;
fn value(&self) -> u64;
fn note(&self) -> &Self::ZcashNote;
fn memo(&self) -> &Memo;
fn recipient(&self) -> Self::Address;
fn recipient_full_unified_address(&self) -> Option<&UnifiedAddress>;
fn encoded_recipient<P>(
&self,
parameters: &P,
) -> Result<String, Self::Error>
where P: Parameters + NetworkConstants;
fn encoded_recipient_full_unified_address<P>(
&self,
consensus_parameters: &P,
) -> Option<String>
where P: Parameters + NetworkConstants;
fn transaction_outgoing_notes(transaction: &WalletTransaction) -> &[Self];
}Expand description
Provides a common API for all outgoing note types.
Required Associated Constants§
Sourceconst SHIELDED_PROTOCOL: ShieldedProtocol
const SHIELDED_PROTOCOL: ShieldedProtocol
Note’s associated shielded protocol.
Required Associated Types§
Required Methods§
Sourcefn recipient_full_unified_address(&self) -> Option<&UnifiedAddress>
fn recipient_full_unified_address(&self) -> Option<&UnifiedAddress>
Recipient unified address as given by recipient and recorded in an encoded memo (all original receivers).
Sourcefn encoded_recipient<P>(&self, parameters: &P) -> Result<String, Self::Error>where
P: Parameters + NetworkConstants,
fn encoded_recipient<P>(&self, parameters: &P) -> Result<String, Self::Error>where
P: Parameters + NetworkConstants,
Encoded recipient address recorded in note on chain (single receiver).
Sourcefn encoded_recipient_full_unified_address<P>(
&self,
consensus_parameters: &P,
) -> Option<String>where
P: Parameters + NetworkConstants,
fn encoded_recipient_full_unified_address<P>(
&self,
consensus_parameters: &P,
) -> Option<String>where
P: Parameters + NetworkConstants,
Encoded recipient unified address as given by recipient and recorded in an encoded memo (all original receivers).
Sourcefn transaction_outgoing_notes(transaction: &WalletTransaction) -> &[Self]
fn transaction_outgoing_notes(transaction: &WalletTransaction) -> &[Self]
Outgoing notes within transaction.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.