// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.36.11
// 	protoc        v6.33.1
// source: p2psentry/sentry.proto

package sentryproto

import (
	typesproto "github.com/erigontech/erigon/node/gointerfaces/typesproto"
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	emptypb "google.golang.org/protobuf/types/known/emptypb"
	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 MessageId int32

const (
	MessageId_STATUS_65                        MessageId = 0
	MessageId_GET_BLOCK_HEADERS_65             MessageId = 1
	MessageId_BLOCK_HEADERS_65                 MessageId = 2
	MessageId_BLOCK_HASHES_65                  MessageId = 3
	MessageId_GET_BLOCK_BODIES_65              MessageId = 4
	MessageId_BLOCK_BODIES_65                  MessageId = 5
	MessageId_GET_NODE_DATA_65                 MessageId = 6
	MessageId_NODE_DATA_65                     MessageId = 7
	MessageId_GET_RECEIPTS_65                  MessageId = 8
	MessageId_RECEIPTS_65                      MessageId = 9
	MessageId_NEW_BLOCK_HASHES_65              MessageId = 10
	MessageId_NEW_BLOCK_65                     MessageId = 11
	MessageId_TRANSACTIONS_65                  MessageId = 12
	MessageId_NEW_POOLED_TRANSACTION_HASHES_65 MessageId = 13
	MessageId_GET_POOLED_TRANSACTIONS_65       MessageId = 14
	MessageId_POOLED_TRANSACTIONS_65           MessageId = 15
	// eth64 announcement messages (no id)
	MessageId_STATUS_66           MessageId = 17
	MessageId_NEW_BLOCK_HASHES_66 MessageId = 18
	MessageId_NEW_BLOCK_66        MessageId = 19
	MessageId_TRANSACTIONS_66     MessageId = 20
	// eth65 announcement messages (no id)
	MessageId_NEW_POOLED_TRANSACTION_HASHES_66 MessageId = 21
	// eth66 messages with request-id
	MessageId_GET_BLOCK_HEADERS_66       MessageId = 22
	MessageId_GET_BLOCK_BODIES_66        MessageId = 23
	MessageId_GET_NODE_DATA_66           MessageId = 24
	MessageId_GET_RECEIPTS_66            MessageId = 25
	MessageId_GET_POOLED_TRANSACTIONS_66 MessageId = 26
	MessageId_BLOCK_HEADERS_66           MessageId = 27
	MessageId_BLOCK_BODIES_66            MessageId = 28
	MessageId_NODE_DATA_66               MessageId = 29
	MessageId_RECEIPTS_66                MessageId = 30
	MessageId_POOLED_TRANSACTIONS_66     MessageId = 31
	// ======= eth 68 protocol ===========
	MessageId_NEW_POOLED_TRANSACTION_HASHES_68 MessageId = 32
	// ======= wit protocol ===========
	MessageId_GET_BLOCK_WITNESS_W0  MessageId = 33
	MessageId_BLOCK_WITNESS_W0      MessageId = 34
	MessageId_NEW_WITNESS_W0        MessageId = 35
	MessageId_NEW_WITNESS_HASHES_W0 MessageId = 36
	// ======= eth 69 protocol ===========
	MessageId_STATUS_69             MessageId = 37
	MessageId_GET_RECEIPTS_69       MessageId = 38
	MessageId_BLOCK_RANGE_UPDATE_69 MessageId = 39
)

// Enum value maps for MessageId.
var (
	MessageId_name = map[int32]string{
		0:  "STATUS_65",
		1:  "GET_BLOCK_HEADERS_65",
		2:  "BLOCK_HEADERS_65",
		3:  "BLOCK_HASHES_65",
		4:  "GET_BLOCK_BODIES_65",
		5:  "BLOCK_BODIES_65",
		6:  "GET_NODE_DATA_65",
		7:  "NODE_DATA_65",
		8:  "GET_RECEIPTS_65",
		9:  "RECEIPTS_65",
		10: "NEW_BLOCK_HASHES_65",
		11: "NEW_BLOCK_65",
		12: "TRANSACTIONS_65",
		13: "NEW_POOLED_TRANSACTION_HASHES_65",
		14: "GET_POOLED_TRANSACTIONS_65",
		15: "POOLED_TRANSACTIONS_65",
		17: "STATUS_66",
		18: "NEW_BLOCK_HASHES_66",
		19: "NEW_BLOCK_66",
		20: "TRANSACTIONS_66",
		21: "NEW_POOLED_TRANSACTION_HASHES_66",
		22: "GET_BLOCK_HEADERS_66",
		23: "GET_BLOCK_BODIES_66",
		24: "GET_NODE_DATA_66",
		25: "GET_RECEIPTS_66",
		26: "GET_POOLED_TRANSACTIONS_66",
		27: "BLOCK_HEADERS_66",
		28: "BLOCK_BODIES_66",
		29: "NODE_DATA_66",
		30: "RECEIPTS_66",
		31: "POOLED_TRANSACTIONS_66",
		32: "NEW_POOLED_TRANSACTION_HASHES_68",
		33: "GET_BLOCK_WITNESS_W0",
		34: "BLOCK_WITNESS_W0",
		35: "NEW_WITNESS_W0",
		36: "NEW_WITNESS_HASHES_W0",
		37: "STATUS_69",
		38: "GET_RECEIPTS_69",
		39: "BLOCK_RANGE_UPDATE_69",
	}
	MessageId_value = map[string]int32{
		"STATUS_65":                        0,
		"GET_BLOCK_HEADERS_65":             1,
		"BLOCK_HEADERS_65":                 2,
		"BLOCK_HASHES_65":                  3,
		"GET_BLOCK_BODIES_65":              4,
		"BLOCK_BODIES_65":                  5,
		"GET_NODE_DATA_65":                 6,
		"NODE_DATA_65":                     7,
		"GET_RECEIPTS_65":                  8,
		"RECEIPTS_65":                      9,
		"NEW_BLOCK_HASHES_65":              10,
		"NEW_BLOCK_65":                     11,
		"TRANSACTIONS_65":                  12,
		"NEW_POOLED_TRANSACTION_HASHES_65": 13,
		"GET_POOLED_TRANSACTIONS_65":       14,
		"POOLED_TRANSACTIONS_65":           15,
		"STATUS_66":                        17,
		"NEW_BLOCK_HASHES_66":              18,
		"NEW_BLOCK_66":                     19,
		"TRANSACTIONS_66":                  20,
		"NEW_POOLED_TRANSACTION_HASHES_66": 21,
		"GET_BLOCK_HEADERS_66":             22,
		"GET_BLOCK_BODIES_66":              23,
		"GET_NODE_DATA_66":                 24,
		"GET_RECEIPTS_66":                  25,
		"GET_POOLED_TRANSACTIONS_66":       26,
		"BLOCK_HEADERS_66":                 27,
		"BLOCK_BODIES_66":                  28,
		"NODE_DATA_66":                     29,
		"RECEIPTS_66":                      30,
		"POOLED_TRANSACTIONS_66":           31,
		"NEW_POOLED_TRANSACTION_HASHES_68": 32,
		"GET_BLOCK_WITNESS_W0":             33,
		"BLOCK_WITNESS_W0":                 34,
		"NEW_WITNESS_W0":                   35,
		"NEW_WITNESS_HASHES_W0":            36,
		"STATUS_69":                        37,
		"GET_RECEIPTS_69":                  38,
		"BLOCK_RANGE_UPDATE_69":            39,
	}
)

func (x MessageId) Enum() *MessageId {
	p := new(MessageId)
	*p = x
	return p
}

func (x MessageId) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (MessageId) Descriptor() protoreflect.EnumDescriptor {
	return file_p2psentry_sentry_proto_enumTypes[0].Descriptor()
}

func (MessageId) Type() protoreflect.EnumType {
	return &file_p2psentry_sentry_proto_enumTypes[0]
}

func (x MessageId) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use MessageId.Descriptor instead.
func (MessageId) EnumDescriptor() ([]byte, []int) {
	return file_p2psentry_sentry_proto_rawDescGZIP(), []int{0}
}

type PenaltyKind int32

const (
	PenaltyKind_Kick PenaltyKind = 0
)

// Enum value maps for PenaltyKind.
var (
	PenaltyKind_name = map[int32]string{
		0: "Kick",
	}
	PenaltyKind_value = map[string]int32{
		"Kick": 0,
	}
)

func (x PenaltyKind) Enum() *PenaltyKind {
	p := new(PenaltyKind)
	*p = x
	return p
}

func (x PenaltyKind) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (PenaltyKind) Descriptor() protoreflect.EnumDescriptor {
	return file_p2psentry_sentry_proto_enumTypes[1].Descriptor()
}

func (PenaltyKind) Type() protoreflect.EnumType {
	return &file_p2psentry_sentry_proto_enumTypes[1]
}

func (x PenaltyKind) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use PenaltyKind.Descriptor instead.
func (PenaltyKind) EnumDescriptor() ([]byte, []int) {
	return file_p2psentry_sentry_proto_rawDescGZIP(), []int{1}
}

type Protocol int32

const (
	Protocol_ETH65 Protocol = 0
	Protocol_ETH66 Protocol = 1
	Protocol_ETH67 Protocol = 2
	Protocol_ETH68 Protocol = 3
	Protocol_ETH69 Protocol = 4
	Protocol_WIT0  Protocol = 5
)

// Enum value maps for Protocol.
var (
	Protocol_name = map[int32]string{
		0: "ETH65",
		1: "ETH66",
		2: "ETH67",
		3: "ETH68",
		4: "ETH69",
		5: "WIT0",
	}
	Protocol_value = map[string]int32{
		"ETH65": 0,
		"ETH66": 1,
		"ETH67": 2,
		"ETH68": 3,
		"ETH69": 4,
		"WIT0":  5,
	}
)

func (x Protocol) Enum() *Protocol {
	p := new(Protocol)
	*p = x
	return p
}

func (x Protocol) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (Protocol) Descriptor() protoreflect.EnumDescriptor {
	return file_p2psentry_sentry_proto_enumTypes[2].Descriptor()
}

func (Protocol) Type() protoreflect.EnumType {
	return &file_p2psentry_sentry_proto_enumTypes[2]
}

func (x Protocol) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use Protocol.Descriptor instead.
func (Protocol) EnumDescriptor() ([]byte, []int) {
	return file_p2psentry_sentry_proto_rawDescGZIP(), []int{2}
}

type PeerEvent_PeerEventId int32

const (
	// Happens after after a successful sub-protocol handshake.
	PeerEvent_Connect    PeerEvent_PeerEventId = 0
	PeerEvent_Disconnect PeerEvent_PeerEventId = 1
)

// Enum value maps for PeerEvent_PeerEventId.
var (
	PeerEvent_PeerEventId_name = map[int32]string{
		0: "Connect",
		1: "Disconnect",
	}
	PeerEvent_PeerEventId_value = map[string]int32{
		"Connect":    0,
		"Disconnect": 1,
	}
)

func (x PeerEvent_PeerEventId) Enum() *PeerEvent_PeerEventId {
	p := new(PeerEvent_PeerEventId)
	*p = x
	return p
}

func (x PeerEvent_PeerEventId) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (PeerEvent_PeerEventId) Descriptor() protoreflect.EnumDescriptor {
	return file_p2psentry_sentry_proto_enumTypes[3].Descriptor()
}

func (PeerEvent_PeerEventId) Type() protoreflect.EnumType {
	return &file_p2psentry_sentry_proto_enumTypes[3]
}

func (x PeerEvent_PeerEventId) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use PeerEvent_PeerEventId.Descriptor instead.
func (PeerEvent_PeerEventId) EnumDescriptor() ([]byte, []int) {
	return file_p2psentry_sentry_proto_rawDescGZIP(), []int{24, 0}
}

type OutboundMessageData struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Id            MessageId              `protobuf:"varint,1,opt,name=id,proto3,enum=sentry.MessageId" json:"id,omitempty"`
	Data          []byte                 `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*OutboundMessageData) ProtoMessage() {}

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

func (x *OutboundMessageData) GetId() MessageId {
	if x != nil {
		return x.Id
	}
	return MessageId_STATUS_65
}

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

type SendMessageByMinBlockRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Data          *OutboundMessageData   `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"`
	MinBlock      uint64                 `protobuf:"varint,2,opt,name=min_block,json=minBlock,proto3" json:"min_block,omitempty"`
	MaxPeers      uint64                 `protobuf:"varint,3,opt,name=max_peers,json=maxPeers,proto3" json:"max_peers,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*SendMessageByMinBlockRequest) ProtoMessage() {}

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

func (x *SendMessageByMinBlockRequest) GetData() *OutboundMessageData {
	if x != nil {
		return x.Data
	}
	return nil
}

func (x *SendMessageByMinBlockRequest) GetMinBlock() uint64 {
	if x != nil {
		return x.MinBlock
	}
	return 0
}

func (x *SendMessageByMinBlockRequest) GetMaxPeers() uint64 {
	if x != nil {
		return x.MaxPeers
	}
	return 0
}

type SendMessageByIdRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Data          *OutboundMessageData   `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"`
	PeerId        *typesproto.H512       `protobuf:"bytes,2,opt,name=peer_id,json=peerId,proto3" json:"peer_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*SendMessageByIdRequest) ProtoMessage() {}

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

func (x *SendMessageByIdRequest) GetData() *OutboundMessageData {
	if x != nil {
		return x.Data
	}
	return nil
}

func (x *SendMessageByIdRequest) GetPeerId() *typesproto.H512 {
	if x != nil {
		return x.PeerId
	}
	return nil
}

type SendMessageToRandomPeersRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Data          *OutboundMessageData   `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"`
	MaxPeers      uint64                 `protobuf:"varint,2,opt,name=max_peers,json=maxPeers,proto3" json:"max_peers,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*SendMessageToRandomPeersRequest) ProtoMessage() {}

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

func (x *SendMessageToRandomPeersRequest) GetData() *OutboundMessageData {
	if x != nil {
		return x.Data
	}
	return nil
}

func (x *SendMessageToRandomPeersRequest) GetMaxPeers() uint64 {
	if x != nil {
		return x.MaxPeers
	}
	return 0
}

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

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

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

func (*SentPeers) ProtoMessage() {}

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

func (x *SentPeers) GetPeers() []*typesproto.H512 {
	if x != nil {
		return x.Peers
	}
	return nil
}

type PenalizePeerRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	PeerId        *typesproto.H512       `protobuf:"bytes,1,opt,name=peer_id,json=peerId,proto3" json:"peer_id,omitempty"`
	Penalty       PenaltyKind            `protobuf:"varint,2,opt,name=penalty,proto3,enum=sentry.PenaltyKind" json:"penalty,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*PenalizePeerRequest) ProtoMessage() {}

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

func (x *PenalizePeerRequest) GetPeerId() *typesproto.H512 {
	if x != nil {
		return x.PeerId
	}
	return nil
}

func (x *PenalizePeerRequest) GetPenalty() PenaltyKind {
	if x != nil {
		return x.Penalty
	}
	return PenaltyKind_Kick
}

type SetPeerLatestBlockRequest struct {
	state             protoimpl.MessageState `protogen:"open.v1"`
	PeerId            *typesproto.H512       `protobuf:"bytes,1,opt,name=peer_id,json=peerId,proto3" json:"peer_id,omitempty"`
	LatestBlockHeight uint64                 `protobuf:"varint,2,opt,name=latest_block_height,json=latestBlockHeight,proto3" json:"latest_block_height,omitempty"`
	unknownFields     protoimpl.UnknownFields
	sizeCache         protoimpl.SizeCache
}

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

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

func (*SetPeerLatestBlockRequest) ProtoMessage() {}

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

func (x *SetPeerLatestBlockRequest) GetPeerId() *typesproto.H512 {
	if x != nil {
		return x.PeerId
	}
	return nil
}

func (x *SetPeerLatestBlockRequest) GetLatestBlockHeight() uint64 {
	if x != nil {
		return x.LatestBlockHeight
	}
	return 0
}

type SetPeerMinimumBlockRequest struct {
	state          protoimpl.MessageState `protogen:"open.v1"`
	PeerId         *typesproto.H512       `protobuf:"bytes,1,opt,name=peer_id,json=peerId,proto3" json:"peer_id,omitempty"`
	MinBlockHeight uint64                 `protobuf:"varint,2,opt,name=min_block_height,json=minBlockHeight,proto3" json:"min_block_height,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

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

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

func (*SetPeerMinimumBlockRequest) ProtoMessage() {}

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

func (x *SetPeerMinimumBlockRequest) GetPeerId() *typesproto.H512 {
	if x != nil {
		return x.PeerId
	}
	return nil
}

func (x *SetPeerMinimumBlockRequest) GetMinBlockHeight() uint64 {
	if x != nil {
		return x.MinBlockHeight
	}
	return 0
}

type SetPeerBlockRangeRequest struct {
	state             protoimpl.MessageState `protogen:"open.v1"`
	PeerId            *typesproto.H512       `protobuf:"bytes,1,opt,name=peer_id,json=peerId,proto3" json:"peer_id,omitempty"`
	MinBlockHeight    uint64                 `protobuf:"varint,2,opt,name=min_block_height,json=minBlockHeight,proto3" json:"min_block_height,omitempty"`
	LatestBlockHeight uint64                 `protobuf:"varint,3,opt,name=latest_block_height,json=latestBlockHeight,proto3" json:"latest_block_height,omitempty"`
	unknownFields     protoimpl.UnknownFields
	sizeCache         protoimpl.SizeCache
}

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

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

func (*SetPeerBlockRangeRequest) ProtoMessage() {}

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

func (x *SetPeerBlockRangeRequest) GetPeerId() *typesproto.H512 {
	if x != nil {
		return x.PeerId
	}
	return nil
}

func (x *SetPeerBlockRangeRequest) GetMinBlockHeight() uint64 {
	if x != nil {
		return x.MinBlockHeight
	}
	return 0
}

func (x *SetPeerBlockRangeRequest) GetLatestBlockHeight() uint64 {
	if x != nil {
		return x.LatestBlockHeight
	}
	return 0
}

type AddPeerRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Url           string                 `protobuf:"bytes,1,opt,name=url,proto3" json:"url,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*AddPeerRequest) ProtoMessage() {}

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

func (x *AddPeerRequest) GetUrl() string {
	if x != nil {
		return x.Url
	}
	return ""
}

type RemovePeerRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Url           string                 `protobuf:"bytes,1,opt,name=url,proto3" json:"url,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*RemovePeerRequest) ProtoMessage() {}

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

func (x *RemovePeerRequest) GetUrl() string {
	if x != nil {
		return x.Url
	}
	return ""
}

type InboundMessage struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Id            MessageId              `protobuf:"varint,1,opt,name=id,proto3,enum=sentry.MessageId" json:"id,omitempty"`
	Data          []byte                 `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"`
	PeerId        *typesproto.H512       `protobuf:"bytes,3,opt,name=peer_id,json=peerId,proto3" json:"peer_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*InboundMessage) ProtoMessage() {}

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

func (x *InboundMessage) GetId() MessageId {
	if x != nil {
		return x.Id
	}
	return MessageId_STATUS_65
}

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

func (x *InboundMessage) GetPeerId() *typesproto.H512 {
	if x != nil {
		return x.PeerId
	}
	return nil
}

type Forks struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Genesis       *typesproto.H256       `protobuf:"bytes,1,opt,name=genesis,proto3" json:"genesis,omitempty"`
	HeightForks   []uint64               `protobuf:"varint,2,rep,packed,name=height_forks,json=heightForks,proto3" json:"height_forks,omitempty"`
	TimeForks     []uint64               `protobuf:"varint,3,rep,packed,name=time_forks,json=timeForks,proto3" json:"time_forks,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*Forks) ProtoMessage() {}

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

func (x *Forks) GetGenesis() *typesproto.H256 {
	if x != nil {
		return x.Genesis
	}
	return nil
}

func (x *Forks) GetHeightForks() []uint64 {
	if x != nil {
		return x.HeightForks
	}
	return nil
}

func (x *Forks) GetTimeForks() []uint64 {
	if x != nil {
		return x.TimeForks
	}
	return nil
}

type StatusData struct {
	state              protoimpl.MessageState `protogen:"open.v1"`
	NetworkId          uint64                 `protobuf:"varint,1,opt,name=network_id,json=networkId,proto3" json:"network_id,omitempty"`
	TotalDifficulty    *typesproto.H256       `protobuf:"bytes,2,opt,name=total_difficulty,json=totalDifficulty,proto3" json:"total_difficulty,omitempty"`
	BestHash           *typesproto.H256       `protobuf:"bytes,3,opt,name=best_hash,json=bestHash,proto3" json:"best_hash,omitempty"`
	ForkData           *Forks                 `protobuf:"bytes,4,opt,name=fork_data,json=forkData,proto3" json:"fork_data,omitempty"`
	MaxBlockHeight     uint64                 `protobuf:"varint,5,opt,name=max_block_height,json=maxBlockHeight,proto3" json:"max_block_height,omitempty"`
	MaxBlockTime       uint64                 `protobuf:"varint,6,opt,name=max_block_time,json=maxBlockTime,proto3" json:"max_block_time,omitempty"`
	MinimumBlockHeight uint64                 `protobuf:"varint,7,opt,name=minimum_block_height,json=minimumBlockHeight,proto3" json:"minimum_block_height,omitempty"`
	unknownFields      protoimpl.UnknownFields
	sizeCache          protoimpl.SizeCache
}

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

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

func (*StatusData) ProtoMessage() {}

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

func (x *StatusData) GetNetworkId() uint64 {
	if x != nil {
		return x.NetworkId
	}
	return 0
}

func (x *StatusData) GetTotalDifficulty() *typesproto.H256 {
	if x != nil {
		return x.TotalDifficulty
	}
	return nil
}

func (x *StatusData) GetBestHash() *typesproto.H256 {
	if x != nil {
		return x.BestHash
	}
	return nil
}

func (x *StatusData) GetForkData() *Forks {
	if x != nil {
		return x.ForkData
	}
	return nil
}

func (x *StatusData) GetMaxBlockHeight() uint64 {
	if x != nil {
		return x.MaxBlockHeight
	}
	return 0
}

func (x *StatusData) GetMaxBlockTime() uint64 {
	if x != nil {
		return x.MaxBlockTime
	}
	return 0
}

func (x *StatusData) GetMinimumBlockHeight() uint64 {
	if x != nil {
		return x.MinimumBlockHeight
	}
	return 0
}

type SetStatusReply struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *SetStatusReply) Reset() {
	*x = SetStatusReply{}
	mi := &file_p2psentry_sentry_proto_msgTypes[14]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*SetStatusReply) ProtoMessage() {}

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

type HandShakeReply struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Protocol      Protocol               `protobuf:"varint,1,opt,name=protocol,proto3,enum=sentry.Protocol" json:"protocol,omitempty"`
	SideProtocols []Protocol             `protobuf:"varint,2,rep,packed,name=side_protocols,json=sideProtocols,proto3,enum=sentry.Protocol" json:"side_protocols,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *HandShakeReply) Reset() {
	*x = HandShakeReply{}
	mi := &file_p2psentry_sentry_proto_msgTypes[15]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*HandShakeReply) ProtoMessage() {}

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

func (x *HandShakeReply) GetProtocol() Protocol {
	if x != nil {
		return x.Protocol
	}
	return Protocol_ETH65
}

func (x *HandShakeReply) GetSideProtocols() []Protocol {
	if x != nil {
		return x.SideProtocols
	}
	return nil
}

type MessagesRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Ids           []MessageId            `protobuf:"varint,1,rep,packed,name=ids,proto3,enum=sentry.MessageId" json:"ids,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *MessagesRequest) Reset() {
	*x = MessagesRequest{}
	mi := &file_p2psentry_sentry_proto_msgTypes[16]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*MessagesRequest) ProtoMessage() {}

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

func (x *MessagesRequest) GetIds() []MessageId {
	if x != nil {
		return x.Ids
	}
	return nil
}

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

func (x *PeersReply) Reset() {
	*x = PeersReply{}
	mi := &file_p2psentry_sentry_proto_msgTypes[17]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*PeersReply) ProtoMessage() {}

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

func (x *PeersReply) GetPeers() []*typesproto.PeerInfo {
	if x != nil {
		return x.Peers
	}
	return nil
}

type PeerCountRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *PeerCountRequest) Reset() {
	*x = PeerCountRequest{}
	mi := &file_p2psentry_sentry_proto_msgTypes[18]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*PeerCountRequest) ProtoMessage() {}

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

type PeerCountPerProtocol struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Protocol      Protocol               `protobuf:"varint,1,opt,name=protocol,proto3,enum=sentry.Protocol" json:"protocol,omitempty"`
	Count         uint64                 `protobuf:"varint,2,opt,name=count,proto3" json:"count,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *PeerCountPerProtocol) Reset() {
	*x = PeerCountPerProtocol{}
	mi := &file_p2psentry_sentry_proto_msgTypes[19]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*PeerCountPerProtocol) ProtoMessage() {}

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

func (x *PeerCountPerProtocol) GetProtocol() Protocol {
	if x != nil {
		return x.Protocol
	}
	return Protocol_ETH65
}

func (x *PeerCountPerProtocol) GetCount() uint64 {
	if x != nil {
		return x.Count
	}
	return 0
}

type PeerCountReply struct {
	state             protoimpl.MessageState  `protogen:"open.v1"`
	Count             uint64                  `protobuf:"varint,1,opt,name=count,proto3" json:"count,omitempty"`
	CountsPerProtocol []*PeerCountPerProtocol `protobuf:"bytes,2,rep,name=counts_per_protocol,json=countsPerProtocol,proto3" json:"counts_per_protocol,omitempty"`
	unknownFields     protoimpl.UnknownFields
	sizeCache         protoimpl.SizeCache
}

func (x *PeerCountReply) Reset() {
	*x = PeerCountReply{}
	mi := &file_p2psentry_sentry_proto_msgTypes[20]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*PeerCountReply) ProtoMessage() {}

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

func (x *PeerCountReply) GetCount() uint64 {
	if x != nil {
		return x.Count
	}
	return 0
}

func (x *PeerCountReply) GetCountsPerProtocol() []*PeerCountPerProtocol {
	if x != nil {
		return x.CountsPerProtocol
	}
	return nil
}

type PeerByIdRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	PeerId        *typesproto.H512       `protobuf:"bytes,1,opt,name=peer_id,json=peerId,proto3" json:"peer_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *PeerByIdRequest) Reset() {
	*x = PeerByIdRequest{}
	mi := &file_p2psentry_sentry_proto_msgTypes[21]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*PeerByIdRequest) ProtoMessage() {}

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

func (x *PeerByIdRequest) GetPeerId() *typesproto.H512 {
	if x != nil {
		return x.PeerId
	}
	return nil
}

type PeerByIdReply struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Peer          *typesproto.PeerInfo   `protobuf:"bytes,1,opt,name=peer,proto3,oneof" json:"peer,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *PeerByIdReply) Reset() {
	*x = PeerByIdReply{}
	mi := &file_p2psentry_sentry_proto_msgTypes[22]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*PeerByIdReply) ProtoMessage() {}

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

func (x *PeerByIdReply) GetPeer() *typesproto.PeerInfo {
	if x != nil {
		return x.Peer
	}
	return nil
}

type PeerEventsRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *PeerEventsRequest) Reset() {
	*x = PeerEventsRequest{}
	mi := &file_p2psentry_sentry_proto_msgTypes[23]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*PeerEventsRequest) ProtoMessage() {}

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

type PeerEvent struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	PeerId        *typesproto.H512       `protobuf:"bytes,1,opt,name=peer_id,json=peerId,proto3" json:"peer_id,omitempty"`
	EventId       PeerEvent_PeerEventId  `protobuf:"varint,2,opt,name=event_id,json=eventId,proto3,enum=sentry.PeerEvent_PeerEventId" json:"event_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *PeerEvent) Reset() {
	*x = PeerEvent{}
	mi := &file_p2psentry_sentry_proto_msgTypes[24]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*PeerEvent) ProtoMessage() {}

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

func (x *PeerEvent) GetPeerId() *typesproto.H512 {
	if x != nil {
		return x.PeerId
	}
	return nil
}

func (x *PeerEvent) GetEventId() PeerEvent_PeerEventId {
	if x != nil {
		return x.EventId
	}
	return PeerEvent_Connect
}

type AddPeerReply struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Success       bool                   `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *AddPeerReply) Reset() {
	*x = AddPeerReply{}
	mi := &file_p2psentry_sentry_proto_msgTypes[25]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*AddPeerReply) ProtoMessage() {}

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

func (x *AddPeerReply) GetSuccess() bool {
	if x != nil {
		return x.Success
	}
	return false
}

type RemovePeerReply struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Success       bool                   `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *RemovePeerReply) Reset() {
	*x = RemovePeerReply{}
	mi := &file_p2psentry_sentry_proto_msgTypes[26]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*RemovePeerReply) ProtoMessage() {}

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

func (x *RemovePeerReply) GetSuccess() bool {
	if x != nil {
		return x.Success
	}
	return false
}

var File_p2psentry_sentry_proto protoreflect.FileDescriptor

const file_p2psentry_sentry_proto_rawDesc = "" +
	"\n" +
	"\x16p2psentry/sentry.proto\x12\x06sentry\x1a\x1bgoogle/protobuf/empty.proto\x1a\x11types/types.proto\"L\n" +
	"\x13OutboundMessageData\x12!\n" +
	"\x02id\x18\x01 \x01(\x0e2\x11.sentry.MessageIdR\x02id\x12\x12\n" +
	"\x04data\x18\x02 \x01(\fR\x04data\"\x89\x01\n" +
	"\x1cSendMessageByMinBlockRequest\x12/\n" +
	"\x04data\x18\x01 \x01(\v2\x1b.sentry.OutboundMessageDataR\x04data\x12\x1b\n" +
	"\tmin_block\x18\x02 \x01(\x04R\bminBlock\x12\x1b\n" +
	"\tmax_peers\x18\x03 \x01(\x04R\bmaxPeers\"o\n" +
	"\x16SendMessageByIdRequest\x12/\n" +
	"\x04data\x18\x01 \x01(\v2\x1b.sentry.OutboundMessageDataR\x04data\x12$\n" +
	"\apeer_id\x18\x02 \x01(\v2\v.types.H512R\x06peerId\"o\n" +
	"\x1fSendMessageToRandomPeersRequest\x12/\n" +
	"\x04data\x18\x01 \x01(\v2\x1b.sentry.OutboundMessageDataR\x04data\x12\x1b\n" +
	"\tmax_peers\x18\x02 \x01(\x04R\bmaxPeers\".\n" +
	"\tSentPeers\x12!\n" +
	"\x05peers\x18\x01 \x03(\v2\v.types.H512R\x05peers\"j\n" +
	"\x13PenalizePeerRequest\x12$\n" +
	"\apeer_id\x18\x01 \x01(\v2\v.types.H512R\x06peerId\x12-\n" +
	"\apenalty\x18\x02 \x01(\x0e2\x13.sentry.PenaltyKindR\apenalty\"q\n" +
	"\x19SetPeerLatestBlockRequest\x12$\n" +
	"\apeer_id\x18\x01 \x01(\v2\v.types.H512R\x06peerId\x12.\n" +
	"\x13latest_block_height\x18\x02 \x01(\x04R\x11latestBlockHeight\"l\n" +
	"\x1aSetPeerMinimumBlockRequest\x12$\n" +
	"\apeer_id\x18\x01 \x01(\v2\v.types.H512R\x06peerId\x12(\n" +
	"\x10min_block_height\x18\x02 \x01(\x04R\x0eminBlockHeight\"\x9a\x01\n" +
	"\x18SetPeerBlockRangeRequest\x12$\n" +
	"\apeer_id\x18\x01 \x01(\v2\v.types.H512R\x06peerId\x12(\n" +
	"\x10min_block_height\x18\x02 \x01(\x04R\x0eminBlockHeight\x12.\n" +
	"\x13latest_block_height\x18\x03 \x01(\x04R\x11latestBlockHeight\"\"\n" +
	"\x0eAddPeerRequest\x12\x10\n" +
	"\x03url\x18\x01 \x01(\tR\x03url\"%\n" +
	"\x11RemovePeerRequest\x12\x10\n" +
	"\x03url\x18\x01 \x01(\tR\x03url\"m\n" +
	"\x0eInboundMessage\x12!\n" +
	"\x02id\x18\x01 \x01(\x0e2\x11.sentry.MessageIdR\x02id\x12\x12\n" +
	"\x04data\x18\x02 \x01(\fR\x04data\x12$\n" +
	"\apeer_id\x18\x03 \x01(\v2\v.types.H512R\x06peerId\"p\n" +
	"\x05Forks\x12%\n" +
	"\agenesis\x18\x01 \x01(\v2\v.types.H256R\agenesis\x12!\n" +
	"\fheight_forks\x18\x02 \x03(\x04R\vheightForks\x12\x1d\n" +
	"\n" +
	"time_forks\x18\x03 \x03(\x04R\ttimeForks\"\xbb\x02\n" +
	"\n" +
	"StatusData\x12\x1d\n" +
	"\n" +
	"network_id\x18\x01 \x01(\x04R\tnetworkId\x126\n" +
	"\x10total_difficulty\x18\x02 \x01(\v2\v.types.H256R\x0ftotalDifficulty\x12(\n" +
	"\tbest_hash\x18\x03 \x01(\v2\v.types.H256R\bbestHash\x12*\n" +
	"\tfork_data\x18\x04 \x01(\v2\r.sentry.ForksR\bforkData\x12(\n" +
	"\x10max_block_height\x18\x05 \x01(\x04R\x0emaxBlockHeight\x12$\n" +
	"\x0emax_block_time\x18\x06 \x01(\x04R\fmaxBlockTime\x120\n" +
	"\x14minimum_block_height\x18\a \x01(\x04R\x12minimumBlockHeight\"\x10\n" +
	"\x0eSetStatusReply\"w\n" +
	"\x0eHandShakeReply\x12,\n" +
	"\bprotocol\x18\x01 \x01(\x0e2\x10.sentry.ProtocolR\bprotocol\x127\n" +
	"\x0eside_protocols\x18\x02 \x03(\x0e2\x10.sentry.ProtocolR\rsideProtocols\"6\n" +
	"\x0fMessagesRequest\x12#\n" +
	"\x03ids\x18\x01 \x03(\x0e2\x11.sentry.MessageIdR\x03ids\"3\n" +
	"\n" +
	"PeersReply\x12%\n" +
	"\x05peers\x18\x01 \x03(\v2\x0f.types.PeerInfoR\x05peers\"\x12\n" +
	"\x10PeerCountRequest\"Z\n" +
	"\x14PeerCountPerProtocol\x12,\n" +
	"\bprotocol\x18\x01 \x01(\x0e2\x10.sentry.ProtocolR\bprotocol\x12\x14\n" +
	"\x05count\x18\x02 \x01(\x04R\x05count\"t\n" +
	"\x0ePeerCountReply\x12\x14\n" +
	"\x05count\x18\x01 \x01(\x04R\x05count\x12L\n" +
	"\x13counts_per_protocol\x18\x02 \x03(\v2\x1c.sentry.PeerCountPerProtocolR\x11countsPerProtocol\"7\n" +
	"\x0fPeerByIdRequest\x12$\n" +
	"\apeer_id\x18\x01 \x01(\v2\v.types.H512R\x06peerId\"B\n" +
	"\rPeerByIdReply\x12(\n" +
	"\x04peer\x18\x01 \x01(\v2\x0f.types.PeerInfoH\x00R\x04peer\x88\x01\x01B\a\n" +
	"\x05_peer\"\x13\n" +
	"\x11PeerEventsRequest\"\x97\x01\n" +
	"\tPeerEvent\x12$\n" +
	"\apeer_id\x18\x01 \x01(\v2\v.types.H512R\x06peerId\x128\n" +
	"\bevent_id\x18\x02 \x01(\x0e2\x1d.sentry.PeerEvent.PeerEventIdR\aeventId\"*\n" +
	"\vPeerEventId\x12\v\n" +
	"\aConnect\x10\x00\x12\x0e\n" +
	"\n" +
	"Disconnect\x10\x01\"(\n" +
	"\fAddPeerReply\x12\x18\n" +
	"\asuccess\x18\x01 \x01(\bR\asuccess\"+\n" +
	"\x0fRemovePeerReply\x12\x18\n" +
	"\asuccess\x18\x01 \x01(\bR\asuccess*\x9e\a\n" +
	"\tMessageId\x12\r\n" +
	"\tSTATUS_65\x10\x00\x12\x18\n" +
	"\x14GET_BLOCK_HEADERS_65\x10\x01\x12\x14\n" +
	"\x10BLOCK_HEADERS_65\x10\x02\x12\x13\n" +
	"\x0fBLOCK_HASHES_65\x10\x03\x12\x17\n" +
	"\x13GET_BLOCK_BODIES_65\x10\x04\x12\x13\n" +
	"\x0fBLOCK_BODIES_65\x10\x05\x12\x14\n" +
	"\x10GET_NODE_DATA_65\x10\x06\x12\x10\n" +
	"\fNODE_DATA_65\x10\a\x12\x13\n" +
	"\x0fGET_RECEIPTS_65\x10\b\x12\x0f\n" +
	"\vRECEIPTS_65\x10\t\x12\x17\n" +
	"\x13NEW_BLOCK_HASHES_65\x10\n" +
	"\x12\x10\n" +
	"\fNEW_BLOCK_65\x10\v\x12\x13\n" +
	"\x0fTRANSACTIONS_65\x10\f\x12$\n" +
	" NEW_POOLED_TRANSACTION_HASHES_65\x10\r\x12\x1e\n" +
	"\x1aGET_POOLED_TRANSACTIONS_65\x10\x0e\x12\x1a\n" +
	"\x16POOLED_TRANSACTIONS_65\x10\x0f\x12\r\n" +
	"\tSTATUS_66\x10\x11\x12\x17\n" +
	"\x13NEW_BLOCK_HASHES_66\x10\x12\x12\x10\n" +
	"\fNEW_BLOCK_66\x10\x13\x12\x13\n" +
	"\x0fTRANSACTIONS_66\x10\x14\x12$\n" +
	" NEW_POOLED_TRANSACTION_HASHES_66\x10\x15\x12\x18\n" +
	"\x14GET_BLOCK_HEADERS_66\x10\x16\x12\x17\n" +
	"\x13GET_BLOCK_BODIES_66\x10\x17\x12\x14\n" +
	"\x10GET_NODE_DATA_66\x10\x18\x12\x13\n" +
	"\x0fGET_RECEIPTS_66\x10\x19\x12\x1e\n" +
	"\x1aGET_POOLED_TRANSACTIONS_66\x10\x1a\x12\x14\n" +
	"\x10BLOCK_HEADERS_66\x10\x1b\x12\x13\n" +
	"\x0fBLOCK_BODIES_66\x10\x1c\x12\x10\n" +
	"\fNODE_DATA_66\x10\x1d\x12\x0f\n" +
	"\vRECEIPTS_66\x10\x1e\x12\x1a\n" +
	"\x16POOLED_TRANSACTIONS_66\x10\x1f\x12$\n" +
	" NEW_POOLED_TRANSACTION_HASHES_68\x10 \x12\x18\n" +
	"\x14GET_BLOCK_WITNESS_W0\x10!\x12\x14\n" +
	"\x10BLOCK_WITNESS_W0\x10\"\x12\x12\n" +
	"\x0eNEW_WITNESS_W0\x10#\x12\x19\n" +
	"\x15NEW_WITNESS_HASHES_W0\x10$\x12\r\n" +
	"\tSTATUS_69\x10%\x12\x13\n" +
	"\x0fGET_RECEIPTS_69\x10&\x12\x19\n" +
	"\x15BLOCK_RANGE_UPDATE_69\x10'*\x17\n" +
	"\vPenaltyKind\x12\b\n" +
	"\x04Kick\x10\x00*K\n" +
	"\bProtocol\x12\t\n" +
	"\x05ETH65\x10\x00\x12\t\n" +
	"\x05ETH66\x10\x01\x12\t\n" +
	"\x05ETH67\x10\x02\x12\t\n" +
	"\x05ETH68\x10\x03\x12\t\n" +
	"\x05ETH69\x10\x04\x12\b\n" +
	"\x04WIT0\x10\x052\xd5\n" +
	"\n" +
	"\x06Sentry\x127\n" +
	"\tSetStatus\x12\x12.sentry.StatusData\x1a\x16.sentry.SetStatusReply\x12C\n" +
	"\fPenalizePeer\x12\x1b.sentry.PenalizePeerRequest\x1a\x16.google.protobuf.Empty\x12O\n" +
	"\x12SetPeerLatestBlock\x12!.sentry.SetPeerLatestBlockRequest\x1a\x16.google.protobuf.Empty\x12Q\n" +
	"\x13SetPeerMinimumBlock\x12\".sentry.SetPeerMinimumBlockRequest\x1a\x16.google.protobuf.Empty\x12M\n" +
	"\x11SetPeerBlockRange\x12 .sentry.SetPeerBlockRangeRequest\x1a\x16.google.protobuf.Empty\x12;\n" +
	"\tHandShake\x12\x16.google.protobuf.Empty\x1a\x16.sentry.HandShakeReply\x12P\n" +
	"\x15SendMessageByMinBlock\x12$.sentry.SendMessageByMinBlockRequest\x1a\x11.sentry.SentPeers\x12D\n" +
	"\x0fSendMessageById\x12\x1e.sentry.SendMessageByIdRequest\x1a\x11.sentry.SentPeers\x12V\n" +
	"\x18SendMessageToRandomPeers\x12'.sentry.SendMessageToRandomPeersRequest\x1a\x11.sentry.SentPeers\x12B\n" +
	"\x10SendMessageToAll\x12\x1b.sentry.OutboundMessageData\x1a\x11.sentry.SentPeers\x12=\n" +
	"\bMessages\x12\x17.sentry.MessagesRequest\x1a\x16.sentry.InboundMessage0\x01\x123\n" +
	"\x05Peers\x12\x16.google.protobuf.Empty\x1a\x12.sentry.PeersReply\x12=\n" +
	"\tPeerCount\x12\x18.sentry.PeerCountRequest\x1a\x16.sentry.PeerCountReply\x12:\n" +
	"\bPeerById\x12\x17.sentry.PeerByIdRequest\x1a\x15.sentry.PeerByIdReply\x12<\n" +
	"\n" +
	"PeerEvents\x12\x19.sentry.PeerEventsRequest\x1a\x11.sentry.PeerEvent0\x01\x127\n" +
	"\aAddPeer\x12\x16.sentry.AddPeerRequest\x1a\x14.sentry.AddPeerReply\x12@\n" +
	"\n" +
	"RemovePeer\x12\x19.sentry.RemovePeerRequest\x1a\x17.sentry.RemovePeerReply\x12>\n" +
	"\x0eAddTrustedPeer\x12\x16.sentry.AddPeerRequest\x1a\x14.sentry.AddPeerReply\x12G\n" +
	"\x11RemoveTrustedPeer\x12\x19.sentry.RemovePeerRequest\x1a\x17.sentry.RemovePeerReply\x128\n" +
	"\bNodeInfo\x12\x16.google.protobuf.Empty\x1a\x14.types.NodeInfoReplyB\x16Z\x14./sentry;sentryprotob\x06proto3"

var (
	file_p2psentry_sentry_proto_rawDescOnce sync.Once
	file_p2psentry_sentry_proto_rawDescData []byte
)

func file_p2psentry_sentry_proto_rawDescGZIP() []byte {
	file_p2psentry_sentry_proto_rawDescOnce.Do(func() {
		file_p2psentry_sentry_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_p2psentry_sentry_proto_rawDesc), len(file_p2psentry_sentry_proto_rawDesc)))
	})
	return file_p2psentry_sentry_proto_rawDescData
}

var file_p2psentry_sentry_proto_enumTypes = make([]protoimpl.EnumInfo, 4)
var file_p2psentry_sentry_proto_msgTypes = make([]protoimpl.MessageInfo, 27)
var file_p2psentry_sentry_proto_goTypes = []any{
	(MessageId)(0),                          // 0: sentry.MessageId
	(PenaltyKind)(0),                        // 1: sentry.PenaltyKind
	(Protocol)(0),                           // 2: sentry.Protocol
	(PeerEvent_PeerEventId)(0),              // 3: sentry.PeerEvent.PeerEventId
	(*OutboundMessageData)(nil),             // 4: sentry.OutboundMessageData
	(*SendMessageByMinBlockRequest)(nil),    // 5: sentry.SendMessageByMinBlockRequest
	(*SendMessageByIdRequest)(nil),          // 6: sentry.SendMessageByIdRequest
	(*SendMessageToRandomPeersRequest)(nil), // 7: sentry.SendMessageToRandomPeersRequest
	(*SentPeers)(nil),                       // 8: sentry.SentPeers
	(*PenalizePeerRequest)(nil),             // 9: sentry.PenalizePeerRequest
	(*SetPeerLatestBlockRequest)(nil),       // 10: sentry.SetPeerLatestBlockRequest
	(*SetPeerMinimumBlockRequest)(nil),      // 11: sentry.SetPeerMinimumBlockRequest
	(*SetPeerBlockRangeRequest)(nil),        // 12: sentry.SetPeerBlockRangeRequest
	(*AddPeerRequest)(nil),                  // 13: sentry.AddPeerRequest
	(*RemovePeerRequest)(nil),               // 14: sentry.RemovePeerRequest
	(*InboundMessage)(nil),                  // 15: sentry.InboundMessage
	(*Forks)(nil),                           // 16: sentry.Forks
	(*StatusData)(nil),                      // 17: sentry.StatusData
	(*SetStatusReply)(nil),                  // 18: sentry.SetStatusReply
	(*HandShakeReply)(nil),                  // 19: sentry.HandShakeReply
	(*MessagesRequest)(nil),                 // 20: sentry.MessagesRequest
	(*PeersReply)(nil),                      // 21: sentry.PeersReply
	(*PeerCountRequest)(nil),                // 22: sentry.PeerCountRequest
	(*PeerCountPerProtocol)(nil),            // 23: sentry.PeerCountPerProtocol
	(*PeerCountReply)(nil),                  // 24: sentry.PeerCountReply
	(*PeerByIdRequest)(nil),                 // 25: sentry.PeerByIdRequest
	(*PeerByIdReply)(nil),                   // 26: sentry.PeerByIdReply
	(*PeerEventsRequest)(nil),               // 27: sentry.PeerEventsRequest
	(*PeerEvent)(nil),                       // 28: sentry.PeerEvent
	(*AddPeerReply)(nil),                    // 29: sentry.AddPeerReply
	(*RemovePeerReply)(nil),                 // 30: sentry.RemovePeerReply
	(*typesproto.H512)(nil),                 // 31: types.H512
	(*typesproto.H256)(nil),                 // 32: types.H256
	(*typesproto.PeerInfo)(nil),             // 33: types.PeerInfo
	(*emptypb.Empty)(nil),                   // 34: google.protobuf.Empty
	(*typesproto.NodeInfoReply)(nil),        // 35: types.NodeInfoReply
}
var file_p2psentry_sentry_proto_depIdxs = []int32{
	0,  // 0: sentry.OutboundMessageData.id:type_name -> sentry.MessageId
	4,  // 1: sentry.SendMessageByMinBlockRequest.data:type_name -> sentry.OutboundMessageData
	4,  // 2: sentry.SendMessageByIdRequest.data:type_name -> sentry.OutboundMessageData
	31, // 3: sentry.SendMessageByIdRequest.peer_id:type_name -> types.H512
	4,  // 4: sentry.SendMessageToRandomPeersRequest.data:type_name -> sentry.OutboundMessageData
	31, // 5: sentry.SentPeers.peers:type_name -> types.H512
	31, // 6: sentry.PenalizePeerRequest.peer_id:type_name -> types.H512
	1,  // 7: sentry.PenalizePeerRequest.penalty:type_name -> sentry.PenaltyKind
	31, // 8: sentry.SetPeerLatestBlockRequest.peer_id:type_name -> types.H512
	31, // 9: sentry.SetPeerMinimumBlockRequest.peer_id:type_name -> types.H512
	31, // 10: sentry.SetPeerBlockRangeRequest.peer_id:type_name -> types.H512
	0,  // 11: sentry.InboundMessage.id:type_name -> sentry.MessageId
	31, // 12: sentry.InboundMessage.peer_id:type_name -> types.H512
	32, // 13: sentry.Forks.genesis:type_name -> types.H256
	32, // 14: sentry.StatusData.total_difficulty:type_name -> types.H256
	32, // 15: sentry.StatusData.best_hash:type_name -> types.H256
	16, // 16: sentry.StatusData.fork_data:type_name -> sentry.Forks
	2,  // 17: sentry.HandShakeReply.protocol:type_name -> sentry.Protocol
	2,  // 18: sentry.HandShakeReply.side_protocols:type_name -> sentry.Protocol
	0,  // 19: sentry.MessagesRequest.ids:type_name -> sentry.MessageId
	33, // 20: sentry.PeersReply.peers:type_name -> types.PeerInfo
	2,  // 21: sentry.PeerCountPerProtocol.protocol:type_name -> sentry.Protocol
	23, // 22: sentry.PeerCountReply.counts_per_protocol:type_name -> sentry.PeerCountPerProtocol
	31, // 23: sentry.PeerByIdRequest.peer_id:type_name -> types.H512
	33, // 24: sentry.PeerByIdReply.peer:type_name -> types.PeerInfo
	31, // 25: sentry.PeerEvent.peer_id:type_name -> types.H512
	3,  // 26: sentry.PeerEvent.event_id:type_name -> sentry.PeerEvent.PeerEventId
	17, // 27: sentry.Sentry.SetStatus:input_type -> sentry.StatusData
	9,  // 28: sentry.Sentry.PenalizePeer:input_type -> sentry.PenalizePeerRequest
	10, // 29: sentry.Sentry.SetPeerLatestBlock:input_type -> sentry.SetPeerLatestBlockRequest
	11, // 30: sentry.Sentry.SetPeerMinimumBlock:input_type -> sentry.SetPeerMinimumBlockRequest
	12, // 31: sentry.Sentry.SetPeerBlockRange:input_type -> sentry.SetPeerBlockRangeRequest
	34, // 32: sentry.Sentry.HandShake:input_type -> google.protobuf.Empty
	5,  // 33: sentry.Sentry.SendMessageByMinBlock:input_type -> sentry.SendMessageByMinBlockRequest
	6,  // 34: sentry.Sentry.SendMessageById:input_type -> sentry.SendMessageByIdRequest
	7,  // 35: sentry.Sentry.SendMessageToRandomPeers:input_type -> sentry.SendMessageToRandomPeersRequest
	4,  // 36: sentry.Sentry.SendMessageToAll:input_type -> sentry.OutboundMessageData
	20, // 37: sentry.Sentry.Messages:input_type -> sentry.MessagesRequest
	34, // 38: sentry.Sentry.Peers:input_type -> google.protobuf.Empty
	22, // 39: sentry.Sentry.PeerCount:input_type -> sentry.PeerCountRequest
	25, // 40: sentry.Sentry.PeerById:input_type -> sentry.PeerByIdRequest
	27, // 41: sentry.Sentry.PeerEvents:input_type -> sentry.PeerEventsRequest
	13, // 42: sentry.Sentry.AddPeer:input_type -> sentry.AddPeerRequest
	14, // 43: sentry.Sentry.RemovePeer:input_type -> sentry.RemovePeerRequest
	13, // 44: sentry.Sentry.AddTrustedPeer:input_type -> sentry.AddPeerRequest
	14, // 45: sentry.Sentry.RemoveTrustedPeer:input_type -> sentry.RemovePeerRequest
	34, // 46: sentry.Sentry.NodeInfo:input_type -> google.protobuf.Empty
	18, // 47: sentry.Sentry.SetStatus:output_type -> sentry.SetStatusReply
	34, // 48: sentry.Sentry.PenalizePeer:output_type -> google.protobuf.Empty
	34, // 49: sentry.Sentry.SetPeerLatestBlock:output_type -> google.protobuf.Empty
	34, // 50: sentry.Sentry.SetPeerMinimumBlock:output_type -> google.protobuf.Empty
	34, // 51: sentry.Sentry.SetPeerBlockRange:output_type -> google.protobuf.Empty
	19, // 52: sentry.Sentry.HandShake:output_type -> sentry.HandShakeReply
	8,  // 53: sentry.Sentry.SendMessageByMinBlock:output_type -> sentry.SentPeers
	8,  // 54: sentry.Sentry.SendMessageById:output_type -> sentry.SentPeers
	8,  // 55: sentry.Sentry.SendMessageToRandomPeers:output_type -> sentry.SentPeers
	8,  // 56: sentry.Sentry.SendMessageToAll:output_type -> sentry.SentPeers
	15, // 57: sentry.Sentry.Messages:output_type -> sentry.InboundMessage
	21, // 58: sentry.Sentry.Peers:output_type -> sentry.PeersReply
	24, // 59: sentry.Sentry.PeerCount:output_type -> sentry.PeerCountReply
	26, // 60: sentry.Sentry.PeerById:output_type -> sentry.PeerByIdReply
	28, // 61: sentry.Sentry.PeerEvents:output_type -> sentry.PeerEvent
	29, // 62: sentry.Sentry.AddPeer:output_type -> sentry.AddPeerReply
	30, // 63: sentry.Sentry.RemovePeer:output_type -> sentry.RemovePeerReply
	29, // 64: sentry.Sentry.AddTrustedPeer:output_type -> sentry.AddPeerReply
	30, // 65: sentry.Sentry.RemoveTrustedPeer:output_type -> sentry.RemovePeerReply
	35, // 66: sentry.Sentry.NodeInfo:output_type -> types.NodeInfoReply
	47, // [47:67] is the sub-list for method output_type
	27, // [27:47] is the sub-list for method input_type
	27, // [27:27] is the sub-list for extension type_name
	27, // [27:27] is the sub-list for extension extendee
	0,  // [0:27] is the sub-list for field type_name
}

func init() { file_p2psentry_sentry_proto_init() }
func file_p2psentry_sentry_proto_init() {
	if File_p2psentry_sentry_proto != nil {
		return
	}
	file_p2psentry_sentry_proto_msgTypes[22].OneofWrappers = []any{}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_p2psentry_sentry_proto_rawDesc), len(file_p2psentry_sentry_proto_rawDesc)),
			NumEnums:      4,
			NumMessages:   27,
			NumExtensions: 0,
			NumServices:   1,
		},
		GoTypes:           file_p2psentry_sentry_proto_goTypes,
		DependencyIndexes: file_p2psentry_sentry_proto_depIdxs,
		EnumInfos:         file_p2psentry_sentry_proto_enumTypes,
		MessageInfos:      file_p2psentry_sentry_proto_msgTypes,
	}.Build()
	File_p2psentry_sentry_proto = out.File
	file_p2psentry_sentry_proto_goTypes = nil
	file_p2psentry_sentry_proto_depIdxs = nil
}
