X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=src%2Futil%2Fevents.rs;h=a113217943f9d268cea2cc3e8cf8a3056b3f6be6;hb=af89de3d86356285b863bc3c4309b2853c981c96;hp=d7312cd9129b1cadd92c82bd09f2e5233f558d53;hpb=e382a7b4b3e5f3e59a9300b9d8a4d8bff06366fe;p=rust-lightning diff --git a/src/util/events.rs b/src/util/events.rs index d7312cd9..a1132179 100644 --- a/src/util/events.rs +++ b/src/util/events.rs @@ -27,6 +27,8 @@ pub enum Event { /// Used to indicate that the client should generate a funding transaction with the given /// parameters and then call ChannelManager::funding_transaction_generated. /// Generated in ChannelManager message handling. + /// Note that *all inputs* in the funding transaction must spend SegWit outputs or your + /// counterparty can steal your funds! FundingGenerationReady { /// The random channel_id we picked which you'll need to pass into /// ChannelManager::funding_transaction_generated. @@ -101,6 +103,7 @@ pub enum Event { /// An event generated by ChannelManager which indicates a message should be sent to a peer (or /// broadcast to most peers). /// These events are handled by PeerManager::process_events if you are using a PeerManager. +#[derive(Clone)] pub enum MessageSendEvent { /// Used to indicate that we've accepted a channel open and should send the accept_channel /// message provided to the given peer. @@ -161,6 +164,13 @@ pub enum MessageSendEvent { /// The message which should be sent. msg: msgs::RevokeAndACK, }, + /// Used to indicate that a closing_signed message should be sent to the peer with the given node_id. + SendClosingSigned { + /// The node_id of the node which should receive this message + node_id: PublicKey, + /// The message which should be sent. + msg: msgs::ClosingSigned, + }, /// Used to indicate that a shutdown message should be sent to the peer with the given node_id. SendShutdown { /// The node_id of the node which should receive this message @@ -168,6 +178,13 @@ pub enum MessageSendEvent { /// The message which should be sent. msg: msgs::Shutdown, }, + /// Used to indicate that a channel_reestablish message should be sent to the peer with the given node_id. + SendChannelReestablish { + /// The node_id of the node which should receive this message + node_id: PublicKey, + /// The message which should be sent. + msg: msgs::ChannelReestablish, + }, /// Used to indicate that a channel_announcement and channel_update should be broadcast to all /// peers (except the peer with node_id either msg.contents.node_id_1 or msg.contents.node_id_2). BroadcastChannelAnnouncement {