Merge pull request #4184 from wpaulino/upfront-shutdown-reservation-cleanup
fundingmanager: check remote peer upfront shutdown support before reservation
This commit is contained in:
commit
b7d5667db0
@ -3078,6 +3078,27 @@ func (f *fundingManager) handleInitFundingMsg(msg *initFundingMsg) {
|
||||
}
|
||||
}
|
||||
|
||||
// Check whether the peer supports upfront shutdown, and get an address
|
||||
// which should be used (either a user specified address or a new
|
||||
// address from the wallet if our node is configured to set shutdown
|
||||
// address by default).
|
||||
shutdown, err := getUpfrontShutdownScript(
|
||||
msg.peer, msg.openChanReq.shutdownScript,
|
||||
func() (lnwire.DeliveryAddress, error) {
|
||||
addr, err := f.cfg.Wallet.NewAddress(
|
||||
lnwallet.WitnessPubKey, false,
|
||||
)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return txscript.PayToAddrScript(addr)
|
||||
},
|
||||
)
|
||||
if err != nil {
|
||||
msg.err <- err
|
||||
return
|
||||
}
|
||||
|
||||
// Initialize a funding reservation with the local wallet. If the
|
||||
// wallet doesn't have enough funds to commit to this channel, then the
|
||||
// request will fail, and be aborted.
|
||||
@ -3112,24 +3133,6 @@ func (f *fundingManager) handleInitFundingMsg(msg *initFundingMsg) {
|
||||
return
|
||||
}
|
||||
|
||||
// Check whether the peer supports upfront shutdown, and get an address which
|
||||
// should be used (either a user specified address or a new address from the
|
||||
// wallet if our node is configured to set shutdown address by default).
|
||||
shutdown, err := getUpfrontShutdownScript(
|
||||
msg.peer, msg.openChanReq.shutdownScript,
|
||||
func() (lnwire.DeliveryAddress, error) {
|
||||
addr, err := f.cfg.Wallet.NewAddress(lnwallet.WitnessPubKey, false)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return txscript.PayToAddrScript(addr)
|
||||
},
|
||||
)
|
||||
if err != nil {
|
||||
msg.err <- err
|
||||
return
|
||||
}
|
||||
|
||||
// Set our upfront shutdown address in the existing reservation.
|
||||
reservation.SetOurUpfrontShutdown(shutdown)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user