github.com/KiraCore/sekai@v0.3.43/x/gov/handler.go (about)

     1  package gov
     2  
     3  import (
     4  	sdk "github.com/cosmos/cosmos-sdk/types"
     5  	"github.com/cosmos/cosmos-sdk/types/errors"
     6  
     7  	"github.com/KiraCore/sekai/x/gov/keeper"
     8  	"github.com/KiraCore/sekai/x/gov/types"
     9  )
    10  
    11  func NewHandler(ck keeper.Keeper) sdk.Handler {
    12  	msgServer := keeper.NewMsgServerImpl(ck)
    13  
    14  	return func(ctx sdk.Context, msg sdk.Msg) (*sdk.Result, error) {
    15  		ctx = ctx.WithEventManager(sdk.NewEventManager())
    16  
    17  		switch msg := msg.(type) {
    18  		case *types.MsgSetNetworkProperties:
    19  			res, err := msgServer.SetNetworkProperties(sdk.WrapSDKContext(ctx), msg)
    20  			return sdk.WrapServiceResult(ctx, res, err)
    21  		case *types.MsgSetExecutionFee:
    22  			res, err := msgServer.SetExecutionFee(sdk.WrapSDKContext(ctx), msg)
    23  			return sdk.WrapServiceResult(ctx, res, err)
    24  
    25  		// Permission Related
    26  		case *types.MsgWhitelistPermissions:
    27  			res, err := msgServer.WhitelistPermissions(sdk.WrapSDKContext(ctx), msg)
    28  			return sdk.WrapServiceResult(ctx, res, err)
    29  		case *types.MsgRemoveWhitelistedPermissions:
    30  			res, err := msgServer.RemoveWhitelistedPermissions(sdk.WrapSDKContext(ctx), msg)
    31  			return sdk.WrapServiceResult(ctx, res, err)
    32  		case *types.MsgBlacklistPermissions:
    33  			res, err := msgServer.BlacklistPermissions(sdk.WrapSDKContext(ctx), msg)
    34  			return sdk.WrapServiceResult(ctx, res, err)
    35  		case *types.MsgRemoveBlacklistedPermissions:
    36  			res, err := msgServer.RemoveBlacklistedPermissions(sdk.WrapSDKContext(ctx), msg)
    37  			return sdk.WrapServiceResult(ctx, res, err)
    38  
    39  		// Councilor Related
    40  		case *types.MsgClaimCouncilor:
    41  			res, err := msgServer.ClaimCouncilor(sdk.WrapSDKContext(ctx), msg)
    42  			return sdk.WrapServiceResult(ctx, res, err)
    43  
    44  		// Role Related
    45  		case *types.MsgWhitelistRolePermission:
    46  			res, err := msgServer.WhitelistRolePermission(sdk.WrapSDKContext(ctx), msg)
    47  			return sdk.WrapServiceResult(ctx, res, err)
    48  		case *types.MsgBlacklistRolePermission:
    49  			res, err := msgServer.BlacklistRolePermission(sdk.WrapSDKContext(ctx), msg)
    50  			return sdk.WrapServiceResult(ctx, res, err)
    51  		case *types.MsgRemoveWhitelistRolePermission:
    52  			res, err := msgServer.RemoveWhitelistRolePermission(sdk.WrapSDKContext(ctx), msg)
    53  			return sdk.WrapServiceResult(ctx, res, err)
    54  		case *types.MsgRemoveBlacklistRolePermission:
    55  			res, err := msgServer.RemoveBlacklistRolePermission(sdk.WrapSDKContext(ctx), msg)
    56  			return sdk.WrapServiceResult(ctx, res, err)
    57  		case *types.MsgCreateRole:
    58  			res, err := msgServer.CreateRole(sdk.WrapSDKContext(ctx), msg)
    59  			return sdk.WrapServiceResult(ctx, res, err)
    60  		case *types.MsgAssignRole:
    61  			res, err := msgServer.AssignRole(sdk.WrapSDKContext(ctx), msg)
    62  			return sdk.WrapServiceResult(ctx, res, err)
    63  		case *types.MsgUnassignRole:
    64  			res, err := msgServer.UnassignRole(sdk.WrapSDKContext(ctx), msg)
    65  			return sdk.WrapServiceResult(ctx, res, err)
    66  
    67  		// Proposal related
    68  		case *types.MsgSubmitProposal:
    69  			res, err := msgServer.SubmitProposal(sdk.WrapSDKContext(ctx), msg)
    70  			return sdk.WrapServiceResult(ctx, res, err)
    71  		case *types.MsgVoteProposal:
    72  			res, err := msgServer.VoteProposal(sdk.WrapSDKContext(ctx), msg)
    73  			return sdk.WrapServiceResult(ctx, res, err)
    74  
    75  		// Poll Proposal related
    76  		case *types.MsgPollCreate:
    77  			res, err := msgServer.PollCreate(sdk.WrapSDKContext(ctx), msg)
    78  			return sdk.WrapServiceResult(ctx, res, err)
    79  		case *types.MsgPollVote:
    80  			res, err := msgServer.PollVote(sdk.WrapSDKContext(ctx), msg)
    81  			return sdk.WrapServiceResult(ctx, res, err)
    82  
    83  		// identity registrar related
    84  		case *types.MsgRegisterIdentityRecords:
    85  			res, err := msgServer.RegisterIdentityRecords(sdk.WrapSDKContext(ctx), msg)
    86  			return sdk.WrapServiceResult(ctx, res, err)
    87  		case *types.MsgDeleteIdentityRecords:
    88  			res, err := msgServer.DeleteIdentityRecords(sdk.WrapSDKContext(ctx), msg)
    89  			return sdk.WrapServiceResult(ctx, res, err)
    90  		case *types.MsgRequestIdentityRecordsVerify:
    91  			res, err := msgServer.RequestIdentityRecordsVerify(sdk.WrapSDKContext(ctx), msg)
    92  			return sdk.WrapServiceResult(ctx, res, err)
    93  		case *types.MsgHandleIdentityRecordsVerifyRequest:
    94  			res, err := msgServer.HandleIdentityRecordsVerifyRequest(sdk.WrapSDKContext(ctx), msg)
    95  			return sdk.WrapServiceResult(ctx, res, err)
    96  		case *types.MsgCancelIdentityRecordsVerifyRequest:
    97  			res, err := msgServer.CancelIdentityRecordsVerifyRequest(sdk.WrapSDKContext(ctx), msg)
    98  			return sdk.WrapServiceResult(ctx, res, err)
    99  		default:
   100  			return nil, errors.Wrapf(errors.ErrUnknownRequest, "unrecognized %s message type: %T", types.ModuleName, msg)
   101  		}
   102  	}
   103  }