channeldb+routing: add new interface method TerminalInfo

This commit adds a new interface method `TerminalInfo` and changes its
implementation to return an `*HTLCAttempt` so it includes the route for
a successful payment. Method `GetFailureReason` is now removed as its
returned value can be found in the above method.
This commit is contained in:
yyforyongyu
2023-02-13 13:58:52 +08:00
parent 3c5c37b693
commit da8f1c084a
7 changed files with 59 additions and 60 deletions

View File

@@ -828,22 +828,34 @@ func (m *mockMPPayment) InFlightHTLCs() []channeldb.HTLCAttempt {
return args.Get(0).([]channeldb.HTLCAttempt)
}
func (m *mockMPPayment) GetFailureReason() *channeldb.FailureReason {
args := m.Called()
reason := args.Get(0)
if reason == nil {
return nil
}
return reason.(*channeldb.FailureReason)
}
func (m *mockMPPayment) AllowMoreAttempts() (bool, error) {
args := m.Called()
return args.Bool(0), args.Error(1)
}
func (m *mockMPPayment) TerminalInfo() (*channeldb.HTLCAttempt,
*channeldb.FailureReason) {
args := m.Called()
var (
settleInfo *channeldb.HTLCAttempt
failureInfo *channeldb.FailureReason
)
settle := args.Get(0)
if settle != nil {
settleInfo = settle.(*channeldb.HTLCAttempt)
}
reason := args.Get(1)
if reason != nil {
failureInfo = reason.(*channeldb.FailureReason)
}
return settleInfo, failureInfo
}
type mockLink struct {
htlcswitch.ChannelLink
bandwidth lnwire.MilliSatoshi