@@ -59,6 +59,7 @@ use crate::ln::wire::Encode;
59
59
use crate::offers::offer::{DerivedMetadata, OfferBuilder};
60
60
use crate::offers::parse::Bolt12SemanticError;
61
61
use crate::offers::refund::RefundBuilder;
62
+ use crate::onion_message::{OffersMessage, PendingOnionMessage};
62
63
use crate::sign::{EntropySource, KeysManager, NodeSigner, Recipient, SignerProvider, WriteableEcdsaChannelSigner};
63
64
use crate::util::config::{UserConfig, ChannelConfig, ChannelConfigUpdate};
64
65
use crate::util::wakers::{Future, Notifier};
@@ -964,33 +965,35 @@ where
964
965
//
965
966
// Lock order tree:
966
967
//
968
+ // `pending_offers_messages`
969
+ //
967
970
// `total_consistency_lock`
968
971
// |
969
972
// |__`forward_htlcs`
970
973
// | |
971
974
// | |__`pending_intercepted_htlcs`
972
975
// |
973
976
// |__`per_peer_state`
974
- // | |
975
- // | |__`pending_inbound_payments`
976
- // | |
977
- // | |__`claimable_payments`
978
- // | |
979
- // | |__`pending_outbound_payments` // This field's struct contains a map of pending outbounds
980
- // | |
981
- // | |__`peer_state`
982
- // | |
983
- // | |__`id_to_peer`
984
- // | |
985
- // | |__`short_to_chan_info`
986
- // | |
987
- // | |__`outbound_scid_aliases`
988
- // | |
989
- // | |__`best_block`
990
- // | |
991
- // | |__`pending_events`
992
- // | |
993
- // | |__`pending_background_events`
977
+ // |
978
+ // |__`pending_inbound_payments`
979
+ // |
980
+ // |__`claimable_payments`
981
+ // |
982
+ // |__`pending_outbound_payments` // This field's struct contains a map of pending outbounds
983
+ // |
984
+ // |__`peer_state`
985
+ // |
986
+ // |__`id_to_peer`
987
+ // |
988
+ // |__`short_to_chan_info`
989
+ // |
990
+ // |__`outbound_scid_aliases`
991
+ // |
992
+ // |__`best_block`
993
+ // |
994
+ // |__`pending_events`
995
+ // |
996
+ // |__`pending_background_events`
994
997
//
995
998
pub struct ChannelManager<M: Deref, T: Deref, ES: Deref, NS: Deref, SP: Deref, F: Deref, R: Deref, L: Deref>
996
999
where
@@ -1196,6 +1199,8 @@ where
1196
1199
event_persist_notifier: Notifier,
1197
1200
needs_persist_flag: AtomicBool,
1198
1201
1202
+ pending_offers_messages: Mutex<Vec<PendingOnionMessage<OffersMessage>>>,
1203
+
1199
1204
entropy_source: ES,
1200
1205
node_signer: NS,
1201
1206
signer_provider: SP,
@@ -2266,6 +2271,8 @@ where
2266
2271
event_persist_notifier: Notifier::new(),
2267
2272
needs_persist_flag: AtomicBool::new(false),
2268
2273
2274
+ pending_offers_messages: Mutex::new(Vec::new()),
2275
+
2269
2276
entropy_source,
2270
2277
node_signer,
2271
2278
signer_provider,
@@ -9848,6 +9855,8 @@ where
9848
9855
event_persist_notifier: Notifier::new(),
9849
9856
needs_persist_flag: AtomicBool::new(false),
9850
9857
9858
+ pending_offers_messages: Mutex::new(Vec::new()),
9859
+
9851
9860
entropy_source: args.entropy_source,
9852
9861
node_signer: args.node_signer,
9853
9862
signer_provider: args.signer_provider,
0 commit comments