Struct wownero::blockdata::transaction::OwnedTxOut
source · [−]pub struct OwnedTxOut<'a> { /* private fields */ }
Expand description
Transaction ouput that can be redeemed by a private key pair at a given index and are returned
by the check_outputs
method.
use wownero::blockdata::transaction::Transaction;
use wownero::consensus::encode::deserialize;
use wownero::util::key::{KeyPair, PrivateKey, PublicKey, ViewPair};
// Keypair used to recover the ephemeral spend key of an output
let keypair = KeyPair {
view: secret_view,
spend: secret_spend,
};
// Viewpair used to scan a transaction to retreive owned outputs
let view_pair = ViewPair { view: secret_view, spend };
// Get all owned output for sub-addresses in range of 0-1 major index and 0-2 minor index
let owned_outputs = tx.check_outputs(&view_pair, 0..2, 0..3).unwrap();
for out in owned_outputs {
// Recover the ephemeral private spend key
let private_key = out.recover_key(&keypair);
}
Implementations
sourceimpl<'a> OwnedTxOut<'a>
impl<'a> OwnedTxOut<'a>
sourcepub fn sub_index(&self) -> Index
pub fn sub_index(&self) -> Index
Returns the index of the key pair to use, can be 0/0
for main address.
sourcepub fn amount(&self) -> Option<u64>
pub fn amount(&self) -> Option<u64>
Returns the unblinded or clear amount of this output.
None if we didn’t have enough information to unblind the output.
sourcepub fn blinding_factor(&self) -> Option<Scalar>
pub fn blinding_factor(&self) -> Option<Scalar>
Returns the original blinding factor of this output.
None if we didn’t have enough information to unblind the output.
sourcepub fn commitment(&self) -> Option<EdwardsPoint>
pub fn commitment(&self) -> Option<EdwardsPoint>
Returns the original commitment of this output.
None if we didn’t have enough information to unblind the output.
sourcepub fn recover_key(&self, keys: &KeyPair) -> PrivateKey
pub fn recover_key(&self, keys: &KeyPair) -> PrivateKey
Recover the ephemeral private key for spending the output, this requires access to the private spend key.
Trait Implementations
Auto Trait Implementations
impl<'a> RefUnwindSafe for OwnedTxOut<'a>
impl<'a> Send for OwnedTxOut<'a>
impl<'a> Sync for OwnedTxOut<'a>
impl<'a> Unpin for OwnedTxOut<'a>
impl<'a> UnwindSafe for OwnedTxOut<'a>
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more