package keeper import ( "context" "cosmossdk.io/errors" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/x/auth/types" govtypes "github.com/cosmos/cosmos-sdk/x/gov/types" ) var _ types.MsgServer = msgServer{} type msgServer struct { ak AccountKeeper } // NewMsgServerImpl returns an implementation of the x/auth MsgServer interface. func NewMsgServerImpl(ak AccountKeeper) types.MsgServer { return &msgServer{ ak: ak, } } func (ms msgServer) UpdateParams(goCtx context.Context, msg *types.MsgUpdateParams) (*types.MsgUpdateParamsResponse, error) { if ms.ak.authority != msg.Authority { return nil, errors.Wrapf(govtypes.ErrInvalidSigner, "invalid authority; expected %s, got %s", ms.ak.authority, msg.Authority) } if err := msg.Params.Validate(); err != nil { return nil, err } ctx := sdk.UnwrapSDKContext(goCtx) if err := ms.ak.Params.Set(ctx, msg.Params); err != nil { return nil, err } return &types.MsgUpdateParamsResponse{}, nil }