Struct lightning::chain::channelmonitor::ChannelMonitorUpdate
source · pub struct ChannelMonitorUpdate {
pub update_id: u64,
pub channel_id: Option<ChannelId>,
/* private fields */
}
Expand description
An update generated by the underlying channel itself which contains some new information the
ChannelMonitor
should be made aware of.
Because this represents only a small number of updates to the underlying state, it is generally
much smaller than a full ChannelMonitor
. However, for large single commitment transaction
updates (e.g. ones during which there are hundreds of HTLCs pending on the commitment
transaction), a single update may reach upwards of 1 MiB in serialized size.
Fields§
§update_id: u64
The sequence number of this update. Updates must be replayed in-order according to this sequence number (and updates may panic if they are not). The update_id values are strictly increasing and increase by one for each new update, with two exceptions specified below.
This sequence number is also used to track up to which points updates which returned
ChannelMonitorUpdateStatus::InProgress
have been applied to all copies of a given
ChannelMonitor when ChannelManager::channel_monitor_updated is called.
The only instances we allow where update_id values are not strictly increasing have a
special update ID of CLOSED_CHANNEL_UPDATE_ID
. This update ID is used for updates that
will force close the channel by broadcasting the latest commitment transaction or
special post-force-close updates, like providing preimages necessary to claim outputs on the
broadcast commitment transaction. See its docs for more details.
channel_id: Option<ChannelId>
The channel ID associated with these updates.
Will be None
for ChannelMonitorUpdate
s constructed on LDK versions prior to 0.0.121 and
always Some
otherwise.
Trait Implementations§
source§impl Clone for ChannelMonitorUpdate
impl Clone for ChannelMonitorUpdate
source§fn clone(&self) -> ChannelMonitorUpdate
fn clone(&self) -> ChannelMonitorUpdate
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for ChannelMonitorUpdate
impl Debug for ChannelMonitorUpdate
source§impl PartialEq for ChannelMonitorUpdate
impl PartialEq for ChannelMonitorUpdate
source§fn eq(&self, other: &ChannelMonitorUpdate) -> bool
fn eq(&self, other: &ChannelMonitorUpdate) -> bool
self
and other
values to be equal, and is used
by ==
.