@@ -395,9 +395,12 @@ pub trait BaseSign {
395
395
fn sign_channel_announcement ( & self , msg : & UnsignedChannelAnnouncement , secp_ctx : & Secp256k1 < secp256k1:: All > )
396
396
-> Result < ( Signature , Signature ) , ( ) > ;
397
397
/// Set the counterparty static channel data, including basepoints,
398
- /// `counterparty_selected`/`holder_selected_contest_delay` and funding outpoint. Since these
399
- /// are static channel data, they MUST NOT be allowed to change to different values once set,
400
- /// as LDK may call this method more than once.
398
+ /// `counterparty_selected`/`holder_selected_contest_delay` and funding outpoint.
399
+ ///
400
+ /// This data is static, and will never change for a channel once set. For a given [`BaseSign`]
401
+ /// instance, LDK will call this method exactly once - either immediately after construction
402
+ /// (not including if done via [`KeysInterface::read_chan_signer`]) or when the funding
403
+ /// information has been generated.
401
404
///
402
405
/// channel_parameters.is_populated() MUST be true.
403
406
fn provide_channel_parameters ( & mut self , channel_parameters : & ChannelTransactionParameters ) ;
@@ -470,8 +473,10 @@ pub trait KeysInterface {
470
473
/// This method should return a different value each time it is called, to avoid linking
471
474
/// on-chain funds across channels as controlled to the same user.
472
475
fn get_shutdown_scriptpubkey ( & self ) -> ShutdownScript ;
473
- /// Get a new set of [`Sign`] for per-channel secrets. These MUST be unique even if you
474
- /// restarted with some stale data!
476
+ /// Generates a unique `channel_keys_id` that can be used to obtain a [`Self::Signer`] through
477
+ /// [`KeysInterface::derive_channel_signer`]. The `user_channel_id` is provided to allow
478
+ /// implementations of [`KeysInterface`] to maintain a mapping between it and the generated
479
+ /// `channel_keys_id`.
475
480
///
476
481
/// This method must return a different value each time it is called.
477
482
fn generate_channel_keys_id ( & self , inbound : bool , channel_value_satoshis : u64 , user_channel_id : u128 ) -> [ u8 ; 32 ] ;
0 commit comments