github.com/MetalBlockchain/metalgo@v1.11.9/proto/pb/p2p/p2p.pb.go (about)

     1  // Code generated by protoc-gen-go. DO NOT EDIT.
     2  // versions:
     3  // 	protoc-gen-go v1.33.0
     4  // 	protoc        (unknown)
     5  // source: p2p/p2p.proto
     6  
     7  package p2p
     8  
     9  import (
    10  	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
    11  	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
    12  	reflect "reflect"
    13  	sync "sync"
    14  )
    15  
    16  const (
    17  	// Verify that this generated code is sufficiently up-to-date.
    18  	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
    19  	// Verify that runtime/protoimpl is sufficiently up-to-date.
    20  	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
    21  )
    22  
    23  // The consensus engine that should be used when handling a consensus request.
    24  type EngineType int32
    25  
    26  const (
    27  	EngineType_ENGINE_TYPE_UNSPECIFIED EngineType = 0
    28  	// Only the X-Chain uses avalanche consensus
    29  	EngineType_ENGINE_TYPE_AVALANCHE EngineType = 1
    30  	EngineType_ENGINE_TYPE_SNOWMAN   EngineType = 2
    31  )
    32  
    33  // Enum value maps for EngineType.
    34  var (
    35  	EngineType_name = map[int32]string{
    36  		0: "ENGINE_TYPE_UNSPECIFIED",
    37  		1: "ENGINE_TYPE_AVALANCHE",
    38  		2: "ENGINE_TYPE_SNOWMAN",
    39  	}
    40  	EngineType_value = map[string]int32{
    41  		"ENGINE_TYPE_UNSPECIFIED": 0,
    42  		"ENGINE_TYPE_AVALANCHE":   1,
    43  		"ENGINE_TYPE_SNOWMAN":     2,
    44  	}
    45  )
    46  
    47  func (x EngineType) Enum() *EngineType {
    48  	p := new(EngineType)
    49  	*p = x
    50  	return p
    51  }
    52  
    53  func (x EngineType) String() string {
    54  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
    55  }
    56  
    57  func (EngineType) Descriptor() protoreflect.EnumDescriptor {
    58  	return file_p2p_p2p_proto_enumTypes[0].Descriptor()
    59  }
    60  
    61  func (EngineType) Type() protoreflect.EnumType {
    62  	return &file_p2p_p2p_proto_enumTypes[0]
    63  }
    64  
    65  func (x EngineType) Number() protoreflect.EnumNumber {
    66  	return protoreflect.EnumNumber(x)
    67  }
    68  
    69  // Deprecated: Use EngineType.Descriptor instead.
    70  func (EngineType) EnumDescriptor() ([]byte, []int) {
    71  	return file_p2p_p2p_proto_rawDescGZIP(), []int{0}
    72  }
    73  
    74  // Represents peer-to-peer messages.
    75  // Only one type can be non-null.
    76  type Message struct {
    77  	state         protoimpl.MessageState
    78  	sizeCache     protoimpl.SizeCache
    79  	unknownFields protoimpl.UnknownFields
    80  
    81  	// NOTES
    82  	// Use "oneof" for each message type and set rest to null if not used.
    83  	// That is because when the compression is enabled, we don't want to include uncompressed fields.
    84  	//
    85  	// Types that are assignable to Message:
    86  	//
    87  	//	*Message_CompressedZstd
    88  	//	*Message_Ping
    89  	//	*Message_Pong
    90  	//	*Message_Handshake
    91  	//	*Message_GetPeerList
    92  	//	*Message_PeerList_
    93  	//	*Message_GetStateSummaryFrontier
    94  	//	*Message_StateSummaryFrontier_
    95  	//	*Message_GetAcceptedStateSummary
    96  	//	*Message_AcceptedStateSummary_
    97  	//	*Message_GetAcceptedFrontier
    98  	//	*Message_AcceptedFrontier_
    99  	//	*Message_GetAccepted
   100  	//	*Message_Accepted_
   101  	//	*Message_GetAncestors
   102  	//	*Message_Ancestors_
   103  	//	*Message_Get
   104  	//	*Message_Put
   105  	//	*Message_PushQuery
   106  	//	*Message_PullQuery
   107  	//	*Message_Chits
   108  	//	*Message_AppRequest
   109  	//	*Message_AppResponse
   110  	//	*Message_AppGossip
   111  	//	*Message_AppError
   112  	Message isMessage_Message `protobuf_oneof:"message"`
   113  }
   114  
   115  func (x *Message) Reset() {
   116  	*x = Message{}
   117  	if protoimpl.UnsafeEnabled {
   118  		mi := &file_p2p_p2p_proto_msgTypes[0]
   119  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   120  		ms.StoreMessageInfo(mi)
   121  	}
   122  }
   123  
   124  func (x *Message) String() string {
   125  	return protoimpl.X.MessageStringOf(x)
   126  }
   127  
   128  func (*Message) ProtoMessage() {}
   129  
   130  func (x *Message) ProtoReflect() protoreflect.Message {
   131  	mi := &file_p2p_p2p_proto_msgTypes[0]
   132  	if protoimpl.UnsafeEnabled && x != nil {
   133  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   134  		if ms.LoadMessageInfo() == nil {
   135  			ms.StoreMessageInfo(mi)
   136  		}
   137  		return ms
   138  	}
   139  	return mi.MessageOf(x)
   140  }
   141  
   142  // Deprecated: Use Message.ProtoReflect.Descriptor instead.
   143  func (*Message) Descriptor() ([]byte, []int) {
   144  	return file_p2p_p2p_proto_rawDescGZIP(), []int{0}
   145  }
   146  
   147  func (m *Message) GetMessage() isMessage_Message {
   148  	if m != nil {
   149  		return m.Message
   150  	}
   151  	return nil
   152  }
   153  
   154  func (x *Message) GetCompressedZstd() []byte {
   155  	if x, ok := x.GetMessage().(*Message_CompressedZstd); ok {
   156  		return x.CompressedZstd
   157  	}
   158  	return nil
   159  }
   160  
   161  func (x *Message) GetPing() *Ping {
   162  	if x, ok := x.GetMessage().(*Message_Ping); ok {
   163  		return x.Ping
   164  	}
   165  	return nil
   166  }
   167  
   168  func (x *Message) GetPong() *Pong {
   169  	if x, ok := x.GetMessage().(*Message_Pong); ok {
   170  		return x.Pong
   171  	}
   172  	return nil
   173  }
   174  
   175  func (x *Message) GetHandshake() *Handshake {
   176  	if x, ok := x.GetMessage().(*Message_Handshake); ok {
   177  		return x.Handshake
   178  	}
   179  	return nil
   180  }
   181  
   182  func (x *Message) GetGetPeerList() *GetPeerList {
   183  	if x, ok := x.GetMessage().(*Message_GetPeerList); ok {
   184  		return x.GetPeerList
   185  	}
   186  	return nil
   187  }
   188  
   189  func (x *Message) GetPeerList_() *PeerList {
   190  	if x, ok := x.GetMessage().(*Message_PeerList_); ok {
   191  		return x.PeerList_
   192  	}
   193  	return nil
   194  }
   195  
   196  func (x *Message) GetGetStateSummaryFrontier() *GetStateSummaryFrontier {
   197  	if x, ok := x.GetMessage().(*Message_GetStateSummaryFrontier); ok {
   198  		return x.GetStateSummaryFrontier
   199  	}
   200  	return nil
   201  }
   202  
   203  func (x *Message) GetStateSummaryFrontier_() *StateSummaryFrontier {
   204  	if x, ok := x.GetMessage().(*Message_StateSummaryFrontier_); ok {
   205  		return x.StateSummaryFrontier_
   206  	}
   207  	return nil
   208  }
   209  
   210  func (x *Message) GetGetAcceptedStateSummary() *GetAcceptedStateSummary {
   211  	if x, ok := x.GetMessage().(*Message_GetAcceptedStateSummary); ok {
   212  		return x.GetAcceptedStateSummary
   213  	}
   214  	return nil
   215  }
   216  
   217  func (x *Message) GetAcceptedStateSummary_() *AcceptedStateSummary {
   218  	if x, ok := x.GetMessage().(*Message_AcceptedStateSummary_); ok {
   219  		return x.AcceptedStateSummary_
   220  	}
   221  	return nil
   222  }
   223  
   224  func (x *Message) GetGetAcceptedFrontier() *GetAcceptedFrontier {
   225  	if x, ok := x.GetMessage().(*Message_GetAcceptedFrontier); ok {
   226  		return x.GetAcceptedFrontier
   227  	}
   228  	return nil
   229  }
   230  
   231  func (x *Message) GetAcceptedFrontier_() *AcceptedFrontier {
   232  	if x, ok := x.GetMessage().(*Message_AcceptedFrontier_); ok {
   233  		return x.AcceptedFrontier_
   234  	}
   235  	return nil
   236  }
   237  
   238  func (x *Message) GetGetAccepted() *GetAccepted {
   239  	if x, ok := x.GetMessage().(*Message_GetAccepted); ok {
   240  		return x.GetAccepted
   241  	}
   242  	return nil
   243  }
   244  
   245  func (x *Message) GetAccepted_() *Accepted {
   246  	if x, ok := x.GetMessage().(*Message_Accepted_); ok {
   247  		return x.Accepted_
   248  	}
   249  	return nil
   250  }
   251  
   252  func (x *Message) GetGetAncestors() *GetAncestors {
   253  	if x, ok := x.GetMessage().(*Message_GetAncestors); ok {
   254  		return x.GetAncestors
   255  	}
   256  	return nil
   257  }
   258  
   259  func (x *Message) GetAncestors_() *Ancestors {
   260  	if x, ok := x.GetMessage().(*Message_Ancestors_); ok {
   261  		return x.Ancestors_
   262  	}
   263  	return nil
   264  }
   265  
   266  func (x *Message) GetGet() *Get {
   267  	if x, ok := x.GetMessage().(*Message_Get); ok {
   268  		return x.Get
   269  	}
   270  	return nil
   271  }
   272  
   273  func (x *Message) GetPut() *Put {
   274  	if x, ok := x.GetMessage().(*Message_Put); ok {
   275  		return x.Put
   276  	}
   277  	return nil
   278  }
   279  
   280  func (x *Message) GetPushQuery() *PushQuery {
   281  	if x, ok := x.GetMessage().(*Message_PushQuery); ok {
   282  		return x.PushQuery
   283  	}
   284  	return nil
   285  }
   286  
   287  func (x *Message) GetPullQuery() *PullQuery {
   288  	if x, ok := x.GetMessage().(*Message_PullQuery); ok {
   289  		return x.PullQuery
   290  	}
   291  	return nil
   292  }
   293  
   294  func (x *Message) GetChits() *Chits {
   295  	if x, ok := x.GetMessage().(*Message_Chits); ok {
   296  		return x.Chits
   297  	}
   298  	return nil
   299  }
   300  
   301  func (x *Message) GetAppRequest() *AppRequest {
   302  	if x, ok := x.GetMessage().(*Message_AppRequest); ok {
   303  		return x.AppRequest
   304  	}
   305  	return nil
   306  }
   307  
   308  func (x *Message) GetAppResponse() *AppResponse {
   309  	if x, ok := x.GetMessage().(*Message_AppResponse); ok {
   310  		return x.AppResponse
   311  	}
   312  	return nil
   313  }
   314  
   315  func (x *Message) GetAppGossip() *AppGossip {
   316  	if x, ok := x.GetMessage().(*Message_AppGossip); ok {
   317  		return x.AppGossip
   318  	}
   319  	return nil
   320  }
   321  
   322  func (x *Message) GetAppError() *AppError {
   323  	if x, ok := x.GetMessage().(*Message_AppError); ok {
   324  		return x.AppError
   325  	}
   326  	return nil
   327  }
   328  
   329  type isMessage_Message interface {
   330  	isMessage_Message()
   331  }
   332  
   333  type Message_CompressedZstd struct {
   334  	// zstd-compressed bytes of a "p2p.Message" whose "oneof" "message" field is
   335  	// NOT compressed_* BUT one of the message types (e.g. ping, pong, etc.).
   336  	// This field is only set if the message type supports compression.
   337  	CompressedZstd []byte `protobuf:"bytes,2,opt,name=compressed_zstd,json=compressedZstd,proto3,oneof"`
   338  }
   339  
   340  type Message_Ping struct {
   341  	// Network messages:
   342  	Ping *Ping `protobuf:"bytes,11,opt,name=ping,proto3,oneof"`
   343  }
   344  
   345  type Message_Pong struct {
   346  	Pong *Pong `protobuf:"bytes,12,opt,name=pong,proto3,oneof"`
   347  }
   348  
   349  type Message_Handshake struct {
   350  	Handshake *Handshake `protobuf:"bytes,13,opt,name=handshake,proto3,oneof"`
   351  }
   352  
   353  type Message_GetPeerList struct {
   354  	GetPeerList *GetPeerList `protobuf:"bytes,35,opt,name=get_peer_list,json=getPeerList,proto3,oneof"`
   355  }
   356  
   357  type Message_PeerList_ struct {
   358  	PeerList_ *PeerList `protobuf:"bytes,14,opt,name=peer_list,json=peerList,proto3,oneof"`
   359  }
   360  
   361  type Message_GetStateSummaryFrontier struct {
   362  	// State-sync messages:
   363  	GetStateSummaryFrontier *GetStateSummaryFrontier `protobuf:"bytes,15,opt,name=get_state_summary_frontier,json=getStateSummaryFrontier,proto3,oneof"`
   364  }
   365  
   366  type Message_StateSummaryFrontier_ struct {
   367  	StateSummaryFrontier_ *StateSummaryFrontier `protobuf:"bytes,16,opt,name=state_summary_frontier,json=stateSummaryFrontier,proto3,oneof"`
   368  }
   369  
   370  type Message_GetAcceptedStateSummary struct {
   371  	GetAcceptedStateSummary *GetAcceptedStateSummary `protobuf:"bytes,17,opt,name=get_accepted_state_summary,json=getAcceptedStateSummary,proto3,oneof"`
   372  }
   373  
   374  type Message_AcceptedStateSummary_ struct {
   375  	AcceptedStateSummary_ *AcceptedStateSummary `protobuf:"bytes,18,opt,name=accepted_state_summary,json=acceptedStateSummary,proto3,oneof"`
   376  }
   377  
   378  type Message_GetAcceptedFrontier struct {
   379  	// Bootstrapping messages:
   380  	GetAcceptedFrontier *GetAcceptedFrontier `protobuf:"bytes,19,opt,name=get_accepted_frontier,json=getAcceptedFrontier,proto3,oneof"`
   381  }
   382  
   383  type Message_AcceptedFrontier_ struct {
   384  	AcceptedFrontier_ *AcceptedFrontier `protobuf:"bytes,20,opt,name=accepted_frontier,json=acceptedFrontier,proto3,oneof"`
   385  }
   386  
   387  type Message_GetAccepted struct {
   388  	GetAccepted *GetAccepted `protobuf:"bytes,21,opt,name=get_accepted,json=getAccepted,proto3,oneof"`
   389  }
   390  
   391  type Message_Accepted_ struct {
   392  	Accepted_ *Accepted `protobuf:"bytes,22,opt,name=accepted,proto3,oneof"`
   393  }
   394  
   395  type Message_GetAncestors struct {
   396  	GetAncestors *GetAncestors `protobuf:"bytes,23,opt,name=get_ancestors,json=getAncestors,proto3,oneof"`
   397  }
   398  
   399  type Message_Ancestors_ struct {
   400  	Ancestors_ *Ancestors `protobuf:"bytes,24,opt,name=ancestors,proto3,oneof"`
   401  }
   402  
   403  type Message_Get struct {
   404  	// Consensus messages:
   405  	Get *Get `protobuf:"bytes,25,opt,name=get,proto3,oneof"`
   406  }
   407  
   408  type Message_Put struct {
   409  	Put *Put `protobuf:"bytes,26,opt,name=put,proto3,oneof"`
   410  }
   411  
   412  type Message_PushQuery struct {
   413  	PushQuery *PushQuery `protobuf:"bytes,27,opt,name=push_query,json=pushQuery,proto3,oneof"`
   414  }
   415  
   416  type Message_PullQuery struct {
   417  	PullQuery *PullQuery `protobuf:"bytes,28,opt,name=pull_query,json=pullQuery,proto3,oneof"`
   418  }
   419  
   420  type Message_Chits struct {
   421  	Chits *Chits `protobuf:"bytes,29,opt,name=chits,proto3,oneof"`
   422  }
   423  
   424  type Message_AppRequest struct {
   425  	// App messages:
   426  	AppRequest *AppRequest `protobuf:"bytes,30,opt,name=app_request,json=appRequest,proto3,oneof"`
   427  }
   428  
   429  type Message_AppResponse struct {
   430  	AppResponse *AppResponse `protobuf:"bytes,31,opt,name=app_response,json=appResponse,proto3,oneof"`
   431  }
   432  
   433  type Message_AppGossip struct {
   434  	AppGossip *AppGossip `protobuf:"bytes,32,opt,name=app_gossip,json=appGossip,proto3,oneof"`
   435  }
   436  
   437  type Message_AppError struct {
   438  	AppError *AppError `protobuf:"bytes,34,opt,name=app_error,json=appError,proto3,oneof"`
   439  }
   440  
   441  func (*Message_CompressedZstd) isMessage_Message() {}
   442  
   443  func (*Message_Ping) isMessage_Message() {}
   444  
   445  func (*Message_Pong) isMessage_Message() {}
   446  
   447  func (*Message_Handshake) isMessage_Message() {}
   448  
   449  func (*Message_GetPeerList) isMessage_Message() {}
   450  
   451  func (*Message_PeerList_) isMessage_Message() {}
   452  
   453  func (*Message_GetStateSummaryFrontier) isMessage_Message() {}
   454  
   455  func (*Message_StateSummaryFrontier_) isMessage_Message() {}
   456  
   457  func (*Message_GetAcceptedStateSummary) isMessage_Message() {}
   458  
   459  func (*Message_AcceptedStateSummary_) isMessage_Message() {}
   460  
   461  func (*Message_GetAcceptedFrontier) isMessage_Message() {}
   462  
   463  func (*Message_AcceptedFrontier_) isMessage_Message() {}
   464  
   465  func (*Message_GetAccepted) isMessage_Message() {}
   466  
   467  func (*Message_Accepted_) isMessage_Message() {}
   468  
   469  func (*Message_GetAncestors) isMessage_Message() {}
   470  
   471  func (*Message_Ancestors_) isMessage_Message() {}
   472  
   473  func (*Message_Get) isMessage_Message() {}
   474  
   475  func (*Message_Put) isMessage_Message() {}
   476  
   477  func (*Message_PushQuery) isMessage_Message() {}
   478  
   479  func (*Message_PullQuery) isMessage_Message() {}
   480  
   481  func (*Message_Chits) isMessage_Message() {}
   482  
   483  func (*Message_AppRequest) isMessage_Message() {}
   484  
   485  func (*Message_AppResponse) isMessage_Message() {}
   486  
   487  func (*Message_AppGossip) isMessage_Message() {}
   488  
   489  func (*Message_AppError) isMessage_Message() {}
   490  
   491  // Ping reports a peer's perceived uptime percentage.
   492  //
   493  // Peers should respond to Ping with a Pong.
   494  type Ping struct {
   495  	state         protoimpl.MessageState
   496  	sizeCache     protoimpl.SizeCache
   497  	unknownFields protoimpl.UnknownFields
   498  
   499  	// Uptime percentage on the primary network [0, 100]
   500  	Uptime uint32 `protobuf:"varint,1,opt,name=uptime,proto3" json:"uptime,omitempty"`
   501  	// Uptime percentage on subnets
   502  	SubnetUptimes []*SubnetUptime `protobuf:"bytes,2,rep,name=subnet_uptimes,json=subnetUptimes,proto3" json:"subnet_uptimes,omitempty"`
   503  }
   504  
   505  func (x *Ping) Reset() {
   506  	*x = Ping{}
   507  	if protoimpl.UnsafeEnabled {
   508  		mi := &file_p2p_p2p_proto_msgTypes[1]
   509  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   510  		ms.StoreMessageInfo(mi)
   511  	}
   512  }
   513  
   514  func (x *Ping) String() string {
   515  	return protoimpl.X.MessageStringOf(x)
   516  }
   517  
   518  func (*Ping) ProtoMessage() {}
   519  
   520  func (x *Ping) ProtoReflect() protoreflect.Message {
   521  	mi := &file_p2p_p2p_proto_msgTypes[1]
   522  	if protoimpl.UnsafeEnabled && x != nil {
   523  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   524  		if ms.LoadMessageInfo() == nil {
   525  			ms.StoreMessageInfo(mi)
   526  		}
   527  		return ms
   528  	}
   529  	return mi.MessageOf(x)
   530  }
   531  
   532  // Deprecated: Use Ping.ProtoReflect.Descriptor instead.
   533  func (*Ping) Descriptor() ([]byte, []int) {
   534  	return file_p2p_p2p_proto_rawDescGZIP(), []int{1}
   535  }
   536  
   537  func (x *Ping) GetUptime() uint32 {
   538  	if x != nil {
   539  		return x.Uptime
   540  	}
   541  	return 0
   542  }
   543  
   544  func (x *Ping) GetSubnetUptimes() []*SubnetUptime {
   545  	if x != nil {
   546  		return x.SubnetUptimes
   547  	}
   548  	return nil
   549  }
   550  
   551  // SubnetUptime is a descriptor for a peer's perceived uptime on a subnet.
   552  type SubnetUptime struct {
   553  	state         protoimpl.MessageState
   554  	sizeCache     protoimpl.SizeCache
   555  	unknownFields protoimpl.UnknownFields
   556  
   557  	// Subnet the peer is validating
   558  	SubnetId []byte `protobuf:"bytes,1,opt,name=subnet_id,json=subnetId,proto3" json:"subnet_id,omitempty"`
   559  	// Uptime percentage on the subnet [0, 100]
   560  	Uptime uint32 `protobuf:"varint,2,opt,name=uptime,proto3" json:"uptime,omitempty"`
   561  }
   562  
   563  func (x *SubnetUptime) Reset() {
   564  	*x = SubnetUptime{}
   565  	if protoimpl.UnsafeEnabled {
   566  		mi := &file_p2p_p2p_proto_msgTypes[2]
   567  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   568  		ms.StoreMessageInfo(mi)
   569  	}
   570  }
   571  
   572  func (x *SubnetUptime) String() string {
   573  	return protoimpl.X.MessageStringOf(x)
   574  }
   575  
   576  func (*SubnetUptime) ProtoMessage() {}
   577  
   578  func (x *SubnetUptime) ProtoReflect() protoreflect.Message {
   579  	mi := &file_p2p_p2p_proto_msgTypes[2]
   580  	if protoimpl.UnsafeEnabled && x != nil {
   581  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   582  		if ms.LoadMessageInfo() == nil {
   583  			ms.StoreMessageInfo(mi)
   584  		}
   585  		return ms
   586  	}
   587  	return mi.MessageOf(x)
   588  }
   589  
   590  // Deprecated: Use SubnetUptime.ProtoReflect.Descriptor instead.
   591  func (*SubnetUptime) Descriptor() ([]byte, []int) {
   592  	return file_p2p_p2p_proto_rawDescGZIP(), []int{2}
   593  }
   594  
   595  func (x *SubnetUptime) GetSubnetId() []byte {
   596  	if x != nil {
   597  		return x.SubnetId
   598  	}
   599  	return nil
   600  }
   601  
   602  func (x *SubnetUptime) GetUptime() uint32 {
   603  	if x != nil {
   604  		return x.Uptime
   605  	}
   606  	return 0
   607  }
   608  
   609  // Pong is sent in response to a Ping.
   610  type Pong struct {
   611  	state         protoimpl.MessageState
   612  	sizeCache     protoimpl.SizeCache
   613  	unknownFields protoimpl.UnknownFields
   614  }
   615  
   616  func (x *Pong) Reset() {
   617  	*x = Pong{}
   618  	if protoimpl.UnsafeEnabled {
   619  		mi := &file_p2p_p2p_proto_msgTypes[3]
   620  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   621  		ms.StoreMessageInfo(mi)
   622  	}
   623  }
   624  
   625  func (x *Pong) String() string {
   626  	return protoimpl.X.MessageStringOf(x)
   627  }
   628  
   629  func (*Pong) ProtoMessage() {}
   630  
   631  func (x *Pong) ProtoReflect() protoreflect.Message {
   632  	mi := &file_p2p_p2p_proto_msgTypes[3]
   633  	if protoimpl.UnsafeEnabled && x != nil {
   634  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   635  		if ms.LoadMessageInfo() == nil {
   636  			ms.StoreMessageInfo(mi)
   637  		}
   638  		return ms
   639  	}
   640  	return mi.MessageOf(x)
   641  }
   642  
   643  // Deprecated: Use Pong.ProtoReflect.Descriptor instead.
   644  func (*Pong) Descriptor() ([]byte, []int) {
   645  	return file_p2p_p2p_proto_rawDescGZIP(), []int{3}
   646  }
   647  
   648  // Handshake is the first outbound message sent to a peer when a connection is
   649  // established to start the p2p handshake.
   650  //
   651  // Peers must respond to a Handshake message with a PeerList message to allow the
   652  // peer to connect to other peers in the network.
   653  //
   654  // Peers should drop connections to peers with incompatible versions.
   655  type Handshake struct {
   656  	state         protoimpl.MessageState
   657  	sizeCache     protoimpl.SizeCache
   658  	unknownFields protoimpl.UnknownFields
   659  
   660  	// Network the peer is running on (e.g local, testnet, mainnet)
   661  	NetworkId uint32 `protobuf:"varint,1,opt,name=network_id,json=networkId,proto3" json:"network_id,omitempty"`
   662  	// Unix timestamp when this Handshake message was created
   663  	MyTime uint64 `protobuf:"varint,2,opt,name=my_time,json=myTime,proto3" json:"my_time,omitempty"`
   664  	// IP address of the peer
   665  	IpAddr []byte `protobuf:"bytes,3,opt,name=ip_addr,json=ipAddr,proto3" json:"ip_addr,omitempty"`
   666  	// IP port of the peer
   667  	IpPort uint32 `protobuf:"varint,4,opt,name=ip_port,json=ipPort,proto3" json:"ip_port,omitempty"`
   668  	// Timestamp of the IP
   669  	IpSigningTime uint64 `protobuf:"varint,6,opt,name=ip_signing_time,json=ipSigningTime,proto3" json:"ip_signing_time,omitempty"`
   670  	// Signature of the peer IP port pair at a provided timestamp with the TLS
   671  	// key.
   672  	IpNodeIdSig []byte `protobuf:"bytes,7,opt,name=ip_node_id_sig,json=ipNodeIdSig,proto3" json:"ip_node_id_sig,omitempty"`
   673  	// Subnets the peer is tracking
   674  	TrackedSubnets [][]byte     `protobuf:"bytes,8,rep,name=tracked_subnets,json=trackedSubnets,proto3" json:"tracked_subnets,omitempty"`
   675  	Client         *Client      `protobuf:"bytes,9,opt,name=client,proto3" json:"client,omitempty"`
   676  	SupportedAcps  []uint32     `protobuf:"varint,10,rep,packed,name=supported_acps,json=supportedAcps,proto3" json:"supported_acps,omitempty"`
   677  	ObjectedAcps   []uint32     `protobuf:"varint,11,rep,packed,name=objected_acps,json=objectedAcps,proto3" json:"objected_acps,omitempty"`
   678  	KnownPeers     *BloomFilter `protobuf:"bytes,12,opt,name=known_peers,json=knownPeers,proto3" json:"known_peers,omitempty"`
   679  	// Signature of the peer IP port pair at a provided timestamp with the BLS
   680  	// key.
   681  	IpBlsSig []byte `protobuf:"bytes,13,opt,name=ip_bls_sig,json=ipBlsSig,proto3" json:"ip_bls_sig,omitempty"`
   682  }
   683  
   684  func (x *Handshake) Reset() {
   685  	*x = Handshake{}
   686  	if protoimpl.UnsafeEnabled {
   687  		mi := &file_p2p_p2p_proto_msgTypes[4]
   688  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   689  		ms.StoreMessageInfo(mi)
   690  	}
   691  }
   692  
   693  func (x *Handshake) String() string {
   694  	return protoimpl.X.MessageStringOf(x)
   695  }
   696  
   697  func (*Handshake) ProtoMessage() {}
   698  
   699  func (x *Handshake) ProtoReflect() protoreflect.Message {
   700  	mi := &file_p2p_p2p_proto_msgTypes[4]
   701  	if protoimpl.UnsafeEnabled && x != nil {
   702  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   703  		if ms.LoadMessageInfo() == nil {
   704  			ms.StoreMessageInfo(mi)
   705  		}
   706  		return ms
   707  	}
   708  	return mi.MessageOf(x)
   709  }
   710  
   711  // Deprecated: Use Handshake.ProtoReflect.Descriptor instead.
   712  func (*Handshake) Descriptor() ([]byte, []int) {
   713  	return file_p2p_p2p_proto_rawDescGZIP(), []int{4}
   714  }
   715  
   716  func (x *Handshake) GetNetworkId() uint32 {
   717  	if x != nil {
   718  		return x.NetworkId
   719  	}
   720  	return 0
   721  }
   722  
   723  func (x *Handshake) GetMyTime() uint64 {
   724  	if x != nil {
   725  		return x.MyTime
   726  	}
   727  	return 0
   728  }
   729  
   730  func (x *Handshake) GetIpAddr() []byte {
   731  	if x != nil {
   732  		return x.IpAddr
   733  	}
   734  	return nil
   735  }
   736  
   737  func (x *Handshake) GetIpPort() uint32 {
   738  	if x != nil {
   739  		return x.IpPort
   740  	}
   741  	return 0
   742  }
   743  
   744  func (x *Handshake) GetIpSigningTime() uint64 {
   745  	if x != nil {
   746  		return x.IpSigningTime
   747  	}
   748  	return 0
   749  }
   750  
   751  func (x *Handshake) GetIpNodeIdSig() []byte {
   752  	if x != nil {
   753  		return x.IpNodeIdSig
   754  	}
   755  	return nil
   756  }
   757  
   758  func (x *Handshake) GetTrackedSubnets() [][]byte {
   759  	if x != nil {
   760  		return x.TrackedSubnets
   761  	}
   762  	return nil
   763  }
   764  
   765  func (x *Handshake) GetClient() *Client {
   766  	if x != nil {
   767  		return x.Client
   768  	}
   769  	return nil
   770  }
   771  
   772  func (x *Handshake) GetSupportedAcps() []uint32 {
   773  	if x != nil {
   774  		return x.SupportedAcps
   775  	}
   776  	return nil
   777  }
   778  
   779  func (x *Handshake) GetObjectedAcps() []uint32 {
   780  	if x != nil {
   781  		return x.ObjectedAcps
   782  	}
   783  	return nil
   784  }
   785  
   786  func (x *Handshake) GetKnownPeers() *BloomFilter {
   787  	if x != nil {
   788  		return x.KnownPeers
   789  	}
   790  	return nil
   791  }
   792  
   793  func (x *Handshake) GetIpBlsSig() []byte {
   794  	if x != nil {
   795  		return x.IpBlsSig
   796  	}
   797  	return nil
   798  }
   799  
   800  // Metadata about a peer's P2P client used to determine compatibility
   801  type Client struct {
   802  	state         protoimpl.MessageState
   803  	sizeCache     protoimpl.SizeCache
   804  	unknownFields protoimpl.UnknownFields
   805  
   806  	// Client name (e.g avalanchego)
   807  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
   808  	// Client semantic version
   809  	Major uint32 `protobuf:"varint,2,opt,name=major,proto3" json:"major,omitempty"`
   810  	Minor uint32 `protobuf:"varint,3,opt,name=minor,proto3" json:"minor,omitempty"`
   811  	Patch uint32 `protobuf:"varint,4,opt,name=patch,proto3" json:"patch,omitempty"`
   812  }
   813  
   814  func (x *Client) Reset() {
   815  	*x = Client{}
   816  	if protoimpl.UnsafeEnabled {
   817  		mi := &file_p2p_p2p_proto_msgTypes[5]
   818  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   819  		ms.StoreMessageInfo(mi)
   820  	}
   821  }
   822  
   823  func (x *Client) String() string {
   824  	return protoimpl.X.MessageStringOf(x)
   825  }
   826  
   827  func (*Client) ProtoMessage() {}
   828  
   829  func (x *Client) ProtoReflect() protoreflect.Message {
   830  	mi := &file_p2p_p2p_proto_msgTypes[5]
   831  	if protoimpl.UnsafeEnabled && x != nil {
   832  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   833  		if ms.LoadMessageInfo() == nil {
   834  			ms.StoreMessageInfo(mi)
   835  		}
   836  		return ms
   837  	}
   838  	return mi.MessageOf(x)
   839  }
   840  
   841  // Deprecated: Use Client.ProtoReflect.Descriptor instead.
   842  func (*Client) Descriptor() ([]byte, []int) {
   843  	return file_p2p_p2p_proto_rawDescGZIP(), []int{5}
   844  }
   845  
   846  func (x *Client) GetName() string {
   847  	if x != nil {
   848  		return x.Name
   849  	}
   850  	return ""
   851  }
   852  
   853  func (x *Client) GetMajor() uint32 {
   854  	if x != nil {
   855  		return x.Major
   856  	}
   857  	return 0
   858  }
   859  
   860  func (x *Client) GetMinor() uint32 {
   861  	if x != nil {
   862  		return x.Minor
   863  	}
   864  	return 0
   865  }
   866  
   867  func (x *Client) GetPatch() uint32 {
   868  	if x != nil {
   869  		return x.Patch
   870  	}
   871  	return 0
   872  }
   873  
   874  // BloomFilter with a random salt to prevent consistent hash collisions
   875  type BloomFilter struct {
   876  	state         protoimpl.MessageState
   877  	sizeCache     protoimpl.SizeCache
   878  	unknownFields protoimpl.UnknownFields
   879  
   880  	Filter []byte `protobuf:"bytes,1,opt,name=filter,proto3" json:"filter,omitempty"`
   881  	Salt   []byte `protobuf:"bytes,2,opt,name=salt,proto3" json:"salt,omitempty"`
   882  }
   883  
   884  func (x *BloomFilter) Reset() {
   885  	*x = BloomFilter{}
   886  	if protoimpl.UnsafeEnabled {
   887  		mi := &file_p2p_p2p_proto_msgTypes[6]
   888  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   889  		ms.StoreMessageInfo(mi)
   890  	}
   891  }
   892  
   893  func (x *BloomFilter) String() string {
   894  	return protoimpl.X.MessageStringOf(x)
   895  }
   896  
   897  func (*BloomFilter) ProtoMessage() {}
   898  
   899  func (x *BloomFilter) ProtoReflect() protoreflect.Message {
   900  	mi := &file_p2p_p2p_proto_msgTypes[6]
   901  	if protoimpl.UnsafeEnabled && x != nil {
   902  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   903  		if ms.LoadMessageInfo() == nil {
   904  			ms.StoreMessageInfo(mi)
   905  		}
   906  		return ms
   907  	}
   908  	return mi.MessageOf(x)
   909  }
   910  
   911  // Deprecated: Use BloomFilter.ProtoReflect.Descriptor instead.
   912  func (*BloomFilter) Descriptor() ([]byte, []int) {
   913  	return file_p2p_p2p_proto_rawDescGZIP(), []int{6}
   914  }
   915  
   916  func (x *BloomFilter) GetFilter() []byte {
   917  	if x != nil {
   918  		return x.Filter
   919  	}
   920  	return nil
   921  }
   922  
   923  func (x *BloomFilter) GetSalt() []byte {
   924  	if x != nil {
   925  		return x.Salt
   926  	}
   927  	return nil
   928  }
   929  
   930  // ClaimedIpPort contains metadata needed to connect to a peer
   931  type ClaimedIpPort struct {
   932  	state         protoimpl.MessageState
   933  	sizeCache     protoimpl.SizeCache
   934  	unknownFields protoimpl.UnknownFields
   935  
   936  	// X509 certificate of the peer
   937  	X509Certificate []byte `protobuf:"bytes,1,opt,name=x509_certificate,json=x509Certificate,proto3" json:"x509_certificate,omitempty"`
   938  	// IP address of the peer
   939  	IpAddr []byte `protobuf:"bytes,2,opt,name=ip_addr,json=ipAddr,proto3" json:"ip_addr,omitempty"`
   940  	// IP port of the peer
   941  	IpPort uint32 `protobuf:"varint,3,opt,name=ip_port,json=ipPort,proto3" json:"ip_port,omitempty"`
   942  	// Timestamp of the IP address + port pair
   943  	Timestamp uint64 `protobuf:"varint,4,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
   944  	// Signature of the IP port pair at a provided timestamp
   945  	Signature []byte `protobuf:"bytes,5,opt,name=signature,proto3" json:"signature,omitempty"`
   946  	// P-Chain transaction that added this peer to the validator set
   947  	TxId []byte `protobuf:"bytes,6,opt,name=tx_id,json=txId,proto3" json:"tx_id,omitempty"`
   948  }
   949  
   950  func (x *ClaimedIpPort) Reset() {
   951  	*x = ClaimedIpPort{}
   952  	if protoimpl.UnsafeEnabled {
   953  		mi := &file_p2p_p2p_proto_msgTypes[7]
   954  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   955  		ms.StoreMessageInfo(mi)
   956  	}
   957  }
   958  
   959  func (x *ClaimedIpPort) String() string {
   960  	return protoimpl.X.MessageStringOf(x)
   961  }
   962  
   963  func (*ClaimedIpPort) ProtoMessage() {}
   964  
   965  func (x *ClaimedIpPort) ProtoReflect() protoreflect.Message {
   966  	mi := &file_p2p_p2p_proto_msgTypes[7]
   967  	if protoimpl.UnsafeEnabled && x != nil {
   968  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   969  		if ms.LoadMessageInfo() == nil {
   970  			ms.StoreMessageInfo(mi)
   971  		}
   972  		return ms
   973  	}
   974  	return mi.MessageOf(x)
   975  }
   976  
   977  // Deprecated: Use ClaimedIpPort.ProtoReflect.Descriptor instead.
   978  func (*ClaimedIpPort) Descriptor() ([]byte, []int) {
   979  	return file_p2p_p2p_proto_rawDescGZIP(), []int{7}
   980  }
   981  
   982  func (x *ClaimedIpPort) GetX509Certificate() []byte {
   983  	if x != nil {
   984  		return x.X509Certificate
   985  	}
   986  	return nil
   987  }
   988  
   989  func (x *ClaimedIpPort) GetIpAddr() []byte {
   990  	if x != nil {
   991  		return x.IpAddr
   992  	}
   993  	return nil
   994  }
   995  
   996  func (x *ClaimedIpPort) GetIpPort() uint32 {
   997  	if x != nil {
   998  		return x.IpPort
   999  	}
  1000  	return 0
  1001  }
  1002  
  1003  func (x *ClaimedIpPort) GetTimestamp() uint64 {
  1004  	if x != nil {
  1005  		return x.Timestamp
  1006  	}
  1007  	return 0
  1008  }
  1009  
  1010  func (x *ClaimedIpPort) GetSignature() []byte {
  1011  	if x != nil {
  1012  		return x.Signature
  1013  	}
  1014  	return nil
  1015  }
  1016  
  1017  func (x *ClaimedIpPort) GetTxId() []byte {
  1018  	if x != nil {
  1019  		return x.TxId
  1020  	}
  1021  	return nil
  1022  }
  1023  
  1024  // GetPeerList contains a bloom filter of the currently known validator IPs.
  1025  //
  1026  // GetPeerList must not be responded to until finishing the handshake. After the
  1027  // handshake is completed, GetPeerlist messages should be responded to with a
  1028  // Peerlist message containing validators that are not present in the bloom
  1029  // filter.
  1030  type GetPeerList struct {
  1031  	state         protoimpl.MessageState
  1032  	sizeCache     protoimpl.SizeCache
  1033  	unknownFields protoimpl.UnknownFields
  1034  
  1035  	KnownPeers *BloomFilter `protobuf:"bytes,1,opt,name=known_peers,json=knownPeers,proto3" json:"known_peers,omitempty"`
  1036  }
  1037  
  1038  func (x *GetPeerList) Reset() {
  1039  	*x = GetPeerList{}
  1040  	if protoimpl.UnsafeEnabled {
  1041  		mi := &file_p2p_p2p_proto_msgTypes[8]
  1042  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1043  		ms.StoreMessageInfo(mi)
  1044  	}
  1045  }
  1046  
  1047  func (x *GetPeerList) String() string {
  1048  	return protoimpl.X.MessageStringOf(x)
  1049  }
  1050  
  1051  func (*GetPeerList) ProtoMessage() {}
  1052  
  1053  func (x *GetPeerList) ProtoReflect() protoreflect.Message {
  1054  	mi := &file_p2p_p2p_proto_msgTypes[8]
  1055  	if protoimpl.UnsafeEnabled && x != nil {
  1056  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1057  		if ms.LoadMessageInfo() == nil {
  1058  			ms.StoreMessageInfo(mi)
  1059  		}
  1060  		return ms
  1061  	}
  1062  	return mi.MessageOf(x)
  1063  }
  1064  
  1065  // Deprecated: Use GetPeerList.ProtoReflect.Descriptor instead.
  1066  func (*GetPeerList) Descriptor() ([]byte, []int) {
  1067  	return file_p2p_p2p_proto_rawDescGZIP(), []int{8}
  1068  }
  1069  
  1070  func (x *GetPeerList) GetKnownPeers() *BloomFilter {
  1071  	if x != nil {
  1072  		return x.KnownPeers
  1073  	}
  1074  	return nil
  1075  }
  1076  
  1077  // PeerList contains network-level metadata for a set of validators.
  1078  //
  1079  // PeerList must be sent in response to an inbound Handshake message from a
  1080  // remote peer a peer wants to connect to. Once a PeerList is received after
  1081  // a Handshake message, the p2p handshake is complete and the connection is
  1082  // established.
  1083  //
  1084  // PeerList should be sent in response to a GetPeerlist message if the handshake
  1085  // has been completed.
  1086  type PeerList struct {
  1087  	state         protoimpl.MessageState
  1088  	sizeCache     protoimpl.SizeCache
  1089  	unknownFields protoimpl.UnknownFields
  1090  
  1091  	ClaimedIpPorts []*ClaimedIpPort `protobuf:"bytes,1,rep,name=claimed_ip_ports,json=claimedIpPorts,proto3" json:"claimed_ip_ports,omitempty"`
  1092  }
  1093  
  1094  func (x *PeerList) Reset() {
  1095  	*x = PeerList{}
  1096  	if protoimpl.UnsafeEnabled {
  1097  		mi := &file_p2p_p2p_proto_msgTypes[9]
  1098  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1099  		ms.StoreMessageInfo(mi)
  1100  	}
  1101  }
  1102  
  1103  func (x *PeerList) String() string {
  1104  	return protoimpl.X.MessageStringOf(x)
  1105  }
  1106  
  1107  func (*PeerList) ProtoMessage() {}
  1108  
  1109  func (x *PeerList) ProtoReflect() protoreflect.Message {
  1110  	mi := &file_p2p_p2p_proto_msgTypes[9]
  1111  	if protoimpl.UnsafeEnabled && x != nil {
  1112  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1113  		if ms.LoadMessageInfo() == nil {
  1114  			ms.StoreMessageInfo(mi)
  1115  		}
  1116  		return ms
  1117  	}
  1118  	return mi.MessageOf(x)
  1119  }
  1120  
  1121  // Deprecated: Use PeerList.ProtoReflect.Descriptor instead.
  1122  func (*PeerList) Descriptor() ([]byte, []int) {
  1123  	return file_p2p_p2p_proto_rawDescGZIP(), []int{9}
  1124  }
  1125  
  1126  func (x *PeerList) GetClaimedIpPorts() []*ClaimedIpPort {
  1127  	if x != nil {
  1128  		return x.ClaimedIpPorts
  1129  	}
  1130  	return nil
  1131  }
  1132  
  1133  // GetStateSummaryFrontier requests a peer's most recently accepted state
  1134  // summary
  1135  type GetStateSummaryFrontier struct {
  1136  	state         protoimpl.MessageState
  1137  	sizeCache     protoimpl.SizeCache
  1138  	unknownFields protoimpl.UnknownFields
  1139  
  1140  	// Chain being requested from
  1141  	ChainId []byte `protobuf:"bytes,1,opt,name=chain_id,json=chainId,proto3" json:"chain_id,omitempty"`
  1142  	// Unique identifier for this request
  1143  	RequestId uint32 `protobuf:"varint,2,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
  1144  	// Timeout (ns) for this request
  1145  	Deadline uint64 `protobuf:"varint,3,opt,name=deadline,proto3" json:"deadline,omitempty"`
  1146  }
  1147  
  1148  func (x *GetStateSummaryFrontier) Reset() {
  1149  	*x = GetStateSummaryFrontier{}
  1150  	if protoimpl.UnsafeEnabled {
  1151  		mi := &file_p2p_p2p_proto_msgTypes[10]
  1152  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1153  		ms.StoreMessageInfo(mi)
  1154  	}
  1155  }
  1156  
  1157  func (x *GetStateSummaryFrontier) String() string {
  1158  	return protoimpl.X.MessageStringOf(x)
  1159  }
  1160  
  1161  func (*GetStateSummaryFrontier) ProtoMessage() {}
  1162  
  1163  func (x *GetStateSummaryFrontier) ProtoReflect() protoreflect.Message {
  1164  	mi := &file_p2p_p2p_proto_msgTypes[10]
  1165  	if protoimpl.UnsafeEnabled && x != nil {
  1166  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1167  		if ms.LoadMessageInfo() == nil {
  1168  			ms.StoreMessageInfo(mi)
  1169  		}
  1170  		return ms
  1171  	}
  1172  	return mi.MessageOf(x)
  1173  }
  1174  
  1175  // Deprecated: Use GetStateSummaryFrontier.ProtoReflect.Descriptor instead.
  1176  func (*GetStateSummaryFrontier) Descriptor() ([]byte, []int) {
  1177  	return file_p2p_p2p_proto_rawDescGZIP(), []int{10}
  1178  }
  1179  
  1180  func (x *GetStateSummaryFrontier) GetChainId() []byte {
  1181  	if x != nil {
  1182  		return x.ChainId
  1183  	}
  1184  	return nil
  1185  }
  1186  
  1187  func (x *GetStateSummaryFrontier) GetRequestId() uint32 {
  1188  	if x != nil {
  1189  		return x.RequestId
  1190  	}
  1191  	return 0
  1192  }
  1193  
  1194  func (x *GetStateSummaryFrontier) GetDeadline() uint64 {
  1195  	if x != nil {
  1196  		return x.Deadline
  1197  	}
  1198  	return 0
  1199  }
  1200  
  1201  // StateSummaryFrontier is sent in response to a GetStateSummaryFrontier request
  1202  type StateSummaryFrontier struct {
  1203  	state         protoimpl.MessageState
  1204  	sizeCache     protoimpl.SizeCache
  1205  	unknownFields protoimpl.UnknownFields
  1206  
  1207  	// Chain being responded from
  1208  	ChainId []byte `protobuf:"bytes,1,opt,name=chain_id,json=chainId,proto3" json:"chain_id,omitempty"`
  1209  	// Request id of the original GetStateSummaryFrontier request
  1210  	RequestId uint32 `protobuf:"varint,2,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
  1211  	// The requested state summary
  1212  	Summary []byte `protobuf:"bytes,3,opt,name=summary,proto3" json:"summary,omitempty"`
  1213  }
  1214  
  1215  func (x *StateSummaryFrontier) Reset() {
  1216  	*x = StateSummaryFrontier{}
  1217  	if protoimpl.UnsafeEnabled {
  1218  		mi := &file_p2p_p2p_proto_msgTypes[11]
  1219  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1220  		ms.StoreMessageInfo(mi)
  1221  	}
  1222  }
  1223  
  1224  func (x *StateSummaryFrontier) String() string {
  1225  	return protoimpl.X.MessageStringOf(x)
  1226  }
  1227  
  1228  func (*StateSummaryFrontier) ProtoMessage() {}
  1229  
  1230  func (x *StateSummaryFrontier) ProtoReflect() protoreflect.Message {
  1231  	mi := &file_p2p_p2p_proto_msgTypes[11]
  1232  	if protoimpl.UnsafeEnabled && x != nil {
  1233  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1234  		if ms.LoadMessageInfo() == nil {
  1235  			ms.StoreMessageInfo(mi)
  1236  		}
  1237  		return ms
  1238  	}
  1239  	return mi.MessageOf(x)
  1240  }
  1241  
  1242  // Deprecated: Use StateSummaryFrontier.ProtoReflect.Descriptor instead.
  1243  func (*StateSummaryFrontier) Descriptor() ([]byte, []int) {
  1244  	return file_p2p_p2p_proto_rawDescGZIP(), []int{11}
  1245  }
  1246  
  1247  func (x *StateSummaryFrontier) GetChainId() []byte {
  1248  	if x != nil {
  1249  		return x.ChainId
  1250  	}
  1251  	return nil
  1252  }
  1253  
  1254  func (x *StateSummaryFrontier) GetRequestId() uint32 {
  1255  	if x != nil {
  1256  		return x.RequestId
  1257  	}
  1258  	return 0
  1259  }
  1260  
  1261  func (x *StateSummaryFrontier) GetSummary() []byte {
  1262  	if x != nil {
  1263  		return x.Summary
  1264  	}
  1265  	return nil
  1266  }
  1267  
  1268  // GetAcceptedStateSummary requests a set of state summaries at a set of
  1269  // block heights
  1270  type GetAcceptedStateSummary struct {
  1271  	state         protoimpl.MessageState
  1272  	sizeCache     protoimpl.SizeCache
  1273  	unknownFields protoimpl.UnknownFields
  1274  
  1275  	// Chain bein requested from
  1276  	ChainId []byte `protobuf:"bytes,1,opt,name=chain_id,json=chainId,proto3" json:"chain_id,omitempty"`
  1277  	// Unique identifier for this request
  1278  	RequestId uint32 `protobuf:"varint,2,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
  1279  	// Timeout (ns) for this request
  1280  	Deadline uint64 `protobuf:"varint,3,opt,name=deadline,proto3" json:"deadline,omitempty"`
  1281  	// Heights being requested
  1282  	Heights []uint64 `protobuf:"varint,4,rep,packed,name=heights,proto3" json:"heights,omitempty"`
  1283  }
  1284  
  1285  func (x *GetAcceptedStateSummary) Reset() {
  1286  	*x = GetAcceptedStateSummary{}
  1287  	if protoimpl.UnsafeEnabled {
  1288  		mi := &file_p2p_p2p_proto_msgTypes[12]
  1289  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1290  		ms.StoreMessageInfo(mi)
  1291  	}
  1292  }
  1293  
  1294  func (x *GetAcceptedStateSummary) String() string {
  1295  	return protoimpl.X.MessageStringOf(x)
  1296  }
  1297  
  1298  func (*GetAcceptedStateSummary) ProtoMessage() {}
  1299  
  1300  func (x *GetAcceptedStateSummary) ProtoReflect() protoreflect.Message {
  1301  	mi := &file_p2p_p2p_proto_msgTypes[12]
  1302  	if protoimpl.UnsafeEnabled && x != nil {
  1303  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1304  		if ms.LoadMessageInfo() == nil {
  1305  			ms.StoreMessageInfo(mi)
  1306  		}
  1307  		return ms
  1308  	}
  1309  	return mi.MessageOf(x)
  1310  }
  1311  
  1312  // Deprecated: Use GetAcceptedStateSummary.ProtoReflect.Descriptor instead.
  1313  func (*GetAcceptedStateSummary) Descriptor() ([]byte, []int) {
  1314  	return file_p2p_p2p_proto_rawDescGZIP(), []int{12}
  1315  }
  1316  
  1317  func (x *GetAcceptedStateSummary) GetChainId() []byte {
  1318  	if x != nil {
  1319  		return x.ChainId
  1320  	}
  1321  	return nil
  1322  }
  1323  
  1324  func (x *GetAcceptedStateSummary) GetRequestId() uint32 {
  1325  	if x != nil {
  1326  		return x.RequestId
  1327  	}
  1328  	return 0
  1329  }
  1330  
  1331  func (x *GetAcceptedStateSummary) GetDeadline() uint64 {
  1332  	if x != nil {
  1333  		return x.Deadline
  1334  	}
  1335  	return 0
  1336  }
  1337  
  1338  func (x *GetAcceptedStateSummary) GetHeights() []uint64 {
  1339  	if x != nil {
  1340  		return x.Heights
  1341  	}
  1342  	return nil
  1343  }
  1344  
  1345  // AcceptedStateSummary is sent in response to GetAcceptedStateSummary
  1346  type AcceptedStateSummary struct {
  1347  	state         protoimpl.MessageState
  1348  	sizeCache     protoimpl.SizeCache
  1349  	unknownFields protoimpl.UnknownFields
  1350  
  1351  	// Chain being responded from
  1352  	ChainId []byte `protobuf:"bytes,1,opt,name=chain_id,json=chainId,proto3" json:"chain_id,omitempty"`
  1353  	// Request id of the original GetAcceptedStateSummary request
  1354  	RequestId uint32 `protobuf:"varint,2,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
  1355  	// State summary ids
  1356  	SummaryIds [][]byte `protobuf:"bytes,3,rep,name=summary_ids,json=summaryIds,proto3" json:"summary_ids,omitempty"`
  1357  }
  1358  
  1359  func (x *AcceptedStateSummary) Reset() {
  1360  	*x = AcceptedStateSummary{}
  1361  	if protoimpl.UnsafeEnabled {
  1362  		mi := &file_p2p_p2p_proto_msgTypes[13]
  1363  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1364  		ms.StoreMessageInfo(mi)
  1365  	}
  1366  }
  1367  
  1368  func (x *AcceptedStateSummary) String() string {
  1369  	return protoimpl.X.MessageStringOf(x)
  1370  }
  1371  
  1372  func (*AcceptedStateSummary) ProtoMessage() {}
  1373  
  1374  func (x *AcceptedStateSummary) ProtoReflect() protoreflect.Message {
  1375  	mi := &file_p2p_p2p_proto_msgTypes[13]
  1376  	if protoimpl.UnsafeEnabled && x != nil {
  1377  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1378  		if ms.LoadMessageInfo() == nil {
  1379  			ms.StoreMessageInfo(mi)
  1380  		}
  1381  		return ms
  1382  	}
  1383  	return mi.MessageOf(x)
  1384  }
  1385  
  1386  // Deprecated: Use AcceptedStateSummary.ProtoReflect.Descriptor instead.
  1387  func (*AcceptedStateSummary) Descriptor() ([]byte, []int) {
  1388  	return file_p2p_p2p_proto_rawDescGZIP(), []int{13}
  1389  }
  1390  
  1391  func (x *AcceptedStateSummary) GetChainId() []byte {
  1392  	if x != nil {
  1393  		return x.ChainId
  1394  	}
  1395  	return nil
  1396  }
  1397  
  1398  func (x *AcceptedStateSummary) GetRequestId() uint32 {
  1399  	if x != nil {
  1400  		return x.RequestId
  1401  	}
  1402  	return 0
  1403  }
  1404  
  1405  func (x *AcceptedStateSummary) GetSummaryIds() [][]byte {
  1406  	if x != nil {
  1407  		return x.SummaryIds
  1408  	}
  1409  	return nil
  1410  }
  1411  
  1412  // GetAcceptedFrontier requests the accepted frontier from a peer.
  1413  //
  1414  // Peers should respond to GetAcceptedFrontier with AcceptedFrontier.
  1415  type GetAcceptedFrontier struct {
  1416  	state         protoimpl.MessageState
  1417  	sizeCache     protoimpl.SizeCache
  1418  	unknownFields protoimpl.UnknownFields
  1419  
  1420  	// Chain being requested from
  1421  	ChainId []byte `protobuf:"bytes,1,opt,name=chain_id,json=chainId,proto3" json:"chain_id,omitempty"`
  1422  	// Unique identifier for this request
  1423  	RequestId uint32 `protobuf:"varint,2,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
  1424  	// Timeout (ns) for this request
  1425  	Deadline uint64 `protobuf:"varint,3,opt,name=deadline,proto3" json:"deadline,omitempty"`
  1426  }
  1427  
  1428  func (x *GetAcceptedFrontier) Reset() {
  1429  	*x = GetAcceptedFrontier{}
  1430  	if protoimpl.UnsafeEnabled {
  1431  		mi := &file_p2p_p2p_proto_msgTypes[14]
  1432  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1433  		ms.StoreMessageInfo(mi)
  1434  	}
  1435  }
  1436  
  1437  func (x *GetAcceptedFrontier) String() string {
  1438  	return protoimpl.X.MessageStringOf(x)
  1439  }
  1440  
  1441  func (*GetAcceptedFrontier) ProtoMessage() {}
  1442  
  1443  func (x *GetAcceptedFrontier) ProtoReflect() protoreflect.Message {
  1444  	mi := &file_p2p_p2p_proto_msgTypes[14]
  1445  	if protoimpl.UnsafeEnabled && x != nil {
  1446  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1447  		if ms.LoadMessageInfo() == nil {
  1448  			ms.StoreMessageInfo(mi)
  1449  		}
  1450  		return ms
  1451  	}
  1452  	return mi.MessageOf(x)
  1453  }
  1454  
  1455  // Deprecated: Use GetAcceptedFrontier.ProtoReflect.Descriptor instead.
  1456  func (*GetAcceptedFrontier) Descriptor() ([]byte, []int) {
  1457  	return file_p2p_p2p_proto_rawDescGZIP(), []int{14}
  1458  }
  1459  
  1460  func (x *GetAcceptedFrontier) GetChainId() []byte {
  1461  	if x != nil {
  1462  		return x.ChainId
  1463  	}
  1464  	return nil
  1465  }
  1466  
  1467  func (x *GetAcceptedFrontier) GetRequestId() uint32 {
  1468  	if x != nil {
  1469  		return x.RequestId
  1470  	}
  1471  	return 0
  1472  }
  1473  
  1474  func (x *GetAcceptedFrontier) GetDeadline() uint64 {
  1475  	if x != nil {
  1476  		return x.Deadline
  1477  	}
  1478  	return 0
  1479  }
  1480  
  1481  // AcceptedFrontier contains the remote peer's last accepted frontier.
  1482  //
  1483  // AcceptedFrontier is sent in response to GetAcceptedFrontier.
  1484  type AcceptedFrontier struct {
  1485  	state         protoimpl.MessageState
  1486  	sizeCache     protoimpl.SizeCache
  1487  	unknownFields protoimpl.UnknownFields
  1488  
  1489  	// Chain being responded from
  1490  	ChainId []byte `protobuf:"bytes,1,opt,name=chain_id,json=chainId,proto3" json:"chain_id,omitempty"`
  1491  	// Request id of the original GetAcceptedFrontier request
  1492  	RequestId uint32 `protobuf:"varint,2,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
  1493  	// The id of the last accepted frontier
  1494  	ContainerId []byte `protobuf:"bytes,3,opt,name=container_id,json=containerId,proto3" json:"container_id,omitempty"`
  1495  }
  1496  
  1497  func (x *AcceptedFrontier) Reset() {
  1498  	*x = AcceptedFrontier{}
  1499  	if protoimpl.UnsafeEnabled {
  1500  		mi := &file_p2p_p2p_proto_msgTypes[15]
  1501  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1502  		ms.StoreMessageInfo(mi)
  1503  	}
  1504  }
  1505  
  1506  func (x *AcceptedFrontier) String() string {
  1507  	return protoimpl.X.MessageStringOf(x)
  1508  }
  1509  
  1510  func (*AcceptedFrontier) ProtoMessage() {}
  1511  
  1512  func (x *AcceptedFrontier) ProtoReflect() protoreflect.Message {
  1513  	mi := &file_p2p_p2p_proto_msgTypes[15]
  1514  	if protoimpl.UnsafeEnabled && x != nil {
  1515  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1516  		if ms.LoadMessageInfo() == nil {
  1517  			ms.StoreMessageInfo(mi)
  1518  		}
  1519  		return ms
  1520  	}
  1521  	return mi.MessageOf(x)
  1522  }
  1523  
  1524  // Deprecated: Use AcceptedFrontier.ProtoReflect.Descriptor instead.
  1525  func (*AcceptedFrontier) Descriptor() ([]byte, []int) {
  1526  	return file_p2p_p2p_proto_rawDescGZIP(), []int{15}
  1527  }
  1528  
  1529  func (x *AcceptedFrontier) GetChainId() []byte {
  1530  	if x != nil {
  1531  		return x.ChainId
  1532  	}
  1533  	return nil
  1534  }
  1535  
  1536  func (x *AcceptedFrontier) GetRequestId() uint32 {
  1537  	if x != nil {
  1538  		return x.RequestId
  1539  	}
  1540  	return 0
  1541  }
  1542  
  1543  func (x *AcceptedFrontier) GetContainerId() []byte {
  1544  	if x != nil {
  1545  		return x.ContainerId
  1546  	}
  1547  	return nil
  1548  }
  1549  
  1550  // GetAccepted sends a request with the sender's accepted frontier to a remote
  1551  // peer.
  1552  //
  1553  // Peers should respond to GetAccepted with an Accepted message.
  1554  type GetAccepted struct {
  1555  	state         protoimpl.MessageState
  1556  	sizeCache     protoimpl.SizeCache
  1557  	unknownFields protoimpl.UnknownFields
  1558  
  1559  	// Chain being requested from
  1560  	ChainId []byte `protobuf:"bytes,1,opt,name=chain_id,json=chainId,proto3" json:"chain_id,omitempty"`
  1561  	// Unique identifier for this message
  1562  	RequestId uint32 `protobuf:"varint,2,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
  1563  	// Timeout (ns) for this request
  1564  	Deadline uint64 `protobuf:"varint,3,opt,name=deadline,proto3" json:"deadline,omitempty"`
  1565  	// The sender's accepted frontier
  1566  	ContainerIds [][]byte `protobuf:"bytes,4,rep,name=container_ids,json=containerIds,proto3" json:"container_ids,omitempty"`
  1567  }
  1568  
  1569  func (x *GetAccepted) Reset() {
  1570  	*x = GetAccepted{}
  1571  	if protoimpl.UnsafeEnabled {
  1572  		mi := &file_p2p_p2p_proto_msgTypes[16]
  1573  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1574  		ms.StoreMessageInfo(mi)
  1575  	}
  1576  }
  1577  
  1578  func (x *GetAccepted) String() string {
  1579  	return protoimpl.X.MessageStringOf(x)
  1580  }
  1581  
  1582  func (*GetAccepted) ProtoMessage() {}
  1583  
  1584  func (x *GetAccepted) ProtoReflect() protoreflect.Message {
  1585  	mi := &file_p2p_p2p_proto_msgTypes[16]
  1586  	if protoimpl.UnsafeEnabled && x != nil {
  1587  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1588  		if ms.LoadMessageInfo() == nil {
  1589  			ms.StoreMessageInfo(mi)
  1590  		}
  1591  		return ms
  1592  	}
  1593  	return mi.MessageOf(x)
  1594  }
  1595  
  1596  // Deprecated: Use GetAccepted.ProtoReflect.Descriptor instead.
  1597  func (*GetAccepted) Descriptor() ([]byte, []int) {
  1598  	return file_p2p_p2p_proto_rawDescGZIP(), []int{16}
  1599  }
  1600  
  1601  func (x *GetAccepted) GetChainId() []byte {
  1602  	if x != nil {
  1603  		return x.ChainId
  1604  	}
  1605  	return nil
  1606  }
  1607  
  1608  func (x *GetAccepted) GetRequestId() uint32 {
  1609  	if x != nil {
  1610  		return x.RequestId
  1611  	}
  1612  	return 0
  1613  }
  1614  
  1615  func (x *GetAccepted) GetDeadline() uint64 {
  1616  	if x != nil {
  1617  		return x.Deadline
  1618  	}
  1619  	return 0
  1620  }
  1621  
  1622  func (x *GetAccepted) GetContainerIds() [][]byte {
  1623  	if x != nil {
  1624  		return x.ContainerIds
  1625  	}
  1626  	return nil
  1627  }
  1628  
  1629  // Accepted is sent in response to GetAccepted. The sending peer responds with
  1630  // a subset of container ids from the GetAccepted request that the sending peer
  1631  // has accepted.
  1632  type Accepted struct {
  1633  	state         protoimpl.MessageState
  1634  	sizeCache     protoimpl.SizeCache
  1635  	unknownFields protoimpl.UnknownFields
  1636  
  1637  	// Chain being responded from
  1638  	ChainId []byte `protobuf:"bytes,1,opt,name=chain_id,json=chainId,proto3" json:"chain_id,omitempty"`
  1639  	// Request id of the original GetAccepted request
  1640  	RequestId uint32 `protobuf:"varint,2,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
  1641  	// Subset of container ids from the GetAccepted request that the sender has
  1642  	// accepted
  1643  	ContainerIds [][]byte `protobuf:"bytes,3,rep,name=container_ids,json=containerIds,proto3" json:"container_ids,omitempty"`
  1644  }
  1645  
  1646  func (x *Accepted) Reset() {
  1647  	*x = Accepted{}
  1648  	if protoimpl.UnsafeEnabled {
  1649  		mi := &file_p2p_p2p_proto_msgTypes[17]
  1650  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1651  		ms.StoreMessageInfo(mi)
  1652  	}
  1653  }
  1654  
  1655  func (x *Accepted) String() string {
  1656  	return protoimpl.X.MessageStringOf(x)
  1657  }
  1658  
  1659  func (*Accepted) ProtoMessage() {}
  1660  
  1661  func (x *Accepted) ProtoReflect() protoreflect.Message {
  1662  	mi := &file_p2p_p2p_proto_msgTypes[17]
  1663  	if protoimpl.UnsafeEnabled && x != nil {
  1664  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1665  		if ms.LoadMessageInfo() == nil {
  1666  			ms.StoreMessageInfo(mi)
  1667  		}
  1668  		return ms
  1669  	}
  1670  	return mi.MessageOf(x)
  1671  }
  1672  
  1673  // Deprecated: Use Accepted.ProtoReflect.Descriptor instead.
  1674  func (*Accepted) Descriptor() ([]byte, []int) {
  1675  	return file_p2p_p2p_proto_rawDescGZIP(), []int{17}
  1676  }
  1677  
  1678  func (x *Accepted) GetChainId() []byte {
  1679  	if x != nil {
  1680  		return x.ChainId
  1681  	}
  1682  	return nil
  1683  }
  1684  
  1685  func (x *Accepted) GetRequestId() uint32 {
  1686  	if x != nil {
  1687  		return x.RequestId
  1688  	}
  1689  	return 0
  1690  }
  1691  
  1692  func (x *Accepted) GetContainerIds() [][]byte {
  1693  	if x != nil {
  1694  		return x.ContainerIds
  1695  	}
  1696  	return nil
  1697  }
  1698  
  1699  // GetAncestors requests the ancestors for a given container.
  1700  //
  1701  // The remote peer should respond with an Ancestors message.
  1702  type GetAncestors struct {
  1703  	state         protoimpl.MessageState
  1704  	sizeCache     protoimpl.SizeCache
  1705  	unknownFields protoimpl.UnknownFields
  1706  
  1707  	// Chain being requested from
  1708  	ChainId []byte `protobuf:"bytes,1,opt,name=chain_id,json=chainId,proto3" json:"chain_id,omitempty"`
  1709  	// Unique identifier for this request
  1710  	RequestId uint32 `protobuf:"varint,2,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
  1711  	// Timeout (ns) for this request
  1712  	Deadline uint64 `protobuf:"varint,3,opt,name=deadline,proto3" json:"deadline,omitempty"`
  1713  	// Container for which ancestors are being requested
  1714  	ContainerId []byte `protobuf:"bytes,4,opt,name=container_id,json=containerId,proto3" json:"container_id,omitempty"`
  1715  	// Consensus type to handle this message
  1716  	EngineType EngineType `protobuf:"varint,5,opt,name=engine_type,json=engineType,proto3,enum=p2p.EngineType" json:"engine_type,omitempty"`
  1717  }
  1718  
  1719  func (x *GetAncestors) Reset() {
  1720  	*x = GetAncestors{}
  1721  	if protoimpl.UnsafeEnabled {
  1722  		mi := &file_p2p_p2p_proto_msgTypes[18]
  1723  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1724  		ms.StoreMessageInfo(mi)
  1725  	}
  1726  }
  1727  
  1728  func (x *GetAncestors) String() string {
  1729  	return protoimpl.X.MessageStringOf(x)
  1730  }
  1731  
  1732  func (*GetAncestors) ProtoMessage() {}
  1733  
  1734  func (x *GetAncestors) ProtoReflect() protoreflect.Message {
  1735  	mi := &file_p2p_p2p_proto_msgTypes[18]
  1736  	if protoimpl.UnsafeEnabled && x != nil {
  1737  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1738  		if ms.LoadMessageInfo() == nil {
  1739  			ms.StoreMessageInfo(mi)
  1740  		}
  1741  		return ms
  1742  	}
  1743  	return mi.MessageOf(x)
  1744  }
  1745  
  1746  // Deprecated: Use GetAncestors.ProtoReflect.Descriptor instead.
  1747  func (*GetAncestors) Descriptor() ([]byte, []int) {
  1748  	return file_p2p_p2p_proto_rawDescGZIP(), []int{18}
  1749  }
  1750  
  1751  func (x *GetAncestors) GetChainId() []byte {
  1752  	if x != nil {
  1753  		return x.ChainId
  1754  	}
  1755  	return nil
  1756  }
  1757  
  1758  func (x *GetAncestors) GetRequestId() uint32 {
  1759  	if x != nil {
  1760  		return x.RequestId
  1761  	}
  1762  	return 0
  1763  }
  1764  
  1765  func (x *GetAncestors) GetDeadline() uint64 {
  1766  	if x != nil {
  1767  		return x.Deadline
  1768  	}
  1769  	return 0
  1770  }
  1771  
  1772  func (x *GetAncestors) GetContainerId() []byte {
  1773  	if x != nil {
  1774  		return x.ContainerId
  1775  	}
  1776  	return nil
  1777  }
  1778  
  1779  func (x *GetAncestors) GetEngineType() EngineType {
  1780  	if x != nil {
  1781  		return x.EngineType
  1782  	}
  1783  	return EngineType_ENGINE_TYPE_UNSPECIFIED
  1784  }
  1785  
  1786  // Ancestors is sent in response to GetAncestors.
  1787  //
  1788  // Ancestors contains a contiguous ancestry of containers for the requested
  1789  // container in order of increasing block height.
  1790  type Ancestors struct {
  1791  	state         protoimpl.MessageState
  1792  	sizeCache     protoimpl.SizeCache
  1793  	unknownFields protoimpl.UnknownFields
  1794  
  1795  	// Chain being responded from
  1796  	ChainId []byte `protobuf:"bytes,1,opt,name=chain_id,json=chainId,proto3" json:"chain_id,omitempty"`
  1797  	// Request id of the original GetAncestors request
  1798  	RequestId uint32 `protobuf:"varint,2,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
  1799  	// Ancestry for the requested container
  1800  	Containers [][]byte `protobuf:"bytes,3,rep,name=containers,proto3" json:"containers,omitempty"`
  1801  }
  1802  
  1803  func (x *Ancestors) Reset() {
  1804  	*x = Ancestors{}
  1805  	if protoimpl.UnsafeEnabled {
  1806  		mi := &file_p2p_p2p_proto_msgTypes[19]
  1807  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1808  		ms.StoreMessageInfo(mi)
  1809  	}
  1810  }
  1811  
  1812  func (x *Ancestors) String() string {
  1813  	return protoimpl.X.MessageStringOf(x)
  1814  }
  1815  
  1816  func (*Ancestors) ProtoMessage() {}
  1817  
  1818  func (x *Ancestors) ProtoReflect() protoreflect.Message {
  1819  	mi := &file_p2p_p2p_proto_msgTypes[19]
  1820  	if protoimpl.UnsafeEnabled && x != nil {
  1821  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1822  		if ms.LoadMessageInfo() == nil {
  1823  			ms.StoreMessageInfo(mi)
  1824  		}
  1825  		return ms
  1826  	}
  1827  	return mi.MessageOf(x)
  1828  }
  1829  
  1830  // Deprecated: Use Ancestors.ProtoReflect.Descriptor instead.
  1831  func (*Ancestors) Descriptor() ([]byte, []int) {
  1832  	return file_p2p_p2p_proto_rawDescGZIP(), []int{19}
  1833  }
  1834  
  1835  func (x *Ancestors) GetChainId() []byte {
  1836  	if x != nil {
  1837  		return x.ChainId
  1838  	}
  1839  	return nil
  1840  }
  1841  
  1842  func (x *Ancestors) GetRequestId() uint32 {
  1843  	if x != nil {
  1844  		return x.RequestId
  1845  	}
  1846  	return 0
  1847  }
  1848  
  1849  func (x *Ancestors) GetContainers() [][]byte {
  1850  	if x != nil {
  1851  		return x.Containers
  1852  	}
  1853  	return nil
  1854  }
  1855  
  1856  // Get requests a container from a remote peer.
  1857  //
  1858  // Remote peers should respond with a Put message if they have the container.
  1859  type Get struct {
  1860  	state         protoimpl.MessageState
  1861  	sizeCache     protoimpl.SizeCache
  1862  	unknownFields protoimpl.UnknownFields
  1863  
  1864  	// Chain being requested from
  1865  	ChainId []byte `protobuf:"bytes,1,opt,name=chain_id,json=chainId,proto3" json:"chain_id,omitempty"`
  1866  	// Unique identifier for this request
  1867  	RequestId uint32 `protobuf:"varint,2,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
  1868  	// Timeout (ns) for this request
  1869  	Deadline uint64 `protobuf:"varint,3,opt,name=deadline,proto3" json:"deadline,omitempty"`
  1870  	// Container being requested
  1871  	ContainerId []byte `protobuf:"bytes,4,opt,name=container_id,json=containerId,proto3" json:"container_id,omitempty"`
  1872  }
  1873  
  1874  func (x *Get) Reset() {
  1875  	*x = Get{}
  1876  	if protoimpl.UnsafeEnabled {
  1877  		mi := &file_p2p_p2p_proto_msgTypes[20]
  1878  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1879  		ms.StoreMessageInfo(mi)
  1880  	}
  1881  }
  1882  
  1883  func (x *Get) String() string {
  1884  	return protoimpl.X.MessageStringOf(x)
  1885  }
  1886  
  1887  func (*Get) ProtoMessage() {}
  1888  
  1889  func (x *Get) ProtoReflect() protoreflect.Message {
  1890  	mi := &file_p2p_p2p_proto_msgTypes[20]
  1891  	if protoimpl.UnsafeEnabled && x != nil {
  1892  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1893  		if ms.LoadMessageInfo() == nil {
  1894  			ms.StoreMessageInfo(mi)
  1895  		}
  1896  		return ms
  1897  	}
  1898  	return mi.MessageOf(x)
  1899  }
  1900  
  1901  // Deprecated: Use Get.ProtoReflect.Descriptor instead.
  1902  func (*Get) Descriptor() ([]byte, []int) {
  1903  	return file_p2p_p2p_proto_rawDescGZIP(), []int{20}
  1904  }
  1905  
  1906  func (x *Get) GetChainId() []byte {
  1907  	if x != nil {
  1908  		return x.ChainId
  1909  	}
  1910  	return nil
  1911  }
  1912  
  1913  func (x *Get) GetRequestId() uint32 {
  1914  	if x != nil {
  1915  		return x.RequestId
  1916  	}
  1917  	return 0
  1918  }
  1919  
  1920  func (x *Get) GetDeadline() uint64 {
  1921  	if x != nil {
  1922  		return x.Deadline
  1923  	}
  1924  	return 0
  1925  }
  1926  
  1927  func (x *Get) GetContainerId() []byte {
  1928  	if x != nil {
  1929  		return x.ContainerId
  1930  	}
  1931  	return nil
  1932  }
  1933  
  1934  // Put is sent in response to Get with the requested block.
  1935  type Put struct {
  1936  	state         protoimpl.MessageState
  1937  	sizeCache     protoimpl.SizeCache
  1938  	unknownFields protoimpl.UnknownFields
  1939  
  1940  	// Chain being responded from
  1941  	ChainId []byte `protobuf:"bytes,1,opt,name=chain_id,json=chainId,proto3" json:"chain_id,omitempty"`
  1942  	// Request id of the original Get request
  1943  	RequestId uint32 `protobuf:"varint,2,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
  1944  	// Requested container
  1945  	Container []byte `protobuf:"bytes,3,opt,name=container,proto3" json:"container,omitempty"`
  1946  }
  1947  
  1948  func (x *Put) Reset() {
  1949  	*x = Put{}
  1950  	if protoimpl.UnsafeEnabled {
  1951  		mi := &file_p2p_p2p_proto_msgTypes[21]
  1952  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1953  		ms.StoreMessageInfo(mi)
  1954  	}
  1955  }
  1956  
  1957  func (x *Put) String() string {
  1958  	return protoimpl.X.MessageStringOf(x)
  1959  }
  1960  
  1961  func (*Put) ProtoMessage() {}
  1962  
  1963  func (x *Put) ProtoReflect() protoreflect.Message {
  1964  	mi := &file_p2p_p2p_proto_msgTypes[21]
  1965  	if protoimpl.UnsafeEnabled && x != nil {
  1966  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1967  		if ms.LoadMessageInfo() == nil {
  1968  			ms.StoreMessageInfo(mi)
  1969  		}
  1970  		return ms
  1971  	}
  1972  	return mi.MessageOf(x)
  1973  }
  1974  
  1975  // Deprecated: Use Put.ProtoReflect.Descriptor instead.
  1976  func (*Put) Descriptor() ([]byte, []int) {
  1977  	return file_p2p_p2p_proto_rawDescGZIP(), []int{21}
  1978  }
  1979  
  1980  func (x *Put) GetChainId() []byte {
  1981  	if x != nil {
  1982  		return x.ChainId
  1983  	}
  1984  	return nil
  1985  }
  1986  
  1987  func (x *Put) GetRequestId() uint32 {
  1988  	if x != nil {
  1989  		return x.RequestId
  1990  	}
  1991  	return 0
  1992  }
  1993  
  1994  func (x *Put) GetContainer() []byte {
  1995  	if x != nil {
  1996  		return x.Container
  1997  	}
  1998  	return nil
  1999  }
  2000  
  2001  // PushQuery requests the preferences of a remote peer given a container.
  2002  //
  2003  // Remote peers should respond to a PushQuery with a Chits message
  2004  type PushQuery struct {
  2005  	state         protoimpl.MessageState
  2006  	sizeCache     protoimpl.SizeCache
  2007  	unknownFields protoimpl.UnknownFields
  2008  
  2009  	// Chain being requested from
  2010  	ChainId []byte `protobuf:"bytes,1,opt,name=chain_id,json=chainId,proto3" json:"chain_id,omitempty"`
  2011  	// Unique identifier for this request
  2012  	RequestId uint32 `protobuf:"varint,2,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
  2013  	// Timeout (ns) for this request
  2014  	Deadline uint64 `protobuf:"varint,3,opt,name=deadline,proto3" json:"deadline,omitempty"`
  2015  	// Container being gossiped
  2016  	Container []byte `protobuf:"bytes,4,opt,name=container,proto3" json:"container,omitempty"`
  2017  	// Requesting peer's last accepted height
  2018  	RequestedHeight uint64 `protobuf:"varint,6,opt,name=requested_height,json=requestedHeight,proto3" json:"requested_height,omitempty"`
  2019  }
  2020  
  2021  func (x *PushQuery) Reset() {
  2022  	*x = PushQuery{}
  2023  	if protoimpl.UnsafeEnabled {
  2024  		mi := &file_p2p_p2p_proto_msgTypes[22]
  2025  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2026  		ms.StoreMessageInfo(mi)
  2027  	}
  2028  }
  2029  
  2030  func (x *PushQuery) String() string {
  2031  	return protoimpl.X.MessageStringOf(x)
  2032  }
  2033  
  2034  func (*PushQuery) ProtoMessage() {}
  2035  
  2036  func (x *PushQuery) ProtoReflect() protoreflect.Message {
  2037  	mi := &file_p2p_p2p_proto_msgTypes[22]
  2038  	if protoimpl.UnsafeEnabled && x != nil {
  2039  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2040  		if ms.LoadMessageInfo() == nil {
  2041  			ms.StoreMessageInfo(mi)
  2042  		}
  2043  		return ms
  2044  	}
  2045  	return mi.MessageOf(x)
  2046  }
  2047  
  2048  // Deprecated: Use PushQuery.ProtoReflect.Descriptor instead.
  2049  func (*PushQuery) Descriptor() ([]byte, []int) {
  2050  	return file_p2p_p2p_proto_rawDescGZIP(), []int{22}
  2051  }
  2052  
  2053  func (x *PushQuery) GetChainId() []byte {
  2054  	if x != nil {
  2055  		return x.ChainId
  2056  	}
  2057  	return nil
  2058  }
  2059  
  2060  func (x *PushQuery) GetRequestId() uint32 {
  2061  	if x != nil {
  2062  		return x.RequestId
  2063  	}
  2064  	return 0
  2065  }
  2066  
  2067  func (x *PushQuery) GetDeadline() uint64 {
  2068  	if x != nil {
  2069  		return x.Deadline
  2070  	}
  2071  	return 0
  2072  }
  2073  
  2074  func (x *PushQuery) GetContainer() []byte {
  2075  	if x != nil {
  2076  		return x.Container
  2077  	}
  2078  	return nil
  2079  }
  2080  
  2081  func (x *PushQuery) GetRequestedHeight() uint64 {
  2082  	if x != nil {
  2083  		return x.RequestedHeight
  2084  	}
  2085  	return 0
  2086  }
  2087  
  2088  // PullQuery requests the preferences of a remote peer given a container id.
  2089  //
  2090  // Remote peers should respond to a PullQuery with a Chits message
  2091  type PullQuery struct {
  2092  	state         protoimpl.MessageState
  2093  	sizeCache     protoimpl.SizeCache
  2094  	unknownFields protoimpl.UnknownFields
  2095  
  2096  	// Chain being requested from
  2097  	ChainId []byte `protobuf:"bytes,1,opt,name=chain_id,json=chainId,proto3" json:"chain_id,omitempty"`
  2098  	// Unique identifier for this request
  2099  	RequestId uint32 `protobuf:"varint,2,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
  2100  	// Timeout (ns) for this request
  2101  	Deadline uint64 `protobuf:"varint,3,opt,name=deadline,proto3" json:"deadline,omitempty"`
  2102  	// Container id being gossiped
  2103  	ContainerId []byte `protobuf:"bytes,4,opt,name=container_id,json=containerId,proto3" json:"container_id,omitempty"`
  2104  	// Requesting peer's last accepted height
  2105  	RequestedHeight uint64 `protobuf:"varint,6,opt,name=requested_height,json=requestedHeight,proto3" json:"requested_height,omitempty"`
  2106  }
  2107  
  2108  func (x *PullQuery) Reset() {
  2109  	*x = PullQuery{}
  2110  	if protoimpl.UnsafeEnabled {
  2111  		mi := &file_p2p_p2p_proto_msgTypes[23]
  2112  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2113  		ms.StoreMessageInfo(mi)
  2114  	}
  2115  }
  2116  
  2117  func (x *PullQuery) String() string {
  2118  	return protoimpl.X.MessageStringOf(x)
  2119  }
  2120  
  2121  func (*PullQuery) ProtoMessage() {}
  2122  
  2123  func (x *PullQuery) ProtoReflect() protoreflect.Message {
  2124  	mi := &file_p2p_p2p_proto_msgTypes[23]
  2125  	if protoimpl.UnsafeEnabled && x != nil {
  2126  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2127  		if ms.LoadMessageInfo() == nil {
  2128  			ms.StoreMessageInfo(mi)
  2129  		}
  2130  		return ms
  2131  	}
  2132  	return mi.MessageOf(x)
  2133  }
  2134  
  2135  // Deprecated: Use PullQuery.ProtoReflect.Descriptor instead.
  2136  func (*PullQuery) Descriptor() ([]byte, []int) {
  2137  	return file_p2p_p2p_proto_rawDescGZIP(), []int{23}
  2138  }
  2139  
  2140  func (x *PullQuery) GetChainId() []byte {
  2141  	if x != nil {
  2142  		return x.ChainId
  2143  	}
  2144  	return nil
  2145  }
  2146  
  2147  func (x *PullQuery) GetRequestId() uint32 {
  2148  	if x != nil {
  2149  		return x.RequestId
  2150  	}
  2151  	return 0
  2152  }
  2153  
  2154  func (x *PullQuery) GetDeadline() uint64 {
  2155  	if x != nil {
  2156  		return x.Deadline
  2157  	}
  2158  	return 0
  2159  }
  2160  
  2161  func (x *PullQuery) GetContainerId() []byte {
  2162  	if x != nil {
  2163  		return x.ContainerId
  2164  	}
  2165  	return nil
  2166  }
  2167  
  2168  func (x *PullQuery) GetRequestedHeight() uint64 {
  2169  	if x != nil {
  2170  		return x.RequestedHeight
  2171  	}
  2172  	return 0
  2173  }
  2174  
  2175  // Chits contains the preferences of a peer in response to a PushQuery or
  2176  // PullQuery message.
  2177  type Chits struct {
  2178  	state         protoimpl.MessageState
  2179  	sizeCache     protoimpl.SizeCache
  2180  	unknownFields protoimpl.UnknownFields
  2181  
  2182  	// Chain being responded from
  2183  	ChainId []byte `protobuf:"bytes,1,opt,name=chain_id,json=chainId,proto3" json:"chain_id,omitempty"`
  2184  	// Request id of the original PushQuery/PullQuery request
  2185  	RequestId uint32 `protobuf:"varint,2,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
  2186  	// Currently preferred block
  2187  	PreferredId []byte `protobuf:"bytes,3,opt,name=preferred_id,json=preferredId,proto3" json:"preferred_id,omitempty"`
  2188  	// Last accepted block
  2189  	AcceptedId []byte `protobuf:"bytes,4,opt,name=accepted_id,json=acceptedId,proto3" json:"accepted_id,omitempty"`
  2190  	// Currently preferred block at the requested height
  2191  	PreferredIdAtHeight []byte `protobuf:"bytes,5,opt,name=preferred_id_at_height,json=preferredIdAtHeight,proto3" json:"preferred_id_at_height,omitempty"`
  2192  }
  2193  
  2194  func (x *Chits) Reset() {
  2195  	*x = Chits{}
  2196  	if protoimpl.UnsafeEnabled {
  2197  		mi := &file_p2p_p2p_proto_msgTypes[24]
  2198  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2199  		ms.StoreMessageInfo(mi)
  2200  	}
  2201  }
  2202  
  2203  func (x *Chits) String() string {
  2204  	return protoimpl.X.MessageStringOf(x)
  2205  }
  2206  
  2207  func (*Chits) ProtoMessage() {}
  2208  
  2209  func (x *Chits) ProtoReflect() protoreflect.Message {
  2210  	mi := &file_p2p_p2p_proto_msgTypes[24]
  2211  	if protoimpl.UnsafeEnabled && x != nil {
  2212  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2213  		if ms.LoadMessageInfo() == nil {
  2214  			ms.StoreMessageInfo(mi)
  2215  		}
  2216  		return ms
  2217  	}
  2218  	return mi.MessageOf(x)
  2219  }
  2220  
  2221  // Deprecated: Use Chits.ProtoReflect.Descriptor instead.
  2222  func (*Chits) Descriptor() ([]byte, []int) {
  2223  	return file_p2p_p2p_proto_rawDescGZIP(), []int{24}
  2224  }
  2225  
  2226  func (x *Chits) GetChainId() []byte {
  2227  	if x != nil {
  2228  		return x.ChainId
  2229  	}
  2230  	return nil
  2231  }
  2232  
  2233  func (x *Chits) GetRequestId() uint32 {
  2234  	if x != nil {
  2235  		return x.RequestId
  2236  	}
  2237  	return 0
  2238  }
  2239  
  2240  func (x *Chits) GetPreferredId() []byte {
  2241  	if x != nil {
  2242  		return x.PreferredId
  2243  	}
  2244  	return nil
  2245  }
  2246  
  2247  func (x *Chits) GetAcceptedId() []byte {
  2248  	if x != nil {
  2249  		return x.AcceptedId
  2250  	}
  2251  	return nil
  2252  }
  2253  
  2254  func (x *Chits) GetPreferredIdAtHeight() []byte {
  2255  	if x != nil {
  2256  		return x.PreferredIdAtHeight
  2257  	}
  2258  	return nil
  2259  }
  2260  
  2261  // AppRequest is a VM-defined request.
  2262  //
  2263  // Remote peers must respond to AppRequest with a corresponding AppResponse or
  2264  // AppError
  2265  type AppRequest struct {
  2266  	state         protoimpl.MessageState
  2267  	sizeCache     protoimpl.SizeCache
  2268  	unknownFields protoimpl.UnknownFields
  2269  
  2270  	// Chain being requested from
  2271  	ChainId []byte `protobuf:"bytes,1,opt,name=chain_id,json=chainId,proto3" json:"chain_id,omitempty"`
  2272  	// Unique identifier for this request
  2273  	RequestId uint32 `protobuf:"varint,2,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
  2274  	// Timeout (ns) for this request
  2275  	Deadline uint64 `protobuf:"varint,3,opt,name=deadline,proto3" json:"deadline,omitempty"`
  2276  	// Request body
  2277  	AppBytes []byte `protobuf:"bytes,4,opt,name=app_bytes,json=appBytes,proto3" json:"app_bytes,omitempty"`
  2278  }
  2279  
  2280  func (x *AppRequest) Reset() {
  2281  	*x = AppRequest{}
  2282  	if protoimpl.UnsafeEnabled {
  2283  		mi := &file_p2p_p2p_proto_msgTypes[25]
  2284  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2285  		ms.StoreMessageInfo(mi)
  2286  	}
  2287  }
  2288  
  2289  func (x *AppRequest) String() string {
  2290  	return protoimpl.X.MessageStringOf(x)
  2291  }
  2292  
  2293  func (*AppRequest) ProtoMessage() {}
  2294  
  2295  func (x *AppRequest) ProtoReflect() protoreflect.Message {
  2296  	mi := &file_p2p_p2p_proto_msgTypes[25]
  2297  	if protoimpl.UnsafeEnabled && x != nil {
  2298  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2299  		if ms.LoadMessageInfo() == nil {
  2300  			ms.StoreMessageInfo(mi)
  2301  		}
  2302  		return ms
  2303  	}
  2304  	return mi.MessageOf(x)
  2305  }
  2306  
  2307  // Deprecated: Use AppRequest.ProtoReflect.Descriptor instead.
  2308  func (*AppRequest) Descriptor() ([]byte, []int) {
  2309  	return file_p2p_p2p_proto_rawDescGZIP(), []int{25}
  2310  }
  2311  
  2312  func (x *AppRequest) GetChainId() []byte {
  2313  	if x != nil {
  2314  		return x.ChainId
  2315  	}
  2316  	return nil
  2317  }
  2318  
  2319  func (x *AppRequest) GetRequestId() uint32 {
  2320  	if x != nil {
  2321  		return x.RequestId
  2322  	}
  2323  	return 0
  2324  }
  2325  
  2326  func (x *AppRequest) GetDeadline() uint64 {
  2327  	if x != nil {
  2328  		return x.Deadline
  2329  	}
  2330  	return 0
  2331  }
  2332  
  2333  func (x *AppRequest) GetAppBytes() []byte {
  2334  	if x != nil {
  2335  		return x.AppBytes
  2336  	}
  2337  	return nil
  2338  }
  2339  
  2340  // AppResponse is a VM-defined response sent in response to AppRequest
  2341  type AppResponse struct {
  2342  	state         protoimpl.MessageState
  2343  	sizeCache     protoimpl.SizeCache
  2344  	unknownFields protoimpl.UnknownFields
  2345  
  2346  	// Chain being responded from
  2347  	ChainId []byte `protobuf:"bytes,1,opt,name=chain_id,json=chainId,proto3" json:"chain_id,omitempty"`
  2348  	// Request id of the original AppRequest
  2349  	RequestId uint32 `protobuf:"varint,2,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
  2350  	// Response body
  2351  	AppBytes []byte `protobuf:"bytes,3,opt,name=app_bytes,json=appBytes,proto3" json:"app_bytes,omitempty"`
  2352  }
  2353  
  2354  func (x *AppResponse) Reset() {
  2355  	*x = AppResponse{}
  2356  	if protoimpl.UnsafeEnabled {
  2357  		mi := &file_p2p_p2p_proto_msgTypes[26]
  2358  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2359  		ms.StoreMessageInfo(mi)
  2360  	}
  2361  }
  2362  
  2363  func (x *AppResponse) String() string {
  2364  	return protoimpl.X.MessageStringOf(x)
  2365  }
  2366  
  2367  func (*AppResponse) ProtoMessage() {}
  2368  
  2369  func (x *AppResponse) ProtoReflect() protoreflect.Message {
  2370  	mi := &file_p2p_p2p_proto_msgTypes[26]
  2371  	if protoimpl.UnsafeEnabled && x != nil {
  2372  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2373  		if ms.LoadMessageInfo() == nil {
  2374  			ms.StoreMessageInfo(mi)
  2375  		}
  2376  		return ms
  2377  	}
  2378  	return mi.MessageOf(x)
  2379  }
  2380  
  2381  // Deprecated: Use AppResponse.ProtoReflect.Descriptor instead.
  2382  func (*AppResponse) Descriptor() ([]byte, []int) {
  2383  	return file_p2p_p2p_proto_rawDescGZIP(), []int{26}
  2384  }
  2385  
  2386  func (x *AppResponse) GetChainId() []byte {
  2387  	if x != nil {
  2388  		return x.ChainId
  2389  	}
  2390  	return nil
  2391  }
  2392  
  2393  func (x *AppResponse) GetRequestId() uint32 {
  2394  	if x != nil {
  2395  		return x.RequestId
  2396  	}
  2397  	return 0
  2398  }
  2399  
  2400  func (x *AppResponse) GetAppBytes() []byte {
  2401  	if x != nil {
  2402  		return x.AppBytes
  2403  	}
  2404  	return nil
  2405  }
  2406  
  2407  // AppError is a VM-defined error sent in response to AppRequest
  2408  type AppError struct {
  2409  	state         protoimpl.MessageState
  2410  	sizeCache     protoimpl.SizeCache
  2411  	unknownFields protoimpl.UnknownFields
  2412  
  2413  	// Chain the message is for
  2414  	ChainId []byte `protobuf:"bytes,1,opt,name=chain_id,json=chainId,proto3" json:"chain_id,omitempty"`
  2415  	// Request id of the original AppRequest
  2416  	RequestId uint32 `protobuf:"varint,2,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
  2417  	// VM defined error code. VMs may define error codes > 0.
  2418  	ErrorCode int32 `protobuf:"zigzag32,3,opt,name=error_code,json=errorCode,proto3" json:"error_code,omitempty"`
  2419  	// VM defined error message
  2420  	ErrorMessage string `protobuf:"bytes,4,opt,name=error_message,json=errorMessage,proto3" json:"error_message,omitempty"`
  2421  }
  2422  
  2423  func (x *AppError) Reset() {
  2424  	*x = AppError{}
  2425  	if protoimpl.UnsafeEnabled {
  2426  		mi := &file_p2p_p2p_proto_msgTypes[27]
  2427  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2428  		ms.StoreMessageInfo(mi)
  2429  	}
  2430  }
  2431  
  2432  func (x *AppError) String() string {
  2433  	return protoimpl.X.MessageStringOf(x)
  2434  }
  2435  
  2436  func (*AppError) ProtoMessage() {}
  2437  
  2438  func (x *AppError) ProtoReflect() protoreflect.Message {
  2439  	mi := &file_p2p_p2p_proto_msgTypes[27]
  2440  	if protoimpl.UnsafeEnabled && x != nil {
  2441  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2442  		if ms.LoadMessageInfo() == nil {
  2443  			ms.StoreMessageInfo(mi)
  2444  		}
  2445  		return ms
  2446  	}
  2447  	return mi.MessageOf(x)
  2448  }
  2449  
  2450  // Deprecated: Use AppError.ProtoReflect.Descriptor instead.
  2451  func (*AppError) Descriptor() ([]byte, []int) {
  2452  	return file_p2p_p2p_proto_rawDescGZIP(), []int{27}
  2453  }
  2454  
  2455  func (x *AppError) GetChainId() []byte {
  2456  	if x != nil {
  2457  		return x.ChainId
  2458  	}
  2459  	return nil
  2460  }
  2461  
  2462  func (x *AppError) GetRequestId() uint32 {
  2463  	if x != nil {
  2464  		return x.RequestId
  2465  	}
  2466  	return 0
  2467  }
  2468  
  2469  func (x *AppError) GetErrorCode() int32 {
  2470  	if x != nil {
  2471  		return x.ErrorCode
  2472  	}
  2473  	return 0
  2474  }
  2475  
  2476  func (x *AppError) GetErrorMessage() string {
  2477  	if x != nil {
  2478  		return x.ErrorMessage
  2479  	}
  2480  	return ""
  2481  }
  2482  
  2483  // AppGossip is a VM-defined message
  2484  type AppGossip struct {
  2485  	state         protoimpl.MessageState
  2486  	sizeCache     protoimpl.SizeCache
  2487  	unknownFields protoimpl.UnknownFields
  2488  
  2489  	// Chain the message is for
  2490  	ChainId []byte `protobuf:"bytes,1,opt,name=chain_id,json=chainId,proto3" json:"chain_id,omitempty"`
  2491  	// Message body
  2492  	AppBytes []byte `protobuf:"bytes,2,opt,name=app_bytes,json=appBytes,proto3" json:"app_bytes,omitempty"`
  2493  }
  2494  
  2495  func (x *AppGossip) Reset() {
  2496  	*x = AppGossip{}
  2497  	if protoimpl.UnsafeEnabled {
  2498  		mi := &file_p2p_p2p_proto_msgTypes[28]
  2499  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2500  		ms.StoreMessageInfo(mi)
  2501  	}
  2502  }
  2503  
  2504  func (x *AppGossip) String() string {
  2505  	return protoimpl.X.MessageStringOf(x)
  2506  }
  2507  
  2508  func (*AppGossip) ProtoMessage() {}
  2509  
  2510  func (x *AppGossip) ProtoReflect() protoreflect.Message {
  2511  	mi := &file_p2p_p2p_proto_msgTypes[28]
  2512  	if protoimpl.UnsafeEnabled && x != nil {
  2513  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2514  		if ms.LoadMessageInfo() == nil {
  2515  			ms.StoreMessageInfo(mi)
  2516  		}
  2517  		return ms
  2518  	}
  2519  	return mi.MessageOf(x)
  2520  }
  2521  
  2522  // Deprecated: Use AppGossip.ProtoReflect.Descriptor instead.
  2523  func (*AppGossip) Descriptor() ([]byte, []int) {
  2524  	return file_p2p_p2p_proto_rawDescGZIP(), []int{28}
  2525  }
  2526  
  2527  func (x *AppGossip) GetChainId() []byte {
  2528  	if x != nil {
  2529  		return x.ChainId
  2530  	}
  2531  	return nil
  2532  }
  2533  
  2534  func (x *AppGossip) GetAppBytes() []byte {
  2535  	if x != nil {
  2536  		return x.AppBytes
  2537  	}
  2538  	return nil
  2539  }
  2540  
  2541  var File_p2p_p2p_proto protoreflect.FileDescriptor
  2542  
  2543  var file_p2p_p2p_proto_rawDesc = []byte{
  2544  	0x0a, 0x0d, 0x70, 0x32, 0x70, 0x2f, 0x70, 0x32, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
  2545  	0x03, 0x70, 0x32, 0x70, 0x22, 0xf3, 0x0a, 0x0a, 0x07, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
  2546  	0x12, 0x29, 0x0a, 0x0f, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x65, 0x64, 0x5f, 0x7a,
  2547  	0x73, 0x74, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x0e, 0x63, 0x6f, 0x6d,
  2548  	0x70, 0x72, 0x65, 0x73, 0x73, 0x65, 0x64, 0x5a, 0x73, 0x74, 0x64, 0x12, 0x1f, 0x0a, 0x04, 0x70,
  2549  	0x69, 0x6e, 0x67, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x70, 0x32, 0x70, 0x2e,
  2550  	0x50, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x04, 0x70, 0x69, 0x6e, 0x67, 0x12, 0x1f, 0x0a, 0x04,
  2551  	0x70, 0x6f, 0x6e, 0x67, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x70, 0x32, 0x70,
  2552  	0x2e, 0x50, 0x6f, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x04, 0x70, 0x6f, 0x6e, 0x67, 0x12, 0x2e, 0x0a,
  2553  	0x09, 0x68, 0x61, 0x6e, 0x64, 0x73, 0x68, 0x61, 0x6b, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b,
  2554  	0x32, 0x0e, 0x2e, 0x70, 0x32, 0x70, 0x2e, 0x48, 0x61, 0x6e, 0x64, 0x73, 0x68, 0x61, 0x6b, 0x65,
  2555  	0x48, 0x00, 0x52, 0x09, 0x68, 0x61, 0x6e, 0x64, 0x73, 0x68, 0x61, 0x6b, 0x65, 0x12, 0x36, 0x0a,
  2556  	0x0d, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x23,
  2557  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x32, 0x70, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x65,
  2558  	0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x67, 0x65, 0x74, 0x50, 0x65, 0x65,
  2559  	0x72, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x09, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x6c, 0x69,
  2560  	0x73, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x32, 0x70, 0x2e, 0x50,
  2561  	0x65, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x00, 0x52, 0x08, 0x70, 0x65, 0x65, 0x72, 0x4c,
  2562  	0x69, 0x73, 0x74, 0x12, 0x5b, 0x0a, 0x1a, 0x67, 0x65, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65,
  2563  	0x5f, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x5f, 0x66, 0x72, 0x6f, 0x6e, 0x74, 0x69, 0x65,
  2564  	0x72, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x32, 0x70, 0x2e, 0x47, 0x65,
  2565  	0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x46, 0x72, 0x6f,
  2566  	0x6e, 0x74, 0x69, 0x65, 0x72, 0x48, 0x00, 0x52, 0x17, 0x67, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74,
  2567  	0x65, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x46, 0x72, 0x6f, 0x6e, 0x74, 0x69, 0x65, 0x72,
  2568  	0x12, 0x51, 0x0a, 0x16, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72,
  2569  	0x79, 0x5f, 0x66, 0x72, 0x6f, 0x6e, 0x74, 0x69, 0x65, 0x72, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b,
  2570  	0x32, 0x19, 0x2e, 0x70, 0x32, 0x70, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x53, 0x75, 0x6d, 0x6d,
  2571  	0x61, 0x72, 0x79, 0x46, 0x72, 0x6f, 0x6e, 0x74, 0x69, 0x65, 0x72, 0x48, 0x00, 0x52, 0x14, 0x73,
  2572  	0x74, 0x61, 0x74, 0x65, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x46, 0x72, 0x6f, 0x6e, 0x74,
  2573  	0x69, 0x65, 0x72, 0x12, 0x5b, 0x0a, 0x1a, 0x67, 0x65, 0x74, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x70,
  2574  	0x74, 0x65, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72,
  2575  	0x79, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x32, 0x70, 0x2e, 0x47, 0x65,
  2576  	0x74, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x53, 0x75,
  2577  	0x6d, 0x6d, 0x61, 0x72, 0x79, 0x48, 0x00, 0x52, 0x17, 0x67, 0x65, 0x74, 0x41, 0x63, 0x63, 0x65,
  2578  	0x70, 0x74, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79,
  2579  	0x12, 0x51, 0x0a, 0x16, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x74, 0x61,
  2580  	0x74, 0x65, 0x5f, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b,
  2581  	0x32, 0x19, 0x2e, 0x70, 0x32, 0x70, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x53,
  2582  	0x74, 0x61, 0x74, 0x65, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x48, 0x00, 0x52, 0x14, 0x61,
  2583  	0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x53, 0x75, 0x6d, 0x6d,
  2584  	0x61, 0x72, 0x79, 0x12, 0x4e, 0x0a, 0x15, 0x67, 0x65, 0x74, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x70,
  2585  	0x74, 0x65, 0x64, 0x5f, 0x66, 0x72, 0x6f, 0x6e, 0x74, 0x69, 0x65, 0x72, 0x18, 0x13, 0x20, 0x01,
  2586  	0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x32, 0x70, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x65,
  2587  	0x70, 0x74, 0x65, 0x64, 0x46, 0x72, 0x6f, 0x6e, 0x74, 0x69, 0x65, 0x72, 0x48, 0x00, 0x52, 0x13,
  2588  	0x67, 0x65, 0x74, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x46, 0x72, 0x6f, 0x6e, 0x74,
  2589  	0x69, 0x65, 0x72, 0x12, 0x44, 0x0a, 0x11, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x5f,
  2590  	0x66, 0x72, 0x6f, 0x6e, 0x74, 0x69, 0x65, 0x72, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15,
  2591  	0x2e, 0x70, 0x32, 0x70, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x46, 0x72, 0x6f,
  2592  	0x6e, 0x74, 0x69, 0x65, 0x72, 0x48, 0x00, 0x52, 0x10, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65,
  2593  	0x64, 0x46, 0x72, 0x6f, 0x6e, 0x74, 0x69, 0x65, 0x72, 0x12, 0x35, 0x0a, 0x0c, 0x67, 0x65, 0x74,
  2594  	0x5f, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32,
  2595  	0x10, 0x2e, 0x70, 0x32, 0x70, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65,
  2596  	0x64, 0x48, 0x00, 0x52, 0x0b, 0x67, 0x65, 0x74, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64,
  2597  	0x12, 0x2b, 0x0a, 0x08, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x18, 0x16, 0x20, 0x01,
  2598  	0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x32, 0x70, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65,
  2599  	0x64, 0x48, 0x00, 0x52, 0x08, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x12, 0x38, 0x0a,
  2600  	0x0d, 0x67, 0x65, 0x74, 0x5f, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x17,
  2601  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x32, 0x70, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6e,
  2602  	0x63, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x73, 0x48, 0x00, 0x52, 0x0c, 0x67, 0x65, 0x74, 0x41, 0x6e,
  2603  	0x63, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x2e, 0x0a, 0x09, 0x61, 0x6e, 0x63, 0x65, 0x73,
  2604  	0x74, 0x6f, 0x72, 0x73, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x32, 0x70,
  2605  	0x2e, 0x41, 0x6e, 0x63, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x73, 0x48, 0x00, 0x52, 0x09, 0x61, 0x6e,
  2606  	0x63, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x1c, 0x0a, 0x03, 0x67, 0x65, 0x74, 0x18, 0x19,
  2607  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x08, 0x2e, 0x70, 0x32, 0x70, 0x2e, 0x47, 0x65, 0x74, 0x48, 0x00,
  2608  	0x52, 0x03, 0x67, 0x65, 0x74, 0x12, 0x1c, 0x0a, 0x03, 0x70, 0x75, 0x74, 0x18, 0x1a, 0x20, 0x01,
  2609  	0x28, 0x0b, 0x32, 0x08, 0x2e, 0x70, 0x32, 0x70, 0x2e, 0x50, 0x75, 0x74, 0x48, 0x00, 0x52, 0x03,
  2610  	0x70, 0x75, 0x74, 0x12, 0x2f, 0x0a, 0x0a, 0x70, 0x75, 0x73, 0x68, 0x5f, 0x71, 0x75, 0x65, 0x72,
  2611  	0x79, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x32, 0x70, 0x2e, 0x50, 0x75,
  2612  	0x73, 0x68, 0x51, 0x75, 0x65, 0x72, 0x79, 0x48, 0x00, 0x52, 0x09, 0x70, 0x75, 0x73, 0x68, 0x51,
  2613  	0x75, 0x65, 0x72, 0x79, 0x12, 0x2f, 0x0a, 0x0a, 0x70, 0x75, 0x6c, 0x6c, 0x5f, 0x71, 0x75, 0x65,
  2614  	0x72, 0x79, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x32, 0x70, 0x2e, 0x50,
  2615  	0x75, 0x6c, 0x6c, 0x51, 0x75, 0x65, 0x72, 0x79, 0x48, 0x00, 0x52, 0x09, 0x70, 0x75, 0x6c, 0x6c,
  2616  	0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x22, 0x0a, 0x05, 0x63, 0x68, 0x69, 0x74, 0x73, 0x18, 0x1d,
  2617  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x70, 0x32, 0x70, 0x2e, 0x43, 0x68, 0x69, 0x74, 0x73,
  2618  	0x48, 0x00, 0x52, 0x05, 0x63, 0x68, 0x69, 0x74, 0x73, 0x12, 0x32, 0x0a, 0x0b, 0x61, 0x70, 0x70,
  2619  	0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f,
  2620  	0x2e, 0x70, 0x32, 0x70, 0x2e, 0x41, 0x70, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48,
  2621  	0x00, 0x52, 0x0a, 0x61, 0x70, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x35, 0x0a,
  2622  	0x0c, 0x61, 0x70, 0x70, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x1f, 0x20,
  2623  	0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x32, 0x70, 0x2e, 0x41, 0x70, 0x70, 0x52, 0x65, 0x73,
  2624  	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0b, 0x61, 0x70, 0x70, 0x52, 0x65, 0x73, 0x70,
  2625  	0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x0a, 0x61, 0x70, 0x70, 0x5f, 0x67, 0x6f, 0x73, 0x73,
  2626  	0x69, 0x70, 0x18, 0x20, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x32, 0x70, 0x2e, 0x41,
  2627  	0x70, 0x70, 0x47, 0x6f, 0x73, 0x73, 0x69, 0x70, 0x48, 0x00, 0x52, 0x09, 0x61, 0x70, 0x70, 0x47,
  2628  	0x6f, 0x73, 0x73, 0x69, 0x70, 0x12, 0x2c, 0x0a, 0x09, 0x61, 0x70, 0x70, 0x5f, 0x65, 0x72, 0x72,
  2629  	0x6f, 0x72, 0x18, 0x22, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x32, 0x70, 0x2e, 0x41,
  2630  	0x70, 0x70, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x48, 0x00, 0x52, 0x08, 0x61, 0x70, 0x70, 0x45, 0x72,
  2631  	0x72, 0x6f, 0x72, 0x42, 0x09, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4a, 0x04,
  2632  	0x08, 0x01, 0x10, 0x02, 0x4a, 0x04, 0x08, 0x24, 0x10, 0x25, 0x22, 0x58, 0x0a, 0x04, 0x50, 0x69,
  2633  	0x6e, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01,
  2634  	0x28, 0x0d, 0x52, 0x06, 0x75, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x38, 0x0a, 0x0e, 0x73, 0x75,
  2635  	0x62, 0x6e, 0x65, 0x74, 0x5f, 0x75, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03,
  2636  	0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x32, 0x70, 0x2e, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x55,
  2637  	0x70, 0x74, 0x69, 0x6d, 0x65, 0x52, 0x0d, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x55, 0x70, 0x74,
  2638  	0x69, 0x6d, 0x65, 0x73, 0x22, 0x43, 0x0a, 0x0c, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x55, 0x70,
  2639  	0x74, 0x69, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x5f, 0x69,
  2640  	0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x49,
  2641  	0x64, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
  2642  	0x0d, 0x52, 0x06, 0x75, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x22, 0x12, 0x0a, 0x04, 0x50, 0x6f, 0x6e,
  2643  	0x67, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x22, 0xb3, 0x03,
  2644  	0x0a, 0x09, 0x48, 0x61, 0x6e, 0x64, 0x73, 0x68, 0x61, 0x6b, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6e,
  2645  	0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52,
  2646  	0x09, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x6d, 0x79,
  2647  	0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x6d, 0x79, 0x54,
  2648  	0x69, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x03,
  2649  	0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x69, 0x70, 0x41, 0x64, 0x64, 0x72, 0x12, 0x17, 0x0a, 0x07,
  2650  	0x69, 0x70, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x69,
  2651  	0x70, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x26, 0x0a, 0x0f, 0x69, 0x70, 0x5f, 0x73, 0x69, 0x67, 0x6e,
  2652  	0x69, 0x6e, 0x67, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d,
  2653  	0x69, 0x70, 0x53, 0x69, 0x67, 0x6e, 0x69, 0x6e, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x23, 0x0a,
  2654  	0x0e, 0x69, 0x70, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x5f, 0x73, 0x69, 0x67, 0x18,
  2655  	0x07, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x69, 0x70, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x53,
  2656  	0x69, 0x67, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x73, 0x75,
  2657  	0x62, 0x6e, 0x65, 0x74, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x0e, 0x74, 0x72, 0x61,
  2658  	0x63, 0x6b, 0x65, 0x64, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x73, 0x12, 0x23, 0x0a, 0x06, 0x63,
  2659  	0x6c, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x32,
  2660  	0x70, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74,
  2661  	0x12, 0x25, 0x0a, 0x0e, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x63,
  2662  	0x70, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0d, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72,
  2663  	0x74, 0x65, 0x64, 0x41, 0x63, 0x70, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x6f, 0x62, 0x6a, 0x65, 0x63,
  2664  	0x74, 0x65, 0x64, 0x5f, 0x61, 0x63, 0x70, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0c,
  2665  	0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x65, 0x64, 0x41, 0x63, 0x70, 0x73, 0x12, 0x31, 0x0a, 0x0b,
  2666  	0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28,
  2667  	0x0b, 0x32, 0x10, 0x2e, 0x70, 0x32, 0x70, 0x2e, 0x42, 0x6c, 0x6f, 0x6f, 0x6d, 0x46, 0x69, 0x6c,
  2668  	0x74, 0x65, 0x72, 0x52, 0x0a, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x50, 0x65, 0x65, 0x72, 0x73, 0x12,
  2669  	0x1c, 0x0a, 0x0a, 0x69, 0x70, 0x5f, 0x62, 0x6c, 0x73, 0x5f, 0x73, 0x69, 0x67, 0x18, 0x0d, 0x20,
  2670  	0x01, 0x28, 0x0c, 0x52, 0x08, 0x69, 0x70, 0x42, 0x6c, 0x73, 0x53, 0x69, 0x67, 0x4a, 0x04, 0x08,
  2671  	0x05, 0x10, 0x06, 0x22, 0x5e, 0x0a, 0x06, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a,
  2672  	0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d,
  2673  	0x65, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d,
  2674  	0x52, 0x05, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x69, 0x6e, 0x6f, 0x72,
  2675  	0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6d, 0x69, 0x6e, 0x6f, 0x72, 0x12, 0x14, 0x0a,
  2676  	0x05, 0x70, 0x61, 0x74, 0x63, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x70, 0x61,
  2677  	0x74, 0x63, 0x68, 0x22, 0x39, 0x0a, 0x0b, 0x42, 0x6c, 0x6f, 0x6f, 0x6d, 0x46, 0x69, 0x6c, 0x74,
  2678  	0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01,
  2679  	0x28, 0x0c, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x61,
  2680  	0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x73, 0x61, 0x6c, 0x74, 0x22, 0xbd,
  2681  	0x01, 0x0a, 0x0d, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, 0x49, 0x70, 0x50, 0x6f, 0x72, 0x74,
  2682  	0x12, 0x29, 0x0a, 0x10, 0x78, 0x35, 0x30, 0x39, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69,
  2683  	0x63, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0f, 0x78, 0x35, 0x30, 0x39,
  2684  	0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x69,
  2685  	0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x69, 0x70,
  2686  	0x41, 0x64, 0x64, 0x72, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x70, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18,
  2687  	0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x69, 0x70, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x1c, 0x0a,
  2688  	0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04,
  2689  	0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1c, 0x0a, 0x09, 0x73,
  2690  	0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09,
  2691  	0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x13, 0x0a, 0x05, 0x74, 0x78, 0x5f,
  2692  	0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x74, 0x78, 0x49, 0x64, 0x22, 0x40,
  2693  	0x0a, 0x0b, 0x47, 0x65, 0x74, 0x50, 0x65, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x31, 0x0a,
  2694  	0x0b, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x01,
  2695  	0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x32, 0x70, 0x2e, 0x42, 0x6c, 0x6f, 0x6f, 0x6d, 0x46, 0x69,
  2696  	0x6c, 0x74, 0x65, 0x72, 0x52, 0x0a, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x50, 0x65, 0x65, 0x72, 0x73,
  2697  	0x22, 0x48, 0x0a, 0x08, 0x50, 0x65, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x10,
  2698  	0x63, 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, 0x5f, 0x69, 0x70, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x73,
  2699  	0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x32, 0x70, 0x2e, 0x43, 0x6c, 0x61,
  2700  	0x69, 0x6d, 0x65, 0x64, 0x49, 0x70, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x0e, 0x63, 0x6c, 0x61, 0x69,
  2701  	0x6d, 0x65, 0x64, 0x49, 0x70, 0x50, 0x6f, 0x72, 0x74, 0x73, 0x22, 0x6f, 0x0a, 0x17, 0x47, 0x65,
  2702  	0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x46, 0x72, 0x6f,
  2703  	0x6e, 0x74, 0x69, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x69,
  2704  	0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x64,
  2705  	0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02,
  2706  	0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12,
  2707  	0x1a, 0x0a, 0x08, 0x64, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28,
  2708  	0x04, 0x52, 0x08, 0x64, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x22, 0x6a, 0x0a, 0x14, 0x53,
  2709  	0x74, 0x61, 0x74, 0x65, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x46, 0x72, 0x6f, 0x6e, 0x74,
  2710  	0x69, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18,
  2711  	0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x1d,
  2712  	0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01,
  2713  	0x28, 0x0d, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x18, 0x0a,
  2714  	0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07,
  2715  	0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x22, 0x89, 0x01, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x41,
  2716  	0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x53, 0x75, 0x6d, 0x6d,
  2717  	0x61, 0x72, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18,
  2718  	0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x1d,
  2719  	0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01,
  2720  	0x28, 0x0d, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x1a, 0x0a,
  2721  	0x08, 0x64, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52,
  2722  	0x08, 0x64, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x68, 0x65, 0x69,
  2723  	0x67, 0x68, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x04, 0x52, 0x07, 0x68, 0x65, 0x69, 0x67,
  2724  	0x68, 0x74, 0x73, 0x22, 0x71, 0x0a, 0x14, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x53,
  2725  	0x74, 0x61, 0x74, 0x65, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x63,
  2726  	0x68, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x63,
  2727  	0x68, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73,
  2728  	0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75,
  2729  	0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79,
  2730  	0x5f, 0x69, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x0a, 0x73, 0x75, 0x6d, 0x6d,
  2731  	0x61, 0x72, 0x79, 0x49, 0x64, 0x73, 0x22, 0x71, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63,
  2732  	0x65, 0x70, 0x74, 0x65, 0x64, 0x46, 0x72, 0x6f, 0x6e, 0x74, 0x69, 0x65, 0x72, 0x12, 0x19, 0x0a,
  2733  	0x08, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52,
  2734  	0x07, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75,
  2735  	0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x72, 0x65,
  2736  	0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x65, 0x61, 0x64, 0x6c,
  2737  	0x69, 0x6e, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x64, 0x65, 0x61, 0x64, 0x6c,
  2738  	0x69, 0x6e, 0x65, 0x4a, 0x04, 0x08, 0x04, 0x10, 0x05, 0x22, 0x6f, 0x0a, 0x10, 0x41, 0x63, 0x63,
  2739  	0x65, 0x70, 0x74, 0x65, 0x64, 0x46, 0x72, 0x6f, 0x6e, 0x74, 0x69, 0x65, 0x72, 0x12, 0x19, 0x0a,
  2740  	0x08, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52,
  2741  	0x07, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75,
  2742  	0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x72, 0x65,
  2743  	0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x61,
  2744  	0x69, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x63,
  2745  	0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x22, 0x8e, 0x01, 0x0a, 0x0b, 0x47,
  2746  	0x65, 0x74, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x68,
  2747  	0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x63, 0x68,
  2748  	0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
  2749  	0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65,
  2750  	0x73, 0x74, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65,
  2751  	0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x64, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65,
  2752  	0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x64,
  2753  	0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e,
  2754  	0x65, 0x72, 0x49, 0x64, 0x73, 0x4a, 0x04, 0x08, 0x05, 0x10, 0x06, 0x22, 0x69, 0x0a, 0x08, 0x41,
  2755  	0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x68, 0x61, 0x69, 0x6e,
  2756  	0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x63, 0x68, 0x61, 0x69, 0x6e,
  2757  	0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64,
  2758  	0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49,
  2759  	0x64, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x5f, 0x69,
  2760  	0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69,
  2761  	0x6e, 0x65, 0x72, 0x49, 0x64, 0x73, 0x22, 0xb9, 0x01, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x41, 0x6e,
  2762  	0x63, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x68, 0x61, 0x69, 0x6e,
  2763  	0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x63, 0x68, 0x61, 0x69, 0x6e,
  2764  	0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64,
  2765  	0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49,
  2766  	0x64, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x03, 0x20,
  2767  	0x01, 0x28, 0x04, 0x52, 0x08, 0x64, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x21, 0x0a,
  2768  	0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20,
  2769  	0x01, 0x28, 0x0c, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x49, 0x64,
  2770  	0x12, 0x30, 0x0a, 0x0b, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18,
  2771  	0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0f, 0x2e, 0x70, 0x32, 0x70, 0x2e, 0x45, 0x6e, 0x67, 0x69,
  2772  	0x6e, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x54, 0x79,
  2773  	0x70, 0x65, 0x22, 0x65, 0x0a, 0x09, 0x41, 0x6e, 0x63, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x73, 0x12,
  2774  	0x19, 0x0a, 0x08, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
  2775  	0x0c, 0x52, 0x07, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65,
  2776  	0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09,
  2777  	0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6e,
  2778  	0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x0a, 0x63,
  2779  	0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x73, 0x22, 0x84, 0x01, 0x0a, 0x03, 0x47, 0x65,
  2780  	0x74, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20,
  2781  	0x01, 0x28, 0x0c, 0x52, 0x07, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a,
  2782  	0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d,
  2783  	0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x64,
  2784  	0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x64,
  2785  	0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x61,
  2786  	0x69, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x63,
  2787  	0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x4a, 0x04, 0x08, 0x05, 0x10, 0x06,
  2788  	0x22, 0x5d, 0x0a, 0x03, 0x50, 0x75, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x68, 0x61, 0x69, 0x6e,
  2789  	0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x63, 0x68, 0x61, 0x69, 0x6e,
  2790  	0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64,
  2791  	0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49,
  2792  	0x64, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x18, 0x03,
  2793  	0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x22,
  2794  	0xb0, 0x01, 0x0a, 0x09, 0x50, 0x75, 0x73, 0x68, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x19, 0x0a,
  2795  	0x08, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52,
  2796  	0x07, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75,
  2797  	0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x72, 0x65,
  2798  	0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x65, 0x61, 0x64, 0x6c,
  2799  	0x69, 0x6e, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x64, 0x65, 0x61, 0x64, 0x6c,
  2800  	0x69, 0x6e, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72,
  2801  	0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65,
  2802  	0x72, 0x12, 0x29, 0x0a, 0x10, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x68,
  2803  	0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0f, 0x72, 0x65, 0x71,
  2804  	0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x4a, 0x04, 0x08, 0x05,
  2805  	0x10, 0x06, 0x22, 0xb5, 0x01, 0x0a, 0x09, 0x50, 0x75, 0x6c, 0x6c, 0x51, 0x75, 0x65, 0x72, 0x79,
  2806  	0x12, 0x19, 0x0a, 0x08, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
  2807  	0x28, 0x0c, 0x52, 0x07, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x72,
  2808  	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52,
  2809  	0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x65,
  2810  	0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x64, 0x65,
  2811  	0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69,
  2812  	0x6e, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x63, 0x6f,
  2813  	0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x72, 0x65, 0x71,
  2814  	0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x06, 0x20,
  2815  	0x01, 0x28, 0x04, 0x52, 0x0f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x48, 0x65,
  2816  	0x69, 0x67, 0x68, 0x74, 0x4a, 0x04, 0x08, 0x05, 0x10, 0x06, 0x22, 0xba, 0x01, 0x0a, 0x05, 0x43,
  2817  	0x68, 0x69, 0x74, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64,
  2818  	0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12,
  2819  	0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20,
  2820  	0x01, 0x28, 0x0d, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x21,
  2821  	0x0a, 0x0c, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x03,
  2822  	0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x49,
  2823  	0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x64,
  2824  	0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64,
  2825  	0x49, 0x64, 0x12, 0x33, 0x0a, 0x16, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x5f,
  2826  	0x69, 0x64, 0x5f, 0x61, 0x74, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x05, 0x20, 0x01,
  2827  	0x28, 0x0c, 0x52, 0x13, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x49, 0x64, 0x41,
  2828  	0x74, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x22, 0x7f, 0x0a, 0x0a, 0x41, 0x70, 0x70, 0x52, 0x65,
  2829  	0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x69,
  2830  	0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x64,
  2831  	0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02,
  2832  	0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12,
  2833  	0x1a, 0x0a, 0x08, 0x64, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28,
  2834  	0x04, 0x52, 0x08, 0x64, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x61,
  2835  	0x70, 0x70, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08,
  2836  	0x61, 0x70, 0x70, 0x42, 0x79, 0x74, 0x65, 0x73, 0x22, 0x64, 0x0a, 0x0b, 0x41, 0x70, 0x70, 0x52,
  2837  	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x68, 0x61, 0x69, 0x6e,
  2838  	0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x63, 0x68, 0x61, 0x69, 0x6e,
  2839  	0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64,
  2840  	0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49,
  2841  	0x64, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x70, 0x70, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x03,
  2842  	0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x61, 0x70, 0x70, 0x42, 0x79, 0x74, 0x65, 0x73, 0x22, 0x88,
  2843  	0x01, 0x0a, 0x08, 0x41, 0x70, 0x70, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x63,
  2844  	0x68, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x63,
  2845  	0x68, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73,
  2846  	0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75,
  2847  	0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x63,
  2848  	0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x11, 0x52, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72,
  2849  	0x43, 0x6f, 0x64, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x65,
  2850  	0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x65, 0x72, 0x72,
  2851  	0x6f, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x43, 0x0a, 0x09, 0x41, 0x70, 0x70,
  2852  	0x47, 0x6f, 0x73, 0x73, 0x69, 0x70, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f,
  2853  	0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49,
  2854  	0x64, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x70, 0x70, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x02,
  2855  	0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x61, 0x70, 0x70, 0x42, 0x79, 0x74, 0x65, 0x73, 0x2a, 0x5d,
  2856  	0x0a, 0x0a, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x17,
  2857  	0x45, 0x4e, 0x47, 0x49, 0x4e, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50,
  2858  	0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x19, 0x0a, 0x15, 0x45, 0x4e, 0x47,
  2859  	0x49, 0x4e, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x41, 0x56, 0x41, 0x4c, 0x41, 0x4e, 0x43,
  2860  	0x48, 0x45, 0x10, 0x01, 0x12, 0x17, 0x0a, 0x13, 0x45, 0x4e, 0x47, 0x49, 0x4e, 0x45, 0x5f, 0x54,
  2861  	0x59, 0x50, 0x45, 0x5f, 0x53, 0x4e, 0x4f, 0x57, 0x4d, 0x41, 0x4e, 0x10, 0x02, 0x42, 0x2e, 0x5a,
  2862  	0x2c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x76, 0x61, 0x2d,
  2863  	0x6c, 0x61, 0x62, 0x73, 0x2f, 0x61, 0x76, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x68, 0x65, 0x67, 0x6f,
  2864  	0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x70, 0x62, 0x2f, 0x70, 0x32, 0x70, 0x62, 0x06, 0x70,
  2865  	0x72, 0x6f, 0x74, 0x6f, 0x33,
  2866  }
  2867  
  2868  var (
  2869  	file_p2p_p2p_proto_rawDescOnce sync.Once
  2870  	file_p2p_p2p_proto_rawDescData = file_p2p_p2p_proto_rawDesc
  2871  )
  2872  
  2873  func file_p2p_p2p_proto_rawDescGZIP() []byte {
  2874  	file_p2p_p2p_proto_rawDescOnce.Do(func() {
  2875  		file_p2p_p2p_proto_rawDescData = protoimpl.X.CompressGZIP(file_p2p_p2p_proto_rawDescData)
  2876  	})
  2877  	return file_p2p_p2p_proto_rawDescData
  2878  }
  2879  
  2880  var file_p2p_p2p_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
  2881  var file_p2p_p2p_proto_msgTypes = make([]protoimpl.MessageInfo, 29)
  2882  var file_p2p_p2p_proto_goTypes = []interface{}{
  2883  	(EngineType)(0),                 // 0: p2p.EngineType
  2884  	(*Message)(nil),                 // 1: p2p.Message
  2885  	(*Ping)(nil),                    // 2: p2p.Ping
  2886  	(*SubnetUptime)(nil),            // 3: p2p.SubnetUptime
  2887  	(*Pong)(nil),                    // 4: p2p.Pong
  2888  	(*Handshake)(nil),               // 5: p2p.Handshake
  2889  	(*Client)(nil),                  // 6: p2p.Client
  2890  	(*BloomFilter)(nil),             // 7: p2p.BloomFilter
  2891  	(*ClaimedIpPort)(nil),           // 8: p2p.ClaimedIpPort
  2892  	(*GetPeerList)(nil),             // 9: p2p.GetPeerList
  2893  	(*PeerList)(nil),                // 10: p2p.PeerList
  2894  	(*GetStateSummaryFrontier)(nil), // 11: p2p.GetStateSummaryFrontier
  2895  	(*StateSummaryFrontier)(nil),    // 12: p2p.StateSummaryFrontier
  2896  	(*GetAcceptedStateSummary)(nil), // 13: p2p.GetAcceptedStateSummary
  2897  	(*AcceptedStateSummary)(nil),    // 14: p2p.AcceptedStateSummary
  2898  	(*GetAcceptedFrontier)(nil),     // 15: p2p.GetAcceptedFrontier
  2899  	(*AcceptedFrontier)(nil),        // 16: p2p.AcceptedFrontier
  2900  	(*GetAccepted)(nil),             // 17: p2p.GetAccepted
  2901  	(*Accepted)(nil),                // 18: p2p.Accepted
  2902  	(*GetAncestors)(nil),            // 19: p2p.GetAncestors
  2903  	(*Ancestors)(nil),               // 20: p2p.Ancestors
  2904  	(*Get)(nil),                     // 21: p2p.Get
  2905  	(*Put)(nil),                     // 22: p2p.Put
  2906  	(*PushQuery)(nil),               // 23: p2p.PushQuery
  2907  	(*PullQuery)(nil),               // 24: p2p.PullQuery
  2908  	(*Chits)(nil),                   // 25: p2p.Chits
  2909  	(*AppRequest)(nil),              // 26: p2p.AppRequest
  2910  	(*AppResponse)(nil),             // 27: p2p.AppResponse
  2911  	(*AppError)(nil),                // 28: p2p.AppError
  2912  	(*AppGossip)(nil),               // 29: p2p.AppGossip
  2913  }
  2914  var file_p2p_p2p_proto_depIdxs = []int32{
  2915  	2,  // 0: p2p.Message.ping:type_name -> p2p.Ping
  2916  	4,  // 1: p2p.Message.pong:type_name -> p2p.Pong
  2917  	5,  // 2: p2p.Message.handshake:type_name -> p2p.Handshake
  2918  	9,  // 3: p2p.Message.get_peer_list:type_name -> p2p.GetPeerList
  2919  	10, // 4: p2p.Message.peer_list:type_name -> p2p.PeerList
  2920  	11, // 5: p2p.Message.get_state_summary_frontier:type_name -> p2p.GetStateSummaryFrontier
  2921  	12, // 6: p2p.Message.state_summary_frontier:type_name -> p2p.StateSummaryFrontier
  2922  	13, // 7: p2p.Message.get_accepted_state_summary:type_name -> p2p.GetAcceptedStateSummary
  2923  	14, // 8: p2p.Message.accepted_state_summary:type_name -> p2p.AcceptedStateSummary
  2924  	15, // 9: p2p.Message.get_accepted_frontier:type_name -> p2p.GetAcceptedFrontier
  2925  	16, // 10: p2p.Message.accepted_frontier:type_name -> p2p.AcceptedFrontier
  2926  	17, // 11: p2p.Message.get_accepted:type_name -> p2p.GetAccepted
  2927  	18, // 12: p2p.Message.accepted:type_name -> p2p.Accepted
  2928  	19, // 13: p2p.Message.get_ancestors:type_name -> p2p.GetAncestors
  2929  	20, // 14: p2p.Message.ancestors:type_name -> p2p.Ancestors
  2930  	21, // 15: p2p.Message.get:type_name -> p2p.Get
  2931  	22, // 16: p2p.Message.put:type_name -> p2p.Put
  2932  	23, // 17: p2p.Message.push_query:type_name -> p2p.PushQuery
  2933  	24, // 18: p2p.Message.pull_query:type_name -> p2p.PullQuery
  2934  	25, // 19: p2p.Message.chits:type_name -> p2p.Chits
  2935  	26, // 20: p2p.Message.app_request:type_name -> p2p.AppRequest
  2936  	27, // 21: p2p.Message.app_response:type_name -> p2p.AppResponse
  2937  	29, // 22: p2p.Message.app_gossip:type_name -> p2p.AppGossip
  2938  	28, // 23: p2p.Message.app_error:type_name -> p2p.AppError
  2939  	3,  // 24: p2p.Ping.subnet_uptimes:type_name -> p2p.SubnetUptime
  2940  	6,  // 25: p2p.Handshake.client:type_name -> p2p.Client
  2941  	7,  // 26: p2p.Handshake.known_peers:type_name -> p2p.BloomFilter
  2942  	7,  // 27: p2p.GetPeerList.known_peers:type_name -> p2p.BloomFilter
  2943  	8,  // 28: p2p.PeerList.claimed_ip_ports:type_name -> p2p.ClaimedIpPort
  2944  	0,  // 29: p2p.GetAncestors.engine_type:type_name -> p2p.EngineType
  2945  	30, // [30:30] is the sub-list for method output_type
  2946  	30, // [30:30] is the sub-list for method input_type
  2947  	30, // [30:30] is the sub-list for extension type_name
  2948  	30, // [30:30] is the sub-list for extension extendee
  2949  	0,  // [0:30] is the sub-list for field type_name
  2950  }
  2951  
  2952  func init() { file_p2p_p2p_proto_init() }
  2953  func file_p2p_p2p_proto_init() {
  2954  	if File_p2p_p2p_proto != nil {
  2955  		return
  2956  	}
  2957  	if !protoimpl.UnsafeEnabled {
  2958  		file_p2p_p2p_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
  2959  			switch v := v.(*Message); i {
  2960  			case 0:
  2961  				return &v.state
  2962  			case 1:
  2963  				return &v.sizeCache
  2964  			case 2:
  2965  				return &v.unknownFields
  2966  			default:
  2967  				return nil
  2968  			}
  2969  		}
  2970  		file_p2p_p2p_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
  2971  			switch v := v.(*Ping); i {
  2972  			case 0:
  2973  				return &v.state
  2974  			case 1:
  2975  				return &v.sizeCache
  2976  			case 2:
  2977  				return &v.unknownFields
  2978  			default:
  2979  				return nil
  2980  			}
  2981  		}
  2982  		file_p2p_p2p_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
  2983  			switch v := v.(*SubnetUptime); i {
  2984  			case 0:
  2985  				return &v.state
  2986  			case 1:
  2987  				return &v.sizeCache
  2988  			case 2:
  2989  				return &v.unknownFields
  2990  			default:
  2991  				return nil
  2992  			}
  2993  		}
  2994  		file_p2p_p2p_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
  2995  			switch v := v.(*Pong); i {
  2996  			case 0:
  2997  				return &v.state
  2998  			case 1:
  2999  				return &v.sizeCache
  3000  			case 2:
  3001  				return &v.unknownFields
  3002  			default:
  3003  				return nil
  3004  			}
  3005  		}
  3006  		file_p2p_p2p_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
  3007  			switch v := v.(*Handshake); i {
  3008  			case 0:
  3009  				return &v.state
  3010  			case 1:
  3011  				return &v.sizeCache
  3012  			case 2:
  3013  				return &v.unknownFields
  3014  			default:
  3015  				return nil
  3016  			}
  3017  		}
  3018  		file_p2p_p2p_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
  3019  			switch v := v.(*Client); i {
  3020  			case 0:
  3021  				return &v.state
  3022  			case 1:
  3023  				return &v.sizeCache
  3024  			case 2:
  3025  				return &v.unknownFields
  3026  			default:
  3027  				return nil
  3028  			}
  3029  		}
  3030  		file_p2p_p2p_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
  3031  			switch v := v.(*BloomFilter); i {
  3032  			case 0:
  3033  				return &v.state
  3034  			case 1:
  3035  				return &v.sizeCache
  3036  			case 2:
  3037  				return &v.unknownFields
  3038  			default:
  3039  				return nil
  3040  			}
  3041  		}
  3042  		file_p2p_p2p_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
  3043  			switch v := v.(*ClaimedIpPort); i {
  3044  			case 0:
  3045  				return &v.state
  3046  			case 1:
  3047  				return &v.sizeCache
  3048  			case 2:
  3049  				return &v.unknownFields
  3050  			default:
  3051  				return nil
  3052  			}
  3053  		}
  3054  		file_p2p_p2p_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
  3055  			switch v := v.(*GetPeerList); i {
  3056  			case 0:
  3057  				return &v.state
  3058  			case 1:
  3059  				return &v.sizeCache
  3060  			case 2:
  3061  				return &v.unknownFields
  3062  			default:
  3063  				return nil
  3064  			}
  3065  		}
  3066  		file_p2p_p2p_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
  3067  			switch v := v.(*PeerList); i {
  3068  			case 0:
  3069  				return &v.state
  3070  			case 1:
  3071  				return &v.sizeCache
  3072  			case 2:
  3073  				return &v.unknownFields
  3074  			default:
  3075  				return nil
  3076  			}
  3077  		}
  3078  		file_p2p_p2p_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
  3079  			switch v := v.(*GetStateSummaryFrontier); i {
  3080  			case 0:
  3081  				return &v.state
  3082  			case 1:
  3083  				return &v.sizeCache
  3084  			case 2:
  3085  				return &v.unknownFields
  3086  			default:
  3087  				return nil
  3088  			}
  3089  		}
  3090  		file_p2p_p2p_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
  3091  			switch v := v.(*StateSummaryFrontier); i {
  3092  			case 0:
  3093  				return &v.state
  3094  			case 1:
  3095  				return &v.sizeCache
  3096  			case 2:
  3097  				return &v.unknownFields
  3098  			default:
  3099  				return nil
  3100  			}
  3101  		}
  3102  		file_p2p_p2p_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
  3103  			switch v := v.(*GetAcceptedStateSummary); i {
  3104  			case 0:
  3105  				return &v.state
  3106  			case 1:
  3107  				return &v.sizeCache
  3108  			case 2:
  3109  				return &v.unknownFields
  3110  			default:
  3111  				return nil
  3112  			}
  3113  		}
  3114  		file_p2p_p2p_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
  3115  			switch v := v.(*AcceptedStateSummary); i {
  3116  			case 0:
  3117  				return &v.state
  3118  			case 1:
  3119  				return &v.sizeCache
  3120  			case 2:
  3121  				return &v.unknownFields
  3122  			default:
  3123  				return nil
  3124  			}
  3125  		}
  3126  		file_p2p_p2p_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
  3127  			switch v := v.(*GetAcceptedFrontier); i {
  3128  			case 0:
  3129  				return &v.state
  3130  			case 1:
  3131  				return &v.sizeCache
  3132  			case 2:
  3133  				return &v.unknownFields
  3134  			default:
  3135  				return nil
  3136  			}
  3137  		}
  3138  		file_p2p_p2p_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
  3139  			switch v := v.(*AcceptedFrontier); i {
  3140  			case 0:
  3141  				return &v.state
  3142  			case 1:
  3143  				return &v.sizeCache
  3144  			case 2:
  3145  				return &v.unknownFields
  3146  			default:
  3147  				return nil
  3148  			}
  3149  		}
  3150  		file_p2p_p2p_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
  3151  			switch v := v.(*GetAccepted); i {
  3152  			case 0:
  3153  				return &v.state
  3154  			case 1:
  3155  				return &v.sizeCache
  3156  			case 2:
  3157  				return &v.unknownFields
  3158  			default:
  3159  				return nil
  3160  			}
  3161  		}
  3162  		file_p2p_p2p_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
  3163  			switch v := v.(*Accepted); i {
  3164  			case 0:
  3165  				return &v.state
  3166  			case 1:
  3167  				return &v.sizeCache
  3168  			case 2:
  3169  				return &v.unknownFields
  3170  			default:
  3171  				return nil
  3172  			}
  3173  		}
  3174  		file_p2p_p2p_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
  3175  			switch v := v.(*GetAncestors); i {
  3176  			case 0:
  3177  				return &v.state
  3178  			case 1:
  3179  				return &v.sizeCache
  3180  			case 2:
  3181  				return &v.unknownFields
  3182  			default:
  3183  				return nil
  3184  			}
  3185  		}
  3186  		file_p2p_p2p_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
  3187  			switch v := v.(*Ancestors); i {
  3188  			case 0:
  3189  				return &v.state
  3190  			case 1:
  3191  				return &v.sizeCache
  3192  			case 2:
  3193  				return &v.unknownFields
  3194  			default:
  3195  				return nil
  3196  			}
  3197  		}
  3198  		file_p2p_p2p_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
  3199  			switch v := v.(*Get); i {
  3200  			case 0:
  3201  				return &v.state
  3202  			case 1:
  3203  				return &v.sizeCache
  3204  			case 2:
  3205  				return &v.unknownFields
  3206  			default:
  3207  				return nil
  3208  			}
  3209  		}
  3210  		file_p2p_p2p_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
  3211  			switch v := v.(*Put); i {
  3212  			case 0:
  3213  				return &v.state
  3214  			case 1:
  3215  				return &v.sizeCache
  3216  			case 2:
  3217  				return &v.unknownFields
  3218  			default:
  3219  				return nil
  3220  			}
  3221  		}
  3222  		file_p2p_p2p_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
  3223  			switch v := v.(*PushQuery); i {
  3224  			case 0:
  3225  				return &v.state
  3226  			case 1:
  3227  				return &v.sizeCache
  3228  			case 2:
  3229  				return &v.unknownFields
  3230  			default:
  3231  				return nil
  3232  			}
  3233  		}
  3234  		file_p2p_p2p_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
  3235  			switch v := v.(*PullQuery); i {
  3236  			case 0:
  3237  				return &v.state
  3238  			case 1:
  3239  				return &v.sizeCache
  3240  			case 2:
  3241  				return &v.unknownFields
  3242  			default:
  3243  				return nil
  3244  			}
  3245  		}
  3246  		file_p2p_p2p_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
  3247  			switch v := v.(*Chits); i {
  3248  			case 0:
  3249  				return &v.state
  3250  			case 1:
  3251  				return &v.sizeCache
  3252  			case 2:
  3253  				return &v.unknownFields
  3254  			default:
  3255  				return nil
  3256  			}
  3257  		}
  3258  		file_p2p_p2p_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
  3259  			switch v := v.(*AppRequest); i {
  3260  			case 0:
  3261  				return &v.state
  3262  			case 1:
  3263  				return &v.sizeCache
  3264  			case 2:
  3265  				return &v.unknownFields
  3266  			default:
  3267  				return nil
  3268  			}
  3269  		}
  3270  		file_p2p_p2p_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
  3271  			switch v := v.(*AppResponse); i {
  3272  			case 0:
  3273  				return &v.state
  3274  			case 1:
  3275  				return &v.sizeCache
  3276  			case 2:
  3277  				return &v.unknownFields
  3278  			default:
  3279  				return nil
  3280  			}
  3281  		}
  3282  		file_p2p_p2p_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
  3283  			switch v := v.(*AppError); i {
  3284  			case 0:
  3285  				return &v.state
  3286  			case 1:
  3287  				return &v.sizeCache
  3288  			case 2:
  3289  				return &v.unknownFields
  3290  			default:
  3291  				return nil
  3292  			}
  3293  		}
  3294  		file_p2p_p2p_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
  3295  			switch v := v.(*AppGossip); i {
  3296  			case 0:
  3297  				return &v.state
  3298  			case 1:
  3299  				return &v.sizeCache
  3300  			case 2:
  3301  				return &v.unknownFields
  3302  			default:
  3303  				return nil
  3304  			}
  3305  		}
  3306  	}
  3307  	file_p2p_p2p_proto_msgTypes[0].OneofWrappers = []interface{}{
  3308  		(*Message_CompressedZstd)(nil),
  3309  		(*Message_Ping)(nil),
  3310  		(*Message_Pong)(nil),
  3311  		(*Message_Handshake)(nil),
  3312  		(*Message_GetPeerList)(nil),
  3313  		(*Message_PeerList_)(nil),
  3314  		(*Message_GetStateSummaryFrontier)(nil),
  3315  		(*Message_StateSummaryFrontier_)(nil),
  3316  		(*Message_GetAcceptedStateSummary)(nil),
  3317  		(*Message_AcceptedStateSummary_)(nil),
  3318  		(*Message_GetAcceptedFrontier)(nil),
  3319  		(*Message_AcceptedFrontier_)(nil),
  3320  		(*Message_GetAccepted)(nil),
  3321  		(*Message_Accepted_)(nil),
  3322  		(*Message_GetAncestors)(nil),
  3323  		(*Message_Ancestors_)(nil),
  3324  		(*Message_Get)(nil),
  3325  		(*Message_Put)(nil),
  3326  		(*Message_PushQuery)(nil),
  3327  		(*Message_PullQuery)(nil),
  3328  		(*Message_Chits)(nil),
  3329  		(*Message_AppRequest)(nil),
  3330  		(*Message_AppResponse)(nil),
  3331  		(*Message_AppGossip)(nil),
  3332  		(*Message_AppError)(nil),
  3333  	}
  3334  	type x struct{}
  3335  	out := protoimpl.TypeBuilder{
  3336  		File: protoimpl.DescBuilder{
  3337  			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
  3338  			RawDescriptor: file_p2p_p2p_proto_rawDesc,
  3339  			NumEnums:      1,
  3340  			NumMessages:   29,
  3341  			NumExtensions: 0,
  3342  			NumServices:   0,
  3343  		},
  3344  		GoTypes:           file_p2p_p2p_proto_goTypes,
  3345  		DependencyIndexes: file_p2p_p2p_proto_depIdxs,
  3346  		EnumInfos:         file_p2p_p2p_proto_enumTypes,
  3347  		MessageInfos:      file_p2p_p2p_proto_msgTypes,
  3348  	}.Build()
  3349  	File_p2p_p2p_proto = out.File
  3350  	file_p2p_p2p_proto_rawDesc = nil
  3351  	file_p2p_p2p_proto_goTypes = nil
  3352  	file_p2p_p2p_proto_depIdxs = nil
  3353  }