Skip to content

Commit f9bfa8c

Browse files
Support client_trusts_lsp on LSPS2
1 parent f707245 commit f9bfa8c

File tree

8 files changed

+1851
-54
lines changed

8 files changed

+1851
-54
lines changed

fuzz/src/lsps_message.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,7 @@ pub fn do_test(data: &[u8]) {
8282
Arc::clone(&keys_manager),
8383
Arc::clone(&manager),
8484
None::<Arc<dyn Filter + Send + Sync>>,
85+
Arc::clone(&tx_broadcaster),
8586
None,
8687
None,
8788
None,

lightning-background-processor/src/lib.rs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -426,6 +426,8 @@ pub const NO_LIQUIDITY_MANAGER: Option<
426426
C = &dyn chain::Filter,
427427
TimeProvider = dyn lightning_liquidity::utils::time::TimeProvider,
428428
TP = &dyn lightning_liquidity::utils::time::TimeProvider,
429+
BroadcasterInterface = dyn BroadcasterInterface,
430+
T = &dyn BroadcasterInterface,
429431
> + Send
430432
+ Sync,
431433
>,
@@ -731,7 +733,7 @@ use futures_util::{dummy_waker, Joiner, OptionalSelector, Selector, SelectorOutp
731733
/// # type P2PGossipSync<UL> = lightning::routing::gossip::P2PGossipSync<Arc<NetworkGraph>, Arc<UL>, Arc<Logger>>;
732734
/// # type ChannelManager<B, F, FE> = lightning::ln::channelmanager::SimpleArcChannelManager<ChainMonitor<B, F, FE>, B, FE, Logger>;
733735
/// # type OnionMessenger<B, F, FE> = lightning::onion_message::messenger::OnionMessenger<Arc<lightning::sign::KeysManager>, Arc<lightning::sign::KeysManager>, Arc<Logger>, Arc<ChannelManager<B, F, FE>>, Arc<lightning::onion_message::messenger::DefaultMessageRouter<Arc<NetworkGraph>, Arc<Logger>, Arc<lightning::sign::KeysManager>>>, Arc<ChannelManager<B, F, FE>>, lightning::ln::peer_handler::IgnoringMessageHandler, lightning::ln::peer_handler::IgnoringMessageHandler, lightning::ln::peer_handler::IgnoringMessageHandler>;
734-
/// # type LiquidityManager<B, F, FE> = lightning_liquidity::LiquidityManager<Arc<lightning::sign::KeysManager>, Arc<lightning::sign::KeysManager>, Arc<ChannelManager<B, F, FE>>, Arc<F>, Arc<DefaultTimeProvider>>;
736+
/// # type LiquidityManager<B, F, FE> = lightning_liquidity::LiquidityManager<Arc<lightning::sign::KeysManager>, Arc<lightning::sign::KeysManager>, Arc<ChannelManager<B, F, FE>>, Arc<F>, Arc<DefaultTimeProvider>, Arc<B>>;
735737
/// # type Scorer = RwLock<lightning::routing::scoring::ProbabilisticScorer<Arc<NetworkGraph>, Arc<Logger>>>;
736738
/// # type PeerManager<B, F, FE, UL> = lightning::ln::peer_handler::SimpleArcPeerManager<SocketDescriptor, ChainMonitor<B, F, FE>, B, FE, Arc<UL>, Logger, F, StoreSync>;
737739
/// # type OutputSweeper<B, D, FE, F, O> = lightning::util::sweep::OutputSweeper<Arc<B>, Arc<D>, Arc<FE>, Arc<F>, Arc<Store>, Arc<Logger>, Arc<O>>;
@@ -1896,6 +1898,7 @@ mod tests {
18961898
Arc<ChannelManager>,
18971899
Arc<dyn Filter + Sync + Send>,
18981900
Arc<DefaultTimeProvider>,
1901+
Arc<test_utils::TestBroadcaster>,
18991902
>;
19001903

19011904
struct Node {
@@ -2347,6 +2350,7 @@ mod tests {
23472350
Arc::clone(&keys_manager),
23482351
Arc::clone(&manager),
23492352
None,
2353+
Arc::clone(&tx_broadcaster),
23502354
None,
23512355
None,
23522356
None,

lightning-liquidity/src/lsps2/msgs.rs

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -171,7 +171,14 @@ pub struct LSPS2BuyResponse {
171171
pub jit_channel_scid: LSPS2InterceptScid,
172172
/// The locktime expiry delta the lsp requires.
173173
pub lsp_cltv_expiry_delta: u32,
174-
/// A flag that indicates who is trusting who.
174+
/// Trust model flag (default: false).
175+
///
176+
/// false => "LSP trusts client": LSP immediately (or as soon as safe) broadcasts the
177+
/// funding transaction; client may wait for broadcast / confirmations
178+
/// before revealing the preimage.
179+
/// true => "Client trusts LSP": LSP may defer broadcasting until after the client
180+
/// reveals the preimage; client MUST send the preimage once HTLC(s) are
181+
/// irrevocably committed.
175182
#[serde(default)]
176183
pub client_trusts_lsp: bool,
177184
}

0 commit comments

Comments
 (0)