handler.go 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  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.MsgAddWasmInstantiateAllowlist:
  28. res, err := msgServer.AddWasmInstantiateAllowlist(sdk.WrapSDKContext(ctx), msg)
  29. return sdk.WrapServiceResult(ctx, res, err)
  30. case *types.MsgDeleteWasmInstantiateAllowlist:
  31. res, err := msgServer.DeleteWasmInstantiateAllowlist(sdk.WrapSDKContext(ctx), msg)
  32. return sdk.WrapServiceResult(ctx, res, err)
  33. case *types.MsgMigrateContract:
  34. res, err := msgServer.MigrateContract(sdk.WrapSDKContext(ctx), msg)
  35. return sdk.WrapServiceResult(ctx, res, err)
  36. case *types.MsgCreateAllowlistEntryRequest:
  37. res, err := msgServer.CreateAllowlistEntry(sdk.WrapSDKContext(ctx), msg)
  38. return sdk.WrapServiceResult(ctx, res, err)
  39. case *types.MsgDeleteAllowlistEntryRequest:
  40. res, err := msgServer.DeleteAllowlistEntry(sdk.WrapSDKContext(ctx), msg)
  41. return sdk.WrapServiceResult(ctx, res, err)
  42. case *types.MsgExecuteGatewayGovernanceVaa:
  43. res, err := msgServer.ExecuteGatewayGovernanceVaa(sdk.WrapSDKContext(ctx), msg)
  44. return sdk.WrapServiceResult(ctx, res, err)
  45. // this line is used by starport scaffolding # 1
  46. default:
  47. errMsg := fmt.Sprintf("unrecognized %s message type: %T", types.ModuleName, msg)
  48. return nil, sdkerrors.Wrap(sdkerrors.ErrUnknownRequest, errMsg)
  49. }
  50. }
  51. }