keeper

package
v0.0.0-...-aba098d Latest Latest
Warning

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

Go to latest
Published: Apr 26, 2024 License: MIT Imports: 18 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// TODO_BLOCKER: Remove direct usage of these constants in helper functions
	// when they will be replaced by governance params
	NumBlocksPerSession = 4
	// Duration of the grace period in number of sessions
	SessionGracePeriod          = 1
	NumSupplierPerSession       = 15
	SessionIDComponentDelimiter = "."
)

TODO_BLOCKER(#21): Make these configurable governance param

Variables

View Source
var SHA3HashLen = crypto.SHA3_256.Size()

Functions

func GetSessionEndBlockHeight

func GetSessionEndBlockHeight(blockHeight int64) int64

GetSessionEndBlockHeight returns the block height at which the session ends Returns 0 if the block height is not a consensus produced block. Example: If NumBlocksPerSession == 4, sessions end at blocks 4, 8, 11, etc.

func GetSessionGracePeriodBlockCount

func GetSessionGracePeriodBlockCount() int64

GetSessionGracePeriodBlockCount returns the number of blocks in the session grace period.

func GetSessionId

func GetSessionId(
	appPubKey,
	serviceId string,
	blockHashBz []byte,
	blockHeight int64,
) (sessionId string, sessionIdBz []byte)

GetSessionId returns the string and bytes representation of the sessionId given the application public key, service ID, block hash, and block height that is used to get the session start block height.

func GetSessionNumber

func GetSessionNumber(blockHeight int64) int64

GetSessionNumber returns the session number given the block height. Returns session number 0 if the block height is not a consensus produced block. Returns session number 1 for block 1 to block NumBlocksPerSession - 1 (inclusive). i.e. If NubBlocksPerSession == 4, session == 1 for [1, 4], session == 2 for [5, 8], etc.

func GetSessionStartBlockHeight

func GetSessionStartBlockHeight(blockHeight int64) int64

GetSessionStartBlockHeight returns the block height at which the session starts Returns 0 if the block height is not a consensus produced block. Example: If NumBlocksPerSession == 4, sessions start at blocks 1, 5, 9, etc.

func NewMsgServerImpl

func NewMsgServerImpl(keeper Keeper) types.MsgServer

NewMsgServerImpl returns an implementation of the MsgServer interface for the provided Keeper.

func NewSessionHydrator

func NewSessionHydrator(
	appAddress string,
	serviceId string,
	blockHeight int64,
) *sessionHydrator

Types

type Keeper

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

func NewKeeper

func NewKeeper(
	cdc codec.BinaryCodec,
	storeService store.KVStoreService,
	logger log.Logger,
	authority string,

	accountKeeper types.AccountKeeper,
	bankKeeper types.BankKeeper,
	applicationKeeper types.ApplicationKeeper,
	supplierKeeper types.SupplierKeeper,
) Keeper

func (Keeper) GetAuthority

func (k Keeper) GetAuthority() string

GetAuthority returns the module's authority.

func (Keeper) GetBlockHash

func (k Keeper) GetBlockHash(ctx context.Context, height int64) []byte

GetBlockHash returns the hash of the block at the given height.

func (Keeper) GetParams

func (k Keeper) GetParams(ctx context.Context) (params types.Params)

GetParams get all parameters as types.Params

func (Keeper) GetSession

GetSession should be deterministic and always return the same session for the same block height.

func (Keeper) HydrateSession

func (k Keeper) HydrateSession(ctx context.Context, sh *sessionHydrator) (*types.Session, error)

GetSession implements of the exposed `UtilityModule.GetSession` function TECHDEBT(#519,#348): Add custom error types depending on the type of issue that occurred and assert on them in the unit tests.

func (Keeper) Logger

func (k Keeper) Logger() log.Logger

Logger returns a module-specific logger.

func (Keeper) Params

func (Keeper) SetParams

func (k Keeper) SetParams(ctx context.Context, params types.Params) error

SetParams set the params

func (Keeper) StoreBlockHash

func (k Keeper) StoreBlockHash(goCtx context.Context)

StoreBlockHash is called at the end of every block. It fetches the block hash from the committed block ans saves its hash in the store.

Jump to

Keyboard shortcuts

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