Skip to main content

ExtractedSpOutput

Struct ExtractedSpOutput 

Source
pub struct ExtractedSpOutput { /* private fields */ }
Expand description

A Silent Payment output extracted from a PSBT after ECDH share aggregation.

Contains everything a wallet needs to assemble the final transaction:

  • The computed P2TR script for the output
  • The x-only public key embedded in the script
  • The PSBT output index this corresponds to
  • The recipient’s scan public key for wallet-side mapping

Implementations§

Source§

impl ExtractedSpOutput

Source

pub fn new( script_pubkey: ScriptBuf, x_only_pubkey: XOnlyPublicKey, output_index: usize, scan_pubkey: PublicKey, ) -> ExtractedSpOutput

Create a new extracted output with all required fields.

Source

pub fn script_pubkey(&self) -> &ScriptBuf

The computed P2TR script for this output.

Source

pub fn x_only_pubkey(&self) -> XOnlyPublicKey

The x-only public key embedded in the P2TR output.

Source

pub fn output_index(&self) -> usize

The PSBT output index this extracted output corresponds to.

Source

pub fn scan_pubkey(&self) -> &PublicKey

The recipient’s scan public key, for wallet-side recipient mapping.

Trait Implementations§

Source§

impl Clone for ExtractedSpOutput

Source§

fn clone(&self) -> ExtractedSpOutput

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for ExtractedSpOutput

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Source§

impl PartialEq for ExtractedSpOutput

Source§

fn eq(&self, other: &ExtractedSpOutput) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Eq for ExtractedSpOutput

Source§

impl StructuralPartialEq for ExtractedSpOutput

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.