mirror of
https://github.com/lightningdevkit/rust-lightning.git
synced 2025-03-12 06:03:13 +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 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 {
|
||||
node: Arc<ChannelManager>,
|
||||
|
@ -1291,7 +1291,7 @@ mod tests {
|
|||
let best_block = BestBlock::from_network(network);
|
||||
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 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 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)));
|
||||
|
|
|
@ -66,6 +66,7 @@ use crate::offers::invoice_request::{DerivedPayerId, InvoiceRequestBuilder};
|
|||
use crate::offers::offer::{Offer, OfferBuilder};
|
||||
use crate::offers::parse::Bolt12SemanticError;
|
||||
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::offers::{OffersMessage, OffersMessageHandler};
|
||||
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>
|
||||
NodeIdLookUp for ChannelManager<M, T, ES, NS, SP, F, R, L>
|
||||
where
|
||||
|
|
|
@ -422,7 +422,7 @@ type TestOnionMessenger<'chan_man, 'node_cfg, 'chan_mon_cfg> = OnionMessenger<
|
|||
&'chan_man TestChannelManager<'node_cfg, 'chan_mon_cfg>,
|
||||
&'node_cfg test_utils::TestMessageRouter<'chan_mon_cfg>,
|
||||
&'chan_man TestChannelManager<'node_cfg, 'chan_mon_cfg>,
|
||||
IgnoringMessageHandler,
|
||||
&'chan_man TestChannelManager<'node_cfg, 'chan_mon_cfg>,
|
||||
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 onion_messenger = OnionMessenger::new(
|
||||
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 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<DefaultMessageRouter<Arc<NetworkGraph<Arc<L>>>, Arc<L>, Arc<KeysManager>>>,
|
||||
Arc<SimpleArcChannelManager<M, T, F, L>>,
|
||||
IgnoringMessageHandler,
|
||||
Arc<SimpleArcChannelManager<M, T, F, L>>,
|
||||
IgnoringMessageHandler
|
||||
>;
|
||||
|
||||
|
@ -1654,7 +1654,7 @@ pub type SimpleRefOnionMessenger<
|
|||
&'i SimpleRefChannelManager<'a, 'b, 'c, 'd, 'e, 'f, 'g, 'h, M, T, F, L>,
|
||||
&'j DefaultMessageRouter<&'g NetworkGraph<&'b L>, &'b L, &'a KeysManager>,
|
||||
&'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
|
||||
>;
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue