// Code generated by protoc-gen-gogo. DO NOT EDIT.
// source: axelar/nexus/v1beta1/service.proto

package types

import (
	context "context"
	fmt "fmt"
	_ "github.com/gogo/protobuf/gogoproto"
	grpc1 "github.com/gogo/protobuf/grpc"
	proto "github.com/gogo/protobuf/proto"
	golang_proto "github.com/golang/protobuf/proto"
	_ "google.golang.org/genproto/googleapis/api/annotations"
	grpc "google.golang.org/grpc"
	codes "google.golang.org/grpc/codes"
	status "google.golang.org/grpc/status"
	math "math"
)

// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = golang_proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf

// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package

func init() {
	proto.RegisterFile("axelar/nexus/v1beta1/service.proto", fileDescriptor_fbc63daa8a033391)
}
func init() {
	golang_proto.RegisterFile("axelar/nexus/v1beta1/service.proto", fileDescriptor_fbc63daa8a033391)
}

var fileDescriptor_fbc63daa8a033391 = []byte{
	// 1001 bytes of a gzipped FileDescriptorProto
	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x97, 0xcf, 0x6f, 0x1b, 0x45,
	0x14, 0xc7, 0x3b, 0x1c, 0x52, 0x34, 0x50, 0xd1, 0x8e, 0x22, 0xa1, 0x86, 0x74, 0x29, 0x5b, 0x87,
	0x34, 0xbf, 0x76, 0xb1, 0x69, 0xa9, 0x28, 0xa7, 0x94, 0x28, 0x02, 0xa9, 0xa9, 0x4a, 0xc2, 0x29,
	0x97, 0xd5, 0xc4, 0x79, 0xde, 0xae, 0x88, 0x77, 0xdc, 0x99, 0x71, 0x88, 0x15, 0x7c, 0x80, 0xbf,
	0x80, 0xc2, 0x89, 0x03, 0x70, 0x87, 0x03, 0x47, 0x24, 0x4e, 0xc0, 0x89, 0x63, 0x25, 0x2e, 0x1c,
	0xab, 0x04, 0xf1, 0x77, 0xa0, 0x7d, 0x3b, 0x13, 0x7b, 0x9d, 0xd9, 0x5d, 0xe7, 0x16, 0x7b, 0xbe,
	0x6f, 0xe7, 0xf3, 0x9d, 0x7d, 0xf3, 0x7d, 0x0e, 0xf5, 0xf9, 0x11, 0x1c, 0x70, 0x19, 0xa6, 0x70,
	0xd4, 0x57, 0xe1, 0x61, 0x73, 0x0f, 0x34, 0x6f, 0x86, 0x0a, 0xe4, 0x61, 0xd2, 0x86, 0xa0, 0x27,
	0x85, 0x16, 0x6c, 0x36, 0xd7, 0x04, 0xa8, 0x09, 0x8c, 0x66, 0x6e, 0x36, 0x16, 0xb1, 0x40, 0x41,
	0x98, 0xfd, 0x95, 0x6b, 0xe7, 0xe6, 0x63, 0x21, 0xe2, 0x03, 0x08, 0x79, 0x2f, 0x09, 0x79, 0x9a,
	0x0a, 0xcd, 0x75, 0x22, 0x52, 0x65, 0x56, 0x6f, 0x38, 0x77, 0xd3, 0x47, 0x66, 0xf9, 0xa6, 0x73,
	0xf9, 0x69, 0x1f, 0xe4, 0x20, 0x57, 0xb4, 0x9e, 0xbd, 0x4c, 0xe9, 0x96, 0x8a, 0x77, 0x72, 0x3e,
	0xf6, 0x1b, 0xa1, 0xaf, 0x6f, 0x43, 0x9c, 0x28, 0x0d, 0xf2, 0xc3, 0x27, 0x3c, 0x49, 0xb7, 0x78,
	0x92, 0x6a, 0x9e, 0xa4, 0x20, 0xd9, 0x9d, 0xc0, 0x85, 0x1d, 0x94, 0xc8, 0xb7, 0xe1, 0x69, 0x1f,
	0x94, 0x9e, 0xbb, 0x7b, 0xc1, 0x2a, 0xd5, 0x13, 0xa9, 0x02, 0xbf, 0xf5, 0xd5, 0xdf, 0xff, 0x7e,
	0xfb, 0xd2, 0xaa, 0xbf, 0x18, 0x16, 0x2c, 0x48, 0x53, 0x16, 0xb5, 0xb3, 0xba, 0xa8, 0x7b, 0x56,
	0x78, 0x9f, 0x2c, 0xb3, 0x3f, 0x09, 0xbd, 0xbe, 0x01, 0xb2, 0x04, 0xff, 0x3d, 0x37, 0x48, 0x69,
	0x81, 0x35, 0x70, 0xef, 0xc2, 0x75, 0xc6, 0xc2, 0x1d, 0xb4, 0x10, 0xf8, 0x4b, 0x45, 0x0b, 0xfb,
	0x50, 0x69, 0xe2, 0x19, 0xa1, 0x57, 0xd6, 0xdb, 0x3a, 0x39, 0xe4, 0x1a, 0xf0, 0xc9, 0x6c, 0xd9,
	0x0d, 0x50, 0x10, 0x59, 0xd8, 0x95, 0xa9, 0xb4, 0x06, 0x70, 0x11, 0x01, 0xdf, 0xf2, 0xe7, 0x8b,
	0x80, 0xdc, 0x88, 0x73, 0xbc, 0x8c, 0xe9, 0x3b, 0x42, 0x5f, 0xdb, 0x00, 0x5e, 0xa0, 0x5a, 0x2d,
	0x3b, 0x16, 0xee, 0xe2, 0x5a, 0x9b, 0x52, 0x6d, 0xc8, 0x96, 0x90, 0xec, 0x96, 0xef, 0x4d, 0x1e,
	0xdd, 0x79, 0xb6, 0x1f, 0x08, 0xbd, 0x6a, 0x9b, 0x69, 0x5d, 0x29, 0xd0, 0x9b, 0x00, 0x6c, 0xad,
	0xba, 0xe9, 0xac, 0xce, 0xd2, 0x05, 0xd3, 0xca, 0x0d, 0xde, 0x0a, 0xe2, 0x2d, 0xf8, 0x37, 0x4b,
	0x9a, 0x93, 0x67, 0x05, 0x51, 0x07, 0x20, 0x03, 0xfc, 0x85, 0xd0, 0xd9, 0x1d, 0xd0, 0x9f, 0x4a,
	0x9e, 0xaa, 0x0e, 0xc8, 0x6d, 0xae, 0xe1, 0x61, 0xd2, 0x4d, 0x34, 0x6b, 0xba, 0x77, 0x75, 0x69,
	0x2d, 0x68, 0xeb, 0x22, 0x25, 0x06, 0xf6, 0x1d, 0x84, 0x5d, 0xf6, 0x17, 0x8a, 0xb0, 0x19, 0xa1,
	0x36, 0x45, 0x91, 0xcc, 0x8e, 0xf4, 0x20, 0x2b, 0xbb, 0x4f, 0x96, 0x5b, 0xdf, 0x5f, 0xa3, 0xaf,
	0x7e, 0x92, 0x65, 0x84, 0x4d, 0x85, 0xff, 0x08, 0x9d, 0x7d, 0xc8, 0x35, 0x28, 0xbd, 0x01, 0x3d,
	0xa1, 0x12, 0xbd, 0xbe, 0xbf, 0x2f, 0x41, 0xa9, 0x32, 0x0b, 0x2e, 0x6d, 0x8d, 0x05, 0x77, 0x89,
	0xb1, 0x10, 0xa3, 0x05, 0xce, 0xa2, 0xd0, 0x99, 0x67, 0x07, 0x58, 0x1b, 0xed, 0xe7, 0xc5, 0x11,
	0xcf, 0xab, 0xc3, 0x63, 0x09, 0xed, 0xa4, 0x97, 0x40, 0x9a, 0x7f, 0x35, 0x1c, 0xff, 0x02, 0xdb,
	0x67, 0x18, 0x1e, 0xdb, 0x9a, 0xfc, 0x33, 0xfb, 0x95, 0xd0, 0x6b, 0xf6, 0x24, 0xd5, 0xa6, 0xc8,
	0xaf, 0x36, 0x2b, 0x69, 0x8f, 0x73, 0x42, 0x6b, 0x31, 0x9c, 0x5a, 0x6f, 0xfc, 0xad, 0xa3, 0xbf,
	0x0f, 0xd8, 0xfb, 0x6e, 0x7f, 0xf6, 0x35, 0xa9, 0xa8, 0x23, 0x4c, 0x68, 0x84, 0xc7, 0xd6, 0x81,
	0xd2, 0x5c, 0xc3, 0x90, 0xfd, 0x4c, 0xe8, 0xe5, 0x4d, 0x80, 0x8f, 0xd3, 0x8e, 0x60, 0x0d, 0xf7,
	0xfe, 0x66, 0xd9, 0x52, 0x2e, 0xd4, 0xa8, 0x0c, 0xdb, 0x0e, 0xb2, 0x6d, 0xb1, 0xc0, 0xcd, 0xd6,
	0x01, 0x88, 0x92, 0xb4, 0x23, 0x46, 0x40, 0xd8, 0xfc, 0xc3, 0xdd, 0x37, 0xd8, 0xf5, 0xd2, 0x0a,
	0xf6, 0x82, 0xd0, 0x57, 0xec, 0x71, 0x64, 0xf7, 0xf5, 0x76, 0xf5, 0x89, 0x8d, 0x5d, 0xd5, 0xa5,
	0x29, 0x94, 0x86, 0xfc, 0x0b, 0x24, 0x3f, 0x64, 0x8f, 0xaa, 0x4f, 0x35, 0xbb, 0xa7, 0xe1, 0xb1,
	0x12, 0x7d, 0xd9, 0x86, 0xb1, 0xbe, 0x50, 0x3a, 0x49, 0x71, 0xd4, 0x9e, 0x7d, 0xc7, 0xbb, 0xa2,
	0x9f, 0xea, 0xe1, 0x6e, 0x83, 0xf9, 0xf5, 0x4f, 0x64, 0x03, 0x3a, 0x83, 0x2f, 0x59, 0xb1, 0x5b,
	0x6e, 0xe4, 0x7c, 0xd5, 0xfa, 0x6a, 0x54, 0x8b, 0x8c, 0xa5, 0x06, 0x5a, 0xf2, 0xd8, 0xbc, 0x1b,
	0xa0, 0x9d, 0x6f, 0xf8, 0x25, 0xa1, 0x33, 0x98, 0x59, 0xa5, 0x7b, 0xe7, 0xab, 0x35, 0x7b, 0x5b,
	0x91, 0xd9, 0x7b, 0x15, 0xf7, 0x7e, 0x9b, 0x35, 0xdc, 0x7b, 0xe3, 0x6b, 0x57, 0xb6, 0x0d, 0xd8,
	0x37, 0x84, 0x52, 0x84, 0xdf, 0xc9, 0xfa, 0x93, 0x2d, 0x56, 0xd8, 0x43, 0x85, 0x65, 0xb9, 0x5d,
	0x2f, 0x34, 0x3c, 0x4d, 0xe4, 0x59, 0x61, 0x4b, 0x15, 0x67, 0x11, 0xe1, 0xed, 0x38, 0x83, 0xfa,
	0x91, 0xd0, 0x2b, 0xf9, 0x89, 0x3e, 0x18, 0xa0, 0xbb, 0xb2, 0xd9, 0x5a, 0x10, 0xd5, 0xcc, 0xd6,
	0x09, 0xad, 0xa1, 0xbb, 0x8b, 0x74, 0x21, 0x5b, 0xab, 0x7a, 0x53, 0xd1, 0xde, 0x20, 0x9f, 0x15,
	0xf6, 0xd6, 0xb0, 0x3f, 0x70, 0x9a, 0x99, 0x94, 0xb2, 0x29, 0x5b, 0x3a, 0xcd, 0x8a, 0xba, 0xda,
	0x69, 0x36, 0x29, 0x37, 0xa8, 0x8f, 0x10, 0xf5, 0x23, 0xb6, 0xe9, 0x46, 0x2d, 0xa6, 0x28, 0x06,
	0x6b, 0x31, 0x35, 0x47, 0x9f, 0x31, 0x66, 0xd9, 0x4f, 0x84, 0x5e, 0x9d, 0xf8, 0x4d, 0x54, 0xea,
	0x61, 0x52, 0x57, 0xe3, 0xe1, 0xbc, 0xdc, 0x78, 0xb8, 0x87, 0x1e, 0x9a, 0x2c, 0xac, 0x6a, 0x86,
	0xd1, 0x0f, 0xad, 0x51, 0x9f, 0x8e, 0x27, 0xfe, 0x68, 0x34, 0xd7, 0x24, 0xfe, 0xb9, 0xb9, 0x1c,
	0x4e, 0xad, 0xbf, 0x58, 0xe2, 0x8f, 0x0d, 0xe6, 0xc9, 0x80, 0x65, 0x43, 0x7a, 0x79, 0x0b, 0x94,
	0xe2, 0x31, 0x94, 0x05, 0xbe, 0x59, 0xae, 0x09, 0xfc, 0x33, 0x95, 0x41, 0x5b, 0x40, 0xb4, 0x37,
	0xd9, 0x0d, 0x37, 0x5a, 0xd7, 0xec, 0x39, 0xa0, 0x33, 0x8f, 0xb9, 0xe4, 0xdd, 0xd2, 0x8c, 0xc9,
	0x57, 0x6b, 0x32, 0xc6, 0x8a, 0xa6, 0xcb, 0xb7, 0x1e, 0xaa, 0x1f, 0x3c, 0xfe, 0xeb, 0xc4, 0x23,
	0xcf, 0x4f, 0x3c, 0xf2, 0xe2, 0xc4, 0x23, 0x5f, 0x9f, 0x7a, 0x97, 0x7e, 0x3f, 0xf5, 0xc8, 0xf3,
	0x53, 0xef, 0xd2, 0x3f, 0xa7, 0xde, 0xa5, 0xdd, 0x56, 0x9c, 0xe8, 0x27, 0xfd, 0xbd, 0xa0, 0x2d,
	0xba, 0xe6, 0x29, 0x29, 0xe8, 0xcf, 0x85, 0xfc, 0xcc, 0x7c, 0x5a, 0x6b, 0x0b, 0x09, 0xe1, 0x91,
	0x79, 0xb4, 0x1e, 0xf4, 0x40, 0xed, 0xcd, 0xe0, 0x3f, 0x43, 0xef, 0xfe, 0x1f, 0x00, 0x00, 0xff,
	0xff, 0x86, 0xad, 0x8c, 0x47, 0xbd, 0x0d, 0x00, 0x00,
}

// Reference imports to suppress errors if they are not otherwise used.
var _ context.Context
var _ grpc.ClientConn

// This is a compile-time assertion to ensure that this generated file
// is compatible with the grpc package it is being compiled against.
const _ = grpc.SupportPackageIsVersion4

// MsgServiceClient is the client API for MsgService service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
type MsgServiceClient interface {
	RegisterChainMaintainer(ctx context.Context, in *RegisterChainMaintainerRequest, opts ...grpc.CallOption) (*RegisterChainMaintainerResponse, error)
	DeregisterChainMaintainer(ctx context.Context, in *DeregisterChainMaintainerRequest, opts ...grpc.CallOption) (*DeregisterChainMaintainerResponse, error)
	ActivateChain(ctx context.Context, in *ActivateChainRequest, opts ...grpc.CallOption) (*ActivateChainResponse, error)
	DeactivateChain(ctx context.Context, in *DeactivateChainRequest, opts ...grpc.CallOption) (*DeactivateChainResponse, error)
	RegisterAssetFee(ctx context.Context, in *RegisterAssetFeeRequest, opts ...grpc.CallOption) (*RegisterAssetFeeResponse, error)
	SetTransferRateLimit(ctx context.Context, in *SetTransferRateLimitRequest, opts ...grpc.CallOption) (*SetTransferRateLimitResponse, error)
}

type msgServiceClient struct {
	cc grpc1.ClientConn
}

func NewMsgServiceClient(cc grpc1.ClientConn) MsgServiceClient {
	return &msgServiceClient{cc}
}

func (c *msgServiceClient) RegisterChainMaintainer(ctx context.Context, in *RegisterChainMaintainerRequest, opts ...grpc.CallOption) (*RegisterChainMaintainerResponse, error) {
	out := new(RegisterChainMaintainerResponse)
	err := c.cc.Invoke(ctx, "/axelar.nexus.v1beta1.MsgService/RegisterChainMaintainer", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *msgServiceClient) DeregisterChainMaintainer(ctx context.Context, in *DeregisterChainMaintainerRequest, opts ...grpc.CallOption) (*DeregisterChainMaintainerResponse, error) {
	out := new(DeregisterChainMaintainerResponse)
	err := c.cc.Invoke(ctx, "/axelar.nexus.v1beta1.MsgService/DeregisterChainMaintainer", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *msgServiceClient) ActivateChain(ctx context.Context, in *ActivateChainRequest, opts ...grpc.CallOption) (*ActivateChainResponse, error) {
	out := new(ActivateChainResponse)
	err := c.cc.Invoke(ctx, "/axelar.nexus.v1beta1.MsgService/ActivateChain", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *msgServiceClient) DeactivateChain(ctx context.Context, in *DeactivateChainRequest, opts ...grpc.CallOption) (*DeactivateChainResponse, error) {
	out := new(DeactivateChainResponse)
	err := c.cc.Invoke(ctx, "/axelar.nexus.v1beta1.MsgService/DeactivateChain", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *msgServiceClient) RegisterAssetFee(ctx context.Context, in *RegisterAssetFeeRequest, opts ...grpc.CallOption) (*RegisterAssetFeeResponse, error) {
	out := new(RegisterAssetFeeResponse)
	err := c.cc.Invoke(ctx, "/axelar.nexus.v1beta1.MsgService/RegisterAssetFee", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *msgServiceClient) SetTransferRateLimit(ctx context.Context, in *SetTransferRateLimitRequest, opts ...grpc.CallOption) (*SetTransferRateLimitResponse, error) {
	out := new(SetTransferRateLimitResponse)
	err := c.cc.Invoke(ctx, "/axelar.nexus.v1beta1.MsgService/SetTransferRateLimit", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

// MsgServiceServer is the server API for MsgService service.
type MsgServiceServer interface {
	RegisterChainMaintainer(context.Context, *RegisterChainMaintainerRequest) (*RegisterChainMaintainerResponse, error)
	DeregisterChainMaintainer(context.Context, *DeregisterChainMaintainerRequest) (*DeregisterChainMaintainerResponse, error)
	ActivateChain(context.Context, *ActivateChainRequest) (*ActivateChainResponse, error)
	DeactivateChain(context.Context, *DeactivateChainRequest) (*DeactivateChainResponse, error)
	RegisterAssetFee(context.Context, *RegisterAssetFeeRequest) (*RegisterAssetFeeResponse, error)
	SetTransferRateLimit(context.Context, *SetTransferRateLimitRequest) (*SetTransferRateLimitResponse, error)
}

// UnimplementedMsgServiceServer can be embedded to have forward compatible implementations.
type UnimplementedMsgServiceServer struct {
}

func (*UnimplementedMsgServiceServer) RegisterChainMaintainer(ctx context.Context, req *RegisterChainMaintainerRequest) (*RegisterChainMaintainerResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method RegisterChainMaintainer not implemented")
}
func (*UnimplementedMsgServiceServer) DeregisterChainMaintainer(ctx context.Context, req *DeregisterChainMaintainerRequest) (*DeregisterChainMaintainerResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DeregisterChainMaintainer not implemented")
}
func (*UnimplementedMsgServiceServer) ActivateChain(ctx context.Context, req *ActivateChainRequest) (*ActivateChainResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ActivateChain not implemented")
}
func (*UnimplementedMsgServiceServer) DeactivateChain(ctx context.Context, req *DeactivateChainRequest) (*DeactivateChainResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DeactivateChain not implemented")
}
func (*UnimplementedMsgServiceServer) RegisterAssetFee(ctx context.Context, req *RegisterAssetFeeRequest) (*RegisterAssetFeeResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method RegisterAssetFee not implemented")
}
func (*UnimplementedMsgServiceServer) SetTransferRateLimit(ctx context.Context, req *SetTransferRateLimitRequest) (*SetTransferRateLimitResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method SetTransferRateLimit not implemented")
}

func RegisterMsgServiceServer(s grpc1.Server, srv MsgServiceServer) {
	s.RegisterService(&_MsgService_serviceDesc, srv)
}

func _MsgService_RegisterChainMaintainer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(RegisterChainMaintainerRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(MsgServiceServer).RegisterChainMaintainer(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/axelar.nexus.v1beta1.MsgService/RegisterChainMaintainer",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(MsgServiceServer).RegisterChainMaintainer(ctx, req.(*RegisterChainMaintainerRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _MsgService_DeregisterChainMaintainer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DeregisterChainMaintainerRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(MsgServiceServer).DeregisterChainMaintainer(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/axelar.nexus.v1beta1.MsgService/DeregisterChainMaintainer",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(MsgServiceServer).DeregisterChainMaintainer(ctx, req.(*DeregisterChainMaintainerRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _MsgService_ActivateChain_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ActivateChainRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(MsgServiceServer).ActivateChain(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/axelar.nexus.v1beta1.MsgService/ActivateChain",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(MsgServiceServer).ActivateChain(ctx, req.(*ActivateChainRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _MsgService_DeactivateChain_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DeactivateChainRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(MsgServiceServer).DeactivateChain(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/axelar.nexus.v1beta1.MsgService/DeactivateChain",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(MsgServiceServer).DeactivateChain(ctx, req.(*DeactivateChainRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _MsgService_RegisterAssetFee_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(RegisterAssetFeeRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(MsgServiceServer).RegisterAssetFee(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/axelar.nexus.v1beta1.MsgService/RegisterAssetFee",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(MsgServiceServer).RegisterAssetFee(ctx, req.(*RegisterAssetFeeRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _MsgService_SetTransferRateLimit_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(SetTransferRateLimitRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(MsgServiceServer).SetTransferRateLimit(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/axelar.nexus.v1beta1.MsgService/SetTransferRateLimit",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(MsgServiceServer).SetTransferRateLimit(ctx, req.(*SetTransferRateLimitRequest))
	}
	return interceptor(ctx, in, info, handler)
}

var _MsgService_serviceDesc = grpc.ServiceDesc{
	ServiceName: "axelar.nexus.v1beta1.MsgService",
	HandlerType: (*MsgServiceServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "RegisterChainMaintainer",
			Handler:    _MsgService_RegisterChainMaintainer_Handler,
		},
		{
			MethodName: "DeregisterChainMaintainer",
			Handler:    _MsgService_DeregisterChainMaintainer_Handler,
		},
		{
			MethodName: "ActivateChain",
			Handler:    _MsgService_ActivateChain_Handler,
		},
		{
			MethodName: "DeactivateChain",
			Handler:    _MsgService_DeactivateChain_Handler,
		},
		{
			MethodName: "RegisterAssetFee",
			Handler:    _MsgService_RegisterAssetFee_Handler,
		},
		{
			MethodName: "SetTransferRateLimit",
			Handler:    _MsgService_SetTransferRateLimit_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "axelar/nexus/v1beta1/service.proto",
}

// QueryServiceClient is the client API for QueryService service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
type QueryServiceClient interface {
	// LatestDepositAddress queries the a deposit address by recipient
	LatestDepositAddress(ctx context.Context, in *LatestDepositAddressRequest, opts ...grpc.CallOption) (*LatestDepositAddressResponse, error)
	// TransfersForChain queries transfers by chain
	TransfersForChain(ctx context.Context, in *TransfersForChainRequest, opts ...grpc.CallOption) (*TransfersForChainResponse, error)
	// FeeInfo queries the fee info by chain and asset
	FeeInfo(ctx context.Context, in *FeeInfoRequest, opts ...grpc.CallOption) (*FeeInfoResponse, error)
	// TransferFee queries the transfer fee by the source, destination chain,
	// and amount. If amount is 0, the min fee is returned
	TransferFee(ctx context.Context, in *TransferFeeRequest, opts ...grpc.CallOption) (*TransferFeeResponse, error)
	// Chains queries the chains registered on the network
	Chains(ctx context.Context, in *ChainsRequest, opts ...grpc.CallOption) (*ChainsResponse, error)
	// Assets queries the assets registered for a chain
	Assets(ctx context.Context, in *AssetsRequest, opts ...grpc.CallOption) (*AssetsResponse, error)
	// ChainState queries the state of a registered chain on the network
	ChainState(ctx context.Context, in *ChainStateRequest, opts ...grpc.CallOption) (*ChainStateResponse, error)
	// ChainsByAsset queries the chains that support an asset on the network
	ChainsByAsset(ctx context.Context, in *ChainsByAssetRequest, opts ...grpc.CallOption) (*ChainsByAssetResponse, error)
	// RecipientAddress queries the recipient address for a given deposit address
	RecipientAddress(ctx context.Context, in *RecipientAddressRequest, opts ...grpc.CallOption) (*RecipientAddressResponse, error)
	// ChainMaintainers queries the chain maintainers for a given chain
	ChainMaintainers(ctx context.Context, in *ChainMaintainersRequest, opts ...grpc.CallOption) (*ChainMaintainersResponse, error)
	// TransferRateLimit queries the transfer rate limit for a given chain and
	// asset. If a rate limit is not set, nil is returned.
	TransferRateLimit(ctx context.Context, in *TransferRateLimitRequest, opts ...grpc.CallOption) (*TransferRateLimitResponse, error)
	Message(ctx context.Context, in *MessageRequest, opts ...grpc.CallOption) (*MessageResponse, error)
	Params(ctx context.Context, in *ParamsRequest, opts ...grpc.CallOption) (*ParamsResponse, error)
}

type queryServiceClient struct {
	cc grpc1.ClientConn
}

func NewQueryServiceClient(cc grpc1.ClientConn) QueryServiceClient {
	return &queryServiceClient{cc}
}

func (c *queryServiceClient) LatestDepositAddress(ctx context.Context, in *LatestDepositAddressRequest, opts ...grpc.CallOption) (*LatestDepositAddressResponse, error) {
	out := new(LatestDepositAddressResponse)
	err := c.cc.Invoke(ctx, "/axelar.nexus.v1beta1.QueryService/LatestDepositAddress", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *queryServiceClient) TransfersForChain(ctx context.Context, in *TransfersForChainRequest, opts ...grpc.CallOption) (*TransfersForChainResponse, error) {
	out := new(TransfersForChainResponse)
	err := c.cc.Invoke(ctx, "/axelar.nexus.v1beta1.QueryService/TransfersForChain", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *queryServiceClient) FeeInfo(ctx context.Context, in *FeeInfoRequest, opts ...grpc.CallOption) (*FeeInfoResponse, error) {
	out := new(FeeInfoResponse)
	err := c.cc.Invoke(ctx, "/axelar.nexus.v1beta1.QueryService/FeeInfo", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *queryServiceClient) TransferFee(ctx context.Context, in *TransferFeeRequest, opts ...grpc.CallOption) (*TransferFeeResponse, error) {
	out := new(TransferFeeResponse)
	err := c.cc.Invoke(ctx, "/axelar.nexus.v1beta1.QueryService/TransferFee", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *queryServiceClient) Chains(ctx context.Context, in *ChainsRequest, opts ...grpc.CallOption) (*ChainsResponse, error) {
	out := new(ChainsResponse)
	err := c.cc.Invoke(ctx, "/axelar.nexus.v1beta1.QueryService/Chains", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *queryServiceClient) Assets(ctx context.Context, in *AssetsRequest, opts ...grpc.CallOption) (*AssetsResponse, error) {
	out := new(AssetsResponse)
	err := c.cc.Invoke(ctx, "/axelar.nexus.v1beta1.QueryService/Assets", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *queryServiceClient) ChainState(ctx context.Context, in *ChainStateRequest, opts ...grpc.CallOption) (*ChainStateResponse, error) {
	out := new(ChainStateResponse)
	err := c.cc.Invoke(ctx, "/axelar.nexus.v1beta1.QueryService/ChainState", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *queryServiceClient) ChainsByAsset(ctx context.Context, in *ChainsByAssetRequest, opts ...grpc.CallOption) (*ChainsByAssetResponse, error) {
	out := new(ChainsByAssetResponse)
	err := c.cc.Invoke(ctx, "/axelar.nexus.v1beta1.QueryService/ChainsByAsset", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *queryServiceClient) RecipientAddress(ctx context.Context, in *RecipientAddressRequest, opts ...grpc.CallOption) (*RecipientAddressResponse, error) {
	out := new(RecipientAddressResponse)
	err := c.cc.Invoke(ctx, "/axelar.nexus.v1beta1.QueryService/RecipientAddress", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *queryServiceClient) ChainMaintainers(ctx context.Context, in *ChainMaintainersRequest, opts ...grpc.CallOption) (*ChainMaintainersResponse, error) {
	out := new(ChainMaintainersResponse)
	err := c.cc.Invoke(ctx, "/axelar.nexus.v1beta1.QueryService/ChainMaintainers", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *queryServiceClient) TransferRateLimit(ctx context.Context, in *TransferRateLimitRequest, opts ...grpc.CallOption) (*TransferRateLimitResponse, error) {
	out := new(TransferRateLimitResponse)
	err := c.cc.Invoke(ctx, "/axelar.nexus.v1beta1.QueryService/TransferRateLimit", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *queryServiceClient) Message(ctx context.Context, in *MessageRequest, opts ...grpc.CallOption) (*MessageResponse, error) {
	out := new(MessageResponse)
	err := c.cc.Invoke(ctx, "/axelar.nexus.v1beta1.QueryService/Message", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *queryServiceClient) Params(ctx context.Context, in *ParamsRequest, opts ...grpc.CallOption) (*ParamsResponse, error) {
	out := new(ParamsResponse)
	err := c.cc.Invoke(ctx, "/axelar.nexus.v1beta1.QueryService/Params", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

// QueryServiceServer is the server API for QueryService service.
type QueryServiceServer interface {
	// LatestDepositAddress queries the a deposit address by recipient
	LatestDepositAddress(context.Context, *LatestDepositAddressRequest) (*LatestDepositAddressResponse, error)
	// TransfersForChain queries transfers by chain
	TransfersForChain(context.Context, *TransfersForChainRequest) (*TransfersForChainResponse, error)
	// FeeInfo queries the fee info by chain and asset
	FeeInfo(context.Context, *FeeInfoRequest) (*FeeInfoResponse, error)
	// TransferFee queries the transfer fee by the source, destination chain,
	// and amount. If amount is 0, the min fee is returned
	TransferFee(context.Context, *TransferFeeRequest) (*TransferFeeResponse, error)
	// Chains queries the chains registered on the network
	Chains(context.Context, *ChainsRequest) (*ChainsResponse, error)
	// Assets queries the assets registered for a chain
	Assets(context.Context, *AssetsRequest) (*AssetsResponse, error)
	// ChainState queries the state of a registered chain on the network
	ChainState(context.Context, *ChainStateRequest) (*ChainStateResponse, error)
	// ChainsByAsset queries the chains that support an asset on the network
	ChainsByAsset(context.Context, *ChainsByAssetRequest) (*ChainsByAssetResponse, error)
	// RecipientAddress queries the recipient address for a given deposit address
	RecipientAddress(context.Context, *RecipientAddressRequest) (*RecipientAddressResponse, error)
	// ChainMaintainers queries the chain maintainers for a given chain
	ChainMaintainers(context.Context, *ChainMaintainersRequest) (*ChainMaintainersResponse, error)
	// TransferRateLimit queries the transfer rate limit for a given chain and
	// asset. If a rate limit is not set, nil is returned.
	TransferRateLimit(context.Context, *TransferRateLimitRequest) (*TransferRateLimitResponse, error)
	Message(context.Context, *MessageRequest) (*MessageResponse, error)
	Params(context.Context, *ParamsRequest) (*ParamsResponse, error)
}

// UnimplementedQueryServiceServer can be embedded to have forward compatible implementations.
type UnimplementedQueryServiceServer struct {
}

func (*UnimplementedQueryServiceServer) LatestDepositAddress(ctx context.Context, req *LatestDepositAddressRequest) (*LatestDepositAddressResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method LatestDepositAddress not implemented")
}
func (*UnimplementedQueryServiceServer) TransfersForChain(ctx context.Context, req *TransfersForChainRequest) (*TransfersForChainResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method TransfersForChain not implemented")
}
func (*UnimplementedQueryServiceServer) FeeInfo(ctx context.Context, req *FeeInfoRequest) (*FeeInfoResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method FeeInfo not implemented")
}
func (*UnimplementedQueryServiceServer) TransferFee(ctx context.Context, req *TransferFeeRequest) (*TransferFeeResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method TransferFee not implemented")
}
func (*UnimplementedQueryServiceServer) Chains(ctx context.Context, req *ChainsRequest) (*ChainsResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method Chains not implemented")
}
func (*UnimplementedQueryServiceServer) Assets(ctx context.Context, req *AssetsRequest) (*AssetsResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method Assets not implemented")
}
func (*UnimplementedQueryServiceServer) ChainState(ctx context.Context, req *ChainStateRequest) (*ChainStateResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ChainState not implemented")
}
func (*UnimplementedQueryServiceServer) ChainsByAsset(ctx context.Context, req *ChainsByAssetRequest) (*ChainsByAssetResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ChainsByAsset not implemented")
}
func (*UnimplementedQueryServiceServer) RecipientAddress(ctx context.Context, req *RecipientAddressRequest) (*RecipientAddressResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method RecipientAddress not implemented")
}
func (*UnimplementedQueryServiceServer) ChainMaintainers(ctx context.Context, req *ChainMaintainersRequest) (*ChainMaintainersResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ChainMaintainers not implemented")
}
func (*UnimplementedQueryServiceServer) TransferRateLimit(ctx context.Context, req *TransferRateLimitRequest) (*TransferRateLimitResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method TransferRateLimit not implemented")
}
func (*UnimplementedQueryServiceServer) Message(ctx context.Context, req *MessageRequest) (*MessageResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method Message not implemented")
}
func (*UnimplementedQueryServiceServer) Params(ctx context.Context, req *ParamsRequest) (*ParamsResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method Params not implemented")
}

func RegisterQueryServiceServer(s grpc1.Server, srv QueryServiceServer) {
	s.RegisterService(&_QueryService_serviceDesc, srv)
}

func _QueryService_LatestDepositAddress_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(LatestDepositAddressRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(QueryServiceServer).LatestDepositAddress(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/axelar.nexus.v1beta1.QueryService/LatestDepositAddress",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(QueryServiceServer).LatestDepositAddress(ctx, req.(*LatestDepositAddressRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _QueryService_TransfersForChain_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(TransfersForChainRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(QueryServiceServer).TransfersForChain(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/axelar.nexus.v1beta1.QueryService/TransfersForChain",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(QueryServiceServer).TransfersForChain(ctx, req.(*TransfersForChainRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _QueryService_FeeInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(FeeInfoRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(QueryServiceServer).FeeInfo(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/axelar.nexus.v1beta1.QueryService/FeeInfo",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(QueryServiceServer).FeeInfo(ctx, req.(*FeeInfoRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _QueryService_TransferFee_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(TransferFeeRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(QueryServiceServer).TransferFee(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/axelar.nexus.v1beta1.QueryService/TransferFee",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(QueryServiceServer).TransferFee(ctx, req.(*TransferFeeRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _QueryService_Chains_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ChainsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(QueryServiceServer).Chains(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/axelar.nexus.v1beta1.QueryService/Chains",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(QueryServiceServer).Chains(ctx, req.(*ChainsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _QueryService_Assets_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(AssetsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(QueryServiceServer).Assets(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/axelar.nexus.v1beta1.QueryService/Assets",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(QueryServiceServer).Assets(ctx, req.(*AssetsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _QueryService_ChainState_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ChainStateRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(QueryServiceServer).ChainState(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/axelar.nexus.v1beta1.QueryService/ChainState",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(QueryServiceServer).ChainState(ctx, req.(*ChainStateRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _QueryService_ChainsByAsset_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ChainsByAssetRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(QueryServiceServer).ChainsByAsset(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/axelar.nexus.v1beta1.QueryService/ChainsByAsset",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(QueryServiceServer).ChainsByAsset(ctx, req.(*ChainsByAssetRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _QueryService_RecipientAddress_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(RecipientAddressRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(QueryServiceServer).RecipientAddress(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/axelar.nexus.v1beta1.QueryService/RecipientAddress",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(QueryServiceServer).RecipientAddress(ctx, req.(*RecipientAddressRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _QueryService_ChainMaintainers_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ChainMaintainersRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(QueryServiceServer).ChainMaintainers(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/axelar.nexus.v1beta1.QueryService/ChainMaintainers",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(QueryServiceServer).ChainMaintainers(ctx, req.(*ChainMaintainersRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _QueryService_TransferRateLimit_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(TransferRateLimitRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(QueryServiceServer).TransferRateLimit(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/axelar.nexus.v1beta1.QueryService/TransferRateLimit",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(QueryServiceServer).TransferRateLimit(ctx, req.(*TransferRateLimitRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _QueryService_Message_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(MessageRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(QueryServiceServer).Message(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/axelar.nexus.v1beta1.QueryService/Message",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(QueryServiceServer).Message(ctx, req.(*MessageRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _QueryService_Params_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ParamsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(QueryServiceServer).Params(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/axelar.nexus.v1beta1.QueryService/Params",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(QueryServiceServer).Params(ctx, req.(*ParamsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

var _QueryService_serviceDesc = grpc.ServiceDesc{
	ServiceName: "axelar.nexus.v1beta1.QueryService",
	HandlerType: (*QueryServiceServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "LatestDepositAddress",
			Handler:    _QueryService_LatestDepositAddress_Handler,
		},
		{
			MethodName: "TransfersForChain",
			Handler:    _QueryService_TransfersForChain_Handler,
		},
		{
			MethodName: "FeeInfo",
			Handler:    _QueryService_FeeInfo_Handler,
		},
		{
			MethodName: "TransferFee",
			Handler:    _QueryService_TransferFee_Handler,
		},
		{
			MethodName: "Chains",
			Handler:    _QueryService_Chains_Handler,
		},
		{
			MethodName: "Assets",
			Handler:    _QueryService_Assets_Handler,
		},
		{
			MethodName: "ChainState",
			Handler:    _QueryService_ChainState_Handler,
		},
		{
			MethodName: "ChainsByAsset",
			Handler:    _QueryService_ChainsByAsset_Handler,
		},
		{
			MethodName: "RecipientAddress",
			Handler:    _QueryService_RecipientAddress_Handler,
		},
		{
			MethodName: "ChainMaintainers",
			Handler:    _QueryService_ChainMaintainers_Handler,
		},
		{
			MethodName: "TransferRateLimit",
			Handler:    _QueryService_TransferRateLimit_Handler,
		},
		{
			MethodName: "Message",
			Handler:    _QueryService_Message_Handler,
		},
		{
			MethodName: "Params",
			Handler:    _QueryService_Params_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "axelar/nexus/v1beta1/service.proto",
}
