keeper

package
v2.0.0-rc1 Latest Latest
Warning

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

Go to latest
Published: Mar 11, 2026 License: Apache-2.0 Imports: 30 Imported by: 0

Documentation

Index

Constants

View Source
const (
	StateOpenPrefixID      = byte(0x01)
	StateClosedPrefixID    = byte(0x02)
	StateOverdrawnPrefixID = byte(0x03)
)

Variables

View Source
var (
	AccountPrefix        = []byte{0x11, 0x00}
	PaymentPrefix        = []byte{0x12, 0x00}
	StateOpenPrefix      = []byte{StateOpenPrefixID}
	StateClosedPrefix    = []byte{StateClosedPrefixID}
	StateOverdrawnPrefix = []byte{StateOverdrawnPrefixID}
	BmeAccountsPrefix    = []byte{0x14, 0x01}
)

Functions

func BuildAccountsKey

func BuildAccountsKey(state etypes.State, id escrowid.ID) []byte

func BuildPaymentsKey

func BuildPaymentsKey(state etypes.State, id escrowid.ID) []byte

func BuildSearchPrefix

func BuildSearchPrefix(prefix []byte, state string, xid string) []byte

func LegacyAccountKey

func LegacyAccountKey(id v1beta3.AccountID) []byte

func LegacyPaymentKey

func LegacyPaymentKey(id v1beta3.AccountID, pid string) []byte

func NewQuerier

func NewQuerier(k Keeper) types.QueryServer

func ParseAccountKey

func ParseAccountKey(key []byte) (escrowid.Account, etypes.State, error)

func ParsePaymentKey

func ParsePaymentKey(key []byte) (escrowid.Payment, etypes.State, error)

Types

type AccountHook

type AccountHook func(sdk.Context, etypes.Account) error

type Keeper

type Keeper interface {
	Codec() codec.BinaryCodec
	StoreKey() storetypes.StoreKey
	EndBlocker(_ context.Context) error

	AuthorizeDeposits(sctx sdk.Context, msg sdk.Msg) ([]etypes.Depositor, error)
	AccountCreate(ctx sdk.Context, id escrowid.Account, owner sdk.AccAddress, deposits []etypes.Depositor) error
	AccountDeposit(ctx sdk.Context, id escrowid.Account, deposits []etypes.Depositor) error
	AccountSettle(ctx sdk.Context, id escrowid.Account) (bool, error)
	AccountClose(ctx sdk.Context, id escrowid.Account) error
	PaymentCreate(ctx sdk.Context, id escrowid.Payment, owner sdk.AccAddress, rate sdk.DecCoin) error
	PaymentWithdraw(ctx sdk.Context, id escrowid.Payment) error
	PaymentClose(ctx sdk.Context, id escrowid.Payment) error
	GetAccount(ctx sdk.Context, id escrowid.Account) (etypes.Account, error)
	GetPayment(ctx sdk.Context, id escrowid.Payment) (etypes.Payment, error)
	AddOnAccountClosedHook(AccountHook) Keeper
	AddOnPaymentClosedHook(PaymentHook) Keeper
	WithAccounts(sdk.Context, func(etypes.Account) bool)
	WithPayments(sdk.Context, func(etypes.Payment) bool)
	SaveAccount(sdk.Context, etypes.Account) error
	SavePayment(sdk.Context, etypes.Payment) error
	SaveAccountRaw(sdk.Context, etypes.Account) error
	SavePaymentRaw(sdk.Context, etypes.Payment) error
	GetAccountPayments(ctx sdk.Context, id escrowid.Account, states []etypes.State) []etypes.Payment
	NewQuerier() Querier
}

func NewKeeper

func NewKeeper(
	cdc codec.BinaryCodec,
	skey *storetypes.KVStoreKey,
	ac address.Codec,
	bkeeper imports.BankKeeper,
	akeeper imports.AuthzKeeper,
	okeeper imports.OracleKeeper,
	bmekeeper imports.BMEKeeper,
) Keeper

type PaymentHook

type PaymentHook func(sdk.Context, etypes.Payment) error

type Querier

type Querier struct {
	// contains filtered or unexported fields
}

Querier is used as Keeper will have duplicate methods if used directly, and gRPC names take precedence over keeper

func (Querier) AccountClose

func (k Querier) AccountClose(ctx sdk.Context, id escrowid.Account) error

func (Querier) AccountCreate

func (k Querier) AccountCreate(ctx sdk.Context, id escrowid.Account, owner sdk.AccAddress, deposits []etypes.Depositor) error

func (Querier) AccountDeposit

func (k Querier) AccountDeposit(ctx sdk.Context, id escrowid.Account, deposits []etypes.Depositor) error

func (Querier) AccountSettle

func (k Querier) AccountSettle(ctx sdk.Context, id escrowid.Account) (bool, error)

func (Querier) AddOnAccountClosedHook

func (k Querier) AddOnAccountClosedHook(hook AccountHook) Keeper

func (Querier) AddOnPaymentClosedHook

func (k Querier) AddOnPaymentClosedHook(hook PaymentHook) Keeper

func (Querier) AuthorizeDeposits

func (k Querier) AuthorizeDeposits(sctx sdk.Context, msg sdk.Msg) ([]etypes.Depositor, error)

func (Querier) Codec

func (k Querier) Codec() codec.BinaryCodec

func (Querier) EndBlocker

func (k Querier) EndBlocker(_ context.Context) error

EndBlocker is called at the end of each block to manage settlement on regular intervals

func (Querier) GetAccount

func (k Querier) GetAccount(ctx sdk.Context, id escrowid.Account) (etypes.Account, error)

func (Querier) GetAccountPayments

func (k Querier) GetAccountPayments(ctx sdk.Context, id escrowid.Account, states []etypes.State) []etypes.Payment

GetAccountPayments returns payments for a specific escrow account filtered by the given states. Public wrapper around accountPayments.

func (Querier) GetPayment

func (k Querier) GetPayment(ctx sdk.Context, id escrowid.Payment) (etypes.Payment, error)

func (Querier) NewQuerier

func (k Querier) NewQuerier() Querier

func (Querier) PaymentClose

func (k Querier) PaymentClose(ctx sdk.Context, id escrowid.Payment) error

func (Querier) PaymentCreate

func (k Querier) PaymentCreate(ctx sdk.Context, id escrowid.Payment, owner sdk.AccAddress, rate sdk.DecCoin) error

func (Querier) PaymentWithdraw

func (k Querier) PaymentWithdraw(ctx sdk.Context, id escrowid.Payment) error

func (Querier) SaveAccount

func (k Querier) SaveAccount(ctx sdk.Context, obj etypes.Account) error

func (Querier) SaveAccountRaw

func (k Querier) SaveAccountRaw(ctx sdk.Context, obj etypes.Account) error

SaveAccountRaw writes an account to the store without triggering hooks or returning funds. Used during denom migration where we need to update account data in-place without side effects.

func (Querier) SavePayment

func (k Querier) SavePayment(ctx sdk.Context, obj etypes.Payment) error

func (Querier) SavePaymentRaw

func (k Querier) SavePaymentRaw(ctx sdk.Context, obj etypes.Payment) error

SavePaymentRaw writes a payment to the store without triggering hooks. Used during denom migration where we need to update payment data in-place without side effects.

func (Querier) StoreKey

func (k Querier) StoreKey() storetypes.StoreKey

StoreKey returns store key

func (Querier) WithAccounts

func (k Querier) WithAccounts(ctx sdk.Context, fn func(etypes.Account) bool)

func (Querier) WithPayments

func (k Querier) WithPayments(ctx sdk.Context, fn func(etypes.Payment) bool)

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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