OfferChannel

Struct OfferChannel 

Source
pub struct OfferChannel {
Show 22 fields pub protocol_version: u32, pub contract_flags: u8, pub chain_hash: [u8; 32], pub temporary_contract_id: [u8; 32], pub temporary_channel_id: [u8; 32], pub contract_info: ContractInfo, pub funding_pubkey: PublicKey, pub revocation_basepoint: PublicKey, pub publish_basepoint: PublicKey, pub own_basepoint: PublicKey, pub first_per_update_point: PublicKey, pub payout_spk: ScriptBuf, pub payout_serial_id: u64, pub offer_collateral: Amount, pub funding_inputs: Vec<FundingInput>, pub change_spk: ScriptBuf, pub change_serial_id: u64, pub fund_output_serial_id: u64, pub fee_rate_per_vb: u64, pub cet_locktime: u32, pub refund_locktime: u32, pub cet_nsequence: u32,
}
Expand description

Contains information about a party wishing to enter into a DLC with another party. The contained information is sufficient for any other party to create a set of transactions representing the contract and its terms.

Fields§

§protocol_version: u32

The version of the protocol used by the sending peer.

§contract_flags: u8

Indicates options and features selected for the offered contract.

§chain_hash: [u8; 32]

The identifier of the chain on which the contract takes place.

§temporary_contract_id: [u8; 32]

A random nonce identifying the contract until the fund transaction is created.

§temporary_channel_id: [u8; 32]

A random nonce identifying the channel until the fund transaction is created.

§contract_info: ContractInfo

Information about the contract established during channel creation.

§funding_pubkey: PublicKey

The public key used by the offer party in the 2 of 2 funding output.

§revocation_basepoint: PublicKey

The base point that will be used by the offer party for revocation.

§publish_basepoint: PublicKey

The base point that will be used by the offer party for generating adaptor signatures to revocable transactions.

§own_basepoint: PublicKey

The base point that will be used by the offer party in the 2 of 2 output of buffer transactions.

§first_per_update_point: PublicKey

The first per update point of the offer party.

§payout_spk: ScriptBuf

Script used by the offer party to receive their payout on channel close.

§payout_serial_id: u64

Serial id used to order outputs.

§offer_collateral: Amount

The collateral input by the offer party in the channel.

§funding_inputs: Vec<FundingInput>

The inputs that the offer party will use to fund the channel.

§change_spk: ScriptBuf

The script that the offer party to receive their change.

§change_serial_id: u64

Serial id used to order outputs.

§fund_output_serial_id: u64

Serial id used to order outputs.

§fee_rate_per_vb: u64

The fee rate proposed by the offer party for the channel transactions.

§cet_locktime: u32

Lock time for the CETs.

§refund_locktime: u32

Lock time for the refund transaction.

§cet_nsequence: u32

The nSequence value to use for the CETs.

Implementations§

Source§

impl OfferChannel

Source

pub fn validate<C: Verification>( &self, secp: &Secp256k1<C>, min_timeout_interval: u32, max_timeout_interval: u32, min_cet_nsequence: u32, max_cet_nsequence: u32, ) -> Result<(), Error>

Returns whether the message satisfies validity requirements.

Trait Implementations§

Source§

impl Clone for OfferChannel

Source§

fn clone(&self) -> OfferChannel

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 OfferChannel

Source§

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

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

impl PartialEq for OfferChannel

Source§

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

Source§

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

Reads a Self in from the given Read.
Source§

impl Type for OfferChannel

Source§

fn type_id(&self) -> u16

Returns the type identifying the message payload.
Source§

impl Writeable for OfferChannel

Source§

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

Writes self out to the given Writer.
Source§

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

Writes self out to a Vec<u8>.
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§

impl StructuralPartialEq for OfferChannel

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> 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