diff --git a/docs/release-notes/release-notes-0.16.1.md b/docs/release-notes/release-notes-0.16.1.md index 4b62a1c8b..e9cc58c7e 100644 --- a/docs/release-notes/release-notes-0.16.1.md +++ b/docs/release-notes/release-notes-0.16.1.md @@ -84,11 +84,14 @@ available](https://github.com/lightningnetwork/lnd/pull/7529). * [Fix log output](https://github.com/lightningnetwork/lnd/pull/7604). - * [Channels opened with custom fee policies are now able to forward payments correctly without needing to restart first](https://github.com/lightningnetwork/lnd/pull/7597). +* [Fix a bug](https://github.com/lightningnetwork/lnd/pull/7613) where the + funding manager would error out if no persisted initial forwarding policy is + found for a channel. + # Contributors (Alphabetical Order) * ardevd diff --git a/funding/manager.go b/funding/manager.go index ad66ba1c1..a6b4a6106 100644 --- a/funding/manager.go +++ b/funding/manager.go @@ -3729,10 +3729,11 @@ func (f *Manager) newChanAnnouncement(localPubKey, } // The caller of newChanAnnouncement is expected to provide the initial - // forwarding policy to be announced. We abort the channel announcement - // if they are not provided. + // forwarding policy to be announced. If no persisted initial policy + // values are found, then we will use the default policy values in the + // channel announcement. storedFwdingPolicy, err := f.getInitialFwdingPolicy(chanID) - if err != nil { + if err != nil && !errors.Is(err, channeldb.ErrChannelNotFound) { return nil, errors.Errorf("unable to generate channel "+ "update announcement: %v", err) } diff --git a/funding/manager_test.go b/funding/manager_test.go index ec9a05c0f..305920e0a 100644 --- a/funding/manager_test.go +++ b/funding/manager_test.go @@ -3154,7 +3154,7 @@ func TestFundingManagerCustomChannelParameters(t *testing.T) { t.Fatal("OpenStatusUpdate was not OpenStatusUpdate_ChanPending") } - // After the funding is sigend and before the channel announcement + // After the funding is signed and before the channel announcement // we expect Alice and Bob to store their respective fees in the // database. forwardingPolicy, err := alice.fundingMgr.getInitialFwdingPolicy( @@ -3169,7 +3169,7 @@ func TestFundingManagerCustomChannelParameters(t *testing.T) { require.NoError(t, err) require.NoError(t, assertFees(forwardingPolicy, 100, 1000)) - // Wait for Alice to published the funding tx to the network. + // Wait for Alice to publish the funding tx to the network. var fundingTx *wire.MsgTx select { case fundingTx = <-alice.publTxChan: