mirror of https://github.com/BTCPrivate/lnd.git
server: initialize temp chan ID seed, add new FindChannel func for fundingMgr
This commit is contained in:
parent
731f10eec0
commit
d74d3fa0f3
32
server.go
32
server.go
|
@ -1,6 +1,7 @@
|
||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"crypto/rand"
|
||||||
"crypto/sha256"
|
"crypto/sha256"
|
||||||
"encoding/hex"
|
"encoding/hex"
|
||||||
"errors"
|
"errors"
|
||||||
|
@ -259,6 +260,11 @@ func newServer(listenAddrs []string, notifier chainntnfs.ChainNotifier,
|
||||||
s.rpcServer = newRPCServer(s)
|
s.rpcServer = newRPCServer(s)
|
||||||
s.breachArbiter = newBreachArbiter(wallet, chanDB, notifier, s.htlcSwitch)
|
s.breachArbiter = newBreachArbiter(wallet, chanDB, notifier, s.htlcSwitch)
|
||||||
|
|
||||||
|
var chanIDSeed [32]byte
|
||||||
|
if _, err := rand.Read(chanIDSeed[:]); err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
s.fundingMgr, err = newFundingManager(fundingConfig{
|
s.fundingMgr, err = newFundingManager(fundingConfig{
|
||||||
IDKey: s.identityPriv.PubKey(),
|
IDKey: s.identityPriv.PubKey(),
|
||||||
Wallet: wallet,
|
Wallet: wallet,
|
||||||
|
@ -275,10 +281,25 @@ func newServer(listenAddrs []string, notifier chainntnfs.ChainNotifier,
|
||||||
s.identityPriv.PubKey())
|
s.identityPriv.PubKey())
|
||||||
return nil
|
return nil
|
||||||
},
|
},
|
||||||
ArbiterChan: s.breachArbiter.newContracts,
|
ArbiterChan: s.breachArbiter.newContracts,
|
||||||
SendToPeer: s.sendToPeer,
|
SendToPeer: s.sendToPeer,
|
||||||
FindPeer: s.findPeer,
|
FindPeer: s.findPeer,
|
||||||
FindChannel: s.rpcServer.fetchActiveChannel,
|
TempChanIDSeed: chanIDSeed,
|
||||||
|
FindChannel: func(chanID lnwire.ChannelID) (*lnwallet.LightningChannel, error) {
|
||||||
|
dbChannels, err := chanDB.FetchAllChannels()
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, channel := range dbChannels {
|
||||||
|
if chanID.IsChanPoint(channel.ChanID) {
|
||||||
|
return lnwallet.NewLightningChannel(wallet.Signer,
|
||||||
|
notifier, channel)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil, fmt.Errorf("unable to find channel")
|
||||||
|
},
|
||||||
})
|
})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
|
@ -356,8 +377,7 @@ func newServer(listenAddrs []string, notifier chainntnfs.ChainNotifier,
|
||||||
for _, lnAddress := range linkNodeAddrs.addresses {
|
for _, lnAddress := range linkNodeAddrs.addresses {
|
||||||
var addrMatched bool
|
var addrMatched bool
|
||||||
for _, polAddress := range policy.Node.Addresses {
|
for _, polAddress := range policy.Node.Addresses {
|
||||||
polTCPAddr, ok :=
|
polTCPAddr, ok := polAddress.(*net.TCPAddr)
|
||||||
polAddress.(*net.TCPAddr)
|
|
||||||
if ok && polTCPAddr.IP.Equal(lnAddress.IP) {
|
if ok && polTCPAddr.IP.Equal(lnAddress.IP) {
|
||||||
addrMatched = true
|
addrMatched = true
|
||||||
addrs = append(addrs, polTCPAddr)
|
addrs = append(addrs, polTCPAddr)
|
||||||
|
|
Loading…
Reference in New Issue