github.com/lino-network/lino@v0.6.11/types/event.go (about) 1 package types 2 3 import ( 4 sdk "github.com/cosmos/cosmos-sdk/types" 5 ) 6 7 // Event - event executed in app.go 8 type Event interface{} 9 10 // Minute -> TimeEventList 11 type TimeEventList struct { 12 Events []Event `json:"events"` 13 } 14 15 // EventError - event and errors 16 // Module scheduled events 17 type EventError struct { 18 Time int64 `json:"time"` 19 Event Event `json:"event"` 20 ErrCode sdk.CodeType `json:"err_code"` 21 } 22 23 // EventExec is a function that can execute events. 24 type EventExec = func(ctx sdk.Context, event Event) sdk.Error 25 26 // BCEventErrReason - blockchain event error. deterministic. 27 type BCEventErr struct { 28 Time int64 `json:"time"` 29 ErrCode sdk.CodeType `json:"err_code"` 30 ErrCodeSpace sdk.CodespaceType `json:"err_code_space"` 31 Reason string `json:"reason"` 32 } 33 34 func NewBCEventErr(ctx sdk.Context, err sdk.Error, reason string) BCEventErr { 35 return BCEventErr{ 36 Time: ctx.BlockTime().Unix(), 37 ErrCode: err.Code(), 38 ErrCodeSpace: err.Codespace(), 39 Reason: reason, 40 } 41 } 42 43 // BCEvent execute blockchain scheduled events. 44 type BCEventExec = func(ctx sdk.Context) []BCEventErr