// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.36.7
// 	protoc        v5.29.3
// source: mercury.proto

package pb

import (
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	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)
)

type TransmitRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Payload       []byte                 `protobuf:"bytes,1,opt,name=payload,proto3" json:"payload,omitempty"`
	ReportFormat  uint32                 `protobuf:"varint,2,opt,name=reportFormat,proto3" json:"reportFormat,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*TransmitRequest) ProtoMessage() {}

func (x *TransmitRequest) ProtoReflect() protoreflect.Message {
	mi := &file_mercury_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 TransmitRequest.ProtoReflect.Descriptor instead.
func (*TransmitRequest) Descriptor() ([]byte, []int) {
	return file_mercury_proto_rawDescGZIP(), []int{0}
}

func (x *TransmitRequest) GetPayload() []byte {
	if x != nil {
		return x.Payload
	}
	return nil
}

func (x *TransmitRequest) GetReportFormat() uint32 {
	if x != nil {
		return x.ReportFormat
	}
	return 0
}

type TransmitResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Code          int32                  `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"`
	Error         string                 `protobuf:"bytes,2,opt,name=error,proto3" json:"error,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*TransmitResponse) ProtoMessage() {}

func (x *TransmitResponse) ProtoReflect() protoreflect.Message {
	mi := &file_mercury_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 TransmitResponse.ProtoReflect.Descriptor instead.
func (*TransmitResponse) Descriptor() ([]byte, []int) {
	return file_mercury_proto_rawDescGZIP(), []int{1}
}

func (x *TransmitResponse) GetCode() int32 {
	if x != nil {
		return x.Code
	}
	return 0
}

func (x *TransmitResponse) GetError() string {
	if x != nil {
		return x.Error
	}
	return ""
}

type LatestReportRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	FeedId        []byte                 `protobuf:"bytes,1,opt,name=feedId,proto3" json:"feedId,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*LatestReportRequest) ProtoMessage() {}

func (x *LatestReportRequest) ProtoReflect() protoreflect.Message {
	mi := &file_mercury_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 LatestReportRequest.ProtoReflect.Descriptor instead.
func (*LatestReportRequest) Descriptor() ([]byte, []int) {
	return file_mercury_proto_rawDescGZIP(), []int{2}
}

func (x *LatestReportRequest) GetFeedId() []byte {
	if x != nil {
		return x.FeedId
	}
	return nil
}

type LatestReportResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Error         string                 `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"`
	Report        *Report                `protobuf:"bytes,2,opt,name=report,proto3" json:"report,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*LatestReportResponse) ProtoMessage() {}

func (x *LatestReportResponse) ProtoReflect() protoreflect.Message {
	mi := &file_mercury_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 LatestReportResponse.ProtoReflect.Descriptor instead.
func (*LatestReportResponse) Descriptor() ([]byte, []int) {
	return file_mercury_proto_rawDescGZIP(), []int{3}
}

func (x *LatestReportResponse) GetError() string {
	if x != nil {
		return x.Error
	}
	return ""
}

func (x *LatestReportResponse) GetReport() *Report {
	if x != nil {
		return x.Report
	}
	return nil
}

type Report struct {
	state                 protoimpl.MessageState `protogen:"open.v1"`
	FeedId                []byte                 `protobuf:"bytes,1,opt,name=feedId,proto3" json:"feedId,omitempty"`
	Price                 []byte                 `protobuf:"bytes,2,opt,name=price,proto3" json:"price,omitempty"`
	Payload               []byte                 `protobuf:"bytes,3,opt,name=payload,proto3" json:"payload,omitempty"`
	ValidFromBlockNumber  int64                  `protobuf:"varint,4,opt,name=validFromBlockNumber,proto3" json:"validFromBlockNumber,omitempty"`
	CurrentBlockNumber    int64                  `protobuf:"varint,5,opt,name=currentBlockNumber,proto3" json:"currentBlockNumber,omitempty"`
	CurrentBlockHash      []byte                 `protobuf:"bytes,6,opt,name=currentBlockHash,proto3" json:"currentBlockHash,omitempty"`
	CurrentBlockTimestamp uint64                 `protobuf:"varint,7,opt,name=currentBlockTimestamp,proto3" json:"currentBlockTimestamp,omitempty"`
	ObservationsTimestamp int64                  `protobuf:"varint,8,opt,name=observationsTimestamp,proto3" json:"observationsTimestamp,omitempty"`
	ConfigDigest          []byte                 `protobuf:"bytes,9,opt,name=configDigest,proto3" json:"configDigest,omitempty"`
	Epoch                 uint32                 `protobuf:"varint,10,opt,name=epoch,proto3" json:"epoch,omitempty"`
	Round                 uint32                 `protobuf:"varint,11,opt,name=round,proto3" json:"round,omitempty"`
	OperatorName          string                 `protobuf:"bytes,12,opt,name=operatorName,proto3" json:"operatorName,omitempty"`
	TransmittingOperator  []byte                 `protobuf:"bytes,13,opt,name=transmittingOperator,proto3" json:"transmittingOperator,omitempty"`
	CreatedAt             *Timestamp             `protobuf:"bytes,14,opt,name=createdAt,proto3" json:"createdAt,omitempty"`
	unknownFields         protoimpl.UnknownFields
	sizeCache             protoimpl.SizeCache
}

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

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

func (*Report) ProtoMessage() {}

func (x *Report) ProtoReflect() protoreflect.Message {
	mi := &file_mercury_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 Report.ProtoReflect.Descriptor instead.
func (*Report) Descriptor() ([]byte, []int) {
	return file_mercury_proto_rawDescGZIP(), []int{4}
}

func (x *Report) GetFeedId() []byte {
	if x != nil {
		return x.FeedId
	}
	return nil
}

func (x *Report) GetPrice() []byte {
	if x != nil {
		return x.Price
	}
	return nil
}

func (x *Report) GetPayload() []byte {
	if x != nil {
		return x.Payload
	}
	return nil
}

func (x *Report) GetValidFromBlockNumber() int64 {
	if x != nil {
		return x.ValidFromBlockNumber
	}
	return 0
}

func (x *Report) GetCurrentBlockNumber() int64 {
	if x != nil {
		return x.CurrentBlockNumber
	}
	return 0
}

func (x *Report) GetCurrentBlockHash() []byte {
	if x != nil {
		return x.CurrentBlockHash
	}
	return nil
}

func (x *Report) GetCurrentBlockTimestamp() uint64 {
	if x != nil {
		return x.CurrentBlockTimestamp
	}
	return 0
}

func (x *Report) GetObservationsTimestamp() int64 {
	if x != nil {
		return x.ObservationsTimestamp
	}
	return 0
}

func (x *Report) GetConfigDigest() []byte {
	if x != nil {
		return x.ConfigDigest
	}
	return nil
}

func (x *Report) GetEpoch() uint32 {
	if x != nil {
		return x.Epoch
	}
	return 0
}

func (x *Report) GetRound() uint32 {
	if x != nil {
		return x.Round
	}
	return 0
}

func (x *Report) GetOperatorName() string {
	if x != nil {
		return x.OperatorName
	}
	return ""
}

func (x *Report) GetTransmittingOperator() []byte {
	if x != nil {
		return x.TransmittingOperator
	}
	return nil
}

func (x *Report) GetCreatedAt() *Timestamp {
	if x != nil {
		return x.CreatedAt
	}
	return nil
}

// Taken from: https://github.com/protocolbuffers/protobuf/blob/main/src/google/protobuf/timestamp.proto
type Timestamp struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Represents seconds of UTC time since Unix epoch
	// 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to
	// 9999-12-31T23:59:59Z inclusive.
	Seconds int64 `protobuf:"varint,1,opt,name=seconds,proto3" json:"seconds,omitempty"`
	// Non-negative fractions of a second at nanosecond resolution. Negative
	// second values with fractions must still have non-negative nanos values
	// that count forward in time. Must be from 0 to 999,999,999
	// inclusive.
	Nanos         int32 `protobuf:"varint,2,opt,name=nanos,proto3" json:"nanos,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*Timestamp) ProtoMessage() {}

func (x *Timestamp) ProtoReflect() protoreflect.Message {
	mi := &file_mercury_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 Timestamp.ProtoReflect.Descriptor instead.
func (*Timestamp) Descriptor() ([]byte, []int) {
	return file_mercury_proto_rawDescGZIP(), []int{5}
}

func (x *Timestamp) GetSeconds() int64 {
	if x != nil {
		return x.Seconds
	}
	return 0
}

func (x *Timestamp) GetNanos() int32 {
	if x != nil {
		return x.Nanos
	}
	return 0
}

var File_mercury_proto protoreflect.FileDescriptor

const file_mercury_proto_rawDesc = "" +
	"\n" +
	"\rmercury.proto\x12\x02pb\"O\n" +
	"\x0fTransmitRequest\x12\x18\n" +
	"\apayload\x18\x01 \x01(\fR\apayload\x12\"\n" +
	"\freportFormat\x18\x02 \x01(\rR\freportFormat\"<\n" +
	"\x10TransmitResponse\x12\x12\n" +
	"\x04code\x18\x01 \x01(\x05R\x04code\x12\x14\n" +
	"\x05error\x18\x02 \x01(\tR\x05error\"-\n" +
	"\x13LatestReportRequest\x12\x16\n" +
	"\x06feedId\x18\x01 \x01(\fR\x06feedId\"P\n" +
	"\x14LatestReportResponse\x12\x14\n" +
	"\x05error\x18\x01 \x01(\tR\x05error\x12\"\n" +
	"\x06report\x18\x02 \x01(\v2\n" +
	".pb.ReportR\x06report\"\xa1\x04\n" +
	"\x06Report\x12\x16\n" +
	"\x06feedId\x18\x01 \x01(\fR\x06feedId\x12\x14\n" +
	"\x05price\x18\x02 \x01(\fR\x05price\x12\x18\n" +
	"\apayload\x18\x03 \x01(\fR\apayload\x122\n" +
	"\x14validFromBlockNumber\x18\x04 \x01(\x03R\x14validFromBlockNumber\x12.\n" +
	"\x12currentBlockNumber\x18\x05 \x01(\x03R\x12currentBlockNumber\x12*\n" +
	"\x10currentBlockHash\x18\x06 \x01(\fR\x10currentBlockHash\x124\n" +
	"\x15currentBlockTimestamp\x18\a \x01(\x04R\x15currentBlockTimestamp\x124\n" +
	"\x15observationsTimestamp\x18\b \x01(\x03R\x15observationsTimestamp\x12\"\n" +
	"\fconfigDigest\x18\t \x01(\fR\fconfigDigest\x12\x14\n" +
	"\x05epoch\x18\n" +
	" \x01(\rR\x05epoch\x12\x14\n" +
	"\x05round\x18\v \x01(\rR\x05round\x12\"\n" +
	"\foperatorName\x18\f \x01(\tR\foperatorName\x122\n" +
	"\x14transmittingOperator\x18\r \x01(\fR\x14transmittingOperator\x12+\n" +
	"\tcreatedAt\x18\x0e \x01(\v2\r.pb.TimestampR\tcreatedAt\";\n" +
	"\tTimestamp\x12\x18\n" +
	"\aseconds\x18\x01 \x01(\x03R\aseconds\x12\x14\n" +
	"\x05nanos\x18\x02 \x01(\x05R\x05nanos2\x83\x01\n" +
	"\aMercury\x125\n" +
	"\bTransmit\x12\x13.pb.TransmitRequest\x1a\x14.pb.TransmitResponse\x12A\n" +
	"\fLatestReport\x12\x17.pb.LatestReportRequest\x1a\x18.pb.LatestReportResponseBNZLgithub.com/smartcontractkit/chainlink/v2/services/relay/evm/mercury/wsrpc/pbb\x06proto3"

var (
	file_mercury_proto_rawDescOnce sync.Once
	file_mercury_proto_rawDescData []byte
)

func file_mercury_proto_rawDescGZIP() []byte {
	file_mercury_proto_rawDescOnce.Do(func() {
		file_mercury_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_mercury_proto_rawDesc), len(file_mercury_proto_rawDesc)))
	})
	return file_mercury_proto_rawDescData
}

var file_mercury_proto_msgTypes = make([]protoimpl.MessageInfo, 6)
var file_mercury_proto_goTypes = []any{
	(*TransmitRequest)(nil),      // 0: pb.TransmitRequest
	(*TransmitResponse)(nil),     // 1: pb.TransmitResponse
	(*LatestReportRequest)(nil),  // 2: pb.LatestReportRequest
	(*LatestReportResponse)(nil), // 3: pb.LatestReportResponse
	(*Report)(nil),               // 4: pb.Report
	(*Timestamp)(nil),            // 5: pb.Timestamp
}
var file_mercury_proto_depIdxs = []int32{
	4, // 0: pb.LatestReportResponse.report:type_name -> pb.Report
	5, // 1: pb.Report.createdAt:type_name -> pb.Timestamp
	0, // 2: pb.Mercury.Transmit:input_type -> pb.TransmitRequest
	2, // 3: pb.Mercury.LatestReport:input_type -> pb.LatestReportRequest
	1, // 4: pb.Mercury.Transmit:output_type -> pb.TransmitResponse
	3, // 5: pb.Mercury.LatestReport:output_type -> pb.LatestReportResponse
	4, // [4:6] is the sub-list for method output_type
	2, // [2:4] is the sub-list for method input_type
	2, // [2:2] is the sub-list for extension type_name
	2, // [2:2] is the sub-list for extension extendee
	0, // [0:2] is the sub-list for field type_name
}

func init() { file_mercury_proto_init() }
func file_mercury_proto_init() {
	if File_mercury_proto != nil {
		return
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_mercury_proto_rawDesc), len(file_mercury_proto_rawDesc)),
			NumEnums:      0,
			NumMessages:   6,
			NumExtensions: 0,
			NumServices:   1,
		},
		GoTypes:           file_mercury_proto_goTypes,
		DependencyIndexes: file_mercury_proto_depIdxs,
		MessageInfos:      file_mercury_proto_msgTypes,
	}.Build()
	File_mercury_proto = out.File
	file_mercury_proto_goTypes = nil
	file_mercury_proto_depIdxs = nil
}
