types

package
v0.0.0-...-c4fd7ea Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 30, 2025 License: MIT Imports: 7 Imported by: 1

Documentation

Index

Constants

View Source
const (
	InMemoryStore = "inmemory"
	FileStore     = "file"
	KVStore       = "kv"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Config

type Config struct {
	ServerUrl                  string
	ServerPubKey               *secp256k1.PublicKey
	WalletType                 string
	ClientType                 string
	Network                    common.Network
	VtxoTreeExpiry             common.RelativeLocktime
	RoundInterval              int64
	UnilateralExitDelay        common.RelativeLocktime
	Dust                       uint64
	BoardingDescriptorTemplate string
	ExplorerURL                string
	ForfeitAddress             string
	WithTransactionFeed        bool
}

type ConfigStore

type ConfigStore interface {
	GetType() string
	GetDatadir() string
	AddData(ctx context.Context, data Config) error
	GetData(ctx context.Context) (*Config, error)
	CleanData(ctx context.Context) error
	Close()
}

type EventType

type EventType string
const (
	BoardingPending EventType = "BOARDING_PENDING"
	BoardingSettled EventType = "BOARDING_SETTLED"
	OORSent         EventType = "OOR_SENT"
	OORReceived     EventType = "OOR_RECEIVED"
	OORSettled      EventType = "OOR_SETTLED"
)

type Store

type Store interface {
	ConfigStore() ConfigStore
	TransactionStore() TransactionStore
	VtxoStore() VtxoStore
	Close()
}

type Transaction

type Transaction struct {
	TransactionKey
	Amount    uint64
	Type      TxType
	Settled   bool
	CreatedAt time.Time
	SpentBy   string
}

func (Transaction) IsBoarding

func (t Transaction) IsBoarding() bool

func (Transaction) IsOOR

func (t Transaction) IsOOR() bool

func (Transaction) IsRound

func (t Transaction) IsRound() bool

func (Transaction) String

func (t Transaction) String() string

type TransactionEvent

type TransactionEvent struct {
	Tx    Transaction
	Event EventType
}

type TransactionKey

type TransactionKey struct {
	BoardingTxid string
	RoundTxid    string
	RedeemTxid   string
}

func (TransactionKey) String

func (t TransactionKey) String() string

type TransactionStore

type TransactionStore interface {
	AddTransactions(ctx context.Context, txs []Transaction) error
	UpdateTransactions(ctx context.Context, txs []Transaction) error
	GetAllTransactions(ctx context.Context) ([]Transaction, error)
	GetEventChannel() chan TransactionEvent
	Close()
}

type TxType

type TxType string
const (
	TxSent     TxType = "SENT"
	TxReceived TxType = "RECEIVED"
)

type Utxo

type Utxo struct {
	Txid        string
	VOut        uint32
	Amount      uint64
	Asset       string // liquid only
	Delay       common.RelativeLocktime
	SpendableAt time.Time
	CreatedAt   time.Time
	Tapscripts  []string
	Spent       bool
}

func (*Utxo) Sequence

func (u *Utxo) Sequence() (uint32, error)

type Vtxo

type Vtxo struct {
	VtxoKey
	Amount                  uint64
	RoundTxid               string
	ExpiresAt               time.Time
	CreatedAt               time.Time
	RedeemTx                string
	UnconditionalForfeitTxs []string
	Pending                 bool
	SpentBy                 string
	Spent                   bool
}

type VtxoKey

type VtxoKey struct {
	Txid string
	VOut uint32
}

func (VtxoKey) String

func (v VtxoKey) String() string

type VtxoStore

type VtxoStore interface {
	AddVtxos(ctx context.Context, vtxos []Vtxo) error
	UpdateVtxos(ctx context.Context, vtxos []Vtxo) error
	GetAllVtxos(ctx context.Context) (spendable []Vtxo, spent []Vtxo, err error)
	GetVtxos(ctx context.Context, keys []VtxoKey) ([]Vtxo, error)
	Close()
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL