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.