@@ -24,7 +24,6 @@ import (
24
24
"github.com/lightningnetwork/lnd/batch"
25
25
"github.com/lightningnetwork/lnd/chainntnfs"
26
26
"github.com/lightningnetwork/lnd/channeldb"
27
- "github.com/lightningnetwork/lnd/fn/v2"
28
27
"github.com/lightningnetwork/lnd/graph"
29
28
graphdb "github.com/lightningnetwork/lnd/graph/db"
30
29
"github.com/lightningnetwork/lnd/graph/db/models"
@@ -76,13 +75,13 @@ var (
76
75
type mockGraphSource struct {
77
76
bestHeight uint32
78
77
79
- mu sync.Mutex
80
- nodes []models.LightningNode
81
- infos map [uint64 ]models.ChannelEdgeInfo
82
- edges map [uint64 ][]models.ChannelEdgePolicy
83
- zombies map [uint64 ][][33 ]byte
84
- chansToReject map [uint64 ]struct {}
85
- addEdgeErrCode fn. Option [graph. ErrorCode ]
78
+ mu sync.Mutex
79
+ nodes []models.LightningNode
80
+ infos map [uint64 ]models.ChannelEdgeInfo
81
+ edges map [uint64 ][]models.ChannelEdgePolicy
82
+ zombies map [uint64 ][][33 ]byte
83
+ chansToReject map [uint64 ]struct {}
84
+ addEdgeErr error
86
85
}
87
86
88
87
func newMockRouter (height uint32 ) * mockGraphSource {
@@ -113,10 +112,8 @@ func (r *mockGraphSource) AddEdge(info *models.ChannelEdgeInfo,
113
112
r .mu .Lock ()
114
113
defer r .mu .Unlock ()
115
114
116
- if r .addEdgeErrCode .IsSome () {
117
- return graph .NewErrf (
118
- r .addEdgeErrCode .UnsafeFromSome (), "received error" ,
119
- )
115
+ if r .addEdgeErr != nil {
116
+ return r .addEdgeErr
120
117
}
121
118
122
119
if _ , ok := r .infos [info .ChannelID ]; ok {
@@ -131,12 +128,12 @@ func (r *mockGraphSource) AddEdge(info *models.ChannelEdgeInfo,
131
128
return nil
132
129
}
133
130
134
- func (r * mockGraphSource ) resetAddEdgeErrCode () {
135
- r .addEdgeErrCode = fn . None [graph. ErrorCode ]()
131
+ func (r * mockGraphSource ) resetAddEdgeErr () {
132
+ r .addEdgeErr = nil
136
133
}
137
134
138
- func (r * mockGraphSource ) setAddEdgeErrCode ( code graph. ErrorCode ) {
139
- r .addEdgeErrCode = fn. Some [graph. ErrorCode ]( code )
135
+ func (r * mockGraphSource ) setAddEdgeErr ( err error ) {
136
+ r .addEdgeErr = err
140
137
}
141
138
142
139
func (r * mockGraphSource ) queueValidationFail (chanID uint64 ) {
@@ -4185,7 +4182,7 @@ func TestChanAnnBanningNonChanPeer(t *testing.T) {
4185
4182
remoteKeyPriv2 .PubKey (), nil , nil , atomic.Bool {},
4186
4183
}
4187
4184
4188
- ctx .router .setAddEdgeErrCode (graph .ErrInvalidFundingOutput )
4185
+ ctx .router .setAddEdgeErr (graph .ErrInvalidFundingOutput )
4189
4186
4190
4187
// Loop 100 times to get nodePeer banned.
4191
4188
for i := 0 ; i < 100 ; i ++ {
@@ -4199,11 +4196,7 @@ func TestChanAnnBanningNonChanPeer(t *testing.T) {
4199
4196
case err = <- ctx .gossiper .ProcessRemoteAnnouncement (
4200
4197
ca , nodePeer1 ,
4201
4198
):
4202
- require .True (
4203
- t , graph .IsError (
4204
- err , graph .ErrInvalidFundingOutput ,
4205
- ),
4206
- )
4199
+ require .ErrorIs (t , err , graph .ErrInvalidFundingOutput )
4207
4200
4208
4201
case <- time .After (2 * time .Second ):
4209
4202
t .Fatalf ("remote announcement not processed" )
@@ -4221,11 +4214,11 @@ func TestChanAnnBanningNonChanPeer(t *testing.T) {
4221
4214
4222
4215
// Set the error to ErrChannelSpent so that we can test that the
4223
4216
// gossiper ignores closed channels.
4224
- ctx .router .setAddEdgeErrCode (graph .ErrChannelSpent )
4217
+ ctx .router .setAddEdgeErr (graph .ErrChannelSpent )
4225
4218
4226
4219
select {
4227
4220
case err = <- ctx .gossiper .ProcessRemoteAnnouncement (ca , nodePeer2 ):
4228
- require .True (t , graph . IsError ( err , graph .ErrChannelSpent ) )
4221
+ require .ErrorIs (t , err , graph .ErrChannelSpent )
4229
4222
4230
4223
case <- time .After (2 * time .Second ):
4231
4224
t .Fatalf ("remote announcement not processed" )
@@ -4248,7 +4241,7 @@ func TestChanAnnBanningNonChanPeer(t *testing.T) {
4248
4241
4249
4242
// Reset the AddEdge error and pass the same announcement again. An
4250
4243
// error should be returned even though AddEdge won't fail.
4251
- ctx .router .resetAddEdgeErrCode ()
4244
+ ctx .router .resetAddEdgeErr ()
4252
4245
4253
4246
select {
4254
4247
case err = <- ctx .gossiper .ProcessRemoteAnnouncement (ca , nodePeer2 ):
@@ -4269,7 +4262,7 @@ func TestChanAnnBanningChanPeer(t *testing.T) {
4269
4262
4270
4263
nodePeer := & mockPeer {remoteKeyPriv1 .PubKey (), nil , nil , atomic.Bool {}}
4271
4264
4272
- ctx .router .setAddEdgeErrCode (graph .ErrInvalidFundingOutput )
4265
+ ctx .router .setAddEdgeErr (graph .ErrInvalidFundingOutput )
4273
4266
4274
4267
// Loop 100 times to get nodePeer banned.
4275
4268
for i := 0 ; i < 100 ; i ++ {
@@ -4283,11 +4276,7 @@ func TestChanAnnBanningChanPeer(t *testing.T) {
4283
4276
case err = <- ctx .gossiper .ProcessRemoteAnnouncement (
4284
4277
ca , nodePeer ,
4285
4278
):
4286
- require .True (
4287
- t , graph .IsError (
4288
- err , graph .ErrInvalidFundingOutput ,
4289
- ),
4290
- )
4279
+ require .ErrorIs (t , err , graph .ErrInvalidFundingOutput )
4291
4280
4292
4281
case <- time .After (2 * time .Second ):
4293
4282
t .Fatalf ("remote announcement not processed" )
0 commit comments