X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=src%2Futil%2Fevents.rs;h=589c4be10e61b331e6443ef4514a66e6d754af80;hb=4330ae5d4f1fefeb7f211360354fb04eb8480351;hp=1608d087370bd5fce0a6420a16ba5400a88d95cd;hpb=98e5c5e4d3a2de38dad49fc276ded75933fdb67f;p=rust-lightning diff --git a/src/util/events.rs b/src/util/events.rs index 1608d087..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,19 @@ 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 { + node_id: PublicKey, + msg: msgs::OpenChannel, + }, /// Used to indicate that a funding_created message should be sent to the peer with the given node_id. SendFundingCreated { node_id: PublicKey, @@ -84,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 { @@ -94,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 {