LND v0.18.4-beta: Bitcoind v28.0 Compatibility Fix & Optimization for Payment Requests
The Lightning Network Daemon (LND) is a complete implementation of a Lightning Network node developed by Lightning Labs.
- "This is a minor release which ships the features required for building custom channels, alongside the usual bug fixes and stability improvements. Of note are the
bitcoind v28.0
compatibility fix and an optimization for payment requests (invoices) that removes unnecessary size expansion," was stated in the release notes.
What's new
- Compatibility with
bitcoind v28.0
was ensured by updating the version the CI pipeline is running against. - The main channel state machine and database now allow for processing and storing custom Taproot script leaves, allowing the implementation of custom channel types.
- A new
protocol.simple-taproot-overlay-chans
configuration item/CLI flag was added to turn on custom channel functionality. - Some new experimental RPCs for managing SCID aliases were added under the
routerrpc
package. These methods allow manually adding and deleting SCID aliases locally to your node.
NOTE: these new RPC methods are marked as experimental (XAddLocalChanAliases
&XDeleteLocalChanAliases
) and upon calling them the aliases will not be communicated with the channel peer.
- The responses for the
ListChannels
,PendingChannels
andChannelBalance
RPCs now include a newcustom_channel_data
field that is only set for custom channels. - The
routerrpc.SendPaymentV2
RPC has a new fieldfirst_hop_custom_records
that allows the user to send custom p2p wire message TLV types to the first hop of a payment. That new field is also exposed in therouterrpc.HtlcInterceptor
, so it can be read and interpreted by external software. - The
routerrpc.HtlcInterceptor
now allows some values of the HTLC to be modified before they're validated by the state machine. The fields that can be modified areoutgoing_amount_msat
(if transported overlaid value of HTLC doesn't match the actual BTC amount being transferred) andoutgoing_htlc_wire_custom_records
(allow adding custom TLV values to the p2p wire message of the forwarded HTLC). - A new
invoicesrpc.HtlcModifier
RPC now allows incoming HTLCs that attempt to satisfy an invoice to be modified before they're validated. This allows custom channels to determine what the actual (overlaid) value of an HTLC is, even if that value doesn't match the actual BTC amount being transferred by the HTLC. - A new method
AssertTxnsNotInMempool
has been added tolntest
package to allow batch exclusion check in itest. - Fix a bug that would cause a nil pointer dereference during the probing of a payment request that does not contain a payment address.
- Make the contract resolutions for the channel arbitrator optional.
- Fixed a bug to prevent potential deadlocks when LND depends on external components (e.g. aux components, hooks).
- Make sure blinded payment failures are handled correctly in the mission controller.
- Do you want more? Subscribe and get No Bullshit GM report straight to your mailbox.
- Follow No Bullshit Bitcoin on Nostr.
- Feedback or news tips? Drop it here.