multi: move DBMPPayment to paymentsdb package

This commit is contained in:
ziggie committed 2025-08-20 09:08:19 +02:00
1 parent 9ac93e75ac
commit b16782caeb
4 files changed
+42 -40

No files matched your search

+32
View File
@@ -89,3 +89,35 @@ type PaymentControl interface {
// completed, and the payment has reached a final terminal state.
DeleteFailedAttempts(lntypes.Hash) error
}
// DBMPPayment is an interface that represents the payment state during a
// payment lifecycle.
type DBMPPayment interface {
// GetState returns the current state of the payment.
GetState() *MPPaymentState
// Terminated returns true if the payment is in a final state.
Terminated() bool
// GetStatus returns the current status of the payment.
GetStatus() PaymentStatus
// NeedWaitAttempts specifies whether the payment needs to wait for the
// outcome of an attempt.
NeedWaitAttempts() (bool, error)
// GetHTLCs returns all HTLCs of this payment.
GetHTLCs() []HTLCAttempt
// InFlightHTLCs returns all HTLCs that are in flight.
InFlightHTLCs() []HTLCAttempt
// AllowMoreAttempts is used to decide whether we can safely attempt
// more HTLCs for a given payment state. Return an error if the payment
// is in an unexpected state.
AllowMoreAttempts() (bool, error)
// TerminalInfo returns the settled HTLC attempt or the payment's
// failure reason.
TerminalInfo() (*HTLCAttempt, *FailureReason)
}