use rand::{thread_rng,Rng};
use std::cell::RefCell;
-use std::collections::HashMap;
-use std::default::Default;
use std::rc::Rc;
use std::sync::{Arc, Mutex};
use std::mem;
macro_rules! check_spends {
($tx: expr, $spends_tx: expr) => {
{
- let mut funding_tx_map = HashMap::new();
- let spends_tx = $spends_tx;
- funding_tx_map.insert(spends_tx.txid(), spends_tx);
- $tx.verify(&funding_tx_map).unwrap();
+ $tx.verify(|out_point| {
+ if out_point.txid == $spends_tx.txid() {
+ $spends_tx.output.get(out_point.vout as usize).cloned()
+ } else {
+ None
+ }
+ }).unwrap();
}
}
}
let mut default_config = UserConfig::new();
default_config.channel_options.announced_channel = true;
default_config.peer_channel_config_limits.force_announced_channel_preference = false;
- 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();
+ 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();
let router = Router::new(PublicKey::from_secret_key(&secp_ctx, &keys_manager.get_node_secret()), chain_monitor.clone(), Arc::clone(&logger));
nodes.push(Node { chain_monitor, tx_broadcaster, chan_monitor, node, router, keys_manager, node_seed: seed,
network_payment_count: payment_count.clone(),