@@ -711,10 +711,7 @@ impl HTLCDescriptor {
711711 where
712712 SP :: Target : SignerProvider < EcdsaSigner = S > ,
713713 {
714- signer_provider. derive_channel_signer (
715- self . channel_derivation_parameters . value_satoshis ,
716- self . channel_derivation_parameters . keys_id ,
717- )
714+ signer_provider. derive_channel_signer ( self . channel_derivation_parameters . keys_id )
718715 }
719716}
720717
@@ -950,19 +947,15 @@ pub trait SignerProvider {
950947 /// `channel_keys_id`.
951948 ///
952949 /// This method must return a different value each time it is called.
953- fn generate_channel_keys_id (
954- & self , inbound : bool , channel_value_satoshis : u64 , user_channel_id : u128 ,
955- ) -> [ u8 ; 32 ] ;
950+ fn generate_channel_keys_id ( & self , inbound : bool , user_channel_id : u128 ) -> [ u8 ; 32 ] ;
956951
957952 /// Derives the private key material backing a `Signer`.
958953 ///
959954 /// To derive a new `Signer`, a fresh `channel_keys_id` should be obtained through
960955 /// [`SignerProvider::generate_channel_keys_id`]. Otherwise, an existing `Signer` can be
961956 /// re-derived from its `channel_keys_id`, which can be obtained through its trait method
962957 /// [`ChannelSigner::channel_keys_id`].
963- fn derive_channel_signer (
964- & self , channel_value_satoshis : u64 , channel_keys_id : [ u8 ; 32 ] ,
965- ) -> Self :: EcdsaSigner ;
958+ fn derive_channel_signer ( & self , channel_keys_id : [ u8 ; 32 ] ) -> Self :: EcdsaSigner ;
966959
967960 /// Reads a [`Signer`] for this [`SignerProvider`] from the given input stream.
968961 /// This is only called during deserialization of other objects which contain
@@ -1030,8 +1023,6 @@ pub struct InMemorySigner {
10301023 pub commitment_seed : [ u8 ; 32 ] ,
10311024 /// Holder public keys and basepoints.
10321025 pub ( crate ) holder_channel_pubkeys : ChannelPublicKeys ,
1033- /// The total value of this channel.
1034- channel_value_satoshis : u64 ,
10351026 /// Key derivation parameters.
10361027 channel_keys_id : [ u8 ; 32 ] ,
10371028 /// A source of random bytes.
@@ -1047,7 +1038,6 @@ impl PartialEq for InMemorySigner {
10471038 && self . htlc_base_key == other. htlc_base_key
10481039 && self . commitment_seed == other. commitment_seed
10491040 && self . holder_channel_pubkeys == other. holder_channel_pubkeys
1050- && self . channel_value_satoshis == other. channel_value_satoshis
10511041 && self . channel_keys_id == other. channel_keys_id
10521042 }
10531043}
@@ -1062,7 +1052,6 @@ impl Clone for InMemorySigner {
10621052 htlc_base_key : self . htlc_base_key . clone ( ) ,
10631053 commitment_seed : self . commitment_seed . clone ( ) ,
10641054 holder_channel_pubkeys : self . holder_channel_pubkeys . clone ( ) ,
1065- channel_value_satoshis : self . channel_value_satoshis ,
10661055 channel_keys_id : self . channel_keys_id ,
10671056 entropy_source : RandomBytes :: new ( self . get_secure_random_bytes ( ) ) ,
10681057 }
@@ -1074,8 +1063,7 @@ impl InMemorySigner {
10741063 pub fn new < C : Signing > (
10751064 secp_ctx : & Secp256k1 < C > , funding_key : SecretKey , revocation_base_key : SecretKey ,
10761065 payment_key : SecretKey , delayed_payment_base_key : SecretKey , htlc_base_key : SecretKey ,
1077- commitment_seed : [ u8 ; 32 ] , channel_value_satoshis : u64 , channel_keys_id : [ u8 ; 32 ] ,
1078- rand_bytes_unique_start : [ u8 ; 32 ] ,
1066+ commitment_seed : [ u8 ; 32 ] , channel_keys_id : [ u8 ; 32 ] , rand_bytes_unique_start : [ u8 ; 32 ] ,
10791067 ) -> InMemorySigner {
10801068 let holder_channel_pubkeys = InMemorySigner :: make_holder_keys (
10811069 secp_ctx,
@@ -1092,7 +1080,6 @@ impl InMemorySigner {
10921080 delayed_payment_base_key,
10931081 htlc_base_key,
10941082 commitment_seed,
1095- channel_value_satoshis,
10961083 holder_channel_pubkeys,
10971084 channel_keys_id,
10981085 entropy_source : RandomBytes :: new ( rand_bytes_unique_start) ,
@@ -1734,7 +1721,7 @@ impl Writeable for InMemorySigner {
17341721 self . htlc_base_key . write ( writer) ?;
17351722 self . commitment_seed . write ( writer) ?;
17361723 None :: < ChannelTransactionParameters > . write ( writer) ?;
1737- self . channel_value_satoshis . write ( writer) ?;
1724+ 0u64 . write ( writer) ?;
17381725 self . channel_keys_id . write ( writer) ?;
17391726
17401727 write_tlv_fields ! ( writer, { } ) ;
@@ -1758,7 +1745,7 @@ where
17581745 let commitment_seed = Readable :: read ( reader) ?;
17591746 let _counterparty_channel_data: Option < ChannelTransactionParameters > =
17601747 Readable :: read ( reader) ?;
1761- let channel_value_satoshis = Readable :: read ( reader) ?;
1748+ let _channel_value_satoshis : u64 = Readable :: read ( reader) ?;
17621749 let secp_ctx = Secp256k1 :: signing_only ( ) ;
17631750 let holder_channel_pubkeys = InMemorySigner :: make_holder_keys (
17641751 & secp_ctx,
@@ -1779,7 +1766,6 @@ where
17791766 delayed_payment_base_key,
17801767 htlc_base_key,
17811768 commitment_seed,
1782- channel_value_satoshis,
17831769 holder_channel_pubkeys,
17841770 channel_keys_id : keys_id,
17851771 entropy_source : RandomBytes :: new ( entropy_source. get_secure_random_bytes ( ) ) ,
@@ -1918,9 +1904,7 @@ impl KeysManager {
19181904 }
19191905
19201906 /// Derive an old [`EcdsaChannelSigner`] containing per-channel secrets based on a key derivation parameters.
1921- pub fn derive_channel_keys (
1922- & self , channel_value_satoshis : u64 , params : & [ u8 ; 32 ] ,
1923- ) -> InMemorySigner {
1907+ pub fn derive_channel_keys ( & self , params : & [ u8 ; 32 ] ) -> InMemorySigner {
19241908 let chan_id = u64:: from_be_bytes ( params[ 0 ..8 ] . try_into ( ) . unwrap ( ) ) ;
19251909 let mut unique_start = Sha256 :: engine ( ) ;
19261910 unique_start. input ( params) ;
@@ -1972,7 +1956,6 @@ impl KeysManager {
19721956 delayed_payment_base_key,
19731957 htlc_base_key,
19741958 commitment_seed,
1975- channel_value_satoshis,
19761959 params. clone ( ) ,
19771960 prng_seed,
19781961 )
@@ -2004,10 +1987,7 @@ impl KeysManager {
20041987 if keys_cache. is_none ( )
20051988 || keys_cache. as_ref ( ) . unwrap ( ) . 1 != descriptor. channel_keys_id
20061989 {
2007- let signer = self . derive_channel_keys (
2008- descriptor. channel_value_satoshis ,
2009- & descriptor. channel_keys_id ,
2010- ) ;
1990+ let signer = self . derive_channel_keys ( & descriptor. channel_keys_id ) ;
20111991 keys_cache = Some ( ( signer, descriptor. channel_keys_id ) ) ;
20121992 }
20131993 let witness = keys_cache. as_ref ( ) . unwrap ( ) . 0 . sign_counterparty_payment_input (
@@ -2024,10 +2004,7 @@ impl KeysManager {
20242004 || keys_cache. as_ref ( ) . unwrap ( ) . 1 != descriptor. channel_keys_id
20252005 {
20262006 keys_cache = Some ( (
2027- self . derive_channel_keys (
2028- descriptor. channel_value_satoshis ,
2029- & descriptor. channel_keys_id ,
2030- ) ,
2007+ self . derive_channel_keys ( & descriptor. channel_keys_id ) ,
20312008 descriptor. channel_keys_id ,
20322009 ) ) ;
20332010 }
@@ -2196,9 +2173,7 @@ impl SignerProvider for KeysManager {
21962173 #[ cfg( taproot) ]
21972174 type TaprootSigner = InMemorySigner ;
21982175
2199- fn generate_channel_keys_id (
2200- & self , _inbound : bool , _channel_value_satoshis : u64 , user_channel_id : u128 ,
2201- ) -> [ u8 ; 32 ] {
2176+ fn generate_channel_keys_id ( & self , _inbound : bool , user_channel_id : u128 ) -> [ u8 ; 32 ] {
22022177 let child_idx = self . channel_child_index . fetch_add ( 1 , Ordering :: AcqRel ) ;
22032178 // `child_idx` is the only thing guaranteed to make each channel unique without a restart
22042179 // (though `user_channel_id` should help, depending on user behavior). If it manages to
@@ -2214,10 +2189,8 @@ impl SignerProvider for KeysManager {
22142189 id
22152190 }
22162191
2217- fn derive_channel_signer (
2218- & self , channel_value_satoshis : u64 , channel_keys_id : [ u8 ; 32 ] ,
2219- ) -> Self :: EcdsaSigner {
2220- self . derive_channel_keys ( channel_value_satoshis, & channel_keys_id)
2192+ fn derive_channel_signer ( & self , channel_keys_id : [ u8 ; 32 ] ) -> Self :: EcdsaSigner {
2193+ self . derive_channel_keys ( & channel_keys_id)
22212194 }
22222195
22232196 fn read_chan_signer ( & self , reader : & [ u8 ] ) -> Result < Self :: EcdsaSigner , DecodeError > {
@@ -2341,16 +2314,12 @@ impl SignerProvider for PhantomKeysManager {
23412314 #[ cfg( taproot) ]
23422315 type TaprootSigner = InMemorySigner ;
23432316
2344- fn generate_channel_keys_id (
2345- & self , inbound : bool , channel_value_satoshis : u64 , user_channel_id : u128 ,
2346- ) -> [ u8 ; 32 ] {
2347- self . inner . generate_channel_keys_id ( inbound, channel_value_satoshis, user_channel_id)
2317+ fn generate_channel_keys_id ( & self , inbound : bool , user_channel_id : u128 ) -> [ u8 ; 32 ] {
2318+ self . inner . generate_channel_keys_id ( inbound, user_channel_id)
23482319 }
23492320
2350- fn derive_channel_signer (
2351- & self , channel_value_satoshis : u64 , channel_keys_id : [ u8 ; 32 ] ,
2352- ) -> Self :: EcdsaSigner {
2353- self . inner . derive_channel_signer ( channel_value_satoshis, channel_keys_id)
2321+ fn derive_channel_signer ( & self , channel_keys_id : [ u8 ; 32 ] ) -> Self :: EcdsaSigner {
2322+ self . inner . derive_channel_signer ( channel_keys_id)
23542323 }
23552324
23562325 fn read_chan_signer ( & self , reader : & [ u8 ] ) -> Result < Self :: EcdsaSigner , DecodeError > {
@@ -2398,10 +2367,8 @@ impl PhantomKeysManager {
23982367 }
23992368
24002369 /// See [`KeysManager::derive_channel_keys`] for documentation on this method.
2401- pub fn derive_channel_keys (
2402- & self , channel_value_satoshis : u64 , params : & [ u8 ; 32 ] ,
2403- ) -> InMemorySigner {
2404- self . inner . derive_channel_keys ( channel_value_satoshis, params)
2370+ pub fn derive_channel_keys ( & self , params : & [ u8 ; 32 ] ) -> InMemorySigner {
2371+ self . inner . derive_channel_keys ( params)
24052372 }
24062373
24072374 /// Gets the "node_id" secret key used to sign gossip announcements, decode onion data, etc.
0 commit comments