channeldb: remove graph db from channeldb

Now that the channel.DB no longer uses the ChannelGraph pointer, we can
completely remove it as a member of channeldb.DB.
This commit is contained in:
Elle Mouton
2024-10-22 14:51:32 +02:00
parent 2c083bc017
commit b86980ec40
9 changed files with 100 additions and 134 deletions

View File

@@ -19,9 +19,11 @@ import (
"github.com/lightningnetwork/lnd/channeldb"
"github.com/lightningnetwork/lnd/channelnotifier"
"github.com/lightningnetwork/lnd/fn"
graphdb "github.com/lightningnetwork/lnd/graph/db"
"github.com/lightningnetwork/lnd/htlcswitch"
"github.com/lightningnetwork/lnd/input"
"github.com/lightningnetwork/lnd/keychain"
"github.com/lightningnetwork/lnd/kvdb"
"github.com/lightningnetwork/lnd/lntest/channels"
"github.com/lightningnetwork/lnd/lntest/mock"
"github.com/lightningnetwork/lnd/lntypes"
@@ -607,10 +609,25 @@ func createTestPeer(t *testing.T) *peerTestCtx {
const chanActiveTimeout = time.Minute
dbAlice, err := channeldb.Open(t.TempDir())
dbPath := t.TempDir()
graphBackend, err := kvdb.GetBoltBackend(&kvdb.BoltBackendConfig{
DBPath: dbPath,
DBFileName: "graph.db",
NoFreelistSync: true,
AutoCompact: false,
AutoCompactMinAge: kvdb.DefaultBoltAutoCompactMinAge,
DBTimeout: kvdb.DefaultDBTimeout,
})
require.NoError(t, err)
dbAliceGraph, err := graphdb.NewChannelGraph(graphBackend)
require.NoError(t, err)
dbAliceChannel, err := channeldb.Open(dbPath)
require.NoError(t, err)
t.Cleanup(func() {
require.NoError(t, dbAlice.Close())
require.NoError(t, dbAliceChannel.Close())
})
nodeSignerAlice := netann.NewNodeSigner(aliceKeySigner)
@@ -620,8 +637,8 @@ func createTestPeer(t *testing.T) *peerTestCtx {
ChanStatusSampleInterval: 30 * time.Second,
ChanEnableTimeout: chanActiveTimeout,
ChanDisableTimeout: 2 * time.Minute,
DB: dbAlice.ChannelStateDB(),
Graph: dbAlice.ChannelGraph(),
DB: dbAliceChannel.ChannelStateDB(),
Graph: dbAliceGraph,
MessageSigner: nodeSignerAlice,
OurPubKey: aliceKeyPub,
OurKeyLoc: testKeyLoc,
@@ -663,7 +680,7 @@ func createTestPeer(t *testing.T) *peerTestCtx {
mockSwitch := &mockMessageSwitch{}
// TODO(yy): change ChannelNotifier to be an interface.
channelNotifier := channelnotifier.New(dbAlice.ChannelStateDB())
channelNotifier := channelnotifier.New(dbAliceChannel.ChannelStateDB())
require.NoError(t, channelNotifier.Start())
t.Cleanup(func() {
require.NoError(t, channelNotifier.Stop(),
@@ -707,7 +724,7 @@ func createTestPeer(t *testing.T) *peerTestCtx {
Switch: mockSwitch,
ChanActiveTimeout: chanActiveTimeout,
InterceptSwitch: interceptableSwitch,
ChannelDB: dbAlice.ChannelStateDB(),
ChannelDB: dbAliceChannel.ChannelStateDB(),
FeeEstimator: estimator,
Wallet: wallet,
ChainNotifier: notifier,
@@ -749,7 +766,7 @@ func createTestPeer(t *testing.T) *peerTestCtx {
mockSwitch: mockSwitch,
peer: alicePeer,
notifier: notifier,
db: dbAlice,
db: dbAliceChannel,
privKey: aliceKeyPriv,
mockConn: mockConn,
customChan: receivedCustomChan,