Struct UnsignedChannelUpdate
pub struct UnsignedChannelUpdate {
pub chain_hash: ChainHash,
pub short_channel_id: u64,
pub timestamp: u32,
pub flags: u8,
pub cltv_expiry_delta: u16,
pub htlc_minimum_msat: u64,
pub htlc_maximum_msat: u64,
pub fee_base_msat: u32,
pub fee_proportional_millionths: u32,
pub excess_data: Vec<u8>,
}
Expand description
The unsigned part of a channel_update
message.
Fields§
§chain_hash: ChainHash
The genesis hash of the blockchain where the channel is to be opened
short_channel_id: u64
The short channel ID
timestamp: u32
A strictly monotonic announcement counter, with gaps allowed, specific to this channel
flags: u8
Channel flags
cltv_expiry_delta: u16
The number of blocks such that if:
incoming_htlc.cltv_expiry < outgoing_htlc.cltv_expiry + cltv_expiry_delta
then we need to fail the HTLC backwards. When forwarding an HTLC, cltv_expiry_delta
determines
the outgoing HTLC’s minimum cltv_expiry
value – so, if an incoming HTLC comes in with a
cltv_expiry
of 100000, and the node we’re forwarding to has a cltv_expiry_delta
value of 10,
then we’ll check that the outgoing HTLC’s cltv_expiry
value is at least 100010 before
forwarding. Note that the HTLC sender is the one who originally sets this value when
constructing the route.
htlc_minimum_msat: u64
The minimum HTLC size incoming to sender, in milli-satoshi
htlc_maximum_msat: u64
The maximum HTLC value incoming to sender, in milli-satoshi.
This used to be optional.
fee_base_msat: u32
The base HTLC fee charged by sender, in milli-satoshi
fee_proportional_millionths: u32
The amount to fee multiplier, in micro-satoshi
excess_data: Vec<u8>
Excess data which was signed as a part of the message which we do not (yet) understand how to decode.
This is stored to ensure forward-compatibility as new fields are added to the lightning gossip protocol.
Trait Implementations§
§impl Clone for UnsignedChannelUpdate
impl Clone for UnsignedChannelUpdate
§fn clone(&self) -> UnsignedChannelUpdate
fn clone(&self) -> UnsignedChannelUpdate
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more§impl Debug for UnsignedChannelUpdate
impl Debug for UnsignedChannelUpdate
§impl PartialEq for UnsignedChannelUpdate
impl PartialEq for UnsignedChannelUpdate
§impl Readable for UnsignedChannelUpdate
impl Readable for UnsignedChannelUpdate
§fn read<R>(r: &mut R) -> Result<UnsignedChannelUpdate, DecodeError>where
R: Read,
fn read<R>(r: &mut R) -> Result<UnsignedChannelUpdate, DecodeError>where
R: Read,
Self
in from the given Read
.§impl Writeable for UnsignedChannelUpdate
impl Writeable for UnsignedChannelUpdate
impl Eq for UnsignedChannelUpdate
impl StructuralPartialEq for UnsignedChannelUpdate
Auto Trait Implementations§
impl Freeze for UnsignedChannelUpdate
impl RefUnwindSafe for UnsignedChannelUpdate
impl Send for UnsignedChannelUpdate
impl Sync for UnsignedChannelUpdate
impl Unpin for UnsignedChannelUpdate
impl UnwindSafe for UnsignedChannelUpdate
Blanket Implementations§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T
in a tonic::Request