github.com/lino-network/lino@v0.6.11/x/global/querier.go (about) 1 package global 2 3 import ( 4 // "strconv" 5 6 wire "github.com/cosmos/cosmos-sdk/codec" 7 sdk "github.com/cosmos/cosmos-sdk/types" 8 abci "github.com/tendermint/tendermint/abci/types" 9 10 // linotypes "github.com/lino-network/lino/types" 11 "github.com/lino-network/lino/utils" 12 "github.com/lino-network/lino/x/global/types" 13 ) 14 15 // creates a querier for global REST endpoints 16 func NewQuerier(gm GlobalKeeper) sdk.Querier { 17 cdc := wire.New() 18 wire.RegisterCrypto(cdc) 19 return func(ctx sdk.Context, path []string, req abci.RequestQuery) (res []byte, err sdk.Error) { 20 switch path[0] { 21 // case types.QueryTimeEventList: 22 // return queryTimeEventList(ctx, cdc, path[1:], req, gm) 23 case types.QueryGlobalTime: 24 return queryGlobalTime(ctx, cdc, path[1:], req, gm) 25 case types.QueryGlobalEventErrors: 26 return utils.NewQueryResolver(0, func(args ...string) (interface{}, sdk.Error) { 27 return gm.GetEventErrors(ctx), nil 28 })(ctx, cdc, path) 29 case types.QueryGlobalBCEventErrors: 30 return utils.NewQueryResolver(0, func(args ...string) (interface{}, sdk.Error) { 31 return gm.GetBCEventErrors(ctx), nil 32 })(ctx, cdc, path) 33 default: 34 return nil, sdk.ErrUnknownRequest("unknown global query endpoint") 35 } 36 } 37 } 38 39 // func queryTimeEventList(ctx sdk.Context, cdc *wire.Codec, path []string, req abci.RequestQuery, gm GlobalKeeper) ([]byte, sdk.Error) { 40 // if err := linotypes.CheckPathContentAndMinLength(path, 1); err != nil { 41 // return nil, err 42 // } 43 // unixTime, convertErr := strconv.ParseInt(path[0], 10, 64) 44 // if convertErr != nil { 45 // return nil, types.ErrQueryFailed() 46 // } 47 // eventList, err := gm.storage.GetTimeEventList(ctx, unixTime) 48 // if err != nil { 49 // return nil, err 50 // } 51 // res, marshalErr := cdc.MarshalJSON(eventList) 52 // if marshalErr != nil { 53 // return nil, ErrQueryFailed() 54 // } 55 // return res, nil 56 // } 57 58 func queryGlobalTime(ctx sdk.Context, cdc *wire.Codec, path []string, req abci.RequestQuery, gm GlobalKeeper) ([]byte, sdk.Error) { 59 globalTime := gm.GetGlobalTime(ctx) 60 res, marshalErr := cdc.MarshalJSON(globalTime) 61 if marshalErr != nil { 62 return nil, types.ErrQueryFailed() 63 } 64 return res, nil 65 }