mirror of
https://github.com/lightningnetwork/lnd.git
synced 2025-10-11 04:02:46 +02:00
routing: add chans rejected due to failed chain validation to zombie index
In this commit, we start to add any channels that fail the normal chain validation to the zombie index. With this change, we'll ensure that we won't continue to re-process the same set of spent channels over and over again. Fixes #5191.
This commit is contained in:
@@ -19,6 +19,7 @@ import (
|
||||
"github.com/lightningnetwork/lnd/channeldb"
|
||||
"github.com/lightningnetwork/lnd/input"
|
||||
"github.com/lightningnetwork/lnd/lnwallet"
|
||||
"github.com/lightningnetwork/lnd/lnwallet/btcwallet"
|
||||
"github.com/lightningnetwork/lnd/lnwire"
|
||||
"github.com/lightningnetwork/lnd/routing/chainview"
|
||||
"github.com/lightningnetwork/lnd/routing/route"
|
||||
@@ -170,8 +171,8 @@ func (m *mockChain) GetBlockHash(blockHeight int64) (*chainhash.Hash, error) {
|
||||
|
||||
hash, ok := m.blockIndex[uint32(blockHeight)]
|
||||
if !ok {
|
||||
return nil, fmt.Errorf("can't find block hash, for "+
|
||||
"height %v", blockHeight)
|
||||
return nil, fmt.Errorf("block number out of range: %v",
|
||||
blockHeight)
|
||||
}
|
||||
|
||||
return &hash, nil
|
||||
@@ -182,6 +183,13 @@ func (m *mockChain) addUtxo(op wire.OutPoint, out *wire.TxOut) {
|
||||
m.utxos[op] = *out
|
||||
m.Unlock()
|
||||
}
|
||||
|
||||
func (m *mockChain) delUtxo(op wire.OutPoint) {
|
||||
m.Lock()
|
||||
delete(m.utxos, op)
|
||||
m.Unlock()
|
||||
}
|
||||
|
||||
func (m *mockChain) GetUtxo(op *wire.OutPoint, _ []byte, _ uint32,
|
||||
_ <-chan struct{}) (*wire.TxOut, error) {
|
||||
m.RLock()
|
||||
@@ -189,7 +197,7 @@ func (m *mockChain) GetUtxo(op *wire.OutPoint, _ []byte, _ uint32,
|
||||
|
||||
utxo, ok := m.utxos[*op]
|
||||
if !ok {
|
||||
return nil, fmt.Errorf("utxo not found")
|
||||
return nil, btcwallet.ErrOutputSpent
|
||||
}
|
||||
|
||||
return &utxo, nil
|
||||
|
Reference in New Issue
Block a user