Struct StaticPaymentOutputDescriptor

Source
pub struct StaticPaymentOutputDescriptor {
    pub outpoint: OutPoint,
    pub output: TxOut,
    pub channel_keys_id: [u8; 32],
    pub channel_value_satoshis: u64,
    pub channel_transaction_parameters: Option<ChannelTransactionParameters>,
}
Expand description

Information about a spendable output to our “payment key”.

See SpendableOutputDescriptor::StaticPaymentOutput for more details on how to spend this.

Fields§

§outpoint: OutPoint

The outpoint which is spendable.

§output: TxOut

The output which is referenced by the given outpoint.

§channel_keys_id: [u8; 32]

Arbitrary identification information returned by a call to ChannelSigner::channel_keys_id. This may be useful in re-deriving keys used in the channel to spend the output.

§channel_value_satoshis: u64

The value of the channel which this transactions spends.

§channel_transaction_parameters: Option<ChannelTransactionParameters>

The necessary channel parameters that need to be provided to the signer.

Added as optional, but always Some if the descriptor was produced in v0.0.117 or later.

Implementations§

Source§

impl StaticPaymentOutputDescriptor

Source

pub fn witness_script(&self) -> Option<ScriptBuf>

Returns the witness_script of the spendable output.

Note that this will only return Some for StaticPaymentOutputDescriptors that originated from an anchor outputs channel, as they take the form of a P2WSH script.

Source

pub fn max_witness_length(&self) -> u64

The maximum length a well-formed witness spending one of these should have.

Note: If you have the grind_signatures feature enabled, this will be at least 1 byte shorter.

Source

pub fn needs_csv_1_for_spend(&self) -> bool

Returns true if spending this output requires a transaction with a CheckSequenceVerify value of at least 1.

Trait Implementations§

Source§

impl Clone for StaticPaymentOutputDescriptor

Source§

fn clone(&self) -> StaticPaymentOutputDescriptor

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 StaticPaymentOutputDescriptor

Source§

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

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

impl Hash for StaticPaymentOutputDescriptor

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl PartialEq for StaticPaymentOutputDescriptor

Source§

fn eq(&self, other: &StaticPaymentOutputDescriptor) -> 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 Readable for StaticPaymentOutputDescriptor

Source§

fn read<R: Read>(reader: &mut R) -> Result<Self, DecodeError>

Reads a Self in from the given Read.
Source§

impl Writeable for StaticPaymentOutputDescriptor

Source§

fn write<W: Writer>(&self, writer: &mut W) -> Result<(), Error>

Writes self out to the given Writer.
Source§

fn serialized_length(&self) -> usize

Gets the length of this object after it has been serialized. This can be overridden to optimize cases where we prepend an object with its length.
Source§

fn encode(&self) -> Vec<u8>

Writes self out to a Vec<u8>.
Source§

impl Eq for StaticPaymentOutputDescriptor

Source§

impl StructuralPartialEq for StaticPaymentOutputDescriptor

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<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. 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> LengthReadable for T
where T: Readable,

Source§

fn read_from_fixed_length_buffer<R>(reader: &mut R) -> Result<T, DecodeError>

Reads a Self in from the given LengthLimitedRead.
Source§

impl<T> MaybeReadable for T
where T: Readable,

Source§

fn read<R>(reader: &mut R) -> Result<Option<T>, DecodeError>
where R: Read,

Reads a Self in from the given Read.
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.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V