@@ -711,10 +711,7 @@ impl HTLCDescriptor {
711
711
where
712
712
SP :: Target : SignerProvider < EcdsaSigner = S > ,
713
713
{
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 )
718
715
}
719
716
}
720
717
@@ -950,19 +947,15 @@ pub trait SignerProvider {
950
947
/// `channel_keys_id`.
951
948
///
952
949
/// 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 ] ;
956
951
957
952
/// Derives the private key material backing a `Signer`.
958
953
///
959
954
/// To derive a new `Signer`, a fresh `channel_keys_id` should be obtained through
960
955
/// [`SignerProvider::generate_channel_keys_id`]. Otherwise, an existing `Signer` can be
961
956
/// re-derived from its `channel_keys_id`, which can be obtained through its trait method
962
957
/// [`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 ;
966
959
967
960
/// Reads a [`Signer`] for this [`SignerProvider`] from the given input stream.
968
961
/// This is only called during deserialization of other objects which contain
@@ -1030,8 +1023,6 @@ pub struct InMemorySigner {
1030
1023
pub commitment_seed : [ u8 ; 32 ] ,
1031
1024
/// Holder public keys and basepoints.
1032
1025
pub ( crate ) holder_channel_pubkeys : ChannelPublicKeys ,
1033
- /// The total value of this channel.
1034
- channel_value_satoshis : u64 ,
1035
1026
/// Key derivation parameters.
1036
1027
channel_keys_id : [ u8 ; 32 ] ,
1037
1028
/// A source of random bytes.
@@ -1047,7 +1038,6 @@ impl PartialEq for InMemorySigner {
1047
1038
&& self . htlc_base_key == other. htlc_base_key
1048
1039
&& self . commitment_seed == other. commitment_seed
1049
1040
&& self . holder_channel_pubkeys == other. holder_channel_pubkeys
1050
- && self . channel_value_satoshis == other. channel_value_satoshis
1051
1041
&& self . channel_keys_id == other. channel_keys_id
1052
1042
}
1053
1043
}
@@ -1062,7 +1052,6 @@ impl Clone for InMemorySigner {
1062
1052
htlc_base_key : self . htlc_base_key . clone ( ) ,
1063
1053
commitment_seed : self . commitment_seed . clone ( ) ,
1064
1054
holder_channel_pubkeys : self . holder_channel_pubkeys . clone ( ) ,
1065
- channel_value_satoshis : self . channel_value_satoshis ,
1066
1055
channel_keys_id : self . channel_keys_id ,
1067
1056
entropy_source : RandomBytes :: new ( self . get_secure_random_bytes ( ) ) ,
1068
1057
}
@@ -1074,8 +1063,7 @@ impl InMemorySigner {
1074
1063
pub fn new < C : Signing > (
1075
1064
secp_ctx : & Secp256k1 < C > , funding_key : SecretKey , revocation_base_key : SecretKey ,
1076
1065
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 ] ,
1079
1067
) -> InMemorySigner {
1080
1068
let holder_channel_pubkeys = InMemorySigner :: make_holder_keys (
1081
1069
secp_ctx,
@@ -1092,7 +1080,6 @@ impl InMemorySigner {
1092
1080
delayed_payment_base_key,
1093
1081
htlc_base_key,
1094
1082
commitment_seed,
1095
- channel_value_satoshis,
1096
1083
holder_channel_pubkeys,
1097
1084
channel_keys_id,
1098
1085
entropy_source : RandomBytes :: new ( rand_bytes_unique_start) ,
@@ -1734,7 +1721,7 @@ impl Writeable for InMemorySigner {
1734
1721
self . htlc_base_key . write ( writer) ?;
1735
1722
self . commitment_seed . write ( writer) ?;
1736
1723
None :: < ChannelTransactionParameters > . write ( writer) ?;
1737
- self . channel_value_satoshis . write ( writer) ?;
1724
+ 0u64 . write ( writer) ?;
1738
1725
self . channel_keys_id . write ( writer) ?;
1739
1726
1740
1727
write_tlv_fields ! ( writer, { } ) ;
@@ -1758,7 +1745,7 @@ where
1758
1745
let commitment_seed = Readable :: read ( reader) ?;
1759
1746
let _counterparty_channel_data: Option < ChannelTransactionParameters > =
1760
1747
Readable :: read ( reader) ?;
1761
- let channel_value_satoshis = Readable :: read ( reader) ?;
1748
+ let _channel_value_satoshis : u64 = Readable :: read ( reader) ?;
1762
1749
let secp_ctx = Secp256k1 :: signing_only ( ) ;
1763
1750
let holder_channel_pubkeys = InMemorySigner :: make_holder_keys (
1764
1751
& secp_ctx,
@@ -1779,7 +1766,6 @@ where
1779
1766
delayed_payment_base_key,
1780
1767
htlc_base_key,
1781
1768
commitment_seed,
1782
- channel_value_satoshis,
1783
1769
holder_channel_pubkeys,
1784
1770
channel_keys_id : keys_id,
1785
1771
entropy_source : RandomBytes :: new ( entropy_source. get_secure_random_bytes ( ) ) ,
@@ -1918,9 +1904,7 @@ impl KeysManager {
1918
1904
}
1919
1905
1920
1906
/// 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 {
1924
1908
let chan_id = u64:: from_be_bytes ( params[ 0 ..8 ] . try_into ( ) . unwrap ( ) ) ;
1925
1909
let mut unique_start = Sha256 :: engine ( ) ;
1926
1910
unique_start. input ( params) ;
@@ -1972,7 +1956,6 @@ impl KeysManager {
1972
1956
delayed_payment_base_key,
1973
1957
htlc_base_key,
1974
1958
commitment_seed,
1975
- channel_value_satoshis,
1976
1959
params. clone ( ) ,
1977
1960
prng_seed,
1978
1961
)
@@ -2004,10 +1987,7 @@ impl KeysManager {
2004
1987
if keys_cache. is_none ( )
2005
1988
|| keys_cache. as_ref ( ) . unwrap ( ) . 1 != descriptor. channel_keys_id
2006
1989
{
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 ) ;
2011
1991
keys_cache = Some ( ( signer, descriptor. channel_keys_id ) ) ;
2012
1992
}
2013
1993
let witness = keys_cache. as_ref ( ) . unwrap ( ) . 0 . sign_counterparty_payment_input (
@@ -2024,10 +2004,7 @@ impl KeysManager {
2024
2004
|| keys_cache. as_ref ( ) . unwrap ( ) . 1 != descriptor. channel_keys_id
2025
2005
{
2026
2006
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 ) ,
2031
2008
descriptor. channel_keys_id ,
2032
2009
) ) ;
2033
2010
}
@@ -2196,9 +2173,7 @@ impl SignerProvider for KeysManager {
2196
2173
#[ cfg( taproot) ]
2197
2174
type TaprootSigner = InMemorySigner ;
2198
2175
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 ] {
2202
2177
let child_idx = self . channel_child_index . fetch_add ( 1 , Ordering :: AcqRel ) ;
2203
2178
// `child_idx` is the only thing guaranteed to make each channel unique without a restart
2204
2179
// (though `user_channel_id` should help, depending on user behavior). If it manages to
@@ -2214,10 +2189,8 @@ impl SignerProvider for KeysManager {
2214
2189
id
2215
2190
}
2216
2191
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)
2221
2194
}
2222
2195
2223
2196
fn read_chan_signer ( & self , reader : & [ u8 ] ) -> Result < Self :: EcdsaSigner , DecodeError > {
@@ -2341,16 +2314,12 @@ impl SignerProvider for PhantomKeysManager {
2341
2314
#[ cfg( taproot) ]
2342
2315
type TaprootSigner = InMemorySigner ;
2343
2316
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)
2348
2319
}
2349
2320
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)
2354
2323
}
2355
2324
2356
2325
fn read_chan_signer ( & self , reader : & [ u8 ] ) -> Result < Self :: EcdsaSigner , DecodeError > {
@@ -2398,10 +2367,8 @@ impl PhantomKeysManager {
2398
2367
}
2399
2368
2400
2369
/// 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)
2405
2372
}
2406
2373
2407
2374
/// Gets the "node_id" secret key used to sign gossip announcements, decode onion data, etc.
0 commit comments