@@ -49,7 +49,7 @@ use std::collections::{HashMap, hash_map};
49
49
use std:: cmp;
50
50
use std:: hash:: Hash ;
51
51
use std:: sync:: Arc ;
52
- use std:: sync:: atomic:: { AtomicU8 , AtomicUsize , Ordering } ;
52
+ use std:: sync:: atomic:: { AtomicU64 , AtomicUsize , Ordering } ;
53
53
54
54
#[ inline]
55
55
pub fn slice_to_be16 ( v : & [ u8 ] ) -> u16 {
@@ -236,7 +236,7 @@ impl<'a> Drop for MoneyLossDetector<'a> {
236
236
237
237
struct KeyProvider {
238
238
node_secret : SecretKey ,
239
- counter : AtomicU8 ,
239
+ counter : AtomicU64 ,
240
240
}
241
241
impl KeysInterface for KeyProvider {
242
242
fn get_node_secret ( & self ) -> SecretKey {
@@ -256,7 +256,7 @@ impl KeysInterface for KeyProvider {
256
256
}
257
257
258
258
fn get_channel_keys ( & self , inbound : bool ) -> ChannelKeys {
259
- let ctr = self . counter . fetch_add ( 1 , Ordering :: Relaxed ) ;
259
+ let ctr = self . counter . fetch_add ( 1 , Ordering :: Relaxed ) as u8 ;
260
260
if inbound {
261
261
ChannelKeys {
262
262
funding_key : SecretKey :: from_slice ( & [ 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 1 , ctr] ) . unwrap ( ) ,
@@ -279,13 +279,14 @@ impl KeysInterface for KeyProvider {
279
279
}
280
280
281
281
fn get_session_key ( & self ) -> SecretKey {
282
- let ctr = self . counter . fetch_add ( 1 , Ordering :: Relaxed ) ;
282
+ let ctr = self . counter . fetch_add ( 1 , Ordering :: Relaxed ) as u8 ;
283
283
SecretKey :: from_slice ( & [ 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 13 , ctr] ) . unwrap ( )
284
284
}
285
285
286
286
fn get_channel_id ( & self ) -> [ u8 ; 32 ] {
287
287
let ctr = self . counter . fetch_add ( 1 , Ordering :: Relaxed ) ;
288
- [ 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 14 , ctr]
288
+ [ 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
289
+ ( ctr >> 8 * 7 ) as u8 , ( ctr >> 8 * 6 ) as u8 , ( ctr >> 8 * 5 ) as u8 , ( ctr >> 8 * 4 ) as u8 , ( ctr >> 8 * 3 ) as u8 , ( ctr >> 8 * 2 ) as u8 , ( ctr >> 8 * 1 ) as u8 , 14 , ( ctr >> 8 * 0 ) as u8 ]
289
290
}
290
291
}
291
292
@@ -326,7 +327,7 @@ pub fn do_test(data: &[u8], logger: &Arc<Logger>) {
326
327
let broadcast = Arc :: new ( TestBroadcaster { } ) ;
327
328
let monitor = channelmonitor:: SimpleManyChannelMonitor :: new ( watch. clone ( ) , broadcast. clone ( ) , Arc :: clone ( & logger) , fee_est. clone ( ) ) ;
328
329
329
- let keys_manager = Arc :: new ( KeyProvider { node_secret : our_network_key. clone ( ) , counter : AtomicU8 :: new ( 0 ) } ) ;
330
+ let keys_manager = Arc :: new ( KeyProvider { node_secret : our_network_key. clone ( ) , counter : AtomicU64 :: new ( 0 ) } ) ;
330
331
let mut config = UserConfig :: new ( ) ;
331
332
config. channel_options . fee_proportional_millionths = slice_to_be32 ( get_slice ! ( 4 ) ) ;
332
333
config. channel_options . announced_channel = get_slice ! ( 1 ) [ 0 ] != 0 ;
0 commit comments