// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
// versions:
// - protoc-gen-go-grpc v1.3.0
// - protoc             (unknown)
// source: band/oracle/v1/query.proto

package oraclev1

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 (
	Query_Counts_FullMethodName              = "/band.oracle.v1.Query/Counts"
	Query_Data_FullMethodName                = "/band.oracle.v1.Query/Data"
	Query_DataSource_FullMethodName          = "/band.oracle.v1.Query/DataSource"
	Query_OracleScript_FullMethodName        = "/band.oracle.v1.Query/OracleScript"
	Query_Request_FullMethodName             = "/band.oracle.v1.Query/Request"
	Query_PendingRequests_FullMethodName     = "/band.oracle.v1.Query/PendingRequests"
	Query_Validator_FullMethodName           = "/band.oracle.v1.Query/Validator"
	Query_IsReporter_FullMethodName          = "/band.oracle.v1.Query/IsReporter"
	Query_Reporters_FullMethodName           = "/band.oracle.v1.Query/Reporters"
	Query_ActiveValidators_FullMethodName    = "/band.oracle.v1.Query/ActiveValidators"
	Query_Params_FullMethodName              = "/band.oracle.v1.Query/Params"
	Query_RequestSearch_FullMethodName       = "/band.oracle.v1.Query/RequestSearch"
	Query_RequestPrice_FullMethodName        = "/band.oracle.v1.Query/RequestPrice"
	Query_RequestVerification_FullMethodName = "/band.oracle.v1.Query/RequestVerification"
)

// QueryClient is the client API for Query 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 QueryClient interface {
	// Counts queries the number of existing data sources, oracle scripts, and
	// requests.
	Counts(ctx context.Context, in *QueryCountsRequest, opts ...grpc.CallOption) (*QueryCountsResponse, error)
	// Data queries content of the data source or oracle script for given SHA256
	// file hash.
	Data(ctx context.Context, in *QueryDataRequest, opts ...grpc.CallOption) (*QueryDataResponse, error)
	// DataSource queries data source summary info for given data source id.
	DataSource(ctx context.Context, in *QueryDataSourceRequest, opts ...grpc.CallOption) (*QueryDataSourceResponse, error)
	// OracleScript queries oracle script summary info for given oracle script id.
	OracleScript(ctx context.Context, in *QueryOracleScriptRequest, opts ...grpc.CallOption) (*QueryOracleScriptResponse, error)
	// Request queries request info for given request id.
	Request(ctx context.Context, in *QueryRequestRequest, opts ...grpc.CallOption) (*QueryRequestResponse, error)
	// PendingRequests queries list of pending request IDs assigned to given
	// validator.
	PendingRequests(ctx context.Context, in *QueryPendingRequestsRequest, opts ...grpc.CallOption) (*QueryPendingRequestsResponse, error)
	// Validator queries properties of given validator address.
	Validator(ctx context.Context, in *QueryValidatorRequest, opts ...grpc.CallOption) (*QueryValidatorResponse, error)
	// IsReporter queries grant of account on this validator.
	IsReporter(ctx context.Context, in *QueryIsReporterRequest, opts ...grpc.CallOption) (*QueryIsReporterResponse, error)
	// Reporters queries all reporters associated with given validator address.
	Reporters(ctx context.Context, in *QueryReportersRequest, opts ...grpc.CallOption) (*QueryReportersResponse, error)
	// ActiveValidators queries all active oracle validators.
	ActiveValidators(ctx context.Context, in *QueryActiveValidatorsRequest, opts ...grpc.CallOption) (*QueryActiveValidatorsResponse, error)
	// Params queries parameters used for running BandChain network.
	Params(ctx context.Context, in *QueryParamsRequest, opts ...grpc.CallOption) (*QueryParamsResponse, error)
	// RequestSearch queries the latest request that match search criteria.
	RequestSearch(ctx context.Context, in *QueryRequestSearchRequest, opts ...grpc.CallOption) (*QueryRequestSearchResponse, error)
	// RequestPrice queries the latest price on standard price reference oracle
	// script.
	RequestPrice(ctx context.Context, in *QueryRequestPriceRequest, opts ...grpc.CallOption) (*QueryRequestPriceResponse, error)
	// RequestVerification verifies a request to make sure that
	// all information that will be used to report the data is valid
	RequestVerification(ctx context.Context, in *QueryRequestVerificationRequest, opts ...grpc.CallOption) (*QueryRequestVerificationResponse, error)
}

type queryClient struct {
	cc grpc.ClientConnInterface
}

func NewQueryClient(cc grpc.ClientConnInterface) QueryClient {
	return &queryClient{cc}
}

func (c *queryClient) Counts(ctx context.Context, in *QueryCountsRequest, opts ...grpc.CallOption) (*QueryCountsResponse, error) {
	out := new(QueryCountsResponse)
	err := c.cc.Invoke(ctx, Query_Counts_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *queryClient) Data(ctx context.Context, in *QueryDataRequest, opts ...grpc.CallOption) (*QueryDataResponse, error) {
	out := new(QueryDataResponse)
	err := c.cc.Invoke(ctx, Query_Data_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *queryClient) DataSource(ctx context.Context, in *QueryDataSourceRequest, opts ...grpc.CallOption) (*QueryDataSourceResponse, error) {
	out := new(QueryDataSourceResponse)
	err := c.cc.Invoke(ctx, Query_DataSource_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *queryClient) OracleScript(ctx context.Context, in *QueryOracleScriptRequest, opts ...grpc.CallOption) (*QueryOracleScriptResponse, error) {
	out := new(QueryOracleScriptResponse)
	err := c.cc.Invoke(ctx, Query_OracleScript_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *queryClient) Request(ctx context.Context, in *QueryRequestRequest, opts ...grpc.CallOption) (*QueryRequestResponse, error) {
	out := new(QueryRequestResponse)
	err := c.cc.Invoke(ctx, Query_Request_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *queryClient) PendingRequests(ctx context.Context, in *QueryPendingRequestsRequest, opts ...grpc.CallOption) (*QueryPendingRequestsResponse, error) {
	out := new(QueryPendingRequestsResponse)
	err := c.cc.Invoke(ctx, Query_PendingRequests_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *queryClient) Validator(ctx context.Context, in *QueryValidatorRequest, opts ...grpc.CallOption) (*QueryValidatorResponse, error) {
	out := new(QueryValidatorResponse)
	err := c.cc.Invoke(ctx, Query_Validator_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *queryClient) IsReporter(ctx context.Context, in *QueryIsReporterRequest, opts ...grpc.CallOption) (*QueryIsReporterResponse, error) {
	out := new(QueryIsReporterResponse)
	err := c.cc.Invoke(ctx, Query_IsReporter_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *queryClient) Reporters(ctx context.Context, in *QueryReportersRequest, opts ...grpc.CallOption) (*QueryReportersResponse, error) {
	out := new(QueryReportersResponse)
	err := c.cc.Invoke(ctx, Query_Reporters_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *queryClient) ActiveValidators(ctx context.Context, in *QueryActiveValidatorsRequest, opts ...grpc.CallOption) (*QueryActiveValidatorsResponse, error) {
	out := new(QueryActiveValidatorsResponse)
	err := c.cc.Invoke(ctx, Query_ActiveValidators_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *queryClient) Params(ctx context.Context, in *QueryParamsRequest, opts ...grpc.CallOption) (*QueryParamsResponse, error) {
	out := new(QueryParamsResponse)
	err := c.cc.Invoke(ctx, Query_Params_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *queryClient) RequestSearch(ctx context.Context, in *QueryRequestSearchRequest, opts ...grpc.CallOption) (*QueryRequestSearchResponse, error) {
	out := new(QueryRequestSearchResponse)
	err := c.cc.Invoke(ctx, Query_RequestSearch_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *queryClient) RequestPrice(ctx context.Context, in *QueryRequestPriceRequest, opts ...grpc.CallOption) (*QueryRequestPriceResponse, error) {
	out := new(QueryRequestPriceResponse)
	err := c.cc.Invoke(ctx, Query_RequestPrice_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *queryClient) RequestVerification(ctx context.Context, in *QueryRequestVerificationRequest, opts ...grpc.CallOption) (*QueryRequestVerificationResponse, error) {
	out := new(QueryRequestVerificationResponse)
	err := c.cc.Invoke(ctx, Query_RequestVerification_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

// QueryServer is the server API for Query service.
// All implementations must embed UnimplementedQueryServer
// for forward compatibility
type QueryServer interface {
	// Counts queries the number of existing data sources, oracle scripts, and
	// requests.
	Counts(context.Context, *QueryCountsRequest) (*QueryCountsResponse, error)
	// Data queries content of the data source or oracle script for given SHA256
	// file hash.
	Data(context.Context, *QueryDataRequest) (*QueryDataResponse, error)
	// DataSource queries data source summary info for given data source id.
	DataSource(context.Context, *QueryDataSourceRequest) (*QueryDataSourceResponse, error)
	// OracleScript queries oracle script summary info for given oracle script id.
	OracleScript(context.Context, *QueryOracleScriptRequest) (*QueryOracleScriptResponse, error)
	// Request queries request info for given request id.
	Request(context.Context, *QueryRequestRequest) (*QueryRequestResponse, error)
	// PendingRequests queries list of pending request IDs assigned to given
	// validator.
	PendingRequests(context.Context, *QueryPendingRequestsRequest) (*QueryPendingRequestsResponse, error)
	// Validator queries properties of given validator address.
	Validator(context.Context, *QueryValidatorRequest) (*QueryValidatorResponse, error)
	// IsReporter queries grant of account on this validator.
	IsReporter(context.Context, *QueryIsReporterRequest) (*QueryIsReporterResponse, error)
	// Reporters queries all reporters associated with given validator address.
	Reporters(context.Context, *QueryReportersRequest) (*QueryReportersResponse, error)
	// ActiveValidators queries all active oracle validators.
	ActiveValidators(context.Context, *QueryActiveValidatorsRequest) (*QueryActiveValidatorsResponse, error)
	// Params queries parameters used for running BandChain network.
	Params(context.Context, *QueryParamsRequest) (*QueryParamsResponse, error)
	// RequestSearch queries the latest request that match search criteria.
	RequestSearch(context.Context, *QueryRequestSearchRequest) (*QueryRequestSearchResponse, error)
	// RequestPrice queries the latest price on standard price reference oracle
	// script.
	RequestPrice(context.Context, *QueryRequestPriceRequest) (*QueryRequestPriceResponse, error)
	// RequestVerification verifies a request to make sure that
	// all information that will be used to report the data is valid
	RequestVerification(context.Context, *QueryRequestVerificationRequest) (*QueryRequestVerificationResponse, error)
	mustEmbedUnimplementedQueryServer()
}

// UnimplementedQueryServer must be embedded to have forward compatible implementations.
type UnimplementedQueryServer struct {
}

func (UnimplementedQueryServer) Counts(context.Context, *QueryCountsRequest) (*QueryCountsResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method Counts not implemented")
}
func (UnimplementedQueryServer) Data(context.Context, *QueryDataRequest) (*QueryDataResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method Data not implemented")
}
func (UnimplementedQueryServer) DataSource(context.Context, *QueryDataSourceRequest) (*QueryDataSourceResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DataSource not implemented")
}
func (UnimplementedQueryServer) OracleScript(context.Context, *QueryOracleScriptRequest) (*QueryOracleScriptResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method OracleScript not implemented")
}
func (UnimplementedQueryServer) Request(context.Context, *QueryRequestRequest) (*QueryRequestResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method Request not implemented")
}
func (UnimplementedQueryServer) PendingRequests(context.Context, *QueryPendingRequestsRequest) (*QueryPendingRequestsResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method PendingRequests not implemented")
}
func (UnimplementedQueryServer) Validator(context.Context, *QueryValidatorRequest) (*QueryValidatorResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method Validator not implemented")
}
func (UnimplementedQueryServer) IsReporter(context.Context, *QueryIsReporterRequest) (*QueryIsReporterResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method IsReporter not implemented")
}
func (UnimplementedQueryServer) Reporters(context.Context, *QueryReportersRequest) (*QueryReportersResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method Reporters not implemented")
}
func (UnimplementedQueryServer) ActiveValidators(context.Context, *QueryActiveValidatorsRequest) (*QueryActiveValidatorsResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ActiveValidators not implemented")
}
func (UnimplementedQueryServer) Params(context.Context, *QueryParamsRequest) (*QueryParamsResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method Params not implemented")
}
func (UnimplementedQueryServer) RequestSearch(context.Context, *QueryRequestSearchRequest) (*QueryRequestSearchResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method RequestSearch not implemented")
}
func (UnimplementedQueryServer) RequestPrice(context.Context, *QueryRequestPriceRequest) (*QueryRequestPriceResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method RequestPrice not implemented")
}
func (UnimplementedQueryServer) RequestVerification(context.Context, *QueryRequestVerificationRequest) (*QueryRequestVerificationResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method RequestVerification not implemented")
}
func (UnimplementedQueryServer) mustEmbedUnimplementedQueryServer() {}

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

func RegisterQueryServer(s grpc.ServiceRegistrar, srv QueryServer) {
	s.RegisterService(&Query_ServiceDesc, srv)
}

func _Query_Counts_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(QueryCountsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(QueryServer).Counts(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Query_Counts_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(QueryServer).Counts(ctx, req.(*QueryCountsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Query_Data_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(QueryDataRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(QueryServer).Data(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Query_Data_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(QueryServer).Data(ctx, req.(*QueryDataRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Query_DataSource_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(QueryDataSourceRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(QueryServer).DataSource(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Query_DataSource_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(QueryServer).DataSource(ctx, req.(*QueryDataSourceRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Query_OracleScript_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(QueryOracleScriptRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(QueryServer).OracleScript(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Query_OracleScript_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(QueryServer).OracleScript(ctx, req.(*QueryOracleScriptRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Query_Request_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(QueryRequestRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(QueryServer).Request(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Query_Request_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(QueryServer).Request(ctx, req.(*QueryRequestRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Query_PendingRequests_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(QueryPendingRequestsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(QueryServer).PendingRequests(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Query_PendingRequests_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(QueryServer).PendingRequests(ctx, req.(*QueryPendingRequestsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Query_Validator_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(QueryValidatorRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(QueryServer).Validator(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Query_Validator_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(QueryServer).Validator(ctx, req.(*QueryValidatorRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Query_IsReporter_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(QueryIsReporterRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(QueryServer).IsReporter(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Query_IsReporter_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(QueryServer).IsReporter(ctx, req.(*QueryIsReporterRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Query_Reporters_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(QueryReportersRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(QueryServer).Reporters(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Query_Reporters_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(QueryServer).Reporters(ctx, req.(*QueryReportersRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Query_ActiveValidators_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(QueryActiveValidatorsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(QueryServer).ActiveValidators(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Query_ActiveValidators_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(QueryServer).ActiveValidators(ctx, req.(*QueryActiveValidatorsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Query_Params_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(QueryParamsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(QueryServer).Params(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Query_Params_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(QueryServer).Params(ctx, req.(*QueryParamsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Query_RequestSearch_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(QueryRequestSearchRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(QueryServer).RequestSearch(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Query_RequestSearch_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(QueryServer).RequestSearch(ctx, req.(*QueryRequestSearchRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Query_RequestPrice_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(QueryRequestPriceRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(QueryServer).RequestPrice(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Query_RequestPrice_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(QueryServer).RequestPrice(ctx, req.(*QueryRequestPriceRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Query_RequestVerification_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(QueryRequestVerificationRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(QueryServer).RequestVerification(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Query_RequestVerification_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(QueryServer).RequestVerification(ctx, req.(*QueryRequestVerificationRequest))
	}
	return interceptor(ctx, in, info, handler)
}

// Query_ServiceDesc is the grpc.ServiceDesc for Query service.
// It's only intended for direct use with grpc.RegisterService,
// and not to be introspected or modified (even as a copy)
var Query_ServiceDesc = grpc.ServiceDesc{
	ServiceName: "band.oracle.v1.Query",
	HandlerType: (*QueryServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "Counts",
			Handler:    _Query_Counts_Handler,
		},
		{
			MethodName: "Data",
			Handler:    _Query_Data_Handler,
		},
		{
			MethodName: "DataSource",
			Handler:    _Query_DataSource_Handler,
		},
		{
			MethodName: "OracleScript",
			Handler:    _Query_OracleScript_Handler,
		},
		{
			MethodName: "Request",
			Handler:    _Query_Request_Handler,
		},
		{
			MethodName: "PendingRequests",
			Handler:    _Query_PendingRequests_Handler,
		},
		{
			MethodName: "Validator",
			Handler:    _Query_Validator_Handler,
		},
		{
			MethodName: "IsReporter",
			Handler:    _Query_IsReporter_Handler,
		},
		{
			MethodName: "Reporters",
			Handler:    _Query_Reporters_Handler,
		},
		{
			MethodName: "ActiveValidators",
			Handler:    _Query_ActiveValidators_Handler,
		},
		{
			MethodName: "Params",
			Handler:    _Query_Params_Handler,
		},
		{
			MethodName: "RequestSearch",
			Handler:    _Query_RequestSearch_Handler,
		},
		{
			MethodName: "RequestPrice",
			Handler:    _Query_RequestPrice_Handler,
		},
		{
			MethodName: "RequestVerification",
			Handler:    _Query_RequestVerification_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "band/oracle/v1/query.proto",
}
