- 
                Notifications
    You must be signed in to change notification settings 
- Fork 421
0.2-rc1 backports #4193
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
0.2-rc1 backports #4193
Conversation
This reverts commit 561da4c. A user pointed out, when looking to upgrade to LDK 0.2, that the `lazy` flag is actually quite important for performance when using a `MonitorUpdatingPersister`, especially in synchronous persistence mode. Thus, we add it back here. Fixes lightningdevkit#4188 Backport of 3b4c2ff
In the previous commit we reverted 561da4c. One of the motivations for it (in addition to `lazy` removals being somewhat less, though still arguably useful in an async context) was that the ordering requirements of `lazy` removals is somewhat unclear. Here we simply default to the simplest safe option, requiring a total order across all `write` and `remove` operations to the same key, `lazy` or not. Backport of 0f9548b
While HTTP headers should be a unique K->V mapping, returning three headers to a user in an event via a `HashMap` is substantially overkill (and also not trivial to do in bindings). Instead, we expose them as a `Vec`. Backport of 031a987
`WebhookNotification` already has all fields `pub`, making its `new` constructor somewhat redundant, but also conflicting with the bindings-auto-generated `new` constructor. Thus we just drop it. Backport of b10a4e8
If we're already passing `AChannelManagerRef` and `ChainMonitorRef` to `can_support_additional_anchor_channel` there's no need to take them by reference. Backport of e4512d1
If we fail to load a `ChannelMonitor` due to the new limits in LDK 0.2, its useful to communicate which monitor failed, which we do here. Requested at lightningdevkit#4146 (comment) Backport of a4f4663
`crates.io` will show any README/README.md which apears in the crate which is uploaded, but it doesn't consider the README from the workspace, only if its in the crate itself. Instead, add the `readme` field so that the workspace README also gets uploaded. Backport of 1605291
Backport of 4ed4094
| I've assigned @wpaulino as a reviewer! | 
| Also backported #4195 to fix clippy. | 
| Codecov Report❌ Patch coverage is  Additional details and impacted files@@            Coverage Diff             @@
##              0.2    #4193      +/-   ##
==========================================
- Coverage   88.86%   88.86%   -0.01%     
==========================================
  Files         180      180              
  Lines      137770   137802      +32     
  Branches   137770   137802      +32     
==========================================
+ Hits       122433   122455      +22     
- Misses      12530    12537       +7     
- Partials     2807     2810       +3     
 Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
 | 
| 👋 The first review has been submitted! Do you think this PR is ready for a second reviewer? If so, click here to assign a second reviewer. | 
aa9a347    to
    fb6da9e      
    Compare
  
    | Updated #4163 and the backported copy of it. That needs to land first anyway: $ git diff-tree -U1 aa9a347531 fb6da9e545
diff --git a/CHANGELOG.md b/CHANGELOG.md
index b4839d6423..513a026f62 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -92,2 +92,4 @@
    `KVStore` to restore custom logic for specific storage objects (#3905).
+ * `BlindedMessagePath::new_with_dummy_hops` was added (but is not used by
+   default, #3726). You can use `NodeIdMessageRouter` to enable dummy hops.
  * `ProbabilisticScoringFeeParameters::probing_diversity_penalty` was added to
@@ -150,4 +152,2 @@
    marginally when forwarding gossip to a slow peer (#4093, #4096).
- * `BlindedMessagePath::new_with_dummy_hops` was added (but is not used by
-   default, #3726).
  * Blinded path serialization is now padded to better hide its contents (#3177). | 
`ChannelManager::splice_channel` initiates a splice which ultimately generates a series of events. The most important of which, `FundingTransactionReadyForSigning` (which must always be handled, unlike the others), was not documented. Here we mention the event generation. Backport of 00e06a0
Users implementing the "onion message mailbox" feature and handling `OnionMessageIntercepted` events need to also handle `Event::OnionMessagePeerConnected` events. Here we update the event docs for both to add additional references and be more explicit about what implementors need to do. Backport of 683d03c
Bakport of a94f9f8
`clippy` now complains that `Default` for the interactive tx
constructor `StateMachine` can be auto-derived, but its a bit weird
to have a `Default` that loads an invalid ("indeterminate") state.
Instead, we replace the one line that actually cares about the
`Default` (which uses `core::mem::take`) with `core::mem::replace`,
making it more explict.
Backport of a8b990a
    `clippy` now complains about more instances of useless `vec!`s, so we drop them here. Backport of 3c1159c
fb6da9e    to
    a107ca2      
    Compare
  
    | Updated backports of #4163. $ git diff-tree -U1 fb6da9e545 a107ca264d
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 513a026f62..0480191933 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -33,3 +33,3 @@
    LDK-based LSPs wishing to support often-offline senders and recipients should
-   set `UserConfig::enable_htlc_hold`, support the existing "onion mesage
+   set `UserConfig::enable_htlc_hold`, support the existing "onion message
    mailbox" feature (setting `intercept_messages_for_offline_peers` on
@@ -39,3 +39,3 @@
    force-closure risk for feerate disagreements by using a fixed, zero fee on
-   presigned transactions, relying on anchor bumps instead. They also utilize
+   pre-signed transactions, relying on anchor bumps instead. They also utilize
    the new TRUC + ephemeral dust policy in Bitcoin Core 29 to substantially
@@ -127,3 +127,3 @@
    full available buffer (#3640).
- * structs in `lightning-liquidity` were renamed to be globally unique (#3583).
+ * Structs in `lightning-liquidity` were renamed to be globally unique (#3583).
  * Renamed `SpendableOutputDescriptor::outpoint` to `spendable_outpoint` (#3634)
@@ -147,3 +147,3 @@
    fixed (#4168).
- * The fields in `SocketAddress::OnionV3` are now corectly parsed, and the
+ * The fields in `SocketAddress::OnionV3` are now correctly parsed, and the
    `Display` for such addresses is now lowercase (#4090).
@@ -170,5 +170,5 @@
  * Blinded message paths generated by previous versions of LDK, except those
-   generated for inclusion in `Bolt12Offer`s will no longer be accepted. As most
-   blinded message paths are ephemeral, this should only invalidate issued
-   `Refund`s in practice (#3917).
+   generated for inclusion in BOLT 12 `Offer`s will no longer be accepted. As
+   most blinded message paths are ephemeral, this should only invalidate issued
+   BOLT 12 `Refund`s in practice (#3917).
  * Once a channel has been spliced, LDK can no longer be downgraded.
diff --git a/lightning/src/ln/channelmanager.rs b/lightning/src/ln/channelmanager.rs
index d52668eef6..632d897043 100644
--- a/lightning/src/ln/channelmanager.rs
+++ b/lightning/src/ln/channelmanager.rs
@@ -4685,5 +4685,4 @@ where
 	///
-	/// After initial signatures have been exchanged, if we contributed any inputs,
-	/// [`Event::FundingTransactionReadyForSigning`] will be generated and
-	/// [`ChannelManager::funding_transaction_signed`] should be called.
+	/// After initial signatures have been exchanged, [`Event::FundingTransactionReadyForSigning`]
+	/// will be generated and [`ChannelManager::funding_transaction_signed`] should be called.
 	/// | 
Backport of #4189, #4186, #4192, #4191, #4187, and #4163 for 0.2.