funding: wait for one sec if funding locked is not received
9.8 KiB
Release Notes
BOLT Specs
- Warning messages from peers are now recognized and logged by lnd.
RPC
-
The
RegisterConfirmationsNtfn
call of thechainnotifier
RPC sub-server now optionally supports returning the entire block that confirmed the transaction. -
Add
macaroon_root_key
field toInitWalletRequest
to allow specifying a root key for macaroons during wallet init rather than having lnd randomly generate one for you. -
A new
SignedInputs
field is added toSignPsbtResponse
that returns the indices of inputs that were signed by our wallet. Prior to this changeSignPsbt
didn't indicate whether the Psbt held any inputs for our wallet to sign. -
Add TrackPayments method to the RPC to allow subscribing to updates from any inflight payment. Similar to TrackPaymentV2, but for any inflight payment.
-
Catch and throw an error during
openchannel
if the local funding amount given is zero. -
Extend the HTLC interceptor server implementation with watchdog functionality to cancel back HTLCs for which an interceptor client does not provide a resolution in time. If an HTLC expires, the counterparty will claim it back on-chain and the receiver will lose it. Therefore the receiver can just as well fail off-chain a few blocks before so that the channel is saved.
-
Make remote channel reserve amount configurable for
openchannel
-
ForwardingHistory
now enriches each forwarding event with inbound and outbound peer alias names if the new flagPeerAliasLookup
inForwardingHistoryRequest
is set to true.lncli fwdinghistory
enables this feature by default but adds a new flagskip_peer_alias_lookup
to skip the lookup. -
The graph lookups method
DescribeGraph
,GetNodeInfo
andGetChanInfo
now expose tlv data that is broadcast over the gossip network. -
Add new HTLC notifier event and lookup RPC for the final settlement of incoming HTLCs. This allows applications to wait for the HTLC to actually disappear from all valid commitment transactions, rather than assume that it will. With the new extensions, situations can be avoided where the application considers an HTLC settled, but in reality the HTLC has timed out.
Final resolution data will only be available for htlcs that are resolved after upgrading lnd.
Wallet
-
Allows Taproot public keys and tap scripts to be imported as watch-only addresses into the internal wallet. NOTE that funding PSBTs from imported tap scripts is not currently possible.
Build
The project has updated to Go 1.19! Go 1.18 is now the minimum version needed to build the project.
Use Go's runtime/debug
package to get information about the build
Misc
-
Fixed a bug where the Switch did not reforward settles or fails for waiting-close channels
-
Fixed a flake in the TestChannelLinkCancelFullCommitment unit test.
-
The macaroon key store implementation was refactored to be more generally usable.
-
Fixed a bug where cookie authentication with Tor would fail if the cookie path contained spaces. With the module updated,
lnd
now parses Tor control port messages correctly. -
Add option to encrypt Tor private key, and update the Tor module to pave the way for this functionality.
-
Stop sending a synchronizing error on the wire when out of sync.
-
Update cert module to allow a way to update the tls certificate without restarting lnd.
lncli
-
Add an
insecure
flag to skip tls auth as well as ametadata
string slice flag that allows the caller to specify key-value string pairs that should be appended to the outgoing context. -
Fix command line argument parsing for
lncli sendpayment
. -
Fix mapslice cap out of range error that occurs if the number of profiles is zero.
-
A new config option,
batchwindowduration
has been added tosweeper
to allow customize sweeper batch duration. -
Add
base_fee_msat
andfee_rate_ppm
flags toopenchannel
requests so that the user can specify fees during channel creation time in addition to the default configuration. -
Sleep for one second when funding locked message is not received to avoid CPU spike.
Code Health
Watchtowers
-
Create a towerID-to-sessionID index in the wtclient DB to improve the speed of listing sessions for a particular tower ID. This PR also ensures a closer coupling of Towers and Sessions and ensures that a session cannot be added if the tower it is referring to does not exist.
-
Remove
AckedUpdates
&CommittedUpdates
from theClientSession
struct in order to improve the performance of fetching aClientSession
from the DB.
Tooling and documentation
-
Tests in
htlcswitch
will now clean up the temporary resources they create. -
Updated the github actions to use
make fmt-check
in its build process. -
Database related code was refactored to allow external tools to use it more easily, in preparation for adding a data migration functionality to
lndinit
. -
golangci-lint
will now check new code using additional linters. -
Update github actions to check commits against the target base branch rather than just using the master branch.
Integration test
The lntest
has been
refactored to provide a
better testing suite for writing integration tests. A new defined structure is
implemented, please refer to
README for more
details. Along the way, several
PRs(6776) have been made
to refactor the itest for code health and maintenance.
Contributors (Alphabetical Order)
- Carla Kirk-Cohen
- cutiful
- Daniel McNally
- Elle Mouton
- ErikEk
- Eugene Siegel
- Graham Krizek
- hieblmi
- Jesse de Wit
- Joost Jager
- Jordi Montes
- Matt Morehouse
- Michael Street
- Jordi Montes
- Olaoluwa Osuntokun
- Oliver Gugger
- Priyansh Rastogi
- Roei Erez
- Yong Yu