github.com/gravity-devs/liquidity@v1.5.3/x/liquidity/handler.go (about) 1 package liquidity 2 3 import ( 4 sdk "github.com/cosmos/cosmos-sdk/types" 5 sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" 6 7 "github.com/gravity-devs/liquidity/x/liquidity/keeper" 8 "github.com/gravity-devs/liquidity/x/liquidity/types" 9 ) 10 11 // NewHandler returns a handler for all "liquidity" type messages. 12 func NewHandler(k keeper.Keeper) sdk.Handler { 13 msgServer := keeper.NewMsgServerImpl(k) 14 15 return func(ctx sdk.Context, msg sdk.Msg) (*sdk.Result, error) { 16 ctx = ctx.WithEventManager(sdk.NewEventManager()) 17 18 switch msg := msg.(type) { 19 case *types.MsgCreatePool: 20 res, err := msgServer.CreatePool(sdk.WrapSDKContext(ctx), msg) 21 return sdk.WrapServiceResult(ctx, res, err) 22 case *types.MsgDepositWithinBatch: 23 res, err := msgServer.DepositWithinBatch(sdk.WrapSDKContext(ctx), msg) 24 return sdk.WrapServiceResult(ctx, res, err) 25 case *types.MsgWithdrawWithinBatch: 26 res, err := msgServer.WithdrawWithinBatch(sdk.WrapSDKContext(ctx), msg) 27 return sdk.WrapServiceResult(ctx, res, err) 28 case *types.MsgSwapWithinBatch: 29 res, err := msgServer.Swap(sdk.WrapSDKContext(ctx), msg) 30 return sdk.WrapServiceResult(ctx, res, err) 31 32 default: 33 return nil, sdkerrors.Wrapf(sdkerrors.ErrUnknownRequest, "unrecognized %s message type: %T", types.ModuleName, msg) 34 } 35 } 36 }