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: ChainHashThe genesis hash of the blockchain where the channel is to be opened
short_channel_id: u64The short channel ID
timestamp: u32A strictly monotonic announcement counter, with gaps allowed, specific to this channel
flags: u8Channel flags
cltv_expiry_delta: u16The 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: u64The minimum HTLC size incoming to sender, in milli-satoshi
htlc_maximum_msat: u64The maximum HTLC value incoming to sender, in milli-satoshi.
This used to be optional.
fee_base_msat: u32The base HTLC fee charged by sender, in milli-satoshi
fee_proportional_millionths: u32The 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 Hash for UnsignedChannelUpdate
impl Hash 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<T> AnySync for T
impl<T> AnySync for T
§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,
§impl<T> Downcast for Twhere
T: AsAny + ?Sized,
impl<T> Downcast for Twhere
T: AsAny + ?Sized,
§fn downcast_ref<T>(&self) -> Option<&T>where
T: AsAny,
fn downcast_ref<T>(&self) -> Option<&T>where
T: AsAny,
Any.§fn downcast_mut<T>(&mut self) -> Option<&mut T>where
T: AsAny,
fn downcast_mut<T>(&mut self) -> Option<&mut T>where
T: AsAny,
Any.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<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
§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> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§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