github.com/prysmaticlabs/prysm@v1.4.4/proto/eth/v1alpha1/validator.pb.go (about) 1 // Code generated by protoc-gen-go. DO NOT EDIT. 2 // versions: 3 // protoc-gen-go v1.25.0 4 // protoc v3.15.8 5 // source: proto/eth/v1alpha1/validator.proto 6 7 package eth 8 9 import ( 10 context "context" 11 reflect "reflect" 12 sync "sync" 13 14 proto "github.com/golang/protobuf/proto" 15 empty "github.com/golang/protobuf/ptypes/empty" 16 github_com_prysmaticlabs_eth2_types "github.com/prysmaticlabs/eth2-types" 17 _ "github.com/prysmaticlabs/prysm/proto/eth/ext" 18 _ "google.golang.org/genproto/googleapis/api/annotations" 19 grpc "google.golang.org/grpc" 20 codes "google.golang.org/grpc/codes" 21 status "google.golang.org/grpc/status" 22 protoreflect "google.golang.org/protobuf/reflect/protoreflect" 23 protoimpl "google.golang.org/protobuf/runtime/protoimpl" 24 ) 25 26 const ( 27 // Verify that this generated code is sufficiently up-to-date. 28 _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 29 // Verify that runtime/protoimpl is sufficiently up-to-date. 30 _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 31 ) 32 33 // This is a compile-time assertion that a sufficiently up-to-date version 34 // of the legacy proto package is being used. 35 const _ = proto.ProtoPackageIsVersion4 36 37 type ValidatorStatus int32 38 39 const ( 40 ValidatorStatus_UNKNOWN_STATUS ValidatorStatus = 0 41 ValidatorStatus_DEPOSITED ValidatorStatus = 1 42 ValidatorStatus_PENDING ValidatorStatus = 2 43 ValidatorStatus_ACTIVE ValidatorStatus = 3 44 ValidatorStatus_EXITING ValidatorStatus = 4 45 ValidatorStatus_SLASHING ValidatorStatus = 5 46 ValidatorStatus_EXITED ValidatorStatus = 6 47 ValidatorStatus_INVALID ValidatorStatus = 7 48 ValidatorStatus_PARTIALLY_DEPOSITED ValidatorStatus = 8 49 ) 50 51 // Enum value maps for ValidatorStatus. 52 var ( 53 ValidatorStatus_name = map[int32]string{ 54 0: "UNKNOWN_STATUS", 55 1: "DEPOSITED", 56 2: "PENDING", 57 3: "ACTIVE", 58 4: "EXITING", 59 5: "SLASHING", 60 6: "EXITED", 61 7: "INVALID", 62 8: "PARTIALLY_DEPOSITED", 63 } 64 ValidatorStatus_value = map[string]int32{ 65 "UNKNOWN_STATUS": 0, 66 "DEPOSITED": 1, 67 "PENDING": 2, 68 "ACTIVE": 3, 69 "EXITING": 4, 70 "SLASHING": 5, 71 "EXITED": 6, 72 "INVALID": 7, 73 "PARTIALLY_DEPOSITED": 8, 74 } 75 ) 76 77 func (x ValidatorStatus) Enum() *ValidatorStatus { 78 p := new(ValidatorStatus) 79 *p = x 80 return p 81 } 82 83 func (x ValidatorStatus) String() string { 84 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 85 } 86 87 func (ValidatorStatus) Descriptor() protoreflect.EnumDescriptor { 88 return file_proto_eth_v1alpha1_validator_proto_enumTypes[0].Descriptor() 89 } 90 91 func (ValidatorStatus) Type() protoreflect.EnumType { 92 return &file_proto_eth_v1alpha1_validator_proto_enumTypes[0] 93 } 94 95 func (x ValidatorStatus) Number() protoreflect.EnumNumber { 96 return protoreflect.EnumNumber(x) 97 } 98 99 // Deprecated: Use ValidatorStatus.Descriptor instead. 100 func (ValidatorStatus) EnumDescriptor() ([]byte, []int) { 101 return file_proto_eth_v1alpha1_validator_proto_rawDescGZIP(), []int{0} 102 } 103 104 type DomainRequest struct { 105 state protoimpl.MessageState 106 sizeCache protoimpl.SizeCache 107 unknownFields protoimpl.UnknownFields 108 109 Epoch github_com_prysmaticlabs_eth2_types.Epoch `protobuf:"varint,1,opt,name=epoch,proto3" json:"epoch,omitempty" cast-type:"github.com/prysmaticlabs/eth2-types.Epoch"` 110 Domain []byte `protobuf:"bytes,2,opt,name=domain,proto3" json:"domain,omitempty"` 111 } 112 113 func (x *DomainRequest) Reset() { 114 *x = DomainRequest{} 115 if protoimpl.UnsafeEnabled { 116 mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[0] 117 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 118 ms.StoreMessageInfo(mi) 119 } 120 } 121 122 func (x *DomainRequest) String() string { 123 return protoimpl.X.MessageStringOf(x) 124 } 125 126 func (*DomainRequest) ProtoMessage() {} 127 128 func (x *DomainRequest) ProtoReflect() protoreflect.Message { 129 mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[0] 130 if protoimpl.UnsafeEnabled && x != nil { 131 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 132 if ms.LoadMessageInfo() == nil { 133 ms.StoreMessageInfo(mi) 134 } 135 return ms 136 } 137 return mi.MessageOf(x) 138 } 139 140 // Deprecated: Use DomainRequest.ProtoReflect.Descriptor instead. 141 func (*DomainRequest) Descriptor() ([]byte, []int) { 142 return file_proto_eth_v1alpha1_validator_proto_rawDescGZIP(), []int{0} 143 } 144 145 func (x *DomainRequest) GetEpoch() github_com_prysmaticlabs_eth2_types.Epoch { 146 if x != nil { 147 return x.Epoch 148 } 149 return github_com_prysmaticlabs_eth2_types.Epoch(0) 150 } 151 152 func (x *DomainRequest) GetDomain() []byte { 153 if x != nil { 154 return x.Domain 155 } 156 return nil 157 } 158 159 type DomainResponse struct { 160 state protoimpl.MessageState 161 sizeCache protoimpl.SizeCache 162 unknownFields protoimpl.UnknownFields 163 164 SignatureDomain []byte `protobuf:"bytes,1,opt,name=signature_domain,json=signatureDomain,proto3" json:"signature_domain,omitempty"` 165 } 166 167 func (x *DomainResponse) Reset() { 168 *x = DomainResponse{} 169 if protoimpl.UnsafeEnabled { 170 mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[1] 171 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 172 ms.StoreMessageInfo(mi) 173 } 174 } 175 176 func (x *DomainResponse) String() string { 177 return protoimpl.X.MessageStringOf(x) 178 } 179 180 func (*DomainResponse) ProtoMessage() {} 181 182 func (x *DomainResponse) ProtoReflect() protoreflect.Message { 183 mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[1] 184 if protoimpl.UnsafeEnabled && x != nil { 185 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 186 if ms.LoadMessageInfo() == nil { 187 ms.StoreMessageInfo(mi) 188 } 189 return ms 190 } 191 return mi.MessageOf(x) 192 } 193 194 // Deprecated: Use DomainResponse.ProtoReflect.Descriptor instead. 195 func (*DomainResponse) Descriptor() ([]byte, []int) { 196 return file_proto_eth_v1alpha1_validator_proto_rawDescGZIP(), []int{1} 197 } 198 199 func (x *DomainResponse) GetSignatureDomain() []byte { 200 if x != nil { 201 return x.SignatureDomain 202 } 203 return nil 204 } 205 206 type ValidatorActivationRequest struct { 207 state protoimpl.MessageState 208 sizeCache protoimpl.SizeCache 209 unknownFields protoimpl.UnknownFields 210 211 PublicKeys [][]byte `protobuf:"bytes,1,rep,name=public_keys,json=publicKeys,proto3" json:"public_keys,omitempty" ssz-size:"?,48"` 212 } 213 214 func (x *ValidatorActivationRequest) Reset() { 215 *x = ValidatorActivationRequest{} 216 if protoimpl.UnsafeEnabled { 217 mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[2] 218 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 219 ms.StoreMessageInfo(mi) 220 } 221 } 222 223 func (x *ValidatorActivationRequest) String() string { 224 return protoimpl.X.MessageStringOf(x) 225 } 226 227 func (*ValidatorActivationRequest) ProtoMessage() {} 228 229 func (x *ValidatorActivationRequest) ProtoReflect() protoreflect.Message { 230 mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[2] 231 if protoimpl.UnsafeEnabled && x != nil { 232 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 233 if ms.LoadMessageInfo() == nil { 234 ms.StoreMessageInfo(mi) 235 } 236 return ms 237 } 238 return mi.MessageOf(x) 239 } 240 241 // Deprecated: Use ValidatorActivationRequest.ProtoReflect.Descriptor instead. 242 func (*ValidatorActivationRequest) Descriptor() ([]byte, []int) { 243 return file_proto_eth_v1alpha1_validator_proto_rawDescGZIP(), []int{2} 244 } 245 246 func (x *ValidatorActivationRequest) GetPublicKeys() [][]byte { 247 if x != nil { 248 return x.PublicKeys 249 } 250 return nil 251 } 252 253 type ValidatorActivationResponse struct { 254 state protoimpl.MessageState 255 sizeCache protoimpl.SizeCache 256 unknownFields protoimpl.UnknownFields 257 258 Statuses []*ValidatorActivationResponse_Status `protobuf:"bytes,1,rep,name=statuses,proto3" json:"statuses,omitempty"` 259 } 260 261 func (x *ValidatorActivationResponse) Reset() { 262 *x = ValidatorActivationResponse{} 263 if protoimpl.UnsafeEnabled { 264 mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[3] 265 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 266 ms.StoreMessageInfo(mi) 267 } 268 } 269 270 func (x *ValidatorActivationResponse) String() string { 271 return protoimpl.X.MessageStringOf(x) 272 } 273 274 func (*ValidatorActivationResponse) ProtoMessage() {} 275 276 func (x *ValidatorActivationResponse) ProtoReflect() protoreflect.Message { 277 mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[3] 278 if protoimpl.UnsafeEnabled && x != nil { 279 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 280 if ms.LoadMessageInfo() == nil { 281 ms.StoreMessageInfo(mi) 282 } 283 return ms 284 } 285 return mi.MessageOf(x) 286 } 287 288 // Deprecated: Use ValidatorActivationResponse.ProtoReflect.Descriptor instead. 289 func (*ValidatorActivationResponse) Descriptor() ([]byte, []int) { 290 return file_proto_eth_v1alpha1_validator_proto_rawDescGZIP(), []int{3} 291 } 292 293 func (x *ValidatorActivationResponse) GetStatuses() []*ValidatorActivationResponse_Status { 294 if x != nil { 295 return x.Statuses 296 } 297 return nil 298 } 299 300 type ChainStartResponse struct { 301 state protoimpl.MessageState 302 sizeCache protoimpl.SizeCache 303 unknownFields protoimpl.UnknownFields 304 305 Started bool `protobuf:"varint,1,opt,name=started,proto3" json:"started,omitempty"` 306 GenesisTime uint64 `protobuf:"varint,2,opt,name=genesis_time,json=genesisTime,proto3" json:"genesis_time,omitempty"` 307 GenesisValidatorsRoot []byte `protobuf:"bytes,3,opt,name=genesis_validators_root,json=genesisValidatorsRoot,proto3" json:"genesis_validators_root,omitempty" ssz-size:"32"` 308 } 309 310 func (x *ChainStartResponse) Reset() { 311 *x = ChainStartResponse{} 312 if protoimpl.UnsafeEnabled { 313 mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[4] 314 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 315 ms.StoreMessageInfo(mi) 316 } 317 } 318 319 func (x *ChainStartResponse) String() string { 320 return protoimpl.X.MessageStringOf(x) 321 } 322 323 func (*ChainStartResponse) ProtoMessage() {} 324 325 func (x *ChainStartResponse) ProtoReflect() protoreflect.Message { 326 mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[4] 327 if protoimpl.UnsafeEnabled && x != nil { 328 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 329 if ms.LoadMessageInfo() == nil { 330 ms.StoreMessageInfo(mi) 331 } 332 return ms 333 } 334 return mi.MessageOf(x) 335 } 336 337 // Deprecated: Use ChainStartResponse.ProtoReflect.Descriptor instead. 338 func (*ChainStartResponse) Descriptor() ([]byte, []int) { 339 return file_proto_eth_v1alpha1_validator_proto_rawDescGZIP(), []int{4} 340 } 341 342 func (x *ChainStartResponse) GetStarted() bool { 343 if x != nil { 344 return x.Started 345 } 346 return false 347 } 348 349 func (x *ChainStartResponse) GetGenesisTime() uint64 { 350 if x != nil { 351 return x.GenesisTime 352 } 353 return 0 354 } 355 356 func (x *ChainStartResponse) GetGenesisValidatorsRoot() []byte { 357 if x != nil { 358 return x.GenesisValidatorsRoot 359 } 360 return nil 361 } 362 363 type SyncedResponse struct { 364 state protoimpl.MessageState 365 sizeCache protoimpl.SizeCache 366 unknownFields protoimpl.UnknownFields 367 368 Synced bool `protobuf:"varint,1,opt,name=synced,proto3" json:"synced,omitempty"` 369 GenesisTime uint64 `protobuf:"varint,2,opt,name=genesis_time,json=genesisTime,proto3" json:"genesis_time,omitempty"` 370 } 371 372 func (x *SyncedResponse) Reset() { 373 *x = SyncedResponse{} 374 if protoimpl.UnsafeEnabled { 375 mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[5] 376 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 377 ms.StoreMessageInfo(mi) 378 } 379 } 380 381 func (x *SyncedResponse) String() string { 382 return protoimpl.X.MessageStringOf(x) 383 } 384 385 func (*SyncedResponse) ProtoMessage() {} 386 387 func (x *SyncedResponse) ProtoReflect() protoreflect.Message { 388 mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[5] 389 if protoimpl.UnsafeEnabled && x != nil { 390 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 391 if ms.LoadMessageInfo() == nil { 392 ms.StoreMessageInfo(mi) 393 } 394 return ms 395 } 396 return mi.MessageOf(x) 397 } 398 399 // Deprecated: Use SyncedResponse.ProtoReflect.Descriptor instead. 400 func (*SyncedResponse) Descriptor() ([]byte, []int) { 401 return file_proto_eth_v1alpha1_validator_proto_rawDescGZIP(), []int{5} 402 } 403 404 func (x *SyncedResponse) GetSynced() bool { 405 if x != nil { 406 return x.Synced 407 } 408 return false 409 } 410 411 func (x *SyncedResponse) GetGenesisTime() uint64 { 412 if x != nil { 413 return x.GenesisTime 414 } 415 return 0 416 } 417 418 type ValidatorIndexRequest struct { 419 state protoimpl.MessageState 420 sizeCache protoimpl.SizeCache 421 unknownFields protoimpl.UnknownFields 422 423 PublicKey []byte `protobuf:"bytes,1,opt,name=public_key,json=publicKey,proto3" json:"public_key,omitempty" ssz-size:"48"` 424 } 425 426 func (x *ValidatorIndexRequest) Reset() { 427 *x = ValidatorIndexRequest{} 428 if protoimpl.UnsafeEnabled { 429 mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[6] 430 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 431 ms.StoreMessageInfo(mi) 432 } 433 } 434 435 func (x *ValidatorIndexRequest) String() string { 436 return protoimpl.X.MessageStringOf(x) 437 } 438 439 func (*ValidatorIndexRequest) ProtoMessage() {} 440 441 func (x *ValidatorIndexRequest) ProtoReflect() protoreflect.Message { 442 mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[6] 443 if protoimpl.UnsafeEnabled && x != nil { 444 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 445 if ms.LoadMessageInfo() == nil { 446 ms.StoreMessageInfo(mi) 447 } 448 return ms 449 } 450 return mi.MessageOf(x) 451 } 452 453 // Deprecated: Use ValidatorIndexRequest.ProtoReflect.Descriptor instead. 454 func (*ValidatorIndexRequest) Descriptor() ([]byte, []int) { 455 return file_proto_eth_v1alpha1_validator_proto_rawDescGZIP(), []int{6} 456 } 457 458 func (x *ValidatorIndexRequest) GetPublicKey() []byte { 459 if x != nil { 460 return x.PublicKey 461 } 462 return nil 463 } 464 465 type ValidatorIndexResponse struct { 466 state protoimpl.MessageState 467 sizeCache protoimpl.SizeCache 468 unknownFields protoimpl.UnknownFields 469 470 Index github_com_prysmaticlabs_eth2_types.ValidatorIndex `protobuf:"varint,1,opt,name=index,proto3" json:"index,omitempty" cast-type:"github.com/prysmaticlabs/eth2-types.ValidatorIndex"` 471 } 472 473 func (x *ValidatorIndexResponse) Reset() { 474 *x = ValidatorIndexResponse{} 475 if protoimpl.UnsafeEnabled { 476 mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[7] 477 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 478 ms.StoreMessageInfo(mi) 479 } 480 } 481 482 func (x *ValidatorIndexResponse) String() string { 483 return protoimpl.X.MessageStringOf(x) 484 } 485 486 func (*ValidatorIndexResponse) ProtoMessage() {} 487 488 func (x *ValidatorIndexResponse) ProtoReflect() protoreflect.Message { 489 mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[7] 490 if protoimpl.UnsafeEnabled && x != nil { 491 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 492 if ms.LoadMessageInfo() == nil { 493 ms.StoreMessageInfo(mi) 494 } 495 return ms 496 } 497 return mi.MessageOf(x) 498 } 499 500 // Deprecated: Use ValidatorIndexResponse.ProtoReflect.Descriptor instead. 501 func (*ValidatorIndexResponse) Descriptor() ([]byte, []int) { 502 return file_proto_eth_v1alpha1_validator_proto_rawDescGZIP(), []int{7} 503 } 504 505 func (x *ValidatorIndexResponse) GetIndex() github_com_prysmaticlabs_eth2_types.ValidatorIndex { 506 if x != nil { 507 return x.Index 508 } 509 return github_com_prysmaticlabs_eth2_types.ValidatorIndex(0) 510 } 511 512 type ValidatorStatusRequest struct { 513 state protoimpl.MessageState 514 sizeCache protoimpl.SizeCache 515 unknownFields protoimpl.UnknownFields 516 517 PublicKey []byte `protobuf:"bytes,1,opt,name=public_key,json=publicKey,proto3" json:"public_key,omitempty" ssz-size:"48"` 518 } 519 520 func (x *ValidatorStatusRequest) Reset() { 521 *x = ValidatorStatusRequest{} 522 if protoimpl.UnsafeEnabled { 523 mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[8] 524 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 525 ms.StoreMessageInfo(mi) 526 } 527 } 528 529 func (x *ValidatorStatusRequest) String() string { 530 return protoimpl.X.MessageStringOf(x) 531 } 532 533 func (*ValidatorStatusRequest) ProtoMessage() {} 534 535 func (x *ValidatorStatusRequest) ProtoReflect() protoreflect.Message { 536 mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[8] 537 if protoimpl.UnsafeEnabled && x != nil { 538 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 539 if ms.LoadMessageInfo() == nil { 540 ms.StoreMessageInfo(mi) 541 } 542 return ms 543 } 544 return mi.MessageOf(x) 545 } 546 547 // Deprecated: Use ValidatorStatusRequest.ProtoReflect.Descriptor instead. 548 func (*ValidatorStatusRequest) Descriptor() ([]byte, []int) { 549 return file_proto_eth_v1alpha1_validator_proto_rawDescGZIP(), []int{8} 550 } 551 552 func (x *ValidatorStatusRequest) GetPublicKey() []byte { 553 if x != nil { 554 return x.PublicKey 555 } 556 return nil 557 } 558 559 type ValidatorStatusResponse struct { 560 state protoimpl.MessageState 561 sizeCache protoimpl.SizeCache 562 unknownFields protoimpl.UnknownFields 563 564 Status ValidatorStatus `protobuf:"varint,1,opt,name=status,proto3,enum=ethereum.eth.v1alpha1.ValidatorStatus" json:"status,omitempty"` 565 Eth1DepositBlockNumber uint64 `protobuf:"varint,2,opt,name=eth1_deposit_block_number,json=eth1DepositBlockNumber,proto3" json:"eth1_deposit_block_number,omitempty"` 566 DepositInclusionSlot github_com_prysmaticlabs_eth2_types.Slot `protobuf:"varint,3,opt,name=deposit_inclusion_slot,json=depositInclusionSlot,proto3" json:"deposit_inclusion_slot,omitempty" cast-type:"github.com/prysmaticlabs/eth2-types.Slot"` 567 ActivationEpoch github_com_prysmaticlabs_eth2_types.Epoch `protobuf:"varint,4,opt,name=activation_epoch,json=activationEpoch,proto3" json:"activation_epoch,omitempty" cast-type:"github.com/prysmaticlabs/eth2-types.Epoch"` 568 PositionInActivationQueue uint64 `protobuf:"varint,5,opt,name=position_in_activation_queue,json=positionInActivationQueue,proto3" json:"position_in_activation_queue,omitempty"` 569 } 570 571 func (x *ValidatorStatusResponse) Reset() { 572 *x = ValidatorStatusResponse{} 573 if protoimpl.UnsafeEnabled { 574 mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[9] 575 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 576 ms.StoreMessageInfo(mi) 577 } 578 } 579 580 func (x *ValidatorStatusResponse) String() string { 581 return protoimpl.X.MessageStringOf(x) 582 } 583 584 func (*ValidatorStatusResponse) ProtoMessage() {} 585 586 func (x *ValidatorStatusResponse) ProtoReflect() protoreflect.Message { 587 mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[9] 588 if protoimpl.UnsafeEnabled && x != nil { 589 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 590 if ms.LoadMessageInfo() == nil { 591 ms.StoreMessageInfo(mi) 592 } 593 return ms 594 } 595 return mi.MessageOf(x) 596 } 597 598 // Deprecated: Use ValidatorStatusResponse.ProtoReflect.Descriptor instead. 599 func (*ValidatorStatusResponse) Descriptor() ([]byte, []int) { 600 return file_proto_eth_v1alpha1_validator_proto_rawDescGZIP(), []int{9} 601 } 602 603 func (x *ValidatorStatusResponse) GetStatus() ValidatorStatus { 604 if x != nil { 605 return x.Status 606 } 607 return ValidatorStatus_UNKNOWN_STATUS 608 } 609 610 func (x *ValidatorStatusResponse) GetEth1DepositBlockNumber() uint64 { 611 if x != nil { 612 return x.Eth1DepositBlockNumber 613 } 614 return 0 615 } 616 617 func (x *ValidatorStatusResponse) GetDepositInclusionSlot() github_com_prysmaticlabs_eth2_types.Slot { 618 if x != nil { 619 return x.DepositInclusionSlot 620 } 621 return github_com_prysmaticlabs_eth2_types.Slot(0) 622 } 623 624 func (x *ValidatorStatusResponse) GetActivationEpoch() github_com_prysmaticlabs_eth2_types.Epoch { 625 if x != nil { 626 return x.ActivationEpoch 627 } 628 return github_com_prysmaticlabs_eth2_types.Epoch(0) 629 } 630 631 func (x *ValidatorStatusResponse) GetPositionInActivationQueue() uint64 { 632 if x != nil { 633 return x.PositionInActivationQueue 634 } 635 return 0 636 } 637 638 type MultipleValidatorStatusRequest struct { 639 state protoimpl.MessageState 640 sizeCache protoimpl.SizeCache 641 unknownFields protoimpl.UnknownFields 642 643 PublicKeys [][]byte `protobuf:"bytes,1,rep,name=public_keys,json=publicKeys,proto3" json:"public_keys,omitempty" ssz-size:"?,48"` 644 Indices []int64 `protobuf:"varint,2,rep,packed,name=indices,proto3" json:"indices,omitempty"` 645 } 646 647 func (x *MultipleValidatorStatusRequest) Reset() { 648 *x = MultipleValidatorStatusRequest{} 649 if protoimpl.UnsafeEnabled { 650 mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[10] 651 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 652 ms.StoreMessageInfo(mi) 653 } 654 } 655 656 func (x *MultipleValidatorStatusRequest) String() string { 657 return protoimpl.X.MessageStringOf(x) 658 } 659 660 func (*MultipleValidatorStatusRequest) ProtoMessage() {} 661 662 func (x *MultipleValidatorStatusRequest) ProtoReflect() protoreflect.Message { 663 mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[10] 664 if protoimpl.UnsafeEnabled && x != nil { 665 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 666 if ms.LoadMessageInfo() == nil { 667 ms.StoreMessageInfo(mi) 668 } 669 return ms 670 } 671 return mi.MessageOf(x) 672 } 673 674 // Deprecated: Use MultipleValidatorStatusRequest.ProtoReflect.Descriptor instead. 675 func (*MultipleValidatorStatusRequest) Descriptor() ([]byte, []int) { 676 return file_proto_eth_v1alpha1_validator_proto_rawDescGZIP(), []int{10} 677 } 678 679 func (x *MultipleValidatorStatusRequest) GetPublicKeys() [][]byte { 680 if x != nil { 681 return x.PublicKeys 682 } 683 return nil 684 } 685 686 func (x *MultipleValidatorStatusRequest) GetIndices() []int64 { 687 if x != nil { 688 return x.Indices 689 } 690 return nil 691 } 692 693 type MultipleValidatorStatusResponse struct { 694 state protoimpl.MessageState 695 sizeCache protoimpl.SizeCache 696 unknownFields protoimpl.UnknownFields 697 698 PublicKeys [][]byte `protobuf:"bytes,1,rep,name=public_keys,json=publicKeys,proto3" json:"public_keys,omitempty" ssz-size:"?,48"` 699 Statuses []*ValidatorStatusResponse `protobuf:"bytes,2,rep,name=statuses,proto3" json:"statuses,omitempty"` 700 Indices []github_com_prysmaticlabs_eth2_types.ValidatorIndex `protobuf:"varint,3,rep,packed,name=indices,proto3" json:"indices,omitempty" cast-type:"github.com/prysmaticlabs/eth2-types.ValidatorIndex"` 701 } 702 703 func (x *MultipleValidatorStatusResponse) Reset() { 704 *x = MultipleValidatorStatusResponse{} 705 if protoimpl.UnsafeEnabled { 706 mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[11] 707 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 708 ms.StoreMessageInfo(mi) 709 } 710 } 711 712 func (x *MultipleValidatorStatusResponse) String() string { 713 return protoimpl.X.MessageStringOf(x) 714 } 715 716 func (*MultipleValidatorStatusResponse) ProtoMessage() {} 717 718 func (x *MultipleValidatorStatusResponse) ProtoReflect() protoreflect.Message { 719 mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[11] 720 if protoimpl.UnsafeEnabled && x != nil { 721 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 722 if ms.LoadMessageInfo() == nil { 723 ms.StoreMessageInfo(mi) 724 } 725 return ms 726 } 727 return mi.MessageOf(x) 728 } 729 730 // Deprecated: Use MultipleValidatorStatusResponse.ProtoReflect.Descriptor instead. 731 func (*MultipleValidatorStatusResponse) Descriptor() ([]byte, []int) { 732 return file_proto_eth_v1alpha1_validator_proto_rawDescGZIP(), []int{11} 733 } 734 735 func (x *MultipleValidatorStatusResponse) GetPublicKeys() [][]byte { 736 if x != nil { 737 return x.PublicKeys 738 } 739 return nil 740 } 741 742 func (x *MultipleValidatorStatusResponse) GetStatuses() []*ValidatorStatusResponse { 743 if x != nil { 744 return x.Statuses 745 } 746 return nil 747 } 748 749 func (x *MultipleValidatorStatusResponse) GetIndices() []github_com_prysmaticlabs_eth2_types.ValidatorIndex { 750 if x != nil { 751 return x.Indices 752 } 753 return []github_com_prysmaticlabs_eth2_types.ValidatorIndex(nil) 754 } 755 756 type DutiesRequest struct { 757 state protoimpl.MessageState 758 sizeCache protoimpl.SizeCache 759 unknownFields protoimpl.UnknownFields 760 761 Epoch github_com_prysmaticlabs_eth2_types.Epoch `protobuf:"varint,1,opt,name=epoch,proto3" json:"epoch,omitempty" cast-type:"github.com/prysmaticlabs/eth2-types.Epoch"` 762 PublicKeys [][]byte `protobuf:"bytes,2,rep,name=public_keys,json=publicKeys,proto3" json:"public_keys,omitempty" ssz-size:"?,48"` 763 } 764 765 func (x *DutiesRequest) Reset() { 766 *x = DutiesRequest{} 767 if protoimpl.UnsafeEnabled { 768 mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[12] 769 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 770 ms.StoreMessageInfo(mi) 771 } 772 } 773 774 func (x *DutiesRequest) String() string { 775 return protoimpl.X.MessageStringOf(x) 776 } 777 778 func (*DutiesRequest) ProtoMessage() {} 779 780 func (x *DutiesRequest) ProtoReflect() protoreflect.Message { 781 mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[12] 782 if protoimpl.UnsafeEnabled && x != nil { 783 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 784 if ms.LoadMessageInfo() == nil { 785 ms.StoreMessageInfo(mi) 786 } 787 return ms 788 } 789 return mi.MessageOf(x) 790 } 791 792 // Deprecated: Use DutiesRequest.ProtoReflect.Descriptor instead. 793 func (*DutiesRequest) Descriptor() ([]byte, []int) { 794 return file_proto_eth_v1alpha1_validator_proto_rawDescGZIP(), []int{12} 795 } 796 797 func (x *DutiesRequest) GetEpoch() github_com_prysmaticlabs_eth2_types.Epoch { 798 if x != nil { 799 return x.Epoch 800 } 801 return github_com_prysmaticlabs_eth2_types.Epoch(0) 802 } 803 804 func (x *DutiesRequest) GetPublicKeys() [][]byte { 805 if x != nil { 806 return x.PublicKeys 807 } 808 return nil 809 } 810 811 type DutiesResponse struct { 812 state protoimpl.MessageState 813 sizeCache protoimpl.SizeCache 814 unknownFields protoimpl.UnknownFields 815 816 // Deprecated: Do not use. 817 Duties []*DutiesResponse_Duty `protobuf:"bytes,1,rep,name=duties,proto3" json:"duties,omitempty"` 818 CurrentEpochDuties []*DutiesResponse_Duty `protobuf:"bytes,2,rep,name=current_epoch_duties,json=currentEpochDuties,proto3" json:"current_epoch_duties,omitempty"` 819 NextEpochDuties []*DutiesResponse_Duty `protobuf:"bytes,3,rep,name=next_epoch_duties,json=nextEpochDuties,proto3" json:"next_epoch_duties,omitempty"` 820 } 821 822 func (x *DutiesResponse) Reset() { 823 *x = DutiesResponse{} 824 if protoimpl.UnsafeEnabled { 825 mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[13] 826 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 827 ms.StoreMessageInfo(mi) 828 } 829 } 830 831 func (x *DutiesResponse) String() string { 832 return protoimpl.X.MessageStringOf(x) 833 } 834 835 func (*DutiesResponse) ProtoMessage() {} 836 837 func (x *DutiesResponse) ProtoReflect() protoreflect.Message { 838 mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[13] 839 if protoimpl.UnsafeEnabled && x != nil { 840 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 841 if ms.LoadMessageInfo() == nil { 842 ms.StoreMessageInfo(mi) 843 } 844 return ms 845 } 846 return mi.MessageOf(x) 847 } 848 849 // Deprecated: Use DutiesResponse.ProtoReflect.Descriptor instead. 850 func (*DutiesResponse) Descriptor() ([]byte, []int) { 851 return file_proto_eth_v1alpha1_validator_proto_rawDescGZIP(), []int{13} 852 } 853 854 // Deprecated: Do not use. 855 func (x *DutiesResponse) GetDuties() []*DutiesResponse_Duty { 856 if x != nil { 857 return x.Duties 858 } 859 return nil 860 } 861 862 func (x *DutiesResponse) GetCurrentEpochDuties() []*DutiesResponse_Duty { 863 if x != nil { 864 return x.CurrentEpochDuties 865 } 866 return nil 867 } 868 869 func (x *DutiesResponse) GetNextEpochDuties() []*DutiesResponse_Duty { 870 if x != nil { 871 return x.NextEpochDuties 872 } 873 return nil 874 } 875 876 type BlockRequest struct { 877 state protoimpl.MessageState 878 sizeCache protoimpl.SizeCache 879 unknownFields protoimpl.UnknownFields 880 881 Slot github_com_prysmaticlabs_eth2_types.Slot `protobuf:"varint,1,opt,name=slot,proto3" json:"slot,omitempty" cast-type:"github.com/prysmaticlabs/eth2-types.Slot"` 882 RandaoReveal []byte `protobuf:"bytes,2,opt,name=randao_reveal,json=randaoReveal,proto3" json:"randao_reveal,omitempty" ssz-size:"48"` 883 Graffiti []byte `protobuf:"bytes,3,opt,name=graffiti,proto3" json:"graffiti,omitempty" ssz-size:"32"` 884 } 885 886 func (x *BlockRequest) Reset() { 887 *x = BlockRequest{} 888 if protoimpl.UnsafeEnabled { 889 mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[14] 890 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 891 ms.StoreMessageInfo(mi) 892 } 893 } 894 895 func (x *BlockRequest) String() string { 896 return protoimpl.X.MessageStringOf(x) 897 } 898 899 func (*BlockRequest) ProtoMessage() {} 900 901 func (x *BlockRequest) ProtoReflect() protoreflect.Message { 902 mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[14] 903 if protoimpl.UnsafeEnabled && x != nil { 904 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 905 if ms.LoadMessageInfo() == nil { 906 ms.StoreMessageInfo(mi) 907 } 908 return ms 909 } 910 return mi.MessageOf(x) 911 } 912 913 // Deprecated: Use BlockRequest.ProtoReflect.Descriptor instead. 914 func (*BlockRequest) Descriptor() ([]byte, []int) { 915 return file_proto_eth_v1alpha1_validator_proto_rawDescGZIP(), []int{14} 916 } 917 918 func (x *BlockRequest) GetSlot() github_com_prysmaticlabs_eth2_types.Slot { 919 if x != nil { 920 return x.Slot 921 } 922 return github_com_prysmaticlabs_eth2_types.Slot(0) 923 } 924 925 func (x *BlockRequest) GetRandaoReveal() []byte { 926 if x != nil { 927 return x.RandaoReveal 928 } 929 return nil 930 } 931 932 func (x *BlockRequest) GetGraffiti() []byte { 933 if x != nil { 934 return x.Graffiti 935 } 936 return nil 937 } 938 939 type ProposeResponse struct { 940 state protoimpl.MessageState 941 sizeCache protoimpl.SizeCache 942 unknownFields protoimpl.UnknownFields 943 944 BlockRoot []byte `protobuf:"bytes,1,opt,name=block_root,json=blockRoot,proto3" json:"block_root,omitempty" ssz-size:"32"` 945 } 946 947 func (x *ProposeResponse) Reset() { 948 *x = ProposeResponse{} 949 if protoimpl.UnsafeEnabled { 950 mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[15] 951 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 952 ms.StoreMessageInfo(mi) 953 } 954 } 955 956 func (x *ProposeResponse) String() string { 957 return protoimpl.X.MessageStringOf(x) 958 } 959 960 func (*ProposeResponse) ProtoMessage() {} 961 962 func (x *ProposeResponse) ProtoReflect() protoreflect.Message { 963 mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[15] 964 if protoimpl.UnsafeEnabled && x != nil { 965 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 966 if ms.LoadMessageInfo() == nil { 967 ms.StoreMessageInfo(mi) 968 } 969 return ms 970 } 971 return mi.MessageOf(x) 972 } 973 974 // Deprecated: Use ProposeResponse.ProtoReflect.Descriptor instead. 975 func (*ProposeResponse) Descriptor() ([]byte, []int) { 976 return file_proto_eth_v1alpha1_validator_proto_rawDescGZIP(), []int{15} 977 } 978 979 func (x *ProposeResponse) GetBlockRoot() []byte { 980 if x != nil { 981 return x.BlockRoot 982 } 983 return nil 984 } 985 986 type ProposeExitResponse struct { 987 state protoimpl.MessageState 988 sizeCache protoimpl.SizeCache 989 unknownFields protoimpl.UnknownFields 990 991 ExitRoot []byte `protobuf:"bytes,1,opt,name=exit_root,json=exitRoot,proto3" json:"exit_root,omitempty" ssz-size:"32"` 992 } 993 994 func (x *ProposeExitResponse) Reset() { 995 *x = ProposeExitResponse{} 996 if protoimpl.UnsafeEnabled { 997 mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[16] 998 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 999 ms.StoreMessageInfo(mi) 1000 } 1001 } 1002 1003 func (x *ProposeExitResponse) String() string { 1004 return protoimpl.X.MessageStringOf(x) 1005 } 1006 1007 func (*ProposeExitResponse) ProtoMessage() {} 1008 1009 func (x *ProposeExitResponse) ProtoReflect() protoreflect.Message { 1010 mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[16] 1011 if protoimpl.UnsafeEnabled && x != nil { 1012 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1013 if ms.LoadMessageInfo() == nil { 1014 ms.StoreMessageInfo(mi) 1015 } 1016 return ms 1017 } 1018 return mi.MessageOf(x) 1019 } 1020 1021 // Deprecated: Use ProposeExitResponse.ProtoReflect.Descriptor instead. 1022 func (*ProposeExitResponse) Descriptor() ([]byte, []int) { 1023 return file_proto_eth_v1alpha1_validator_proto_rawDescGZIP(), []int{16} 1024 } 1025 1026 func (x *ProposeExitResponse) GetExitRoot() []byte { 1027 if x != nil { 1028 return x.ExitRoot 1029 } 1030 return nil 1031 } 1032 1033 type AttestationDataRequest struct { 1034 state protoimpl.MessageState 1035 sizeCache protoimpl.SizeCache 1036 unknownFields protoimpl.UnknownFields 1037 1038 Slot github_com_prysmaticlabs_eth2_types.Slot `protobuf:"varint,1,opt,name=slot,proto3" json:"slot,omitempty" cast-type:"github.com/prysmaticlabs/eth2-types.Slot"` 1039 CommitteeIndex github_com_prysmaticlabs_eth2_types.CommitteeIndex `protobuf:"varint,2,opt,name=committee_index,json=committeeIndex,proto3" json:"committee_index,omitempty" cast-type:"github.com/prysmaticlabs/eth2-types.CommitteeIndex"` 1040 } 1041 1042 func (x *AttestationDataRequest) Reset() { 1043 *x = AttestationDataRequest{} 1044 if protoimpl.UnsafeEnabled { 1045 mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[17] 1046 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1047 ms.StoreMessageInfo(mi) 1048 } 1049 } 1050 1051 func (x *AttestationDataRequest) String() string { 1052 return protoimpl.X.MessageStringOf(x) 1053 } 1054 1055 func (*AttestationDataRequest) ProtoMessage() {} 1056 1057 func (x *AttestationDataRequest) ProtoReflect() protoreflect.Message { 1058 mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[17] 1059 if protoimpl.UnsafeEnabled && x != nil { 1060 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1061 if ms.LoadMessageInfo() == nil { 1062 ms.StoreMessageInfo(mi) 1063 } 1064 return ms 1065 } 1066 return mi.MessageOf(x) 1067 } 1068 1069 // Deprecated: Use AttestationDataRequest.ProtoReflect.Descriptor instead. 1070 func (*AttestationDataRequest) Descriptor() ([]byte, []int) { 1071 return file_proto_eth_v1alpha1_validator_proto_rawDescGZIP(), []int{17} 1072 } 1073 1074 func (x *AttestationDataRequest) GetSlot() github_com_prysmaticlabs_eth2_types.Slot { 1075 if x != nil { 1076 return x.Slot 1077 } 1078 return github_com_prysmaticlabs_eth2_types.Slot(0) 1079 } 1080 1081 func (x *AttestationDataRequest) GetCommitteeIndex() github_com_prysmaticlabs_eth2_types.CommitteeIndex { 1082 if x != nil { 1083 return x.CommitteeIndex 1084 } 1085 return github_com_prysmaticlabs_eth2_types.CommitteeIndex(0) 1086 } 1087 1088 type AttestResponse struct { 1089 state protoimpl.MessageState 1090 sizeCache protoimpl.SizeCache 1091 unknownFields protoimpl.UnknownFields 1092 1093 AttestationDataRoot []byte `protobuf:"bytes,1,opt,name=attestation_data_root,json=attestationDataRoot,proto3" json:"attestation_data_root,omitempty" ssz-size:"32"` 1094 } 1095 1096 func (x *AttestResponse) Reset() { 1097 *x = AttestResponse{} 1098 if protoimpl.UnsafeEnabled { 1099 mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[18] 1100 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1101 ms.StoreMessageInfo(mi) 1102 } 1103 } 1104 1105 func (x *AttestResponse) String() string { 1106 return protoimpl.X.MessageStringOf(x) 1107 } 1108 1109 func (*AttestResponse) ProtoMessage() {} 1110 1111 func (x *AttestResponse) ProtoReflect() protoreflect.Message { 1112 mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[18] 1113 if protoimpl.UnsafeEnabled && x != nil { 1114 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1115 if ms.LoadMessageInfo() == nil { 1116 ms.StoreMessageInfo(mi) 1117 } 1118 return ms 1119 } 1120 return mi.MessageOf(x) 1121 } 1122 1123 // Deprecated: Use AttestResponse.ProtoReflect.Descriptor instead. 1124 func (*AttestResponse) Descriptor() ([]byte, []int) { 1125 return file_proto_eth_v1alpha1_validator_proto_rawDescGZIP(), []int{18} 1126 } 1127 1128 func (x *AttestResponse) GetAttestationDataRoot() []byte { 1129 if x != nil { 1130 return x.AttestationDataRoot 1131 } 1132 return nil 1133 } 1134 1135 type AggregateSelectionRequest struct { 1136 state protoimpl.MessageState 1137 sizeCache protoimpl.SizeCache 1138 unknownFields protoimpl.UnknownFields 1139 1140 Slot github_com_prysmaticlabs_eth2_types.Slot `protobuf:"varint,1,opt,name=slot,proto3" json:"slot,omitempty" cast-type:"github.com/prysmaticlabs/eth2-types.Slot"` 1141 CommitteeIndex github_com_prysmaticlabs_eth2_types.CommitteeIndex `protobuf:"varint,2,opt,name=committee_index,json=committeeIndex,proto3" json:"committee_index,omitempty" cast-type:"github.com/prysmaticlabs/eth2-types.CommitteeIndex"` 1142 PublicKey []byte `protobuf:"bytes,3,opt,name=public_key,json=publicKey,proto3" json:"public_key,omitempty" spec-name:"pubkey" ssz-size:"48"` 1143 SlotSignature []byte `protobuf:"bytes,4,opt,name=slot_signature,json=slotSignature,proto3" json:"slot_signature,omitempty" ssz-size:"96"` 1144 } 1145 1146 func (x *AggregateSelectionRequest) Reset() { 1147 *x = AggregateSelectionRequest{} 1148 if protoimpl.UnsafeEnabled { 1149 mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[19] 1150 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1151 ms.StoreMessageInfo(mi) 1152 } 1153 } 1154 1155 func (x *AggregateSelectionRequest) String() string { 1156 return protoimpl.X.MessageStringOf(x) 1157 } 1158 1159 func (*AggregateSelectionRequest) ProtoMessage() {} 1160 1161 func (x *AggregateSelectionRequest) ProtoReflect() protoreflect.Message { 1162 mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[19] 1163 if protoimpl.UnsafeEnabled && x != nil { 1164 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1165 if ms.LoadMessageInfo() == nil { 1166 ms.StoreMessageInfo(mi) 1167 } 1168 return ms 1169 } 1170 return mi.MessageOf(x) 1171 } 1172 1173 // Deprecated: Use AggregateSelectionRequest.ProtoReflect.Descriptor instead. 1174 func (*AggregateSelectionRequest) Descriptor() ([]byte, []int) { 1175 return file_proto_eth_v1alpha1_validator_proto_rawDescGZIP(), []int{19} 1176 } 1177 1178 func (x *AggregateSelectionRequest) GetSlot() github_com_prysmaticlabs_eth2_types.Slot { 1179 if x != nil { 1180 return x.Slot 1181 } 1182 return github_com_prysmaticlabs_eth2_types.Slot(0) 1183 } 1184 1185 func (x *AggregateSelectionRequest) GetCommitteeIndex() github_com_prysmaticlabs_eth2_types.CommitteeIndex { 1186 if x != nil { 1187 return x.CommitteeIndex 1188 } 1189 return github_com_prysmaticlabs_eth2_types.CommitteeIndex(0) 1190 } 1191 1192 func (x *AggregateSelectionRequest) GetPublicKey() []byte { 1193 if x != nil { 1194 return x.PublicKey 1195 } 1196 return nil 1197 } 1198 1199 func (x *AggregateSelectionRequest) GetSlotSignature() []byte { 1200 if x != nil { 1201 return x.SlotSignature 1202 } 1203 return nil 1204 } 1205 1206 type AggregateSelectionResponse struct { 1207 state protoimpl.MessageState 1208 sizeCache protoimpl.SizeCache 1209 unknownFields protoimpl.UnknownFields 1210 1211 AggregateAndProof *AggregateAttestationAndProof `protobuf:"bytes,1,opt,name=aggregate_and_proof,json=aggregateAndProof,proto3" json:"aggregate_and_proof,omitempty"` 1212 } 1213 1214 func (x *AggregateSelectionResponse) Reset() { 1215 *x = AggregateSelectionResponse{} 1216 if protoimpl.UnsafeEnabled { 1217 mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[20] 1218 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1219 ms.StoreMessageInfo(mi) 1220 } 1221 } 1222 1223 func (x *AggregateSelectionResponse) String() string { 1224 return protoimpl.X.MessageStringOf(x) 1225 } 1226 1227 func (*AggregateSelectionResponse) ProtoMessage() {} 1228 1229 func (x *AggregateSelectionResponse) ProtoReflect() protoreflect.Message { 1230 mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[20] 1231 if protoimpl.UnsafeEnabled && x != nil { 1232 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1233 if ms.LoadMessageInfo() == nil { 1234 ms.StoreMessageInfo(mi) 1235 } 1236 return ms 1237 } 1238 return mi.MessageOf(x) 1239 } 1240 1241 // Deprecated: Use AggregateSelectionResponse.ProtoReflect.Descriptor instead. 1242 func (*AggregateSelectionResponse) Descriptor() ([]byte, []int) { 1243 return file_proto_eth_v1alpha1_validator_proto_rawDescGZIP(), []int{20} 1244 } 1245 1246 func (x *AggregateSelectionResponse) GetAggregateAndProof() *AggregateAttestationAndProof { 1247 if x != nil { 1248 return x.AggregateAndProof 1249 } 1250 return nil 1251 } 1252 1253 type SignedAggregateSubmitRequest struct { 1254 state protoimpl.MessageState 1255 sizeCache protoimpl.SizeCache 1256 unknownFields protoimpl.UnknownFields 1257 1258 SignedAggregateAndProof *SignedAggregateAttestationAndProof `protobuf:"bytes,1,opt,name=signed_aggregate_and_proof,json=signedAggregateAndProof,proto3" json:"signed_aggregate_and_proof,omitempty"` 1259 } 1260 1261 func (x *SignedAggregateSubmitRequest) Reset() { 1262 *x = SignedAggregateSubmitRequest{} 1263 if protoimpl.UnsafeEnabled { 1264 mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[21] 1265 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1266 ms.StoreMessageInfo(mi) 1267 } 1268 } 1269 1270 func (x *SignedAggregateSubmitRequest) String() string { 1271 return protoimpl.X.MessageStringOf(x) 1272 } 1273 1274 func (*SignedAggregateSubmitRequest) ProtoMessage() {} 1275 1276 func (x *SignedAggregateSubmitRequest) ProtoReflect() protoreflect.Message { 1277 mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[21] 1278 if protoimpl.UnsafeEnabled && x != nil { 1279 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1280 if ms.LoadMessageInfo() == nil { 1281 ms.StoreMessageInfo(mi) 1282 } 1283 return ms 1284 } 1285 return mi.MessageOf(x) 1286 } 1287 1288 // Deprecated: Use SignedAggregateSubmitRequest.ProtoReflect.Descriptor instead. 1289 func (*SignedAggregateSubmitRequest) Descriptor() ([]byte, []int) { 1290 return file_proto_eth_v1alpha1_validator_proto_rawDescGZIP(), []int{21} 1291 } 1292 1293 func (x *SignedAggregateSubmitRequest) GetSignedAggregateAndProof() *SignedAggregateAttestationAndProof { 1294 if x != nil { 1295 return x.SignedAggregateAndProof 1296 } 1297 return nil 1298 } 1299 1300 type SignedAggregateSubmitResponse struct { 1301 state protoimpl.MessageState 1302 sizeCache protoimpl.SizeCache 1303 unknownFields protoimpl.UnknownFields 1304 1305 AttestationDataRoot []byte `protobuf:"bytes,1,opt,name=attestation_data_root,json=attestationDataRoot,proto3" json:"attestation_data_root,omitempty" ssz-size:"32"` 1306 } 1307 1308 func (x *SignedAggregateSubmitResponse) Reset() { 1309 *x = SignedAggregateSubmitResponse{} 1310 if protoimpl.UnsafeEnabled { 1311 mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[22] 1312 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1313 ms.StoreMessageInfo(mi) 1314 } 1315 } 1316 1317 func (x *SignedAggregateSubmitResponse) String() string { 1318 return protoimpl.X.MessageStringOf(x) 1319 } 1320 1321 func (*SignedAggregateSubmitResponse) ProtoMessage() {} 1322 1323 func (x *SignedAggregateSubmitResponse) ProtoReflect() protoreflect.Message { 1324 mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[22] 1325 if protoimpl.UnsafeEnabled && x != nil { 1326 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1327 if ms.LoadMessageInfo() == nil { 1328 ms.StoreMessageInfo(mi) 1329 } 1330 return ms 1331 } 1332 return mi.MessageOf(x) 1333 } 1334 1335 // Deprecated: Use SignedAggregateSubmitResponse.ProtoReflect.Descriptor instead. 1336 func (*SignedAggregateSubmitResponse) Descriptor() ([]byte, []int) { 1337 return file_proto_eth_v1alpha1_validator_proto_rawDescGZIP(), []int{22} 1338 } 1339 1340 func (x *SignedAggregateSubmitResponse) GetAttestationDataRoot() []byte { 1341 if x != nil { 1342 return x.AttestationDataRoot 1343 } 1344 return nil 1345 } 1346 1347 type CommitteeSubnetsSubscribeRequest struct { 1348 state protoimpl.MessageState 1349 sizeCache protoimpl.SizeCache 1350 unknownFields protoimpl.UnknownFields 1351 1352 Slots []github_com_prysmaticlabs_eth2_types.Slot `protobuf:"varint,1,rep,packed,name=slots,proto3" json:"slots,omitempty" cast-type:"github.com/prysmaticlabs/eth2-types.Slot"` 1353 CommitteeIds []github_com_prysmaticlabs_eth2_types.CommitteeIndex `protobuf:"varint,2,rep,packed,name=committee_ids,json=committeeIds,proto3" json:"committee_ids,omitempty" cast-type:"github.com/prysmaticlabs/eth2-types.CommitteeIndex"` 1354 IsAggregator []bool `protobuf:"varint,3,rep,packed,name=is_aggregator,json=isAggregator,proto3" json:"is_aggregator,omitempty"` 1355 } 1356 1357 func (x *CommitteeSubnetsSubscribeRequest) Reset() { 1358 *x = CommitteeSubnetsSubscribeRequest{} 1359 if protoimpl.UnsafeEnabled { 1360 mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[23] 1361 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1362 ms.StoreMessageInfo(mi) 1363 } 1364 } 1365 1366 func (x *CommitteeSubnetsSubscribeRequest) String() string { 1367 return protoimpl.X.MessageStringOf(x) 1368 } 1369 1370 func (*CommitteeSubnetsSubscribeRequest) ProtoMessage() {} 1371 1372 func (x *CommitteeSubnetsSubscribeRequest) ProtoReflect() protoreflect.Message { 1373 mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[23] 1374 if protoimpl.UnsafeEnabled && x != nil { 1375 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1376 if ms.LoadMessageInfo() == nil { 1377 ms.StoreMessageInfo(mi) 1378 } 1379 return ms 1380 } 1381 return mi.MessageOf(x) 1382 } 1383 1384 // Deprecated: Use CommitteeSubnetsSubscribeRequest.ProtoReflect.Descriptor instead. 1385 func (*CommitteeSubnetsSubscribeRequest) Descriptor() ([]byte, []int) { 1386 return file_proto_eth_v1alpha1_validator_proto_rawDescGZIP(), []int{23} 1387 } 1388 1389 func (x *CommitteeSubnetsSubscribeRequest) GetSlots() []github_com_prysmaticlabs_eth2_types.Slot { 1390 if x != nil { 1391 return x.Slots 1392 } 1393 return []github_com_prysmaticlabs_eth2_types.Slot(nil) 1394 } 1395 1396 func (x *CommitteeSubnetsSubscribeRequest) GetCommitteeIds() []github_com_prysmaticlabs_eth2_types.CommitteeIndex { 1397 if x != nil { 1398 return x.CommitteeIds 1399 } 1400 return []github_com_prysmaticlabs_eth2_types.CommitteeIndex(nil) 1401 } 1402 1403 func (x *CommitteeSubnetsSubscribeRequest) GetIsAggregator() []bool { 1404 if x != nil { 1405 return x.IsAggregator 1406 } 1407 return nil 1408 } 1409 1410 type Validator struct { 1411 state protoimpl.MessageState 1412 sizeCache protoimpl.SizeCache 1413 unknownFields protoimpl.UnknownFields 1414 1415 PublicKey []byte `protobuf:"bytes,1,opt,name=public_key,json=publicKey,proto3" json:"public_key,omitempty" spec-name:"pubkey" ssz-size:"48"` 1416 WithdrawalCredentials []byte `protobuf:"bytes,2,opt,name=withdrawal_credentials,json=withdrawalCredentials,proto3" json:"withdrawal_credentials,omitempty" ssz-size:"32"` 1417 EffectiveBalance uint64 `protobuf:"varint,3,opt,name=effective_balance,json=effectiveBalance,proto3" json:"effective_balance,omitempty"` 1418 Slashed bool `protobuf:"varint,4,opt,name=slashed,proto3" json:"slashed,omitempty"` 1419 ActivationEligibilityEpoch github_com_prysmaticlabs_eth2_types.Epoch `protobuf:"varint,5,opt,name=activation_eligibility_epoch,json=activationEligibilityEpoch,proto3" json:"activation_eligibility_epoch,omitempty" cast-type:"github.com/prysmaticlabs/eth2-types.Epoch"` 1420 ActivationEpoch github_com_prysmaticlabs_eth2_types.Epoch `protobuf:"varint,6,opt,name=activation_epoch,json=activationEpoch,proto3" json:"activation_epoch,omitempty" cast-type:"github.com/prysmaticlabs/eth2-types.Epoch"` 1421 ExitEpoch github_com_prysmaticlabs_eth2_types.Epoch `protobuf:"varint,7,opt,name=exit_epoch,json=exitEpoch,proto3" json:"exit_epoch,omitempty" cast-type:"github.com/prysmaticlabs/eth2-types.Epoch"` 1422 WithdrawableEpoch github_com_prysmaticlabs_eth2_types.Epoch `protobuf:"varint,8,opt,name=withdrawable_epoch,json=withdrawableEpoch,proto3" json:"withdrawable_epoch,omitempty" cast-type:"github.com/prysmaticlabs/eth2-types.Epoch"` 1423 } 1424 1425 func (x *Validator) Reset() { 1426 *x = Validator{} 1427 if protoimpl.UnsafeEnabled { 1428 mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[24] 1429 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1430 ms.StoreMessageInfo(mi) 1431 } 1432 } 1433 1434 func (x *Validator) String() string { 1435 return protoimpl.X.MessageStringOf(x) 1436 } 1437 1438 func (*Validator) ProtoMessage() {} 1439 1440 func (x *Validator) ProtoReflect() protoreflect.Message { 1441 mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[24] 1442 if protoimpl.UnsafeEnabled && x != nil { 1443 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1444 if ms.LoadMessageInfo() == nil { 1445 ms.StoreMessageInfo(mi) 1446 } 1447 return ms 1448 } 1449 return mi.MessageOf(x) 1450 } 1451 1452 // Deprecated: Use Validator.ProtoReflect.Descriptor instead. 1453 func (*Validator) Descriptor() ([]byte, []int) { 1454 return file_proto_eth_v1alpha1_validator_proto_rawDescGZIP(), []int{24} 1455 } 1456 1457 func (x *Validator) GetPublicKey() []byte { 1458 if x != nil { 1459 return x.PublicKey 1460 } 1461 return nil 1462 } 1463 1464 func (x *Validator) GetWithdrawalCredentials() []byte { 1465 if x != nil { 1466 return x.WithdrawalCredentials 1467 } 1468 return nil 1469 } 1470 1471 func (x *Validator) GetEffectiveBalance() uint64 { 1472 if x != nil { 1473 return x.EffectiveBalance 1474 } 1475 return 0 1476 } 1477 1478 func (x *Validator) GetSlashed() bool { 1479 if x != nil { 1480 return x.Slashed 1481 } 1482 return false 1483 } 1484 1485 func (x *Validator) GetActivationEligibilityEpoch() github_com_prysmaticlabs_eth2_types.Epoch { 1486 if x != nil { 1487 return x.ActivationEligibilityEpoch 1488 } 1489 return github_com_prysmaticlabs_eth2_types.Epoch(0) 1490 } 1491 1492 func (x *Validator) GetActivationEpoch() github_com_prysmaticlabs_eth2_types.Epoch { 1493 if x != nil { 1494 return x.ActivationEpoch 1495 } 1496 return github_com_prysmaticlabs_eth2_types.Epoch(0) 1497 } 1498 1499 func (x *Validator) GetExitEpoch() github_com_prysmaticlabs_eth2_types.Epoch { 1500 if x != nil { 1501 return x.ExitEpoch 1502 } 1503 return github_com_prysmaticlabs_eth2_types.Epoch(0) 1504 } 1505 1506 func (x *Validator) GetWithdrawableEpoch() github_com_prysmaticlabs_eth2_types.Epoch { 1507 if x != nil { 1508 return x.WithdrawableEpoch 1509 } 1510 return github_com_prysmaticlabs_eth2_types.Epoch(0) 1511 } 1512 1513 type ValidatorParticipation struct { 1514 state protoimpl.MessageState 1515 sizeCache protoimpl.SizeCache 1516 unknownFields protoimpl.UnknownFields 1517 1518 // Deprecated: Do not use. 1519 GlobalParticipationRate float32 `protobuf:"fixed32,1,opt,name=global_participation_rate,json=globalParticipationRate,proto3" json:"global_participation_rate,omitempty"` 1520 // Deprecated: Do not use. 1521 VotedEther uint64 `protobuf:"varint,2,opt,name=voted_ether,json=votedEther,proto3" json:"voted_ether,omitempty"` 1522 // Deprecated: Do not use. 1523 EligibleEther uint64 `protobuf:"varint,3,opt,name=eligible_ether,json=eligibleEther,proto3" json:"eligible_ether,omitempty"` 1524 CurrentEpochActiveGwei uint64 `protobuf:"varint,4,opt,name=current_epoch_active_gwei,json=currentEpochActiveGwei,proto3" json:"current_epoch_active_gwei,omitempty"` 1525 CurrentEpochAttestingGwei uint64 `protobuf:"varint,5,opt,name=current_epoch_attesting_gwei,json=currentEpochAttestingGwei,proto3" json:"current_epoch_attesting_gwei,omitempty"` 1526 CurrentEpochTargetAttestingGwei uint64 `protobuf:"varint,6,opt,name=current_epoch_target_attesting_gwei,json=currentEpochTargetAttestingGwei,proto3" json:"current_epoch_target_attesting_gwei,omitempty"` 1527 PreviousEpochActiveGwei uint64 `protobuf:"varint,7,opt,name=previous_epoch_active_gwei,json=previousEpochActiveGwei,proto3" json:"previous_epoch_active_gwei,omitempty"` 1528 PreviousEpochAttestingGwei uint64 `protobuf:"varint,8,opt,name=previous_epoch_attesting_gwei,json=previousEpochAttestingGwei,proto3" json:"previous_epoch_attesting_gwei,omitempty"` 1529 PreviousEpochTargetAttestingGwei uint64 `protobuf:"varint,9,opt,name=previous_epoch_target_attesting_gwei,json=previousEpochTargetAttestingGwei,proto3" json:"previous_epoch_target_attesting_gwei,omitempty"` 1530 PreviousEpochHeadAttestingGwei uint64 `protobuf:"varint,10,opt,name=previous_epoch_head_attesting_gwei,json=previousEpochHeadAttestingGwei,proto3" json:"previous_epoch_head_attesting_gwei,omitempty"` 1531 } 1532 1533 func (x *ValidatorParticipation) Reset() { 1534 *x = ValidatorParticipation{} 1535 if protoimpl.UnsafeEnabled { 1536 mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[25] 1537 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1538 ms.StoreMessageInfo(mi) 1539 } 1540 } 1541 1542 func (x *ValidatorParticipation) String() string { 1543 return protoimpl.X.MessageStringOf(x) 1544 } 1545 1546 func (*ValidatorParticipation) ProtoMessage() {} 1547 1548 func (x *ValidatorParticipation) ProtoReflect() protoreflect.Message { 1549 mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[25] 1550 if protoimpl.UnsafeEnabled && x != nil { 1551 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1552 if ms.LoadMessageInfo() == nil { 1553 ms.StoreMessageInfo(mi) 1554 } 1555 return ms 1556 } 1557 return mi.MessageOf(x) 1558 } 1559 1560 // Deprecated: Use ValidatorParticipation.ProtoReflect.Descriptor instead. 1561 func (*ValidatorParticipation) Descriptor() ([]byte, []int) { 1562 return file_proto_eth_v1alpha1_validator_proto_rawDescGZIP(), []int{25} 1563 } 1564 1565 // Deprecated: Do not use. 1566 func (x *ValidatorParticipation) GetGlobalParticipationRate() float32 { 1567 if x != nil { 1568 return x.GlobalParticipationRate 1569 } 1570 return 0 1571 } 1572 1573 // Deprecated: Do not use. 1574 func (x *ValidatorParticipation) GetVotedEther() uint64 { 1575 if x != nil { 1576 return x.VotedEther 1577 } 1578 return 0 1579 } 1580 1581 // Deprecated: Do not use. 1582 func (x *ValidatorParticipation) GetEligibleEther() uint64 { 1583 if x != nil { 1584 return x.EligibleEther 1585 } 1586 return 0 1587 } 1588 1589 func (x *ValidatorParticipation) GetCurrentEpochActiveGwei() uint64 { 1590 if x != nil { 1591 return x.CurrentEpochActiveGwei 1592 } 1593 return 0 1594 } 1595 1596 func (x *ValidatorParticipation) GetCurrentEpochAttestingGwei() uint64 { 1597 if x != nil { 1598 return x.CurrentEpochAttestingGwei 1599 } 1600 return 0 1601 } 1602 1603 func (x *ValidatorParticipation) GetCurrentEpochTargetAttestingGwei() uint64 { 1604 if x != nil { 1605 return x.CurrentEpochTargetAttestingGwei 1606 } 1607 return 0 1608 } 1609 1610 func (x *ValidatorParticipation) GetPreviousEpochActiveGwei() uint64 { 1611 if x != nil { 1612 return x.PreviousEpochActiveGwei 1613 } 1614 return 0 1615 } 1616 1617 func (x *ValidatorParticipation) GetPreviousEpochAttestingGwei() uint64 { 1618 if x != nil { 1619 return x.PreviousEpochAttestingGwei 1620 } 1621 return 0 1622 } 1623 1624 func (x *ValidatorParticipation) GetPreviousEpochTargetAttestingGwei() uint64 { 1625 if x != nil { 1626 return x.PreviousEpochTargetAttestingGwei 1627 } 1628 return 0 1629 } 1630 1631 func (x *ValidatorParticipation) GetPreviousEpochHeadAttestingGwei() uint64 { 1632 if x != nil { 1633 return x.PreviousEpochHeadAttestingGwei 1634 } 1635 return 0 1636 } 1637 1638 type ValidatorInfo struct { 1639 state protoimpl.MessageState 1640 sizeCache protoimpl.SizeCache 1641 unknownFields protoimpl.UnknownFields 1642 1643 PublicKey []byte `protobuf:"bytes,1,opt,name=public_key,json=publicKey,proto3" json:"public_key,omitempty"` 1644 Index github_com_prysmaticlabs_eth2_types.ValidatorIndex `protobuf:"varint,2,opt,name=index,proto3" json:"index,omitempty" cast-type:"github.com/prysmaticlabs/eth2-types.ValidatorIndex"` 1645 Epoch github_com_prysmaticlabs_eth2_types.Epoch `protobuf:"varint,3,opt,name=epoch,proto3" json:"epoch,omitempty" cast-type:"github.com/prysmaticlabs/eth2-types.Epoch"` 1646 Status ValidatorStatus `protobuf:"varint,4,opt,name=status,proto3,enum=ethereum.eth.v1alpha1.ValidatorStatus" json:"status,omitempty"` 1647 TransitionTimestamp uint64 `protobuf:"varint,5,opt,name=transition_timestamp,json=transitionTimestamp,proto3" json:"transition_timestamp,omitempty"` 1648 Balance uint64 `protobuf:"varint,6,opt,name=balance,proto3" json:"balance,omitempty"` 1649 EffectiveBalance uint64 `protobuf:"varint,7,opt,name=effective_balance,json=effectiveBalance,proto3" json:"effective_balance,omitempty"` 1650 } 1651 1652 func (x *ValidatorInfo) Reset() { 1653 *x = ValidatorInfo{} 1654 if protoimpl.UnsafeEnabled { 1655 mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[26] 1656 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1657 ms.StoreMessageInfo(mi) 1658 } 1659 } 1660 1661 func (x *ValidatorInfo) String() string { 1662 return protoimpl.X.MessageStringOf(x) 1663 } 1664 1665 func (*ValidatorInfo) ProtoMessage() {} 1666 1667 func (x *ValidatorInfo) ProtoReflect() protoreflect.Message { 1668 mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[26] 1669 if protoimpl.UnsafeEnabled && x != nil { 1670 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1671 if ms.LoadMessageInfo() == nil { 1672 ms.StoreMessageInfo(mi) 1673 } 1674 return ms 1675 } 1676 return mi.MessageOf(x) 1677 } 1678 1679 // Deprecated: Use ValidatorInfo.ProtoReflect.Descriptor instead. 1680 func (*ValidatorInfo) Descriptor() ([]byte, []int) { 1681 return file_proto_eth_v1alpha1_validator_proto_rawDescGZIP(), []int{26} 1682 } 1683 1684 func (x *ValidatorInfo) GetPublicKey() []byte { 1685 if x != nil { 1686 return x.PublicKey 1687 } 1688 return nil 1689 } 1690 1691 func (x *ValidatorInfo) GetIndex() github_com_prysmaticlabs_eth2_types.ValidatorIndex { 1692 if x != nil { 1693 return x.Index 1694 } 1695 return github_com_prysmaticlabs_eth2_types.ValidatorIndex(0) 1696 } 1697 1698 func (x *ValidatorInfo) GetEpoch() github_com_prysmaticlabs_eth2_types.Epoch { 1699 if x != nil { 1700 return x.Epoch 1701 } 1702 return github_com_prysmaticlabs_eth2_types.Epoch(0) 1703 } 1704 1705 func (x *ValidatorInfo) GetStatus() ValidatorStatus { 1706 if x != nil { 1707 return x.Status 1708 } 1709 return ValidatorStatus_UNKNOWN_STATUS 1710 } 1711 1712 func (x *ValidatorInfo) GetTransitionTimestamp() uint64 { 1713 if x != nil { 1714 return x.TransitionTimestamp 1715 } 1716 return 0 1717 } 1718 1719 func (x *ValidatorInfo) GetBalance() uint64 { 1720 if x != nil { 1721 return x.Balance 1722 } 1723 return 0 1724 } 1725 1726 func (x *ValidatorInfo) GetEffectiveBalance() uint64 { 1727 if x != nil { 1728 return x.EffectiveBalance 1729 } 1730 return 0 1731 } 1732 1733 type DoppelGangerRequest struct { 1734 state protoimpl.MessageState 1735 sizeCache protoimpl.SizeCache 1736 unknownFields protoimpl.UnknownFields 1737 1738 ValidatorRequests []*DoppelGangerRequest_ValidatorRequest `protobuf:"bytes,1,rep,name=validator_requests,json=validatorRequests,proto3" json:"validator_requests,omitempty"` 1739 } 1740 1741 func (x *DoppelGangerRequest) Reset() { 1742 *x = DoppelGangerRequest{} 1743 if protoimpl.UnsafeEnabled { 1744 mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[27] 1745 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1746 ms.StoreMessageInfo(mi) 1747 } 1748 } 1749 1750 func (x *DoppelGangerRequest) String() string { 1751 return protoimpl.X.MessageStringOf(x) 1752 } 1753 1754 func (*DoppelGangerRequest) ProtoMessage() {} 1755 1756 func (x *DoppelGangerRequest) ProtoReflect() protoreflect.Message { 1757 mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[27] 1758 if protoimpl.UnsafeEnabled && x != nil { 1759 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1760 if ms.LoadMessageInfo() == nil { 1761 ms.StoreMessageInfo(mi) 1762 } 1763 return ms 1764 } 1765 return mi.MessageOf(x) 1766 } 1767 1768 // Deprecated: Use DoppelGangerRequest.ProtoReflect.Descriptor instead. 1769 func (*DoppelGangerRequest) Descriptor() ([]byte, []int) { 1770 return file_proto_eth_v1alpha1_validator_proto_rawDescGZIP(), []int{27} 1771 } 1772 1773 func (x *DoppelGangerRequest) GetValidatorRequests() []*DoppelGangerRequest_ValidatorRequest { 1774 if x != nil { 1775 return x.ValidatorRequests 1776 } 1777 return nil 1778 } 1779 1780 type DoppelGangerResponse struct { 1781 state protoimpl.MessageState 1782 sizeCache protoimpl.SizeCache 1783 unknownFields protoimpl.UnknownFields 1784 1785 Responses []*DoppelGangerResponse_ValidatorResponse `protobuf:"bytes,1,rep,name=responses,proto3" json:"responses,omitempty"` 1786 } 1787 1788 func (x *DoppelGangerResponse) Reset() { 1789 *x = DoppelGangerResponse{} 1790 if protoimpl.UnsafeEnabled { 1791 mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[28] 1792 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1793 ms.StoreMessageInfo(mi) 1794 } 1795 } 1796 1797 func (x *DoppelGangerResponse) String() string { 1798 return protoimpl.X.MessageStringOf(x) 1799 } 1800 1801 func (*DoppelGangerResponse) ProtoMessage() {} 1802 1803 func (x *DoppelGangerResponse) ProtoReflect() protoreflect.Message { 1804 mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[28] 1805 if protoimpl.UnsafeEnabled && x != nil { 1806 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1807 if ms.LoadMessageInfo() == nil { 1808 ms.StoreMessageInfo(mi) 1809 } 1810 return ms 1811 } 1812 return mi.MessageOf(x) 1813 } 1814 1815 // Deprecated: Use DoppelGangerResponse.ProtoReflect.Descriptor instead. 1816 func (*DoppelGangerResponse) Descriptor() ([]byte, []int) { 1817 return file_proto_eth_v1alpha1_validator_proto_rawDescGZIP(), []int{28} 1818 } 1819 1820 func (x *DoppelGangerResponse) GetResponses() []*DoppelGangerResponse_ValidatorResponse { 1821 if x != nil { 1822 return x.Responses 1823 } 1824 return nil 1825 } 1826 1827 type ValidatorActivationResponse_Status struct { 1828 state protoimpl.MessageState 1829 sizeCache protoimpl.SizeCache 1830 unknownFields protoimpl.UnknownFields 1831 1832 PublicKey []byte `protobuf:"bytes,1,opt,name=public_key,json=publicKey,proto3" json:"public_key,omitempty"` 1833 Status *ValidatorStatusResponse `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"` 1834 Index github_com_prysmaticlabs_eth2_types.ValidatorIndex `protobuf:"varint,3,opt,name=index,proto3" json:"index,omitempty" cast-type:"github.com/prysmaticlabs/eth2-types.ValidatorIndex"` 1835 } 1836 1837 func (x *ValidatorActivationResponse_Status) Reset() { 1838 *x = ValidatorActivationResponse_Status{} 1839 if protoimpl.UnsafeEnabled { 1840 mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[29] 1841 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1842 ms.StoreMessageInfo(mi) 1843 } 1844 } 1845 1846 func (x *ValidatorActivationResponse_Status) String() string { 1847 return protoimpl.X.MessageStringOf(x) 1848 } 1849 1850 func (*ValidatorActivationResponse_Status) ProtoMessage() {} 1851 1852 func (x *ValidatorActivationResponse_Status) ProtoReflect() protoreflect.Message { 1853 mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[29] 1854 if protoimpl.UnsafeEnabled && x != nil { 1855 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1856 if ms.LoadMessageInfo() == nil { 1857 ms.StoreMessageInfo(mi) 1858 } 1859 return ms 1860 } 1861 return mi.MessageOf(x) 1862 } 1863 1864 // Deprecated: Use ValidatorActivationResponse_Status.ProtoReflect.Descriptor instead. 1865 func (*ValidatorActivationResponse_Status) Descriptor() ([]byte, []int) { 1866 return file_proto_eth_v1alpha1_validator_proto_rawDescGZIP(), []int{3, 0} 1867 } 1868 1869 func (x *ValidatorActivationResponse_Status) GetPublicKey() []byte { 1870 if x != nil { 1871 return x.PublicKey 1872 } 1873 return nil 1874 } 1875 1876 func (x *ValidatorActivationResponse_Status) GetStatus() *ValidatorStatusResponse { 1877 if x != nil { 1878 return x.Status 1879 } 1880 return nil 1881 } 1882 1883 func (x *ValidatorActivationResponse_Status) GetIndex() github_com_prysmaticlabs_eth2_types.ValidatorIndex { 1884 if x != nil { 1885 return x.Index 1886 } 1887 return github_com_prysmaticlabs_eth2_types.ValidatorIndex(0) 1888 } 1889 1890 type DutiesResponse_Duty struct { 1891 state protoimpl.MessageState 1892 sizeCache protoimpl.SizeCache 1893 unknownFields protoimpl.UnknownFields 1894 1895 Committee []github_com_prysmaticlabs_eth2_types.ValidatorIndex `protobuf:"varint,1,rep,packed,name=committee,proto3" json:"committee,omitempty" cast-type:"github.com/prysmaticlabs/eth2-types.ValidatorIndex"` 1896 CommitteeIndex github_com_prysmaticlabs_eth2_types.CommitteeIndex `protobuf:"varint,2,opt,name=committee_index,json=committeeIndex,proto3" json:"committee_index,omitempty" cast-type:"github.com/prysmaticlabs/eth2-types.CommitteeIndex"` 1897 AttesterSlot github_com_prysmaticlabs_eth2_types.Slot `protobuf:"varint,3,opt,name=attester_slot,json=attesterSlot,proto3" json:"attester_slot,omitempty" cast-type:"github.com/prysmaticlabs/eth2-types.Slot"` 1898 ProposerSlots []github_com_prysmaticlabs_eth2_types.Slot `protobuf:"varint,4,rep,packed,name=proposer_slots,json=proposerSlots,proto3" json:"proposer_slots,omitempty" cast-type:"github.com/prysmaticlabs/eth2-types.Slot"` 1899 PublicKey []byte `protobuf:"bytes,5,opt,name=public_key,json=publicKey,proto3" json:"public_key,omitempty" ssz-size:"48"` 1900 Status ValidatorStatus `protobuf:"varint,6,opt,name=status,proto3,enum=ethereum.eth.v1alpha1.ValidatorStatus" json:"status,omitempty"` 1901 ValidatorIndex github_com_prysmaticlabs_eth2_types.ValidatorIndex `protobuf:"varint,7,opt,name=validator_index,json=validatorIndex,proto3" json:"validator_index,omitempty" cast-type:"github.com/prysmaticlabs/eth2-types.ValidatorIndex"` 1902 IsSyncCommittee bool `protobuf:"varint,8,opt,name=is_sync_committee,json=isSyncCommittee,proto3" json:"is_sync_committee,omitempty"` 1903 } 1904 1905 func (x *DutiesResponse_Duty) Reset() { 1906 *x = DutiesResponse_Duty{} 1907 if protoimpl.UnsafeEnabled { 1908 mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[30] 1909 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1910 ms.StoreMessageInfo(mi) 1911 } 1912 } 1913 1914 func (x *DutiesResponse_Duty) String() string { 1915 return protoimpl.X.MessageStringOf(x) 1916 } 1917 1918 func (*DutiesResponse_Duty) ProtoMessage() {} 1919 1920 func (x *DutiesResponse_Duty) ProtoReflect() protoreflect.Message { 1921 mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[30] 1922 if protoimpl.UnsafeEnabled && x != nil { 1923 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1924 if ms.LoadMessageInfo() == nil { 1925 ms.StoreMessageInfo(mi) 1926 } 1927 return ms 1928 } 1929 return mi.MessageOf(x) 1930 } 1931 1932 // Deprecated: Use DutiesResponse_Duty.ProtoReflect.Descriptor instead. 1933 func (*DutiesResponse_Duty) Descriptor() ([]byte, []int) { 1934 return file_proto_eth_v1alpha1_validator_proto_rawDescGZIP(), []int{13, 0} 1935 } 1936 1937 func (x *DutiesResponse_Duty) GetCommittee() []github_com_prysmaticlabs_eth2_types.ValidatorIndex { 1938 if x != nil { 1939 return x.Committee 1940 } 1941 return []github_com_prysmaticlabs_eth2_types.ValidatorIndex(nil) 1942 } 1943 1944 func (x *DutiesResponse_Duty) GetCommitteeIndex() github_com_prysmaticlabs_eth2_types.CommitteeIndex { 1945 if x != nil { 1946 return x.CommitteeIndex 1947 } 1948 return github_com_prysmaticlabs_eth2_types.CommitteeIndex(0) 1949 } 1950 1951 func (x *DutiesResponse_Duty) GetAttesterSlot() github_com_prysmaticlabs_eth2_types.Slot { 1952 if x != nil { 1953 return x.AttesterSlot 1954 } 1955 return github_com_prysmaticlabs_eth2_types.Slot(0) 1956 } 1957 1958 func (x *DutiesResponse_Duty) GetProposerSlots() []github_com_prysmaticlabs_eth2_types.Slot { 1959 if x != nil { 1960 return x.ProposerSlots 1961 } 1962 return []github_com_prysmaticlabs_eth2_types.Slot(nil) 1963 } 1964 1965 func (x *DutiesResponse_Duty) GetPublicKey() []byte { 1966 if x != nil { 1967 return x.PublicKey 1968 } 1969 return nil 1970 } 1971 1972 func (x *DutiesResponse_Duty) GetStatus() ValidatorStatus { 1973 if x != nil { 1974 return x.Status 1975 } 1976 return ValidatorStatus_UNKNOWN_STATUS 1977 } 1978 1979 func (x *DutiesResponse_Duty) GetValidatorIndex() github_com_prysmaticlabs_eth2_types.ValidatorIndex { 1980 if x != nil { 1981 return x.ValidatorIndex 1982 } 1983 return github_com_prysmaticlabs_eth2_types.ValidatorIndex(0) 1984 } 1985 1986 func (x *DutiesResponse_Duty) GetIsSyncCommittee() bool { 1987 if x != nil { 1988 return x.IsSyncCommittee 1989 } 1990 return false 1991 } 1992 1993 type DoppelGangerRequest_ValidatorRequest struct { 1994 state protoimpl.MessageState 1995 sizeCache protoimpl.SizeCache 1996 unknownFields protoimpl.UnknownFields 1997 1998 PublicKey []byte `protobuf:"bytes,1,opt,name=public_key,json=publicKey,proto3" json:"public_key,omitempty" spec-name:"pubkey" ssz-size:"48"` 1999 Epoch github_com_prysmaticlabs_eth2_types.Epoch `protobuf:"varint,3,opt,name=epoch,proto3" json:"epoch,omitempty" cast-type:"github.com/prysmaticlabs/eth2-types.Epoch"` 2000 SignedRoot []byte `protobuf:"bytes,2,opt,name=signed_root,json=signedRoot,proto3" json:"signed_root,omitempty" ssz-size:"32"` 2001 } 2002 2003 func (x *DoppelGangerRequest_ValidatorRequest) Reset() { 2004 *x = DoppelGangerRequest_ValidatorRequest{} 2005 if protoimpl.UnsafeEnabled { 2006 mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[31] 2007 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2008 ms.StoreMessageInfo(mi) 2009 } 2010 } 2011 2012 func (x *DoppelGangerRequest_ValidatorRequest) String() string { 2013 return protoimpl.X.MessageStringOf(x) 2014 } 2015 2016 func (*DoppelGangerRequest_ValidatorRequest) ProtoMessage() {} 2017 2018 func (x *DoppelGangerRequest_ValidatorRequest) ProtoReflect() protoreflect.Message { 2019 mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[31] 2020 if protoimpl.UnsafeEnabled && x != nil { 2021 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2022 if ms.LoadMessageInfo() == nil { 2023 ms.StoreMessageInfo(mi) 2024 } 2025 return ms 2026 } 2027 return mi.MessageOf(x) 2028 } 2029 2030 // Deprecated: Use DoppelGangerRequest_ValidatorRequest.ProtoReflect.Descriptor instead. 2031 func (*DoppelGangerRequest_ValidatorRequest) Descriptor() ([]byte, []int) { 2032 return file_proto_eth_v1alpha1_validator_proto_rawDescGZIP(), []int{27, 0} 2033 } 2034 2035 func (x *DoppelGangerRequest_ValidatorRequest) GetPublicKey() []byte { 2036 if x != nil { 2037 return x.PublicKey 2038 } 2039 return nil 2040 } 2041 2042 func (x *DoppelGangerRequest_ValidatorRequest) GetEpoch() github_com_prysmaticlabs_eth2_types.Epoch { 2043 if x != nil { 2044 return x.Epoch 2045 } 2046 return github_com_prysmaticlabs_eth2_types.Epoch(0) 2047 } 2048 2049 func (x *DoppelGangerRequest_ValidatorRequest) GetSignedRoot() []byte { 2050 if x != nil { 2051 return x.SignedRoot 2052 } 2053 return nil 2054 } 2055 2056 type DoppelGangerResponse_ValidatorResponse struct { 2057 state protoimpl.MessageState 2058 sizeCache protoimpl.SizeCache 2059 unknownFields protoimpl.UnknownFields 2060 2061 PublicKey []byte `protobuf:"bytes,1,opt,name=public_key,json=publicKey,proto3" json:"public_key,omitempty" spec-name:"pubkey" ssz-size:"48"` 2062 DuplicateExists bool `protobuf:"varint,2,opt,name=duplicate_exists,json=duplicateExists,proto3" json:"duplicate_exists,omitempty"` 2063 } 2064 2065 func (x *DoppelGangerResponse_ValidatorResponse) Reset() { 2066 *x = DoppelGangerResponse_ValidatorResponse{} 2067 if protoimpl.UnsafeEnabled { 2068 mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[32] 2069 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2070 ms.StoreMessageInfo(mi) 2071 } 2072 } 2073 2074 func (x *DoppelGangerResponse_ValidatorResponse) String() string { 2075 return protoimpl.X.MessageStringOf(x) 2076 } 2077 2078 func (*DoppelGangerResponse_ValidatorResponse) ProtoMessage() {} 2079 2080 func (x *DoppelGangerResponse_ValidatorResponse) ProtoReflect() protoreflect.Message { 2081 mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[32] 2082 if protoimpl.UnsafeEnabled && x != nil { 2083 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2084 if ms.LoadMessageInfo() == nil { 2085 ms.StoreMessageInfo(mi) 2086 } 2087 return ms 2088 } 2089 return mi.MessageOf(x) 2090 } 2091 2092 // Deprecated: Use DoppelGangerResponse_ValidatorResponse.ProtoReflect.Descriptor instead. 2093 func (*DoppelGangerResponse_ValidatorResponse) Descriptor() ([]byte, []int) { 2094 return file_proto_eth_v1alpha1_validator_proto_rawDescGZIP(), []int{28, 0} 2095 } 2096 2097 func (x *DoppelGangerResponse_ValidatorResponse) GetPublicKey() []byte { 2098 if x != nil { 2099 return x.PublicKey 2100 } 2101 return nil 2102 } 2103 2104 func (x *DoppelGangerResponse_ValidatorResponse) GetDuplicateExists() bool { 2105 if x != nil { 2106 return x.DuplicateExists 2107 } 2108 return false 2109 } 2110 2111 var File_proto_eth_v1alpha1_validator_proto protoreflect.FileDescriptor 2112 2113 var file_proto_eth_v1alpha1_validator_proto_rawDesc = []byte{ 2114 0x0a, 0x22, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x74, 0x68, 0x2f, 0x76, 0x31, 0x61, 0x6c, 2115 0x70, 0x68, 0x61, 0x31, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x70, 2116 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x15, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x65, 2117 0x74, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 2118 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 2119 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 2120 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 2121 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x74, 2122 0x68, 0x2f, 0x65, 0x78, 0x74, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 2123 0x6f, 0x74, 0x6f, 0x1a, 0x25, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x74, 0x68, 0x2f, 0x76, 2124 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x5f, 0x62, 2125 0x6c, 0x6f, 0x63, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x70, 0x72, 0x6f, 0x74, 2126 0x6f, 0x2f, 0x65, 0x74, 0x68, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f, 0x61, 2127 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 2128 0x22, 0x6c, 0x0a, 0x0d, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 2129 0x74, 0x12, 0x43, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 2130 0x42, 0x2d, 0x82, 0xb5, 0x18, 0x29, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 2131 0x2f, 0x70, 0x72, 0x79, 0x73, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x6c, 0x61, 0x62, 0x73, 0x2f, 0x65, 2132 0x74, 0x68, 0x32, 0x2d, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x52, 2133 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 2134 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x22, 0x3b, 2135 0x0a, 0x0e, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 2136 0x12, 0x29, 0x0a, 0x10, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x64, 0x6f, 2137 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0f, 0x73, 0x69, 0x67, 0x6e, 2138 0x61, 0x74, 0x75, 0x72, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x22, 0x47, 0x0a, 0x1a, 0x56, 2139 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 2140 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x29, 0x0a, 0x0b, 0x70, 0x75, 0x62, 2141 0x6c, 0x69, 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0c, 0x42, 0x08, 2142 0x8a, 0xb5, 0x18, 0x04, 0x3f, 0x2c, 0x34, 0x38, 0x52, 0x0a, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 2143 0x4b, 0x65, 0x79, 0x73, 0x22, 0xb4, 0x02, 0x0a, 0x1b, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 2144 0x6f, 0x72, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 2145 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x55, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 2146 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 2147 0x6d, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x56, 2148 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 2149 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 2150 0x73, 0x52, 0x08, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x1a, 0xbd, 0x01, 0x0a, 0x06, 2151 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 2152 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x70, 0x75, 0x62, 0x6c, 2153 0x69, 0x63, 0x4b, 0x65, 0x79, 0x12, 0x46, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 2154 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 2155 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x56, 0x61, 2156 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 2157 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x4c, 0x0a, 2158 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x42, 0x36, 0x82, 0xb5, 2159 0x18, 0x32, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x72, 0x79, 2160 0x73, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x6c, 0x61, 0x62, 0x73, 0x2f, 0x65, 0x74, 0x68, 0x32, 0x2d, 2161 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x49, 2162 0x6e, 0x64, 0x65, 0x78, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x91, 0x01, 0x0a, 0x12, 2163 0x43, 0x68, 0x61, 0x69, 0x6e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 2164 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x18, 0x01, 0x20, 2165 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x12, 0x21, 0x0a, 0x0c, 2166 0x67, 0x65, 0x6e, 0x65, 0x73, 0x69, 0x73, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 2167 0x28, 0x04, 0x52, 0x0b, 0x67, 0x65, 0x6e, 0x65, 0x73, 0x69, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x12, 2168 0x3e, 0x0a, 0x17, 0x67, 0x65, 0x6e, 0x65, 0x73, 0x69, 0x73, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 2169 0x61, 0x74, 0x6f, 0x72, 0x73, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 2170 0x42, 0x06, 0x8a, 0xb5, 0x18, 0x02, 0x33, 0x32, 0x52, 0x15, 0x67, 0x65, 0x6e, 0x65, 0x73, 0x69, 2171 0x73, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x6f, 0x6f, 0x74, 0x22, 2172 0x4b, 0x0a, 0x0e, 0x53, 0x79, 0x6e, 0x63, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 2173 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x79, 0x6e, 0x63, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 2174 0x08, 0x52, 0x06, 0x73, 0x79, 0x6e, 0x63, 0x65, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x67, 0x65, 0x6e, 2175 0x65, 0x73, 0x69, 0x73, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 2176 0x0b, 0x67, 0x65, 0x6e, 0x65, 0x73, 0x69, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x3e, 0x0a, 0x15, 2177 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, 2178 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 2179 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x06, 0x8a, 0xb5, 0x18, 0x02, 0x34, 2180 0x38, 0x52, 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x22, 0x66, 0x0a, 0x16, 2181 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, 2182 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4c, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 2183 0x01, 0x20, 0x01, 0x28, 0x04, 0x42, 0x36, 0x82, 0xb5, 0x18, 0x32, 0x67, 0x69, 0x74, 0x68, 0x75, 2184 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x72, 0x79, 0x73, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x6c, 2185 0x61, 0x62, 0x73, 0x2f, 0x65, 0x74, 0x68, 0x32, 0x2d, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x56, 2186 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x05, 0x69, 2187 0x6e, 0x64, 0x65, 0x78, 0x22, 0x3f, 0x0a, 0x16, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 2188 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x25, 2189 0x0a, 0x0a, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 2190 0x28, 0x0c, 0x42, 0x06, 0x8a, 0xb5, 0x18, 0x02, 0x34, 0x38, 0x52, 0x09, 0x70, 0x75, 0x62, 0x6c, 2191 0x69, 0x63, 0x4b, 0x65, 0x79, 0x22, 0x93, 0x03, 0x0a, 0x17, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 2192 0x74, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 2193 0x65, 0x12, 0x3e, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 2194 0x0e, 0x32, 0x26, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x65, 0x74, 0x68, 2195 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 2196 0x74, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 2197 0x73, 0x12, 0x39, 0x0a, 0x19, 0x65, 0x74, 0x68, 0x31, 0x5f, 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, 2198 0x74, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x02, 2199 0x20, 0x01, 0x28, 0x04, 0x52, 0x16, 0x65, 0x74, 0x68, 0x31, 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, 2200 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x62, 0x0a, 0x16, 2201 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x5f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 2202 0x6e, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x42, 0x2c, 0x82, 0xb5, 2203 0x18, 0x28, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x72, 0x79, 2204 0x73, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x6c, 0x61, 0x62, 0x73, 0x2f, 0x65, 0x74, 0x68, 0x32, 0x2d, 2205 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x53, 0x6c, 0x6f, 0x74, 0x52, 0x14, 0x64, 0x65, 0x70, 0x6f, 2206 0x73, 0x69, 0x74, 0x49, 0x6e, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x6c, 0x6f, 0x74, 2207 0x12, 0x58, 0x0a, 0x10, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 2208 0x70, 0x6f, 0x63, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x42, 0x2d, 0x82, 0xb5, 0x18, 0x29, 2209 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x72, 0x79, 0x73, 0x6d, 2210 0x61, 0x74, 0x69, 0x63, 0x6c, 0x61, 0x62, 0x73, 0x2f, 0x65, 0x74, 0x68, 0x32, 0x2d, 0x74, 0x79, 2211 0x70, 0x65, 0x73, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x52, 0x0f, 0x61, 0x63, 0x74, 0x69, 0x76, 2212 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x3f, 0x0a, 0x1c, 0x70, 0x6f, 2213 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 2214 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x71, 0x75, 0x65, 0x75, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 2215 0x52, 0x19, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x41, 0x63, 0x74, 0x69, 2216 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x65, 0x75, 0x65, 0x22, 0x65, 0x0a, 0x1e, 0x4d, 2217 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 2218 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x29, 0x0a, 2219 0x0b, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x01, 0x20, 0x03, 2220 0x28, 0x0c, 0x42, 0x08, 0x8a, 0xb5, 0x18, 0x04, 0x3f, 0x2c, 0x34, 0x38, 0x52, 0x0a, 0x70, 0x75, 2221 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x6e, 0x64, 0x69, 2222 0x63, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x03, 0x52, 0x07, 0x69, 0x6e, 0x64, 0x69, 0x63, 2223 0x65, 0x73, 0x22, 0xea, 0x01, 0x0a, 0x1f, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x56, 2224 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 2225 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x29, 0x0a, 0x0b, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 2226 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0c, 0x42, 0x08, 0x8a, 0xb5, 0x18, 2227 0x04, 0x3f, 0x2c, 0x34, 0x38, 0x52, 0x0a, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 2228 0x73, 0x12, 0x4a, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x18, 0x02, 0x20, 2229 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x65, 2230 0x74, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x69, 2231 0x64, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 2232 0x6e, 0x73, 0x65, 0x52, 0x08, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x12, 0x50, 0x0a, 2233 0x07, 0x69, 0x6e, 0x64, 0x69, 0x63, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x04, 0x42, 0x36, 2234 0x82, 0xb5, 0x18, 0x32, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 2235 0x72, 0x79, 0x73, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x6c, 0x61, 0x62, 0x73, 0x2f, 0x65, 0x74, 0x68, 2236 0x32, 0x2d, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 2237 0x72, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x07, 0x69, 0x6e, 0x64, 0x69, 0x63, 0x65, 0x73, 0x22, 2238 0x7f, 0x0a, 0x0d, 0x44, 0x75, 0x74, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 2239 0x12, 0x43, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x42, 2240 0x2d, 0x82, 0xb5, 0x18, 0x29, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 2241 0x70, 0x72, 0x79, 0x73, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x6c, 0x61, 0x62, 0x73, 0x2f, 0x65, 0x74, 2242 0x68, 0x32, 0x2d, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x52, 0x05, 2243 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x29, 0x0a, 0x0b, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 2244 0x6b, 0x65, 0x79, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0c, 0x42, 0x08, 0x8a, 0xb5, 0x18, 0x04, 2245 0x3f, 0x2c, 0x34, 0x38, 0x52, 0x0a, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x73, 2246 0x22, 0xea, 0x06, 0x0a, 0x0e, 0x44, 0x75, 0x74, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 2247 0x6e, 0x73, 0x65, 0x12, 0x46, 0x0a, 0x06, 0x64, 0x75, 0x74, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 2248 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x65, 2249 0x74, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x44, 0x75, 0x74, 0x69, 2250 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x44, 0x75, 0x74, 0x79, 0x42, 2251 0x02, 0x18, 0x01, 0x52, 0x06, 0x64, 0x75, 0x74, 0x69, 0x65, 0x73, 0x12, 0x5c, 0x0a, 0x14, 0x63, 2252 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x5f, 0x64, 0x75, 0x74, 2253 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x74, 0x68, 0x65, 2254 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 2255 0x31, 0x2e, 0x44, 0x75, 0x74, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 2256 0x2e, 0x44, 0x75, 0x74, 0x79, 0x52, 0x12, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x45, 0x70, 2257 0x6f, 0x63, 0x68, 0x44, 0x75, 0x74, 0x69, 0x65, 0x73, 0x12, 0x56, 0x0a, 0x11, 0x6e, 0x65, 0x78, 2258 0x74, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x5f, 0x64, 0x75, 0x74, 0x69, 0x65, 0x73, 0x18, 0x03, 2259 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 2260 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x44, 0x75, 0x74, 2261 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x44, 0x75, 0x74, 0x79, 2262 0x52, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x44, 0x75, 0x74, 0x69, 0x65, 2263 0x73, 0x1a, 0xd9, 0x04, 0x0a, 0x04, 0x44, 0x75, 0x74, 0x79, 0x12, 0x54, 0x0a, 0x09, 0x63, 0x6f, 2264 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x04, 0x42, 0x36, 0x82, 2265 0xb5, 0x18, 0x32, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x72, 2266 0x79, 0x73, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x6c, 0x61, 0x62, 0x73, 0x2f, 0x65, 0x74, 0x68, 0x32, 2267 0x2d, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 2268 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 2269 0x12, 0x5f, 0x0a, 0x0f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x5f, 0x69, 0x6e, 2270 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x42, 0x36, 0x82, 0xb5, 0x18, 0x32, 0x67, 2271 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x72, 0x79, 0x73, 0x6d, 0x61, 2272 0x74, 0x69, 0x63, 0x6c, 0x61, 0x62, 0x73, 0x2f, 0x65, 0x74, 0x68, 0x32, 0x2d, 0x74, 0x79, 0x70, 2273 0x65, 0x73, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x49, 0x6e, 0x64, 0x65, 2274 0x78, 0x52, 0x0e, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x49, 0x6e, 0x64, 0x65, 2275 0x78, 0x12, 0x51, 0x0a, 0x0d, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x6c, 2276 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x42, 0x2c, 0x82, 0xb5, 0x18, 0x28, 0x67, 0x69, 2277 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x72, 0x79, 0x73, 0x6d, 0x61, 0x74, 2278 0x69, 0x63, 0x6c, 0x61, 0x62, 0x73, 0x2f, 0x65, 0x74, 0x68, 0x32, 0x2d, 0x74, 0x79, 0x70, 0x65, 2279 0x73, 0x2e, 0x53, 0x6c, 0x6f, 0x74, 0x52, 0x0c, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x65, 0x72, 2280 0x53, 0x6c, 0x6f, 0x74, 0x12, 0x53, 0x0a, 0x0e, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 2281 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x04, 0x42, 0x2c, 0x82, 0xb5, 2282 0x18, 0x28, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x72, 0x79, 2283 0x73, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x6c, 0x61, 0x62, 0x73, 0x2f, 0x65, 0x74, 0x68, 0x32, 0x2d, 2284 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x53, 0x6c, 0x6f, 0x74, 0x52, 0x0d, 0x70, 0x72, 0x6f, 0x70, 2285 0x6f, 0x73, 0x65, 0x72, 0x53, 0x6c, 0x6f, 0x74, 0x73, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x75, 0x62, 2286 0x6c, 0x69, 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x06, 0x8a, 2287 0xb5, 0x18, 0x02, 0x34, 0x38, 0x52, 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 2288 0x12, 0x3e, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 2289 0x32, 0x26, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x65, 0x74, 0x68, 0x2e, 2290 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 2291 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 2292 0x12, 0x5f, 0x0a, 0x0f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x69, 0x6e, 2293 0x64, 0x65, 0x78, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x42, 0x36, 0x82, 0xb5, 0x18, 0x32, 0x67, 2294 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x72, 0x79, 0x73, 0x6d, 0x61, 2295 0x74, 0x69, 0x63, 0x6c, 0x61, 0x62, 0x73, 0x2f, 0x65, 0x74, 0x68, 0x32, 0x2d, 0x74, 0x79, 0x70, 2296 0x65, 0x73, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x6e, 0x64, 0x65, 2297 0x78, 0x52, 0x0e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x6e, 0x64, 0x65, 2298 0x78, 0x12, 0x2a, 0x0a, 0x11, 0x69, 0x73, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x63, 0x6f, 0x6d, 2299 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x73, 2300 0x53, 0x79, 0x6e, 0x63, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x22, 0xa1, 0x01, 2301 0x0a, 0x0c, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 2302 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x42, 0x2c, 0x82, 0xb5, 2303 0x18, 0x28, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x72, 0x79, 2304 0x73, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x6c, 0x61, 0x62, 0x73, 0x2f, 0x65, 0x74, 0x68, 0x32, 0x2d, 2305 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x53, 0x6c, 0x6f, 0x74, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 2306 0x12, 0x2b, 0x0a, 0x0d, 0x72, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x5f, 0x72, 0x65, 0x76, 0x65, 0x61, 2307 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x06, 0x8a, 0xb5, 0x18, 0x02, 0x34, 0x38, 0x52, 2308 0x0c, 0x72, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x52, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x12, 0x22, 0x0a, 2309 0x08, 0x67, 0x72, 0x61, 0x66, 0x66, 0x69, 0x74, 0x69, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x42, 2310 0x06, 0x8a, 0xb5, 0x18, 0x02, 0x33, 0x32, 0x52, 0x08, 0x67, 0x72, 0x61, 0x66, 0x66, 0x69, 0x74, 2311 0x69, 0x22, 0x38, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 2312 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x25, 0x0a, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x72, 0x6f, 2313 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x06, 0x8a, 0xb5, 0x18, 0x02, 0x33, 0x32, 2314 0x52, 0x09, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x6f, 0x6f, 0x74, 0x22, 0x3a, 0x0a, 0x13, 0x50, 2315 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x45, 0x78, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 2316 0x73, 0x65, 0x12, 0x23, 0x0a, 0x09, 0x65, 0x78, 0x69, 0x74, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 2317 0x01, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x06, 0x8a, 0xb5, 0x18, 0x02, 0x33, 0x32, 0x52, 0x08, 0x65, 2318 0x78, 0x69, 0x74, 0x52, 0x6f, 0x6f, 0x74, 0x22, 0xbb, 0x01, 0x0a, 0x16, 0x41, 0x74, 0x74, 0x65, 2319 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 2320 0x73, 0x74, 0x12, 0x40, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 2321 0x42, 0x2c, 0x82, 0xb5, 0x18, 0x28, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 2322 0x2f, 0x70, 0x72, 0x79, 0x73, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x6c, 0x61, 0x62, 0x73, 0x2f, 0x65, 2323 0x74, 0x68, 0x32, 0x2d, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x53, 0x6c, 0x6f, 0x74, 0x52, 0x04, 2324 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x5f, 0x0a, 0x0f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 2325 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x42, 0x36, 0x82, 2326 0xb5, 0x18, 0x32, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x72, 2327 0x79, 0x73, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x6c, 0x61, 0x62, 0x73, 0x2f, 0x65, 0x74, 0x68, 0x32, 2328 0x2d, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 2329 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x0e, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 2330 0x49, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x4c, 0x0a, 0x0e, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x52, 2331 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x15, 0x61, 0x74, 0x74, 0x65, 0x73, 2332 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 2333 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x06, 0x8a, 0xb5, 0x18, 0x02, 0x33, 0x32, 0x52, 0x13, 2334 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x52, 2335 0x6f, 0x6f, 0x74, 0x22, 0x9e, 0x02, 0x0a, 0x19, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 2336 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 2337 0x74, 0x12, 0x40, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x42, 2338 0x2c, 0x82, 0xb5, 0x18, 0x28, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 2339 0x70, 0x72, 0x79, 0x73, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x6c, 0x61, 0x62, 0x73, 0x2f, 0x65, 0x74, 2340 0x68, 0x32, 0x2d, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x53, 0x6c, 0x6f, 0x74, 0x52, 0x04, 0x73, 2341 0x6c, 0x6f, 0x74, 0x12, 0x5f, 0x0a, 0x0f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 2342 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x42, 0x36, 0x82, 0xb5, 2343 0x18, 0x32, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x72, 0x79, 2344 0x73, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x6c, 0x61, 0x62, 0x73, 0x2f, 0x65, 0x74, 0x68, 0x32, 0x2d, 2345 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x49, 2346 0x6e, 0x64, 0x65, 0x78, 0x52, 0x0e, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x49, 2347 0x6e, 0x64, 0x65, 0x78, 0x12, 0x2f, 0x0a, 0x0a, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x6b, 2348 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x10, 0x8a, 0xb5, 0x18, 0x02, 0x34, 0x38, 2349 0x9a, 0xb5, 0x18, 0x06, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x52, 0x09, 0x70, 0x75, 0x62, 0x6c, 2350 0x69, 0x63, 0x4b, 0x65, 0x79, 0x12, 0x2d, 0x0a, 0x0e, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x73, 0x69, 2351 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x06, 0x8a, 2352 0xb5, 0x18, 0x02, 0x39, 0x36, 0x52, 0x0d, 0x73, 0x6c, 0x6f, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x61, 2353 0x74, 0x75, 0x72, 0x65, 0x22, 0x81, 0x01, 0x0a, 0x1a, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 2354 0x74, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 2355 0x6e, 0x73, 0x65, 0x12, 0x63, 0x0a, 0x13, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 2356 0x5f, 0x61, 0x6e, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x6f, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 2357 0x32, 0x33, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x65, 0x74, 0x68, 0x2e, 2358 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 2359 0x74, 0x65, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x64, 2360 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x52, 0x11, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 2361 0x41, 0x6e, 0x64, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x22, 0x96, 0x01, 0x0a, 0x1c, 0x53, 0x69, 0x67, 2362 0x6e, 0x65, 0x64, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x6d, 2363 0x69, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x76, 0x0a, 0x1a, 0x73, 0x69, 0x67, 2364 0x6e, 0x65, 0x64, 0x5f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x5f, 0x61, 0x6e, 2365 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x6f, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 2366 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x61, 2367 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x41, 0x67, 0x67, 0x72, 2368 0x65, 0x67, 0x61, 0x74, 0x65, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 2369 0x41, 0x6e, 0x64, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x52, 0x17, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 2370 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x41, 0x6e, 0x64, 0x50, 0x72, 0x6f, 0x6f, 2371 0x66, 0x22, 0x5b, 0x0a, 0x1d, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x41, 0x67, 0x67, 0x72, 0x65, 2372 0x67, 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 2373 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x15, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 2374 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 2375 0x0c, 0x42, 0x06, 0x8a, 0xb5, 0x18, 0x02, 0x33, 0x32, 0x52, 0x13, 0x61, 0x74, 0x74, 0x65, 0x73, 2376 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x6f, 0x6f, 0x74, 0x22, 0xe8, 2377 0x01, 0x0a, 0x20, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x53, 0x75, 0x62, 0x6e, 2378 0x65, 0x74, 0x73, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x52, 0x65, 0x71, 0x75, 2379 0x65, 0x73, 0x74, 0x12, 0x42, 0x0a, 0x05, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 2380 0x28, 0x04, 0x42, 0x2c, 0x82, 0xb5, 0x18, 0x28, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 2381 0x6f, 0x6d, 0x2f, 0x70, 0x72, 0x79, 0x73, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x6c, 0x61, 0x62, 0x73, 2382 0x2f, 0x65, 0x74, 0x68, 0x32, 0x2d, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x53, 0x6c, 0x6f, 0x74, 2383 0x52, 0x05, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x12, 0x5b, 0x0a, 0x0d, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 2384 0x74, 0x74, 0x65, 0x65, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x04, 0x42, 0x36, 2385 0x82, 0xb5, 0x18, 0x32, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 2386 0x72, 0x79, 0x73, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x6c, 0x61, 0x62, 0x73, 0x2f, 0x65, 0x74, 0x68, 2387 0x32, 0x2d, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 2388 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 2389 0x65, 0x49, 0x64, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x61, 0x67, 0x67, 0x72, 0x65, 2390 0x67, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x03, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x73, 0x41, 2391 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x22, 0xb9, 0x04, 0x0a, 0x09, 0x56, 0x61, 2392 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x2f, 0x0a, 0x0a, 0x70, 0x75, 0x62, 0x6c, 0x69, 2393 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x10, 0x8a, 0xb5, 0x18, 2394 0x02, 0x34, 0x38, 0x9a, 0xb5, 0x18, 0x06, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x52, 0x09, 0x70, 2395 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x12, 0x3d, 0x0a, 0x16, 0x77, 0x69, 0x74, 0x68, 2396 0x64, 0x72, 0x61, 0x77, 0x61, 0x6c, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 2397 0x6c, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x06, 0x8a, 0xb5, 0x18, 0x02, 0x33, 0x32, 2398 0x52, 0x15, 0x77, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x61, 0x6c, 0x43, 0x72, 0x65, 0x64, 2399 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x65, 0x66, 0x66, 0x65, 0x63, 2400 0x74, 0x69, 0x76, 0x65, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 2401 0x28, 0x04, 0x52, 0x10, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x42, 0x61, 0x6c, 2402 0x61, 0x6e, 0x63, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x65, 0x64, 0x18, 2403 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x65, 0x64, 0x12, 0x6f, 2404 0x0a, 0x1c, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x6c, 0x69, 2405 0x67, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x05, 2406 0x20, 0x01, 0x28, 0x04, 0x42, 0x2d, 0x82, 0xb5, 0x18, 0x29, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 2407 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x72, 0x79, 0x73, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x6c, 0x61, 2408 0x62, 0x73, 0x2f, 0x65, 0x74, 0x68, 0x32, 0x2d, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x45, 0x70, 2409 0x6f, 0x63, 0x68, 0x52, 0x1a, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 2410 0x6c, 0x69, 0x67, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x12, 2411 0x58, 0x0a, 0x10, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x70, 2412 0x6f, 0x63, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x42, 0x2d, 0x82, 0xb5, 0x18, 0x29, 0x67, 2413 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x72, 0x79, 0x73, 0x6d, 0x61, 2414 0x74, 0x69, 0x63, 0x6c, 0x61, 0x62, 0x73, 0x2f, 0x65, 0x74, 0x68, 0x32, 0x2d, 0x74, 0x79, 0x70, 2415 0x65, 0x73, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x52, 0x0f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 2416 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x4c, 0x0a, 0x0a, 0x65, 0x78, 0x69, 2417 0x74, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x42, 0x2d, 0x82, 2418 0xb5, 0x18, 0x29, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x72, 2419 0x79, 0x73, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x6c, 0x61, 0x62, 0x73, 0x2f, 0x65, 0x74, 0x68, 0x32, 2420 0x2d, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x52, 0x09, 0x65, 0x78, 2421 0x69, 0x74, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x5c, 0x0a, 0x12, 0x77, 0x69, 0x74, 0x68, 0x64, 2422 0x72, 0x61, 0x77, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x08, 0x20, 2423 0x01, 0x28, 0x04, 0x42, 0x2d, 0x82, 0xb5, 0x18, 0x29, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 2424 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x72, 0x79, 0x73, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x6c, 0x61, 0x62, 2425 0x73, 0x2f, 0x65, 0x74, 0x68, 0x32, 0x2d, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x45, 0x70, 0x6f, 2426 0x63, 0x68, 0x52, 0x11, 0x77, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x61, 0x62, 0x6c, 0x65, 2427 0x45, 0x70, 0x6f, 0x63, 0x68, 0x22, 0x8e, 0x05, 0x0a, 0x16, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 2428 0x74, 0x6f, 0x72, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x74, 0x69, 0x6f, 0x6e, 2429 0x12, 0x3e, 0x0a, 0x19, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 2430 0x63, 0x69, 0x70, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 2431 0x01, 0x28, 0x02, 0x42, 0x02, 0x18, 0x01, 0x52, 0x17, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x50, 2432 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x61, 0x74, 0x65, 2433 0x12, 0x23, 0x0a, 0x0b, 0x76, 0x6f, 0x74, 0x65, 0x64, 0x5f, 0x65, 0x74, 0x68, 0x65, 0x72, 0x18, 2434 0x02, 0x20, 0x01, 0x28, 0x04, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0a, 0x76, 0x6f, 0x74, 0x65, 0x64, 2435 0x45, 0x74, 0x68, 0x65, 0x72, 0x12, 0x29, 0x0a, 0x0e, 0x65, 0x6c, 0x69, 0x67, 0x69, 0x62, 0x6c, 2436 0x65, 0x5f, 0x65, 0x74, 0x68, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x42, 0x02, 0x18, 2437 0x01, 0x52, 0x0d, 0x65, 0x6c, 0x69, 0x67, 0x69, 0x62, 0x6c, 0x65, 0x45, 0x74, 0x68, 0x65, 0x72, 2438 0x12, 0x39, 0x0a, 0x19, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x65, 0x70, 0x6f, 0x63, 2439 0x68, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x67, 0x77, 0x65, 0x69, 0x18, 0x04, 0x20, 2440 0x01, 0x28, 0x04, 0x52, 0x16, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x45, 0x70, 0x6f, 0x63, 2441 0x68, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x47, 0x77, 0x65, 0x69, 0x12, 0x3f, 0x0a, 0x1c, 0x63, 2442 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x5f, 0x61, 0x74, 0x74, 2443 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x67, 0x77, 0x65, 0x69, 0x18, 0x05, 0x20, 0x01, 0x28, 2444 0x04, 0x52, 0x19, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x41, 2445 0x74, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x47, 0x77, 0x65, 0x69, 0x12, 0x4c, 0x0a, 0x23, 2446 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x5f, 0x74, 0x61, 2447 0x72, 0x67, 0x65, 0x74, 0x5f, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x67, 2448 0x77, 0x65, 0x69, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x1f, 0x63, 0x75, 0x72, 0x72, 0x65, 2449 0x6e, 0x74, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x41, 0x74, 0x74, 2450 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x47, 0x77, 0x65, 0x69, 0x12, 0x3b, 0x0a, 0x1a, 0x70, 0x72, 2451 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x5f, 0x61, 0x63, 0x74, 2452 0x69, 0x76, 0x65, 0x5f, 0x67, 0x77, 0x65, 0x69, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x17, 2453 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x41, 0x63, 0x74, 2454 0x69, 0x76, 0x65, 0x47, 0x77, 0x65, 0x69, 0x12, 0x41, 0x0a, 0x1d, 0x70, 0x72, 0x65, 0x76, 0x69, 2455 0x6f, 0x75, 0x73, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x5f, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 2456 0x69, 0x6e, 0x67, 0x5f, 0x67, 0x77, 0x65, 0x69, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x1a, 2457 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x41, 0x74, 0x74, 2458 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x47, 0x77, 0x65, 0x69, 0x12, 0x4e, 0x0a, 0x24, 0x70, 0x72, 2459 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x5f, 0x74, 0x61, 0x72, 2460 0x67, 0x65, 0x74, 0x5f, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x67, 0x77, 2461 0x65, 0x69, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, 0x20, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 2462 0x75, 0x73, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x41, 0x74, 0x74, 2463 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x47, 0x77, 0x65, 0x69, 0x12, 0x4a, 0x0a, 0x22, 0x70, 0x72, 2464 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x5f, 0x68, 0x65, 0x61, 2465 0x64, 0x5f, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x67, 0x77, 0x65, 0x69, 2466 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x1e, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 2467 0x45, 0x70, 0x6f, 0x63, 0x68, 0x48, 0x65, 0x61, 0x64, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x69, 2468 0x6e, 0x67, 0x47, 0x77, 0x65, 0x69, 0x22, 0xfb, 0x02, 0x0a, 0x0d, 0x56, 0x61, 0x6c, 0x69, 0x64, 2469 0x61, 0x74, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x75, 0x62, 0x6c, 2470 0x69, 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x70, 0x75, 2471 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x12, 0x4c, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 2472 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x42, 0x36, 0x82, 0xb5, 0x18, 0x32, 0x67, 0x69, 0x74, 0x68, 2473 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x72, 0x79, 0x73, 0x6d, 0x61, 0x74, 0x69, 0x63, 2474 0x6c, 0x61, 0x62, 0x73, 0x2f, 0x65, 0x74, 0x68, 0x32, 0x2d, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 2475 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x05, 2476 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x43, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x03, 2477 0x20, 0x01, 0x28, 0x04, 0x42, 0x2d, 0x82, 0xb5, 0x18, 0x29, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 2478 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x72, 0x79, 0x73, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x6c, 0x61, 2479 0x62, 0x73, 0x2f, 0x65, 0x74, 0x68, 0x32, 0x2d, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x45, 0x70, 2480 0x6f, 0x63, 0x68, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x3e, 0x0a, 0x06, 0x73, 0x74, 2481 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x65, 0x74, 0x68, 2482 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 2483 0x61, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 2484 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x31, 0x0a, 0x14, 0x74, 0x72, 2485 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 2486 0x6d, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x13, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, 2487 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x18, 0x0a, 2488 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 2489 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x65, 0x66, 0x66, 0x65, 0x63, 2490 0x74, 0x69, 0x76, 0x65, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 2491 0x28, 0x04, 0x52, 0x10, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x42, 0x61, 0x6c, 2492 0x61, 0x6e, 0x63, 0x65, 0x22, 0xb5, 0x02, 0x0a, 0x13, 0x44, 0x6f, 0x70, 0x70, 0x65, 0x6c, 0x47, 2493 0x61, 0x6e, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x6a, 0x0a, 0x12, 2494 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 2495 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72, 2496 0x65, 0x75, 0x6d, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 2497 0x2e, 0x44, 0x6f, 0x70, 0x70, 0x65, 0x6c, 0x47, 0x61, 0x6e, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 2498 0x75, 0x65, 0x73, 0x74, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x65, 2499 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x11, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 2500 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x1a, 0xb1, 0x01, 0x0a, 0x10, 0x56, 0x61, 0x6c, 2501 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2f, 0x0a, 2502 0x0a, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 2503 0x0c, 0x42, 0x10, 0x8a, 0xb5, 0x18, 0x02, 0x34, 0x38, 0x9a, 0xb5, 0x18, 0x06, 0x70, 0x75, 0x62, 2504 0x6b, 0x65, 0x79, 0x52, 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x12, 0x43, 2505 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x42, 0x2d, 0x82, 2506 0xb5, 0x18, 0x29, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x72, 2507 0x79, 0x73, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x6c, 0x61, 0x62, 0x73, 0x2f, 0x65, 0x74, 0x68, 0x32, 2508 0x2d, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x52, 0x05, 0x65, 0x70, 2509 0x6f, 0x63, 0x68, 0x12, 0x27, 0x0a, 0x0b, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x72, 0x6f, 2510 0x6f, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x06, 0x8a, 0xb5, 0x18, 0x02, 0x33, 0x32, 2511 0x52, 0x0a, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x52, 0x6f, 0x6f, 0x74, 0x22, 0xe4, 0x01, 0x0a, 2512 0x14, 0x44, 0x6f, 0x70, 0x70, 0x65, 0x6c, 0x47, 0x61, 0x6e, 0x67, 0x65, 0x72, 0x52, 0x65, 0x73, 2513 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5b, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 2514 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72, 2515 0x65, 0x75, 0x6d, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 2516 0x2e, 0x44, 0x6f, 0x70, 0x70, 0x65, 0x6c, 0x47, 0x61, 0x6e, 0x67, 0x65, 0x72, 0x52, 0x65, 0x73, 2517 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x52, 2518 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x09, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 2519 0x65, 0x73, 0x1a, 0x6f, 0x0a, 0x11, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x52, 2520 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x0a, 0x70, 0x75, 0x62, 0x6c, 0x69, 2521 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x10, 0x8a, 0xb5, 0x18, 2522 0x02, 0x34, 0x38, 0x9a, 0xb5, 0x18, 0x06, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x52, 0x09, 0x70, 2523 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x12, 0x29, 0x0a, 0x10, 0x64, 0x75, 0x70, 0x6c, 2524 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 2525 0x28, 0x08, 0x52, 0x0f, 0x64, 0x75, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x45, 0x78, 0x69, 2526 0x73, 0x74, 0x73, 0x2a, 0x9a, 0x01, 0x0a, 0x0f, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 2527 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x0e, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 2528 0x57, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x44, 2529 0x45, 0x50, 0x4f, 0x53, 0x49, 0x54, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x45, 2530 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x41, 0x43, 0x54, 0x49, 0x56, 2531 0x45, 0x10, 0x03, 0x12, 0x0b, 0x0a, 0x07, 0x45, 0x58, 0x49, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x04, 2532 0x12, 0x0c, 0x0a, 0x08, 0x53, 0x4c, 0x41, 0x53, 0x48, 0x49, 0x4e, 0x47, 0x10, 0x05, 0x12, 0x0a, 2533 0x0a, 0x06, 0x45, 0x58, 0x49, 0x54, 0x45, 0x44, 0x10, 0x06, 0x12, 0x0b, 0x0a, 0x07, 0x49, 0x4e, 2534 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x07, 0x12, 0x17, 0x0a, 0x13, 0x50, 0x41, 0x52, 0x54, 0x49, 2535 0x41, 0x4c, 0x4c, 0x59, 0x5f, 0x44, 0x45, 0x50, 0x4f, 0x53, 0x49, 0x54, 0x45, 0x44, 0x10, 0x08, 2536 0x32, 0xd3, 0x14, 0x0a, 0x13, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x56, 2537 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x80, 0x01, 0x0a, 0x09, 0x47, 0x65, 0x74, 2538 0x44, 0x75, 0x74, 0x69, 0x65, 0x73, 0x12, 0x24, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 2539 0x6d, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x44, 2540 0x75, 0x74, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x65, 2541 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 2542 0x70, 0x68, 0x61, 0x31, 0x2e, 0x44, 0x75, 0x74, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 2543 0x6e, 0x73, 0x65, 0x22, 0x26, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x12, 0x1e, 0x2f, 0x65, 0x74, 2544 0x68, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 2545 0x61, 0x74, 0x6f, 0x72, 0x2f, 0x64, 0x75, 0x74, 0x69, 0x65, 0x73, 0x12, 0x8c, 0x01, 0x0a, 0x0c, 2546 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x44, 0x75, 0x74, 0x69, 0x65, 0x73, 0x12, 0x24, 0x2e, 0x65, 2547 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 2548 0x70, 0x68, 0x61, 0x31, 0x2e, 0x44, 0x75, 0x74, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 2549 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x65, 0x74, 2550 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x44, 0x75, 0x74, 0x69, 0x65, 2551 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 2552 0x27, 0x12, 0x25, 0x2f, 0x65, 0x74, 0x68, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 2553 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x2f, 0x64, 0x75, 0x74, 0x69, 0x65, 2554 0x73, 0x2f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x30, 0x01, 0x12, 0x81, 0x01, 0x0a, 0x0a, 0x44, 2555 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x12, 0x24, 0x2e, 0x65, 0x74, 0x68, 0x65, 2556 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 2557 0x31, 0x2e, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 2558 0x25, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 2559 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 2560 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x26, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x12, 0x1e, 2561 0x2f, 0x65, 0x74, 0x68, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f, 0x76, 0x61, 2562 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x2f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x8e, 2563 0x01, 0x0a, 0x11, 0x57, 0x61, 0x69, 0x74, 0x46, 0x6f, 0x72, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x53, 2564 0x74, 0x61, 0x72, 0x74, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 2565 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x29, 0x2e, 0x65, 2566 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 2567 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 2568 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x34, 0x88, 0x02, 0x01, 0x82, 0xd3, 0xe4, 0x93, 2569 0x02, 0x2b, 0x12, 0x29, 0x2f, 0x65, 0x74, 0x68, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 2570 0x31, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x2f, 0x63, 0x68, 0x61, 0x69, 2571 0x6e, 0x73, 0x74, 0x61, 0x72, 0x74, 0x2f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x30, 0x01, 0x12, 2572 0xaf, 0x01, 0x0a, 0x11, 0x57, 0x61, 0x69, 0x74, 0x46, 0x6f, 0x72, 0x41, 0x63, 0x74, 0x69, 0x76, 2573 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x31, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 2574 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x56, 0x61, 2575 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 2576 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72, 2577 0x65, 0x75, 0x6d, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 2578 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 2579 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x31, 0x82, 0xd3, 2580 0xe4, 0x93, 0x02, 0x2b, 0x12, 0x29, 0x2f, 0x65, 0x74, 0x68, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 2581 0x68, 0x61, 0x31, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x2f, 0x61, 0x63, 2582 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x30, 2583 0x01, 0x12, 0x94, 0x01, 0x0a, 0x0e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x49, 2584 0x6e, 0x64, 0x65, 0x78, 0x12, 0x2c, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 2585 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x56, 0x61, 0x6c, 2586 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 2587 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x65, 0x74, 2588 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 2589 0x61, 0x74, 0x6f, 0x72, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 2590 0x65, 0x22, 0x25, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x12, 0x1d, 0x2f, 0x65, 0x74, 0x68, 0x2f, 2591 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 2592 0x6f, 0x72, 0x2f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x98, 0x01, 0x0a, 0x0f, 0x56, 0x61, 0x6c, 2593 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2d, 0x2e, 0x65, 2594 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 2595 0x70, 0x68, 0x61, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x74, 2596 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x65, 0x74, 2597 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 2598 0x68, 0x61, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x74, 0x61, 2599 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x26, 0x82, 0xd3, 0xe4, 2600 0x93, 0x02, 0x20, 0x12, 0x1e, 0x2f, 0x65, 0x74, 0x68, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 2601 0x61, 0x31, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x2f, 0x73, 0x74, 0x61, 2602 0x74, 0x75, 0x73, 0x12, 0xb2, 0x01, 0x0a, 0x17, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 2603 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 2604 0x35, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 2605 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 2606 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 2607 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 2608 0x6d, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4d, 2609 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 2610 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x28, 2611 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x22, 0x12, 0x20, 0x2f, 0x65, 0x74, 0x68, 0x2f, 0x76, 0x31, 0x61, 2612 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x2f, 2613 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x12, 0x7a, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x42, 2614 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x23, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 2615 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x42, 0x6c, 0x6f, 2616 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x65, 0x74, 0x68, 0x65, 2617 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 2618 0x31, 0x2e, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x22, 0x25, 0x82, 2619 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x12, 0x1d, 0x2f, 0x65, 0x74, 0x68, 0x2f, 0x76, 0x31, 0x61, 0x6c, 2620 0x70, 0x68, 0x61, 0x31, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x2f, 0x62, 2621 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x8a, 0x01, 0x0a, 0x0c, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 2622 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x28, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 2623 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x53, 0x69, 2624 0x67, 0x6e, 0x65, 0x64, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x1a, 2625 0x26, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 2626 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x52, 2627 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x28, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x22, 0x22, 2628 0x1d, 0x2f, 0x65, 0x74, 0x68, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f, 0x76, 2629 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x2f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x3a, 0x01, 2630 0x2a, 0x12, 0x98, 0x01, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 2631 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x12, 0x2d, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72, 2632 0x65, 0x75, 0x6d, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 2633 0x2e, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 2634 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 2635 0x75, 0x6d, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 2636 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x22, 2637 0x2b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x25, 0x12, 0x23, 0x2f, 0x65, 0x74, 0x68, 0x2f, 0x76, 0x31, 2638 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 2639 0x2f, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x8f, 0x01, 0x0a, 2640 0x12, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 2641 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x65, 2642 0x74, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x41, 0x74, 0x74, 0x65, 2643 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x25, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 2644 0x75, 0x6d, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 2645 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2e, 2646 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x28, 0x22, 0x23, 0x2f, 0x65, 0x74, 0x68, 0x2f, 0x76, 0x31, 0x61, 2647 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x2f, 2648 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x01, 0x2a, 0x12, 0xb2, 2649 0x01, 0x0a, 0x1d, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 2650 0x74, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x6f, 0x66, 2651 0x12, 0x30, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x65, 0x74, 0x68, 0x2e, 2652 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 2653 0x74, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 2654 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x65, 0x74, 2655 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 2656 0x67, 0x61, 0x74, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 2657 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x26, 0x22, 0x21, 0x2f, 2658 0x65, 0x74, 0x68, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f, 0x76, 0x61, 0x6c, 2659 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x2f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 2660 0x3a, 0x01, 0x2a, 0x12, 0xbe, 0x01, 0x0a, 0x23, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x53, 0x69, 2661 0x67, 0x6e, 0x65, 0x64, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x53, 0x65, 0x6c, 2662 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x12, 0x33, 0x2e, 0x65, 0x74, 2663 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 2664 0x68, 0x61, 0x31, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 2665 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 2666 0x1a, 0x34, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x65, 0x74, 0x68, 0x2e, 2667 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x41, 2668 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x52, 0x65, 2669 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x26, 0x22, 0x21, 2670 0x2f, 0x65, 0x74, 0x68, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f, 0x76, 0x61, 2671 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x2f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 2672 0x65, 0x3a, 0x01, 0x2a, 0x12, 0x8e, 0x01, 0x0a, 0x0b, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 2673 0x45, 0x78, 0x69, 0x74, 0x12, 0x2a, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 2674 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x53, 0x69, 0x67, 2675 0x6e, 0x65, 0x64, 0x56, 0x6f, 0x6c, 0x75, 0x6e, 0x74, 0x61, 0x72, 0x79, 0x45, 0x78, 0x69, 0x74, 2676 0x1a, 0x2a, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x65, 0x74, 0x68, 0x2e, 2677 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 2678 0x45, 0x78, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x27, 0x82, 0xd3, 2679 0xe4, 0x93, 0x02, 0x21, 0x22, 0x1c, 0x2f, 0x65, 0x74, 0x68, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 2680 0x68, 0x61, 0x31, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x2f, 0x65, 0x78, 2681 0x69, 0x74, 0x3a, 0x01, 0x2a, 0x12, 0xa1, 0x01, 0x0a, 0x19, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 2682 0x69, 0x62, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x53, 0x75, 0x62, 0x6e, 2683 0x65, 0x74, 0x73, 0x12, 0x37, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x65, 2684 0x74, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 2685 0x69, 0x74, 0x74, 0x65, 0x65, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x73, 0x53, 0x75, 0x62, 0x73, 2686 0x63, 0x72, 0x69, 0x62, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 2687 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 2688 0x6d, 0x70, 0x74, 0x79, 0x22, 0x33, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2d, 0x22, 0x28, 0x2f, 0x65, 2689 0x74, 0x68, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f, 0x76, 0x61, 0x6c, 0x69, 2690 0x64, 0x61, 0x74, 0x6f, 0x72, 0x2f, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x2f, 0x73, 0x75, 0x62, 2691 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x3a, 0x01, 0x2a, 0x12, 0x9a, 0x01, 0x0a, 0x11, 0x43, 0x68, 2692 0x65, 0x63, 0x6b, 0x44, 0x6f, 0x70, 0x70, 0x65, 0x6c, 0x47, 0x61, 0x6e, 0x67, 0x65, 0x72, 0x12, 2693 0x2a, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 2694 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x44, 0x6f, 0x70, 0x70, 0x65, 0x6c, 0x47, 0x61, 2695 0x6e, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x65, 0x74, 2696 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 2697 0x68, 0x61, 0x31, 0x2e, 0x44, 0x6f, 0x70, 0x70, 0x65, 0x6c, 0x47, 0x61, 0x6e, 0x67, 0x65, 0x72, 2698 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x26, 2699 0x12, 0x24, 0x2f, 0x65, 0x74, 0x68, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f, 2700 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x2f, 0x64, 0x6f, 0x70, 0x70, 0x65, 0x6c, 2701 0x67, 0x61, 0x6e, 0x67, 0x65, 0x72, 0x42, 0x94, 0x01, 0x0a, 0x19, 0x6f, 0x72, 0x67, 0x2e, 0x65, 2702 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 2703 0x70, 0x68, 0x61, 0x31, 0x42, 0x0e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x50, 2704 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x35, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 2705 0x6f, 0x6d, 0x2f, 0x70, 0x72, 0x79, 0x73, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x6c, 0x61, 0x62, 0x73, 2706 0x2f, 0x70, 0x72, 0x79, 0x73, 0x6d, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x74, 0x68, 2707 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x3b, 0x65, 0x74, 0x68, 0xaa, 0x02, 0x15, 2708 0x45, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x45, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x61, 2709 0x6c, 0x70, 0x68, 0x61, 0x31, 0xca, 0x02, 0x15, 0x45, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 2710 0x5c, 0x45, 0x74, 0x68, 0x5c, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x62, 0x06, 0x70, 2711 0x72, 0x6f, 0x74, 0x6f, 0x33, 2712 } 2713 2714 var ( 2715 file_proto_eth_v1alpha1_validator_proto_rawDescOnce sync.Once 2716 file_proto_eth_v1alpha1_validator_proto_rawDescData = file_proto_eth_v1alpha1_validator_proto_rawDesc 2717 ) 2718 2719 func file_proto_eth_v1alpha1_validator_proto_rawDescGZIP() []byte { 2720 file_proto_eth_v1alpha1_validator_proto_rawDescOnce.Do(func() { 2721 file_proto_eth_v1alpha1_validator_proto_rawDescData = protoimpl.X.CompressGZIP(file_proto_eth_v1alpha1_validator_proto_rawDescData) 2722 }) 2723 return file_proto_eth_v1alpha1_validator_proto_rawDescData 2724 } 2725 2726 var file_proto_eth_v1alpha1_validator_proto_enumTypes = make([]protoimpl.EnumInfo, 1) 2727 var file_proto_eth_v1alpha1_validator_proto_msgTypes = make([]protoimpl.MessageInfo, 33) 2728 var file_proto_eth_v1alpha1_validator_proto_goTypes = []interface{}{ 2729 (ValidatorStatus)(0), // 0: ethereum.eth.v1alpha1.ValidatorStatus 2730 (*DomainRequest)(nil), // 1: ethereum.eth.v1alpha1.DomainRequest 2731 (*DomainResponse)(nil), // 2: ethereum.eth.v1alpha1.DomainResponse 2732 (*ValidatorActivationRequest)(nil), // 3: ethereum.eth.v1alpha1.ValidatorActivationRequest 2733 (*ValidatorActivationResponse)(nil), // 4: ethereum.eth.v1alpha1.ValidatorActivationResponse 2734 (*ChainStartResponse)(nil), // 5: ethereum.eth.v1alpha1.ChainStartResponse 2735 (*SyncedResponse)(nil), // 6: ethereum.eth.v1alpha1.SyncedResponse 2736 (*ValidatorIndexRequest)(nil), // 7: ethereum.eth.v1alpha1.ValidatorIndexRequest 2737 (*ValidatorIndexResponse)(nil), // 8: ethereum.eth.v1alpha1.ValidatorIndexResponse 2738 (*ValidatorStatusRequest)(nil), // 9: ethereum.eth.v1alpha1.ValidatorStatusRequest 2739 (*ValidatorStatusResponse)(nil), // 10: ethereum.eth.v1alpha1.ValidatorStatusResponse 2740 (*MultipleValidatorStatusRequest)(nil), // 11: ethereum.eth.v1alpha1.MultipleValidatorStatusRequest 2741 (*MultipleValidatorStatusResponse)(nil), // 12: ethereum.eth.v1alpha1.MultipleValidatorStatusResponse 2742 (*DutiesRequest)(nil), // 13: ethereum.eth.v1alpha1.DutiesRequest 2743 (*DutiesResponse)(nil), // 14: ethereum.eth.v1alpha1.DutiesResponse 2744 (*BlockRequest)(nil), // 15: ethereum.eth.v1alpha1.BlockRequest 2745 (*ProposeResponse)(nil), // 16: ethereum.eth.v1alpha1.ProposeResponse 2746 (*ProposeExitResponse)(nil), // 17: ethereum.eth.v1alpha1.ProposeExitResponse 2747 (*AttestationDataRequest)(nil), // 18: ethereum.eth.v1alpha1.AttestationDataRequest 2748 (*AttestResponse)(nil), // 19: ethereum.eth.v1alpha1.AttestResponse 2749 (*AggregateSelectionRequest)(nil), // 20: ethereum.eth.v1alpha1.AggregateSelectionRequest 2750 (*AggregateSelectionResponse)(nil), // 21: ethereum.eth.v1alpha1.AggregateSelectionResponse 2751 (*SignedAggregateSubmitRequest)(nil), // 22: ethereum.eth.v1alpha1.SignedAggregateSubmitRequest 2752 (*SignedAggregateSubmitResponse)(nil), // 23: ethereum.eth.v1alpha1.SignedAggregateSubmitResponse 2753 (*CommitteeSubnetsSubscribeRequest)(nil), // 24: ethereum.eth.v1alpha1.CommitteeSubnetsSubscribeRequest 2754 (*Validator)(nil), // 25: ethereum.eth.v1alpha1.Validator 2755 (*ValidatorParticipation)(nil), // 26: ethereum.eth.v1alpha1.ValidatorParticipation 2756 (*ValidatorInfo)(nil), // 27: ethereum.eth.v1alpha1.ValidatorInfo 2757 (*DoppelGangerRequest)(nil), // 28: ethereum.eth.v1alpha1.DoppelGangerRequest 2758 (*DoppelGangerResponse)(nil), // 29: ethereum.eth.v1alpha1.DoppelGangerResponse 2759 (*ValidatorActivationResponse_Status)(nil), // 30: ethereum.eth.v1alpha1.ValidatorActivationResponse.Status 2760 (*DutiesResponse_Duty)(nil), // 31: ethereum.eth.v1alpha1.DutiesResponse.Duty 2761 (*DoppelGangerRequest_ValidatorRequest)(nil), // 32: ethereum.eth.v1alpha1.DoppelGangerRequest.ValidatorRequest 2762 (*DoppelGangerResponse_ValidatorResponse)(nil), // 33: ethereum.eth.v1alpha1.DoppelGangerResponse.ValidatorResponse 2763 (*AggregateAttestationAndProof)(nil), // 34: ethereum.eth.v1alpha1.AggregateAttestationAndProof 2764 (*SignedAggregateAttestationAndProof)(nil), // 35: ethereum.eth.v1alpha1.SignedAggregateAttestationAndProof 2765 (*empty.Empty)(nil), // 36: google.protobuf.Empty 2766 (*SignedBeaconBlock)(nil), // 37: ethereum.eth.v1alpha1.SignedBeaconBlock 2767 (*Attestation)(nil), // 38: ethereum.eth.v1alpha1.Attestation 2768 (*SignedVoluntaryExit)(nil), // 39: ethereum.eth.v1alpha1.SignedVoluntaryExit 2769 (*BeaconBlock)(nil), // 40: ethereum.eth.v1alpha1.BeaconBlock 2770 (*AttestationData)(nil), // 41: ethereum.eth.v1alpha1.AttestationData 2771 } 2772 var file_proto_eth_v1alpha1_validator_proto_depIdxs = []int32{ 2773 30, // 0: ethereum.eth.v1alpha1.ValidatorActivationResponse.statuses:type_name -> ethereum.eth.v1alpha1.ValidatorActivationResponse.Status 2774 0, // 1: ethereum.eth.v1alpha1.ValidatorStatusResponse.status:type_name -> ethereum.eth.v1alpha1.ValidatorStatus 2775 10, // 2: ethereum.eth.v1alpha1.MultipleValidatorStatusResponse.statuses:type_name -> ethereum.eth.v1alpha1.ValidatorStatusResponse 2776 31, // 3: ethereum.eth.v1alpha1.DutiesResponse.duties:type_name -> ethereum.eth.v1alpha1.DutiesResponse.Duty 2777 31, // 4: ethereum.eth.v1alpha1.DutiesResponse.current_epoch_duties:type_name -> ethereum.eth.v1alpha1.DutiesResponse.Duty 2778 31, // 5: ethereum.eth.v1alpha1.DutiesResponse.next_epoch_duties:type_name -> ethereum.eth.v1alpha1.DutiesResponse.Duty 2779 34, // 6: ethereum.eth.v1alpha1.AggregateSelectionResponse.aggregate_and_proof:type_name -> ethereum.eth.v1alpha1.AggregateAttestationAndProof 2780 35, // 7: ethereum.eth.v1alpha1.SignedAggregateSubmitRequest.signed_aggregate_and_proof:type_name -> ethereum.eth.v1alpha1.SignedAggregateAttestationAndProof 2781 0, // 8: ethereum.eth.v1alpha1.ValidatorInfo.status:type_name -> ethereum.eth.v1alpha1.ValidatorStatus 2782 32, // 9: ethereum.eth.v1alpha1.DoppelGangerRequest.validator_requests:type_name -> ethereum.eth.v1alpha1.DoppelGangerRequest.ValidatorRequest 2783 33, // 10: ethereum.eth.v1alpha1.DoppelGangerResponse.responses:type_name -> ethereum.eth.v1alpha1.DoppelGangerResponse.ValidatorResponse 2784 10, // 11: ethereum.eth.v1alpha1.ValidatorActivationResponse.Status.status:type_name -> ethereum.eth.v1alpha1.ValidatorStatusResponse 2785 0, // 12: ethereum.eth.v1alpha1.DutiesResponse.Duty.status:type_name -> ethereum.eth.v1alpha1.ValidatorStatus 2786 13, // 13: ethereum.eth.v1alpha1.BeaconNodeValidator.GetDuties:input_type -> ethereum.eth.v1alpha1.DutiesRequest 2787 13, // 14: ethereum.eth.v1alpha1.BeaconNodeValidator.StreamDuties:input_type -> ethereum.eth.v1alpha1.DutiesRequest 2788 1, // 15: ethereum.eth.v1alpha1.BeaconNodeValidator.DomainData:input_type -> ethereum.eth.v1alpha1.DomainRequest 2789 36, // 16: ethereum.eth.v1alpha1.BeaconNodeValidator.WaitForChainStart:input_type -> google.protobuf.Empty 2790 3, // 17: ethereum.eth.v1alpha1.BeaconNodeValidator.WaitForActivation:input_type -> ethereum.eth.v1alpha1.ValidatorActivationRequest 2791 7, // 18: ethereum.eth.v1alpha1.BeaconNodeValidator.ValidatorIndex:input_type -> ethereum.eth.v1alpha1.ValidatorIndexRequest 2792 9, // 19: ethereum.eth.v1alpha1.BeaconNodeValidator.ValidatorStatus:input_type -> ethereum.eth.v1alpha1.ValidatorStatusRequest 2793 11, // 20: ethereum.eth.v1alpha1.BeaconNodeValidator.MultipleValidatorStatus:input_type -> ethereum.eth.v1alpha1.MultipleValidatorStatusRequest 2794 15, // 21: ethereum.eth.v1alpha1.BeaconNodeValidator.GetBlock:input_type -> ethereum.eth.v1alpha1.BlockRequest 2795 37, // 22: ethereum.eth.v1alpha1.BeaconNodeValidator.ProposeBlock:input_type -> ethereum.eth.v1alpha1.SignedBeaconBlock 2796 18, // 23: ethereum.eth.v1alpha1.BeaconNodeValidator.GetAttestationData:input_type -> ethereum.eth.v1alpha1.AttestationDataRequest 2797 38, // 24: ethereum.eth.v1alpha1.BeaconNodeValidator.ProposeAttestation:input_type -> ethereum.eth.v1alpha1.Attestation 2798 20, // 25: ethereum.eth.v1alpha1.BeaconNodeValidator.SubmitAggregateSelectionProof:input_type -> ethereum.eth.v1alpha1.AggregateSelectionRequest 2799 22, // 26: ethereum.eth.v1alpha1.BeaconNodeValidator.SubmitSignedAggregateSelectionProof:input_type -> ethereum.eth.v1alpha1.SignedAggregateSubmitRequest 2800 39, // 27: ethereum.eth.v1alpha1.BeaconNodeValidator.ProposeExit:input_type -> ethereum.eth.v1alpha1.SignedVoluntaryExit 2801 24, // 28: ethereum.eth.v1alpha1.BeaconNodeValidator.SubscribeCommitteeSubnets:input_type -> ethereum.eth.v1alpha1.CommitteeSubnetsSubscribeRequest 2802 28, // 29: ethereum.eth.v1alpha1.BeaconNodeValidator.CheckDoppelGanger:input_type -> ethereum.eth.v1alpha1.DoppelGangerRequest 2803 14, // 30: ethereum.eth.v1alpha1.BeaconNodeValidator.GetDuties:output_type -> ethereum.eth.v1alpha1.DutiesResponse 2804 14, // 31: ethereum.eth.v1alpha1.BeaconNodeValidator.StreamDuties:output_type -> ethereum.eth.v1alpha1.DutiesResponse 2805 2, // 32: ethereum.eth.v1alpha1.BeaconNodeValidator.DomainData:output_type -> ethereum.eth.v1alpha1.DomainResponse 2806 5, // 33: ethereum.eth.v1alpha1.BeaconNodeValidator.WaitForChainStart:output_type -> ethereum.eth.v1alpha1.ChainStartResponse 2807 4, // 34: ethereum.eth.v1alpha1.BeaconNodeValidator.WaitForActivation:output_type -> ethereum.eth.v1alpha1.ValidatorActivationResponse 2808 8, // 35: ethereum.eth.v1alpha1.BeaconNodeValidator.ValidatorIndex:output_type -> ethereum.eth.v1alpha1.ValidatorIndexResponse 2809 10, // 36: ethereum.eth.v1alpha1.BeaconNodeValidator.ValidatorStatus:output_type -> ethereum.eth.v1alpha1.ValidatorStatusResponse 2810 12, // 37: ethereum.eth.v1alpha1.BeaconNodeValidator.MultipleValidatorStatus:output_type -> ethereum.eth.v1alpha1.MultipleValidatorStatusResponse 2811 40, // 38: ethereum.eth.v1alpha1.BeaconNodeValidator.GetBlock:output_type -> ethereum.eth.v1alpha1.BeaconBlock 2812 16, // 39: ethereum.eth.v1alpha1.BeaconNodeValidator.ProposeBlock:output_type -> ethereum.eth.v1alpha1.ProposeResponse 2813 41, // 40: ethereum.eth.v1alpha1.BeaconNodeValidator.GetAttestationData:output_type -> ethereum.eth.v1alpha1.AttestationData 2814 19, // 41: ethereum.eth.v1alpha1.BeaconNodeValidator.ProposeAttestation:output_type -> ethereum.eth.v1alpha1.AttestResponse 2815 21, // 42: ethereum.eth.v1alpha1.BeaconNodeValidator.SubmitAggregateSelectionProof:output_type -> ethereum.eth.v1alpha1.AggregateSelectionResponse 2816 23, // 43: ethereum.eth.v1alpha1.BeaconNodeValidator.SubmitSignedAggregateSelectionProof:output_type -> ethereum.eth.v1alpha1.SignedAggregateSubmitResponse 2817 17, // 44: ethereum.eth.v1alpha1.BeaconNodeValidator.ProposeExit:output_type -> ethereum.eth.v1alpha1.ProposeExitResponse 2818 36, // 45: ethereum.eth.v1alpha1.BeaconNodeValidator.SubscribeCommitteeSubnets:output_type -> google.protobuf.Empty 2819 29, // 46: ethereum.eth.v1alpha1.BeaconNodeValidator.CheckDoppelGanger:output_type -> ethereum.eth.v1alpha1.DoppelGangerResponse 2820 30, // [30:47] is the sub-list for method output_type 2821 13, // [13:30] is the sub-list for method input_type 2822 13, // [13:13] is the sub-list for extension type_name 2823 13, // [13:13] is the sub-list for extension extendee 2824 0, // [0:13] is the sub-list for field type_name 2825 } 2826 2827 func init() { file_proto_eth_v1alpha1_validator_proto_init() } 2828 func file_proto_eth_v1alpha1_validator_proto_init() { 2829 if File_proto_eth_v1alpha1_validator_proto != nil { 2830 return 2831 } 2832 file_proto_eth_v1alpha1_beacon_block_proto_init() 2833 file_proto_eth_v1alpha1_attestation_proto_init() 2834 if !protoimpl.UnsafeEnabled { 2835 file_proto_eth_v1alpha1_validator_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { 2836 switch v := v.(*DomainRequest); i { 2837 case 0: 2838 return &v.state 2839 case 1: 2840 return &v.sizeCache 2841 case 2: 2842 return &v.unknownFields 2843 default: 2844 return nil 2845 } 2846 } 2847 file_proto_eth_v1alpha1_validator_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { 2848 switch v := v.(*DomainResponse); i { 2849 case 0: 2850 return &v.state 2851 case 1: 2852 return &v.sizeCache 2853 case 2: 2854 return &v.unknownFields 2855 default: 2856 return nil 2857 } 2858 } 2859 file_proto_eth_v1alpha1_validator_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { 2860 switch v := v.(*ValidatorActivationRequest); i { 2861 case 0: 2862 return &v.state 2863 case 1: 2864 return &v.sizeCache 2865 case 2: 2866 return &v.unknownFields 2867 default: 2868 return nil 2869 } 2870 } 2871 file_proto_eth_v1alpha1_validator_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { 2872 switch v := v.(*ValidatorActivationResponse); i { 2873 case 0: 2874 return &v.state 2875 case 1: 2876 return &v.sizeCache 2877 case 2: 2878 return &v.unknownFields 2879 default: 2880 return nil 2881 } 2882 } 2883 file_proto_eth_v1alpha1_validator_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { 2884 switch v := v.(*ChainStartResponse); i { 2885 case 0: 2886 return &v.state 2887 case 1: 2888 return &v.sizeCache 2889 case 2: 2890 return &v.unknownFields 2891 default: 2892 return nil 2893 } 2894 } 2895 file_proto_eth_v1alpha1_validator_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { 2896 switch v := v.(*SyncedResponse); i { 2897 case 0: 2898 return &v.state 2899 case 1: 2900 return &v.sizeCache 2901 case 2: 2902 return &v.unknownFields 2903 default: 2904 return nil 2905 } 2906 } 2907 file_proto_eth_v1alpha1_validator_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { 2908 switch v := v.(*ValidatorIndexRequest); i { 2909 case 0: 2910 return &v.state 2911 case 1: 2912 return &v.sizeCache 2913 case 2: 2914 return &v.unknownFields 2915 default: 2916 return nil 2917 } 2918 } 2919 file_proto_eth_v1alpha1_validator_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { 2920 switch v := v.(*ValidatorIndexResponse); i { 2921 case 0: 2922 return &v.state 2923 case 1: 2924 return &v.sizeCache 2925 case 2: 2926 return &v.unknownFields 2927 default: 2928 return nil 2929 } 2930 } 2931 file_proto_eth_v1alpha1_validator_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { 2932 switch v := v.(*ValidatorStatusRequest); i { 2933 case 0: 2934 return &v.state 2935 case 1: 2936 return &v.sizeCache 2937 case 2: 2938 return &v.unknownFields 2939 default: 2940 return nil 2941 } 2942 } 2943 file_proto_eth_v1alpha1_validator_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { 2944 switch v := v.(*ValidatorStatusResponse); i { 2945 case 0: 2946 return &v.state 2947 case 1: 2948 return &v.sizeCache 2949 case 2: 2950 return &v.unknownFields 2951 default: 2952 return nil 2953 } 2954 } 2955 file_proto_eth_v1alpha1_validator_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { 2956 switch v := v.(*MultipleValidatorStatusRequest); i { 2957 case 0: 2958 return &v.state 2959 case 1: 2960 return &v.sizeCache 2961 case 2: 2962 return &v.unknownFields 2963 default: 2964 return nil 2965 } 2966 } 2967 file_proto_eth_v1alpha1_validator_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { 2968 switch v := v.(*MultipleValidatorStatusResponse); i { 2969 case 0: 2970 return &v.state 2971 case 1: 2972 return &v.sizeCache 2973 case 2: 2974 return &v.unknownFields 2975 default: 2976 return nil 2977 } 2978 } 2979 file_proto_eth_v1alpha1_validator_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { 2980 switch v := v.(*DutiesRequest); i { 2981 case 0: 2982 return &v.state 2983 case 1: 2984 return &v.sizeCache 2985 case 2: 2986 return &v.unknownFields 2987 default: 2988 return nil 2989 } 2990 } 2991 file_proto_eth_v1alpha1_validator_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { 2992 switch v := v.(*DutiesResponse); i { 2993 case 0: 2994 return &v.state 2995 case 1: 2996 return &v.sizeCache 2997 case 2: 2998 return &v.unknownFields 2999 default: 3000 return nil 3001 } 3002 } 3003 file_proto_eth_v1alpha1_validator_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { 3004 switch v := v.(*BlockRequest); i { 3005 case 0: 3006 return &v.state 3007 case 1: 3008 return &v.sizeCache 3009 case 2: 3010 return &v.unknownFields 3011 default: 3012 return nil 3013 } 3014 } 3015 file_proto_eth_v1alpha1_validator_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { 3016 switch v := v.(*ProposeResponse); i { 3017 case 0: 3018 return &v.state 3019 case 1: 3020 return &v.sizeCache 3021 case 2: 3022 return &v.unknownFields 3023 default: 3024 return nil 3025 } 3026 } 3027 file_proto_eth_v1alpha1_validator_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { 3028 switch v := v.(*ProposeExitResponse); i { 3029 case 0: 3030 return &v.state 3031 case 1: 3032 return &v.sizeCache 3033 case 2: 3034 return &v.unknownFields 3035 default: 3036 return nil 3037 } 3038 } 3039 file_proto_eth_v1alpha1_validator_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { 3040 switch v := v.(*AttestationDataRequest); i { 3041 case 0: 3042 return &v.state 3043 case 1: 3044 return &v.sizeCache 3045 case 2: 3046 return &v.unknownFields 3047 default: 3048 return nil 3049 } 3050 } 3051 file_proto_eth_v1alpha1_validator_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { 3052 switch v := v.(*AttestResponse); i { 3053 case 0: 3054 return &v.state 3055 case 1: 3056 return &v.sizeCache 3057 case 2: 3058 return &v.unknownFields 3059 default: 3060 return nil 3061 } 3062 } 3063 file_proto_eth_v1alpha1_validator_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { 3064 switch v := v.(*AggregateSelectionRequest); i { 3065 case 0: 3066 return &v.state 3067 case 1: 3068 return &v.sizeCache 3069 case 2: 3070 return &v.unknownFields 3071 default: 3072 return nil 3073 } 3074 } 3075 file_proto_eth_v1alpha1_validator_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { 3076 switch v := v.(*AggregateSelectionResponse); i { 3077 case 0: 3078 return &v.state 3079 case 1: 3080 return &v.sizeCache 3081 case 2: 3082 return &v.unknownFields 3083 default: 3084 return nil 3085 } 3086 } 3087 file_proto_eth_v1alpha1_validator_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { 3088 switch v := v.(*SignedAggregateSubmitRequest); i { 3089 case 0: 3090 return &v.state 3091 case 1: 3092 return &v.sizeCache 3093 case 2: 3094 return &v.unknownFields 3095 default: 3096 return nil 3097 } 3098 } 3099 file_proto_eth_v1alpha1_validator_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { 3100 switch v := v.(*SignedAggregateSubmitResponse); i { 3101 case 0: 3102 return &v.state 3103 case 1: 3104 return &v.sizeCache 3105 case 2: 3106 return &v.unknownFields 3107 default: 3108 return nil 3109 } 3110 } 3111 file_proto_eth_v1alpha1_validator_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { 3112 switch v := v.(*CommitteeSubnetsSubscribeRequest); i { 3113 case 0: 3114 return &v.state 3115 case 1: 3116 return &v.sizeCache 3117 case 2: 3118 return &v.unknownFields 3119 default: 3120 return nil 3121 } 3122 } 3123 file_proto_eth_v1alpha1_validator_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { 3124 switch v := v.(*Validator); i { 3125 case 0: 3126 return &v.state 3127 case 1: 3128 return &v.sizeCache 3129 case 2: 3130 return &v.unknownFields 3131 default: 3132 return nil 3133 } 3134 } 3135 file_proto_eth_v1alpha1_validator_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { 3136 switch v := v.(*ValidatorParticipation); i { 3137 case 0: 3138 return &v.state 3139 case 1: 3140 return &v.sizeCache 3141 case 2: 3142 return &v.unknownFields 3143 default: 3144 return nil 3145 } 3146 } 3147 file_proto_eth_v1alpha1_validator_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { 3148 switch v := v.(*ValidatorInfo); i { 3149 case 0: 3150 return &v.state 3151 case 1: 3152 return &v.sizeCache 3153 case 2: 3154 return &v.unknownFields 3155 default: 3156 return nil 3157 } 3158 } 3159 file_proto_eth_v1alpha1_validator_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { 3160 switch v := v.(*DoppelGangerRequest); i { 3161 case 0: 3162 return &v.state 3163 case 1: 3164 return &v.sizeCache 3165 case 2: 3166 return &v.unknownFields 3167 default: 3168 return nil 3169 } 3170 } 3171 file_proto_eth_v1alpha1_validator_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { 3172 switch v := v.(*DoppelGangerResponse); i { 3173 case 0: 3174 return &v.state 3175 case 1: 3176 return &v.sizeCache 3177 case 2: 3178 return &v.unknownFields 3179 default: 3180 return nil 3181 } 3182 } 3183 file_proto_eth_v1alpha1_validator_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { 3184 switch v := v.(*ValidatorActivationResponse_Status); i { 3185 case 0: 3186 return &v.state 3187 case 1: 3188 return &v.sizeCache 3189 case 2: 3190 return &v.unknownFields 3191 default: 3192 return nil 3193 } 3194 } 3195 file_proto_eth_v1alpha1_validator_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { 3196 switch v := v.(*DutiesResponse_Duty); i { 3197 case 0: 3198 return &v.state 3199 case 1: 3200 return &v.sizeCache 3201 case 2: 3202 return &v.unknownFields 3203 default: 3204 return nil 3205 } 3206 } 3207 file_proto_eth_v1alpha1_validator_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { 3208 switch v := v.(*DoppelGangerRequest_ValidatorRequest); i { 3209 case 0: 3210 return &v.state 3211 case 1: 3212 return &v.sizeCache 3213 case 2: 3214 return &v.unknownFields 3215 default: 3216 return nil 3217 } 3218 } 3219 file_proto_eth_v1alpha1_validator_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { 3220 switch v := v.(*DoppelGangerResponse_ValidatorResponse); i { 3221 case 0: 3222 return &v.state 3223 case 1: 3224 return &v.sizeCache 3225 case 2: 3226 return &v.unknownFields 3227 default: 3228 return nil 3229 } 3230 } 3231 } 3232 type x struct{} 3233 out := protoimpl.TypeBuilder{ 3234 File: protoimpl.DescBuilder{ 3235 GoPackagePath: reflect.TypeOf(x{}).PkgPath(), 3236 RawDescriptor: file_proto_eth_v1alpha1_validator_proto_rawDesc, 3237 NumEnums: 1, 3238 NumMessages: 33, 3239 NumExtensions: 0, 3240 NumServices: 1, 3241 }, 3242 GoTypes: file_proto_eth_v1alpha1_validator_proto_goTypes, 3243 DependencyIndexes: file_proto_eth_v1alpha1_validator_proto_depIdxs, 3244 EnumInfos: file_proto_eth_v1alpha1_validator_proto_enumTypes, 3245 MessageInfos: file_proto_eth_v1alpha1_validator_proto_msgTypes, 3246 }.Build() 3247 File_proto_eth_v1alpha1_validator_proto = out.File 3248 file_proto_eth_v1alpha1_validator_proto_rawDesc = nil 3249 file_proto_eth_v1alpha1_validator_proto_goTypes = nil 3250 file_proto_eth_v1alpha1_validator_proto_depIdxs = nil 3251 } 3252 3253 // Reference imports to suppress errors if they are not otherwise used. 3254 var _ context.Context 3255 var _ grpc.ClientConnInterface 3256 3257 // This is a compile-time assertion to ensure that this generated file 3258 // is compatible with the grpc package it is being compiled against. 3259 const _ = grpc.SupportPackageIsVersion6 3260 3261 // BeaconNodeValidatorClient is the client API for BeaconNodeValidator service. 3262 // 3263 // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. 3264 type BeaconNodeValidatorClient interface { 3265 GetDuties(ctx context.Context, in *DutiesRequest, opts ...grpc.CallOption) (*DutiesResponse, error) 3266 StreamDuties(ctx context.Context, in *DutiesRequest, opts ...grpc.CallOption) (BeaconNodeValidator_StreamDutiesClient, error) 3267 DomainData(ctx context.Context, in *DomainRequest, opts ...grpc.CallOption) (*DomainResponse, error) 3268 // Deprecated: Do not use. 3269 WaitForChainStart(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (BeaconNodeValidator_WaitForChainStartClient, error) 3270 WaitForActivation(ctx context.Context, in *ValidatorActivationRequest, opts ...grpc.CallOption) (BeaconNodeValidator_WaitForActivationClient, error) 3271 ValidatorIndex(ctx context.Context, in *ValidatorIndexRequest, opts ...grpc.CallOption) (*ValidatorIndexResponse, error) 3272 ValidatorStatus(ctx context.Context, in *ValidatorStatusRequest, opts ...grpc.CallOption) (*ValidatorStatusResponse, error) 3273 MultipleValidatorStatus(ctx context.Context, in *MultipleValidatorStatusRequest, opts ...grpc.CallOption) (*MultipleValidatorStatusResponse, error) 3274 GetBlock(ctx context.Context, in *BlockRequest, opts ...grpc.CallOption) (*BeaconBlock, error) 3275 ProposeBlock(ctx context.Context, in *SignedBeaconBlock, opts ...grpc.CallOption) (*ProposeResponse, error) 3276 GetAttestationData(ctx context.Context, in *AttestationDataRequest, opts ...grpc.CallOption) (*AttestationData, error) 3277 ProposeAttestation(ctx context.Context, in *Attestation, opts ...grpc.CallOption) (*AttestResponse, error) 3278 SubmitAggregateSelectionProof(ctx context.Context, in *AggregateSelectionRequest, opts ...grpc.CallOption) (*AggregateSelectionResponse, error) 3279 SubmitSignedAggregateSelectionProof(ctx context.Context, in *SignedAggregateSubmitRequest, opts ...grpc.CallOption) (*SignedAggregateSubmitResponse, error) 3280 ProposeExit(ctx context.Context, in *SignedVoluntaryExit, opts ...grpc.CallOption) (*ProposeExitResponse, error) 3281 SubscribeCommitteeSubnets(ctx context.Context, in *CommitteeSubnetsSubscribeRequest, opts ...grpc.CallOption) (*empty.Empty, error) 3282 CheckDoppelGanger(ctx context.Context, in *DoppelGangerRequest, opts ...grpc.CallOption) (*DoppelGangerResponse, error) 3283 } 3284 3285 type beaconNodeValidatorClient struct { 3286 cc grpc.ClientConnInterface 3287 } 3288 3289 func NewBeaconNodeValidatorClient(cc grpc.ClientConnInterface) BeaconNodeValidatorClient { 3290 return &beaconNodeValidatorClient{cc} 3291 } 3292 3293 func (c *beaconNodeValidatorClient) GetDuties(ctx context.Context, in *DutiesRequest, opts ...grpc.CallOption) (*DutiesResponse, error) { 3294 out := new(DutiesResponse) 3295 err := c.cc.Invoke(ctx, "/ethereum.eth.v1alpha1.BeaconNodeValidator/GetDuties", in, out, opts...) 3296 if err != nil { 3297 return nil, err 3298 } 3299 return out, nil 3300 } 3301 3302 func (c *beaconNodeValidatorClient) StreamDuties(ctx context.Context, in *DutiesRequest, opts ...grpc.CallOption) (BeaconNodeValidator_StreamDutiesClient, error) { 3303 stream, err := c.cc.NewStream(ctx, &_BeaconNodeValidator_serviceDesc.Streams[0], "/ethereum.eth.v1alpha1.BeaconNodeValidator/StreamDuties", opts...) 3304 if err != nil { 3305 return nil, err 3306 } 3307 x := &beaconNodeValidatorStreamDutiesClient{stream} 3308 if err := x.ClientStream.SendMsg(in); err != nil { 3309 return nil, err 3310 } 3311 if err := x.ClientStream.CloseSend(); err != nil { 3312 return nil, err 3313 } 3314 return x, nil 3315 } 3316 3317 type BeaconNodeValidator_StreamDutiesClient interface { 3318 Recv() (*DutiesResponse, error) 3319 grpc.ClientStream 3320 } 3321 3322 type beaconNodeValidatorStreamDutiesClient struct { 3323 grpc.ClientStream 3324 } 3325 3326 func (x *beaconNodeValidatorStreamDutiesClient) Recv() (*DutiesResponse, error) { 3327 m := new(DutiesResponse) 3328 if err := x.ClientStream.RecvMsg(m); err != nil { 3329 return nil, err 3330 } 3331 return m, nil 3332 } 3333 3334 func (c *beaconNodeValidatorClient) DomainData(ctx context.Context, in *DomainRequest, opts ...grpc.CallOption) (*DomainResponse, error) { 3335 out := new(DomainResponse) 3336 err := c.cc.Invoke(ctx, "/ethereum.eth.v1alpha1.BeaconNodeValidator/DomainData", in, out, opts...) 3337 if err != nil { 3338 return nil, err 3339 } 3340 return out, nil 3341 } 3342 3343 // Deprecated: Do not use. 3344 func (c *beaconNodeValidatorClient) WaitForChainStart(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (BeaconNodeValidator_WaitForChainStartClient, error) { 3345 stream, err := c.cc.NewStream(ctx, &_BeaconNodeValidator_serviceDesc.Streams[1], "/ethereum.eth.v1alpha1.BeaconNodeValidator/WaitForChainStart", opts...) 3346 if err != nil { 3347 return nil, err 3348 } 3349 x := &beaconNodeValidatorWaitForChainStartClient{stream} 3350 if err := x.ClientStream.SendMsg(in); err != nil { 3351 return nil, err 3352 } 3353 if err := x.ClientStream.CloseSend(); err != nil { 3354 return nil, err 3355 } 3356 return x, nil 3357 } 3358 3359 type BeaconNodeValidator_WaitForChainStartClient interface { 3360 Recv() (*ChainStartResponse, error) 3361 grpc.ClientStream 3362 } 3363 3364 type beaconNodeValidatorWaitForChainStartClient struct { 3365 grpc.ClientStream 3366 } 3367 3368 func (x *beaconNodeValidatorWaitForChainStartClient) Recv() (*ChainStartResponse, error) { 3369 m := new(ChainStartResponse) 3370 if err := x.ClientStream.RecvMsg(m); err != nil { 3371 return nil, err 3372 } 3373 return m, nil 3374 } 3375 3376 func (c *beaconNodeValidatorClient) WaitForActivation(ctx context.Context, in *ValidatorActivationRequest, opts ...grpc.CallOption) (BeaconNodeValidator_WaitForActivationClient, error) { 3377 stream, err := c.cc.NewStream(ctx, &_BeaconNodeValidator_serviceDesc.Streams[2], "/ethereum.eth.v1alpha1.BeaconNodeValidator/WaitForActivation", opts...) 3378 if err != nil { 3379 return nil, err 3380 } 3381 x := &beaconNodeValidatorWaitForActivationClient{stream} 3382 if err := x.ClientStream.SendMsg(in); err != nil { 3383 return nil, err 3384 } 3385 if err := x.ClientStream.CloseSend(); err != nil { 3386 return nil, err 3387 } 3388 return x, nil 3389 } 3390 3391 type BeaconNodeValidator_WaitForActivationClient interface { 3392 Recv() (*ValidatorActivationResponse, error) 3393 grpc.ClientStream 3394 } 3395 3396 type beaconNodeValidatorWaitForActivationClient struct { 3397 grpc.ClientStream 3398 } 3399 3400 func (x *beaconNodeValidatorWaitForActivationClient) Recv() (*ValidatorActivationResponse, error) { 3401 m := new(ValidatorActivationResponse) 3402 if err := x.ClientStream.RecvMsg(m); err != nil { 3403 return nil, err 3404 } 3405 return m, nil 3406 } 3407 3408 func (c *beaconNodeValidatorClient) ValidatorIndex(ctx context.Context, in *ValidatorIndexRequest, opts ...grpc.CallOption) (*ValidatorIndexResponse, error) { 3409 out := new(ValidatorIndexResponse) 3410 err := c.cc.Invoke(ctx, "/ethereum.eth.v1alpha1.BeaconNodeValidator/ValidatorIndex", in, out, opts...) 3411 if err != nil { 3412 return nil, err 3413 } 3414 return out, nil 3415 } 3416 3417 func (c *beaconNodeValidatorClient) ValidatorStatus(ctx context.Context, in *ValidatorStatusRequest, opts ...grpc.CallOption) (*ValidatorStatusResponse, error) { 3418 out := new(ValidatorStatusResponse) 3419 err := c.cc.Invoke(ctx, "/ethereum.eth.v1alpha1.BeaconNodeValidator/ValidatorStatus", in, out, opts...) 3420 if err != nil { 3421 return nil, err 3422 } 3423 return out, nil 3424 } 3425 3426 func (c *beaconNodeValidatorClient) MultipleValidatorStatus(ctx context.Context, in *MultipleValidatorStatusRequest, opts ...grpc.CallOption) (*MultipleValidatorStatusResponse, error) { 3427 out := new(MultipleValidatorStatusResponse) 3428 err := c.cc.Invoke(ctx, "/ethereum.eth.v1alpha1.BeaconNodeValidator/MultipleValidatorStatus", in, out, opts...) 3429 if err != nil { 3430 return nil, err 3431 } 3432 return out, nil 3433 } 3434 3435 func (c *beaconNodeValidatorClient) GetBlock(ctx context.Context, in *BlockRequest, opts ...grpc.CallOption) (*BeaconBlock, error) { 3436 out := new(BeaconBlock) 3437 err := c.cc.Invoke(ctx, "/ethereum.eth.v1alpha1.BeaconNodeValidator/GetBlock", in, out, opts...) 3438 if err != nil { 3439 return nil, err 3440 } 3441 return out, nil 3442 } 3443 3444 func (c *beaconNodeValidatorClient) ProposeBlock(ctx context.Context, in *SignedBeaconBlock, opts ...grpc.CallOption) (*ProposeResponse, error) { 3445 out := new(ProposeResponse) 3446 err := c.cc.Invoke(ctx, "/ethereum.eth.v1alpha1.BeaconNodeValidator/ProposeBlock", in, out, opts...) 3447 if err != nil { 3448 return nil, err 3449 } 3450 return out, nil 3451 } 3452 3453 func (c *beaconNodeValidatorClient) GetAttestationData(ctx context.Context, in *AttestationDataRequest, opts ...grpc.CallOption) (*AttestationData, error) { 3454 out := new(AttestationData) 3455 err := c.cc.Invoke(ctx, "/ethereum.eth.v1alpha1.BeaconNodeValidator/GetAttestationData", in, out, opts...) 3456 if err != nil { 3457 return nil, err 3458 } 3459 return out, nil 3460 } 3461 3462 func (c *beaconNodeValidatorClient) ProposeAttestation(ctx context.Context, in *Attestation, opts ...grpc.CallOption) (*AttestResponse, error) { 3463 out := new(AttestResponse) 3464 err := c.cc.Invoke(ctx, "/ethereum.eth.v1alpha1.BeaconNodeValidator/ProposeAttestation", in, out, opts...) 3465 if err != nil { 3466 return nil, err 3467 } 3468 return out, nil 3469 } 3470 3471 func (c *beaconNodeValidatorClient) SubmitAggregateSelectionProof(ctx context.Context, in *AggregateSelectionRequest, opts ...grpc.CallOption) (*AggregateSelectionResponse, error) { 3472 out := new(AggregateSelectionResponse) 3473 err := c.cc.Invoke(ctx, "/ethereum.eth.v1alpha1.BeaconNodeValidator/SubmitAggregateSelectionProof", in, out, opts...) 3474 if err != nil { 3475 return nil, err 3476 } 3477 return out, nil 3478 } 3479 3480 func (c *beaconNodeValidatorClient) SubmitSignedAggregateSelectionProof(ctx context.Context, in *SignedAggregateSubmitRequest, opts ...grpc.CallOption) (*SignedAggregateSubmitResponse, error) { 3481 out := new(SignedAggregateSubmitResponse) 3482 err := c.cc.Invoke(ctx, "/ethereum.eth.v1alpha1.BeaconNodeValidator/SubmitSignedAggregateSelectionProof", in, out, opts...) 3483 if err != nil { 3484 return nil, err 3485 } 3486 return out, nil 3487 } 3488 3489 func (c *beaconNodeValidatorClient) ProposeExit(ctx context.Context, in *SignedVoluntaryExit, opts ...grpc.CallOption) (*ProposeExitResponse, error) { 3490 out := new(ProposeExitResponse) 3491 err := c.cc.Invoke(ctx, "/ethereum.eth.v1alpha1.BeaconNodeValidator/ProposeExit", in, out, opts...) 3492 if err != nil { 3493 return nil, err 3494 } 3495 return out, nil 3496 } 3497 3498 func (c *beaconNodeValidatorClient) SubscribeCommitteeSubnets(ctx context.Context, in *CommitteeSubnetsSubscribeRequest, opts ...grpc.CallOption) (*empty.Empty, error) { 3499 out := new(empty.Empty) 3500 err := c.cc.Invoke(ctx, "/ethereum.eth.v1alpha1.BeaconNodeValidator/SubscribeCommitteeSubnets", in, out, opts...) 3501 if err != nil { 3502 return nil, err 3503 } 3504 return out, nil 3505 } 3506 3507 func (c *beaconNodeValidatorClient) CheckDoppelGanger(ctx context.Context, in *DoppelGangerRequest, opts ...grpc.CallOption) (*DoppelGangerResponse, error) { 3508 out := new(DoppelGangerResponse) 3509 err := c.cc.Invoke(ctx, "/ethereum.eth.v1alpha1.BeaconNodeValidator/CheckDoppelGanger", in, out, opts...) 3510 if err != nil { 3511 return nil, err 3512 } 3513 return out, nil 3514 } 3515 3516 // BeaconNodeValidatorServer is the server API for BeaconNodeValidator service. 3517 type BeaconNodeValidatorServer interface { 3518 GetDuties(context.Context, *DutiesRequest) (*DutiesResponse, error) 3519 StreamDuties(*DutiesRequest, BeaconNodeValidator_StreamDutiesServer) error 3520 DomainData(context.Context, *DomainRequest) (*DomainResponse, error) 3521 // Deprecated: Do not use. 3522 WaitForChainStart(*empty.Empty, BeaconNodeValidator_WaitForChainStartServer) error 3523 WaitForActivation(*ValidatorActivationRequest, BeaconNodeValidator_WaitForActivationServer) error 3524 ValidatorIndex(context.Context, *ValidatorIndexRequest) (*ValidatorIndexResponse, error) 3525 ValidatorStatus(context.Context, *ValidatorStatusRequest) (*ValidatorStatusResponse, error) 3526 MultipleValidatorStatus(context.Context, *MultipleValidatorStatusRequest) (*MultipleValidatorStatusResponse, error) 3527 GetBlock(context.Context, *BlockRequest) (*BeaconBlock, error) 3528 ProposeBlock(context.Context, *SignedBeaconBlock) (*ProposeResponse, error) 3529 GetAttestationData(context.Context, *AttestationDataRequest) (*AttestationData, error) 3530 ProposeAttestation(context.Context, *Attestation) (*AttestResponse, error) 3531 SubmitAggregateSelectionProof(context.Context, *AggregateSelectionRequest) (*AggregateSelectionResponse, error) 3532 SubmitSignedAggregateSelectionProof(context.Context, *SignedAggregateSubmitRequest) (*SignedAggregateSubmitResponse, error) 3533 ProposeExit(context.Context, *SignedVoluntaryExit) (*ProposeExitResponse, error) 3534 SubscribeCommitteeSubnets(context.Context, *CommitteeSubnetsSubscribeRequest) (*empty.Empty, error) 3535 CheckDoppelGanger(context.Context, *DoppelGangerRequest) (*DoppelGangerResponse, error) 3536 } 3537 3538 // UnimplementedBeaconNodeValidatorServer can be embedded to have forward compatible implementations. 3539 type UnimplementedBeaconNodeValidatorServer struct { 3540 } 3541 3542 func (*UnimplementedBeaconNodeValidatorServer) GetDuties(context.Context, *DutiesRequest) (*DutiesResponse, error) { 3543 return nil, status.Errorf(codes.Unimplemented, "method GetDuties not implemented") 3544 } 3545 func (*UnimplementedBeaconNodeValidatorServer) StreamDuties(*DutiesRequest, BeaconNodeValidator_StreamDutiesServer) error { 3546 return status.Errorf(codes.Unimplemented, "method StreamDuties not implemented") 3547 } 3548 func (*UnimplementedBeaconNodeValidatorServer) DomainData(context.Context, *DomainRequest) (*DomainResponse, error) { 3549 return nil, status.Errorf(codes.Unimplemented, "method DomainData not implemented") 3550 } 3551 func (*UnimplementedBeaconNodeValidatorServer) WaitForChainStart(*empty.Empty, BeaconNodeValidator_WaitForChainStartServer) error { 3552 return status.Errorf(codes.Unimplemented, "method WaitForChainStart not implemented") 3553 } 3554 func (*UnimplementedBeaconNodeValidatorServer) WaitForActivation(*ValidatorActivationRequest, BeaconNodeValidator_WaitForActivationServer) error { 3555 return status.Errorf(codes.Unimplemented, "method WaitForActivation not implemented") 3556 } 3557 func (*UnimplementedBeaconNodeValidatorServer) ValidatorIndex(context.Context, *ValidatorIndexRequest) (*ValidatorIndexResponse, error) { 3558 return nil, status.Errorf(codes.Unimplemented, "method ValidatorIndex not implemented") 3559 } 3560 func (*UnimplementedBeaconNodeValidatorServer) ValidatorStatus(context.Context, *ValidatorStatusRequest) (*ValidatorStatusResponse, error) { 3561 return nil, status.Errorf(codes.Unimplemented, "method ValidatorStatus not implemented") 3562 } 3563 func (*UnimplementedBeaconNodeValidatorServer) MultipleValidatorStatus(context.Context, *MultipleValidatorStatusRequest) (*MultipleValidatorStatusResponse, error) { 3564 return nil, status.Errorf(codes.Unimplemented, "method MultipleValidatorStatus not implemented") 3565 } 3566 func (*UnimplementedBeaconNodeValidatorServer) GetBlock(context.Context, *BlockRequest) (*BeaconBlock, error) { 3567 return nil, status.Errorf(codes.Unimplemented, "method GetBlock not implemented") 3568 } 3569 func (*UnimplementedBeaconNodeValidatorServer) ProposeBlock(context.Context, *SignedBeaconBlock) (*ProposeResponse, error) { 3570 return nil, status.Errorf(codes.Unimplemented, "method ProposeBlock not implemented") 3571 } 3572 func (*UnimplementedBeaconNodeValidatorServer) GetAttestationData(context.Context, *AttestationDataRequest) (*AttestationData, error) { 3573 return nil, status.Errorf(codes.Unimplemented, "method GetAttestationData not implemented") 3574 } 3575 func (*UnimplementedBeaconNodeValidatorServer) ProposeAttestation(context.Context, *Attestation) (*AttestResponse, error) { 3576 return nil, status.Errorf(codes.Unimplemented, "method ProposeAttestation not implemented") 3577 } 3578 func (*UnimplementedBeaconNodeValidatorServer) SubmitAggregateSelectionProof(context.Context, *AggregateSelectionRequest) (*AggregateSelectionResponse, error) { 3579 return nil, status.Errorf(codes.Unimplemented, "method SubmitAggregateSelectionProof not implemented") 3580 } 3581 func (*UnimplementedBeaconNodeValidatorServer) SubmitSignedAggregateSelectionProof(context.Context, *SignedAggregateSubmitRequest) (*SignedAggregateSubmitResponse, error) { 3582 return nil, status.Errorf(codes.Unimplemented, "method SubmitSignedAggregateSelectionProof not implemented") 3583 } 3584 func (*UnimplementedBeaconNodeValidatorServer) ProposeExit(context.Context, *SignedVoluntaryExit) (*ProposeExitResponse, error) { 3585 return nil, status.Errorf(codes.Unimplemented, "method ProposeExit not implemented") 3586 } 3587 func (*UnimplementedBeaconNodeValidatorServer) SubscribeCommitteeSubnets(context.Context, *CommitteeSubnetsSubscribeRequest) (*empty.Empty, error) { 3588 return nil, status.Errorf(codes.Unimplemented, "method SubscribeCommitteeSubnets not implemented") 3589 } 3590 func (*UnimplementedBeaconNodeValidatorServer) CheckDoppelGanger(context.Context, *DoppelGangerRequest) (*DoppelGangerResponse, error) { 3591 return nil, status.Errorf(codes.Unimplemented, "method CheckDoppelGanger not implemented") 3592 } 3593 3594 func RegisterBeaconNodeValidatorServer(s *grpc.Server, srv BeaconNodeValidatorServer) { 3595 s.RegisterService(&_BeaconNodeValidator_serviceDesc, srv) 3596 } 3597 3598 func _BeaconNodeValidator_GetDuties_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 3599 in := new(DutiesRequest) 3600 if err := dec(in); err != nil { 3601 return nil, err 3602 } 3603 if interceptor == nil { 3604 return srv.(BeaconNodeValidatorServer).GetDuties(ctx, in) 3605 } 3606 info := &grpc.UnaryServerInfo{ 3607 Server: srv, 3608 FullMethod: "/ethereum.eth.v1alpha1.BeaconNodeValidator/GetDuties", 3609 } 3610 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 3611 return srv.(BeaconNodeValidatorServer).GetDuties(ctx, req.(*DutiesRequest)) 3612 } 3613 return interceptor(ctx, in, info, handler) 3614 } 3615 3616 func _BeaconNodeValidator_StreamDuties_Handler(srv interface{}, stream grpc.ServerStream) error { 3617 m := new(DutiesRequest) 3618 if err := stream.RecvMsg(m); err != nil { 3619 return err 3620 } 3621 return srv.(BeaconNodeValidatorServer).StreamDuties(m, &beaconNodeValidatorStreamDutiesServer{stream}) 3622 } 3623 3624 type BeaconNodeValidator_StreamDutiesServer interface { 3625 Send(*DutiesResponse) error 3626 grpc.ServerStream 3627 } 3628 3629 type beaconNodeValidatorStreamDutiesServer struct { 3630 grpc.ServerStream 3631 } 3632 3633 func (x *beaconNodeValidatorStreamDutiesServer) Send(m *DutiesResponse) error { 3634 return x.ServerStream.SendMsg(m) 3635 } 3636 3637 func _BeaconNodeValidator_DomainData_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 3638 in := new(DomainRequest) 3639 if err := dec(in); err != nil { 3640 return nil, err 3641 } 3642 if interceptor == nil { 3643 return srv.(BeaconNodeValidatorServer).DomainData(ctx, in) 3644 } 3645 info := &grpc.UnaryServerInfo{ 3646 Server: srv, 3647 FullMethod: "/ethereum.eth.v1alpha1.BeaconNodeValidator/DomainData", 3648 } 3649 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 3650 return srv.(BeaconNodeValidatorServer).DomainData(ctx, req.(*DomainRequest)) 3651 } 3652 return interceptor(ctx, in, info, handler) 3653 } 3654 3655 func _BeaconNodeValidator_WaitForChainStart_Handler(srv interface{}, stream grpc.ServerStream) error { 3656 m := new(empty.Empty) 3657 if err := stream.RecvMsg(m); err != nil { 3658 return err 3659 } 3660 return srv.(BeaconNodeValidatorServer).WaitForChainStart(m, &beaconNodeValidatorWaitForChainStartServer{stream}) 3661 } 3662 3663 type BeaconNodeValidator_WaitForChainStartServer interface { 3664 Send(*ChainStartResponse) error 3665 grpc.ServerStream 3666 } 3667 3668 type beaconNodeValidatorWaitForChainStartServer struct { 3669 grpc.ServerStream 3670 } 3671 3672 func (x *beaconNodeValidatorWaitForChainStartServer) Send(m *ChainStartResponse) error { 3673 return x.ServerStream.SendMsg(m) 3674 } 3675 3676 func _BeaconNodeValidator_WaitForActivation_Handler(srv interface{}, stream grpc.ServerStream) error { 3677 m := new(ValidatorActivationRequest) 3678 if err := stream.RecvMsg(m); err != nil { 3679 return err 3680 } 3681 return srv.(BeaconNodeValidatorServer).WaitForActivation(m, &beaconNodeValidatorWaitForActivationServer{stream}) 3682 } 3683 3684 type BeaconNodeValidator_WaitForActivationServer interface { 3685 Send(*ValidatorActivationResponse) error 3686 grpc.ServerStream 3687 } 3688 3689 type beaconNodeValidatorWaitForActivationServer struct { 3690 grpc.ServerStream 3691 } 3692 3693 func (x *beaconNodeValidatorWaitForActivationServer) Send(m *ValidatorActivationResponse) error { 3694 return x.ServerStream.SendMsg(m) 3695 } 3696 3697 func _BeaconNodeValidator_ValidatorIndex_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 3698 in := new(ValidatorIndexRequest) 3699 if err := dec(in); err != nil { 3700 return nil, err 3701 } 3702 if interceptor == nil { 3703 return srv.(BeaconNodeValidatorServer).ValidatorIndex(ctx, in) 3704 } 3705 info := &grpc.UnaryServerInfo{ 3706 Server: srv, 3707 FullMethod: "/ethereum.eth.v1alpha1.BeaconNodeValidator/ValidatorIndex", 3708 } 3709 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 3710 return srv.(BeaconNodeValidatorServer).ValidatorIndex(ctx, req.(*ValidatorIndexRequest)) 3711 } 3712 return interceptor(ctx, in, info, handler) 3713 } 3714 3715 func _BeaconNodeValidator_ValidatorStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 3716 in := new(ValidatorStatusRequest) 3717 if err := dec(in); err != nil { 3718 return nil, err 3719 } 3720 if interceptor == nil { 3721 return srv.(BeaconNodeValidatorServer).ValidatorStatus(ctx, in) 3722 } 3723 info := &grpc.UnaryServerInfo{ 3724 Server: srv, 3725 FullMethod: "/ethereum.eth.v1alpha1.BeaconNodeValidator/ValidatorStatus", 3726 } 3727 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 3728 return srv.(BeaconNodeValidatorServer).ValidatorStatus(ctx, req.(*ValidatorStatusRequest)) 3729 } 3730 return interceptor(ctx, in, info, handler) 3731 } 3732 3733 func _BeaconNodeValidator_MultipleValidatorStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 3734 in := new(MultipleValidatorStatusRequest) 3735 if err := dec(in); err != nil { 3736 return nil, err 3737 } 3738 if interceptor == nil { 3739 return srv.(BeaconNodeValidatorServer).MultipleValidatorStatus(ctx, in) 3740 } 3741 info := &grpc.UnaryServerInfo{ 3742 Server: srv, 3743 FullMethod: "/ethereum.eth.v1alpha1.BeaconNodeValidator/MultipleValidatorStatus", 3744 } 3745 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 3746 return srv.(BeaconNodeValidatorServer).MultipleValidatorStatus(ctx, req.(*MultipleValidatorStatusRequest)) 3747 } 3748 return interceptor(ctx, in, info, handler) 3749 } 3750 3751 func _BeaconNodeValidator_GetBlock_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 3752 in := new(BlockRequest) 3753 if err := dec(in); err != nil { 3754 return nil, err 3755 } 3756 if interceptor == nil { 3757 return srv.(BeaconNodeValidatorServer).GetBlock(ctx, in) 3758 } 3759 info := &grpc.UnaryServerInfo{ 3760 Server: srv, 3761 FullMethod: "/ethereum.eth.v1alpha1.BeaconNodeValidator/GetBlock", 3762 } 3763 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 3764 return srv.(BeaconNodeValidatorServer).GetBlock(ctx, req.(*BlockRequest)) 3765 } 3766 return interceptor(ctx, in, info, handler) 3767 } 3768 3769 func _BeaconNodeValidator_ProposeBlock_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 3770 in := new(SignedBeaconBlock) 3771 if err := dec(in); err != nil { 3772 return nil, err 3773 } 3774 if interceptor == nil { 3775 return srv.(BeaconNodeValidatorServer).ProposeBlock(ctx, in) 3776 } 3777 info := &grpc.UnaryServerInfo{ 3778 Server: srv, 3779 FullMethod: "/ethereum.eth.v1alpha1.BeaconNodeValidator/ProposeBlock", 3780 } 3781 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 3782 return srv.(BeaconNodeValidatorServer).ProposeBlock(ctx, req.(*SignedBeaconBlock)) 3783 } 3784 return interceptor(ctx, in, info, handler) 3785 } 3786 3787 func _BeaconNodeValidator_GetAttestationData_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 3788 in := new(AttestationDataRequest) 3789 if err := dec(in); err != nil { 3790 return nil, err 3791 } 3792 if interceptor == nil { 3793 return srv.(BeaconNodeValidatorServer).GetAttestationData(ctx, in) 3794 } 3795 info := &grpc.UnaryServerInfo{ 3796 Server: srv, 3797 FullMethod: "/ethereum.eth.v1alpha1.BeaconNodeValidator/GetAttestationData", 3798 } 3799 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 3800 return srv.(BeaconNodeValidatorServer).GetAttestationData(ctx, req.(*AttestationDataRequest)) 3801 } 3802 return interceptor(ctx, in, info, handler) 3803 } 3804 3805 func _BeaconNodeValidator_ProposeAttestation_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 3806 in := new(Attestation) 3807 if err := dec(in); err != nil { 3808 return nil, err 3809 } 3810 if interceptor == nil { 3811 return srv.(BeaconNodeValidatorServer).ProposeAttestation(ctx, in) 3812 } 3813 info := &grpc.UnaryServerInfo{ 3814 Server: srv, 3815 FullMethod: "/ethereum.eth.v1alpha1.BeaconNodeValidator/ProposeAttestation", 3816 } 3817 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 3818 return srv.(BeaconNodeValidatorServer).ProposeAttestation(ctx, req.(*Attestation)) 3819 } 3820 return interceptor(ctx, in, info, handler) 3821 } 3822 3823 func _BeaconNodeValidator_SubmitAggregateSelectionProof_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 3824 in := new(AggregateSelectionRequest) 3825 if err := dec(in); err != nil { 3826 return nil, err 3827 } 3828 if interceptor == nil { 3829 return srv.(BeaconNodeValidatorServer).SubmitAggregateSelectionProof(ctx, in) 3830 } 3831 info := &grpc.UnaryServerInfo{ 3832 Server: srv, 3833 FullMethod: "/ethereum.eth.v1alpha1.BeaconNodeValidator/SubmitAggregateSelectionProof", 3834 } 3835 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 3836 return srv.(BeaconNodeValidatorServer).SubmitAggregateSelectionProof(ctx, req.(*AggregateSelectionRequest)) 3837 } 3838 return interceptor(ctx, in, info, handler) 3839 } 3840 3841 func _BeaconNodeValidator_SubmitSignedAggregateSelectionProof_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 3842 in := new(SignedAggregateSubmitRequest) 3843 if err := dec(in); err != nil { 3844 return nil, err 3845 } 3846 if interceptor == nil { 3847 return srv.(BeaconNodeValidatorServer).SubmitSignedAggregateSelectionProof(ctx, in) 3848 } 3849 info := &grpc.UnaryServerInfo{ 3850 Server: srv, 3851 FullMethod: "/ethereum.eth.v1alpha1.BeaconNodeValidator/SubmitSignedAggregateSelectionProof", 3852 } 3853 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 3854 return srv.(BeaconNodeValidatorServer).SubmitSignedAggregateSelectionProof(ctx, req.(*SignedAggregateSubmitRequest)) 3855 } 3856 return interceptor(ctx, in, info, handler) 3857 } 3858 3859 func _BeaconNodeValidator_ProposeExit_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 3860 in := new(SignedVoluntaryExit) 3861 if err := dec(in); err != nil { 3862 return nil, err 3863 } 3864 if interceptor == nil { 3865 return srv.(BeaconNodeValidatorServer).ProposeExit(ctx, in) 3866 } 3867 info := &grpc.UnaryServerInfo{ 3868 Server: srv, 3869 FullMethod: "/ethereum.eth.v1alpha1.BeaconNodeValidator/ProposeExit", 3870 } 3871 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 3872 return srv.(BeaconNodeValidatorServer).ProposeExit(ctx, req.(*SignedVoluntaryExit)) 3873 } 3874 return interceptor(ctx, in, info, handler) 3875 } 3876 3877 func _BeaconNodeValidator_SubscribeCommitteeSubnets_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 3878 in := new(CommitteeSubnetsSubscribeRequest) 3879 if err := dec(in); err != nil { 3880 return nil, err 3881 } 3882 if interceptor == nil { 3883 return srv.(BeaconNodeValidatorServer).SubscribeCommitteeSubnets(ctx, in) 3884 } 3885 info := &grpc.UnaryServerInfo{ 3886 Server: srv, 3887 FullMethod: "/ethereum.eth.v1alpha1.BeaconNodeValidator/SubscribeCommitteeSubnets", 3888 } 3889 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 3890 return srv.(BeaconNodeValidatorServer).SubscribeCommitteeSubnets(ctx, req.(*CommitteeSubnetsSubscribeRequest)) 3891 } 3892 return interceptor(ctx, in, info, handler) 3893 } 3894 3895 func _BeaconNodeValidator_CheckDoppelGanger_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 3896 in := new(DoppelGangerRequest) 3897 if err := dec(in); err != nil { 3898 return nil, err 3899 } 3900 if interceptor == nil { 3901 return srv.(BeaconNodeValidatorServer).CheckDoppelGanger(ctx, in) 3902 } 3903 info := &grpc.UnaryServerInfo{ 3904 Server: srv, 3905 FullMethod: "/ethereum.eth.v1alpha1.BeaconNodeValidator/CheckDoppelGanger", 3906 } 3907 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 3908 return srv.(BeaconNodeValidatorServer).CheckDoppelGanger(ctx, req.(*DoppelGangerRequest)) 3909 } 3910 return interceptor(ctx, in, info, handler) 3911 } 3912 3913 var _BeaconNodeValidator_serviceDesc = grpc.ServiceDesc{ 3914 ServiceName: "ethereum.eth.v1alpha1.BeaconNodeValidator", 3915 HandlerType: (*BeaconNodeValidatorServer)(nil), 3916 Methods: []grpc.MethodDesc{ 3917 { 3918 MethodName: "GetDuties", 3919 Handler: _BeaconNodeValidator_GetDuties_Handler, 3920 }, 3921 { 3922 MethodName: "DomainData", 3923 Handler: _BeaconNodeValidator_DomainData_Handler, 3924 }, 3925 { 3926 MethodName: "ValidatorIndex", 3927 Handler: _BeaconNodeValidator_ValidatorIndex_Handler, 3928 }, 3929 { 3930 MethodName: "ValidatorStatus", 3931 Handler: _BeaconNodeValidator_ValidatorStatus_Handler, 3932 }, 3933 { 3934 MethodName: "MultipleValidatorStatus", 3935 Handler: _BeaconNodeValidator_MultipleValidatorStatus_Handler, 3936 }, 3937 { 3938 MethodName: "GetBlock", 3939 Handler: _BeaconNodeValidator_GetBlock_Handler, 3940 }, 3941 { 3942 MethodName: "ProposeBlock", 3943 Handler: _BeaconNodeValidator_ProposeBlock_Handler, 3944 }, 3945 { 3946 MethodName: "GetAttestationData", 3947 Handler: _BeaconNodeValidator_GetAttestationData_Handler, 3948 }, 3949 { 3950 MethodName: "ProposeAttestation", 3951 Handler: _BeaconNodeValidator_ProposeAttestation_Handler, 3952 }, 3953 { 3954 MethodName: "SubmitAggregateSelectionProof", 3955 Handler: _BeaconNodeValidator_SubmitAggregateSelectionProof_Handler, 3956 }, 3957 { 3958 MethodName: "SubmitSignedAggregateSelectionProof", 3959 Handler: _BeaconNodeValidator_SubmitSignedAggregateSelectionProof_Handler, 3960 }, 3961 { 3962 MethodName: "ProposeExit", 3963 Handler: _BeaconNodeValidator_ProposeExit_Handler, 3964 }, 3965 { 3966 MethodName: "SubscribeCommitteeSubnets", 3967 Handler: _BeaconNodeValidator_SubscribeCommitteeSubnets_Handler, 3968 }, 3969 { 3970 MethodName: "CheckDoppelGanger", 3971 Handler: _BeaconNodeValidator_CheckDoppelGanger_Handler, 3972 }, 3973 }, 3974 Streams: []grpc.StreamDesc{ 3975 { 3976 StreamName: "StreamDuties", 3977 Handler: _BeaconNodeValidator_StreamDuties_Handler, 3978 ServerStreams: true, 3979 }, 3980 { 3981 StreamName: "WaitForChainStart", 3982 Handler: _BeaconNodeValidator_WaitForChainStart_Handler, 3983 ServerStreams: true, 3984 }, 3985 { 3986 StreamName: "WaitForActivation", 3987 Handler: _BeaconNodeValidator_WaitForActivation_Handler, 3988 ServerStreams: true, 3989 }, 3990 }, 3991 Metadata: "proto/eth/v1alpha1/validator.proto", 3992 }