mirror of
https://github.com/lightningdevkit/rust-lightning.git
synced 2025-03-12 22:17:05 +01:00
Implement AsyncPaymentsMessageHandler for ChanMan and use everywhere
Dummy implementation for now. This avoids having to change a bunch of type signatures in the future when we replace the dummy impl with a real one.
This commit is contained in:
parent
07b4cb6265
commit
969578703d
4 changed files with 32 additions and 6 deletions
|
@ -996,7 +996,7 @@ mod tests {
|
||||||
type PGS = Arc<P2PGossipSync<Arc<NetworkGraph<Arc<test_utils::TestLogger>>>, Arc<test_utils::TestChainSource>, Arc<test_utils::TestLogger>>>;
|
type PGS = Arc<P2PGossipSync<Arc<NetworkGraph<Arc<test_utils::TestLogger>>>, Arc<test_utils::TestChainSource>, Arc<test_utils::TestLogger>>>;
|
||||||
type RGS = Arc<RapidGossipSync<Arc<NetworkGraph<Arc<test_utils::TestLogger>>>, Arc<test_utils::TestLogger>>>;
|
type RGS = Arc<RapidGossipSync<Arc<NetworkGraph<Arc<test_utils::TestLogger>>>, Arc<test_utils::TestLogger>>>;
|
||||||
|
|
||||||
type OM = OnionMessenger<Arc<KeysManager>, Arc<KeysManager>, Arc<test_utils::TestLogger>, Arc<ChannelManager>, Arc<DefaultMessageRouter<Arc<NetworkGraph<Arc<test_utils::TestLogger>>>, Arc<test_utils::TestLogger>, Arc<KeysManager>>>, IgnoringMessageHandler, IgnoringMessageHandler, IgnoringMessageHandler>;
|
type OM = OnionMessenger<Arc<KeysManager>, Arc<KeysManager>, Arc<test_utils::TestLogger>, Arc<ChannelManager>, Arc<DefaultMessageRouter<Arc<NetworkGraph<Arc<test_utils::TestLogger>>>, Arc<test_utils::TestLogger>, Arc<KeysManager>>>, IgnoringMessageHandler, Arc<ChannelManager>, IgnoringMessageHandler>;
|
||||||
|
|
||||||
struct Node {
|
struct Node {
|
||||||
node: Arc<ChannelManager>,
|
node: Arc<ChannelManager>,
|
||||||
|
@ -1291,7 +1291,7 @@ mod tests {
|
||||||
let best_block = BestBlock::from_network(network);
|
let best_block = BestBlock::from_network(network);
|
||||||
let params = ChainParameters { network, best_block };
|
let params = ChainParameters { network, best_block };
|
||||||
let manager = Arc::new(ChannelManager::new(fee_estimator.clone(), chain_monitor.clone(), tx_broadcaster.clone(), router.clone(), logger.clone(), keys_manager.clone(), keys_manager.clone(), keys_manager.clone(), UserConfig::default(), params, genesis_block.header.time));
|
let manager = Arc::new(ChannelManager::new(fee_estimator.clone(), chain_monitor.clone(), tx_broadcaster.clone(), router.clone(), logger.clone(), keys_manager.clone(), keys_manager.clone(), keys_manager.clone(), UserConfig::default(), params, genesis_block.header.time));
|
||||||
let messenger = Arc::new(OnionMessenger::new(keys_manager.clone(), keys_manager.clone(), logger.clone(), manager.clone(), msg_router.clone(), IgnoringMessageHandler {}, IgnoringMessageHandler {}, IgnoringMessageHandler {}));
|
let messenger = Arc::new(OnionMessenger::new(keys_manager.clone(), keys_manager.clone(), logger.clone(), manager.clone(), msg_router.clone(), IgnoringMessageHandler {}, manager.clone(), IgnoringMessageHandler {}));
|
||||||
let wallet = Arc::new(TestWallet {});
|
let wallet = Arc::new(TestWallet {});
|
||||||
let sweeper = Arc::new(OutputSweeper::new(best_block, Arc::clone(&tx_broadcaster), Arc::clone(&fee_estimator),
|
let sweeper = Arc::new(OutputSweeper::new(best_block, Arc::clone(&tx_broadcaster), Arc::clone(&fee_estimator),
|
||||||
None::<Arc<dyn Filter + Sync + Send>>, Arc::clone(&keys_manager), wallet, Arc::clone(&kv_store), Arc::clone(&logger)));
|
None::<Arc<dyn Filter + Sync + Send>>, Arc::clone(&keys_manager), wallet, Arc::clone(&kv_store), Arc::clone(&logger)));
|
||||||
|
|
|
@ -66,6 +66,7 @@ use crate::offers::invoice_request::{DerivedPayerId, InvoiceRequestBuilder};
|
||||||
use crate::offers::offer::{Offer, OfferBuilder};
|
use crate::offers::offer::{Offer, OfferBuilder};
|
||||||
use crate::offers::parse::Bolt12SemanticError;
|
use crate::offers::parse::Bolt12SemanticError;
|
||||||
use crate::offers::refund::{Refund, RefundBuilder};
|
use crate::offers::refund::{Refund, RefundBuilder};
|
||||||
|
use crate::onion_message::async_payments::{AsyncPaymentsMessage, HeldHtlcAvailable, ReleaseHeldHtlc, AsyncPaymentsMessageHandler};
|
||||||
use crate::onion_message::messenger::{new_pending_onion_message, Destination, MessageRouter, PendingOnionMessage, Responder, ResponseInstruction};
|
use crate::onion_message::messenger::{new_pending_onion_message, Destination, MessageRouter, PendingOnionMessage, Responder, ResponseInstruction};
|
||||||
use crate::onion_message::offers::{OffersMessage, OffersMessageHandler};
|
use crate::onion_message::offers::{OffersMessage, OffersMessageHandler};
|
||||||
use crate::sign::{EntropySource, NodeSigner, Recipient, SignerProvider};
|
use crate::sign::{EntropySource, NodeSigner, Recipient, SignerProvider};
|
||||||
|
@ -10400,6 +10401,31 @@ where
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
impl<M: Deref, T: Deref, ES: Deref, NS: Deref, SP: Deref, F: Deref, R: Deref, L: Deref>
|
||||||
|
AsyncPaymentsMessageHandler for ChannelManager<M, T, ES, NS, SP, F, R, L>
|
||||||
|
where
|
||||||
|
M::Target: chain::Watch<<SP::Target as SignerProvider>::EcdsaSigner>,
|
||||||
|
T::Target: BroadcasterInterface,
|
||||||
|
ES::Target: EntropySource,
|
||||||
|
NS::Target: NodeSigner,
|
||||||
|
SP::Target: SignerProvider,
|
||||||
|
F::Target: FeeEstimator,
|
||||||
|
R::Target: Router,
|
||||||
|
L::Target: Logger,
|
||||||
|
{
|
||||||
|
fn held_htlc_available(
|
||||||
|
&self, _message: HeldHtlcAvailable, _responder: Option<Responder>
|
||||||
|
) -> ResponseInstruction<ReleaseHeldHtlc> {
|
||||||
|
ResponseInstruction::NoResponse
|
||||||
|
}
|
||||||
|
|
||||||
|
fn release_held_htlc(&self, _message: ReleaseHeldHtlc) {}
|
||||||
|
|
||||||
|
fn release_pending_messages(&self) -> Vec<PendingOnionMessage<AsyncPaymentsMessage>> {
|
||||||
|
Vec::new()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
impl<M: Deref, T: Deref, ES: Deref, NS: Deref, SP: Deref, F: Deref, R: Deref, L: Deref>
|
impl<M: Deref, T: Deref, ES: Deref, NS: Deref, SP: Deref, F: Deref, R: Deref, L: Deref>
|
||||||
NodeIdLookUp for ChannelManager<M, T, ES, NS, SP, F, R, L>
|
NodeIdLookUp for ChannelManager<M, T, ES, NS, SP, F, R, L>
|
||||||
where
|
where
|
||||||
|
|
|
@ -422,7 +422,7 @@ type TestOnionMessenger<'chan_man, 'node_cfg, 'chan_mon_cfg> = OnionMessenger<
|
||||||
&'chan_man TestChannelManager<'node_cfg, 'chan_mon_cfg>,
|
&'chan_man TestChannelManager<'node_cfg, 'chan_mon_cfg>,
|
||||||
&'node_cfg test_utils::TestMessageRouter<'chan_mon_cfg>,
|
&'node_cfg test_utils::TestMessageRouter<'chan_mon_cfg>,
|
||||||
&'chan_man TestChannelManager<'node_cfg, 'chan_mon_cfg>,
|
&'chan_man TestChannelManager<'node_cfg, 'chan_mon_cfg>,
|
||||||
IgnoringMessageHandler,
|
&'chan_man TestChannelManager<'node_cfg, 'chan_mon_cfg>,
|
||||||
IgnoringMessageHandler,
|
IgnoringMessageHandler,
|
||||||
>;
|
>;
|
||||||
|
|
||||||
|
@ -3259,7 +3259,7 @@ pub fn create_network<'a, 'b: 'a, 'c: 'b>(node_count: usize, cfgs: &'b Vec<NodeC
|
||||||
let dedicated_entropy = DedicatedEntropy(RandomBytes::new([i as u8; 32]));
|
let dedicated_entropy = DedicatedEntropy(RandomBytes::new([i as u8; 32]));
|
||||||
let onion_messenger = OnionMessenger::new(
|
let onion_messenger = OnionMessenger::new(
|
||||||
dedicated_entropy, cfgs[i].keys_manager, cfgs[i].logger, &chan_mgrs[i],
|
dedicated_entropy, cfgs[i].keys_manager, cfgs[i].logger, &chan_mgrs[i],
|
||||||
&cfgs[i].message_router, &chan_mgrs[i], IgnoringMessageHandler {}, IgnoringMessageHandler {},
|
&cfgs[i].message_router, &chan_mgrs[i], &chan_mgrs[i], IgnoringMessageHandler {},
|
||||||
);
|
);
|
||||||
let gossip_sync = P2PGossipSync::new(cfgs[i].network_graph.as_ref(), None, cfgs[i].logger);
|
let gossip_sync = P2PGossipSync::new(cfgs[i].network_graph.as_ref(), None, cfgs[i].logger);
|
||||||
let wallet_source = Arc::new(test_utils::TestWalletSource::new(SecretKey::from_slice(&[i as u8 + 1; 32]).unwrap()));
|
let wallet_source = Arc::new(test_utils::TestWalletSource::new(SecretKey::from_slice(&[i as u8 + 1; 32]).unwrap()));
|
||||||
|
|
|
@ -1633,7 +1633,7 @@ pub type SimpleArcOnionMessenger<M, T, F, L> = OnionMessenger<
|
||||||
Arc<SimpleArcChannelManager<M, T, F, L>>,
|
Arc<SimpleArcChannelManager<M, T, F, L>>,
|
||||||
Arc<DefaultMessageRouter<Arc<NetworkGraph<Arc<L>>>, Arc<L>, Arc<KeysManager>>>,
|
Arc<DefaultMessageRouter<Arc<NetworkGraph<Arc<L>>>, Arc<L>, Arc<KeysManager>>>,
|
||||||
Arc<SimpleArcChannelManager<M, T, F, L>>,
|
Arc<SimpleArcChannelManager<M, T, F, L>>,
|
||||||
IgnoringMessageHandler,
|
Arc<SimpleArcChannelManager<M, T, F, L>>,
|
||||||
IgnoringMessageHandler
|
IgnoringMessageHandler
|
||||||
>;
|
>;
|
||||||
|
|
||||||
|
@ -1654,7 +1654,7 @@ pub type SimpleRefOnionMessenger<
|
||||||
&'i SimpleRefChannelManager<'a, 'b, 'c, 'd, 'e, 'f, 'g, 'h, M, T, F, L>,
|
&'i SimpleRefChannelManager<'a, 'b, 'c, 'd, 'e, 'f, 'g, 'h, M, T, F, L>,
|
||||||
&'j DefaultMessageRouter<&'g NetworkGraph<&'b L>, &'b L, &'a KeysManager>,
|
&'j DefaultMessageRouter<&'g NetworkGraph<&'b L>, &'b L, &'a KeysManager>,
|
||||||
&'i SimpleRefChannelManager<'a, 'b, 'c, 'd, 'e, 'f, 'g, 'h, M, T, F, L>,
|
&'i SimpleRefChannelManager<'a, 'b, 'c, 'd, 'e, 'f, 'g, 'h, M, T, F, L>,
|
||||||
IgnoringMessageHandler,
|
&'i SimpleRefChannelManager<'a, 'b, 'c, 'd, 'e, 'f, 'g, 'h, M, T, F, L>,
|
||||||
IgnoringMessageHandler
|
IgnoringMessageHandler
|
||||||
>;
|
>;
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue