handler.go 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. package wormhole
  2. import (
  3. "fmt"
  4. sdk "github.com/cosmos/cosmos-sdk/types"
  5. sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
  6. "github.com/wormhole-foundation/wormchain/x/wormhole/keeper"
  7. "github.com/wormhole-foundation/wormchain/x/wormhole/types"
  8. )
  9. // NewHandler ...
  10. func NewHandler(k keeper.Keeper) sdk.Handler {
  11. msgServer := keeper.NewMsgServerImpl(k)
  12. return func(ctx sdk.Context, msg sdk.Msg) (*sdk.Result, error) {
  13. ctx = ctx.WithEventManager(sdk.NewEventManager())
  14. switch msg := msg.(type) {
  15. case *types.MsgExecuteGovernanceVAA:
  16. res, err := msgServer.ExecuteGovernanceVAA(sdk.WrapSDKContext(ctx), msg)
  17. return sdk.WrapServiceResult(ctx, res, err)
  18. case *types.MsgRegisterAccountAsGuardian:
  19. res, err := msgServer.RegisterAccountAsGuardian(sdk.WrapSDKContext(ctx), msg)
  20. return sdk.WrapServiceResult(ctx, res, err)
  21. case *types.MsgStoreCode:
  22. res, err := msgServer.StoreCode(sdk.WrapSDKContext(ctx), msg)
  23. return sdk.WrapServiceResult(ctx, res, err)
  24. case *types.MsgInstantiateContract:
  25. res, err := msgServer.InstantiateContract(sdk.WrapSDKContext(ctx), msg)
  26. return sdk.WrapServiceResult(ctx, res, err)
  27. case *types.MsgCreateAllowlistEntryRequest:
  28. res, err := msgServer.CreateAllowlistEntry(sdk.WrapSDKContext(ctx), msg)
  29. return sdk.WrapServiceResult(ctx, res, err)
  30. case *types.MsgDeleteAllowlistEntryRequest:
  31. res, err := msgServer.DeleteAllowlistEntry(sdk.WrapSDKContext(ctx), msg)
  32. return sdk.WrapServiceResult(ctx, res, err)
  33. // this line is used by starport scaffolding # 1
  34. default:
  35. errMsg := fmt.Sprintf("unrecognized %s message type: %T", types.ModuleName, msg)
  36. return nil, sdkerrors.Wrap(sdkerrors.ErrUnknownRequest, errMsg)
  37. }
  38. }
  39. }