storage

package
v1.7.6 Latest Latest
Warning

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

Go to latest
Published: Nov 3, 2022 License: MIT Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrConfigurationNotFound = errors.New("configuration not found")
)

Functions

func IsError added in v1.0.4

func IsError(err error) bool

func IsErrorCode added in v1.0.4

func IsErrorCode(err error, code Code) bool

func IsTooManyClientError added in v1.0.4

func IsTooManyClientError(err error) bool

func NoOpDriver added in v1.3.2

func NoOpDriver() *noOpDriver

func NoOpStore

func NoOpStore() *noOpStore

Types

type AccountsQuery added in v1.6.0

type AccountsQuery struct {
	PageSize     uint
	Offset       uint
	AfterAddress string
	Filters      AccountsQueryFilters
}

func NewAccountsQuery added in v1.6.0

func NewAccountsQuery() *AccountsQuery

func (*AccountsQuery) WithAddressFilter added in v1.6.0

func (a *AccountsQuery) WithAddressFilter(address string) *AccountsQuery

func (*AccountsQuery) WithAfterAddress added in v1.6.0

func (a *AccountsQuery) WithAfterAddress(after string) *AccountsQuery

func (*AccountsQuery) WithBalanceFilter added in v1.6.0

func (a *AccountsQuery) WithBalanceFilter(balance string) *AccountsQuery

func (*AccountsQuery) WithBalanceOperatorFilter added in v1.6.0

func (a *AccountsQuery) WithBalanceOperatorFilter(balanceOperator BalanceOperator) *AccountsQuery

func (*AccountsQuery) WithMetadataFilter added in v1.6.0

func (a *AccountsQuery) WithMetadataFilter(metadata map[string]string) *AccountsQuery

func (*AccountsQuery) WithOffset added in v1.6.0

func (a *AccountsQuery) WithOffset(offset uint) *AccountsQuery

func (*AccountsQuery) WithPageSize added in v1.6.0

func (a *AccountsQuery) WithPageSize(pageSize uint) *AccountsQuery

type AccountsQueryFilters added in v1.6.0

type AccountsQueryFilters struct {
	Address         string
	Balance         string
	BalanceOperator BalanceOperator
	Metadata        map[string]string
}

type BalanceOperator added in v1.6.0

type BalanceOperator string
const (
	BalanceOperatorE   BalanceOperator = "e"
	BalanceOperatorGt  BalanceOperator = "gt"
	BalanceOperatorGte BalanceOperator = "gte"
	BalanceOperatorLt  BalanceOperator = "lt"
	BalanceOperatorLte BalanceOperator = "lte"

	DefaultBalanceOperator = BalanceOperatorGte
)

func NewBalanceOperator added in v1.6.0

func NewBalanceOperator(s string) (BalanceOperator, bool)

func (BalanceOperator) IsValid added in v1.6.0

func (b BalanceOperator) IsValid() bool

type BalancesQuery added in v1.6.0

type BalancesQuery struct {
	PageSize     uint
	Offset       uint
	AfterAddress string
	Filters      BalancesQueryFilters
}

func NewBalancesQuery added in v1.6.0

func NewBalancesQuery() *BalancesQuery

func (*BalancesQuery) WithAddressFilter added in v1.6.0

func (b *BalancesQuery) WithAddressFilter(address string) *BalancesQuery

func (*BalancesQuery) WithAfterAddress added in v1.6.0

func (b *BalancesQuery) WithAfterAddress(after string) *BalancesQuery

func (*BalancesQuery) WithOffset added in v1.6.0

func (b *BalancesQuery) WithOffset(offset uint) *BalancesQuery

func (*BalancesQuery) WithPageSize added in v1.6.0

func (b *BalancesQuery) WithPageSize(pageSize uint) *BalancesQuery

type BalancesQueryFilters added in v1.6.0

type BalancesQueryFilters struct {
	AddressRegexp string
}

type Code

type Code string
const (
	QueryDefaultPageSize = 15

	ConstraintFailed Code = "CONSTRAINT_FAILED"
	TooManyClient    Code = "TOO_MANY_CLIENT"
	Unknown          Code = "UNKNOWN"
)

type Driver

type Driver interface {
	Initialize(ctx context.Context) error
	GetStore(ctx context.Context, name string, create bool) (Store, bool, error)
	Close(ctx context.Context) error
	List(ctx context.Context) ([]string, error)
	DeleteStore(ctx context.Context, name string) error
	Name() string
	GetConfiguration(ctx context.Context, key string) (string, error)
	InsertConfiguration(ctx context.Context, key, value string) error
}

type Error

type Error struct {
	Code          Code
	OriginalError error
}

func NewError

func NewError(code Code, originalError error) *Error

func (Error) Error

func (e Error) Error() string

func (Error) Is added in v1.0.4

func (e Error) Is(err error) bool

type Store

type Store interface {
	GetLastTransaction(ctx context.Context) (*core.Transaction, error)
	CountTransactions(context.Context, TransactionsQuery) (uint64, error)
	GetTransactions(context.Context, TransactionsQuery) (sharedapi.Cursor[core.Transaction], error)
	GetTransaction(ctx context.Context, txid uint64) (*core.Transaction, error)
	GetAccount(ctx context.Context, accountAddress string) (*core.Account, error)
	GetAssetsVolumes(ctx context.Context, accountAddress string) (core.AssetsVolumes, error)
	GetVolumes(ctx context.Context, accountAddress, asset string) (core.Volumes, error)
	CountAccounts(context.Context, AccountsQuery) (uint64, error)
	GetAccounts(context.Context, AccountsQuery) (sharedapi.Cursor[core.Account], error)

	GetBalances(context.Context, BalancesQuery) (sharedapi.Cursor[core.AccountsBalances], error)
	GetBalancesAggregated(context.Context, BalancesQuery) (core.AssetsBalances, error)

	AppendLog(ctx context.Context, log ...core.Log) error
	LastLog(ctx context.Context) (*core.Log, error)
	Logs(ctx context.Context) ([]core.Log, error)

	LoadMapping(ctx context.Context) (*core.Mapping, error)
	SaveMapping(ctx context.Context, m core.Mapping) error
	Initialize(context.Context) (bool, error)
	Name() string
	Close(context.Context) error
}

type TransactionsQuery added in v1.6.0

type TransactionsQuery struct {
	PageSize  uint
	AfterTxID uint64
	Filters   TransactionsQueryFilters
}

func NewTransactionsQuery added in v1.6.0

func NewTransactionsQuery() *TransactionsQuery

func (*TransactionsQuery) WithAccountFilter added in v1.6.0

func (a *TransactionsQuery) WithAccountFilter(account string) *TransactionsQuery

func (*TransactionsQuery) WithAfterTxID added in v1.6.0

func (a *TransactionsQuery) WithAfterTxID(after uint64) *TransactionsQuery

func (*TransactionsQuery) WithDestinationFilter added in v1.6.0

func (a *TransactionsQuery) WithDestinationFilter(dest string) *TransactionsQuery

func (*TransactionsQuery) WithEndTimeFilter added in v1.6.0

func (a *TransactionsQuery) WithEndTimeFilter(end time.Time) *TransactionsQuery

func (*TransactionsQuery) WithMetadataFilter added in v1.6.0

func (a *TransactionsQuery) WithMetadataFilter(metadata map[string]string) *TransactionsQuery

func (*TransactionsQuery) WithPageSize added in v1.6.0

func (a *TransactionsQuery) WithPageSize(pageSize uint) *TransactionsQuery

func (*TransactionsQuery) WithReferenceFilter added in v1.6.0

func (a *TransactionsQuery) WithReferenceFilter(ref string) *TransactionsQuery

func (*TransactionsQuery) WithSourceFilter added in v1.6.0

func (a *TransactionsQuery) WithSourceFilter(source string) *TransactionsQuery

func (*TransactionsQuery) WithStartTimeFilter added in v1.6.0

func (a *TransactionsQuery) WithStartTimeFilter(start time.Time) *TransactionsQuery

type TransactionsQueryFilters added in v1.6.0

type TransactionsQueryFilters struct {
	Reference   string
	Destination string
	Source      string
	Account     string
	EndTime     time.Time
	StartTime   time.Time
	Metadata    map[string]string
}

Directories

Path Synopsis
File is part of the build only if cgo is enabled.
File is part of the build only if cgo is enabled.

Jump to

Keyboard shortcuts

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