// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
// versions:
// - protoc-gen-go-grpc v1.3.0
// - protoc             v4.25.3
// source: brevis/gateway.proto

package gwproto

import (
	context "context"
	grpc "google.golang.org/grpc"
	codes "google.golang.org/grpc/codes"
	status "google.golang.org/grpc/status"
)

// This is a compile-time assertion to ensure that this generated file
// is compatible with the grpc package it is being compiled against.
// Requires gRPC-Go v1.32.0 or later.
const _ = grpc.SupportPackageIsVersion7

const (
	Gateway_PrepareQuery_FullMethodName                = "/brevis.Gateway/PrepareQuery"
	Gateway_SubmitAppCircuitProof_FullMethodName       = "/brevis.Gateway/SubmitAppCircuitProof"
	Gateway_GetQueryStatus_FullMethodName              = "/brevis.Gateway/GetQueryStatus"
	Gateway_GetQueryInfoForOP_FullMethodName           = "/brevis.Gateway/GetQueryInfoForOP"
	Gateway_GetSingleRunParams_FullMethodName          = "/brevis.Gateway/GetSingleRunParams"
	Gateway_SendBatchQueries_FullMethodName            = "/brevis.Gateway/SendBatchQueries"
	Gateway_SendBatchQueriesAsync_FullMethodName       = "/brevis.Gateway/SendBatchQueriesAsync"
	Gateway_GetQueryKeysByBatchId_FullMethodName       = "/brevis.Gateway/GetQueryKeysByBatchId"
	Gateway_GetCircuitDigest_FullMethodName            = "/brevis.Gateway/GetCircuitDigest"
	Gateway_GetCircuitDummyInputRequest_FullMethodName = "/brevis.Gateway/GetCircuitDummyInputRequest"
	Gateway_SubmitVK_FullMethodName                    = "/brevis.Gateway/SubmitVK"
)

// GatewayClient is the client API for Gateway service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
type GatewayClient interface {
	PrepareQuery(ctx context.Context, in *PrepareQueryRequest, opts ...grpc.CallOption) (*PrepareQueryResponse, error)
	SubmitAppCircuitProof(ctx context.Context, in *SubmitAppCircuitProofRequest, opts ...grpc.CallOption) (*SubmitAppCircuitProofResponse, error)
	GetQueryStatus(ctx context.Context, in *GetQueryStatusRequest, opts ...grpc.CallOption) (*GetQueryStatusResponse, error)
	GetQueryInfoForOP(ctx context.Context, in *GetQueryInfoForOPRequest, opts ...grpc.CallOption) (*GetQueryInfoForOPResponse, error)
	GetSingleRunParams(ctx context.Context, in *GetSingleRunParamsRequest, opts ...grpc.CallOption) (*GetSingleRunParamsResponse, error)
	SendBatchQueries(ctx context.Context, in *SendBatchQueriesRequest, opts ...grpc.CallOption) (*SendBatchQueriesResponse, error)
	SendBatchQueriesAsync(ctx context.Context, in *SendBatchQueriesRequest, opts ...grpc.CallOption) (*SendBatchQueriesAsyncResponse, error)
	GetQueryKeysByBatchId(ctx context.Context, in *GetQueryKeysByBatchIdRequest, opts ...grpc.CallOption) (*GetQueryKeysByBatchIdResponse, error)
	GetCircuitDigest(ctx context.Context, in *CircuitDigestRequest, opts ...grpc.CallOption) (*CircuitDigestResponse, error)
	GetCircuitDummyInputRequest(ctx context.Context, in *CircuitDummyInputRequest, opts ...grpc.CallOption) (*CircuitDummyInputResponse, error)
	SubmitVK(ctx context.Context, in *SubmitVKRequest, opts ...grpc.CallOption) (*SubmitVKResponse, error)
}

type gatewayClient struct {
	cc grpc.ClientConnInterface
}

func NewGatewayClient(cc grpc.ClientConnInterface) GatewayClient {
	return &gatewayClient{cc}
}

func (c *gatewayClient) PrepareQuery(ctx context.Context, in *PrepareQueryRequest, opts ...grpc.CallOption) (*PrepareQueryResponse, error) {
	out := new(PrepareQueryResponse)
	err := c.cc.Invoke(ctx, Gateway_PrepareQuery_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayClient) SubmitAppCircuitProof(ctx context.Context, in *SubmitAppCircuitProofRequest, opts ...grpc.CallOption) (*SubmitAppCircuitProofResponse, error) {
	out := new(SubmitAppCircuitProofResponse)
	err := c.cc.Invoke(ctx, Gateway_SubmitAppCircuitProof_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayClient) GetQueryStatus(ctx context.Context, in *GetQueryStatusRequest, opts ...grpc.CallOption) (*GetQueryStatusResponse, error) {
	out := new(GetQueryStatusResponse)
	err := c.cc.Invoke(ctx, Gateway_GetQueryStatus_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayClient) GetQueryInfoForOP(ctx context.Context, in *GetQueryInfoForOPRequest, opts ...grpc.CallOption) (*GetQueryInfoForOPResponse, error) {
	out := new(GetQueryInfoForOPResponse)
	err := c.cc.Invoke(ctx, Gateway_GetQueryInfoForOP_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayClient) GetSingleRunParams(ctx context.Context, in *GetSingleRunParamsRequest, opts ...grpc.CallOption) (*GetSingleRunParamsResponse, error) {
	out := new(GetSingleRunParamsResponse)
	err := c.cc.Invoke(ctx, Gateway_GetSingleRunParams_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayClient) SendBatchQueries(ctx context.Context, in *SendBatchQueriesRequest, opts ...grpc.CallOption) (*SendBatchQueriesResponse, error) {
	out := new(SendBatchQueriesResponse)
	err := c.cc.Invoke(ctx, Gateway_SendBatchQueries_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayClient) SendBatchQueriesAsync(ctx context.Context, in *SendBatchQueriesRequest, opts ...grpc.CallOption) (*SendBatchQueriesAsyncResponse, error) {
	out := new(SendBatchQueriesAsyncResponse)
	err := c.cc.Invoke(ctx, Gateway_SendBatchQueriesAsync_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayClient) GetQueryKeysByBatchId(ctx context.Context, in *GetQueryKeysByBatchIdRequest, opts ...grpc.CallOption) (*GetQueryKeysByBatchIdResponse, error) {
	out := new(GetQueryKeysByBatchIdResponse)
	err := c.cc.Invoke(ctx, Gateway_GetQueryKeysByBatchId_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayClient) GetCircuitDigest(ctx context.Context, in *CircuitDigestRequest, opts ...grpc.CallOption) (*CircuitDigestResponse, error) {
	out := new(CircuitDigestResponse)
	err := c.cc.Invoke(ctx, Gateway_GetCircuitDigest_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayClient) GetCircuitDummyInputRequest(ctx context.Context, in *CircuitDummyInputRequest, opts ...grpc.CallOption) (*CircuitDummyInputResponse, error) {
	out := new(CircuitDummyInputResponse)
	err := c.cc.Invoke(ctx, Gateway_GetCircuitDummyInputRequest_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayClient) SubmitVK(ctx context.Context, in *SubmitVKRequest, opts ...grpc.CallOption) (*SubmitVKResponse, error) {
	out := new(SubmitVKResponse)
	err := c.cc.Invoke(ctx, Gateway_SubmitVK_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

// GatewayServer is the server API for Gateway service.
// All implementations should embed UnimplementedGatewayServer
// for forward compatibility
type GatewayServer interface {
	PrepareQuery(context.Context, *PrepareQueryRequest) (*PrepareQueryResponse, error)
	SubmitAppCircuitProof(context.Context, *SubmitAppCircuitProofRequest) (*SubmitAppCircuitProofResponse, error)
	GetQueryStatus(context.Context, *GetQueryStatusRequest) (*GetQueryStatusResponse, error)
	GetQueryInfoForOP(context.Context, *GetQueryInfoForOPRequest) (*GetQueryInfoForOPResponse, error)
	GetSingleRunParams(context.Context, *GetSingleRunParamsRequest) (*GetSingleRunParamsResponse, error)
	SendBatchQueries(context.Context, *SendBatchQueriesRequest) (*SendBatchQueriesResponse, error)
	SendBatchQueriesAsync(context.Context, *SendBatchQueriesRequest) (*SendBatchQueriesAsyncResponse, error)
	GetQueryKeysByBatchId(context.Context, *GetQueryKeysByBatchIdRequest) (*GetQueryKeysByBatchIdResponse, error)
	GetCircuitDigest(context.Context, *CircuitDigestRequest) (*CircuitDigestResponse, error)
	GetCircuitDummyInputRequest(context.Context, *CircuitDummyInputRequest) (*CircuitDummyInputResponse, error)
	SubmitVK(context.Context, *SubmitVKRequest) (*SubmitVKResponse, error)
}

// UnimplementedGatewayServer should be embedded to have forward compatible implementations.
type UnimplementedGatewayServer struct {
}

func (UnimplementedGatewayServer) PrepareQuery(context.Context, *PrepareQueryRequest) (*PrepareQueryResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method PrepareQuery not implemented")
}
func (UnimplementedGatewayServer) SubmitAppCircuitProof(context.Context, *SubmitAppCircuitProofRequest) (*SubmitAppCircuitProofResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method SubmitAppCircuitProof not implemented")
}
func (UnimplementedGatewayServer) GetQueryStatus(context.Context, *GetQueryStatusRequest) (*GetQueryStatusResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetQueryStatus not implemented")
}
func (UnimplementedGatewayServer) GetQueryInfoForOP(context.Context, *GetQueryInfoForOPRequest) (*GetQueryInfoForOPResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetQueryInfoForOP not implemented")
}
func (UnimplementedGatewayServer) GetSingleRunParams(context.Context, *GetSingleRunParamsRequest) (*GetSingleRunParamsResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetSingleRunParams not implemented")
}
func (UnimplementedGatewayServer) SendBatchQueries(context.Context, *SendBatchQueriesRequest) (*SendBatchQueriesResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method SendBatchQueries not implemented")
}
func (UnimplementedGatewayServer) SendBatchQueriesAsync(context.Context, *SendBatchQueriesRequest) (*SendBatchQueriesAsyncResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method SendBatchQueriesAsync not implemented")
}
func (UnimplementedGatewayServer) GetQueryKeysByBatchId(context.Context, *GetQueryKeysByBatchIdRequest) (*GetQueryKeysByBatchIdResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetQueryKeysByBatchId not implemented")
}
func (UnimplementedGatewayServer) GetCircuitDigest(context.Context, *CircuitDigestRequest) (*CircuitDigestResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetCircuitDigest not implemented")
}
func (UnimplementedGatewayServer) GetCircuitDummyInputRequest(context.Context, *CircuitDummyInputRequest) (*CircuitDummyInputResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetCircuitDummyInputRequest not implemented")
}
func (UnimplementedGatewayServer) SubmitVK(context.Context, *SubmitVKRequest) (*SubmitVKResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method SubmitVK not implemented")
}

// UnsafeGatewayServer may be embedded to opt out of forward compatibility for this service.
// Use of this interface is not recommended, as added methods to GatewayServer will
// result in compilation errors.
type UnsafeGatewayServer interface {
	mustEmbedUnimplementedGatewayServer()
}

func RegisterGatewayServer(s grpc.ServiceRegistrar, srv GatewayServer) {
	s.RegisterService(&Gateway_ServiceDesc, srv)
}

func _Gateway_PrepareQuery_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(PrepareQueryRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayServer).PrepareQuery(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Gateway_PrepareQuery_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayServer).PrepareQuery(ctx, req.(*PrepareQueryRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Gateway_SubmitAppCircuitProof_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(SubmitAppCircuitProofRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayServer).SubmitAppCircuitProof(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Gateway_SubmitAppCircuitProof_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayServer).SubmitAppCircuitProof(ctx, req.(*SubmitAppCircuitProofRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Gateway_GetQueryStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetQueryStatusRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayServer).GetQueryStatus(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Gateway_GetQueryStatus_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayServer).GetQueryStatus(ctx, req.(*GetQueryStatusRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Gateway_GetQueryInfoForOP_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetQueryInfoForOPRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayServer).GetQueryInfoForOP(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Gateway_GetQueryInfoForOP_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayServer).GetQueryInfoForOP(ctx, req.(*GetQueryInfoForOPRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Gateway_GetSingleRunParams_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetSingleRunParamsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayServer).GetSingleRunParams(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Gateway_GetSingleRunParams_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayServer).GetSingleRunParams(ctx, req.(*GetSingleRunParamsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Gateway_SendBatchQueries_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(SendBatchQueriesRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayServer).SendBatchQueries(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Gateway_SendBatchQueries_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayServer).SendBatchQueries(ctx, req.(*SendBatchQueriesRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Gateway_SendBatchQueriesAsync_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(SendBatchQueriesRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayServer).SendBatchQueriesAsync(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Gateway_SendBatchQueriesAsync_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayServer).SendBatchQueriesAsync(ctx, req.(*SendBatchQueriesRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Gateway_GetQueryKeysByBatchId_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetQueryKeysByBatchIdRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayServer).GetQueryKeysByBatchId(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Gateway_GetQueryKeysByBatchId_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayServer).GetQueryKeysByBatchId(ctx, req.(*GetQueryKeysByBatchIdRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Gateway_GetCircuitDigest_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CircuitDigestRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayServer).GetCircuitDigest(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Gateway_GetCircuitDigest_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayServer).GetCircuitDigest(ctx, req.(*CircuitDigestRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Gateway_GetCircuitDummyInputRequest_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CircuitDummyInputRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayServer).GetCircuitDummyInputRequest(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Gateway_GetCircuitDummyInputRequest_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayServer).GetCircuitDummyInputRequest(ctx, req.(*CircuitDummyInputRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Gateway_SubmitVK_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(SubmitVKRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayServer).SubmitVK(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Gateway_SubmitVK_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayServer).SubmitVK(ctx, req.(*SubmitVKRequest))
	}
	return interceptor(ctx, in, info, handler)
}

// Gateway_ServiceDesc is the grpc.ServiceDesc for Gateway service.
// It's only intended for direct use with grpc.RegisterService,
// and not to be introspected or modified (even as a copy)
var Gateway_ServiceDesc = grpc.ServiceDesc{
	ServiceName: "brevis.Gateway",
	HandlerType: (*GatewayServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "PrepareQuery",
			Handler:    _Gateway_PrepareQuery_Handler,
		},
		{
			MethodName: "SubmitAppCircuitProof",
			Handler:    _Gateway_SubmitAppCircuitProof_Handler,
		},
		{
			MethodName: "GetQueryStatus",
			Handler:    _Gateway_GetQueryStatus_Handler,
		},
		{
			MethodName: "GetQueryInfoForOP",
			Handler:    _Gateway_GetQueryInfoForOP_Handler,
		},
		{
			MethodName: "GetSingleRunParams",
			Handler:    _Gateway_GetSingleRunParams_Handler,
		},
		{
			MethodName: "SendBatchQueries",
			Handler:    _Gateway_SendBatchQueries_Handler,
		},
		{
			MethodName: "SendBatchQueriesAsync",
			Handler:    _Gateway_SendBatchQueriesAsync_Handler,
		},
		{
			MethodName: "GetQueryKeysByBatchId",
			Handler:    _Gateway_GetQueryKeysByBatchId_Handler,
		},
		{
			MethodName: "GetCircuitDigest",
			Handler:    _Gateway_GetCircuitDigest_Handler,
		},
		{
			MethodName: "GetCircuitDummyInputRequest",
			Handler:    _Gateway_GetCircuitDummyInputRequest_Handler,
		},
		{
			MethodName: "SubmitVK",
			Handler:    _Gateway_SubmitVK_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "brevis/gateway.proto",
}
