X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=lightning%2Fsrc%2Fevents%2Fmod.rs;h=36c0f20d2aed5d99f8183240d3332d67e0cd0130;hb=7a992ba40f6192bce138cf3eafdf41c3d050b9f7;hp=567096b9852c77cd0fa6a2d2ff53f662f6082182;hpb=8f024303e781be9c1379c8efdefdb669fadb6325;p=rust-lightning diff --git a/lightning/src/events/mod.rs b/lightning/src/events/mod.rs index 567096b9..36c0f20d 100644 --- a/lightning/src/events/mod.rs +++ b/lightning/src/events/mod.rs @@ -715,6 +715,10 @@ pub enum Event { SpendableOutputs { /// The outputs which you should store as spendable by you. outputs: Vec, + /// The `channel_id` indicating which channel the spendable outputs belong to. + /// + /// This will always be `Some` for events generated by LDK versions 0.0.117 and above. + channel_id: Option<[u8; 32]>, }, /// This event is generated when a payment has been successfully forwarded through us and a /// forwarding fee earned. @@ -821,12 +825,12 @@ pub enum Event { user_channel_id: u128, /// The reason the channel was closed. reason: ClosureReason, - /// Counterparty in the closed channel. - /// + /// Counterparty in the closed channel. + /// /// This field will be `None` for objects serialized prior to LDK 0.0.117. counterparty_node_id: Option, - /// Channel capacity of the closing channel (sats). - /// + /// Channel capacity of the closing channel (sats). + /// /// This field will be `None` for objects serialized prior to LDK 0.0.117. channel_capacity_sats: Option, }, @@ -1000,10 +1004,11 @@ impl Writeable for Event { // Note that we now ignore these on the read end as we'll re-generate them in // ChannelManager, we write them here only for backwards compatibility. }, - &Event::SpendableOutputs { ref outputs } => { + &Event::SpendableOutputs { ref outputs, channel_id } => { 5u8.write(writer)?; write_tlv_fields!(writer, { (0, WithoutLength(outputs), required), + (1, channel_id, option), }); }, &Event::HTLCIntercepted { requested_next_hop_scid, payment_hash, inbound_amount_msat, expected_outbound_amount_msat, intercept_id } => { @@ -1030,8 +1035,8 @@ impl Writeable for Event { (5, outbound_amount_forwarded_msat, option), }); }, - &Event::ChannelClosed { ref channel_id, ref user_channel_id, ref reason, - ref counterparty_node_id, ref channel_capacity_sats + &Event::ChannelClosed { ref channel_id, ref user_channel_id, ref reason, + ref counterparty_node_id, ref channel_capacity_sats } => { 9u8.write(writer)?; // `user_channel_id` used to be a single u64 value. In order to remain backwards @@ -1274,10 +1279,12 @@ impl MaybeReadable for Event { 5u8 => { let f = || { let mut outputs = WithoutLength(Vec::new()); + let mut channel_id: Option<[u8; 32]> = None; read_tlv_fields!(reader, { (0, outputs, required), + (1, channel_id, option), }); - Ok(Some(Event::SpendableOutputs { outputs: outputs.0 })) + Ok(Some(Event::SpendableOutputs { outputs: outputs.0, channel_id })) }; f() }, @@ -1368,7 +1375,7 @@ impl MaybeReadable for Event { }, 13u8 => { let f = || { - _init_and_read_tlv_fields!(reader, { + _init_and_read_len_prefixed_tlv_fields!(reader, { (0, payment_id, required), (2, payment_hash, option), (4, path, required_vec), @@ -1433,7 +1440,7 @@ impl MaybeReadable for Event { }, 21u8 => { let f = || { - _init_and_read_tlv_fields!(reader, { + _init_and_read_len_prefixed_tlv_fields!(reader, { (0, payment_id, required), (2, payment_hash, required), (4, path, required_vec), @@ -1449,7 +1456,7 @@ impl MaybeReadable for Event { }, 23u8 => { let f = || { - _init_and_read_tlv_fields!(reader, { + _init_and_read_len_prefixed_tlv_fields!(reader, { (0, payment_id, required), (2, payment_hash, required), (4, path, required_vec),