github.com/Finschia/finschia-sdk@v0.48.1/x/mint/keeper/querier.go (about) 1 package keeper 2 3 import ( 4 abci "github.com/tendermint/tendermint/abci/types" 5 6 "github.com/Finschia/finschia-sdk/codec" 7 sdk "github.com/Finschia/finschia-sdk/types" 8 sdkerrors "github.com/Finschia/finschia-sdk/types/errors" 9 "github.com/Finschia/finschia-sdk/x/mint/types" 10 ) 11 12 // NewQuerier returns a minting Querier handler. 13 func NewQuerier(k Keeper, legacyQuerierCdc *codec.LegacyAmino) sdk.Querier { 14 return func(ctx sdk.Context, path []string, _ abci.RequestQuery) ([]byte, error) { 15 switch path[0] { 16 case types.QueryParameters: 17 return queryParams(ctx, k, legacyQuerierCdc) 18 19 case types.QueryInflation: 20 return queryInflation(ctx, k, legacyQuerierCdc) 21 22 case types.QueryAnnualProvisions: 23 return queryAnnualProvisions(ctx, k, legacyQuerierCdc) 24 25 default: 26 return nil, sdkerrors.Wrapf(sdkerrors.ErrUnknownRequest, "unknown query path: %s", path[0]) 27 } 28 } 29 } 30 31 func queryParams(ctx sdk.Context, k Keeper, legacyQuerierCdc *codec.LegacyAmino) ([]byte, error) { 32 params := k.GetParams(ctx) 33 34 res, err := codec.MarshalJSONIndent(legacyQuerierCdc, params) 35 if err != nil { 36 return nil, sdkerrors.Wrap(sdkerrors.ErrJSONMarshal, err.Error()) 37 } 38 39 return res, nil 40 } 41 42 func queryInflation(ctx sdk.Context, k Keeper, legacyQuerierCdc *codec.LegacyAmino) ([]byte, error) { 43 minter := k.GetMinter(ctx) 44 45 res, err := codec.MarshalJSONIndent(legacyQuerierCdc, minter.Inflation) 46 if err != nil { 47 return nil, sdkerrors.Wrap(sdkerrors.ErrJSONMarshal, err.Error()) 48 } 49 50 return res, nil 51 } 52 53 func queryAnnualProvisions(ctx sdk.Context, k Keeper, legacyQuerierCdc *codec.LegacyAmino) ([]byte, error) { 54 minter := k.GetMinter(ctx) 55 56 res, err := codec.MarshalJSONIndent(legacyQuerierCdc, minter.AnnualProvisions) 57 if err != nil { 58 return nil, sdkerrors.Wrap(sdkerrors.ErrJSONMarshal, err.Error()) 59 } 60 61 return res, nil 62 }