mirror of
https://github.com/lightninglabs/loop
synced 2024-11-04 06:00:21 +00:00
1b306ad425
This commits lays down the foundation in the database for adding more persistent state data to swaps.
41 lines
1.3 KiB
Go
41 lines
1.3 KiB
Go
package loopdb
|
|
|
|
import (
|
|
"time"
|
|
|
|
"github.com/lightningnetwork/lnd/lntypes"
|
|
)
|
|
|
|
// SwapStore is the primary database interface used by the loopd system. It
|
|
// houses information for all pending completed/failed swaps.
|
|
type SwapStore interface {
|
|
// FetchLoopOutSwaps returns all swaps currently in the store.
|
|
FetchLoopOutSwaps() ([]*LoopOut, error)
|
|
|
|
// CreateLoopOut adds an initiated swap to the store.
|
|
CreateLoopOut(hash lntypes.Hash, swap *LoopOutContract) error
|
|
|
|
// UpdateLoopOut stores a new event for a target loop out swap. This
|
|
// appends to the event log for a particular swap as it goes through
|
|
// the various stages in its lifetime.
|
|
UpdateLoopOut(hash lntypes.Hash, time time.Time,
|
|
state SwapStateData) error
|
|
|
|
// FetchLoopInSwaps returns all swaps currently in the store.
|
|
FetchLoopInSwaps() ([]*LoopIn, error)
|
|
|
|
// CreateLoopIn adds an initiated swap to the store.
|
|
CreateLoopIn(hash lntypes.Hash, swap *LoopInContract) error
|
|
|
|
// UpdateLoopIn stores a new event for a target loop in swap. This
|
|
// appends to the event log for a particular swap as it goes through
|
|
// the various stages in its lifetime.
|
|
UpdateLoopIn(hash lntypes.Hash, time time.Time,
|
|
state SwapStateData) error
|
|
|
|
// Close closes the underlying database.
|
|
Close() error
|
|
}
|
|
|
|
// TODO(roasbeef): back up method in interface?
|