X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=src%2Futil%2Fevents.rs;h=589c4be10e61b331e6443ef4514a66e6d754af80;hb=5ee88ad9f2c9634eb5a1a5131614047028aba757;hp=0c3332f996036cc20c945c32802f275a05312c51;hpb=c47525cb8496c4a82b68e0933a3a5fe0c38e5494;p=rust-lightning diff --git a/src/util/events.rs b/src/util/events.rs index 0c3332f9..589c4be1 100644 --- a/src/util/events.rs +++ b/src/util/events.rs @@ -2,7 +2,6 @@ use ln::msgs; use chain::transaction::OutPoint; use bitcoin::blockdata::script::Script; -use bitcoin::util::uint::Uint256; use secp256k1::key::PublicKey; @@ -14,7 +13,7 @@ pub enum Event { /// parameters and then call ChannelManager::funding_transaction_generated. /// Generated in ChannelManager message handling. FundingGenerationReady { - temporary_channel_id: Uint256, + temporary_channel_id: [u8; 32], channel_value_satoshis: u64, output_script: Script, /// The value passed in to ChannelManager::create_channel @@ -47,13 +46,13 @@ pub enum Event { PaymentFailed { payment_hash: [u8; 32], }, - - // Events indicating the network loop should send a message to a peer: /// Used to indicate that ChannelManager::process_pending_htlc_forwards should be called at a /// time in the future. PendingHTLCsForwardable { time_forwardable: Instant, }, + + // Events indicating the network loop should send a message to a peer: /// Used to indicate that we've initialted a channel open and should send the open_channel /// message provided to the given peer SendOpenChannel { @@ -90,6 +89,11 @@ pub enum Event { msg: msgs::UpdateFailHTLC, commitment_msg: msgs::CommitmentSigned, }, + /// Used to indicate that a shutdown message should be sent to the peer with the given node_id. + SendShutdown { + node_id: PublicKey, + msg: msgs::Shutdown, + }, /// 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 { @@ -100,6 +104,13 @@ pub enum Event { BroadcastChannelUpdate { msg: msgs::ChannelUpdate, }, + + //Error handling + /// Broadcast an error downstream to be handled + HandleError { + node_id: PublicKey, + action: Option + } } pub trait EventsProvider {