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