Skip to content

Commit b927432

Browse files
authored
Merge pull request #392 from ariard/2019-11-manager-init-height
Add init height in ChannelManager constructor
2 parents a30946b + 9a01523 commit b927432

File tree

4 files changed

+8
-5
lines changed

4 files changed

+8
-5
lines changed

fuzz/fuzz_targets/chanmon_fail_consistency.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -193,7 +193,7 @@ pub fn do_test(data: &[u8]) {
193193
config.channel_options.fee_proportional_millionths = 0;
194194
config.channel_options.announced_channel = true;
195195
config.peer_channel_config_limits.min_dust_limit_satoshis = 0;
196-
(ChannelManager::new(Network::Bitcoin, fee_est.clone(), monitor.clone(), watch.clone(), broadcast.clone(), Arc::clone(&logger), keys_manager.clone(), config).unwrap(),
196+
(ChannelManager::new(Network::Bitcoin, fee_est.clone(), monitor.clone(), watch.clone(), broadcast.clone(), Arc::clone(&logger), keys_manager.clone(), config, 0).unwrap(),
197197
monitor)
198198
} }
199199
}

fuzz/fuzz_targets/full_stack_target.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -331,7 +331,7 @@ pub fn do_test(data: &[u8], logger: &Arc<Logger>) {
331331
config.channel_options.fee_proportional_millionths = slice_to_be32(get_slice!(4));
332332
config.channel_options.announced_channel = get_slice!(1)[0] != 0;
333333
config.peer_channel_config_limits.min_dust_limit_satoshis = 0;
334-
let channelmanager = ChannelManager::new(Network::Bitcoin, fee_est.clone(), monitor.clone(), watch.clone(), broadcast.clone(), Arc::clone(&logger), keys_manager.clone(), config).unwrap();
334+
let channelmanager = ChannelManager::new(Network::Bitcoin, fee_est.clone(), monitor.clone(), watch.clone(), broadcast.clone(), Arc::clone(&logger), keys_manager.clone(), config, 0).unwrap();
335335
let router = Arc::new(Router::new(PublicKey::from_secret_key(&Secp256k1::signing_only(), &keys_manager.get_node_secret()), watch.clone(), Arc::clone(&logger)));
336336

337337
let peers = RefCell::new([false; 256]);

src/ln/channelmanager.rs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -585,7 +585,10 @@ impl ChannelManager {
585585
/// Non-proportional fees are fixed according to our risk using the provided fee estimator.
586586
///
587587
/// panics if channel_value_satoshis is >= `MAX_FUNDING_SATOSHIS`!
588-
pub fn new(network: Network, feeest: Arc<FeeEstimator>, monitor: Arc<ManyChannelMonitor>, chain_monitor: Arc<ChainWatchInterface>, tx_broadcaster: Arc<BroadcasterInterface>, logger: Arc<Logger>,keys_manager: Arc<KeysInterface>, config: UserConfig) -> Result<Arc<ChannelManager>, secp256k1::Error> {
588+
///
589+
/// User must provide the current blockchain height from which to track onchain channel
590+
/// funding outpoints and send payments with reliable timelocks.
591+
pub fn new(network: Network, feeest: Arc<FeeEstimator>, monitor: Arc<ManyChannelMonitor>, chain_monitor: Arc<ChainWatchInterface>, tx_broadcaster: Arc<BroadcasterInterface>, logger: Arc<Logger>,keys_manager: Arc<KeysInterface>, config: UserConfig, current_blockchain_height: usize) -> Result<Arc<ChannelManager>, secp256k1::Error> {
589592
let secp_ctx = Secp256k1::new();
590593

591594
let res = Arc::new(ChannelManager {
@@ -596,7 +599,7 @@ impl ChannelManager {
596599
chain_monitor,
597600
tx_broadcaster,
598601

599-
latest_block_height: AtomicUsize::new(0), //TODO: Get an init value
602+
latest_block_height: AtomicUsize::new(current_blockchain_height),
600603
last_block_hash: Mutex::new(Default::default()),
601604
secp_ctx,
602605

src/ln/functional_test_utils.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -844,7 +844,7 @@ pub fn create_network(node_count: usize, node_config: &[Option<UserConfig>]) ->
844844
let mut default_config = UserConfig::new();
845845
default_config.channel_options.announced_channel = true;
846846
default_config.peer_channel_config_limits.force_announced_channel_preference = false;
847-
let node = ChannelManager::new(Network::Testnet, feeest.clone(), chan_monitor.clone(), chain_monitor.clone(), tx_broadcaster.clone(), Arc::clone(&logger), keys_manager.clone(), if node_config[i].is_some() { node_config[i].clone().unwrap() } else { default_config }).unwrap();
847+
let node = ChannelManager::new(Network::Testnet, feeest.clone(), chan_monitor.clone(), chain_monitor.clone(), tx_broadcaster.clone(), Arc::clone(&logger), keys_manager.clone(), if node_config[i].is_some() { node_config[i].clone().unwrap() } else { default_config }, 0).unwrap();
848848
let router = Router::new(PublicKey::from_secret_key(&secp_ctx, &keys_manager.get_node_secret()), chain_monitor.clone(), Arc::clone(&logger));
849849
nodes.push(Node { chain_monitor, tx_broadcaster, chan_monitor, node, router, keys_manager, node_seed: seed,
850850
network_payment_count: payment_count.clone(),

0 commit comments

Comments
 (0)