github.com/ava-labs/avalanchego@v1.11.11/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 // Deprecated 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 // To avoid sending IPs that the client isn't interested in tracking, the 683 // server expects the client to confirm that it is tracking all subnets. 684 AllSubnets bool `protobuf:"varint,14,opt,name=all_subnets,json=allSubnets,proto3" json:"all_subnets,omitempty"` 685 } 686 687 func (x *Handshake) Reset() { 688 *x = Handshake{} 689 if protoimpl.UnsafeEnabled { 690 mi := &file_p2p_p2p_proto_msgTypes[4] 691 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 692 ms.StoreMessageInfo(mi) 693 } 694 } 695 696 func (x *Handshake) String() string { 697 return protoimpl.X.MessageStringOf(x) 698 } 699 700 func (*Handshake) ProtoMessage() {} 701 702 func (x *Handshake) ProtoReflect() protoreflect.Message { 703 mi := &file_p2p_p2p_proto_msgTypes[4] 704 if protoimpl.UnsafeEnabled && x != nil { 705 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 706 if ms.LoadMessageInfo() == nil { 707 ms.StoreMessageInfo(mi) 708 } 709 return ms 710 } 711 return mi.MessageOf(x) 712 } 713 714 // Deprecated: Use Handshake.ProtoReflect.Descriptor instead. 715 func (*Handshake) Descriptor() ([]byte, []int) { 716 return file_p2p_p2p_proto_rawDescGZIP(), []int{4} 717 } 718 719 func (x *Handshake) GetNetworkId() uint32 { 720 if x != nil { 721 return x.NetworkId 722 } 723 return 0 724 } 725 726 func (x *Handshake) GetMyTime() uint64 { 727 if x != nil { 728 return x.MyTime 729 } 730 return 0 731 } 732 733 func (x *Handshake) GetIpAddr() []byte { 734 if x != nil { 735 return x.IpAddr 736 } 737 return nil 738 } 739 740 func (x *Handshake) GetIpPort() uint32 { 741 if x != nil { 742 return x.IpPort 743 } 744 return 0 745 } 746 747 func (x *Handshake) GetIpSigningTime() uint64 { 748 if x != nil { 749 return x.IpSigningTime 750 } 751 return 0 752 } 753 754 func (x *Handshake) GetIpNodeIdSig() []byte { 755 if x != nil { 756 return x.IpNodeIdSig 757 } 758 return nil 759 } 760 761 func (x *Handshake) GetTrackedSubnets() [][]byte { 762 if x != nil { 763 return x.TrackedSubnets 764 } 765 return nil 766 } 767 768 func (x *Handshake) GetClient() *Client { 769 if x != nil { 770 return x.Client 771 } 772 return nil 773 } 774 775 func (x *Handshake) GetSupportedAcps() []uint32 { 776 if x != nil { 777 return x.SupportedAcps 778 } 779 return nil 780 } 781 782 func (x *Handshake) GetObjectedAcps() []uint32 { 783 if x != nil { 784 return x.ObjectedAcps 785 } 786 return nil 787 } 788 789 func (x *Handshake) GetKnownPeers() *BloomFilter { 790 if x != nil { 791 return x.KnownPeers 792 } 793 return nil 794 } 795 796 func (x *Handshake) GetIpBlsSig() []byte { 797 if x != nil { 798 return x.IpBlsSig 799 } 800 return nil 801 } 802 803 func (x *Handshake) GetAllSubnets() bool { 804 if x != nil { 805 return x.AllSubnets 806 } 807 return false 808 } 809 810 // Metadata about a peer's P2P client used to determine compatibility 811 type Client struct { 812 state protoimpl.MessageState 813 sizeCache protoimpl.SizeCache 814 unknownFields protoimpl.UnknownFields 815 816 // Client name (e.g avalanchego) 817 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 818 // Client semantic version 819 Major uint32 `protobuf:"varint,2,opt,name=major,proto3" json:"major,omitempty"` 820 Minor uint32 `protobuf:"varint,3,opt,name=minor,proto3" json:"minor,omitempty"` 821 Patch uint32 `protobuf:"varint,4,opt,name=patch,proto3" json:"patch,omitempty"` 822 } 823 824 func (x *Client) Reset() { 825 *x = Client{} 826 if protoimpl.UnsafeEnabled { 827 mi := &file_p2p_p2p_proto_msgTypes[5] 828 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 829 ms.StoreMessageInfo(mi) 830 } 831 } 832 833 func (x *Client) String() string { 834 return protoimpl.X.MessageStringOf(x) 835 } 836 837 func (*Client) ProtoMessage() {} 838 839 func (x *Client) ProtoReflect() protoreflect.Message { 840 mi := &file_p2p_p2p_proto_msgTypes[5] 841 if protoimpl.UnsafeEnabled && x != nil { 842 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 843 if ms.LoadMessageInfo() == nil { 844 ms.StoreMessageInfo(mi) 845 } 846 return ms 847 } 848 return mi.MessageOf(x) 849 } 850 851 // Deprecated: Use Client.ProtoReflect.Descriptor instead. 852 func (*Client) Descriptor() ([]byte, []int) { 853 return file_p2p_p2p_proto_rawDescGZIP(), []int{5} 854 } 855 856 func (x *Client) GetName() string { 857 if x != nil { 858 return x.Name 859 } 860 return "" 861 } 862 863 func (x *Client) GetMajor() uint32 { 864 if x != nil { 865 return x.Major 866 } 867 return 0 868 } 869 870 func (x *Client) GetMinor() uint32 { 871 if x != nil { 872 return x.Minor 873 } 874 return 0 875 } 876 877 func (x *Client) GetPatch() uint32 { 878 if x != nil { 879 return x.Patch 880 } 881 return 0 882 } 883 884 // BloomFilter with a random salt to prevent consistent hash collisions 885 type BloomFilter struct { 886 state protoimpl.MessageState 887 sizeCache protoimpl.SizeCache 888 unknownFields protoimpl.UnknownFields 889 890 Filter []byte `protobuf:"bytes,1,opt,name=filter,proto3" json:"filter,omitempty"` 891 Salt []byte `protobuf:"bytes,2,opt,name=salt,proto3" json:"salt,omitempty"` 892 } 893 894 func (x *BloomFilter) Reset() { 895 *x = BloomFilter{} 896 if protoimpl.UnsafeEnabled { 897 mi := &file_p2p_p2p_proto_msgTypes[6] 898 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 899 ms.StoreMessageInfo(mi) 900 } 901 } 902 903 func (x *BloomFilter) String() string { 904 return protoimpl.X.MessageStringOf(x) 905 } 906 907 func (*BloomFilter) ProtoMessage() {} 908 909 func (x *BloomFilter) ProtoReflect() protoreflect.Message { 910 mi := &file_p2p_p2p_proto_msgTypes[6] 911 if protoimpl.UnsafeEnabled && x != nil { 912 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 913 if ms.LoadMessageInfo() == nil { 914 ms.StoreMessageInfo(mi) 915 } 916 return ms 917 } 918 return mi.MessageOf(x) 919 } 920 921 // Deprecated: Use BloomFilter.ProtoReflect.Descriptor instead. 922 func (*BloomFilter) Descriptor() ([]byte, []int) { 923 return file_p2p_p2p_proto_rawDescGZIP(), []int{6} 924 } 925 926 func (x *BloomFilter) GetFilter() []byte { 927 if x != nil { 928 return x.Filter 929 } 930 return nil 931 } 932 933 func (x *BloomFilter) GetSalt() []byte { 934 if x != nil { 935 return x.Salt 936 } 937 return nil 938 } 939 940 // ClaimedIpPort contains metadata needed to connect to a peer 941 type ClaimedIpPort struct { 942 state protoimpl.MessageState 943 sizeCache protoimpl.SizeCache 944 unknownFields protoimpl.UnknownFields 945 946 // X509 certificate of the peer 947 X509Certificate []byte `protobuf:"bytes,1,opt,name=x509_certificate,json=x509Certificate,proto3" json:"x509_certificate,omitempty"` 948 // IP address of the peer 949 IpAddr []byte `protobuf:"bytes,2,opt,name=ip_addr,json=ipAddr,proto3" json:"ip_addr,omitempty"` 950 // IP port of the peer 951 IpPort uint32 `protobuf:"varint,3,opt,name=ip_port,json=ipPort,proto3" json:"ip_port,omitempty"` 952 // Timestamp of the IP address + port pair 953 Timestamp uint64 `protobuf:"varint,4,opt,name=timestamp,proto3" json:"timestamp,omitempty"` 954 // Signature of the IP port pair at a provided timestamp 955 Signature []byte `protobuf:"bytes,5,opt,name=signature,proto3" json:"signature,omitempty"` 956 // P-Chain transaction that added this peer to the validator set 957 TxId []byte `protobuf:"bytes,6,opt,name=tx_id,json=txId,proto3" json:"tx_id,omitempty"` 958 } 959 960 func (x *ClaimedIpPort) Reset() { 961 *x = ClaimedIpPort{} 962 if protoimpl.UnsafeEnabled { 963 mi := &file_p2p_p2p_proto_msgTypes[7] 964 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 965 ms.StoreMessageInfo(mi) 966 } 967 } 968 969 func (x *ClaimedIpPort) String() string { 970 return protoimpl.X.MessageStringOf(x) 971 } 972 973 func (*ClaimedIpPort) ProtoMessage() {} 974 975 func (x *ClaimedIpPort) ProtoReflect() protoreflect.Message { 976 mi := &file_p2p_p2p_proto_msgTypes[7] 977 if protoimpl.UnsafeEnabled && x != nil { 978 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 979 if ms.LoadMessageInfo() == nil { 980 ms.StoreMessageInfo(mi) 981 } 982 return ms 983 } 984 return mi.MessageOf(x) 985 } 986 987 // Deprecated: Use ClaimedIpPort.ProtoReflect.Descriptor instead. 988 func (*ClaimedIpPort) Descriptor() ([]byte, []int) { 989 return file_p2p_p2p_proto_rawDescGZIP(), []int{7} 990 } 991 992 func (x *ClaimedIpPort) GetX509Certificate() []byte { 993 if x != nil { 994 return x.X509Certificate 995 } 996 return nil 997 } 998 999 func (x *ClaimedIpPort) GetIpAddr() []byte { 1000 if x != nil { 1001 return x.IpAddr 1002 } 1003 return nil 1004 } 1005 1006 func (x *ClaimedIpPort) GetIpPort() uint32 { 1007 if x != nil { 1008 return x.IpPort 1009 } 1010 return 0 1011 } 1012 1013 func (x *ClaimedIpPort) GetTimestamp() uint64 { 1014 if x != nil { 1015 return x.Timestamp 1016 } 1017 return 0 1018 } 1019 1020 func (x *ClaimedIpPort) GetSignature() []byte { 1021 if x != nil { 1022 return x.Signature 1023 } 1024 return nil 1025 } 1026 1027 func (x *ClaimedIpPort) GetTxId() []byte { 1028 if x != nil { 1029 return x.TxId 1030 } 1031 return nil 1032 } 1033 1034 // GetPeerList contains a bloom filter of the currently known validator IPs. 1035 // 1036 // GetPeerList must not be responded to until finishing the handshake. After the 1037 // handshake is completed, GetPeerlist messages should be responded to with a 1038 // Peerlist message containing validators that are not present in the bloom 1039 // filter. 1040 type GetPeerList struct { 1041 state protoimpl.MessageState 1042 sizeCache protoimpl.SizeCache 1043 unknownFields protoimpl.UnknownFields 1044 1045 KnownPeers *BloomFilter `protobuf:"bytes,1,opt,name=known_peers,json=knownPeers,proto3" json:"known_peers,omitempty"` 1046 AllSubnets bool `protobuf:"varint,2,opt,name=all_subnets,json=allSubnets,proto3" json:"all_subnets,omitempty"` 1047 } 1048 1049 func (x *GetPeerList) Reset() { 1050 *x = GetPeerList{} 1051 if protoimpl.UnsafeEnabled { 1052 mi := &file_p2p_p2p_proto_msgTypes[8] 1053 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1054 ms.StoreMessageInfo(mi) 1055 } 1056 } 1057 1058 func (x *GetPeerList) String() string { 1059 return protoimpl.X.MessageStringOf(x) 1060 } 1061 1062 func (*GetPeerList) ProtoMessage() {} 1063 1064 func (x *GetPeerList) ProtoReflect() protoreflect.Message { 1065 mi := &file_p2p_p2p_proto_msgTypes[8] 1066 if protoimpl.UnsafeEnabled && x != nil { 1067 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1068 if ms.LoadMessageInfo() == nil { 1069 ms.StoreMessageInfo(mi) 1070 } 1071 return ms 1072 } 1073 return mi.MessageOf(x) 1074 } 1075 1076 // Deprecated: Use GetPeerList.ProtoReflect.Descriptor instead. 1077 func (*GetPeerList) Descriptor() ([]byte, []int) { 1078 return file_p2p_p2p_proto_rawDescGZIP(), []int{8} 1079 } 1080 1081 func (x *GetPeerList) GetKnownPeers() *BloomFilter { 1082 if x != nil { 1083 return x.KnownPeers 1084 } 1085 return nil 1086 } 1087 1088 func (x *GetPeerList) GetAllSubnets() bool { 1089 if x != nil { 1090 return x.AllSubnets 1091 } 1092 return false 1093 } 1094 1095 // PeerList contains network-level metadata for a set of validators. 1096 // 1097 // PeerList must be sent in response to an inbound Handshake message from a 1098 // remote peer a peer wants to connect to. Once a PeerList is received after 1099 // a Handshake message, the p2p handshake is complete and the connection is 1100 // established. 1101 // 1102 // PeerList should be sent in response to a GetPeerlist message if the handshake 1103 // has been completed. 1104 type PeerList struct { 1105 state protoimpl.MessageState 1106 sizeCache protoimpl.SizeCache 1107 unknownFields protoimpl.UnknownFields 1108 1109 ClaimedIpPorts []*ClaimedIpPort `protobuf:"bytes,1,rep,name=claimed_ip_ports,json=claimedIpPorts,proto3" json:"claimed_ip_ports,omitempty"` 1110 } 1111 1112 func (x *PeerList) Reset() { 1113 *x = PeerList{} 1114 if protoimpl.UnsafeEnabled { 1115 mi := &file_p2p_p2p_proto_msgTypes[9] 1116 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1117 ms.StoreMessageInfo(mi) 1118 } 1119 } 1120 1121 func (x *PeerList) String() string { 1122 return protoimpl.X.MessageStringOf(x) 1123 } 1124 1125 func (*PeerList) ProtoMessage() {} 1126 1127 func (x *PeerList) ProtoReflect() protoreflect.Message { 1128 mi := &file_p2p_p2p_proto_msgTypes[9] 1129 if protoimpl.UnsafeEnabled && x != nil { 1130 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1131 if ms.LoadMessageInfo() == nil { 1132 ms.StoreMessageInfo(mi) 1133 } 1134 return ms 1135 } 1136 return mi.MessageOf(x) 1137 } 1138 1139 // Deprecated: Use PeerList.ProtoReflect.Descriptor instead. 1140 func (*PeerList) Descriptor() ([]byte, []int) { 1141 return file_p2p_p2p_proto_rawDescGZIP(), []int{9} 1142 } 1143 1144 func (x *PeerList) GetClaimedIpPorts() []*ClaimedIpPort { 1145 if x != nil { 1146 return x.ClaimedIpPorts 1147 } 1148 return nil 1149 } 1150 1151 // GetStateSummaryFrontier requests a peer's most recently accepted state 1152 // summary 1153 type GetStateSummaryFrontier struct { 1154 state protoimpl.MessageState 1155 sizeCache protoimpl.SizeCache 1156 unknownFields protoimpl.UnknownFields 1157 1158 // Chain being requested from 1159 ChainId []byte `protobuf:"bytes,1,opt,name=chain_id,json=chainId,proto3" json:"chain_id,omitempty"` 1160 // Unique identifier for this request 1161 RequestId uint32 `protobuf:"varint,2,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` 1162 // Timeout (ns) for this request 1163 Deadline uint64 `protobuf:"varint,3,opt,name=deadline,proto3" json:"deadline,omitempty"` 1164 } 1165 1166 func (x *GetStateSummaryFrontier) Reset() { 1167 *x = GetStateSummaryFrontier{} 1168 if protoimpl.UnsafeEnabled { 1169 mi := &file_p2p_p2p_proto_msgTypes[10] 1170 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1171 ms.StoreMessageInfo(mi) 1172 } 1173 } 1174 1175 func (x *GetStateSummaryFrontier) String() string { 1176 return protoimpl.X.MessageStringOf(x) 1177 } 1178 1179 func (*GetStateSummaryFrontier) ProtoMessage() {} 1180 1181 func (x *GetStateSummaryFrontier) ProtoReflect() protoreflect.Message { 1182 mi := &file_p2p_p2p_proto_msgTypes[10] 1183 if protoimpl.UnsafeEnabled && x != nil { 1184 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1185 if ms.LoadMessageInfo() == nil { 1186 ms.StoreMessageInfo(mi) 1187 } 1188 return ms 1189 } 1190 return mi.MessageOf(x) 1191 } 1192 1193 // Deprecated: Use GetStateSummaryFrontier.ProtoReflect.Descriptor instead. 1194 func (*GetStateSummaryFrontier) Descriptor() ([]byte, []int) { 1195 return file_p2p_p2p_proto_rawDescGZIP(), []int{10} 1196 } 1197 1198 func (x *GetStateSummaryFrontier) GetChainId() []byte { 1199 if x != nil { 1200 return x.ChainId 1201 } 1202 return nil 1203 } 1204 1205 func (x *GetStateSummaryFrontier) GetRequestId() uint32 { 1206 if x != nil { 1207 return x.RequestId 1208 } 1209 return 0 1210 } 1211 1212 func (x *GetStateSummaryFrontier) GetDeadline() uint64 { 1213 if x != nil { 1214 return x.Deadline 1215 } 1216 return 0 1217 } 1218 1219 // StateSummaryFrontier is sent in response to a GetStateSummaryFrontier request 1220 type StateSummaryFrontier struct { 1221 state protoimpl.MessageState 1222 sizeCache protoimpl.SizeCache 1223 unknownFields protoimpl.UnknownFields 1224 1225 // Chain being responded from 1226 ChainId []byte `protobuf:"bytes,1,opt,name=chain_id,json=chainId,proto3" json:"chain_id,omitempty"` 1227 // Request id of the original GetStateSummaryFrontier request 1228 RequestId uint32 `protobuf:"varint,2,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` 1229 // The requested state summary 1230 Summary []byte `protobuf:"bytes,3,opt,name=summary,proto3" json:"summary,omitempty"` 1231 } 1232 1233 func (x *StateSummaryFrontier) Reset() { 1234 *x = StateSummaryFrontier{} 1235 if protoimpl.UnsafeEnabled { 1236 mi := &file_p2p_p2p_proto_msgTypes[11] 1237 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1238 ms.StoreMessageInfo(mi) 1239 } 1240 } 1241 1242 func (x *StateSummaryFrontier) String() string { 1243 return protoimpl.X.MessageStringOf(x) 1244 } 1245 1246 func (*StateSummaryFrontier) ProtoMessage() {} 1247 1248 func (x *StateSummaryFrontier) ProtoReflect() protoreflect.Message { 1249 mi := &file_p2p_p2p_proto_msgTypes[11] 1250 if protoimpl.UnsafeEnabled && x != nil { 1251 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1252 if ms.LoadMessageInfo() == nil { 1253 ms.StoreMessageInfo(mi) 1254 } 1255 return ms 1256 } 1257 return mi.MessageOf(x) 1258 } 1259 1260 // Deprecated: Use StateSummaryFrontier.ProtoReflect.Descriptor instead. 1261 func (*StateSummaryFrontier) Descriptor() ([]byte, []int) { 1262 return file_p2p_p2p_proto_rawDescGZIP(), []int{11} 1263 } 1264 1265 func (x *StateSummaryFrontier) GetChainId() []byte { 1266 if x != nil { 1267 return x.ChainId 1268 } 1269 return nil 1270 } 1271 1272 func (x *StateSummaryFrontier) GetRequestId() uint32 { 1273 if x != nil { 1274 return x.RequestId 1275 } 1276 return 0 1277 } 1278 1279 func (x *StateSummaryFrontier) GetSummary() []byte { 1280 if x != nil { 1281 return x.Summary 1282 } 1283 return nil 1284 } 1285 1286 // GetAcceptedStateSummary requests a set of state summaries at a set of 1287 // block heights 1288 type GetAcceptedStateSummary struct { 1289 state protoimpl.MessageState 1290 sizeCache protoimpl.SizeCache 1291 unknownFields protoimpl.UnknownFields 1292 1293 // Chain being requested from 1294 ChainId []byte `protobuf:"bytes,1,opt,name=chain_id,json=chainId,proto3" json:"chain_id,omitempty"` 1295 // Unique identifier for this request 1296 RequestId uint32 `protobuf:"varint,2,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` 1297 // Timeout (ns) for this request 1298 Deadline uint64 `protobuf:"varint,3,opt,name=deadline,proto3" json:"deadline,omitempty"` 1299 // Heights being requested 1300 Heights []uint64 `protobuf:"varint,4,rep,packed,name=heights,proto3" json:"heights,omitempty"` 1301 } 1302 1303 func (x *GetAcceptedStateSummary) Reset() { 1304 *x = GetAcceptedStateSummary{} 1305 if protoimpl.UnsafeEnabled { 1306 mi := &file_p2p_p2p_proto_msgTypes[12] 1307 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1308 ms.StoreMessageInfo(mi) 1309 } 1310 } 1311 1312 func (x *GetAcceptedStateSummary) String() string { 1313 return protoimpl.X.MessageStringOf(x) 1314 } 1315 1316 func (*GetAcceptedStateSummary) ProtoMessage() {} 1317 1318 func (x *GetAcceptedStateSummary) ProtoReflect() protoreflect.Message { 1319 mi := &file_p2p_p2p_proto_msgTypes[12] 1320 if protoimpl.UnsafeEnabled && x != nil { 1321 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1322 if ms.LoadMessageInfo() == nil { 1323 ms.StoreMessageInfo(mi) 1324 } 1325 return ms 1326 } 1327 return mi.MessageOf(x) 1328 } 1329 1330 // Deprecated: Use GetAcceptedStateSummary.ProtoReflect.Descriptor instead. 1331 func (*GetAcceptedStateSummary) Descriptor() ([]byte, []int) { 1332 return file_p2p_p2p_proto_rawDescGZIP(), []int{12} 1333 } 1334 1335 func (x *GetAcceptedStateSummary) GetChainId() []byte { 1336 if x != nil { 1337 return x.ChainId 1338 } 1339 return nil 1340 } 1341 1342 func (x *GetAcceptedStateSummary) GetRequestId() uint32 { 1343 if x != nil { 1344 return x.RequestId 1345 } 1346 return 0 1347 } 1348 1349 func (x *GetAcceptedStateSummary) GetDeadline() uint64 { 1350 if x != nil { 1351 return x.Deadline 1352 } 1353 return 0 1354 } 1355 1356 func (x *GetAcceptedStateSummary) GetHeights() []uint64 { 1357 if x != nil { 1358 return x.Heights 1359 } 1360 return nil 1361 } 1362 1363 // AcceptedStateSummary is sent in response to GetAcceptedStateSummary 1364 type AcceptedStateSummary struct { 1365 state protoimpl.MessageState 1366 sizeCache protoimpl.SizeCache 1367 unknownFields protoimpl.UnknownFields 1368 1369 // Chain being responded from 1370 ChainId []byte `protobuf:"bytes,1,opt,name=chain_id,json=chainId,proto3" json:"chain_id,omitempty"` 1371 // Request id of the original GetAcceptedStateSummary request 1372 RequestId uint32 `protobuf:"varint,2,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` 1373 // State summary ids 1374 SummaryIds [][]byte `protobuf:"bytes,3,rep,name=summary_ids,json=summaryIds,proto3" json:"summary_ids,omitempty"` 1375 } 1376 1377 func (x *AcceptedStateSummary) Reset() { 1378 *x = AcceptedStateSummary{} 1379 if protoimpl.UnsafeEnabled { 1380 mi := &file_p2p_p2p_proto_msgTypes[13] 1381 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1382 ms.StoreMessageInfo(mi) 1383 } 1384 } 1385 1386 func (x *AcceptedStateSummary) String() string { 1387 return protoimpl.X.MessageStringOf(x) 1388 } 1389 1390 func (*AcceptedStateSummary) ProtoMessage() {} 1391 1392 func (x *AcceptedStateSummary) ProtoReflect() protoreflect.Message { 1393 mi := &file_p2p_p2p_proto_msgTypes[13] 1394 if protoimpl.UnsafeEnabled && x != nil { 1395 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1396 if ms.LoadMessageInfo() == nil { 1397 ms.StoreMessageInfo(mi) 1398 } 1399 return ms 1400 } 1401 return mi.MessageOf(x) 1402 } 1403 1404 // Deprecated: Use AcceptedStateSummary.ProtoReflect.Descriptor instead. 1405 func (*AcceptedStateSummary) Descriptor() ([]byte, []int) { 1406 return file_p2p_p2p_proto_rawDescGZIP(), []int{13} 1407 } 1408 1409 func (x *AcceptedStateSummary) GetChainId() []byte { 1410 if x != nil { 1411 return x.ChainId 1412 } 1413 return nil 1414 } 1415 1416 func (x *AcceptedStateSummary) GetRequestId() uint32 { 1417 if x != nil { 1418 return x.RequestId 1419 } 1420 return 0 1421 } 1422 1423 func (x *AcceptedStateSummary) GetSummaryIds() [][]byte { 1424 if x != nil { 1425 return x.SummaryIds 1426 } 1427 return nil 1428 } 1429 1430 // GetAcceptedFrontier requests the accepted frontier from a peer. 1431 // 1432 // Peers should respond to GetAcceptedFrontier with AcceptedFrontier. 1433 type GetAcceptedFrontier struct { 1434 state protoimpl.MessageState 1435 sizeCache protoimpl.SizeCache 1436 unknownFields protoimpl.UnknownFields 1437 1438 // Chain being requested from 1439 ChainId []byte `protobuf:"bytes,1,opt,name=chain_id,json=chainId,proto3" json:"chain_id,omitempty"` 1440 // Unique identifier for this request 1441 RequestId uint32 `protobuf:"varint,2,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` 1442 // Timeout (ns) for this request 1443 Deadline uint64 `protobuf:"varint,3,opt,name=deadline,proto3" json:"deadline,omitempty"` 1444 } 1445 1446 func (x *GetAcceptedFrontier) Reset() { 1447 *x = GetAcceptedFrontier{} 1448 if protoimpl.UnsafeEnabled { 1449 mi := &file_p2p_p2p_proto_msgTypes[14] 1450 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1451 ms.StoreMessageInfo(mi) 1452 } 1453 } 1454 1455 func (x *GetAcceptedFrontier) String() string { 1456 return protoimpl.X.MessageStringOf(x) 1457 } 1458 1459 func (*GetAcceptedFrontier) ProtoMessage() {} 1460 1461 func (x *GetAcceptedFrontier) ProtoReflect() protoreflect.Message { 1462 mi := &file_p2p_p2p_proto_msgTypes[14] 1463 if protoimpl.UnsafeEnabled && x != nil { 1464 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1465 if ms.LoadMessageInfo() == nil { 1466 ms.StoreMessageInfo(mi) 1467 } 1468 return ms 1469 } 1470 return mi.MessageOf(x) 1471 } 1472 1473 // Deprecated: Use GetAcceptedFrontier.ProtoReflect.Descriptor instead. 1474 func (*GetAcceptedFrontier) Descriptor() ([]byte, []int) { 1475 return file_p2p_p2p_proto_rawDescGZIP(), []int{14} 1476 } 1477 1478 func (x *GetAcceptedFrontier) GetChainId() []byte { 1479 if x != nil { 1480 return x.ChainId 1481 } 1482 return nil 1483 } 1484 1485 func (x *GetAcceptedFrontier) GetRequestId() uint32 { 1486 if x != nil { 1487 return x.RequestId 1488 } 1489 return 0 1490 } 1491 1492 func (x *GetAcceptedFrontier) GetDeadline() uint64 { 1493 if x != nil { 1494 return x.Deadline 1495 } 1496 return 0 1497 } 1498 1499 // AcceptedFrontier contains the remote peer's last accepted frontier. 1500 // 1501 // AcceptedFrontier is sent in response to GetAcceptedFrontier. 1502 type AcceptedFrontier struct { 1503 state protoimpl.MessageState 1504 sizeCache protoimpl.SizeCache 1505 unknownFields protoimpl.UnknownFields 1506 1507 // Chain being responded from 1508 ChainId []byte `protobuf:"bytes,1,opt,name=chain_id,json=chainId,proto3" json:"chain_id,omitempty"` 1509 // Request id of the original GetAcceptedFrontier request 1510 RequestId uint32 `protobuf:"varint,2,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` 1511 // The id of the last accepted frontier 1512 ContainerId []byte `protobuf:"bytes,3,opt,name=container_id,json=containerId,proto3" json:"container_id,omitempty"` 1513 } 1514 1515 func (x *AcceptedFrontier) Reset() { 1516 *x = AcceptedFrontier{} 1517 if protoimpl.UnsafeEnabled { 1518 mi := &file_p2p_p2p_proto_msgTypes[15] 1519 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1520 ms.StoreMessageInfo(mi) 1521 } 1522 } 1523 1524 func (x *AcceptedFrontier) String() string { 1525 return protoimpl.X.MessageStringOf(x) 1526 } 1527 1528 func (*AcceptedFrontier) ProtoMessage() {} 1529 1530 func (x *AcceptedFrontier) ProtoReflect() protoreflect.Message { 1531 mi := &file_p2p_p2p_proto_msgTypes[15] 1532 if protoimpl.UnsafeEnabled && x != nil { 1533 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1534 if ms.LoadMessageInfo() == nil { 1535 ms.StoreMessageInfo(mi) 1536 } 1537 return ms 1538 } 1539 return mi.MessageOf(x) 1540 } 1541 1542 // Deprecated: Use AcceptedFrontier.ProtoReflect.Descriptor instead. 1543 func (*AcceptedFrontier) Descriptor() ([]byte, []int) { 1544 return file_p2p_p2p_proto_rawDescGZIP(), []int{15} 1545 } 1546 1547 func (x *AcceptedFrontier) GetChainId() []byte { 1548 if x != nil { 1549 return x.ChainId 1550 } 1551 return nil 1552 } 1553 1554 func (x *AcceptedFrontier) GetRequestId() uint32 { 1555 if x != nil { 1556 return x.RequestId 1557 } 1558 return 0 1559 } 1560 1561 func (x *AcceptedFrontier) GetContainerId() []byte { 1562 if x != nil { 1563 return x.ContainerId 1564 } 1565 return nil 1566 } 1567 1568 // GetAccepted sends a request with the sender's accepted frontier to a remote 1569 // peer. 1570 // 1571 // Peers should respond to GetAccepted with an Accepted message. 1572 type GetAccepted struct { 1573 state protoimpl.MessageState 1574 sizeCache protoimpl.SizeCache 1575 unknownFields protoimpl.UnknownFields 1576 1577 // Chain being requested from 1578 ChainId []byte `protobuf:"bytes,1,opt,name=chain_id,json=chainId,proto3" json:"chain_id,omitempty"` 1579 // Unique identifier for this message 1580 RequestId uint32 `protobuf:"varint,2,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` 1581 // Timeout (ns) for this request 1582 Deadline uint64 `protobuf:"varint,3,opt,name=deadline,proto3" json:"deadline,omitempty"` 1583 // The sender's accepted frontier 1584 ContainerIds [][]byte `protobuf:"bytes,4,rep,name=container_ids,json=containerIds,proto3" json:"container_ids,omitempty"` 1585 } 1586 1587 func (x *GetAccepted) Reset() { 1588 *x = GetAccepted{} 1589 if protoimpl.UnsafeEnabled { 1590 mi := &file_p2p_p2p_proto_msgTypes[16] 1591 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1592 ms.StoreMessageInfo(mi) 1593 } 1594 } 1595 1596 func (x *GetAccepted) String() string { 1597 return protoimpl.X.MessageStringOf(x) 1598 } 1599 1600 func (*GetAccepted) ProtoMessage() {} 1601 1602 func (x *GetAccepted) ProtoReflect() protoreflect.Message { 1603 mi := &file_p2p_p2p_proto_msgTypes[16] 1604 if protoimpl.UnsafeEnabled && x != nil { 1605 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1606 if ms.LoadMessageInfo() == nil { 1607 ms.StoreMessageInfo(mi) 1608 } 1609 return ms 1610 } 1611 return mi.MessageOf(x) 1612 } 1613 1614 // Deprecated: Use GetAccepted.ProtoReflect.Descriptor instead. 1615 func (*GetAccepted) Descriptor() ([]byte, []int) { 1616 return file_p2p_p2p_proto_rawDescGZIP(), []int{16} 1617 } 1618 1619 func (x *GetAccepted) GetChainId() []byte { 1620 if x != nil { 1621 return x.ChainId 1622 } 1623 return nil 1624 } 1625 1626 func (x *GetAccepted) GetRequestId() uint32 { 1627 if x != nil { 1628 return x.RequestId 1629 } 1630 return 0 1631 } 1632 1633 func (x *GetAccepted) GetDeadline() uint64 { 1634 if x != nil { 1635 return x.Deadline 1636 } 1637 return 0 1638 } 1639 1640 func (x *GetAccepted) GetContainerIds() [][]byte { 1641 if x != nil { 1642 return x.ContainerIds 1643 } 1644 return nil 1645 } 1646 1647 // Accepted is sent in response to GetAccepted. The sending peer responds with 1648 // a subset of container ids from the GetAccepted request that the sending peer 1649 // has accepted. 1650 type Accepted struct { 1651 state protoimpl.MessageState 1652 sizeCache protoimpl.SizeCache 1653 unknownFields protoimpl.UnknownFields 1654 1655 // Chain being responded from 1656 ChainId []byte `protobuf:"bytes,1,opt,name=chain_id,json=chainId,proto3" json:"chain_id,omitempty"` 1657 // Request id of the original GetAccepted request 1658 RequestId uint32 `protobuf:"varint,2,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` 1659 // Subset of container ids from the GetAccepted request that the sender has 1660 // accepted 1661 ContainerIds [][]byte `protobuf:"bytes,3,rep,name=container_ids,json=containerIds,proto3" json:"container_ids,omitempty"` 1662 } 1663 1664 func (x *Accepted) Reset() { 1665 *x = Accepted{} 1666 if protoimpl.UnsafeEnabled { 1667 mi := &file_p2p_p2p_proto_msgTypes[17] 1668 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1669 ms.StoreMessageInfo(mi) 1670 } 1671 } 1672 1673 func (x *Accepted) String() string { 1674 return protoimpl.X.MessageStringOf(x) 1675 } 1676 1677 func (*Accepted) ProtoMessage() {} 1678 1679 func (x *Accepted) ProtoReflect() protoreflect.Message { 1680 mi := &file_p2p_p2p_proto_msgTypes[17] 1681 if protoimpl.UnsafeEnabled && x != nil { 1682 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1683 if ms.LoadMessageInfo() == nil { 1684 ms.StoreMessageInfo(mi) 1685 } 1686 return ms 1687 } 1688 return mi.MessageOf(x) 1689 } 1690 1691 // Deprecated: Use Accepted.ProtoReflect.Descriptor instead. 1692 func (*Accepted) Descriptor() ([]byte, []int) { 1693 return file_p2p_p2p_proto_rawDescGZIP(), []int{17} 1694 } 1695 1696 func (x *Accepted) GetChainId() []byte { 1697 if x != nil { 1698 return x.ChainId 1699 } 1700 return nil 1701 } 1702 1703 func (x *Accepted) GetRequestId() uint32 { 1704 if x != nil { 1705 return x.RequestId 1706 } 1707 return 0 1708 } 1709 1710 func (x *Accepted) GetContainerIds() [][]byte { 1711 if x != nil { 1712 return x.ContainerIds 1713 } 1714 return nil 1715 } 1716 1717 // GetAncestors requests the ancestors for a given container. 1718 // 1719 // The remote peer should respond with an Ancestors message. 1720 type GetAncestors struct { 1721 state protoimpl.MessageState 1722 sizeCache protoimpl.SizeCache 1723 unknownFields protoimpl.UnknownFields 1724 1725 // Chain being requested from 1726 ChainId []byte `protobuf:"bytes,1,opt,name=chain_id,json=chainId,proto3" json:"chain_id,omitempty"` 1727 // Unique identifier for this request 1728 RequestId uint32 `protobuf:"varint,2,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` 1729 // Timeout (ns) for this request 1730 Deadline uint64 `protobuf:"varint,3,opt,name=deadline,proto3" json:"deadline,omitempty"` 1731 // Container for which ancestors are being requested 1732 ContainerId []byte `protobuf:"bytes,4,opt,name=container_id,json=containerId,proto3" json:"container_id,omitempty"` 1733 // Consensus type to handle this message 1734 EngineType EngineType `protobuf:"varint,5,opt,name=engine_type,json=engineType,proto3,enum=p2p.EngineType" json:"engine_type,omitempty"` 1735 } 1736 1737 func (x *GetAncestors) Reset() { 1738 *x = GetAncestors{} 1739 if protoimpl.UnsafeEnabled { 1740 mi := &file_p2p_p2p_proto_msgTypes[18] 1741 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1742 ms.StoreMessageInfo(mi) 1743 } 1744 } 1745 1746 func (x *GetAncestors) String() string { 1747 return protoimpl.X.MessageStringOf(x) 1748 } 1749 1750 func (*GetAncestors) ProtoMessage() {} 1751 1752 func (x *GetAncestors) ProtoReflect() protoreflect.Message { 1753 mi := &file_p2p_p2p_proto_msgTypes[18] 1754 if protoimpl.UnsafeEnabled && x != nil { 1755 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1756 if ms.LoadMessageInfo() == nil { 1757 ms.StoreMessageInfo(mi) 1758 } 1759 return ms 1760 } 1761 return mi.MessageOf(x) 1762 } 1763 1764 // Deprecated: Use GetAncestors.ProtoReflect.Descriptor instead. 1765 func (*GetAncestors) Descriptor() ([]byte, []int) { 1766 return file_p2p_p2p_proto_rawDescGZIP(), []int{18} 1767 } 1768 1769 func (x *GetAncestors) GetChainId() []byte { 1770 if x != nil { 1771 return x.ChainId 1772 } 1773 return nil 1774 } 1775 1776 func (x *GetAncestors) GetRequestId() uint32 { 1777 if x != nil { 1778 return x.RequestId 1779 } 1780 return 0 1781 } 1782 1783 func (x *GetAncestors) GetDeadline() uint64 { 1784 if x != nil { 1785 return x.Deadline 1786 } 1787 return 0 1788 } 1789 1790 func (x *GetAncestors) GetContainerId() []byte { 1791 if x != nil { 1792 return x.ContainerId 1793 } 1794 return nil 1795 } 1796 1797 func (x *GetAncestors) GetEngineType() EngineType { 1798 if x != nil { 1799 return x.EngineType 1800 } 1801 return EngineType_ENGINE_TYPE_UNSPECIFIED 1802 } 1803 1804 // Ancestors is sent in response to GetAncestors. 1805 // 1806 // Ancestors contains a contiguous ancestry of containers for the requested 1807 // container in order of increasing block height. 1808 type Ancestors struct { 1809 state protoimpl.MessageState 1810 sizeCache protoimpl.SizeCache 1811 unknownFields protoimpl.UnknownFields 1812 1813 // Chain being responded from 1814 ChainId []byte `protobuf:"bytes,1,opt,name=chain_id,json=chainId,proto3" json:"chain_id,omitempty"` 1815 // Request id of the original GetAncestors request 1816 RequestId uint32 `protobuf:"varint,2,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` 1817 // Ancestry for the requested container 1818 Containers [][]byte `protobuf:"bytes,3,rep,name=containers,proto3" json:"containers,omitempty"` 1819 } 1820 1821 func (x *Ancestors) Reset() { 1822 *x = Ancestors{} 1823 if protoimpl.UnsafeEnabled { 1824 mi := &file_p2p_p2p_proto_msgTypes[19] 1825 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1826 ms.StoreMessageInfo(mi) 1827 } 1828 } 1829 1830 func (x *Ancestors) String() string { 1831 return protoimpl.X.MessageStringOf(x) 1832 } 1833 1834 func (*Ancestors) ProtoMessage() {} 1835 1836 func (x *Ancestors) ProtoReflect() protoreflect.Message { 1837 mi := &file_p2p_p2p_proto_msgTypes[19] 1838 if protoimpl.UnsafeEnabled && x != nil { 1839 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1840 if ms.LoadMessageInfo() == nil { 1841 ms.StoreMessageInfo(mi) 1842 } 1843 return ms 1844 } 1845 return mi.MessageOf(x) 1846 } 1847 1848 // Deprecated: Use Ancestors.ProtoReflect.Descriptor instead. 1849 func (*Ancestors) Descriptor() ([]byte, []int) { 1850 return file_p2p_p2p_proto_rawDescGZIP(), []int{19} 1851 } 1852 1853 func (x *Ancestors) GetChainId() []byte { 1854 if x != nil { 1855 return x.ChainId 1856 } 1857 return nil 1858 } 1859 1860 func (x *Ancestors) GetRequestId() uint32 { 1861 if x != nil { 1862 return x.RequestId 1863 } 1864 return 0 1865 } 1866 1867 func (x *Ancestors) GetContainers() [][]byte { 1868 if x != nil { 1869 return x.Containers 1870 } 1871 return nil 1872 } 1873 1874 // Get requests a container from a remote peer. 1875 // 1876 // Remote peers should respond with a Put message if they have the container. 1877 type Get struct { 1878 state protoimpl.MessageState 1879 sizeCache protoimpl.SizeCache 1880 unknownFields protoimpl.UnknownFields 1881 1882 // Chain being requested from 1883 ChainId []byte `protobuf:"bytes,1,opt,name=chain_id,json=chainId,proto3" json:"chain_id,omitempty"` 1884 // Unique identifier for this request 1885 RequestId uint32 `protobuf:"varint,2,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` 1886 // Timeout (ns) for this request 1887 Deadline uint64 `protobuf:"varint,3,opt,name=deadline,proto3" json:"deadline,omitempty"` 1888 // Container being requested 1889 ContainerId []byte `protobuf:"bytes,4,opt,name=container_id,json=containerId,proto3" json:"container_id,omitempty"` 1890 } 1891 1892 func (x *Get) Reset() { 1893 *x = Get{} 1894 if protoimpl.UnsafeEnabled { 1895 mi := &file_p2p_p2p_proto_msgTypes[20] 1896 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1897 ms.StoreMessageInfo(mi) 1898 } 1899 } 1900 1901 func (x *Get) String() string { 1902 return protoimpl.X.MessageStringOf(x) 1903 } 1904 1905 func (*Get) ProtoMessage() {} 1906 1907 func (x *Get) ProtoReflect() protoreflect.Message { 1908 mi := &file_p2p_p2p_proto_msgTypes[20] 1909 if protoimpl.UnsafeEnabled && x != nil { 1910 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1911 if ms.LoadMessageInfo() == nil { 1912 ms.StoreMessageInfo(mi) 1913 } 1914 return ms 1915 } 1916 return mi.MessageOf(x) 1917 } 1918 1919 // Deprecated: Use Get.ProtoReflect.Descriptor instead. 1920 func (*Get) Descriptor() ([]byte, []int) { 1921 return file_p2p_p2p_proto_rawDescGZIP(), []int{20} 1922 } 1923 1924 func (x *Get) GetChainId() []byte { 1925 if x != nil { 1926 return x.ChainId 1927 } 1928 return nil 1929 } 1930 1931 func (x *Get) GetRequestId() uint32 { 1932 if x != nil { 1933 return x.RequestId 1934 } 1935 return 0 1936 } 1937 1938 func (x *Get) GetDeadline() uint64 { 1939 if x != nil { 1940 return x.Deadline 1941 } 1942 return 0 1943 } 1944 1945 func (x *Get) GetContainerId() []byte { 1946 if x != nil { 1947 return x.ContainerId 1948 } 1949 return nil 1950 } 1951 1952 // Put is sent in response to Get with the requested block. 1953 type Put struct { 1954 state protoimpl.MessageState 1955 sizeCache protoimpl.SizeCache 1956 unknownFields protoimpl.UnknownFields 1957 1958 // Chain being responded from 1959 ChainId []byte `protobuf:"bytes,1,opt,name=chain_id,json=chainId,proto3" json:"chain_id,omitempty"` 1960 // Request id of the original Get request 1961 RequestId uint32 `protobuf:"varint,2,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` 1962 // Requested container 1963 Container []byte `protobuf:"bytes,3,opt,name=container,proto3" json:"container,omitempty"` 1964 } 1965 1966 func (x *Put) Reset() { 1967 *x = Put{} 1968 if protoimpl.UnsafeEnabled { 1969 mi := &file_p2p_p2p_proto_msgTypes[21] 1970 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1971 ms.StoreMessageInfo(mi) 1972 } 1973 } 1974 1975 func (x *Put) String() string { 1976 return protoimpl.X.MessageStringOf(x) 1977 } 1978 1979 func (*Put) ProtoMessage() {} 1980 1981 func (x *Put) ProtoReflect() protoreflect.Message { 1982 mi := &file_p2p_p2p_proto_msgTypes[21] 1983 if protoimpl.UnsafeEnabled && x != nil { 1984 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1985 if ms.LoadMessageInfo() == nil { 1986 ms.StoreMessageInfo(mi) 1987 } 1988 return ms 1989 } 1990 return mi.MessageOf(x) 1991 } 1992 1993 // Deprecated: Use Put.ProtoReflect.Descriptor instead. 1994 func (*Put) Descriptor() ([]byte, []int) { 1995 return file_p2p_p2p_proto_rawDescGZIP(), []int{21} 1996 } 1997 1998 func (x *Put) GetChainId() []byte { 1999 if x != nil { 2000 return x.ChainId 2001 } 2002 return nil 2003 } 2004 2005 func (x *Put) GetRequestId() uint32 { 2006 if x != nil { 2007 return x.RequestId 2008 } 2009 return 0 2010 } 2011 2012 func (x *Put) GetContainer() []byte { 2013 if x != nil { 2014 return x.Container 2015 } 2016 return nil 2017 } 2018 2019 // PushQuery requests the preferences of a remote peer given a container. 2020 // 2021 // Remote peers should respond to a PushQuery with a Chits message 2022 type PushQuery struct { 2023 state protoimpl.MessageState 2024 sizeCache protoimpl.SizeCache 2025 unknownFields protoimpl.UnknownFields 2026 2027 // Chain being requested from 2028 ChainId []byte `protobuf:"bytes,1,opt,name=chain_id,json=chainId,proto3" json:"chain_id,omitempty"` 2029 // Unique identifier for this request 2030 RequestId uint32 `protobuf:"varint,2,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` 2031 // Timeout (ns) for this request 2032 Deadline uint64 `protobuf:"varint,3,opt,name=deadline,proto3" json:"deadline,omitempty"` 2033 // Container being gossiped 2034 Container []byte `protobuf:"bytes,4,opt,name=container,proto3" json:"container,omitempty"` 2035 // Requesting peer's last accepted height 2036 RequestedHeight uint64 `protobuf:"varint,6,opt,name=requested_height,json=requestedHeight,proto3" json:"requested_height,omitempty"` 2037 } 2038 2039 func (x *PushQuery) Reset() { 2040 *x = PushQuery{} 2041 if protoimpl.UnsafeEnabled { 2042 mi := &file_p2p_p2p_proto_msgTypes[22] 2043 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2044 ms.StoreMessageInfo(mi) 2045 } 2046 } 2047 2048 func (x *PushQuery) String() string { 2049 return protoimpl.X.MessageStringOf(x) 2050 } 2051 2052 func (*PushQuery) ProtoMessage() {} 2053 2054 func (x *PushQuery) ProtoReflect() protoreflect.Message { 2055 mi := &file_p2p_p2p_proto_msgTypes[22] 2056 if protoimpl.UnsafeEnabled && x != nil { 2057 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2058 if ms.LoadMessageInfo() == nil { 2059 ms.StoreMessageInfo(mi) 2060 } 2061 return ms 2062 } 2063 return mi.MessageOf(x) 2064 } 2065 2066 // Deprecated: Use PushQuery.ProtoReflect.Descriptor instead. 2067 func (*PushQuery) Descriptor() ([]byte, []int) { 2068 return file_p2p_p2p_proto_rawDescGZIP(), []int{22} 2069 } 2070 2071 func (x *PushQuery) GetChainId() []byte { 2072 if x != nil { 2073 return x.ChainId 2074 } 2075 return nil 2076 } 2077 2078 func (x *PushQuery) GetRequestId() uint32 { 2079 if x != nil { 2080 return x.RequestId 2081 } 2082 return 0 2083 } 2084 2085 func (x *PushQuery) GetDeadline() uint64 { 2086 if x != nil { 2087 return x.Deadline 2088 } 2089 return 0 2090 } 2091 2092 func (x *PushQuery) GetContainer() []byte { 2093 if x != nil { 2094 return x.Container 2095 } 2096 return nil 2097 } 2098 2099 func (x *PushQuery) GetRequestedHeight() uint64 { 2100 if x != nil { 2101 return x.RequestedHeight 2102 } 2103 return 0 2104 } 2105 2106 // PullQuery requests the preferences of a remote peer given a container id. 2107 // 2108 // Remote peers should respond to a PullQuery with a Chits message 2109 type PullQuery struct { 2110 state protoimpl.MessageState 2111 sizeCache protoimpl.SizeCache 2112 unknownFields protoimpl.UnknownFields 2113 2114 // Chain being requested from 2115 ChainId []byte `protobuf:"bytes,1,opt,name=chain_id,json=chainId,proto3" json:"chain_id,omitempty"` 2116 // Unique identifier for this request 2117 RequestId uint32 `protobuf:"varint,2,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` 2118 // Timeout (ns) for this request 2119 Deadline uint64 `protobuf:"varint,3,opt,name=deadline,proto3" json:"deadline,omitempty"` 2120 // Container id being gossiped 2121 ContainerId []byte `protobuf:"bytes,4,opt,name=container_id,json=containerId,proto3" json:"container_id,omitempty"` 2122 // Requesting peer's last accepted height 2123 RequestedHeight uint64 `protobuf:"varint,6,opt,name=requested_height,json=requestedHeight,proto3" json:"requested_height,omitempty"` 2124 } 2125 2126 func (x *PullQuery) Reset() { 2127 *x = PullQuery{} 2128 if protoimpl.UnsafeEnabled { 2129 mi := &file_p2p_p2p_proto_msgTypes[23] 2130 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2131 ms.StoreMessageInfo(mi) 2132 } 2133 } 2134 2135 func (x *PullQuery) String() string { 2136 return protoimpl.X.MessageStringOf(x) 2137 } 2138 2139 func (*PullQuery) ProtoMessage() {} 2140 2141 func (x *PullQuery) ProtoReflect() protoreflect.Message { 2142 mi := &file_p2p_p2p_proto_msgTypes[23] 2143 if protoimpl.UnsafeEnabled && x != nil { 2144 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2145 if ms.LoadMessageInfo() == nil { 2146 ms.StoreMessageInfo(mi) 2147 } 2148 return ms 2149 } 2150 return mi.MessageOf(x) 2151 } 2152 2153 // Deprecated: Use PullQuery.ProtoReflect.Descriptor instead. 2154 func (*PullQuery) Descriptor() ([]byte, []int) { 2155 return file_p2p_p2p_proto_rawDescGZIP(), []int{23} 2156 } 2157 2158 func (x *PullQuery) GetChainId() []byte { 2159 if x != nil { 2160 return x.ChainId 2161 } 2162 return nil 2163 } 2164 2165 func (x *PullQuery) GetRequestId() uint32 { 2166 if x != nil { 2167 return x.RequestId 2168 } 2169 return 0 2170 } 2171 2172 func (x *PullQuery) GetDeadline() uint64 { 2173 if x != nil { 2174 return x.Deadline 2175 } 2176 return 0 2177 } 2178 2179 func (x *PullQuery) GetContainerId() []byte { 2180 if x != nil { 2181 return x.ContainerId 2182 } 2183 return nil 2184 } 2185 2186 func (x *PullQuery) GetRequestedHeight() uint64 { 2187 if x != nil { 2188 return x.RequestedHeight 2189 } 2190 return 0 2191 } 2192 2193 // Chits contains the preferences of a peer in response to a PushQuery or 2194 // PullQuery message. 2195 type Chits struct { 2196 state protoimpl.MessageState 2197 sizeCache protoimpl.SizeCache 2198 unknownFields protoimpl.UnknownFields 2199 2200 // Chain being responded from 2201 ChainId []byte `protobuf:"bytes,1,opt,name=chain_id,json=chainId,proto3" json:"chain_id,omitempty"` 2202 // Request id of the original PushQuery/PullQuery request 2203 RequestId uint32 `protobuf:"varint,2,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` 2204 // Currently preferred block 2205 PreferredId []byte `protobuf:"bytes,3,opt,name=preferred_id,json=preferredId,proto3" json:"preferred_id,omitempty"` 2206 // Last accepted block 2207 AcceptedId []byte `protobuf:"bytes,4,opt,name=accepted_id,json=acceptedId,proto3" json:"accepted_id,omitempty"` 2208 // Currently preferred block at the requested height 2209 PreferredIdAtHeight []byte `protobuf:"bytes,5,opt,name=preferred_id_at_height,json=preferredIdAtHeight,proto3" json:"preferred_id_at_height,omitempty"` 2210 } 2211 2212 func (x *Chits) Reset() { 2213 *x = Chits{} 2214 if protoimpl.UnsafeEnabled { 2215 mi := &file_p2p_p2p_proto_msgTypes[24] 2216 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2217 ms.StoreMessageInfo(mi) 2218 } 2219 } 2220 2221 func (x *Chits) String() string { 2222 return protoimpl.X.MessageStringOf(x) 2223 } 2224 2225 func (*Chits) ProtoMessage() {} 2226 2227 func (x *Chits) ProtoReflect() protoreflect.Message { 2228 mi := &file_p2p_p2p_proto_msgTypes[24] 2229 if protoimpl.UnsafeEnabled && x != nil { 2230 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2231 if ms.LoadMessageInfo() == nil { 2232 ms.StoreMessageInfo(mi) 2233 } 2234 return ms 2235 } 2236 return mi.MessageOf(x) 2237 } 2238 2239 // Deprecated: Use Chits.ProtoReflect.Descriptor instead. 2240 func (*Chits) Descriptor() ([]byte, []int) { 2241 return file_p2p_p2p_proto_rawDescGZIP(), []int{24} 2242 } 2243 2244 func (x *Chits) GetChainId() []byte { 2245 if x != nil { 2246 return x.ChainId 2247 } 2248 return nil 2249 } 2250 2251 func (x *Chits) GetRequestId() uint32 { 2252 if x != nil { 2253 return x.RequestId 2254 } 2255 return 0 2256 } 2257 2258 func (x *Chits) GetPreferredId() []byte { 2259 if x != nil { 2260 return x.PreferredId 2261 } 2262 return nil 2263 } 2264 2265 func (x *Chits) GetAcceptedId() []byte { 2266 if x != nil { 2267 return x.AcceptedId 2268 } 2269 return nil 2270 } 2271 2272 func (x *Chits) GetPreferredIdAtHeight() []byte { 2273 if x != nil { 2274 return x.PreferredIdAtHeight 2275 } 2276 return nil 2277 } 2278 2279 // AppRequest is a VM-defined request. 2280 // 2281 // Remote peers must respond to AppRequest with a corresponding AppResponse or 2282 // AppError 2283 type AppRequest struct { 2284 state protoimpl.MessageState 2285 sizeCache protoimpl.SizeCache 2286 unknownFields protoimpl.UnknownFields 2287 2288 // Chain being requested from 2289 ChainId []byte `protobuf:"bytes,1,opt,name=chain_id,json=chainId,proto3" json:"chain_id,omitempty"` 2290 // Unique identifier for this request 2291 RequestId uint32 `protobuf:"varint,2,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` 2292 // Timeout (ns) for this request 2293 Deadline uint64 `protobuf:"varint,3,opt,name=deadline,proto3" json:"deadline,omitempty"` 2294 // Request body 2295 AppBytes []byte `protobuf:"bytes,4,opt,name=app_bytes,json=appBytes,proto3" json:"app_bytes,omitempty"` 2296 } 2297 2298 func (x *AppRequest) Reset() { 2299 *x = AppRequest{} 2300 if protoimpl.UnsafeEnabled { 2301 mi := &file_p2p_p2p_proto_msgTypes[25] 2302 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2303 ms.StoreMessageInfo(mi) 2304 } 2305 } 2306 2307 func (x *AppRequest) String() string { 2308 return protoimpl.X.MessageStringOf(x) 2309 } 2310 2311 func (*AppRequest) ProtoMessage() {} 2312 2313 func (x *AppRequest) ProtoReflect() protoreflect.Message { 2314 mi := &file_p2p_p2p_proto_msgTypes[25] 2315 if protoimpl.UnsafeEnabled && x != nil { 2316 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2317 if ms.LoadMessageInfo() == nil { 2318 ms.StoreMessageInfo(mi) 2319 } 2320 return ms 2321 } 2322 return mi.MessageOf(x) 2323 } 2324 2325 // Deprecated: Use AppRequest.ProtoReflect.Descriptor instead. 2326 func (*AppRequest) Descriptor() ([]byte, []int) { 2327 return file_p2p_p2p_proto_rawDescGZIP(), []int{25} 2328 } 2329 2330 func (x *AppRequest) GetChainId() []byte { 2331 if x != nil { 2332 return x.ChainId 2333 } 2334 return nil 2335 } 2336 2337 func (x *AppRequest) GetRequestId() uint32 { 2338 if x != nil { 2339 return x.RequestId 2340 } 2341 return 0 2342 } 2343 2344 func (x *AppRequest) GetDeadline() uint64 { 2345 if x != nil { 2346 return x.Deadline 2347 } 2348 return 0 2349 } 2350 2351 func (x *AppRequest) GetAppBytes() []byte { 2352 if x != nil { 2353 return x.AppBytes 2354 } 2355 return nil 2356 } 2357 2358 // AppResponse is a VM-defined response sent in response to AppRequest 2359 type AppResponse struct { 2360 state protoimpl.MessageState 2361 sizeCache protoimpl.SizeCache 2362 unknownFields protoimpl.UnknownFields 2363 2364 // Chain being responded from 2365 ChainId []byte `protobuf:"bytes,1,opt,name=chain_id,json=chainId,proto3" json:"chain_id,omitempty"` 2366 // Request id of the original AppRequest 2367 RequestId uint32 `protobuf:"varint,2,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` 2368 // Response body 2369 AppBytes []byte `protobuf:"bytes,3,opt,name=app_bytes,json=appBytes,proto3" json:"app_bytes,omitempty"` 2370 } 2371 2372 func (x *AppResponse) Reset() { 2373 *x = AppResponse{} 2374 if protoimpl.UnsafeEnabled { 2375 mi := &file_p2p_p2p_proto_msgTypes[26] 2376 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2377 ms.StoreMessageInfo(mi) 2378 } 2379 } 2380 2381 func (x *AppResponse) String() string { 2382 return protoimpl.X.MessageStringOf(x) 2383 } 2384 2385 func (*AppResponse) ProtoMessage() {} 2386 2387 func (x *AppResponse) ProtoReflect() protoreflect.Message { 2388 mi := &file_p2p_p2p_proto_msgTypes[26] 2389 if protoimpl.UnsafeEnabled && x != nil { 2390 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2391 if ms.LoadMessageInfo() == nil { 2392 ms.StoreMessageInfo(mi) 2393 } 2394 return ms 2395 } 2396 return mi.MessageOf(x) 2397 } 2398 2399 // Deprecated: Use AppResponse.ProtoReflect.Descriptor instead. 2400 func (*AppResponse) Descriptor() ([]byte, []int) { 2401 return file_p2p_p2p_proto_rawDescGZIP(), []int{26} 2402 } 2403 2404 func (x *AppResponse) GetChainId() []byte { 2405 if x != nil { 2406 return x.ChainId 2407 } 2408 return nil 2409 } 2410 2411 func (x *AppResponse) GetRequestId() uint32 { 2412 if x != nil { 2413 return x.RequestId 2414 } 2415 return 0 2416 } 2417 2418 func (x *AppResponse) GetAppBytes() []byte { 2419 if x != nil { 2420 return x.AppBytes 2421 } 2422 return nil 2423 } 2424 2425 // AppError is a VM-defined error sent in response to AppRequest 2426 type AppError struct { 2427 state protoimpl.MessageState 2428 sizeCache protoimpl.SizeCache 2429 unknownFields protoimpl.UnknownFields 2430 2431 // Chain the message is for 2432 ChainId []byte `protobuf:"bytes,1,opt,name=chain_id,json=chainId,proto3" json:"chain_id,omitempty"` 2433 // Request id of the original AppRequest 2434 RequestId uint32 `protobuf:"varint,2,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` 2435 // VM defined error code. VMs may define error codes > 0. 2436 ErrorCode int32 `protobuf:"zigzag32,3,opt,name=error_code,json=errorCode,proto3" json:"error_code,omitempty"` 2437 // VM defined error message 2438 ErrorMessage string `protobuf:"bytes,4,opt,name=error_message,json=errorMessage,proto3" json:"error_message,omitempty"` 2439 } 2440 2441 func (x *AppError) Reset() { 2442 *x = AppError{} 2443 if protoimpl.UnsafeEnabled { 2444 mi := &file_p2p_p2p_proto_msgTypes[27] 2445 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2446 ms.StoreMessageInfo(mi) 2447 } 2448 } 2449 2450 func (x *AppError) String() string { 2451 return protoimpl.X.MessageStringOf(x) 2452 } 2453 2454 func (*AppError) ProtoMessage() {} 2455 2456 func (x *AppError) ProtoReflect() protoreflect.Message { 2457 mi := &file_p2p_p2p_proto_msgTypes[27] 2458 if protoimpl.UnsafeEnabled && x != nil { 2459 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2460 if ms.LoadMessageInfo() == nil { 2461 ms.StoreMessageInfo(mi) 2462 } 2463 return ms 2464 } 2465 return mi.MessageOf(x) 2466 } 2467 2468 // Deprecated: Use AppError.ProtoReflect.Descriptor instead. 2469 func (*AppError) Descriptor() ([]byte, []int) { 2470 return file_p2p_p2p_proto_rawDescGZIP(), []int{27} 2471 } 2472 2473 func (x *AppError) GetChainId() []byte { 2474 if x != nil { 2475 return x.ChainId 2476 } 2477 return nil 2478 } 2479 2480 func (x *AppError) GetRequestId() uint32 { 2481 if x != nil { 2482 return x.RequestId 2483 } 2484 return 0 2485 } 2486 2487 func (x *AppError) GetErrorCode() int32 { 2488 if x != nil { 2489 return x.ErrorCode 2490 } 2491 return 0 2492 } 2493 2494 func (x *AppError) GetErrorMessage() string { 2495 if x != nil { 2496 return x.ErrorMessage 2497 } 2498 return "" 2499 } 2500 2501 // AppGossip is a VM-defined message 2502 type AppGossip struct { 2503 state protoimpl.MessageState 2504 sizeCache protoimpl.SizeCache 2505 unknownFields protoimpl.UnknownFields 2506 2507 // Chain the message is for 2508 ChainId []byte `protobuf:"bytes,1,opt,name=chain_id,json=chainId,proto3" json:"chain_id,omitempty"` 2509 // Message body 2510 AppBytes []byte `protobuf:"bytes,2,opt,name=app_bytes,json=appBytes,proto3" json:"app_bytes,omitempty"` 2511 } 2512 2513 func (x *AppGossip) Reset() { 2514 *x = AppGossip{} 2515 if protoimpl.UnsafeEnabled { 2516 mi := &file_p2p_p2p_proto_msgTypes[28] 2517 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2518 ms.StoreMessageInfo(mi) 2519 } 2520 } 2521 2522 func (x *AppGossip) String() string { 2523 return protoimpl.X.MessageStringOf(x) 2524 } 2525 2526 func (*AppGossip) ProtoMessage() {} 2527 2528 func (x *AppGossip) ProtoReflect() protoreflect.Message { 2529 mi := &file_p2p_p2p_proto_msgTypes[28] 2530 if protoimpl.UnsafeEnabled && x != nil { 2531 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2532 if ms.LoadMessageInfo() == nil { 2533 ms.StoreMessageInfo(mi) 2534 } 2535 return ms 2536 } 2537 return mi.MessageOf(x) 2538 } 2539 2540 // Deprecated: Use AppGossip.ProtoReflect.Descriptor instead. 2541 func (*AppGossip) Descriptor() ([]byte, []int) { 2542 return file_p2p_p2p_proto_rawDescGZIP(), []int{28} 2543 } 2544 2545 func (x *AppGossip) GetChainId() []byte { 2546 if x != nil { 2547 return x.ChainId 2548 } 2549 return nil 2550 } 2551 2552 func (x *AppGossip) GetAppBytes() []byte { 2553 if x != nil { 2554 return x.AppBytes 2555 } 2556 return nil 2557 } 2558 2559 var File_p2p_p2p_proto protoreflect.FileDescriptor 2560 2561 var file_p2p_p2p_proto_rawDesc = []byte{ 2562 0x0a, 0x0d, 0x70, 0x32, 0x70, 0x2f, 0x70, 0x32, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 2563 0x03, 0x70, 0x32, 0x70, 0x22, 0xf3, 0x0a, 0x0a, 0x07, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 2564 0x12, 0x29, 0x0a, 0x0f, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x65, 0x64, 0x5f, 0x7a, 2565 0x73, 0x74, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x0e, 0x63, 0x6f, 0x6d, 2566 0x70, 0x72, 0x65, 0x73, 0x73, 0x65, 0x64, 0x5a, 0x73, 0x74, 0x64, 0x12, 0x1f, 0x0a, 0x04, 0x70, 2567 0x69, 0x6e, 0x67, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x70, 0x32, 0x70, 0x2e, 2568 0x50, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x04, 0x70, 0x69, 0x6e, 0x67, 0x12, 0x1f, 0x0a, 0x04, 2569 0x70, 0x6f, 0x6e, 0x67, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x70, 0x32, 0x70, 2570 0x2e, 0x50, 0x6f, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x04, 0x70, 0x6f, 0x6e, 0x67, 0x12, 0x2e, 0x0a, 2571 0x09, 0x68, 0x61, 0x6e, 0x64, 0x73, 0x68, 0x61, 0x6b, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 2572 0x32, 0x0e, 0x2e, 0x70, 0x32, 0x70, 0x2e, 0x48, 0x61, 0x6e, 0x64, 0x73, 0x68, 0x61, 0x6b, 0x65, 2573 0x48, 0x00, 0x52, 0x09, 0x68, 0x61, 0x6e, 0x64, 0x73, 0x68, 0x61, 0x6b, 0x65, 0x12, 0x36, 0x0a, 2574 0x0d, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x23, 2575 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x32, 0x70, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x65, 2576 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x67, 0x65, 0x74, 0x50, 0x65, 0x65, 2577 0x72, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x09, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x6c, 0x69, 2578 0x73, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x32, 0x70, 0x2e, 0x50, 2579 0x65, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x00, 0x52, 0x08, 0x70, 0x65, 0x65, 0x72, 0x4c, 2580 0x69, 0x73, 0x74, 0x12, 0x5b, 0x0a, 0x1a, 0x67, 0x65, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 2581 0x5f, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x5f, 0x66, 0x72, 0x6f, 0x6e, 0x74, 0x69, 0x65, 2582 0x72, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x32, 0x70, 0x2e, 0x47, 0x65, 2583 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x46, 0x72, 0x6f, 2584 0x6e, 0x74, 0x69, 0x65, 0x72, 0x48, 0x00, 0x52, 0x17, 0x67, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 2585 0x65, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x46, 0x72, 0x6f, 0x6e, 0x74, 0x69, 0x65, 0x72, 2586 0x12, 0x51, 0x0a, 0x16, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 2587 0x79, 0x5f, 0x66, 0x72, 0x6f, 0x6e, 0x74, 0x69, 0x65, 0x72, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 2588 0x32, 0x19, 0x2e, 0x70, 0x32, 0x70, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x53, 0x75, 0x6d, 0x6d, 2589 0x61, 0x72, 0x79, 0x46, 0x72, 0x6f, 0x6e, 0x74, 0x69, 0x65, 0x72, 0x48, 0x00, 0x52, 0x14, 0x73, 2590 0x74, 0x61, 0x74, 0x65, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x46, 0x72, 0x6f, 0x6e, 0x74, 2591 0x69, 0x65, 0x72, 0x12, 0x5b, 0x0a, 0x1a, 0x67, 0x65, 0x74, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x70, 2592 0x74, 0x65, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 2593 0x79, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x32, 0x70, 0x2e, 0x47, 0x65, 2594 0x74, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x53, 0x75, 2595 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x48, 0x00, 0x52, 0x17, 0x67, 0x65, 0x74, 0x41, 0x63, 0x63, 0x65, 2596 0x70, 0x74, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 2597 0x12, 0x51, 0x0a, 0x16, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x74, 0x61, 2598 0x74, 0x65, 0x5f, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 2599 0x32, 0x19, 0x2e, 0x70, 0x32, 0x70, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x53, 2600 0x74, 0x61, 0x74, 0x65, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x48, 0x00, 0x52, 0x14, 0x61, 2601 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x53, 0x75, 0x6d, 0x6d, 2602 0x61, 0x72, 0x79, 0x12, 0x4e, 0x0a, 0x15, 0x67, 0x65, 0x74, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x70, 2603 0x74, 0x65, 0x64, 0x5f, 0x66, 0x72, 0x6f, 0x6e, 0x74, 0x69, 0x65, 0x72, 0x18, 0x13, 0x20, 0x01, 2604 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x32, 0x70, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x65, 2605 0x70, 0x74, 0x65, 0x64, 0x46, 0x72, 0x6f, 0x6e, 0x74, 0x69, 0x65, 0x72, 0x48, 0x00, 0x52, 0x13, 2606 0x67, 0x65, 0x74, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x46, 0x72, 0x6f, 0x6e, 0x74, 2607 0x69, 0x65, 0x72, 0x12, 0x44, 0x0a, 0x11, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x5f, 2608 0x66, 0x72, 0x6f, 0x6e, 0x74, 0x69, 0x65, 0x72, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 2609 0x2e, 0x70, 0x32, 0x70, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x46, 0x72, 0x6f, 2610 0x6e, 0x74, 0x69, 0x65, 0x72, 0x48, 0x00, 0x52, 0x10, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 2611 0x64, 0x46, 0x72, 0x6f, 0x6e, 0x74, 0x69, 0x65, 0x72, 0x12, 0x35, 0x0a, 0x0c, 0x67, 0x65, 0x74, 2612 0x5f, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 2613 0x10, 0x2e, 0x70, 0x32, 0x70, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 2614 0x64, 0x48, 0x00, 0x52, 0x0b, 0x67, 0x65, 0x74, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 2615 0x12, 0x2b, 0x0a, 0x08, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x18, 0x16, 0x20, 0x01, 2616 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x32, 0x70, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 2617 0x64, 0x48, 0x00, 0x52, 0x08, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x12, 0x38, 0x0a, 2618 0x0d, 0x67, 0x65, 0x74, 0x5f, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x17, 2619 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x32, 0x70, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6e, 2620 0x63, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x73, 0x48, 0x00, 0x52, 0x0c, 0x67, 0x65, 0x74, 0x41, 0x6e, 2621 0x63, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x2e, 0x0a, 0x09, 0x61, 0x6e, 0x63, 0x65, 0x73, 2622 0x74, 0x6f, 0x72, 0x73, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x32, 0x70, 2623 0x2e, 0x41, 0x6e, 0x63, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x73, 0x48, 0x00, 0x52, 0x09, 0x61, 0x6e, 2624 0x63, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x1c, 0x0a, 0x03, 0x67, 0x65, 0x74, 0x18, 0x19, 2625 0x20, 0x01, 0x28, 0x0b, 0x32, 0x08, 0x2e, 0x70, 0x32, 0x70, 0x2e, 0x47, 0x65, 0x74, 0x48, 0x00, 2626 0x52, 0x03, 0x67, 0x65, 0x74, 0x12, 0x1c, 0x0a, 0x03, 0x70, 0x75, 0x74, 0x18, 0x1a, 0x20, 0x01, 2627 0x28, 0x0b, 0x32, 0x08, 0x2e, 0x70, 0x32, 0x70, 0x2e, 0x50, 0x75, 0x74, 0x48, 0x00, 0x52, 0x03, 2628 0x70, 0x75, 0x74, 0x12, 0x2f, 0x0a, 0x0a, 0x70, 0x75, 0x73, 0x68, 0x5f, 0x71, 0x75, 0x65, 0x72, 2629 0x79, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x32, 0x70, 0x2e, 0x50, 0x75, 2630 0x73, 0x68, 0x51, 0x75, 0x65, 0x72, 0x79, 0x48, 0x00, 0x52, 0x09, 0x70, 0x75, 0x73, 0x68, 0x51, 2631 0x75, 0x65, 0x72, 0x79, 0x12, 0x2f, 0x0a, 0x0a, 0x70, 0x75, 0x6c, 0x6c, 0x5f, 0x71, 0x75, 0x65, 2632 0x72, 0x79, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x32, 0x70, 0x2e, 0x50, 2633 0x75, 0x6c, 0x6c, 0x51, 0x75, 0x65, 0x72, 0x79, 0x48, 0x00, 0x52, 0x09, 0x70, 0x75, 0x6c, 0x6c, 2634 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x22, 0x0a, 0x05, 0x63, 0x68, 0x69, 0x74, 0x73, 0x18, 0x1d, 2635 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x70, 0x32, 0x70, 0x2e, 0x43, 0x68, 0x69, 0x74, 0x73, 2636 0x48, 0x00, 0x52, 0x05, 0x63, 0x68, 0x69, 0x74, 0x73, 0x12, 0x32, 0x0a, 0x0b, 0x61, 0x70, 0x70, 2637 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 2638 0x2e, 0x70, 0x32, 0x70, 0x2e, 0x41, 0x70, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 2639 0x00, 0x52, 0x0a, 0x61, 0x70, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x35, 0x0a, 2640 0x0c, 0x61, 0x70, 0x70, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x1f, 0x20, 2641 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x32, 0x70, 0x2e, 0x41, 0x70, 0x70, 0x52, 0x65, 0x73, 2642 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0b, 0x61, 0x70, 0x70, 0x52, 0x65, 0x73, 0x70, 2643 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x0a, 0x61, 0x70, 0x70, 0x5f, 0x67, 0x6f, 0x73, 0x73, 2644 0x69, 0x70, 0x18, 0x20, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x32, 0x70, 0x2e, 0x41, 2645 0x70, 0x70, 0x47, 0x6f, 0x73, 0x73, 0x69, 0x70, 0x48, 0x00, 0x52, 0x09, 0x61, 0x70, 0x70, 0x47, 2646 0x6f, 0x73, 0x73, 0x69, 0x70, 0x12, 0x2c, 0x0a, 0x09, 0x61, 0x70, 0x70, 0x5f, 0x65, 0x72, 0x72, 2647 0x6f, 0x72, 0x18, 0x22, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x32, 0x70, 0x2e, 0x41, 2648 0x70, 0x70, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x48, 0x00, 0x52, 0x08, 0x61, 0x70, 0x70, 0x45, 0x72, 2649 0x72, 0x6f, 0x72, 0x42, 0x09, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4a, 0x04, 2650 0x08, 0x01, 0x10, 0x02, 0x4a, 0x04, 0x08, 0x24, 0x10, 0x25, 0x22, 0x58, 0x0a, 0x04, 0x50, 0x69, 2651 0x6e, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 2652 0x28, 0x0d, 0x52, 0x06, 0x75, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x38, 0x0a, 0x0e, 0x73, 0x75, 2653 0x62, 0x6e, 0x65, 0x74, 0x5f, 0x75, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 2654 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x32, 0x70, 0x2e, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x55, 2655 0x70, 0x74, 0x69, 0x6d, 0x65, 0x52, 0x0d, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x55, 0x70, 0x74, 2656 0x69, 0x6d, 0x65, 0x73, 0x22, 0x43, 0x0a, 0x0c, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x55, 0x70, 2657 0x74, 0x69, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x5f, 0x69, 2658 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x49, 2659 0x64, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 2660 0x0d, 0x52, 0x06, 0x75, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x22, 0x12, 0x0a, 0x04, 0x50, 0x6f, 0x6e, 2661 0x67, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x22, 0xd4, 0x03, 2662 0x0a, 0x09, 0x48, 0x61, 0x6e, 0x64, 0x73, 0x68, 0x61, 0x6b, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6e, 2663 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 2664 0x09, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x6d, 0x79, 2665 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x6d, 0x79, 0x54, 2666 0x69, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x03, 2667 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x69, 0x70, 0x41, 0x64, 0x64, 0x72, 0x12, 0x17, 0x0a, 0x07, 2668 0x69, 0x70, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x69, 2669 0x70, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x26, 0x0a, 0x0f, 0x69, 0x70, 0x5f, 0x73, 0x69, 0x67, 0x6e, 2670 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 2671 0x69, 0x70, 0x53, 0x69, 0x67, 0x6e, 0x69, 0x6e, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x23, 0x0a, 2672 0x0e, 0x69, 0x70, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x5f, 0x73, 0x69, 0x67, 0x18, 2673 0x07, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x69, 0x70, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x53, 2674 0x69, 0x67, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x73, 0x75, 2675 0x62, 0x6e, 0x65, 0x74, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x0e, 0x74, 0x72, 0x61, 2676 0x63, 0x6b, 0x65, 0x64, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x73, 0x12, 0x23, 0x0a, 0x06, 0x63, 2677 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x32, 2678 0x70, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 2679 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x63, 2680 0x70, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0d, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 2681 0x74, 0x65, 0x64, 0x41, 0x63, 0x70, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x6f, 0x62, 0x6a, 0x65, 0x63, 2682 0x74, 0x65, 0x64, 0x5f, 0x61, 0x63, 0x70, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0c, 2683 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x65, 0x64, 0x41, 0x63, 0x70, 0x73, 0x12, 0x31, 0x0a, 0x0b, 2684 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 2685 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x32, 0x70, 0x2e, 0x42, 0x6c, 0x6f, 0x6f, 0x6d, 0x46, 0x69, 0x6c, 2686 0x74, 0x65, 0x72, 0x52, 0x0a, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x50, 0x65, 0x65, 0x72, 0x73, 0x12, 2687 0x1c, 0x0a, 0x0a, 0x69, 0x70, 0x5f, 0x62, 0x6c, 0x73, 0x5f, 0x73, 0x69, 0x67, 0x18, 0x0d, 0x20, 2688 0x01, 0x28, 0x0c, 0x52, 0x08, 0x69, 0x70, 0x42, 0x6c, 0x73, 0x53, 0x69, 0x67, 0x12, 0x1f, 0x0a, 2689 0x0b, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x73, 0x18, 0x0e, 0x20, 0x01, 2690 0x28, 0x08, 0x52, 0x0a, 0x61, 0x6c, 0x6c, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x73, 0x4a, 0x04, 2691 0x08, 0x05, 0x10, 0x06, 0x22, 0x5e, 0x0a, 0x06, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x12, 2692 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 2693 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 2694 0x0d, 0x52, 0x05, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x69, 0x6e, 0x6f, 2695 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6d, 0x69, 0x6e, 0x6f, 0x72, 0x12, 0x14, 2696 0x0a, 0x05, 0x70, 0x61, 0x74, 0x63, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x70, 2697 0x61, 0x74, 0x63, 0x68, 0x22, 0x39, 0x0a, 0x0b, 0x42, 0x6c, 0x6f, 0x6f, 0x6d, 0x46, 0x69, 0x6c, 2698 0x74, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 2699 0x01, 0x28, 0x0c, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x73, 2700 0x61, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x73, 0x61, 0x6c, 0x74, 0x22, 2701 0xbd, 0x01, 0x0a, 0x0d, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, 0x49, 0x70, 0x50, 0x6f, 0x72, 2702 0x74, 0x12, 0x29, 0x0a, 0x10, 0x78, 0x35, 0x30, 0x39, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 2703 0x69, 0x63, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0f, 0x78, 0x35, 0x30, 2704 0x39, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x17, 0x0a, 0x07, 2705 0x69, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x69, 2706 0x70, 0x41, 0x64, 0x64, 0x72, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x70, 0x5f, 0x70, 0x6f, 0x72, 0x74, 2707 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x69, 0x70, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x1c, 2708 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 2709 0x04, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1c, 0x0a, 0x09, 2710 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 2711 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x13, 0x0a, 0x05, 0x74, 0x78, 2712 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x74, 0x78, 0x49, 0x64, 0x22, 2713 0x61, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x50, 0x65, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x31, 2714 0x0a, 0x0b, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 2715 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x32, 0x70, 0x2e, 0x42, 0x6c, 0x6f, 0x6f, 0x6d, 0x46, 2716 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x0a, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x50, 0x65, 0x65, 0x72, 2717 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x73, 2718 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x61, 0x6c, 0x6c, 0x53, 0x75, 0x62, 0x6e, 0x65, 2719 0x74, 0x73, 0x22, 0x48, 0x0a, 0x08, 0x50, 0x65, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x3c, 2720 0x0a, 0x10, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, 0x5f, 0x69, 0x70, 0x5f, 0x70, 0x6f, 0x72, 2721 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x32, 0x70, 0x2e, 0x43, 2722 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, 0x49, 0x70, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x0e, 0x63, 0x6c, 2723 0x61, 0x69, 0x6d, 0x65, 0x64, 0x49, 0x70, 0x50, 0x6f, 0x72, 0x74, 0x73, 0x22, 0x6f, 0x0a, 0x17, 2724 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x46, 2725 0x72, 0x6f, 0x6e, 0x74, 0x69, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x68, 0x61, 0x69, 0x6e, 2726 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x63, 0x68, 0x61, 0x69, 0x6e, 2727 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 2728 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 2729 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x03, 0x20, 2730 0x01, 0x28, 0x04, 0x52, 0x08, 0x64, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x22, 0x6a, 0x0a, 2731 0x14, 0x53, 0x74, 0x61, 0x74, 0x65, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x46, 0x72, 0x6f, 2732 0x6e, 0x74, 0x69, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x69, 2733 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x64, 2734 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 2735 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 2736 0x18, 0x0a, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 2737 0x52, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x22, 0x89, 0x01, 0x0a, 0x17, 0x47, 0x65, 2738 0x74, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x53, 0x75, 2739 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x69, 2740 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x64, 2741 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 2742 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 2743 0x1a, 0x0a, 0x08, 0x64, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 2744 0x04, 0x52, 0x08, 0x64, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x68, 2745 0x65, 0x69, 0x67, 0x68, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x04, 0x52, 0x07, 0x68, 0x65, 2746 0x69, 0x67, 0x68, 0x74, 0x73, 0x22, 0x71, 0x0a, 0x14, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 2747 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x19, 0x0a, 2748 0x08, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 2749 0x07, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 2750 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x72, 0x65, 2751 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x75, 0x6d, 0x6d, 0x61, 2752 0x72, 0x79, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x0a, 0x73, 0x75, 2753 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x49, 0x64, 0x73, 0x22, 0x71, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x41, 2754 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x46, 0x72, 0x6f, 0x6e, 0x74, 0x69, 0x65, 0x72, 0x12, 2755 0x19, 0x0a, 0x08, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 2756 0x0c, 0x52, 0x07, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 2757 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 2758 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x65, 0x61, 2759 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x64, 0x65, 0x61, 2760 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x4a, 0x04, 0x08, 0x04, 0x10, 0x05, 0x22, 0x6f, 0x0a, 0x10, 0x41, 2761 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x46, 0x72, 0x6f, 0x6e, 0x74, 0x69, 0x65, 0x72, 0x12, 2762 0x19, 0x0a, 0x08, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 2763 0x0c, 0x52, 0x07, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 2764 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 2765 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 2766 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 2767 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x22, 0x8e, 0x01, 0x0a, 2768 0x0b, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x12, 0x19, 0x0a, 0x08, 2769 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 2770 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 2771 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x72, 0x65, 0x71, 2772 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x65, 0x61, 0x64, 0x6c, 0x69, 2773 0x6e, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x64, 0x65, 0x61, 0x64, 0x6c, 0x69, 2774 0x6e, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x5f, 2775 0x69, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x61, 2776 0x69, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x73, 0x4a, 0x04, 0x08, 0x05, 0x10, 0x06, 0x22, 0x69, 0x0a, 2777 0x08, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x68, 0x61, 2778 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x63, 0x68, 0x61, 2779 0x69, 0x6e, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 2780 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 2781 0x74, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 2782 0x5f, 0x69, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 2783 0x61, 0x69, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x73, 0x22, 0xb9, 0x01, 0x0a, 0x0c, 0x47, 0x65, 0x74, 2784 0x41, 0x6e, 0x63, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x68, 0x61, 2785 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x63, 0x68, 0x61, 2786 0x69, 0x6e, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 2787 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 2788 0x74, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x18, 2789 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x64, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x12, 2790 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 2791 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 2792 0x49, 0x64, 0x12, 0x30, 0x0a, 0x0b, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x5f, 0x74, 0x79, 0x70, 2793 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0f, 0x2e, 0x70, 0x32, 0x70, 0x2e, 0x45, 0x6e, 2794 0x67, 0x69, 0x6e, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 2795 0x54, 0x79, 0x70, 0x65, 0x22, 0x65, 0x0a, 0x09, 0x41, 0x6e, 0x63, 0x65, 0x73, 0x74, 0x6f, 0x72, 2796 0x73, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 2797 0x01, 0x28, 0x0c, 0x52, 0x07, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 2798 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 2799 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 2800 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0c, 0x52, 2801 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x73, 0x22, 0x84, 0x01, 0x0a, 0x03, 2802 0x47, 0x65, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 2803 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x1d, 2804 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 2805 0x28, 0x0d, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x1a, 0x0a, 2806 0x08, 0x64, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 2807 0x08, 0x64, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 2808 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 2809 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x4a, 0x04, 0x08, 0x05, 2810 0x10, 0x06, 0x22, 0x5d, 0x0a, 0x03, 0x50, 0x75, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x68, 0x61, 2811 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x63, 0x68, 0x61, 2812 0x69, 0x6e, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 2813 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 2814 0x74, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 2815 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 2816 0x72, 0x22, 0xb0, 0x01, 0x0a, 0x09, 0x50, 0x75, 0x73, 0x68, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 2817 0x19, 0x0a, 0x08, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 2818 0x0c, 0x52, 0x07, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 2819 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 2820 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x65, 0x61, 2821 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x64, 0x65, 0x61, 2822 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 2823 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 2824 0x6e, 0x65, 0x72, 0x12, 0x29, 0x0a, 0x10, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 2825 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0f, 0x72, 2826 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x4a, 0x04, 2827 0x08, 0x05, 0x10, 0x06, 0x22, 0xb5, 0x01, 0x0a, 0x09, 0x50, 0x75, 0x6c, 0x6c, 0x51, 0x75, 0x65, 2828 0x72, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 2829 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x1d, 0x0a, 2830 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 2831 0x0d, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 2832 0x64, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 2833 0x64, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 2834 0x61, 0x69, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 2835 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x72, 2836 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 2837 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 2838 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x4a, 0x04, 0x08, 0x05, 0x10, 0x06, 0x22, 0xba, 0x01, 0x0a, 2839 0x05, 0x43, 0x68, 0x69, 0x74, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 2840 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 2841 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 2842 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 2843 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x5f, 0x69, 0x64, 2844 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 2845 0x64, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x5f, 2846 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 2847 0x65, 0x64, 0x49, 0x64, 0x12, 0x33, 0x0a, 0x16, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 2848 0x64, 0x5f, 0x69, 0x64, 0x5f, 0x61, 0x74, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x05, 2849 0x20, 0x01, 0x28, 0x0c, 0x52, 0x13, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x49, 2850 0x64, 0x41, 0x74, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x22, 0x7f, 0x0a, 0x0a, 0x41, 0x70, 0x70, 2851 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x68, 0x61, 0x69, 0x6e, 2852 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x63, 0x68, 0x61, 0x69, 0x6e, 2853 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 2854 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 2855 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x03, 0x20, 2856 0x01, 0x28, 0x04, 0x52, 0x08, 0x64, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x1b, 0x0a, 2857 0x09, 0x61, 0x70, 0x70, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 2858 0x52, 0x08, 0x61, 0x70, 0x70, 0x42, 0x79, 0x74, 0x65, 0x73, 0x22, 0x64, 0x0a, 0x0b, 0x41, 0x70, 2859 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x68, 0x61, 2860 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x63, 0x68, 0x61, 2861 0x69, 0x6e, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 2862 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 2863 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x70, 0x70, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 2864 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x61, 0x70, 0x70, 0x42, 0x79, 0x74, 0x65, 0x73, 2865 0x22, 0x88, 0x01, 0x0a, 0x08, 0x41, 0x70, 0x70, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x19, 0x0a, 2866 0x08, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 2867 0x07, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 2868 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x72, 0x65, 2869 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x72, 0x72, 0x6f, 0x72, 2870 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x11, 0x52, 0x09, 0x65, 0x72, 0x72, 2871 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 2872 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x65, 2873 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x43, 0x0a, 0x09, 0x41, 2874 0x70, 0x70, 0x47, 0x6f, 0x73, 0x73, 0x69, 0x70, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x68, 0x61, 0x69, 2875 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x63, 0x68, 0x61, 0x69, 2876 0x6e, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x70, 0x70, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 2877 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x61, 0x70, 0x70, 0x42, 0x79, 0x74, 0x65, 0x73, 2878 0x2a, 0x5d, 0x0a, 0x0a, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1b, 2879 0x0a, 0x17, 0x45, 0x4e, 0x47, 0x49, 0x4e, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 2880 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x19, 0x0a, 0x15, 0x45, 2881 0x4e, 0x47, 0x49, 0x4e, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x41, 0x56, 0x41, 0x4c, 0x41, 2882 0x4e, 0x43, 0x48, 0x45, 0x10, 0x01, 0x12, 0x17, 0x0a, 0x13, 0x45, 0x4e, 0x47, 0x49, 0x4e, 0x45, 2883 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x4e, 0x4f, 0x57, 0x4d, 0x41, 0x4e, 0x10, 0x02, 0x42, 2884 0x2e, 0x5a, 0x2c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x76, 2885 0x61, 0x2d, 0x6c, 0x61, 0x62, 0x73, 0x2f, 0x61, 0x76, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x68, 0x65, 2886 0x67, 0x6f, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x70, 0x62, 0x2f, 0x70, 0x32, 0x70, 0x62, 2887 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 2888 } 2889 2890 var ( 2891 file_p2p_p2p_proto_rawDescOnce sync.Once 2892 file_p2p_p2p_proto_rawDescData = file_p2p_p2p_proto_rawDesc 2893 ) 2894 2895 func file_p2p_p2p_proto_rawDescGZIP() []byte { 2896 file_p2p_p2p_proto_rawDescOnce.Do(func() { 2897 file_p2p_p2p_proto_rawDescData = protoimpl.X.CompressGZIP(file_p2p_p2p_proto_rawDescData) 2898 }) 2899 return file_p2p_p2p_proto_rawDescData 2900 } 2901 2902 var file_p2p_p2p_proto_enumTypes = make([]protoimpl.EnumInfo, 1) 2903 var file_p2p_p2p_proto_msgTypes = make([]protoimpl.MessageInfo, 29) 2904 var file_p2p_p2p_proto_goTypes = []interface{}{ 2905 (EngineType)(0), // 0: p2p.EngineType 2906 (*Message)(nil), // 1: p2p.Message 2907 (*Ping)(nil), // 2: p2p.Ping 2908 (*SubnetUptime)(nil), // 3: p2p.SubnetUptime 2909 (*Pong)(nil), // 4: p2p.Pong 2910 (*Handshake)(nil), // 5: p2p.Handshake 2911 (*Client)(nil), // 6: p2p.Client 2912 (*BloomFilter)(nil), // 7: p2p.BloomFilter 2913 (*ClaimedIpPort)(nil), // 8: p2p.ClaimedIpPort 2914 (*GetPeerList)(nil), // 9: p2p.GetPeerList 2915 (*PeerList)(nil), // 10: p2p.PeerList 2916 (*GetStateSummaryFrontier)(nil), // 11: p2p.GetStateSummaryFrontier 2917 (*StateSummaryFrontier)(nil), // 12: p2p.StateSummaryFrontier 2918 (*GetAcceptedStateSummary)(nil), // 13: p2p.GetAcceptedStateSummary 2919 (*AcceptedStateSummary)(nil), // 14: p2p.AcceptedStateSummary 2920 (*GetAcceptedFrontier)(nil), // 15: p2p.GetAcceptedFrontier 2921 (*AcceptedFrontier)(nil), // 16: p2p.AcceptedFrontier 2922 (*GetAccepted)(nil), // 17: p2p.GetAccepted 2923 (*Accepted)(nil), // 18: p2p.Accepted 2924 (*GetAncestors)(nil), // 19: p2p.GetAncestors 2925 (*Ancestors)(nil), // 20: p2p.Ancestors 2926 (*Get)(nil), // 21: p2p.Get 2927 (*Put)(nil), // 22: p2p.Put 2928 (*PushQuery)(nil), // 23: p2p.PushQuery 2929 (*PullQuery)(nil), // 24: p2p.PullQuery 2930 (*Chits)(nil), // 25: p2p.Chits 2931 (*AppRequest)(nil), // 26: p2p.AppRequest 2932 (*AppResponse)(nil), // 27: p2p.AppResponse 2933 (*AppError)(nil), // 28: p2p.AppError 2934 (*AppGossip)(nil), // 29: p2p.AppGossip 2935 } 2936 var file_p2p_p2p_proto_depIdxs = []int32{ 2937 2, // 0: p2p.Message.ping:type_name -> p2p.Ping 2938 4, // 1: p2p.Message.pong:type_name -> p2p.Pong 2939 5, // 2: p2p.Message.handshake:type_name -> p2p.Handshake 2940 9, // 3: p2p.Message.get_peer_list:type_name -> p2p.GetPeerList 2941 10, // 4: p2p.Message.peer_list:type_name -> p2p.PeerList 2942 11, // 5: p2p.Message.get_state_summary_frontier:type_name -> p2p.GetStateSummaryFrontier 2943 12, // 6: p2p.Message.state_summary_frontier:type_name -> p2p.StateSummaryFrontier 2944 13, // 7: p2p.Message.get_accepted_state_summary:type_name -> p2p.GetAcceptedStateSummary 2945 14, // 8: p2p.Message.accepted_state_summary:type_name -> p2p.AcceptedStateSummary 2946 15, // 9: p2p.Message.get_accepted_frontier:type_name -> p2p.GetAcceptedFrontier 2947 16, // 10: p2p.Message.accepted_frontier:type_name -> p2p.AcceptedFrontier 2948 17, // 11: p2p.Message.get_accepted:type_name -> p2p.GetAccepted 2949 18, // 12: p2p.Message.accepted:type_name -> p2p.Accepted 2950 19, // 13: p2p.Message.get_ancestors:type_name -> p2p.GetAncestors 2951 20, // 14: p2p.Message.ancestors:type_name -> p2p.Ancestors 2952 21, // 15: p2p.Message.get:type_name -> p2p.Get 2953 22, // 16: p2p.Message.put:type_name -> p2p.Put 2954 23, // 17: p2p.Message.push_query:type_name -> p2p.PushQuery 2955 24, // 18: p2p.Message.pull_query:type_name -> p2p.PullQuery 2956 25, // 19: p2p.Message.chits:type_name -> p2p.Chits 2957 26, // 20: p2p.Message.app_request:type_name -> p2p.AppRequest 2958 27, // 21: p2p.Message.app_response:type_name -> p2p.AppResponse 2959 29, // 22: p2p.Message.app_gossip:type_name -> p2p.AppGossip 2960 28, // 23: p2p.Message.app_error:type_name -> p2p.AppError 2961 3, // 24: p2p.Ping.subnet_uptimes:type_name -> p2p.SubnetUptime 2962 6, // 25: p2p.Handshake.client:type_name -> p2p.Client 2963 7, // 26: p2p.Handshake.known_peers:type_name -> p2p.BloomFilter 2964 7, // 27: p2p.GetPeerList.known_peers:type_name -> p2p.BloomFilter 2965 8, // 28: p2p.PeerList.claimed_ip_ports:type_name -> p2p.ClaimedIpPort 2966 0, // 29: p2p.GetAncestors.engine_type:type_name -> p2p.EngineType 2967 30, // [30:30] is the sub-list for method output_type 2968 30, // [30:30] is the sub-list for method input_type 2969 30, // [30:30] is the sub-list for extension type_name 2970 30, // [30:30] is the sub-list for extension extendee 2971 0, // [0:30] is the sub-list for field type_name 2972 } 2973 2974 func init() { file_p2p_p2p_proto_init() } 2975 func file_p2p_p2p_proto_init() { 2976 if File_p2p_p2p_proto != nil { 2977 return 2978 } 2979 if !protoimpl.UnsafeEnabled { 2980 file_p2p_p2p_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { 2981 switch v := v.(*Message); i { 2982 case 0: 2983 return &v.state 2984 case 1: 2985 return &v.sizeCache 2986 case 2: 2987 return &v.unknownFields 2988 default: 2989 return nil 2990 } 2991 } 2992 file_p2p_p2p_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { 2993 switch v := v.(*Ping); i { 2994 case 0: 2995 return &v.state 2996 case 1: 2997 return &v.sizeCache 2998 case 2: 2999 return &v.unknownFields 3000 default: 3001 return nil 3002 } 3003 } 3004 file_p2p_p2p_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { 3005 switch v := v.(*SubnetUptime); i { 3006 case 0: 3007 return &v.state 3008 case 1: 3009 return &v.sizeCache 3010 case 2: 3011 return &v.unknownFields 3012 default: 3013 return nil 3014 } 3015 } 3016 file_p2p_p2p_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { 3017 switch v := v.(*Pong); i { 3018 case 0: 3019 return &v.state 3020 case 1: 3021 return &v.sizeCache 3022 case 2: 3023 return &v.unknownFields 3024 default: 3025 return nil 3026 } 3027 } 3028 file_p2p_p2p_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { 3029 switch v := v.(*Handshake); i { 3030 case 0: 3031 return &v.state 3032 case 1: 3033 return &v.sizeCache 3034 case 2: 3035 return &v.unknownFields 3036 default: 3037 return nil 3038 } 3039 } 3040 file_p2p_p2p_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { 3041 switch v := v.(*Client); i { 3042 case 0: 3043 return &v.state 3044 case 1: 3045 return &v.sizeCache 3046 case 2: 3047 return &v.unknownFields 3048 default: 3049 return nil 3050 } 3051 } 3052 file_p2p_p2p_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { 3053 switch v := v.(*BloomFilter); i { 3054 case 0: 3055 return &v.state 3056 case 1: 3057 return &v.sizeCache 3058 case 2: 3059 return &v.unknownFields 3060 default: 3061 return nil 3062 } 3063 } 3064 file_p2p_p2p_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { 3065 switch v := v.(*ClaimedIpPort); i { 3066 case 0: 3067 return &v.state 3068 case 1: 3069 return &v.sizeCache 3070 case 2: 3071 return &v.unknownFields 3072 default: 3073 return nil 3074 } 3075 } 3076 file_p2p_p2p_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { 3077 switch v := v.(*GetPeerList); i { 3078 case 0: 3079 return &v.state 3080 case 1: 3081 return &v.sizeCache 3082 case 2: 3083 return &v.unknownFields 3084 default: 3085 return nil 3086 } 3087 } 3088 file_p2p_p2p_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { 3089 switch v := v.(*PeerList); i { 3090 case 0: 3091 return &v.state 3092 case 1: 3093 return &v.sizeCache 3094 case 2: 3095 return &v.unknownFields 3096 default: 3097 return nil 3098 } 3099 } 3100 file_p2p_p2p_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { 3101 switch v := v.(*GetStateSummaryFrontier); i { 3102 case 0: 3103 return &v.state 3104 case 1: 3105 return &v.sizeCache 3106 case 2: 3107 return &v.unknownFields 3108 default: 3109 return nil 3110 } 3111 } 3112 file_p2p_p2p_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { 3113 switch v := v.(*StateSummaryFrontier); i { 3114 case 0: 3115 return &v.state 3116 case 1: 3117 return &v.sizeCache 3118 case 2: 3119 return &v.unknownFields 3120 default: 3121 return nil 3122 } 3123 } 3124 file_p2p_p2p_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { 3125 switch v := v.(*GetAcceptedStateSummary); i { 3126 case 0: 3127 return &v.state 3128 case 1: 3129 return &v.sizeCache 3130 case 2: 3131 return &v.unknownFields 3132 default: 3133 return nil 3134 } 3135 } 3136 file_p2p_p2p_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { 3137 switch v := v.(*AcceptedStateSummary); i { 3138 case 0: 3139 return &v.state 3140 case 1: 3141 return &v.sizeCache 3142 case 2: 3143 return &v.unknownFields 3144 default: 3145 return nil 3146 } 3147 } 3148 file_p2p_p2p_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { 3149 switch v := v.(*GetAcceptedFrontier); i { 3150 case 0: 3151 return &v.state 3152 case 1: 3153 return &v.sizeCache 3154 case 2: 3155 return &v.unknownFields 3156 default: 3157 return nil 3158 } 3159 } 3160 file_p2p_p2p_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { 3161 switch v := v.(*AcceptedFrontier); i { 3162 case 0: 3163 return &v.state 3164 case 1: 3165 return &v.sizeCache 3166 case 2: 3167 return &v.unknownFields 3168 default: 3169 return nil 3170 } 3171 } 3172 file_p2p_p2p_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { 3173 switch v := v.(*GetAccepted); i { 3174 case 0: 3175 return &v.state 3176 case 1: 3177 return &v.sizeCache 3178 case 2: 3179 return &v.unknownFields 3180 default: 3181 return nil 3182 } 3183 } 3184 file_p2p_p2p_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { 3185 switch v := v.(*Accepted); i { 3186 case 0: 3187 return &v.state 3188 case 1: 3189 return &v.sizeCache 3190 case 2: 3191 return &v.unknownFields 3192 default: 3193 return nil 3194 } 3195 } 3196 file_p2p_p2p_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { 3197 switch v := v.(*GetAncestors); i { 3198 case 0: 3199 return &v.state 3200 case 1: 3201 return &v.sizeCache 3202 case 2: 3203 return &v.unknownFields 3204 default: 3205 return nil 3206 } 3207 } 3208 file_p2p_p2p_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { 3209 switch v := v.(*Ancestors); i { 3210 case 0: 3211 return &v.state 3212 case 1: 3213 return &v.sizeCache 3214 case 2: 3215 return &v.unknownFields 3216 default: 3217 return nil 3218 } 3219 } 3220 file_p2p_p2p_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { 3221 switch v := v.(*Get); i { 3222 case 0: 3223 return &v.state 3224 case 1: 3225 return &v.sizeCache 3226 case 2: 3227 return &v.unknownFields 3228 default: 3229 return nil 3230 } 3231 } 3232 file_p2p_p2p_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { 3233 switch v := v.(*Put); i { 3234 case 0: 3235 return &v.state 3236 case 1: 3237 return &v.sizeCache 3238 case 2: 3239 return &v.unknownFields 3240 default: 3241 return nil 3242 } 3243 } 3244 file_p2p_p2p_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { 3245 switch v := v.(*PushQuery); i { 3246 case 0: 3247 return &v.state 3248 case 1: 3249 return &v.sizeCache 3250 case 2: 3251 return &v.unknownFields 3252 default: 3253 return nil 3254 } 3255 } 3256 file_p2p_p2p_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { 3257 switch v := v.(*PullQuery); i { 3258 case 0: 3259 return &v.state 3260 case 1: 3261 return &v.sizeCache 3262 case 2: 3263 return &v.unknownFields 3264 default: 3265 return nil 3266 } 3267 } 3268 file_p2p_p2p_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { 3269 switch v := v.(*Chits); i { 3270 case 0: 3271 return &v.state 3272 case 1: 3273 return &v.sizeCache 3274 case 2: 3275 return &v.unknownFields 3276 default: 3277 return nil 3278 } 3279 } 3280 file_p2p_p2p_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { 3281 switch v := v.(*AppRequest); i { 3282 case 0: 3283 return &v.state 3284 case 1: 3285 return &v.sizeCache 3286 case 2: 3287 return &v.unknownFields 3288 default: 3289 return nil 3290 } 3291 } 3292 file_p2p_p2p_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { 3293 switch v := v.(*AppResponse); i { 3294 case 0: 3295 return &v.state 3296 case 1: 3297 return &v.sizeCache 3298 case 2: 3299 return &v.unknownFields 3300 default: 3301 return nil 3302 } 3303 } 3304 file_p2p_p2p_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { 3305 switch v := v.(*AppError); i { 3306 case 0: 3307 return &v.state 3308 case 1: 3309 return &v.sizeCache 3310 case 2: 3311 return &v.unknownFields 3312 default: 3313 return nil 3314 } 3315 } 3316 file_p2p_p2p_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { 3317 switch v := v.(*AppGossip); i { 3318 case 0: 3319 return &v.state 3320 case 1: 3321 return &v.sizeCache 3322 case 2: 3323 return &v.unknownFields 3324 default: 3325 return nil 3326 } 3327 } 3328 } 3329 file_p2p_p2p_proto_msgTypes[0].OneofWrappers = []interface{}{ 3330 (*Message_CompressedZstd)(nil), 3331 (*Message_Ping)(nil), 3332 (*Message_Pong)(nil), 3333 (*Message_Handshake)(nil), 3334 (*Message_GetPeerList)(nil), 3335 (*Message_PeerList_)(nil), 3336 (*Message_GetStateSummaryFrontier)(nil), 3337 (*Message_StateSummaryFrontier_)(nil), 3338 (*Message_GetAcceptedStateSummary)(nil), 3339 (*Message_AcceptedStateSummary_)(nil), 3340 (*Message_GetAcceptedFrontier)(nil), 3341 (*Message_AcceptedFrontier_)(nil), 3342 (*Message_GetAccepted)(nil), 3343 (*Message_Accepted_)(nil), 3344 (*Message_GetAncestors)(nil), 3345 (*Message_Ancestors_)(nil), 3346 (*Message_Get)(nil), 3347 (*Message_Put)(nil), 3348 (*Message_PushQuery)(nil), 3349 (*Message_PullQuery)(nil), 3350 (*Message_Chits)(nil), 3351 (*Message_AppRequest)(nil), 3352 (*Message_AppResponse)(nil), 3353 (*Message_AppGossip)(nil), 3354 (*Message_AppError)(nil), 3355 } 3356 type x struct{} 3357 out := protoimpl.TypeBuilder{ 3358 File: protoimpl.DescBuilder{ 3359 GoPackagePath: reflect.TypeOf(x{}).PkgPath(), 3360 RawDescriptor: file_p2p_p2p_proto_rawDesc, 3361 NumEnums: 1, 3362 NumMessages: 29, 3363 NumExtensions: 0, 3364 NumServices: 0, 3365 }, 3366 GoTypes: file_p2p_p2p_proto_goTypes, 3367 DependencyIndexes: file_p2p_p2p_proto_depIdxs, 3368 EnumInfos: file_p2p_p2p_proto_enumTypes, 3369 MessageInfos: file_p2p_p2p_proto_msgTypes, 3370 }.Build() 3371 File_p2p_p2p_proto = out.File 3372 file_p2p_p2p_proto_rawDesc = nil 3373 file_p2p_p2p_proto_goTypes = nil 3374 file_p2p_p2p_proto_depIdxs = nil 3375 }