//
//validator_api.proto defines the gRPC service interface for the Bitcoin SV transaction
//validation service. It specifies the methods and message types for transaction
//validation, health checking, and block information retrieval.

// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.36.10
// 	protoc        v6.32.1
// source: services/validator/validator_api/validator_api.proto

package validator_api

import (
	errors "github.com/bsv-blockchain/teranode/errors"
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
	reflect "reflect"
	sync "sync"
	unsafe "unsafe"
)

const (
	// Verify that this generated code is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
	// Verify that runtime/protoimpl is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)

// EmptyMessage represents an empty request message
// Used for endpoints that don't require input parameters
// swagger:model EmptyMessage
type EmptyMessage struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *EmptyMessage) Reset() {
	*x = EmptyMessage{}
	mi := &file_services_validator_validator_api_validator_api_proto_msgTypes[0]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *EmptyMessage) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*EmptyMessage) ProtoMessage() {}

func (x *EmptyMessage) ProtoReflect() protoreflect.Message {
	mi := &file_services_validator_validator_api_validator_api_proto_msgTypes[0]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use EmptyMessage.ProtoReflect.Descriptor instead.
func (*EmptyMessage) Descriptor() ([]byte, []int) {
	return file_services_validator_validator_api_validator_api_proto_rawDescGZIP(), []int{0}
}

// HealthResponse provides health check information
// swagger:model HealthResponse
type HealthResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Ok            bool                   `protobuf:"varint,1,opt,name=ok,proto3" json:"ok,omitempty"`              // Overall health status
	Details       string                 `protobuf:"bytes,2,opt,name=details,proto3" json:"details,omitempty"`     // Detailed health information
	Timestamp     *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=timestamp,proto3" json:"timestamp,omitempty"` // Timestamp of health check
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *HealthResponse) Reset() {
	*x = HealthResponse{}
	mi := &file_services_validator_validator_api_validator_api_proto_msgTypes[1]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *HealthResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*HealthResponse) ProtoMessage() {}

func (x *HealthResponse) ProtoReflect() protoreflect.Message {
	mi := &file_services_validator_validator_api_validator_api_proto_msgTypes[1]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use HealthResponse.ProtoReflect.Descriptor instead.
func (*HealthResponse) Descriptor() ([]byte, []int) {
	return file_services_validator_validator_api_validator_api_proto_rawDescGZIP(), []int{1}
}

func (x *HealthResponse) GetOk() bool {
	if x != nil {
		return x.Ok
	}
	return false
}

func (x *HealthResponse) GetDetails() string {
	if x != nil {
		return x.Details
	}
	return ""
}

func (x *HealthResponse) GetTimestamp() *timestamppb.Timestamp {
	if x != nil {
		return x.Timestamp
	}
	return nil
}

// ValidateTransactionRequest contains data for transaction validation
// swagger:model ValidateTransactionRequest
type ValidateTransactionRequest struct {
	state           protoimpl.MessageState `protogen:"open.v1"`
	TransactionData []byte                 `protobuf:"bytes,1,opt,name=transaction_data,json=transactionData,proto3" json:"transaction_data,omitempty"` // Raw transaction data to validate
	BlockHeight     uint32                 `protobuf:"varint,2,opt,name=block_height,json=blockHeight,proto3" json:"block_height,omitempty"`            // Block height for validation context
	// validation options
	SkipUtxoCreation     *bool `protobuf:"varint,3,opt,name=skip_utxo_creation,json=skipUtxoCreation,proto3,oneof" json:"skip_utxo_creation,omitempty"`                 // Skip UTXO creation for validation
	AddTxToBlockAssembly *bool `protobuf:"varint,4,opt,name=add_tx_to_block_assembly,json=addTxToBlockAssembly,proto3,oneof" json:"add_tx_to_block_assembly,omitempty"` // Add transaction to block assembly
	SkipPolicyChecks     *bool `protobuf:"varint,5,opt,name=skip_policy_checks,json=skipPolicyChecks,proto3,oneof" json:"skip_policy_checks,omitempty"`                 // Skip policy checks
	CreateConflicting    *bool `protobuf:"varint,6,opt,name=create_conflicting,json=createConflicting,proto3,oneof" json:"create_conflicting,omitempty"`                // Create conflicting transaction
	unknownFields        protoimpl.UnknownFields
	sizeCache            protoimpl.SizeCache
}

func (x *ValidateTransactionRequest) Reset() {
	*x = ValidateTransactionRequest{}
	mi := &file_services_validator_validator_api_validator_api_proto_msgTypes[2]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ValidateTransactionRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ValidateTransactionRequest) ProtoMessage() {}

func (x *ValidateTransactionRequest) ProtoReflect() protoreflect.Message {
	mi := &file_services_validator_validator_api_validator_api_proto_msgTypes[2]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ValidateTransactionRequest.ProtoReflect.Descriptor instead.
func (*ValidateTransactionRequest) Descriptor() ([]byte, []int) {
	return file_services_validator_validator_api_validator_api_proto_rawDescGZIP(), []int{2}
}

func (x *ValidateTransactionRequest) GetTransactionData() []byte {
	if x != nil {
		return x.TransactionData
	}
	return nil
}

func (x *ValidateTransactionRequest) GetBlockHeight() uint32 {
	if x != nil {
		return x.BlockHeight
	}
	return 0
}

func (x *ValidateTransactionRequest) GetSkipUtxoCreation() bool {
	if x != nil && x.SkipUtxoCreation != nil {
		return *x.SkipUtxoCreation
	}
	return false
}

func (x *ValidateTransactionRequest) GetAddTxToBlockAssembly() bool {
	if x != nil && x.AddTxToBlockAssembly != nil {
		return *x.AddTxToBlockAssembly
	}
	return false
}

func (x *ValidateTransactionRequest) GetSkipPolicyChecks() bool {
	if x != nil && x.SkipPolicyChecks != nil {
		return *x.SkipPolicyChecks
	}
	return false
}

func (x *ValidateTransactionRequest) GetCreateConflicting() bool {
	if x != nil && x.CreateConflicting != nil {
		return *x.CreateConflicting
	}
	return false
}

// ValidateTransactionResponse provides transaction validation results
// swagger:model ValidateTransactionResponse
type ValidateTransactionResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Valid         bool                   `protobuf:"varint,1,opt,name=valid,proto3" json:"valid,omitempty"`      // Validation result (true if valid)
	Txid          []byte                 `protobuf:"bytes,2,opt,name=txid,proto3" json:"txid,omitempty"`         // Transaction ID of the validated transaction
	Reason        string                 `protobuf:"bytes,3,opt,name=reason,proto3" json:"reason,omitempty"`     // Reason for rejection if invalid
	Metadata      []byte                 `protobuf:"bytes,4,opt,name=metadata,proto3" json:"metadata,omitempty"` // Additional metadata for the transaction
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ValidateTransactionResponse) Reset() {
	*x = ValidateTransactionResponse{}
	mi := &file_services_validator_validator_api_validator_api_proto_msgTypes[3]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ValidateTransactionResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ValidateTransactionResponse) ProtoMessage() {}

func (x *ValidateTransactionResponse) ProtoReflect() protoreflect.Message {
	mi := &file_services_validator_validator_api_validator_api_proto_msgTypes[3]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ValidateTransactionResponse.ProtoReflect.Descriptor instead.
func (*ValidateTransactionResponse) Descriptor() ([]byte, []int) {
	return file_services_validator_validator_api_validator_api_proto_rawDescGZIP(), []int{3}
}

func (x *ValidateTransactionResponse) GetValid() bool {
	if x != nil {
		return x.Valid
	}
	return false
}

func (x *ValidateTransactionResponse) GetTxid() []byte {
	if x != nil {
		return x.Txid
	}
	return nil
}

func (x *ValidateTransactionResponse) GetReason() string {
	if x != nil {
		return x.Reason
	}
	return ""
}

func (x *ValidateTransactionResponse) GetMetadata() []byte {
	if x != nil {
		return x.Metadata
	}
	return nil
}

// ValidateTransactionBatchRequest contains multiple transactions for batch validation
// swagger:model ValidateTransactionBatchRequest
type ValidateTransactionBatchRequest struct {
	state         protoimpl.MessageState        `protogen:"open.v1"`
	Transactions  []*ValidateTransactionRequest `protobuf:"bytes,1,rep,name=transactions,proto3" json:"transactions,omitempty"` // Array of transactions to validate
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ValidateTransactionBatchRequest) Reset() {
	*x = ValidateTransactionBatchRequest{}
	mi := &file_services_validator_validator_api_validator_api_proto_msgTypes[4]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ValidateTransactionBatchRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ValidateTransactionBatchRequest) ProtoMessage() {}

func (x *ValidateTransactionBatchRequest) ProtoReflect() protoreflect.Message {
	mi := &file_services_validator_validator_api_validator_api_proto_msgTypes[4]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ValidateTransactionBatchRequest.ProtoReflect.Descriptor instead.
func (*ValidateTransactionBatchRequest) Descriptor() ([]byte, []int) {
	return file_services_validator_validator_api_validator_api_proto_rawDescGZIP(), []int{4}
}

func (x *ValidateTransactionBatchRequest) GetTransactions() []*ValidateTransactionRequest {
	if x != nil {
		return x.Transactions
	}
	return nil
}

// ValidateTransactionBatchResponse provides batch validation results
// swagger:model ValidateTransactionBatchResponse
type ValidateTransactionBatchResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Valid         bool                   `protobuf:"varint,1,opt,name=valid,proto3" json:"valid,omitempty"`      // Overall batch validation status
	Errors        []*errors.TError       `protobuf:"bytes,2,rep,name=errors,proto3" json:"errors,omitempty"`     // Array of error messages, one per transaction
	Metadata      [][]byte               `protobuf:"bytes,3,rep,name=metadata,proto3" json:"metadata,omitempty"` // Array of metadata for each transaction
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ValidateTransactionBatchResponse) Reset() {
	*x = ValidateTransactionBatchResponse{}
	mi := &file_services_validator_validator_api_validator_api_proto_msgTypes[5]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ValidateTransactionBatchResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ValidateTransactionBatchResponse) ProtoMessage() {}

func (x *ValidateTransactionBatchResponse) ProtoReflect() protoreflect.Message {
	mi := &file_services_validator_validator_api_validator_api_proto_msgTypes[5]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ValidateTransactionBatchResponse.ProtoReflect.Descriptor instead.
func (*ValidateTransactionBatchResponse) Descriptor() ([]byte, []int) {
	return file_services_validator_validator_api_validator_api_proto_rawDescGZIP(), []int{5}
}

func (x *ValidateTransactionBatchResponse) GetValid() bool {
	if x != nil {
		return x.Valid
	}
	return false
}

func (x *ValidateTransactionBatchResponse) GetErrors() []*errors.TError {
	if x != nil {
		return x.Errors
	}
	return nil
}

func (x *ValidateTransactionBatchResponse) GetMetadata() [][]byte {
	if x != nil {
		return x.Metadata
	}
	return nil
}

// GetBlockHeightResponse provides the current block height
// swagger:model GetBlockHeightResponse
type GetBlockHeightResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Height        uint32                 `protobuf:"varint,1,opt,name=height,proto3" json:"height,omitempty"` // Current block height
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetBlockHeightResponse) Reset() {
	*x = GetBlockHeightResponse{}
	mi := &file_services_validator_validator_api_validator_api_proto_msgTypes[6]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *GetBlockHeightResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetBlockHeightResponse) ProtoMessage() {}

func (x *GetBlockHeightResponse) ProtoReflect() protoreflect.Message {
	mi := &file_services_validator_validator_api_validator_api_proto_msgTypes[6]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetBlockHeightResponse.ProtoReflect.Descriptor instead.
func (*GetBlockHeightResponse) Descriptor() ([]byte, []int) {
	return file_services_validator_validator_api_validator_api_proto_rawDescGZIP(), []int{6}
}

func (x *GetBlockHeightResponse) GetHeight() uint32 {
	if x != nil {
		return x.Height
	}
	return 0
}

// GetMedianBlockTimeResponse provides the median time of recent blocks
// swagger:model GetMedianBlockTimeResponse
type GetMedianBlockTimeResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	MedianTime    uint32                 `protobuf:"varint,1,opt,name=median_time,json=medianTime,proto3" json:"median_time,omitempty"` // Median time of recent blocks
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetMedianBlockTimeResponse) Reset() {
	*x = GetMedianBlockTimeResponse{}
	mi := &file_services_validator_validator_api_validator_api_proto_msgTypes[7]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *GetMedianBlockTimeResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetMedianBlockTimeResponse) ProtoMessage() {}

func (x *GetMedianBlockTimeResponse) ProtoReflect() protoreflect.Message {
	mi := &file_services_validator_validator_api_validator_api_proto_msgTypes[7]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetMedianBlockTimeResponse.ProtoReflect.Descriptor instead.
func (*GetMedianBlockTimeResponse) Descriptor() ([]byte, []int) {
	return file_services_validator_validator_api_validator_api_proto_rawDescGZIP(), []int{7}
}

func (x *GetMedianBlockTimeResponse) GetMedianTime() uint32 {
	if x != nil {
		return x.MedianTime
	}
	return 0
}

var File_services_validator_validator_api_validator_api_proto protoreflect.FileDescriptor

const file_services_validator_validator_api_validator_api_proto_rawDesc = "" +
	"\n" +
	"4services/validator/validator_api/validator_api.proto\x12\rvalidator_api\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x12errors/error.proto\"\x0e\n" +
	"\fEmptyMessage\"t\n" +
	"\x0eHealthResponse\x12\x0e\n" +
	"\x02ok\x18\x01 \x01(\bR\x02ok\x12\x18\n" +
	"\adetails\x18\x02 \x01(\tR\adetails\x128\n" +
	"\ttimestamp\x18\x03 \x01(\v2\x1a.google.protobuf.TimestampR\ttimestamp\"\xa3\x03\n" +
	"\x1aValidateTransactionRequest\x12)\n" +
	"\x10transaction_data\x18\x01 \x01(\fR\x0ftransactionData\x12!\n" +
	"\fblock_height\x18\x02 \x01(\rR\vblockHeight\x121\n" +
	"\x12skip_utxo_creation\x18\x03 \x01(\bH\x00R\x10skipUtxoCreation\x88\x01\x01\x12;\n" +
	"\x18add_tx_to_block_assembly\x18\x04 \x01(\bH\x01R\x14addTxToBlockAssembly\x88\x01\x01\x121\n" +
	"\x12skip_policy_checks\x18\x05 \x01(\bH\x02R\x10skipPolicyChecks\x88\x01\x01\x122\n" +
	"\x12create_conflicting\x18\x06 \x01(\bH\x03R\x11createConflicting\x88\x01\x01B\x15\n" +
	"\x13_skip_utxo_creationB\x1b\n" +
	"\x19_add_tx_to_block_assemblyB\x15\n" +
	"\x13_skip_policy_checksB\x15\n" +
	"\x13_create_conflicting\"{\n" +
	"\x1bValidateTransactionResponse\x12\x14\n" +
	"\x05valid\x18\x01 \x01(\bR\x05valid\x12\x12\n" +
	"\x04txid\x18\x02 \x01(\fR\x04txid\x12\x16\n" +
	"\x06reason\x18\x03 \x01(\tR\x06reason\x12\x1a\n" +
	"\bmetadata\x18\x04 \x01(\fR\bmetadata\"p\n" +
	"\x1fValidateTransactionBatchRequest\x12M\n" +
	"\ftransactions\x18\x01 \x03(\v2).validator_api.ValidateTransactionRequestR\ftransactions\"|\n" +
	" ValidateTransactionBatchResponse\x12\x14\n" +
	"\x05valid\x18\x01 \x01(\bR\x05valid\x12&\n" +
	"\x06errors\x18\x02 \x03(\v2\x0e.errors.TErrorR\x06errors\x12\x1a\n" +
	"\bmetadata\x18\x03 \x03(\fR\bmetadata\"0\n" +
	"\x16GetBlockHeightResponse\x12\x16\n" +
	"\x06height\x18\x01 \x01(\rR\x06height\"=\n" +
	"\x1aGetMedianBlockTimeResponse\x12\x1f\n" +
	"\vmedian_time\x18\x01 \x01(\rR\n" +
	"medianTime2\x81\x04\n" +
	"\fValidatorAPI\x12J\n" +
	"\n" +
	"HealthGRPC\x12\x1b.validator_api.EmptyMessage\x1a\x1d.validator_api.HealthResponse\"\x00\x12n\n" +
	"\x13ValidateTransaction\x12).validator_api.ValidateTransactionRequest\x1a*.validator_api.ValidateTransactionResponse\"\x00\x12}\n" +
	"\x18ValidateTransactionBatch\x12..validator_api.ValidateTransactionBatchRequest\x1a/.validator_api.ValidateTransactionBatchResponse\"\x00\x12V\n" +
	"\x0eGetBlockHeight\x12\x1b.validator_api.EmptyMessage\x1a%.validator_api.GetBlockHeightResponse\"\x00\x12^\n" +
	"\x12GetMedianBlockTime\x12\x1b.validator_api.EmptyMessage\x1a).validator_api.GetMedianBlockTimeResponse\"\x00B\x12Z\x10./;validator_apib\x06proto3"

var (
	file_services_validator_validator_api_validator_api_proto_rawDescOnce sync.Once
	file_services_validator_validator_api_validator_api_proto_rawDescData []byte
)

func file_services_validator_validator_api_validator_api_proto_rawDescGZIP() []byte {
	file_services_validator_validator_api_validator_api_proto_rawDescOnce.Do(func() {
		file_services_validator_validator_api_validator_api_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_services_validator_validator_api_validator_api_proto_rawDesc), len(file_services_validator_validator_api_validator_api_proto_rawDesc)))
	})
	return file_services_validator_validator_api_validator_api_proto_rawDescData
}

var file_services_validator_validator_api_validator_api_proto_msgTypes = make([]protoimpl.MessageInfo, 8)
var file_services_validator_validator_api_validator_api_proto_goTypes = []any{
	(*EmptyMessage)(nil),                     // 0: validator_api.EmptyMessage
	(*HealthResponse)(nil),                   // 1: validator_api.HealthResponse
	(*ValidateTransactionRequest)(nil),       // 2: validator_api.ValidateTransactionRequest
	(*ValidateTransactionResponse)(nil),      // 3: validator_api.ValidateTransactionResponse
	(*ValidateTransactionBatchRequest)(nil),  // 4: validator_api.ValidateTransactionBatchRequest
	(*ValidateTransactionBatchResponse)(nil), // 5: validator_api.ValidateTransactionBatchResponse
	(*GetBlockHeightResponse)(nil),           // 6: validator_api.GetBlockHeightResponse
	(*GetMedianBlockTimeResponse)(nil),       // 7: validator_api.GetMedianBlockTimeResponse
	(*timestamppb.Timestamp)(nil),            // 8: google.protobuf.Timestamp
	(*errors.TError)(nil),                    // 9: errors.TError
}
var file_services_validator_validator_api_validator_api_proto_depIdxs = []int32{
	8, // 0: validator_api.HealthResponse.timestamp:type_name -> google.protobuf.Timestamp
	2, // 1: validator_api.ValidateTransactionBatchRequest.transactions:type_name -> validator_api.ValidateTransactionRequest
	9, // 2: validator_api.ValidateTransactionBatchResponse.errors:type_name -> errors.TError
	0, // 3: validator_api.ValidatorAPI.HealthGRPC:input_type -> validator_api.EmptyMessage
	2, // 4: validator_api.ValidatorAPI.ValidateTransaction:input_type -> validator_api.ValidateTransactionRequest
	4, // 5: validator_api.ValidatorAPI.ValidateTransactionBatch:input_type -> validator_api.ValidateTransactionBatchRequest
	0, // 6: validator_api.ValidatorAPI.GetBlockHeight:input_type -> validator_api.EmptyMessage
	0, // 7: validator_api.ValidatorAPI.GetMedianBlockTime:input_type -> validator_api.EmptyMessage
	1, // 8: validator_api.ValidatorAPI.HealthGRPC:output_type -> validator_api.HealthResponse
	3, // 9: validator_api.ValidatorAPI.ValidateTransaction:output_type -> validator_api.ValidateTransactionResponse
	5, // 10: validator_api.ValidatorAPI.ValidateTransactionBatch:output_type -> validator_api.ValidateTransactionBatchResponse
	6, // 11: validator_api.ValidatorAPI.GetBlockHeight:output_type -> validator_api.GetBlockHeightResponse
	7, // 12: validator_api.ValidatorAPI.GetMedianBlockTime:output_type -> validator_api.GetMedianBlockTimeResponse
	8, // [8:13] is the sub-list for method output_type
	3, // [3:8] is the sub-list for method input_type
	3, // [3:3] is the sub-list for extension type_name
	3, // [3:3] is the sub-list for extension extendee
	0, // [0:3] is the sub-list for field type_name
}

func init() { file_services_validator_validator_api_validator_api_proto_init() }
func file_services_validator_validator_api_validator_api_proto_init() {
	if File_services_validator_validator_api_validator_api_proto != nil {
		return
	}
	file_services_validator_validator_api_validator_api_proto_msgTypes[2].OneofWrappers = []any{}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_services_validator_validator_api_validator_api_proto_rawDesc), len(file_services_validator_validator_api_validator_api_proto_rawDesc)),
			NumEnums:      0,
			NumMessages:   8,
			NumExtensions: 0,
			NumServices:   1,
		},
		GoTypes:           file_services_validator_validator_api_validator_api_proto_goTypes,
		DependencyIndexes: file_services_validator_validator_api_validator_api_proto_depIdxs,
		MessageInfos:      file_services_validator_validator_api_validator_api_proto_msgTypes,
	}.Build()
	File_services_validator_validator_api_validator_api_proto = out.File
	file_services_validator_validator_api_validator_api_proto_goTypes = nil
	file_services_validator_validator_api_validator_api_proto_depIdxs = nil
}
