// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.36.11
// 	protoc        v7.35.0
// source: p2psentinel/sentinel.proto

package sentinelproto

import (
	typesproto "github.com/erigontech/erigon/node/gointerfaces/typesproto"
	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 EmptyMessage struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *EmptyMessage) Reset() {
	*x = EmptyMessage{}
	mi := &file_p2psentinel_sentinel_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_p2psentinel_sentinel_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_p2psentinel_sentinel_proto_rawDescGZIP(), []int{0}
}

type SubscriptionData struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Filter        *string                `protobuf:"bytes,1,opt,name=filter,proto3,oneof" json:"filter,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*SubscriptionData) ProtoMessage() {}

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

func (x *SubscriptionData) GetFilter() string {
	if x != nil && x.Filter != nil {
		return *x.Filter
	}
	return ""
}

type Peer struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Pid           string                 `protobuf:"bytes,1,opt,name=pid,proto3" json:"pid,omitempty"`
	State         string                 `protobuf:"bytes,2,opt,name=state,proto3" json:"state,omitempty"`
	Direction     string                 `protobuf:"bytes,3,opt,name=direction,proto3" json:"direction,omitempty"`
	Address       string                 `protobuf:"bytes,4,opt,name=address,proto3" json:"address,omitempty"`
	Enr           string                 `protobuf:"bytes,5,opt,name=enr,proto3" json:"enr,omitempty"`
	AgentVersion  string                 `protobuf:"bytes,6,opt,name=agent_version,json=agentVersion,proto3" json:"agent_version,omitempty"`
	EnodeId       string                 `protobuf:"bytes,7,opt,name=enode_id,json=enodeId,proto3" json:"enode_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*Peer) ProtoMessage() {}

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

func (x *Peer) GetPid() string {
	if x != nil {
		return x.Pid
	}
	return ""
}

func (x *Peer) GetState() string {
	if x != nil {
		return x.State
	}
	return ""
}

func (x *Peer) GetDirection() string {
	if x != nil {
		return x.Direction
	}
	return ""
}

func (x *Peer) GetAddress() string {
	if x != nil {
		return x.Address
	}
	return ""
}

func (x *Peer) GetEnr() string {
	if x != nil {
		return x.Enr
	}
	return ""
}

func (x *Peer) GetAgentVersion() string {
	if x != nil {
		return x.AgentVersion
	}
	return ""
}

func (x *Peer) GetEnodeId() string {
	if x != nil {
		return x.EnodeId
	}
	return ""
}

type PeersInfoRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Direction     *string                `protobuf:"bytes,1,opt,name=direction,proto3,oneof" json:"direction,omitempty"`
	State         *string                `protobuf:"bytes,2,opt,name=state,proto3,oneof" json:"state,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*PeersInfoRequest) ProtoMessage() {}

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

func (x *PeersInfoRequest) GetDirection() string {
	if x != nil && x.Direction != nil {
		return *x.Direction
	}
	return ""
}

func (x *PeersInfoRequest) GetState() string {
	if x != nil && x.State != nil {
		return *x.State
	}
	return ""
}

type PeersInfoResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Peers         []*Peer                `protobuf:"bytes,1,rep,name=peers,proto3" json:"peers,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*PeersInfoResponse) ProtoMessage() {}

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

func (x *PeersInfoResponse) GetPeers() []*Peer {
	if x != nil {
		return x.Peers
	}
	return nil
}

type GossipData struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Data          []byte                 `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"` // SSZ encoded data
	Name          string                 `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	Peer          *Peer                  `protobuf:"bytes,3,opt,name=peer,proto3,oneof" json:"peer,omitempty"`
	SubnetId      *uint64                `protobuf:"varint,4,opt,name=subnet_id,json=subnetId,proto3,oneof" json:"subnet_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*GossipData) ProtoMessage() {}

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

func (x *GossipData) GetData() []byte {
	if x != nil {
		return x.Data
	}
	return nil
}

func (x *GossipData) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *GossipData) GetPeer() *Peer {
	if x != nil {
		return x.Peer
	}
	return nil
}

func (x *GossipData) GetSubnetId() uint64 {
	if x != nil && x.SubnetId != nil {
		return *x.SubnetId
	}
	return 0
}

type Status struct {
	state                 protoimpl.MessageState `protogen:"open.v1"`
	ForkDigest            uint32                 `protobuf:"varint,1,opt,name=fork_digest,json=forkDigest,proto3" json:"fork_digest,omitempty"` // 4 bytes can be repressented in uint32.
	FinalizedRoot         *typesproto.H256       `protobuf:"bytes,2,opt,name=finalized_root,json=finalizedRoot,proto3" json:"finalized_root,omitempty"`
	FinalizedEpoch        uint64                 `protobuf:"varint,3,opt,name=finalized_epoch,json=finalizedEpoch,proto3" json:"finalized_epoch,omitempty"`
	HeadRoot              *typesproto.H256       `protobuf:"bytes,4,opt,name=head_root,json=headRoot,proto3" json:"head_root,omitempty"`
	HeadSlot              uint64                 `protobuf:"varint,5,opt,name=head_slot,json=headSlot,proto3" json:"head_slot,omitempty"`
	EarliestAvailableSlot *uint64                `protobuf:"varint,6,opt,name=earliest_available_slot,json=earliestAvailableSlot,proto3,oneof" json:"earliest_available_slot,omitempty"` // fulu EIP:7594
	unknownFields         protoimpl.UnknownFields
	sizeCache             protoimpl.SizeCache
}

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

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

func (*Status) ProtoMessage() {}

func (x *Status) ProtoReflect() protoreflect.Message {
	mi := &file_p2psentinel_sentinel_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 Status.ProtoReflect.Descriptor instead.
func (*Status) Descriptor() ([]byte, []int) {
	return file_p2psentinel_sentinel_proto_rawDescGZIP(), []int{6}
}

func (x *Status) GetForkDigest() uint32 {
	if x != nil {
		return x.ForkDigest
	}
	return 0
}

func (x *Status) GetFinalizedRoot() *typesproto.H256 {
	if x != nil {
		return x.FinalizedRoot
	}
	return nil
}

func (x *Status) GetFinalizedEpoch() uint64 {
	if x != nil {
		return x.FinalizedEpoch
	}
	return 0
}

func (x *Status) GetHeadRoot() *typesproto.H256 {
	if x != nil {
		return x.HeadRoot
	}
	return nil
}

func (x *Status) GetHeadSlot() uint64 {
	if x != nil {
		return x.HeadSlot
	}
	return 0
}

func (x *Status) GetEarliestAvailableSlot() uint64 {
	if x != nil && x.EarliestAvailableSlot != nil {
		return *x.EarliestAvailableSlot
	}
	return 0
}

type PeerCount struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Active        uint64                 `protobuf:"varint,1,opt,name=active,proto3" json:"active,omitempty"` // Amount of peers that are active.
	Connected     uint64                 `protobuf:"varint,2,opt,name=connected,proto3" json:"connected,omitempty"`
	Disconnected  uint64                 `protobuf:"varint,3,opt,name=disconnected,proto3" json:"disconnected,omitempty"`
	Connecting    uint64                 `protobuf:"varint,4,opt,name=connecting,proto3" json:"connecting,omitempty"`
	Disconnecting uint64                 `protobuf:"varint,5,opt,name=disconnecting,proto3" json:"disconnecting,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*PeerCount) ProtoMessage() {}

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

func (x *PeerCount) GetActive() uint64 {
	if x != nil {
		return x.Active
	}
	return 0
}

func (x *PeerCount) GetConnected() uint64 {
	if x != nil {
		return x.Connected
	}
	return 0
}

func (x *PeerCount) GetDisconnected() uint64 {
	if x != nil {
		return x.Disconnected
	}
	return 0
}

func (x *PeerCount) GetConnecting() uint64 {
	if x != nil {
		return x.Connecting
	}
	return 0
}

func (x *PeerCount) GetDisconnecting() uint64 {
	if x != nil {
		return x.Disconnecting
	}
	return 0
}

type RequestData struct {
	state            protoimpl.MessageState `protogen:"open.v1"`
	Data             []byte                 `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"` // SSZ encoded data
	Topic            string                 `protobuf:"bytes,2,opt,name=topic,proto3" json:"topic,omitempty"`
	MaxResponseBytes uint64                 `protobuf:"varint,3,opt,name=max_response_bytes,json=maxResponseBytes,proto3" json:"max_response_bytes,omitempty"` // upper bound on the response body size; sizes the response-body cap (0 = unknown)
	unknownFields    protoimpl.UnknownFields
	sizeCache        protoimpl.SizeCache
}

func (x *RequestData) Reset() {
	*x = RequestData{}
	mi := &file_p2psentinel_sentinel_proto_msgTypes[8]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*RequestData) ProtoMessage() {}

func (x *RequestData) ProtoReflect() protoreflect.Message {
	mi := &file_p2psentinel_sentinel_proto_msgTypes[8]
	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 RequestData.ProtoReflect.Descriptor instead.
func (*RequestData) Descriptor() ([]byte, []int) {
	return file_p2psentinel_sentinel_proto_rawDescGZIP(), []int{8}
}

func (x *RequestData) GetData() []byte {
	if x != nil {
		return x.Data
	}
	return nil
}

func (x *RequestData) GetTopic() string {
	if x != nil {
		return x.Topic
	}
	return ""
}

func (x *RequestData) GetMaxResponseBytes() uint64 {
	if x != nil {
		return x.MaxResponseBytes
	}
	return 0
}

type RequestDataWithPeer struct {
	state            protoimpl.MessageState `protogen:"open.v1"`
	Data             []byte                 `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"` // SSZ encoded data
	Topic            string                 `protobuf:"bytes,2,opt,name=topic,proto3" json:"topic,omitempty"`
	Pid              string                 `protobuf:"bytes,3,opt,name=pid,proto3" json:"pid,omitempty"`                                                      // Peer to send the request to.
	MaxResponseBytes uint64                 `protobuf:"varint,4,opt,name=max_response_bytes,json=maxResponseBytes,proto3" json:"max_response_bytes,omitempty"` // upper bound on the response body size; sizes the response-body cap (0 = unknown)
	unknownFields    protoimpl.UnknownFields
	sizeCache        protoimpl.SizeCache
}

func (x *RequestDataWithPeer) Reset() {
	*x = RequestDataWithPeer{}
	mi := &file_p2psentinel_sentinel_proto_msgTypes[9]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*RequestDataWithPeer) ProtoMessage() {}

func (x *RequestDataWithPeer) ProtoReflect() protoreflect.Message {
	mi := &file_p2psentinel_sentinel_proto_msgTypes[9]
	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 RequestDataWithPeer.ProtoReflect.Descriptor instead.
func (*RequestDataWithPeer) Descriptor() ([]byte, []int) {
	return file_p2psentinel_sentinel_proto_rawDescGZIP(), []int{9}
}

func (x *RequestDataWithPeer) GetData() []byte {
	if x != nil {
		return x.Data
	}
	return nil
}

func (x *RequestDataWithPeer) GetTopic() string {
	if x != nil {
		return x.Topic
	}
	return ""
}

func (x *RequestDataWithPeer) GetPid() string {
	if x != nil {
		return x.Pid
	}
	return ""
}

func (x *RequestDataWithPeer) GetMaxResponseBytes() uint64 {
	if x != nil {
		return x.MaxResponseBytes
	}
	return 0
}

type ResponseData struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Data          []byte                 `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"`    // prefix-stripped SSZ encoded data
	Error         bool                   `protobuf:"varint,2,opt,name=error,proto3" json:"error,omitempty"` // did the peer encounter an error
	Peer          *Peer                  `protobuf:"bytes,3,opt,name=peer,proto3" json:"peer,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ResponseData) Reset() {
	*x = ResponseData{}
	mi := &file_p2psentinel_sentinel_proto_msgTypes[10]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ResponseData) ProtoMessage() {}

func (x *ResponseData) ProtoReflect() protoreflect.Message {
	mi := &file_p2psentinel_sentinel_proto_msgTypes[10]
	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 ResponseData.ProtoReflect.Descriptor instead.
func (*ResponseData) Descriptor() ([]byte, []int) {
	return file_p2psentinel_sentinel_proto_rawDescGZIP(), []int{10}
}

func (x *ResponseData) GetData() []byte {
	if x != nil {
		return x.Data
	}
	return nil
}

func (x *ResponseData) GetError() bool {
	if x != nil {
		return x.Error
	}
	return false
}

func (x *ResponseData) GetPeer() *Peer {
	if x != nil {
		return x.Peer
	}
	return nil
}

type Metadata struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Seq           uint64                 `protobuf:"varint,1,opt,name=seq,proto3" json:"seq,omitempty"`
	Attnets       string                 `protobuf:"bytes,2,opt,name=attnets,proto3" json:"attnets,omitempty"`
	Syncnets      string                 `protobuf:"bytes,3,opt,name=syncnets,proto3" json:"syncnets,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Metadata) Reset() {
	*x = Metadata{}
	mi := &file_p2psentinel_sentinel_proto_msgTypes[11]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*Metadata) ProtoMessage() {}

func (x *Metadata) ProtoReflect() protoreflect.Message {
	mi := &file_p2psentinel_sentinel_proto_msgTypes[11]
	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 Metadata.ProtoReflect.Descriptor instead.
func (*Metadata) Descriptor() ([]byte, []int) {
	return file_p2psentinel_sentinel_proto_rawDescGZIP(), []int{11}
}

func (x *Metadata) GetSeq() uint64 {
	if x != nil {
		return x.Seq
	}
	return 0
}

func (x *Metadata) GetAttnets() string {
	if x != nil {
		return x.Attnets
	}
	return ""
}

func (x *Metadata) GetSyncnets() string {
	if x != nil {
		return x.Syncnets
	}
	return ""
}

type IdentityResponse struct {
	state              protoimpl.MessageState `protogen:"open.v1"`
	Pid                string                 `protobuf:"bytes,1,opt,name=pid,proto3" json:"pid,omitempty"`
	Enr                string                 `protobuf:"bytes,2,opt,name=enr,proto3" json:"enr,omitempty"`
	P2PAddresses       []string               `protobuf:"bytes,3,rep,name=p2p_addresses,json=p2pAddresses,proto3" json:"p2p_addresses,omitempty"`
	DiscoveryAddresses []string               `protobuf:"bytes,4,rep,name=discovery_addresses,json=discoveryAddresses,proto3" json:"discovery_addresses,omitempty"`
	Metadata           *Metadata              `protobuf:"bytes,5,opt,name=metadata,proto3" json:"metadata,omitempty"`
	unknownFields      protoimpl.UnknownFields
	sizeCache          protoimpl.SizeCache
}

func (x *IdentityResponse) Reset() {
	*x = IdentityResponse{}
	mi := &file_p2psentinel_sentinel_proto_msgTypes[12]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*IdentityResponse) ProtoMessage() {}

func (x *IdentityResponse) ProtoReflect() protoreflect.Message {
	mi := &file_p2psentinel_sentinel_proto_msgTypes[12]
	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 IdentityResponse.ProtoReflect.Descriptor instead.
func (*IdentityResponse) Descriptor() ([]byte, []int) {
	return file_p2psentinel_sentinel_proto_rawDescGZIP(), []int{12}
}

func (x *IdentityResponse) GetPid() string {
	if x != nil {
		return x.Pid
	}
	return ""
}

func (x *IdentityResponse) GetEnr() string {
	if x != nil {
		return x.Enr
	}
	return ""
}

func (x *IdentityResponse) GetP2PAddresses() []string {
	if x != nil {
		return x.P2PAddresses
	}
	return nil
}

func (x *IdentityResponse) GetDiscoveryAddresses() []string {
	if x != nil {
		return x.DiscoveryAddresses
	}
	return nil
}

func (x *IdentityResponse) GetMetadata() *Metadata {
	if x != nil {
		return x.Metadata
	}
	return nil
}

type RequestSubscribeExpiry struct {
	state          protoimpl.MessageState `protogen:"open.v1"`
	Topic          string                 `protobuf:"bytes,1,opt,name=topic,proto3" json:"topic,omitempty"`
	ExpiryUnixSecs uint64                 `protobuf:"varint,2,opt,name=expiry_unix_secs,json=expiryUnixSecs,proto3" json:"expiry_unix_secs,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *RequestSubscribeExpiry) Reset() {
	*x = RequestSubscribeExpiry{}
	mi := &file_p2psentinel_sentinel_proto_msgTypes[13]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*RequestSubscribeExpiry) ProtoMessage() {}

func (x *RequestSubscribeExpiry) ProtoReflect() protoreflect.Message {
	mi := &file_p2psentinel_sentinel_proto_msgTypes[13]
	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 RequestSubscribeExpiry.ProtoReflect.Descriptor instead.
func (*RequestSubscribeExpiry) Descriptor() ([]byte, []int) {
	return file_p2psentinel_sentinel_proto_rawDescGZIP(), []int{13}
}

func (x *RequestSubscribeExpiry) GetTopic() string {
	if x != nil {
		return x.Topic
	}
	return ""
}

func (x *RequestSubscribeExpiry) GetExpiryUnixSecs() uint64 {
	if x != nil {
		return x.ExpiryUnixSecs
	}
	return 0
}

var File_p2psentinel_sentinel_proto protoreflect.FileDescriptor

const file_p2psentinel_sentinel_proto_rawDesc = "" +
	"\n" +
	"\x1ap2psentinel/sentinel.proto\x12\bsentinel\x1a\x11types/types.proto\"\x0e\n" +
	"\fEmptyMessage\":\n" +
	"\x10SubscriptionData\x12\x1b\n" +
	"\x06filter\x18\x01 \x01(\tH\x00R\x06filter\x88\x01\x01B\t\n" +
	"\a_filter\"\xb8\x01\n" +
	"\x04Peer\x12\x10\n" +
	"\x03pid\x18\x01 \x01(\tR\x03pid\x12\x14\n" +
	"\x05state\x18\x02 \x01(\tR\x05state\x12\x1c\n" +
	"\tdirection\x18\x03 \x01(\tR\tdirection\x12\x18\n" +
	"\aaddress\x18\x04 \x01(\tR\aaddress\x12\x10\n" +
	"\x03enr\x18\x05 \x01(\tR\x03enr\x12#\n" +
	"\ragent_version\x18\x06 \x01(\tR\fagentVersion\x12\x19\n" +
	"\benode_id\x18\a \x01(\tR\aenodeId\"h\n" +
	"\x10PeersInfoRequest\x12!\n" +
	"\tdirection\x18\x01 \x01(\tH\x00R\tdirection\x88\x01\x01\x12\x19\n" +
	"\x05state\x18\x02 \x01(\tH\x01R\x05state\x88\x01\x01B\f\n" +
	"\n" +
	"_directionB\b\n" +
	"\x06_state\"9\n" +
	"\x11PeersInfoResponse\x12$\n" +
	"\x05peers\x18\x01 \x03(\v2\x0e.sentinel.PeerR\x05peers\"\x96\x01\n" +
	"\n" +
	"GossipData\x12\x12\n" +
	"\x04data\x18\x01 \x01(\fR\x04data\x12\x12\n" +
	"\x04name\x18\x02 \x01(\tR\x04name\x12'\n" +
	"\x04peer\x18\x03 \x01(\v2\x0e.sentinel.PeerH\x00R\x04peer\x88\x01\x01\x12 \n" +
	"\tsubnet_id\x18\x04 \x01(\x04H\x01R\bsubnetId\x88\x01\x01B\a\n" +
	"\x05_peerB\f\n" +
	"\n" +
	"_subnet_id\"\xa6\x02\n" +
	"\x06Status\x12\x1f\n" +
	"\vfork_digest\x18\x01 \x01(\rR\n" +
	"forkDigest\x122\n" +
	"\x0efinalized_root\x18\x02 \x01(\v2\v.types.H256R\rfinalizedRoot\x12'\n" +
	"\x0ffinalized_epoch\x18\x03 \x01(\x04R\x0efinalizedEpoch\x12(\n" +
	"\thead_root\x18\x04 \x01(\v2\v.types.H256R\bheadRoot\x12\x1b\n" +
	"\thead_slot\x18\x05 \x01(\x04R\bheadSlot\x12;\n" +
	"\x17earliest_available_slot\x18\x06 \x01(\x04H\x00R\x15earliestAvailableSlot\x88\x01\x01B\x1a\n" +
	"\x18_earliest_available_slot\"\xab\x01\n" +
	"\tPeerCount\x12\x16\n" +
	"\x06active\x18\x01 \x01(\x04R\x06active\x12\x1c\n" +
	"\tconnected\x18\x02 \x01(\x04R\tconnected\x12\"\n" +
	"\fdisconnected\x18\x03 \x01(\x04R\fdisconnected\x12\x1e\n" +
	"\n" +
	"connecting\x18\x04 \x01(\x04R\n" +
	"connecting\x12$\n" +
	"\rdisconnecting\x18\x05 \x01(\x04R\rdisconnecting\"e\n" +
	"\vRequestData\x12\x12\n" +
	"\x04data\x18\x01 \x01(\fR\x04data\x12\x14\n" +
	"\x05topic\x18\x02 \x01(\tR\x05topic\x12,\n" +
	"\x12max_response_bytes\x18\x03 \x01(\x04R\x10maxResponseBytes\"\x7f\n" +
	"\x13RequestDataWithPeer\x12\x12\n" +
	"\x04data\x18\x01 \x01(\fR\x04data\x12\x14\n" +
	"\x05topic\x18\x02 \x01(\tR\x05topic\x12\x10\n" +
	"\x03pid\x18\x03 \x01(\tR\x03pid\x12,\n" +
	"\x12max_response_bytes\x18\x04 \x01(\x04R\x10maxResponseBytes\"\\\n" +
	"\fResponseData\x12\x12\n" +
	"\x04data\x18\x01 \x01(\fR\x04data\x12\x14\n" +
	"\x05error\x18\x02 \x01(\bR\x05error\x12\"\n" +
	"\x04peer\x18\x03 \x01(\v2\x0e.sentinel.PeerR\x04peer\"R\n" +
	"\bMetadata\x12\x10\n" +
	"\x03seq\x18\x01 \x01(\x04R\x03seq\x12\x18\n" +
	"\aattnets\x18\x02 \x01(\tR\aattnets\x12\x1a\n" +
	"\bsyncnets\x18\x03 \x01(\tR\bsyncnets\"\xbc\x01\n" +
	"\x10IdentityResponse\x12\x10\n" +
	"\x03pid\x18\x01 \x01(\tR\x03pid\x12\x10\n" +
	"\x03enr\x18\x02 \x01(\tR\x03enr\x12#\n" +
	"\rp2p_addresses\x18\x03 \x03(\tR\fp2pAddresses\x12/\n" +
	"\x13discovery_addresses\x18\x04 \x03(\tR\x12discoveryAddresses\x12.\n" +
	"\bmetadata\x18\x05 \x01(\v2\x12.sentinel.MetadataR\bmetadata\"X\n" +
	"\x16RequestSubscribeExpiry\x12\x14\n" +
	"\x05topic\x18\x01 \x01(\tR\x05topic\x12(\n" +
	"\x10expiry_unix_secs\x18\x02 \x01(\x04R\x0eexpiryUnixSecs2\xb4\x06\n" +
	"\bSentinel\x12N\n" +
	"\x12SetSubscribeExpiry\x12 .sentinel.RequestSubscribeExpiry\x1a\x16.sentinel.EmptyMessage\x12E\n" +
	"\x0fSubscribeGossip\x12\x1a.sentinel.SubscriptionData\x1a\x14.sentinel.GossipData0\x01\x12<\n" +
	"\vSendRequest\x12\x15.sentinel.RequestData\x1a\x16.sentinel.ResponseData\x125\n" +
	"\tSetStatus\x12\x10.sentinel.Status\x1a\x16.sentinel.EmptyMessage\x127\n" +
	"\bGetPeers\x12\x16.sentinel.EmptyMessage\x1a\x13.sentinel.PeerCount\x121\n" +
	"\aBanPeer\x12\x0e.sentinel.Peer\x1a\x16.sentinel.EmptyMessage\x123\n" +
	"\tUnbanPeer\x12\x0e.sentinel.Peer\x1a\x16.sentinel.EmptyMessage\x126\n" +
	"\fPenalizePeer\x12\x0e.sentinel.Peer\x1a\x16.sentinel.EmptyMessage\x124\n" +
	"\n" +
	"RewardPeer\x12\x0e.sentinel.Peer\x1a\x16.sentinel.EmptyMessage\x12=\n" +
	"\rPublishGossip\x12\x14.sentinel.GossipData\x1a\x16.sentinel.EmptyMessage\x12>\n" +
	"\bIdentity\x12\x16.sentinel.EmptyMessage\x1a\x1a.sentinel.IdentityResponse\x12D\n" +
	"\tPeersInfo\x12\x1a.sentinel.PeersInfoRequest\x1a\x1b.sentinel.PeersInfoResponse\x12H\n" +
	"\x0fSendPeerRequest\x12\x1d.sentinel.RequestDataWithPeer\x1a\x16.sentinel.ResponseDataB\x1aZ\x18./sentinel;sentinelprotob\x06proto3"

var (
	file_p2psentinel_sentinel_proto_rawDescOnce sync.Once
	file_p2psentinel_sentinel_proto_rawDescData []byte
)

func file_p2psentinel_sentinel_proto_rawDescGZIP() []byte {
	file_p2psentinel_sentinel_proto_rawDescOnce.Do(func() {
		file_p2psentinel_sentinel_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_p2psentinel_sentinel_proto_rawDesc), len(file_p2psentinel_sentinel_proto_rawDesc)))
	})
	return file_p2psentinel_sentinel_proto_rawDescData
}

var file_p2psentinel_sentinel_proto_msgTypes = make([]protoimpl.MessageInfo, 14)
var file_p2psentinel_sentinel_proto_goTypes = []any{
	(*EmptyMessage)(nil),           // 0: sentinel.EmptyMessage
	(*SubscriptionData)(nil),       // 1: sentinel.SubscriptionData
	(*Peer)(nil),                   // 2: sentinel.Peer
	(*PeersInfoRequest)(nil),       // 3: sentinel.PeersInfoRequest
	(*PeersInfoResponse)(nil),      // 4: sentinel.PeersInfoResponse
	(*GossipData)(nil),             // 5: sentinel.GossipData
	(*Status)(nil),                 // 6: sentinel.Status
	(*PeerCount)(nil),              // 7: sentinel.PeerCount
	(*RequestData)(nil),            // 8: sentinel.RequestData
	(*RequestDataWithPeer)(nil),    // 9: sentinel.RequestDataWithPeer
	(*ResponseData)(nil),           // 10: sentinel.ResponseData
	(*Metadata)(nil),               // 11: sentinel.Metadata
	(*IdentityResponse)(nil),       // 12: sentinel.IdentityResponse
	(*RequestSubscribeExpiry)(nil), // 13: sentinel.RequestSubscribeExpiry
	(*typesproto.H256)(nil),        // 14: types.H256
}
var file_p2psentinel_sentinel_proto_depIdxs = []int32{
	2,  // 0: sentinel.PeersInfoResponse.peers:type_name -> sentinel.Peer
	2,  // 1: sentinel.GossipData.peer:type_name -> sentinel.Peer
	14, // 2: sentinel.Status.finalized_root:type_name -> types.H256
	14, // 3: sentinel.Status.head_root:type_name -> types.H256
	2,  // 4: sentinel.ResponseData.peer:type_name -> sentinel.Peer
	11, // 5: sentinel.IdentityResponse.metadata:type_name -> sentinel.Metadata
	13, // 6: sentinel.Sentinel.SetSubscribeExpiry:input_type -> sentinel.RequestSubscribeExpiry
	1,  // 7: sentinel.Sentinel.SubscribeGossip:input_type -> sentinel.SubscriptionData
	8,  // 8: sentinel.Sentinel.SendRequest:input_type -> sentinel.RequestData
	6,  // 9: sentinel.Sentinel.SetStatus:input_type -> sentinel.Status
	0,  // 10: sentinel.Sentinel.GetPeers:input_type -> sentinel.EmptyMessage
	2,  // 11: sentinel.Sentinel.BanPeer:input_type -> sentinel.Peer
	2,  // 12: sentinel.Sentinel.UnbanPeer:input_type -> sentinel.Peer
	2,  // 13: sentinel.Sentinel.PenalizePeer:input_type -> sentinel.Peer
	2,  // 14: sentinel.Sentinel.RewardPeer:input_type -> sentinel.Peer
	5,  // 15: sentinel.Sentinel.PublishGossip:input_type -> sentinel.GossipData
	0,  // 16: sentinel.Sentinel.Identity:input_type -> sentinel.EmptyMessage
	3,  // 17: sentinel.Sentinel.PeersInfo:input_type -> sentinel.PeersInfoRequest
	9,  // 18: sentinel.Sentinel.SendPeerRequest:input_type -> sentinel.RequestDataWithPeer
	0,  // 19: sentinel.Sentinel.SetSubscribeExpiry:output_type -> sentinel.EmptyMessage
	5,  // 20: sentinel.Sentinel.SubscribeGossip:output_type -> sentinel.GossipData
	10, // 21: sentinel.Sentinel.SendRequest:output_type -> sentinel.ResponseData
	0,  // 22: sentinel.Sentinel.SetStatus:output_type -> sentinel.EmptyMessage
	7,  // 23: sentinel.Sentinel.GetPeers:output_type -> sentinel.PeerCount
	0,  // 24: sentinel.Sentinel.BanPeer:output_type -> sentinel.EmptyMessage
	0,  // 25: sentinel.Sentinel.UnbanPeer:output_type -> sentinel.EmptyMessage
	0,  // 26: sentinel.Sentinel.PenalizePeer:output_type -> sentinel.EmptyMessage
	0,  // 27: sentinel.Sentinel.RewardPeer:output_type -> sentinel.EmptyMessage
	0,  // 28: sentinel.Sentinel.PublishGossip:output_type -> sentinel.EmptyMessage
	12, // 29: sentinel.Sentinel.Identity:output_type -> sentinel.IdentityResponse
	4,  // 30: sentinel.Sentinel.PeersInfo:output_type -> sentinel.PeersInfoResponse
	10, // 31: sentinel.Sentinel.SendPeerRequest:output_type -> sentinel.ResponseData
	19, // [19:32] is the sub-list for method output_type
	6,  // [6:19] is the sub-list for method input_type
	6,  // [6:6] is the sub-list for extension type_name
	6,  // [6:6] is the sub-list for extension extendee
	0,  // [0:6] is the sub-list for field type_name
}

func init() { file_p2psentinel_sentinel_proto_init() }
func file_p2psentinel_sentinel_proto_init() {
	if File_p2psentinel_sentinel_proto != nil {
		return
	}
	file_p2psentinel_sentinel_proto_msgTypes[1].OneofWrappers = []any{}
	file_p2psentinel_sentinel_proto_msgTypes[3].OneofWrappers = []any{}
	file_p2psentinel_sentinel_proto_msgTypes[5].OneofWrappers = []any{}
	file_p2psentinel_sentinel_proto_msgTypes[6].OneofWrappers = []any{}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_p2psentinel_sentinel_proto_rawDesc), len(file_p2psentinel_sentinel_proto_rawDesc)),
			NumEnums:      0,
			NumMessages:   14,
			NumExtensions: 0,
			NumServices:   1,
		},
		GoTypes:           file_p2psentinel_sentinel_proto_goTypes,
		DependencyIndexes: file_p2psentinel_sentinel_proto_depIdxs,
		MessageInfos:      file_p2psentinel_sentinel_proto_msgTypes,
	}.Build()
	File_p2psentinel_sentinel_proto = out.File
	file_p2psentinel_sentinel_proto_goTypes = nil
	file_p2psentinel_sentinel_proto_depIdxs = nil
}
