github.com/lino-network/lino@v0.6.11/x/global/keeper.go (about)

     1  package global
     2  
     3  //go:generate mockery -name GlobalKeeper
     4  
     5  import (
     6  	codec "github.com/cosmos/cosmos-sdk/codec"
     7  	sdk "github.com/cosmos/cosmos-sdk/types"
     8  
     9  	linotypes "github.com/lino-network/lino/types"
    10  	"github.com/lino-network/lino/x/global/model"
    11  )
    12  
    13  // GlobalKeeper - aka global event manager.
    14  type GlobalKeeper interface {
    15  	InitGenesis(ctx sdk.Context)
    16  
    17  	// blockchain scheduled events.
    18  	OnBeginBlock(ctx sdk.Context)
    19  	OnEndBlock(ctx sdk.Context)
    20  
    21  	// module events
    22  	RegisterEventAtTime(ctx sdk.Context, unixTime int64, event linotypes.Event) sdk.Error
    23  	ExecuteEvents(ctx sdk.Context, exec linotypes.EventExec)
    24  
    25  	// Getter
    26  	//// global time
    27  	GetLastBlockTime(ctx sdk.Context) int64
    28  	GetPastDay(ctx sdk.Context, unixTime int64) int64
    29  	GetBCEventErrors(ctx sdk.Context) []linotypes.BCEventErr
    30  	GetEventErrors(ctx sdk.Context) []model.EventError
    31  	GetGlobalTime(ctx sdk.Context) model.GlobalTime
    32  
    33  	// import export
    34  	ImportFromFile(ctx sdk.Context, cdc *codec.Codec, filepath string) error
    35  	ExportToFile(ctx sdk.Context, cdc *codec.Codec, filepath string) error
    36  }