You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
// When a Channel is closed, any outbound HTLCs which were relayed through it are simply
4308
+
// dropped when the Channel is. From there, the ChannelManager relies on the ChannelMonitor
4309
+
// having a copy of the relevant fail-/claim-back data and processes the HTLC fail/claim when
4310
+
// the ChannelMonitor tells it to.
4311
+
//
4312
+
// If, due to an on-chain event, an HTLC is failed/claimed, and then we serialize the
4313
+
// ChannelManager, we generally expect there not to be a duplicate HTLC fail/claim (eg via a
4314
+
// PaymentFailed event appearing). However, because we may not serialize the relevant
4315
+
// ChannelMonitor at the same time, this isn't strictly guaranteed. In order to provide this
4316
+
// consistency, the ChannelManager explicitly tracks pending-onchain-resolution outbound HTLCs
4317
+
// and de-duplicates ChannelMonitor events.
4318
+
//
4319
+
// This tests that explicit tracking behavior.
4320
+
let chanmon_cfgs = create_chanmon_cfgs(2);
4321
+
let node_cfgs = create_node_cfgs(2,&chanmon_cfgs);
4322
+
let node_chanmgrs = create_node_chanmgrs(2,&node_cfgs,&[None,None]);
4323
+
let persister: test_utils::TestPersister;
4324
+
let new_chain_monitor: test_utils::TestChainMonitor;
4325
+
let nodes_0_deserialized:ChannelManager<EnforcingSigner,&test_utils::TestChainMonitor,&test_utils::TestBroadcaster,&test_utils::TestKeysInterface,&test_utils::TestFeeEstimator,&test_utils::TestLogger>;
0 commit comments