funding: sent channel to breachArbiter as soon as it's open

This commit is contained in:
Olaoluwa Osuntokun 2017-11-23 13:39:04 -06:00
parent 6e3d231619
commit 530c49f12e
No known key found for this signature in database
GPG Key ID: 964EA263DD637C21
1 changed files with 10 additions and 9 deletions

View File

@ -1718,6 +1718,16 @@ func (f *fundingManager) handleFundingLocked(fmsg *fundingLockedMsg) {
fndgLog.Infof("Received duplicate fundingLocked for "+
"ChannelID(%v), ignoring.", chanID)
channel.Stop()
channel.CancelObserver()
return
}
// With the channel retrieved, we'll send the breach arbiter the new
// channel so it can watch for attempts to breach the channel's
// contract by the remote party.
select {
case f.cfg.ArbiterChan <- channel:
case <-f.quit:
return
}
@ -1731,15 +1741,6 @@ func (f *fundingManager) handleFundingLocked(fmsg *fundingLockedMsg) {
return
}
// With the channel retrieved, we'll send the breach arbiter the new
// channel so it can watch for attempts to breach the channel's
// contract by the remote party.
select {
case f.cfg.ArbiterChan <- channel:
case <-f.quit:
return
}
// Launch a defer so we _ensure_ that the channel barrier is properly
// closed even if the target peer is not longer online at this point.
defer func() {