// Code generated by protoc-gen-go. DO NOT EDIT.
// source: account/account.proto
package account

import (
	context "context"
	fmt "fmt"
	utils "github.com/Aurorachain/go-aoa/internal/grpc/utils"
	proto "github.com/golang/protobuf/proto"
	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 _ = 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.ProtoPackageIsVersion3 // please upgrade the proto package
func init()                            { proto.RegisterFile("account/account.proto", fileDescriptor_d66906c5773c9d08) }

var fileDescriptor_d66906c5773c9d08 = []byte{
	// 105 bytes of a gzipped FileDescriptorProto
	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x12, 0x4d, 0x4c, 0x4e, 0xce,
	0x2f, 0xcd, 0x2b, 0xd1, 0x87, 0xd2, 0x7a, 0x05, 0x45, 0xf9, 0x25, 0xf9, 0x42, 0xec, 0x50, 0xae,
	0x94, 0x50, 0x69, 0x49, 0x66, 0x4e, 0xb1, 0x7e, 0x72, 0x7e, 0x6e, 0x6e, 0x7e, 0x1e, 0x44, 0xd2,
	0xc8, 0x95, 0x8b, 0xdd, 0x11, 0x22, 0x2d, 0x64, 0xc5, 0xc5, 0x01, 0x55, 0x59, 0x2c, 0x24, 0xa6,
	0x07, 0x56, 0xab, 0x07, 0x95, 0x2b, 0x0e, 0x4a, 0x2d, 0x2c, 0x4d, 0x2d, 0x2e, 0x91, 0x12, 0xc1,
	0x10, 0x2f, 0xc8, 0xa9, 0x54, 0x62, 0x48, 0x62, 0x03, 0x9b, 0x66, 0x0c, 0x08, 0x00, 0x00, 0xff,
	0xff, 0xd2, 0x88, 0xa4, 0x4c, 0x83, 0x00, 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

// AccountClient is the client API for Account service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
type AccountClient interface {
	Accounts(ctx context.Context, in *utils.AccountsRequest, opts ...grpc.CallOption) (*utils.AccountsReply, error)
}
type accountClient struct {
	cc *grpc.ClientConn
}

func NewAccountClient(cc *grpc.ClientConn) AccountClient {
	return &accountClient{cc}
}
func (c *accountClient) Accounts(ctx context.Context, in *utils.AccountsRequest, opts ...grpc.CallOption) (*utils.AccountsReply, error) {
	out := new(utils.AccountsReply)
	err := c.cc.Invoke(ctx, "/account.Account/accounts", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

// AccountServer is the server API for Account service.
type AccountServer interface {
	Accounts(context.Context, *utils.AccountsRequest) (*utils.AccountsReply, error)
}

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

func (*UnimplementedAccountServer) Accounts(ctx context.Context, req *utils.AccountsRequest) (*utils.AccountsReply, error) {
	return nil, status.Errorf(codes.Unimplemented, "method Accounts not implemented")
}
func RegisterAccountServer(s *grpc.Server, srv AccountServer) {
	s.RegisterService(&_Account_serviceDesc, srv)
}
func _Account_Accounts_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(utils.AccountsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(AccountServer).Accounts(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/account.Account/Accounts",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(AccountServer).Accounts(ctx, req.(*utils.AccountsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

var _Account_serviceDesc = grpc.ServiceDesc{
	ServiceName: "account.Account",
	HandlerType: (*AccountServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "accounts",
			Handler:    _Account_Accounts_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "account/account.proto",
}
