diff --git a/docs/release-notes/release-notes-0.16.0.md b/docs/release-notes/release-notes-0.16.0.md index f9fda7028..4e3009922 100644 --- a/docs/release-notes/release-notes-0.16.0.md +++ b/docs/release-notes/release-notes-0.16.0.md @@ -27,6 +27,9 @@ transaction](https://github.com/lightningnetwork/lnd/pull/6730). 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](https://github.com/lightningnetwork/lnd/pull/6945) + during `openchannel` if the local funding amount given is zero. + ## Wallet * [Allows Taproot public keys and tap scripts to be imported as watch-only diff --git a/rpcserver.go b/rpcserver.go index afb784f46..424d16bd4 100644 --- a/rpcserver.go +++ b/rpcserver.go @@ -1913,6 +1913,11 @@ func (r *rpcServer) parseOpenChannelReq(in *lnrpc.OpenChannelRequest, globalFeatureSet := r.server.featureMgr.Get(feature.SetNodeAnn) + // Ensure that a local funding amount has been specified. + if localFundingAmt == 0 { + return nil, fmt.Errorf("local funding amount must be non-zero") + } + // Ensure that the initial balance of the remote party (if pushing // satoshis) does not exceed the amount the local party has requested // for funding.