Skip to content

Commit e6077fb

Browse files
committed
Introduce Flow parameter in ChannelManager
1 parent 859f637 commit e6077fb

File tree

7 files changed

+163
-58
lines changed

7 files changed

+163
-58
lines changed

Diff for: lightning-background-processor/src/lib.rs

+17-1
Original file line numberDiff line numberDiff line change
@@ -1083,11 +1083,14 @@ mod tests {
10831083
IgnoringMessageHandler, MessageHandler, PeerManager, SocketDescriptor,
10841084
};
10851085
use lightning::ln::types::ChannelId;
1086+
use lightning::offers::flow::OffersMessageFlow;
10861087
use lightning::onion_message::messenger::{DefaultMessageRouter, OnionMessenger};
10871088
use lightning::routing::gossip::{NetworkGraph, P2PGossipSync};
10881089
use lightning::routing::router::{CandidateRouteHop, DefaultRouter, Path, RouteHop};
10891090
use lightning::routing::scoring::{ChannelUsage, LockableScore, ScoreLookUp, ScoreUpdate};
1090-
use lightning::sign::{ChangeDestinationSource, InMemorySigner, KeysManager};
1091+
use lightning::sign::{
1092+
ChangeDestinationSource, InMemorySigner, KeysManager, NodeSigner, Recipient,
1093+
};
10911094
use lightning::types::features::{ChannelFeatures, NodeFeatures};
10921095
use lightning::types::payment::PaymentHash;
10931096
use lightning::util::config::UserConfig;
@@ -1152,6 +1155,11 @@ mod tests {
11521155
Arc<KeysManager>,
11531156
>,
11541157
>,
1158+
Arc<
1159+
OffersMessageFlow<
1160+
Arc<KeysManager>,
1161+
>,
1162+
>,
11551163
Arc<test_utils::TestLogger>,
11561164
>;
11571165

@@ -1559,6 +1567,13 @@ mod tests {
15591567
network_graph.clone(),
15601568
Arc::clone(&keys_manager),
15611569
));
1570+
let flow = Arc::new(OffersMessageFlow::new(
1571+
network,
1572+
keys_manager.get_node_id(Recipient::Node).unwrap(),
1573+
genesis_block.header.time,
1574+
keys_manager.get_inbound_payment_key(),
1575+
keys_manager.clone(),
1576+
));
15621577
let chain_source = Arc::new(test_utils::TestChainSource::new(Network::Bitcoin));
15631578
let kv_store =
15641579
Arc::new(FilesystemStore::new(format!("{}_persister_{}", &persist_dir, i).into()));
@@ -1579,6 +1594,7 @@ mod tests {
15791594
tx_broadcaster.clone(),
15801595
router.clone(),
15811596
msg_router.clone(),
1597+
flow.clone(),
15821598
logger.clone(),
15831599
keys_manager.clone(),
15841600
keys_manager.clone(),

Diff for: lightning-block-sync/src/init.rs

+5-1
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ where
5050
/// use lightning::chain::chaininterface::BroadcasterInterface;
5151
/// use lightning::chain::chaininterface::FeeEstimator;
5252
/// use lightning::ln::channelmanager::{ChannelManager, ChannelManagerReadArgs};
53+
/// use lightning::offers::flow::Flow;
5354
/// use lightning::onion_message::messenger::MessageRouter;
5455
/// use lightning::routing::router::Router;
5556
/// use lightning::sign;
@@ -71,6 +72,7 @@ where
7172
/// F: FeeEstimator,
7273
/// R: Router,
7374
/// MR: MessageRouter,
75+
/// FW: Flow,
7476
/// L: Logger,
7577
/// C: chain::Filter,
7678
/// P: chainmonitor::Persist<SP::EcdsaSigner>,
@@ -85,6 +87,7 @@ where
8587
/// fee_estimator: &F,
8688
/// router: &R,
8789
/// message_router: &MR,
90+
/// flow: &FW,
8891
/// logger: &L,
8992
/// persister: &P,
9093
/// ) {
@@ -105,11 +108,12 @@ where
105108
/// tx_broadcaster,
106109
/// router,
107110
/// message_router,
111+
/// flow,
108112
/// logger,
109113
/// config,
110114
/// vec![&mut monitor],
111115
/// );
112-
/// <(BlockHash, ChannelManager<&ChainMonitor<SP::EcdsaSigner, &C, &T, &F, &L, &P>, &T, &ES, &NS, &SP, &F, &R, &MR, &L>)>::read(
116+
/// <(BlockHash, ChannelManager<&ChainMonitor<SP::EcdsaSigner, &C, &T, &F, &L, &P>, &T, &ES, &NS, &SP, &F, &R, &MR, &FW, &L>)>::read(
113117
/// &mut Cursor::new(&serialized_manager), read_args).unwrap()
114118
/// };
115119
///

Diff for: lightning-liquidity/tests/common/mod.rs

+15-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@
55
#![allow(unused_macros)]
66

77
use lightning::chain::Filter;
8-
use lightning::sign::EntropySource;
8+
use lightning::offers::flow::OffersMessageFlow;
9+
use lightning::sign::{EntropySource, NodeSigner, Recipient};
910

1011
use bitcoin::blockdata::constants::{genesis_block, ChainHash};
1112
use bitcoin::blockdata::transaction::Transaction;
@@ -91,6 +92,11 @@ type ChannelManager = channelmanager::ChannelManager<
9192
Arc<KeysManager>,
9293
>,
9394
>,
95+
Arc<
96+
OffersMessageFlow<
97+
Arc<KeysManager>,
98+
>,
99+
>,
94100
Arc<test_utils::TestLogger>,
95101
>;
96102

@@ -421,6 +427,13 @@ pub(crate) fn create_liquidity_node(
421427
));
422428
let msg_router =
423429
Arc::new(DefaultMessageRouter::new(Arc::clone(&network_graph), Arc::clone(&keys_manager)));
430+
let flow = Arc::new(OffersMessageFlow::new(
431+
network,
432+
keys_manager.get_node_id(Recipient::Node).unwrap(),
433+
genesis_block.header.time,
434+
keys_manager.get_inbound_payment_key(),
435+
keys_manager.clone(),
436+
));
424437
let chain_source = Arc::new(test_utils::TestChainSource::new(Network::Bitcoin));
425438
let kv_store =
426439
Arc::new(FilesystemStore::new(format!("{}_persister_{}", &persist_dir, i).into()));
@@ -439,6 +452,7 @@ pub(crate) fn create_liquidity_node(
439452
tx_broadcaster.clone(),
440453
router.clone(),
441454
msg_router.clone(),
455+
flow.clone(),
442456
logger.clone(),
443457
keys_manager.clone(),
444458
keys_manager.clone(),

0 commit comments

Comments
 (0)