mirror of
https://github.com/lightningdevkit/rust-lightning.git
synced 2025-02-24 15:02:20 +01:00
Merge pull request #1855 from tnull/2022-11-inbound-user-channel-id-randomization-fixup
Inbound `user_channel_id` randomization follow-up
This commit is contained in:
commit
7269fa2024
4 changed files with 11 additions and 7 deletions
|
@ -1087,7 +1087,8 @@ pub struct ChannelDetails {
|
|||
/// [`outbound_capacity_msat`]: ChannelDetails::outbound_capacity_msat
|
||||
pub unspendable_punishment_reserve: Option<u64>,
|
||||
/// The `user_channel_id` passed in to create_channel, or a random value if the channel was
|
||||
/// inbound.
|
||||
/// inbound. This may be zero for inbound channels serialized with LDK versions prior to
|
||||
/// 0.0.113.
|
||||
pub user_channel_id: u128,
|
||||
/// Our total balance. This is the amount we would get if we close the channel.
|
||||
/// This value is not exact. Due to various in-flight changes and feerate changes, exactly this
|
||||
|
@ -4653,7 +4654,7 @@ impl<M: Deref, T: Deref, K: Deref, F: Deref, L: Deref> ChannelManager<M, T, K, F
|
|||
}
|
||||
channel_state.pending_msg_events.push(events::MessageSendEvent::SendAcceptChannel {
|
||||
node_id: counterparty_node_id.clone(),
|
||||
msg: channel.accept_inbound_channel(0),
|
||||
msg: channel.accept_inbound_channel(user_channel_id),
|
||||
});
|
||||
} else {
|
||||
let mut pending_events = self.pending_events.lock().unwrap();
|
||||
|
|
|
@ -806,10 +806,12 @@ pub fn create_chan_between_nodes_with_value_init<'a, 'b, 'c>(node_a: &Node<'a, '
|
|||
let create_chan_id = node_a.node.create_channel(node_b.node.get_our_node_id(), channel_value, push_msat, 42, None).unwrap();
|
||||
let open_channel_msg = get_event_msg!(node_a, MessageSendEvent::SendOpenChannel, node_b.node.get_our_node_id());
|
||||
assert_eq!(open_channel_msg.temporary_channel_id, create_chan_id);
|
||||
assert_eq!(node_a.node.list_channels().iter().find(|channel| channel.channel_id == create_chan_id).unwrap().user_channel_id, 42);
|
||||
node_b.node.handle_open_channel(&node_a.node.get_our_node_id(), a_flags, &open_channel_msg);
|
||||
let accept_channel_msg = get_event_msg!(node_b, MessageSendEvent::SendAcceptChannel, node_a.node.get_our_node_id());
|
||||
assert_eq!(accept_channel_msg.temporary_channel_id, create_chan_id);
|
||||
node_a.node.handle_accept_channel(&node_b.node.get_our_node_id(), b_flags, &accept_channel_msg);
|
||||
assert_ne!(node_b.node.list_channels().iter().find(|channel| channel.channel_id == create_chan_id).unwrap().user_channel_id, 0);
|
||||
|
||||
sign_funding_transaction(node_a, node_b, channel_value, create_chan_id)
|
||||
}
|
||||
|
|
|
@ -13,8 +13,7 @@ use crate::chain::keysinterface::{KeysInterface, Recipient};
|
|||
use crate::ln::features::InitFeatures;
|
||||
use crate::ln::msgs::{self, DecodeError, OnionMessageHandler};
|
||||
use super::{BlindedRoute, CustomOnionMessageContents, CustomOnionMessageHandler, Destination, OnionMessageContents, OnionMessenger, SendError};
|
||||
use crate::util::enforcing_trait_impls::EnforcingSigner;
|
||||
use crate::util::ser::{ Writeable, Writer};
|
||||
use crate::util::ser::{Writeable, Writer};
|
||||
use crate::util::test_utils;
|
||||
|
||||
use bitcoin::network::constants::Network;
|
||||
|
|
|
@ -319,7 +319,8 @@ pub enum Event {
|
|||
/// The script which should be used in the transaction output.
|
||||
output_script: Script,
|
||||
/// The `user_channel_id` value passed in to [`ChannelManager::create_channel`], or a
|
||||
/// random value for an inbound channel.
|
||||
/// random value for an inbound channel. This may be zero for objects serialized with LDK
|
||||
/// versions prior to 0.0.113.
|
||||
///
|
||||
/// [`ChannelManager::create_channel`]: crate::ln::channelmanager::ChannelManager::create_channel
|
||||
user_channel_id: u128,
|
||||
|
@ -632,8 +633,9 @@ pub enum Event {
|
|||
/// The `user_channel_id` value passed in to [`ChannelManager::create_channel`] for outbound
|
||||
/// channels, or to [`ChannelManager::accept_inbound_channel`] for inbound channels if
|
||||
/// [`UserConfig::manually_accept_inbound_channels`] config flag is set to true. Otherwise
|
||||
/// `user_channel_id` will be randomized for an inbound channel.
|
||||
/// This will always be zero for objects serialized with LDK versions prior to 0.0.102.
|
||||
/// `user_channel_id` will be randomized for inbound channels.
|
||||
/// This may be zero for inbound channels serialized prior to 0.0.113 and will always be
|
||||
/// zero for objects serialized with LDK versions prior to 0.0.102.
|
||||
///
|
||||
/// [`ChannelManager::create_channel`]: crate::ln::channelmanager::ChannelManager::create_channel
|
||||
/// [`ChannelManager::accept_inbound_channel`]: crate::ln::channelmanager::ChannelManager::accept_inbound_channel
|
||||
|
|
Loading…
Add table
Reference in a new issue