diff --git a/pkg/mimicry/mimicry.go b/pkg/mimicry/mimicry.go index 9ce0289f..bf03ee63 100644 --- a/pkg/mimicry/mimicry.go +++ b/pkg/mimicry/mimicry.go @@ -23,7 +23,6 @@ import ( "github.com/google/uuid" "github.com/prometheus/client_golang/prometheus/promhttp" "github.com/sirupsen/logrus" - "google.golang.org/protobuf/types/known/wrapperspb" ) type Mimicry struct { @@ -169,7 +168,6 @@ func (m *Mimicry) createNewClientMeta(ctx context.Context) (*xatu.ClientMeta, er Implementation: xatu.Implementation, Os: runtime.GOOS, ClockDrift: uint64(m.clockDrift.Milliseconds()), - ClockDriftV2: wrapperspb.UInt64(uint64(m.clockDrift.Milliseconds())), Labels: m.Config.Labels, }, nil } diff --git a/pkg/mimicry/p2p/execution/event_transaction.go b/pkg/mimicry/p2p/execution/event_transaction.go index 55fbc580..1d75cb93 100644 --- a/pkg/mimicry/p2p/execution/event_transaction.go +++ b/pkg/mimicry/p2p/execution/event_transaction.go @@ -24,7 +24,7 @@ func (p *Peer) handleTransaction(ctx context.Context, eventTime time.Time, event now := time.Now() if meta != nil { - now = now.Add(time.Duration(meta.ClockDriftV2.Value) * time.Millisecond) + now = now.Add(time.Duration(meta.ClockDrift) * time.Millisecond) } tx, err := event.MarshalBinary() @@ -34,14 +34,14 @@ func (p *Peer) handleTransaction(ctx context.Context, eventTime time.Time, event decoratedEvent := &xatu.DecoratedEvent{ Event: &xatu.Event{ - Name: xatu.Event_MEMPOOL_TRANSACTION, + Name: xatu.Event_MEMPOOL_TRANSACTION_V2, DateTime: timestamppb.New(now), }, Meta: &xatu.Meta{ Client: meta, }, - Data: &xatu.DecoratedEvent_MempoolTransaction{ - MempoolTransaction: fmt.Sprintf("0x%x", tx), + Data: &xatu.DecoratedEvent_MempoolTransactionV2{ + MempoolTransactionV2: fmt.Sprintf("0x%x", tx), }, } @@ -49,15 +49,15 @@ func (p *Peer) handleTransaction(ctx context.Context, eventTime time.Time, event if err != nil { p.log.WithError(err).Error("Failed to get extra transaction data") } else { - decoratedEvent.Meta.Client.AdditionalData = &xatu.ClientMeta_MempoolTransaction{ - MempoolTransaction: additionalData, + decoratedEvent.Meta.Client.AdditionalData = &xatu.ClientMeta_MempoolTransactionV2{ + MempoolTransactionV2: additionalData, } } return decoratedEvent, nil } -func (p *Peer) getTransactionData(ctx context.Context, event *types.Transaction, meta *xatu.ClientMeta, eventTime time.Time) (*xatu.ClientMeta_AdditionalMempoolTransactionData, error) { +func (p *Peer) getTransactionData(ctx context.Context, event *types.Transaction, meta *xatu.ClientMeta, eventTime time.Time) (*xatu.ClientMeta_AdditionalMempoolTransactionV2Data, error) { var to string if event.To() != nil { to = event.To().String() @@ -70,14 +70,12 @@ func (p *Peer) getTransactionData(ctx context.Context, event *types.Transaction, return nil, err } - extra := &xatu.ClientMeta_AdditionalMempoolTransactionData{ - Nonce: event.Nonce(), - NonceV2: wrapperspb.UInt64(event.Nonce()), + extra := &xatu.ClientMeta_AdditionalMempoolTransactionV2Data{ + Nonce: wrapperspb.UInt64(event.Nonce()), GasPrice: event.GasPrice().String(), From: from.String(), To: to, - Gas: event.Gas(), - GasV2: wrapperspb.UInt64(event.Gas()), + Gas: wrapperspb.UInt64(event.Gas()), Value: event.Value().String(), Hash: event.Hash().String(), Size: strconv.FormatFloat(float64(event.Size()), 'f', 0, 64), diff --git a/pkg/proto/eth/v1/attestation.pb.go b/pkg/proto/eth/v1/attestation.pb.go index 03e0b0bd..a4a415d5 100644 --- a/pkg/proto/eth/v1/attestation.pb.go +++ b/pkg/proto/eth/v1/attestation.pb.go @@ -4,7 +4,8 @@ // protoc v4.23.4 // source: pkg/proto/eth/v1/attestation.proto -// Note: largely inspired by https://github.com/prysmaticlabs/prysm/tree/develop/proto/eth/v1 +// Note: largely inspired by +// https://github.com/prysmaticlabs/prysm/tree/develop/proto/eth/v1 package v1 @@ -87,26 +88,85 @@ func (x *Attestation) GetData() *AttestationData { return nil } +type AttestationV2 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AggregationBits string `protobuf:"bytes,1,opt,name=aggregation_bits,proto3" json:"aggregation_bits,omitempty"` + Signature string `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"` + Data *AttestationDataV2 `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"` +} + +func (x *AttestationV2) Reset() { + *x = AttestationV2{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_eth_v1_attestation_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AttestationV2) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AttestationV2) ProtoMessage() {} + +func (x *AttestationV2) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_eth_v1_attestation_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AttestationV2.ProtoReflect.Descriptor instead. +func (*AttestationV2) Descriptor() ([]byte, []int) { + return file_pkg_proto_eth_v1_attestation_proto_rawDescGZIP(), []int{1} +} + +func (x *AttestationV2) GetAggregationBits() string { + if x != nil { + return x.AggregationBits + } + return "" +} + +func (x *AttestationV2) GetSignature() string { + if x != nil { + return x.Signature + } + return "" +} + +func (x *AttestationV2) GetData() *AttestationDataV2 { + if x != nil { + return x.Data + } + return nil +} + type AttestationData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Deprecated: Marked as deprecated in pkg/proto/eth/v1/attestation.proto. - Slot uint64 `protobuf:"varint,1,opt,name=slot,proto3" json:"slot,omitempty"` - // Deprecated: Marked as deprecated in pkg/proto/eth/v1/attestation.proto. - Index uint64 `protobuf:"varint,2,opt,name=index,proto3" json:"index,omitempty"` - BeaconBlockRoot string `protobuf:"bytes,3,opt,name=beacon_block_root,proto3" json:"beacon_block_root,omitempty"` - Source *Checkpoint `protobuf:"bytes,4,opt,name=source,proto3" json:"source,omitempty"` - Target *Checkpoint `protobuf:"bytes,5,opt,name=target,proto3" json:"target,omitempty"` - SlotV2 *wrapperspb.UInt64Value `protobuf:"bytes,6,opt,name=slot_v2,proto3" json:"slot_v2,omitempty"` - IndexV2 *wrapperspb.UInt64Value `protobuf:"bytes,7,opt,name=index_v2,proto3" json:"index_v2,omitempty"` + Slot uint64 `protobuf:"varint,1,opt,name=slot,proto3" json:"slot,omitempty"` + Index uint64 `protobuf:"varint,2,opt,name=index,proto3" json:"index,omitempty"` + BeaconBlockRoot string `protobuf:"bytes,3,opt,name=beacon_block_root,proto3" json:"beacon_block_root,omitempty"` + Source *Checkpoint `protobuf:"bytes,4,opt,name=source,proto3" json:"source,omitempty"` + Target *Checkpoint `protobuf:"bytes,5,opt,name=target,proto3" json:"target,omitempty"` } func (x *AttestationData) Reset() { *x = AttestationData{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_eth_v1_attestation_proto_msgTypes[1] + mi := &file_pkg_proto_eth_v1_attestation_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -119,7 +179,7 @@ func (x *AttestationData) String() string { func (*AttestationData) ProtoMessage() {} func (x *AttestationData) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_eth_v1_attestation_proto_msgTypes[1] + mi := &file_pkg_proto_eth_v1_attestation_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -132,10 +192,9 @@ func (x *AttestationData) ProtoReflect() protoreflect.Message { // Deprecated: Use AttestationData.ProtoReflect.Descriptor instead. func (*AttestationData) Descriptor() ([]byte, []int) { - return file_pkg_proto_eth_v1_attestation_proto_rawDescGZIP(), []int{1} + return file_pkg_proto_eth_v1_attestation_proto_rawDescGZIP(), []int{2} } -// Deprecated: Marked as deprecated in pkg/proto/eth/v1/attestation.proto. func (x *AttestationData) GetSlot() uint64 { if x != nil { return x.Slot @@ -143,7 +202,6 @@ func (x *AttestationData) GetSlot() uint64 { return 0 } -// Deprecated: Marked as deprecated in pkg/proto/eth/v1/attestation.proto. func (x *AttestationData) GetIndex() uint64 { if x != nil { return x.Index @@ -172,16 +230,81 @@ func (x *AttestationData) GetTarget() *Checkpoint { return nil } -func (x *AttestationData) GetSlotV2() *wrapperspb.UInt64Value { +type AttestationDataV2 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Slot *wrapperspb.UInt64Value `protobuf:"bytes,1,opt,name=slot,proto3" json:"slot,omitempty"` + Index *wrapperspb.UInt64Value `protobuf:"bytes,2,opt,name=index,proto3" json:"index,omitempty"` + BeaconBlockRoot string `protobuf:"bytes,3,opt,name=beacon_block_root,proto3" json:"beacon_block_root,omitempty"` + Source *CheckpointV2 `protobuf:"bytes,4,opt,name=source,proto3" json:"source,omitempty"` + Target *CheckpointV2 `protobuf:"bytes,5,opt,name=target,proto3" json:"target,omitempty"` +} + +func (x *AttestationDataV2) Reset() { + *x = AttestationDataV2{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_eth_v1_attestation_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AttestationDataV2) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AttestationDataV2) ProtoMessage() {} + +func (x *AttestationDataV2) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_eth_v1_attestation_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AttestationDataV2.ProtoReflect.Descriptor instead. +func (*AttestationDataV2) Descriptor() ([]byte, []int) { + return file_pkg_proto_eth_v1_attestation_proto_rawDescGZIP(), []int{3} +} + +func (x *AttestationDataV2) GetSlot() *wrapperspb.UInt64Value { + if x != nil { + return x.Slot + } + return nil +} + +func (x *AttestationDataV2) GetIndex() *wrapperspb.UInt64Value { + if x != nil { + return x.Index + } + return nil +} + +func (x *AttestationDataV2) GetBeaconBlockRoot() string { if x != nil { - return x.SlotV2 + return x.BeaconBlockRoot + } + return "" +} + +func (x *AttestationDataV2) GetSource() *CheckpointV2 { + if x != nil { + return x.Source } return nil } -func (x *AttestationData) GetIndexV2() *wrapperspb.UInt64Value { +func (x *AttestationDataV2) GetTarget() *CheckpointV2 { if x != nil { - return x.IndexV2 + return x.Target } return nil } @@ -191,17 +314,15 @@ type AggregateAttestationAndProof struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Deprecated: Marked as deprecated in pkg/proto/eth/v1/attestation.proto. - AggregatorIndex uint64 `protobuf:"varint,1,opt,name=aggregator_index,proto3" json:"aggregator_index,omitempty"` - Aggregate *Attestation `protobuf:"bytes,3,opt,name=aggregate,proto3" json:"aggregate,omitempty"` - SelectionProof string `protobuf:"bytes,2,opt,name=selection_proof,proto3" json:"selection_proof,omitempty"` - AggregatorIndexV2 *wrapperspb.UInt64Value `protobuf:"bytes,4,opt,name=aggregator_index_v2,proto3" json:"aggregator_index_v2,omitempty"` + AggregatorIndex uint64 `protobuf:"varint,1,opt,name=aggregator_index,proto3" json:"aggregator_index,omitempty"` + Aggregate *Attestation `protobuf:"bytes,3,opt,name=aggregate,proto3" json:"aggregate,omitempty"` + SelectionProof string `protobuf:"bytes,2,opt,name=selection_proof,proto3" json:"selection_proof,omitempty"` } func (x *AggregateAttestationAndProof) Reset() { *x = AggregateAttestationAndProof{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_eth_v1_attestation_proto_msgTypes[2] + mi := &file_pkg_proto_eth_v1_attestation_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -214,7 +335,7 @@ func (x *AggregateAttestationAndProof) String() string { func (*AggregateAttestationAndProof) ProtoMessage() {} func (x *AggregateAttestationAndProof) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_eth_v1_attestation_proto_msgTypes[2] + mi := &file_pkg_proto_eth_v1_attestation_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -227,10 +348,9 @@ func (x *AggregateAttestationAndProof) ProtoReflect() protoreflect.Message { // Deprecated: Use AggregateAttestationAndProof.ProtoReflect.Descriptor instead. func (*AggregateAttestationAndProof) Descriptor() ([]byte, []int) { - return file_pkg_proto_eth_v1_attestation_proto_rawDescGZIP(), []int{2} + return file_pkg_proto_eth_v1_attestation_proto_rawDescGZIP(), []int{4} } -// Deprecated: Marked as deprecated in pkg/proto/eth/v1/attestation.proto. func (x *AggregateAttestationAndProof) GetAggregatorIndex() uint64 { if x != nil { return x.AggregatorIndex @@ -252,13 +372,6 @@ func (x *AggregateAttestationAndProof) GetSelectionProof() string { return "" } -func (x *AggregateAttestationAndProof) GetAggregatorIndexV2() *wrapperspb.UInt64Value { - if x != nil { - return x.AggregatorIndexV2 - } - return nil -} - type SignedAggregateAttestationAndProof struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -271,7 +384,7 @@ type SignedAggregateAttestationAndProof struct { func (x *SignedAggregateAttestationAndProof) Reset() { *x = SignedAggregateAttestationAndProof{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_eth_v1_attestation_proto_msgTypes[3] + mi := &file_pkg_proto_eth_v1_attestation_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -284,7 +397,7 @@ func (x *SignedAggregateAttestationAndProof) String() string { func (*SignedAggregateAttestationAndProof) ProtoMessage() {} func (x *SignedAggregateAttestationAndProof) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_eth_v1_attestation_proto_msgTypes[3] + mi := &file_pkg_proto_eth_v1_attestation_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -297,7 +410,7 @@ func (x *SignedAggregateAttestationAndProof) ProtoReflect() protoreflect.Message // Deprecated: Use SignedAggregateAttestationAndProof.ProtoReflect.Descriptor instead. func (*SignedAggregateAttestationAndProof) Descriptor() ([]byte, []int) { - return file_pkg_proto_eth_v1_attestation_proto_rawDescGZIP(), []int{3} + return file_pkg_proto_eth_v1_attestation_proto_rawDescGZIP(), []int{5} } func (x *SignedAggregateAttestationAndProof) GetMessage() *AggregateAttestationAndProof { @@ -335,55 +448,69 @@ var file_pkg_proto_eth_v1_attestation_proto_rawDesc = []byte{ 0x12, 0x30, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x64, 0x61, - 0x74, 0x61, 0x22, 0xc5, 0x02, 0x0a, 0x0f, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x12, 0x16, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x04, 0x42, 0x02, 0x18, 0x01, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x18, - 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x42, 0x02, 0x18, - 0x01, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x2c, 0x0a, 0x11, 0x62, 0x65, 0x61, 0x63, - 0x6f, 0x6e, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x11, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x5f, 0x62, 0x6c, 0x6f, 0x63, - 0x6b, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x2f, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, - 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, - 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2f, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, - 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, - 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x36, 0x0a, 0x07, 0x73, 0x6c, 0x6f, 0x74, - 0x5f, 0x76, 0x32, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, - 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x76, 0x32, - 0x12, 0x38, 0x0a, 0x08, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x76, 0x32, 0x18, 0x07, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x52, 0x08, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x76, 0x32, 0x22, 0x80, 0x02, 0x0a, 0x1c, 0x41, - 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x64, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x12, 0x2e, 0x0a, 0x10, 0x61, - 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x04, 0x42, 0x02, 0x18, 0x01, 0x52, 0x10, 0x61, 0x67, 0x67, 0x72, 0x65, - 0x67, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x36, 0x0a, 0x09, 0x61, - 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, - 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x74, 0x74, - 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, - 0x61, 0x74, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x70, 0x72, 0x6f, 0x6f, 0x66, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x65, - 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x6f, 0x66, 0x12, 0x4e, 0x0a, - 0x13, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, - 0x78, 0x5f, 0x76, 0x32, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, - 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x13, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, - 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x76, 0x32, 0x22, 0x87, 0x01, - 0x0a, 0x22, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, - 0x65, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x64, 0x50, - 0x72, 0x6f, 0x6f, 0x66, 0x12, 0x43, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, - 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x41, 0x74, 0x74, - 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x64, 0x50, 0x72, 0x6f, 0x6f, 0x66, - 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, - 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, - 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x42, 0x2e, 0x5a, 0x2c, 0x67, 0x69, 0x74, 0x68, 0x75, - 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x74, 0x68, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x70, - 0x73, 0x2f, 0x78, 0x61, 0x74, 0x75, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x2f, 0x65, 0x74, 0x68, 0x2f, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x74, 0x61, 0x22, 0x8d, 0x01, 0x0a, 0x0d, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x56, 0x32, 0x12, 0x2a, 0x0a, 0x10, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x62, 0x69, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, + 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x62, 0x69, 0x74, 0x73, + 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x32, + 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x78, + 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x74, 0x74, 0x65, 0x73, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x56, 0x32, 0x52, 0x04, 0x64, 0x61, + 0x74, 0x61, 0x22, 0xcb, 0x01, 0x0a, 0x0f, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, + 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, + 0x12, 0x2c, 0x0a, 0x11, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, + 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x62, 0x65, 0x61, + 0x63, 0x6f, 0x6e, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x2f, + 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, + 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x65, + 0x63, 0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, + 0x2f, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x17, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, + 0x65, 0x63, 0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x22, 0x8d, 0x02, 0x0a, 0x11, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x44, 0x61, 0x74, 0x61, 0x56, 0x32, 0x12, 0x30, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x32, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, + 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x2c, 0x0a, 0x11, + 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x72, 0x6f, 0x6f, + 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x5f, + 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x31, 0x0a, 0x06, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x78, 0x61, 0x74, + 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x56, 0x32, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x31, 0x0a, + 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, + 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x65, 0x63, + 0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x56, 0x32, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x22, 0xac, 0x01, 0x0a, 0x1c, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x41, 0x74, + 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x64, 0x50, 0x72, 0x6f, 0x6f, + 0x66, 0x12, 0x2a, 0x0a, 0x10, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x5f, + 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x61, 0x67, 0x67, + 0x72, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x36, 0x0a, + 0x09, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x18, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x41, + 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x61, 0x67, 0x67, 0x72, + 0x65, 0x67, 0x61, 0x74, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x6f, 0x66, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, + 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x6f, 0x66, 0x22, + 0x87, 0x01, 0x0a, 0x22, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, + 0x61, 0x74, 0x65, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, + 0x64, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x12, 0x43, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, + 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x41, + 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x64, 0x50, 0x72, 0x6f, + 0x6f, 0x66, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73, + 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x42, 0x2e, 0x5a, 0x2c, 0x67, 0x69, 0x74, + 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x74, 0x68, 0x70, 0x61, 0x6e, 0x64, 0x61, + 0x6f, 0x70, 0x73, 0x2f, 0x78, 0x61, 0x74, 0x75, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x2f, 0x65, 0x74, 0x68, 0x2f, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x33, } var ( @@ -398,29 +525,34 @@ func file_pkg_proto_eth_v1_attestation_proto_rawDescGZIP() []byte { return file_pkg_proto_eth_v1_attestation_proto_rawDescData } -var file_pkg_proto_eth_v1_attestation_proto_msgTypes = make([]protoimpl.MessageInfo, 4) +var file_pkg_proto_eth_v1_attestation_proto_msgTypes = make([]protoimpl.MessageInfo, 6) var file_pkg_proto_eth_v1_attestation_proto_goTypes = []interface{}{ (*Attestation)(nil), // 0: xatu.eth.v1.Attestation - (*AttestationData)(nil), // 1: xatu.eth.v1.AttestationData - (*AggregateAttestationAndProof)(nil), // 2: xatu.eth.v1.AggregateAttestationAndProof - (*SignedAggregateAttestationAndProof)(nil), // 3: xatu.eth.v1.SignedAggregateAttestationAndProof - (*Checkpoint)(nil), // 4: xatu.eth.v1.Checkpoint - (*wrapperspb.UInt64Value)(nil), // 5: google.protobuf.UInt64Value + (*AttestationV2)(nil), // 1: xatu.eth.v1.AttestationV2 + (*AttestationData)(nil), // 2: xatu.eth.v1.AttestationData + (*AttestationDataV2)(nil), // 3: xatu.eth.v1.AttestationDataV2 + (*AggregateAttestationAndProof)(nil), // 4: xatu.eth.v1.AggregateAttestationAndProof + (*SignedAggregateAttestationAndProof)(nil), // 5: xatu.eth.v1.SignedAggregateAttestationAndProof + (*Checkpoint)(nil), // 6: xatu.eth.v1.Checkpoint + (*wrapperspb.UInt64Value)(nil), // 7: google.protobuf.UInt64Value + (*CheckpointV2)(nil), // 8: xatu.eth.v1.CheckpointV2 } var file_pkg_proto_eth_v1_attestation_proto_depIdxs = []int32{ - 1, // 0: xatu.eth.v1.Attestation.data:type_name -> xatu.eth.v1.AttestationData - 4, // 1: xatu.eth.v1.AttestationData.source:type_name -> xatu.eth.v1.Checkpoint - 4, // 2: xatu.eth.v1.AttestationData.target:type_name -> xatu.eth.v1.Checkpoint - 5, // 3: xatu.eth.v1.AttestationData.slot_v2:type_name -> google.protobuf.UInt64Value - 5, // 4: xatu.eth.v1.AttestationData.index_v2:type_name -> google.protobuf.UInt64Value - 0, // 5: xatu.eth.v1.AggregateAttestationAndProof.aggregate:type_name -> xatu.eth.v1.Attestation - 5, // 6: xatu.eth.v1.AggregateAttestationAndProof.aggregator_index_v2:type_name -> google.protobuf.UInt64Value - 2, // 7: xatu.eth.v1.SignedAggregateAttestationAndProof.message:type_name -> xatu.eth.v1.AggregateAttestationAndProof - 8, // [8:8] is the sub-list for method output_type - 8, // [8:8] is the sub-list for method input_type - 8, // [8:8] is the sub-list for extension type_name - 8, // [8:8] is the sub-list for extension extendee - 0, // [0:8] is the sub-list for field type_name + 2, // 0: xatu.eth.v1.Attestation.data:type_name -> xatu.eth.v1.AttestationData + 3, // 1: xatu.eth.v1.AttestationV2.data:type_name -> xatu.eth.v1.AttestationDataV2 + 6, // 2: xatu.eth.v1.AttestationData.source:type_name -> xatu.eth.v1.Checkpoint + 6, // 3: xatu.eth.v1.AttestationData.target:type_name -> xatu.eth.v1.Checkpoint + 7, // 4: xatu.eth.v1.AttestationDataV2.slot:type_name -> google.protobuf.UInt64Value + 7, // 5: xatu.eth.v1.AttestationDataV2.index:type_name -> google.protobuf.UInt64Value + 8, // 6: xatu.eth.v1.AttestationDataV2.source:type_name -> xatu.eth.v1.CheckpointV2 + 8, // 7: xatu.eth.v1.AttestationDataV2.target:type_name -> xatu.eth.v1.CheckpointV2 + 0, // 8: xatu.eth.v1.AggregateAttestationAndProof.aggregate:type_name -> xatu.eth.v1.Attestation + 4, // 9: xatu.eth.v1.SignedAggregateAttestationAndProof.message:type_name -> xatu.eth.v1.AggregateAttestationAndProof + 10, // [10:10] is the sub-list for method output_type + 10, // [10:10] is the sub-list for method input_type + 10, // [10:10] is the sub-list for extension type_name + 10, // [10:10] is the sub-list for extension extendee + 0, // [0:10] is the sub-list for field type_name } func init() { file_pkg_proto_eth_v1_attestation_proto_init() } @@ -443,7 +575,7 @@ func file_pkg_proto_eth_v1_attestation_proto_init() { } } file_pkg_proto_eth_v1_attestation_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AttestationData); i { + switch v := v.(*AttestationV2); i { case 0: return &v.state case 1: @@ -455,7 +587,7 @@ func file_pkg_proto_eth_v1_attestation_proto_init() { } } file_pkg_proto_eth_v1_attestation_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AggregateAttestationAndProof); i { + switch v := v.(*AttestationData); i { case 0: return &v.state case 1: @@ -467,6 +599,30 @@ func file_pkg_proto_eth_v1_attestation_proto_init() { } } file_pkg_proto_eth_v1_attestation_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AttestationDataV2); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_proto_eth_v1_attestation_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AggregateAttestationAndProof); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_proto_eth_v1_attestation_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SignedAggregateAttestationAndProof); i { case 0: return &v.state @@ -485,7 +641,7 @@ func file_pkg_proto_eth_v1_attestation_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_pkg_proto_eth_v1_attestation_proto_rawDesc, NumEnums: 0, - NumMessages: 4, + NumMessages: 6, NumExtensions: 0, NumServices: 0, }, diff --git a/pkg/proto/eth/v1/attestation.proto b/pkg/proto/eth/v1/attestation.proto index 2ea0a2b4..82e0b129 100644 --- a/pkg/proto/eth/v1/attestation.proto +++ b/pkg/proto/eth/v1/attestation.proto @@ -1,6 +1,7 @@ syntax = "proto3"; -// Note: largely inspired by https://github.com/prysmaticlabs/prysm/tree/develop/proto/eth/v1 +// Note: largely inspired by +// https://github.com/prysmaticlabs/prysm/tree/develop/proto/eth/v1 package xatu.eth.v1; @@ -11,37 +12,51 @@ import "google/protobuf/descriptor.proto"; import "pkg/proto/eth/v1/checkpoint.proto"; message Attestation { - string aggregation_bits = 1 [json_name="aggregation_bits"]; + string aggregation_bits = 1 [ json_name = "aggregation_bits" ]; string signature = 2; AttestationData data = 3; } +message AttestationV2 { + string aggregation_bits = 1 [ json_name = "aggregation_bits" ]; + + string signature = 2; + + AttestationDataV2 data = 3; +} + message AttestationData { - uint64 slot = 1 [ deprecated = true ]; + uint64 slot = 1; - uint64 index = 2 [ deprecated = true ]; + uint64 index = 2; - string beacon_block_root = 3 [json_name="beacon_block_root"]; + string beacon_block_root = 3 [ json_name = "beacon_block_root" ]; Checkpoint source = 4; Checkpoint target = 5; +} - google.protobuf.UInt64Value slot_v2 = 6 [json_name="slot_v2"]; +message AttestationDataV2 { + google.protobuf.UInt64Value slot = 1 [ json_name = "slot" ]; - google.protobuf.UInt64Value index_v2 = 7 [json_name="index_v2"]; + google.protobuf.UInt64Value index = 2 [ json_name = "index" ]; + + string beacon_block_root = 3 [ json_name = "beacon_block_root" ]; + + CheckpointV2 source = 4; + + CheckpointV2 target = 5; } message AggregateAttestationAndProof { - uint64 aggregator_index = 1 [json_name="aggregator_index", deprecated=true]; + uint64 aggregator_index = 1 [ json_name = "aggregator_index" ]; Attestation aggregate = 3; - string selection_proof = 2 [json_name="selection_proof"]; - - google.protobuf.UInt64Value aggregator_index_v2 = 4 [json_name="aggregator_index_v2"]; + string selection_proof = 2 [ json_name = "selection_proof" ]; } message SignedAggregateAttestationAndProof { @@ -49,4 +64,3 @@ message SignedAggregateAttestationAndProof { string signature = 2; } - diff --git a/pkg/proto/eth/v1/beacon_block.pb.go b/pkg/proto/eth/v1/beacon_block.pb.go index 5b09b039..2af692cc 100644 --- a/pkg/proto/eth/v1/beacon_block.pb.go +++ b/pkg/proto/eth/v1/beacon_block.pb.go @@ -30,15 +30,11 @@ type BeaconBlock struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Deprecated: Marked as deprecated in pkg/proto/eth/v1/beacon_block.proto. - Slot uint64 `protobuf:"varint,1,opt,name=slot,proto3" json:"slot,omitempty"` - // Deprecated: Marked as deprecated in pkg/proto/eth/v1/beacon_block.proto. - ProposerIndex uint64 `protobuf:"varint,2,opt,name=proposer_index,proto3" json:"proposer_index,omitempty"` - ParentRoot string `protobuf:"bytes,3,opt,name=parent_root,proto3" json:"parent_root,omitempty"` - StateRoot string `protobuf:"bytes,4,opt,name=state_root,proto3" json:"state_root,omitempty"` - Body *BeaconBlockBody `protobuf:"bytes,5,opt,name=body,proto3" json:"body,omitempty"` - SlotV2 *wrapperspb.UInt64Value `protobuf:"bytes,6,opt,name=slot_v2,proto3" json:"slot_v2,omitempty"` - ProposerIndexV2 *wrapperspb.UInt64Value `protobuf:"bytes,7,opt,name=proposer_index_v2,proto3" json:"proposer_index_v2,omitempty"` + Slot uint64 `protobuf:"varint,1,opt,name=slot,proto3" json:"slot,omitempty"` + ProposerIndex uint64 `protobuf:"varint,2,opt,name=proposer_index,proto3" json:"proposer_index,omitempty"` + ParentRoot string `protobuf:"bytes,3,opt,name=parent_root,proto3" json:"parent_root,omitempty"` + StateRoot string `protobuf:"bytes,4,opt,name=state_root,proto3" json:"state_root,omitempty"` + Body *BeaconBlockBody `protobuf:"bytes,5,opt,name=body,proto3" json:"body,omitempty"` } func (x *BeaconBlock) Reset() { @@ -73,7 +69,6 @@ func (*BeaconBlock) Descriptor() ([]byte, []int) { return file_pkg_proto_eth_v1_beacon_block_proto_rawDescGZIP(), []int{0} } -// Deprecated: Marked as deprecated in pkg/proto/eth/v1/beacon_block.proto. func (x *BeaconBlock) GetSlot() uint64 { if x != nil { return x.Slot @@ -81,7 +76,6 @@ func (x *BeaconBlock) GetSlot() uint64 { return 0 } -// Deprecated: Marked as deprecated in pkg/proto/eth/v1/beacon_block.proto. func (x *BeaconBlock) GetProposerIndex() uint64 { if x != nil { return x.ProposerIndex @@ -110,16 +104,81 @@ func (x *BeaconBlock) GetBody() *BeaconBlockBody { return nil } -func (x *BeaconBlock) GetSlotV2() *wrapperspb.UInt64Value { +type BeaconBlockV2 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Slot *wrapperspb.UInt64Value `protobuf:"bytes,1,opt,name=slot,proto3" json:"slot,omitempty"` + ProposerIndex *wrapperspb.UInt64Value `protobuf:"bytes,2,opt,name=proposer_index,proto3" json:"proposer_index,omitempty"` + ParentRoot string `protobuf:"bytes,3,opt,name=parent_root,proto3" json:"parent_root,omitempty"` + StateRoot string `protobuf:"bytes,4,opt,name=state_root,proto3" json:"state_root,omitempty"` + Body *BeaconBlockBody `protobuf:"bytes,5,opt,name=body,proto3" json:"body,omitempty"` +} + +func (x *BeaconBlockV2) Reset() { + *x = BeaconBlockV2{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_eth_v1_beacon_block_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BeaconBlockV2) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BeaconBlockV2) ProtoMessage() {} + +func (x *BeaconBlockV2) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_eth_v1_beacon_block_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BeaconBlockV2.ProtoReflect.Descriptor instead. +func (*BeaconBlockV2) Descriptor() ([]byte, []int) { + return file_pkg_proto_eth_v1_beacon_block_proto_rawDescGZIP(), []int{1} +} + +func (x *BeaconBlockV2) GetSlot() *wrapperspb.UInt64Value { if x != nil { - return x.SlotV2 + return x.Slot } return nil } -func (x *BeaconBlock) GetProposerIndexV2() *wrapperspb.UInt64Value { +func (x *BeaconBlockV2) GetProposerIndex() *wrapperspb.UInt64Value { if x != nil { - return x.ProposerIndexV2 + return x.ProposerIndex + } + return nil +} + +func (x *BeaconBlockV2) GetParentRoot() string { + if x != nil { + return x.ParentRoot + } + return "" +} + +func (x *BeaconBlockV2) GetStateRoot() string { + if x != nil { + return x.StateRoot + } + return "" +} + +func (x *BeaconBlockV2) GetBody() *BeaconBlockBody { + if x != nil { + return x.Body } return nil } @@ -136,7 +195,7 @@ type SignedBeaconBlock struct { func (x *SignedBeaconBlock) Reset() { *x = SignedBeaconBlock{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_eth_v1_beacon_block_proto_msgTypes[1] + mi := &file_pkg_proto_eth_v1_beacon_block_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -149,7 +208,7 @@ func (x *SignedBeaconBlock) String() string { func (*SignedBeaconBlock) ProtoMessage() {} func (x *SignedBeaconBlock) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_eth_v1_beacon_block_proto_msgTypes[1] + mi := &file_pkg_proto_eth_v1_beacon_block_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -162,7 +221,7 @@ func (x *SignedBeaconBlock) ProtoReflect() protoreflect.Message { // Deprecated: Use SignedBeaconBlock.ProtoReflect.Descriptor instead. func (*SignedBeaconBlock) Descriptor() ([]byte, []int) { - return file_pkg_proto_eth_v1_beacon_block_proto_rawDescGZIP(), []int{1} + return file_pkg_proto_eth_v1_beacon_block_proto_rawDescGZIP(), []int{2} } func (x *SignedBeaconBlock) GetBlock() *BeaconBlock { @@ -179,6 +238,61 @@ func (x *SignedBeaconBlock) GetSignature() string { return "" } +type SignedBeaconBlockV2 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Block *BeaconBlockV2 `protobuf:"bytes,1,opt,name=block,proto3" json:"block,omitempty"` + Signature string `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"` +} + +func (x *SignedBeaconBlockV2) Reset() { + *x = SignedBeaconBlockV2{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_eth_v1_beacon_block_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SignedBeaconBlockV2) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SignedBeaconBlockV2) ProtoMessage() {} + +func (x *SignedBeaconBlockV2) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_eth_v1_beacon_block_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SignedBeaconBlockV2.ProtoReflect.Descriptor instead. +func (*SignedBeaconBlockV2) Descriptor() ([]byte, []int) { + return file_pkg_proto_eth_v1_beacon_block_proto_rawDescGZIP(), []int{3} +} + +func (x *SignedBeaconBlockV2) GetBlock() *BeaconBlockV2 { + if x != nil { + return x.Block + } + return nil +} + +func (x *SignedBeaconBlockV2) GetSignature() string { + if x != nil { + return x.Signature + } + return "" +} + type BeaconBlockBody struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -197,7 +311,7 @@ type BeaconBlockBody struct { func (x *BeaconBlockBody) Reset() { *x = BeaconBlockBody{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_eth_v1_beacon_block_proto_msgTypes[2] + mi := &file_pkg_proto_eth_v1_beacon_block_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -210,7 +324,7 @@ func (x *BeaconBlockBody) String() string { func (*BeaconBlockBody) ProtoMessage() {} func (x *BeaconBlockBody) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_eth_v1_beacon_block_proto_msgTypes[2] + mi := &file_pkg_proto_eth_v1_beacon_block_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -223,7 +337,7 @@ func (x *BeaconBlockBody) ProtoReflect() protoreflect.Message { // Deprecated: Use BeaconBlockBody.ProtoReflect.Descriptor instead. func (*BeaconBlockBody) Descriptor() ([]byte, []int) { - return file_pkg_proto_eth_v1_beacon_block_proto_rawDescGZIP(), []int{2} + return file_pkg_proto_eth_v1_beacon_block_proto_rawDescGZIP(), []int{4} } func (x *BeaconBlockBody) GetRandaoReveal() string { @@ -294,7 +408,7 @@ type ProposerSlashing struct { func (x *ProposerSlashing) Reset() { *x = ProposerSlashing{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_eth_v1_beacon_block_proto_msgTypes[3] + mi := &file_pkg_proto_eth_v1_beacon_block_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -307,7 +421,7 @@ func (x *ProposerSlashing) String() string { func (*ProposerSlashing) ProtoMessage() {} func (x *ProposerSlashing) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_eth_v1_beacon_block_proto_msgTypes[3] + mi := &file_pkg_proto_eth_v1_beacon_block_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -320,7 +434,7 @@ func (x *ProposerSlashing) ProtoReflect() protoreflect.Message { // Deprecated: Use ProposerSlashing.ProtoReflect.Descriptor instead. func (*ProposerSlashing) Descriptor() ([]byte, []int) { - return file_pkg_proto_eth_v1_beacon_block_proto_rawDescGZIP(), []int{3} + return file_pkg_proto_eth_v1_beacon_block_proto_rawDescGZIP(), []int{5} } func (x *ProposerSlashing) GetSignedHeader_1() *SignedBeaconBlockHeader { @@ -349,7 +463,7 @@ type AttesterSlashing struct { func (x *AttesterSlashing) Reset() { *x = AttesterSlashing{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_eth_v1_beacon_block_proto_msgTypes[4] + mi := &file_pkg_proto_eth_v1_beacon_block_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -362,7 +476,7 @@ func (x *AttesterSlashing) String() string { func (*AttesterSlashing) ProtoMessage() {} func (x *AttesterSlashing) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_eth_v1_beacon_block_proto_msgTypes[4] + mi := &file_pkg_proto_eth_v1_beacon_block_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -375,7 +489,7 @@ func (x *AttesterSlashing) ProtoReflect() protoreflect.Message { // Deprecated: Use AttesterSlashing.ProtoReflect.Descriptor instead. func (*AttesterSlashing) Descriptor() ([]byte, []int) { - return file_pkg_proto_eth_v1_beacon_block_proto_rawDescGZIP(), []int{4} + return file_pkg_proto_eth_v1_beacon_block_proto_rawDescGZIP(), []int{6} } func (x *AttesterSlashing) GetAttestation_1() *IndexedAttestation { @@ -404,7 +518,7 @@ type Deposit struct { func (x *Deposit) Reset() { *x = Deposit{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_eth_v1_beacon_block_proto_msgTypes[5] + mi := &file_pkg_proto_eth_v1_beacon_block_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -417,7 +531,7 @@ func (x *Deposit) String() string { func (*Deposit) ProtoMessage() {} func (x *Deposit) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_eth_v1_beacon_block_proto_msgTypes[5] + mi := &file_pkg_proto_eth_v1_beacon_block_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -430,7 +544,7 @@ func (x *Deposit) ProtoReflect() protoreflect.Message { // Deprecated: Use Deposit.ProtoReflect.Descriptor instead. func (*Deposit) Descriptor() ([]byte, []int) { - return file_pkg_proto_eth_v1_beacon_block_proto_rawDescGZIP(), []int{5} + return file_pkg_proto_eth_v1_beacon_block_proto_rawDescGZIP(), []int{7} } func (x *Deposit) GetProof() []string { @@ -459,7 +573,7 @@ type VoluntaryExit struct { func (x *VoluntaryExit) Reset() { *x = VoluntaryExit{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_eth_v1_beacon_block_proto_msgTypes[6] + mi := &file_pkg_proto_eth_v1_beacon_block_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -472,7 +586,7 @@ func (x *VoluntaryExit) String() string { func (*VoluntaryExit) ProtoMessage() {} func (x *VoluntaryExit) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_eth_v1_beacon_block_proto_msgTypes[6] + mi := &file_pkg_proto_eth_v1_beacon_block_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -485,7 +599,7 @@ func (x *VoluntaryExit) ProtoReflect() protoreflect.Message { // Deprecated: Use VoluntaryExit.ProtoReflect.Descriptor instead. func (*VoluntaryExit) Descriptor() ([]byte, []int) { - return file_pkg_proto_eth_v1_beacon_block_proto_rawDescGZIP(), []int{6} + return file_pkg_proto_eth_v1_beacon_block_proto_rawDescGZIP(), []int{8} } func (x *VoluntaryExit) GetEpoch() uint64 { @@ -514,7 +628,7 @@ type SignedVoluntaryExit struct { func (x *SignedVoluntaryExit) Reset() { *x = SignedVoluntaryExit{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_eth_v1_beacon_block_proto_msgTypes[7] + mi := &file_pkg_proto_eth_v1_beacon_block_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -527,7 +641,7 @@ func (x *SignedVoluntaryExit) String() string { func (*SignedVoluntaryExit) ProtoMessage() {} func (x *SignedVoluntaryExit) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_eth_v1_beacon_block_proto_msgTypes[7] + mi := &file_pkg_proto_eth_v1_beacon_block_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -540,7 +654,7 @@ func (x *SignedVoluntaryExit) ProtoReflect() protoreflect.Message { // Deprecated: Use SignedVoluntaryExit.ProtoReflect.Descriptor instead. func (*SignedVoluntaryExit) Descriptor() ([]byte, []int) { - return file_pkg_proto_eth_v1_beacon_block_proto_rawDescGZIP(), []int{7} + return file_pkg_proto_eth_v1_beacon_block_proto_rawDescGZIP(), []int{9} } func (x *SignedVoluntaryExit) GetMessage() *VoluntaryExit { @@ -570,7 +684,7 @@ type Eth1Data struct { func (x *Eth1Data) Reset() { *x = Eth1Data{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_eth_v1_beacon_block_proto_msgTypes[8] + mi := &file_pkg_proto_eth_v1_beacon_block_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -583,7 +697,7 @@ func (x *Eth1Data) String() string { func (*Eth1Data) ProtoMessage() {} func (x *Eth1Data) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_eth_v1_beacon_block_proto_msgTypes[8] + mi := &file_pkg_proto_eth_v1_beacon_block_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -596,7 +710,7 @@ func (x *Eth1Data) ProtoReflect() protoreflect.Message { // Deprecated: Use Eth1Data.ProtoReflect.Descriptor instead. func (*Eth1Data) Descriptor() ([]byte, []int) { - return file_pkg_proto_eth_v1_beacon_block_proto_rawDescGZIP(), []int{8} + return file_pkg_proto_eth_v1_beacon_block_proto_rawDescGZIP(), []int{10} } func (x *Eth1Data) GetDepositRoot() string { @@ -635,7 +749,7 @@ type BeaconBlockHeader struct { func (x *BeaconBlockHeader) Reset() { *x = BeaconBlockHeader{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_eth_v1_beacon_block_proto_msgTypes[9] + mi := &file_pkg_proto_eth_v1_beacon_block_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -648,7 +762,7 @@ func (x *BeaconBlockHeader) String() string { func (*BeaconBlockHeader) ProtoMessage() {} func (x *BeaconBlockHeader) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_eth_v1_beacon_block_proto_msgTypes[9] + mi := &file_pkg_proto_eth_v1_beacon_block_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -661,7 +775,7 @@ func (x *BeaconBlockHeader) ProtoReflect() protoreflect.Message { // Deprecated: Use BeaconBlockHeader.ProtoReflect.Descriptor instead. func (*BeaconBlockHeader) Descriptor() ([]byte, []int) { - return file_pkg_proto_eth_v1_beacon_block_proto_rawDescGZIP(), []int{9} + return file_pkg_proto_eth_v1_beacon_block_proto_rawDescGZIP(), []int{11} } func (x *BeaconBlockHeader) GetSlot() uint64 { @@ -711,7 +825,7 @@ type SignedBeaconBlockHeader struct { func (x *SignedBeaconBlockHeader) Reset() { *x = SignedBeaconBlockHeader{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_eth_v1_beacon_block_proto_msgTypes[10] + mi := &file_pkg_proto_eth_v1_beacon_block_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -724,7 +838,7 @@ func (x *SignedBeaconBlockHeader) String() string { func (*SignedBeaconBlockHeader) ProtoMessage() {} func (x *SignedBeaconBlockHeader) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_eth_v1_beacon_block_proto_msgTypes[10] + mi := &file_pkg_proto_eth_v1_beacon_block_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -737,7 +851,7 @@ func (x *SignedBeaconBlockHeader) ProtoReflect() protoreflect.Message { // Deprecated: Use SignedBeaconBlockHeader.ProtoReflect.Descriptor instead. func (*SignedBeaconBlockHeader) Descriptor() ([]byte, []int) { - return file_pkg_proto_eth_v1_beacon_block_proto_rawDescGZIP(), []int{10} + return file_pkg_proto_eth_v1_beacon_block_proto_rawDescGZIP(), []int{12} } func (x *SignedBeaconBlockHeader) GetMessage() *BeaconBlockHeader { @@ -767,7 +881,7 @@ type IndexedAttestation struct { func (x *IndexedAttestation) Reset() { *x = IndexedAttestation{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_eth_v1_beacon_block_proto_msgTypes[11] + mi := &file_pkg_proto_eth_v1_beacon_block_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -780,7 +894,7 @@ func (x *IndexedAttestation) String() string { func (*IndexedAttestation) ProtoMessage() {} func (x *IndexedAttestation) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_eth_v1_beacon_block_proto_msgTypes[11] + mi := &file_pkg_proto_eth_v1_beacon_block_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -793,7 +907,7 @@ func (x *IndexedAttestation) ProtoReflect() protoreflect.Message { // Deprecated: Use IndexedAttestation.ProtoReflect.Descriptor instead. func (*IndexedAttestation) Descriptor() ([]byte, []int) { - return file_pkg_proto_eth_v1_beacon_block_proto_rawDescGZIP(), []int{11} + return file_pkg_proto_eth_v1_beacon_block_proto_rawDescGZIP(), []int{13} } func (x *IndexedAttestation) GetAttestingIndices() []uint64 { @@ -829,7 +943,7 @@ type SyncAggregate struct { func (x *SyncAggregate) Reset() { *x = SyncAggregate{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_eth_v1_beacon_block_proto_msgTypes[12] + mi := &file_pkg_proto_eth_v1_beacon_block_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -842,7 +956,7 @@ func (x *SyncAggregate) String() string { func (*SyncAggregate) ProtoMessage() {} func (x *SyncAggregate) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_eth_v1_beacon_block_proto_msgTypes[12] + mi := &file_pkg_proto_eth_v1_beacon_block_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -855,7 +969,7 @@ func (x *SyncAggregate) ProtoReflect() protoreflect.Message { // Deprecated: Use SyncAggregate.ProtoReflect.Descriptor instead. func (*SyncAggregate) Descriptor() ([]byte, []int) { - return file_pkg_proto_eth_v1_beacon_block_proto_rawDescGZIP(), []int{12} + return file_pkg_proto_eth_v1_beacon_block_proto_rawDescGZIP(), []int{14} } func (x *SyncAggregate) GetSyncCommitteeBits() string { @@ -886,7 +1000,7 @@ type Deposit_Data struct { func (x *Deposit_Data) Reset() { *x = Deposit_Data{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_eth_v1_beacon_block_proto_msgTypes[13] + mi := &file_pkg_proto_eth_v1_beacon_block_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -899,7 +1013,7 @@ func (x *Deposit_Data) String() string { func (*Deposit_Data) ProtoMessage() {} func (x *Deposit_Data) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_eth_v1_beacon_block_proto_msgTypes[13] + mi := &file_pkg_proto_eth_v1_beacon_block_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -912,7 +1026,7 @@ func (x *Deposit_Data) ProtoReflect() protoreflect.Message { // Deprecated: Use Deposit_Data.ProtoReflect.Descriptor instead. func (*Deposit_Data) Descriptor() ([]byte, []int) { - return file_pkg_proto_eth_v1_beacon_block_proto_rawDescGZIP(), []int{5, 0} + return file_pkg_proto_eth_v1_beacon_block_proto_rawDescGZIP(), []int{7, 0} } func (x *Deposit_Data) GetPubkey() string { @@ -955,158 +1069,171 @@ var file_pkg_proto_eth_v1_beacon_block_proto_rawDesc = []byte{ 0x62, 0x75, 0x66, 0x2f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x22, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x74, 0x68, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc9, 0x02, 0x0a, 0x0b, 0x42, 0x65, 0x61, - 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x16, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x42, 0x02, 0x18, 0x01, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, - 0x12, 0x2a, 0x0a, 0x0e, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x64, - 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0e, 0x70, 0x72, - 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x20, 0x0a, 0x0b, - 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x1e, - 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x30, - 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x78, - 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x65, 0x61, 0x63, 0x6f, - 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x6f, 0x64, 0x79, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, - 0x12, 0x36, 0x0a, 0x07, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x76, 0x32, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, - 0x07, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x76, 0x32, 0x12, 0x4a, 0x0a, 0x11, 0x70, 0x72, 0x6f, 0x70, - 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x76, 0x32, 0x18, 0x07, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x52, 0x11, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, - 0x78, 0x5f, 0x76, 0x32, 0x22, 0x61, 0x0a, 0x11, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x42, 0x65, - 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x2e, 0x0a, 0x05, 0x62, 0x6c, 0x6f, - 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, - 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, - 0x63, 0x6b, 0x52, 0x05, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, - 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, - 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0xe2, 0x03, 0x0a, 0x0f, 0x42, 0x65, 0x61, 0x63, - 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x6f, 0x64, 0x79, 0x12, 0x24, 0x0a, 0x0d, 0x72, - 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x5f, 0x72, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0d, 0x72, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x5f, 0x72, 0x65, 0x76, 0x65, 0x61, - 0x6c, 0x12, 0x33, 0x0a, 0x09, 0x65, 0x74, 0x68, 0x31, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, - 0x76, 0x31, 0x2e, 0x45, 0x74, 0x68, 0x31, 0x44, 0x61, 0x74, 0x61, 0x52, 0x09, 0x65, 0x74, 0x68, - 0x31, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1a, 0x0a, 0x08, 0x67, 0x72, 0x61, 0x66, 0x66, 0x69, - 0x74, 0x69, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x67, 0x72, 0x61, 0x66, 0x66, 0x69, - 0x74, 0x69, 0x12, 0x4d, 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x73, - 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, - 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, - 0x70, 0x6f, 0x73, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x52, 0x12, 0x70, + 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xbd, 0x01, 0x0a, 0x0b, 0x42, 0x65, 0x61, + 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x26, 0x0a, 0x0e, + 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x69, + 0x6e, 0x64, 0x65, 0x78, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x72, + 0x6f, 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, + 0x74, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, + 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, + 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x30, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, + 0x76, 0x31, 0x2e, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x6f, + 0x64, 0x79, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x22, 0xfb, 0x01, 0x0a, 0x0d, 0x42, 0x65, 0x61, + 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x56, 0x32, 0x12, 0x30, 0x0a, 0x04, 0x73, 0x6c, + 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, + 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x44, 0x0a, 0x0e, + 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x64, + 0x65, 0x78, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x6f, 0x6f, + 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, + 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x6f, + 0x6f, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, + 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x30, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, + 0x2e, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x6f, 0x64, 0x79, + 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x22, 0x61, 0x0a, 0x11, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, + 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x2e, 0x0a, 0x05, 0x62, + 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x78, 0x61, 0x74, + 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, + 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x05, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x1c, 0x0a, 0x09, 0x73, + 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0x65, 0x0a, 0x13, 0x53, 0x69, 0x67, + 0x6e, 0x65, 0x64, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x56, 0x32, + 0x12, 0x30, 0x0a, 0x05, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1a, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x65, + 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x56, 0x32, 0x52, 0x05, 0x62, 0x6c, 0x6f, + 0x63, 0x6b, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x22, 0xe2, 0x03, 0x0a, 0x0f, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, + 0x42, 0x6f, 0x64, 0x79, 0x12, 0x24, 0x0a, 0x0d, 0x72, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x5f, 0x72, + 0x65, 0x76, 0x65, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x61, 0x6e, + 0x64, 0x61, 0x6f, 0x5f, 0x72, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x12, 0x33, 0x0a, 0x09, 0x65, 0x74, + 0x68, 0x31, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, + 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x74, 0x68, 0x31, + 0x44, 0x61, 0x74, 0x61, 0x52, 0x09, 0x65, 0x74, 0x68, 0x31, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x12, + 0x1a, 0x0a, 0x08, 0x67, 0x72, 0x61, 0x66, 0x66, 0x69, 0x74, 0x69, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x67, 0x72, 0x61, 0x66, 0x66, 0x69, 0x74, 0x69, 0x12, 0x4d, 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, - 0x73, 0x12, 0x4d, 0x0a, 0x12, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x6c, - 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, - 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x74, 0x74, 0x65, - 0x73, 0x74, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x52, 0x12, 0x61, 0x74, + 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, + 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x53, 0x6c, + 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x52, 0x12, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, + 0x5f, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x4d, 0x0a, 0x12, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x73, - 0x12, 0x3c, 0x0a, 0x0c, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, - 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x0c, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x30, - 0x0a, 0x08, 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x14, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x44, - 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x52, 0x08, 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x73, - 0x12, 0x4a, 0x0a, 0x0f, 0x76, 0x6f, 0x6c, 0x75, 0x6e, 0x74, 0x61, 0x72, 0x79, 0x5f, 0x65, 0x78, - 0x69, 0x74, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x78, 0x61, 0x74, 0x75, - 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x56, 0x6f, - 0x6c, 0x75, 0x6e, 0x74, 0x61, 0x72, 0x79, 0x45, 0x78, 0x69, 0x74, 0x52, 0x0f, 0x76, 0x6f, 0x6c, - 0x75, 0x6e, 0x74, 0x61, 0x72, 0x79, 0x5f, 0x65, 0x78, 0x69, 0x74, 0x73, 0x22, 0xb2, 0x01, 0x0a, - 0x10, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, - 0x67, 0x12, 0x4e, 0x0a, 0x0f, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x68, 0x65, 0x61, 0x64, - 0x65, 0x72, 0x5f, 0x31, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x78, 0x61, 0x74, - 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x42, - 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, - 0x52, 0x0f, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, - 0x31, 0x12, 0x4e, 0x0a, 0x0f, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x68, 0x65, 0x61, 0x64, - 0x65, 0x72, 0x5f, 0x32, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x78, 0x61, 0x74, - 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x42, - 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, - 0x52, 0x0f, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, - 0x32, 0x22, 0xa0, 0x01, 0x0a, 0x10, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x65, 0x72, 0x53, 0x6c, - 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x12, 0x45, 0x0a, 0x0d, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x31, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, + 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, + 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x65, 0x72, 0x53, 0x6c, 0x61, + 0x73, 0x68, 0x69, 0x6e, 0x67, 0x52, 0x12, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x65, 0x72, 0x5f, + 0x73, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x3c, 0x0a, 0x0c, 0x61, 0x74, 0x74, + 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x18, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x74, + 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x61, 0x74, 0x74, 0x65, 0x73, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x30, 0x0a, 0x08, 0x64, 0x65, 0x70, 0x6f, 0x73, + 0x69, 0x74, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x78, 0x61, 0x74, 0x75, + 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x52, + 0x08, 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x73, 0x12, 0x4a, 0x0a, 0x0f, 0x76, 0x6f, 0x6c, + 0x75, 0x6e, 0x74, 0x61, 0x72, 0x79, 0x5f, 0x65, 0x78, 0x69, 0x74, 0x73, 0x18, 0x08, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, + 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x56, 0x6f, 0x6c, 0x75, 0x6e, 0x74, 0x61, 0x72, 0x79, + 0x45, 0x78, 0x69, 0x74, 0x52, 0x0f, 0x76, 0x6f, 0x6c, 0x75, 0x6e, 0x74, 0x61, 0x72, 0x79, 0x5f, + 0x65, 0x78, 0x69, 0x74, 0x73, 0x22, 0xb2, 0x01, 0x0a, 0x10, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, + 0x65, 0x72, 0x53, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x12, 0x4e, 0x0a, 0x0f, 0x73, 0x69, + 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x31, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, + 0x31, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, + 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x0f, 0x73, 0x69, 0x67, 0x6e, 0x65, + 0x64, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x31, 0x12, 0x4e, 0x0a, 0x0f, 0x73, 0x69, + 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x32, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, + 0x31, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, + 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x0f, 0x73, 0x69, 0x67, 0x6e, 0x65, + 0x64, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x32, 0x22, 0xa0, 0x01, 0x0a, 0x10, 0x41, + 0x74, 0x74, 0x65, 0x73, 0x74, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x12, + 0x45, 0x0a, 0x0d, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x31, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, + 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x65, 0x64, 0x41, 0x74, 0x74, 0x65, + 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x31, 0x12, 0x45, 0x0a, 0x0d, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x32, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x65, 0x64, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, - 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x31, 0x12, 0x45, 0x0a, - 0x0d, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x32, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, - 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x65, 0x64, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x32, 0x22, 0xdd, 0x01, 0x0a, 0x07, 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, - 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x6f, 0x6f, 0x66, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, - 0x05, 0x70, 0x72, 0x6f, 0x6f, 0x66, 0x12, 0x2d, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, - 0x76, 0x31, 0x2e, 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x52, - 0x04, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x8c, 0x01, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x12, 0x16, - 0x0a, 0x06, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, - 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x12, 0x36, 0x0a, 0x16, 0x77, 0x69, 0x74, 0x68, 0x64, 0x72, - 0x61, 0x77, 0x61, 0x6c, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x16, 0x77, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, - 0x61, 0x6c, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x16, - 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, - 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, - 0x75, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, - 0x74, 0x75, 0x72, 0x65, 0x22, 0x4f, 0x0a, 0x0d, 0x56, 0x6f, 0x6c, 0x75, 0x6e, 0x74, 0x61, 0x72, - 0x79, 0x45, 0x78, 0x69, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x28, 0x0a, 0x0f, 0x76, - 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x0f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, - 0x69, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x69, 0x0a, 0x13, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x56, - 0x6f, 0x6c, 0x75, 0x6e, 0x74, 0x61, 0x72, 0x79, 0x45, 0x78, 0x69, 0x74, 0x12, 0x34, 0x0a, 0x07, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, - 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x6f, 0x6c, 0x75, - 0x6e, 0x74, 0x61, 0x72, 0x79, 0x45, 0x78, 0x69, 0x74, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, - 0x22, 0x73, 0x0a, 0x08, 0x45, 0x74, 0x68, 0x31, 0x44, 0x61, 0x74, 0x61, 0x12, 0x22, 0x0a, 0x0c, - 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0c, 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x5f, 0x72, 0x6f, 0x6f, 0x74, - 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, - 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, - 0x61, 0x73, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, - 0x5f, 0x68, 0x61, 0x73, 0x68, 0x22, 0xab, 0x01, 0x0a, 0x11, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, - 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x73, - 0x6c, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, - 0x22, 0x0a, 0x0e, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, - 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, - 0x61, 0x73, 0x68, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x6f, - 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, - 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x72, - 0x6f, 0x6f, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, - 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x62, 0x6f, 0x64, 0x79, 0x5f, 0x72, 0x6f, - 0x6f, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x62, 0x6f, 0x64, 0x79, 0x5f, 0x72, - 0x6f, 0x6f, 0x74, 0x22, 0x71, 0x0a, 0x17, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x42, 0x65, 0x61, - 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x38, - 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1e, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x65, - 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, - 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, - 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, - 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0x92, 0x01, 0x0a, 0x12, 0x49, 0x6e, 0x64, 0x65, 0x78, - 0x65, 0x64, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2c, 0x0a, - 0x11, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x64, 0x69, 0x63, - 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x04, 0x52, 0x11, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, - 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x64, 0x69, 0x63, 0x65, 0x73, 0x12, 0x30, 0x0a, 0x04, 0x64, - 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x78, 0x61, 0x74, 0x75, - 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1c, 0x0a, - 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0x7d, 0x0a, 0x0d, 0x53, - 0x79, 0x6e, 0x63, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x12, 0x30, 0x0a, 0x13, - 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x5f, 0x62, - 0x69, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x73, 0x79, 0x6e, 0x63, 0x5f, - 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x5f, 0x62, 0x69, 0x74, 0x73, 0x12, 0x3a, - 0x0a, 0x18, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, - 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x18, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, - 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x42, 0x2e, 0x5a, 0x2c, 0x67, 0x69, - 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x74, 0x68, 0x70, 0x61, 0x6e, 0x64, - 0x61, 0x6f, 0x70, 0x73, 0x2f, 0x78, 0x61, 0x74, 0x75, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x74, 0x68, 0x2f, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x33, + 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x32, 0x22, 0xdd, 0x01, + 0x0a, 0x07, 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x6f, + 0x6f, 0x66, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x70, 0x72, 0x6f, 0x6f, 0x66, 0x12, + 0x2d, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, + 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x70, 0x6f, + 0x73, 0x69, 0x74, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x8c, + 0x01, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x75, 0x62, 0x6b, 0x65, + 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x12, + 0x36, 0x0a, 0x16, 0x77, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x61, 0x6c, 0x5f, 0x63, 0x72, + 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x16, 0x77, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x61, 0x6c, 0x5f, 0x63, 0x72, 0x65, 0x64, + 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, + 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, + 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0x4f, 0x0a, + 0x0d, 0x56, 0x6f, 0x6c, 0x75, 0x6e, 0x74, 0x61, 0x72, 0x79, 0x45, 0x78, 0x69, 0x74, 0x12, 0x14, + 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x65, + 0x70, 0x6f, 0x63, 0x68, 0x12, 0x28, 0x0a, 0x0f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, + 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0f, 0x76, + 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x69, + 0x0a, 0x13, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x56, 0x6f, 0x6c, 0x75, 0x6e, 0x74, 0x61, 0x72, + 0x79, 0x45, 0x78, 0x69, 0x74, 0x12, 0x34, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, + 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x6f, 0x6c, 0x75, 0x6e, 0x74, 0x61, 0x72, 0x79, 0x45, 0x78, + 0x69, 0x74, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73, + 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0x73, 0x0a, 0x08, 0x45, 0x74, 0x68, + 0x31, 0x44, 0x61, 0x74, 0x61, 0x12, 0x22, 0x0a, 0x0c, 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, + 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x65, 0x70, + 0x6f, 0x73, 0x69, 0x74, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x65, 0x70, + 0x6f, 0x73, 0x69, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x0c, 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1e, + 0x0a, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x22, 0xab, + 0x01, 0x0a, 0x11, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, + 0x61, 0x64, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x22, 0x0a, 0x0e, 0x70, 0x72, 0x6f, 0x70, + 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x12, 0x20, 0x0a, 0x0b, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x1e, + 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x1c, + 0x0a, 0x09, 0x62, 0x6f, 0x64, 0x79, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x62, 0x6f, 0x64, 0x79, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x22, 0x71, 0x0a, 0x17, + 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, + 0x6b, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x38, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, + 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, + 0x63, 0x6b, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, + 0x92, 0x01, 0x0a, 0x12, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x65, 0x64, 0x41, 0x74, 0x74, 0x65, 0x73, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2c, 0x0a, 0x11, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, + 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x64, 0x69, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x04, 0x52, 0x11, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x64, + 0x69, 0x63, 0x65, 0x73, 0x12, 0x30, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, + 0x2e, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, + 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, + 0x74, 0x75, 0x72, 0x65, 0x22, 0x7d, 0x0a, 0x0d, 0x53, 0x79, 0x6e, 0x63, 0x41, 0x67, 0x67, 0x72, + 0x65, 0x67, 0x61, 0x74, 0x65, 0x12, 0x30, 0x0a, 0x13, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x63, 0x6f, + 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x5f, 0x62, 0x69, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x13, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, + 0x65, 0x65, 0x5f, 0x62, 0x69, 0x74, 0x73, 0x12, 0x3a, 0x0a, 0x18, 0x73, 0x79, 0x6e, 0x63, 0x5f, + 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x18, 0x73, 0x79, 0x6e, 0x63, 0x5f, + 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x42, 0x2e, 0x5a, 0x2c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x65, 0x74, 0x68, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x70, 0x73, 0x2f, 0x78, 0x61, + 0x74, 0x75, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x74, 0x68, + 0x2f, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -1121,50 +1248,54 @@ func file_pkg_proto_eth_v1_beacon_block_proto_rawDescGZIP() []byte { return file_pkg_proto_eth_v1_beacon_block_proto_rawDescData } -var file_pkg_proto_eth_v1_beacon_block_proto_msgTypes = make([]protoimpl.MessageInfo, 14) +var file_pkg_proto_eth_v1_beacon_block_proto_msgTypes = make([]protoimpl.MessageInfo, 16) var file_pkg_proto_eth_v1_beacon_block_proto_goTypes = []interface{}{ (*BeaconBlock)(nil), // 0: xatu.eth.v1.BeaconBlock - (*SignedBeaconBlock)(nil), // 1: xatu.eth.v1.SignedBeaconBlock - (*BeaconBlockBody)(nil), // 2: xatu.eth.v1.BeaconBlockBody - (*ProposerSlashing)(nil), // 3: xatu.eth.v1.ProposerSlashing - (*AttesterSlashing)(nil), // 4: xatu.eth.v1.AttesterSlashing - (*Deposit)(nil), // 5: xatu.eth.v1.Deposit - (*VoluntaryExit)(nil), // 6: xatu.eth.v1.VoluntaryExit - (*SignedVoluntaryExit)(nil), // 7: xatu.eth.v1.SignedVoluntaryExit - (*Eth1Data)(nil), // 8: xatu.eth.v1.Eth1Data - (*BeaconBlockHeader)(nil), // 9: xatu.eth.v1.BeaconBlockHeader - (*SignedBeaconBlockHeader)(nil), // 10: xatu.eth.v1.SignedBeaconBlockHeader - (*IndexedAttestation)(nil), // 11: xatu.eth.v1.IndexedAttestation - (*SyncAggregate)(nil), // 12: xatu.eth.v1.SyncAggregate - (*Deposit_Data)(nil), // 13: xatu.eth.v1.Deposit.Data - (*wrapperspb.UInt64Value)(nil), // 14: google.protobuf.UInt64Value - (*Attestation)(nil), // 15: xatu.eth.v1.Attestation - (*AttestationData)(nil), // 16: xatu.eth.v1.AttestationData + (*BeaconBlockV2)(nil), // 1: xatu.eth.v1.BeaconBlockV2 + (*SignedBeaconBlock)(nil), // 2: xatu.eth.v1.SignedBeaconBlock + (*SignedBeaconBlockV2)(nil), // 3: xatu.eth.v1.SignedBeaconBlockV2 + (*BeaconBlockBody)(nil), // 4: xatu.eth.v1.BeaconBlockBody + (*ProposerSlashing)(nil), // 5: xatu.eth.v1.ProposerSlashing + (*AttesterSlashing)(nil), // 6: xatu.eth.v1.AttesterSlashing + (*Deposit)(nil), // 7: xatu.eth.v1.Deposit + (*VoluntaryExit)(nil), // 8: xatu.eth.v1.VoluntaryExit + (*SignedVoluntaryExit)(nil), // 9: xatu.eth.v1.SignedVoluntaryExit + (*Eth1Data)(nil), // 10: xatu.eth.v1.Eth1Data + (*BeaconBlockHeader)(nil), // 11: xatu.eth.v1.BeaconBlockHeader + (*SignedBeaconBlockHeader)(nil), // 12: xatu.eth.v1.SignedBeaconBlockHeader + (*IndexedAttestation)(nil), // 13: xatu.eth.v1.IndexedAttestation + (*SyncAggregate)(nil), // 14: xatu.eth.v1.SyncAggregate + (*Deposit_Data)(nil), // 15: xatu.eth.v1.Deposit.Data + (*wrapperspb.UInt64Value)(nil), // 16: google.protobuf.UInt64Value + (*Attestation)(nil), // 17: xatu.eth.v1.Attestation + (*AttestationData)(nil), // 18: xatu.eth.v1.AttestationData } var file_pkg_proto_eth_v1_beacon_block_proto_depIdxs = []int32{ - 2, // 0: xatu.eth.v1.BeaconBlock.body:type_name -> xatu.eth.v1.BeaconBlockBody - 14, // 1: xatu.eth.v1.BeaconBlock.slot_v2:type_name -> google.protobuf.UInt64Value - 14, // 2: xatu.eth.v1.BeaconBlock.proposer_index_v2:type_name -> google.protobuf.UInt64Value - 0, // 3: xatu.eth.v1.SignedBeaconBlock.block:type_name -> xatu.eth.v1.BeaconBlock - 8, // 4: xatu.eth.v1.BeaconBlockBody.eth1_data:type_name -> xatu.eth.v1.Eth1Data - 3, // 5: xatu.eth.v1.BeaconBlockBody.proposer_slashings:type_name -> xatu.eth.v1.ProposerSlashing - 4, // 6: xatu.eth.v1.BeaconBlockBody.attester_slashings:type_name -> xatu.eth.v1.AttesterSlashing - 15, // 7: xatu.eth.v1.BeaconBlockBody.attestations:type_name -> xatu.eth.v1.Attestation - 5, // 8: xatu.eth.v1.BeaconBlockBody.deposits:type_name -> xatu.eth.v1.Deposit - 7, // 9: xatu.eth.v1.BeaconBlockBody.voluntary_exits:type_name -> xatu.eth.v1.SignedVoluntaryExit - 10, // 10: xatu.eth.v1.ProposerSlashing.signed_header_1:type_name -> xatu.eth.v1.SignedBeaconBlockHeader - 10, // 11: xatu.eth.v1.ProposerSlashing.signed_header_2:type_name -> xatu.eth.v1.SignedBeaconBlockHeader - 11, // 12: xatu.eth.v1.AttesterSlashing.attestation_1:type_name -> xatu.eth.v1.IndexedAttestation - 11, // 13: xatu.eth.v1.AttesterSlashing.attestation_2:type_name -> xatu.eth.v1.IndexedAttestation - 13, // 14: xatu.eth.v1.Deposit.data:type_name -> xatu.eth.v1.Deposit.Data - 6, // 15: xatu.eth.v1.SignedVoluntaryExit.message:type_name -> xatu.eth.v1.VoluntaryExit - 9, // 16: xatu.eth.v1.SignedBeaconBlockHeader.message:type_name -> xatu.eth.v1.BeaconBlockHeader - 16, // 17: xatu.eth.v1.IndexedAttestation.data:type_name -> xatu.eth.v1.AttestationData - 18, // [18:18] is the sub-list for method output_type - 18, // [18:18] is the sub-list for method input_type - 18, // [18:18] is the sub-list for extension type_name - 18, // [18:18] is the sub-list for extension extendee - 0, // [0:18] is the sub-list for field type_name + 4, // 0: xatu.eth.v1.BeaconBlock.body:type_name -> xatu.eth.v1.BeaconBlockBody + 16, // 1: xatu.eth.v1.BeaconBlockV2.slot:type_name -> google.protobuf.UInt64Value + 16, // 2: xatu.eth.v1.BeaconBlockV2.proposer_index:type_name -> google.protobuf.UInt64Value + 4, // 3: xatu.eth.v1.BeaconBlockV2.body:type_name -> xatu.eth.v1.BeaconBlockBody + 0, // 4: xatu.eth.v1.SignedBeaconBlock.block:type_name -> xatu.eth.v1.BeaconBlock + 1, // 5: xatu.eth.v1.SignedBeaconBlockV2.block:type_name -> xatu.eth.v1.BeaconBlockV2 + 10, // 6: xatu.eth.v1.BeaconBlockBody.eth1_data:type_name -> xatu.eth.v1.Eth1Data + 5, // 7: xatu.eth.v1.BeaconBlockBody.proposer_slashings:type_name -> xatu.eth.v1.ProposerSlashing + 6, // 8: xatu.eth.v1.BeaconBlockBody.attester_slashings:type_name -> xatu.eth.v1.AttesterSlashing + 17, // 9: xatu.eth.v1.BeaconBlockBody.attestations:type_name -> xatu.eth.v1.Attestation + 7, // 10: xatu.eth.v1.BeaconBlockBody.deposits:type_name -> xatu.eth.v1.Deposit + 9, // 11: xatu.eth.v1.BeaconBlockBody.voluntary_exits:type_name -> xatu.eth.v1.SignedVoluntaryExit + 12, // 12: xatu.eth.v1.ProposerSlashing.signed_header_1:type_name -> xatu.eth.v1.SignedBeaconBlockHeader + 12, // 13: xatu.eth.v1.ProposerSlashing.signed_header_2:type_name -> xatu.eth.v1.SignedBeaconBlockHeader + 13, // 14: xatu.eth.v1.AttesterSlashing.attestation_1:type_name -> xatu.eth.v1.IndexedAttestation + 13, // 15: xatu.eth.v1.AttesterSlashing.attestation_2:type_name -> xatu.eth.v1.IndexedAttestation + 15, // 16: xatu.eth.v1.Deposit.data:type_name -> xatu.eth.v1.Deposit.Data + 8, // 17: xatu.eth.v1.SignedVoluntaryExit.message:type_name -> xatu.eth.v1.VoluntaryExit + 11, // 18: xatu.eth.v1.SignedBeaconBlockHeader.message:type_name -> xatu.eth.v1.BeaconBlockHeader + 18, // 19: xatu.eth.v1.IndexedAttestation.data:type_name -> xatu.eth.v1.AttestationData + 20, // [20:20] is the sub-list for method output_type + 20, // [20:20] is the sub-list for method input_type + 20, // [20:20] is the sub-list for extension type_name + 20, // [20:20] is the sub-list for extension extendee + 0, // [0:20] is the sub-list for field type_name } func init() { file_pkg_proto_eth_v1_beacon_block_proto_init() } @@ -1187,7 +1318,7 @@ func file_pkg_proto_eth_v1_beacon_block_proto_init() { } } file_pkg_proto_eth_v1_beacon_block_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SignedBeaconBlock); i { + switch v := v.(*BeaconBlockV2); i { case 0: return &v.state case 1: @@ -1199,7 +1330,7 @@ func file_pkg_proto_eth_v1_beacon_block_proto_init() { } } file_pkg_proto_eth_v1_beacon_block_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BeaconBlockBody); i { + switch v := v.(*SignedBeaconBlock); i { case 0: return &v.state case 1: @@ -1211,7 +1342,7 @@ func file_pkg_proto_eth_v1_beacon_block_proto_init() { } } file_pkg_proto_eth_v1_beacon_block_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ProposerSlashing); i { + switch v := v.(*SignedBeaconBlockV2); i { case 0: return &v.state case 1: @@ -1223,7 +1354,7 @@ func file_pkg_proto_eth_v1_beacon_block_proto_init() { } } file_pkg_proto_eth_v1_beacon_block_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AttesterSlashing); i { + switch v := v.(*BeaconBlockBody); i { case 0: return &v.state case 1: @@ -1235,7 +1366,7 @@ func file_pkg_proto_eth_v1_beacon_block_proto_init() { } } file_pkg_proto_eth_v1_beacon_block_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Deposit); i { + switch v := v.(*ProposerSlashing); i { case 0: return &v.state case 1: @@ -1247,7 +1378,7 @@ func file_pkg_proto_eth_v1_beacon_block_proto_init() { } } file_pkg_proto_eth_v1_beacon_block_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*VoluntaryExit); i { + switch v := v.(*AttesterSlashing); i { case 0: return &v.state case 1: @@ -1259,7 +1390,7 @@ func file_pkg_proto_eth_v1_beacon_block_proto_init() { } } file_pkg_proto_eth_v1_beacon_block_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SignedVoluntaryExit); i { + switch v := v.(*Deposit); i { case 0: return &v.state case 1: @@ -1271,7 +1402,7 @@ func file_pkg_proto_eth_v1_beacon_block_proto_init() { } } file_pkg_proto_eth_v1_beacon_block_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Eth1Data); i { + switch v := v.(*VoluntaryExit); i { case 0: return &v.state case 1: @@ -1283,7 +1414,7 @@ func file_pkg_proto_eth_v1_beacon_block_proto_init() { } } file_pkg_proto_eth_v1_beacon_block_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BeaconBlockHeader); i { + switch v := v.(*SignedVoluntaryExit); i { case 0: return &v.state case 1: @@ -1295,7 +1426,7 @@ func file_pkg_proto_eth_v1_beacon_block_proto_init() { } } file_pkg_proto_eth_v1_beacon_block_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SignedBeaconBlockHeader); i { + switch v := v.(*Eth1Data); i { case 0: return &v.state case 1: @@ -1307,7 +1438,7 @@ func file_pkg_proto_eth_v1_beacon_block_proto_init() { } } file_pkg_proto_eth_v1_beacon_block_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*IndexedAttestation); i { + switch v := v.(*BeaconBlockHeader); i { case 0: return &v.state case 1: @@ -1319,7 +1450,7 @@ func file_pkg_proto_eth_v1_beacon_block_proto_init() { } } file_pkg_proto_eth_v1_beacon_block_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SyncAggregate); i { + switch v := v.(*SignedBeaconBlockHeader); i { case 0: return &v.state case 1: @@ -1331,6 +1462,30 @@ func file_pkg_proto_eth_v1_beacon_block_proto_init() { } } file_pkg_proto_eth_v1_beacon_block_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*IndexedAttestation); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_proto_eth_v1_beacon_block_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SyncAggregate); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_proto_eth_v1_beacon_block_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Deposit_Data); i { case 0: return &v.state @@ -1349,7 +1504,7 @@ func file_pkg_proto_eth_v1_beacon_block_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_pkg_proto_eth_v1_beacon_block_proto_rawDesc, NumEnums: 0, - NumMessages: 14, + NumMessages: 16, NumExtensions: 0, NumServices: 0, }, diff --git a/pkg/proto/eth/v1/beacon_block.proto b/pkg/proto/eth/v1/beacon_block.proto index 4a79a912..f8449961 100644 --- a/pkg/proto/eth/v1/beacon_block.proto +++ b/pkg/proto/eth/v1/beacon_block.proto @@ -12,19 +12,28 @@ import "google/protobuf/descriptor.proto"; import "pkg/proto/eth/v1/attestation.proto"; message BeaconBlock { - uint64 slot = 1 [ deprecated=true ]; + uint64 slot = 1; - uint64 proposer_index = 2 [ json_name = "proposer_index", deprecated=true ]; + uint64 proposer_index = 2 [ json_name = "proposer_index" ]; string parent_root = 3 [ json_name = "parent_root" ]; string state_root = 4 [ json_name = "state_root" ]; BeaconBlockBody body = 5; +} + +message BeaconBlockV2 { + google.protobuf.UInt64Value slot = 1 [ json_name = "slot" ]; + + google.protobuf.UInt64Value proposer_index = 2 + [ json_name = "proposer_index" ]; + + string parent_root = 3 [ json_name = "parent_root" ]; - google.protobuf.UInt64Value slot_v2 = 6 [ json_name = "slot_v2" ]; + string state_root = 4 [ json_name = "state_root" ]; - google.protobuf.UInt64Value proposer_index_v2 = 7 [ json_name = "proposer_index_v2" ]; + BeaconBlockBody body = 5; } message SignedBeaconBlock { @@ -33,6 +42,12 @@ message SignedBeaconBlock { string signature = 2; } +message SignedBeaconBlockV2 { + BeaconBlockV2 block = 1; + + string signature = 2; +} + message BeaconBlockBody { string randao_reveal = 1 [ json_name = "randao_reveal" ]; diff --git a/pkg/proto/eth/v1/checkpoint.pb.go b/pkg/proto/eth/v1/checkpoint.pb.go index 99095ae7..a17fcb25 100644 --- a/pkg/proto/eth/v1/checkpoint.pb.go +++ b/pkg/proto/eth/v1/checkpoint.pb.go @@ -4,7 +4,8 @@ // protoc v4.23.4 // source: pkg/proto/eth/v1/checkpoint.proto -// Note: largely inspired by https://github.com/prysmaticlabs/prysm/tree/develop/proto/eth/v1 +// Note: largely inspired by +// https://github.com/prysmaticlabs/prysm/tree/develop/proto/eth/v1 package v1 @@ -29,10 +30,8 @@ type Checkpoint struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Deprecated: Marked as deprecated in pkg/proto/eth/v1/checkpoint.proto. - Epoch uint64 `protobuf:"varint,1,opt,name=epoch,proto3" json:"epoch,omitempty"` - Root string `protobuf:"bytes,2,opt,name=root,proto3" json:"root,omitempty"` - EpochV2 *wrapperspb.UInt64Value `protobuf:"bytes,3,opt,name=epoch_v2,proto3" json:"epoch_v2,omitempty"` + Epoch uint64 `protobuf:"varint,1,opt,name=epoch,proto3" json:"epoch,omitempty"` + Root string `protobuf:"bytes,2,opt,name=root,proto3" json:"root,omitempty"` } func (x *Checkpoint) Reset() { @@ -67,7 +66,6 @@ func (*Checkpoint) Descriptor() ([]byte, []int) { return file_pkg_proto_eth_v1_checkpoint_proto_rawDescGZIP(), []int{0} } -// Deprecated: Marked as deprecated in pkg/proto/eth/v1/checkpoint.proto. func (x *Checkpoint) GetEpoch() uint64 { if x != nil { return x.Epoch @@ -82,13 +80,61 @@ func (x *Checkpoint) GetRoot() string { return "" } -func (x *Checkpoint) GetEpochV2() *wrapperspb.UInt64Value { +type CheckpointV2 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Epoch *wrapperspb.UInt64Value `protobuf:"bytes,1,opt,name=epoch,proto3" json:"epoch,omitempty"` + Root string `protobuf:"bytes,2,opt,name=root,proto3" json:"root,omitempty"` +} + +func (x *CheckpointV2) Reset() { + *x = CheckpointV2{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_eth_v1_checkpoint_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CheckpointV2) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CheckpointV2) ProtoMessage() {} + +func (x *CheckpointV2) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_eth_v1_checkpoint_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CheckpointV2.ProtoReflect.Descriptor instead. +func (*CheckpointV2) Descriptor() ([]byte, []int) { + return file_pkg_proto_eth_v1_checkpoint_proto_rawDescGZIP(), []int{1} +} + +func (x *CheckpointV2) GetEpoch() *wrapperspb.UInt64Value { if x != nil { - return x.EpochV2 + return x.Epoch } return nil } +func (x *CheckpointV2) GetRoot() string { + if x != nil { + return x.Root + } + return "" +} + var File_pkg_proto_eth_v1_checkpoint_proto protoreflect.FileDescriptor var file_pkg_proto_eth_v1_checkpoint_proto_rawDesc = []byte{ @@ -99,17 +145,19 @@ var file_pkg_proto_eth_v1_checkpoint_proto_rawDesc = []byte{ 0x66, 0x2f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x22, 0x74, 0x0a, 0x0a, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x12, 0x18, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x42, - 0x02, 0x18, 0x01, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, - 0x6f, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x38, - 0x0a, 0x08, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x5f, 0x76, 0x32, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, - 0x65, 0x70, 0x6f, 0x63, 0x68, 0x5f, 0x76, 0x32, 0x42, 0x2e, 0x5a, 0x2c, 0x67, 0x69, 0x74, 0x68, - 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x74, 0x68, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x6f, - 0x70, 0x73, 0x2f, 0x78, 0x61, 0x74, 0x75, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x2f, 0x65, 0x74, 0x68, 0x2f, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x74, 0x6f, 0x22, 0x36, 0x0a, 0x0a, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x12, 0x14, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x6f, 0x6f, 0x74, 0x22, 0x56, 0x0a, 0x0c, 0x43, 0x68, + 0x65, 0x63, 0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x56, 0x32, 0x12, 0x32, 0x0a, 0x05, 0x65, 0x70, + 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, + 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x12, + 0x0a, 0x04, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x6f, + 0x6f, 0x74, 0x42, 0x2e, 0x5a, 0x2c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x65, 0x74, 0x68, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x70, 0x73, 0x2f, 0x78, 0x61, 0x74, + 0x75, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x74, 0x68, 0x2f, + 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -124,13 +172,14 @@ func file_pkg_proto_eth_v1_checkpoint_proto_rawDescGZIP() []byte { return file_pkg_proto_eth_v1_checkpoint_proto_rawDescData } -var file_pkg_proto_eth_v1_checkpoint_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_pkg_proto_eth_v1_checkpoint_proto_msgTypes = make([]protoimpl.MessageInfo, 2) var file_pkg_proto_eth_v1_checkpoint_proto_goTypes = []interface{}{ (*Checkpoint)(nil), // 0: xatu.eth.v1.Checkpoint - (*wrapperspb.UInt64Value)(nil), // 1: google.protobuf.UInt64Value + (*CheckpointV2)(nil), // 1: xatu.eth.v1.CheckpointV2 + (*wrapperspb.UInt64Value)(nil), // 2: google.protobuf.UInt64Value } var file_pkg_proto_eth_v1_checkpoint_proto_depIdxs = []int32{ - 1, // 0: xatu.eth.v1.Checkpoint.epoch_v2:type_name -> google.protobuf.UInt64Value + 2, // 0: xatu.eth.v1.CheckpointV2.epoch:type_name -> google.protobuf.UInt64Value 1, // [1:1] is the sub-list for method output_type 1, // [1:1] is the sub-list for method input_type 1, // [1:1] is the sub-list for extension type_name @@ -156,6 +205,18 @@ func file_pkg_proto_eth_v1_checkpoint_proto_init() { return nil } } + file_pkg_proto_eth_v1_checkpoint_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CheckpointV2); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } type x struct{} out := protoimpl.TypeBuilder{ @@ -163,7 +224,7 @@ func file_pkg_proto_eth_v1_checkpoint_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_pkg_proto_eth_v1_checkpoint_proto_rawDesc, NumEnums: 0, - NumMessages: 1, + NumMessages: 2, NumExtensions: 0, NumServices: 0, }, diff --git a/pkg/proto/eth/v1/checkpoint.proto b/pkg/proto/eth/v1/checkpoint.proto index c804a857..63201cdb 100644 --- a/pkg/proto/eth/v1/checkpoint.proto +++ b/pkg/proto/eth/v1/checkpoint.proto @@ -1,6 +1,7 @@ syntax = "proto3"; -// Note: largely inspired by https://github.com/prysmaticlabs/prysm/tree/develop/proto/eth/v1 +// Note: largely inspired by +// https://github.com/prysmaticlabs/prysm/tree/develop/proto/eth/v1 package xatu.eth.v1; @@ -10,9 +11,13 @@ import "google/protobuf/descriptor.proto"; import "google/protobuf/wrappers.proto"; message Checkpoint { - uint64 epoch = 1 [ deprecated=true ]; + uint64 epoch = 1; string root = 2; +} + +message CheckpointV2 { + google.protobuf.UInt64Value epoch = 1; - google.protobuf.UInt64Value epoch_v2 = 3 [ json_name = "epoch_v2" ]; + string root = 2; } diff --git a/pkg/proto/eth/v1/events.pb.go b/pkg/proto/eth/v1/events.pb.go index 6ffd4e54..14a7ad96 100644 --- a/pkg/proto/eth/v1/events.pb.go +++ b/pkg/proto/eth/v1/events.pb.go @@ -30,14 +30,12 @@ type EventHead struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Deprecated: Marked as deprecated in pkg/proto/eth/v1/events.proto. - Slot uint64 `protobuf:"varint,1,opt,name=slot,proto3" json:"slot,omitempty"` - Block string `protobuf:"bytes,2,opt,name=block,proto3" json:"block,omitempty"` - State string `protobuf:"bytes,3,opt,name=state,proto3" json:"state,omitempty"` - EpochTransition bool `protobuf:"varint,4,opt,name=epoch_transition,proto3" json:"epoch_transition,omitempty"` - PreviousDutyDependentRoot string `protobuf:"bytes,5,opt,name=previous_duty_dependent_root,proto3" json:"previous_duty_dependent_root,omitempty"` - CurrentDutyDependentRoot string `protobuf:"bytes,6,opt,name=current_duty_dependent_root,proto3" json:"current_duty_dependent_root,omitempty"` - SlotV2 *wrapperspb.UInt64Value `protobuf:"bytes,7,opt,name=slot_v2,proto3" json:"slot_v2,omitempty"` + Slot uint64 `protobuf:"varint,1,opt,name=slot,proto3" json:"slot,omitempty"` + Block string `protobuf:"bytes,2,opt,name=block,proto3" json:"block,omitempty"` + State string `protobuf:"bytes,3,opt,name=state,proto3" json:"state,omitempty"` + EpochTransition bool `protobuf:"varint,4,opt,name=epoch_transition,proto3" json:"epoch_transition,omitempty"` + PreviousDutyDependentRoot string `protobuf:"bytes,5,opt,name=previous_duty_dependent_root,proto3" json:"previous_duty_dependent_root,omitempty"` + CurrentDutyDependentRoot string `protobuf:"bytes,6,opt,name=current_duty_dependent_root,proto3" json:"current_duty_dependent_root,omitempty"` } func (x *EventHead) Reset() { @@ -72,7 +70,6 @@ func (*EventHead) Descriptor() ([]byte, []int) { return file_pkg_proto_eth_v1_events_proto_rawDescGZIP(), []int{0} } -// Deprecated: Marked as deprecated in pkg/proto/eth/v1/events.proto. func (x *EventHead) GetSlot() uint64 { if x != nil { return x.Slot @@ -115,29 +112,107 @@ func (x *EventHead) GetCurrentDutyDependentRoot() string { return "" } -func (x *EventHead) GetSlotV2() *wrapperspb.UInt64Value { +type EventHeadV2 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Slot *wrapperspb.UInt64Value `protobuf:"bytes,1,opt,name=slot,proto3" json:"slot,omitempty"` + Block string `protobuf:"bytes,2,opt,name=block,proto3" json:"block,omitempty"` + State string `protobuf:"bytes,3,opt,name=state,proto3" json:"state,omitempty"` + EpochTransition bool `protobuf:"varint,4,opt,name=epoch_transition,proto3" json:"epoch_transition,omitempty"` + PreviousDutyDependentRoot string `protobuf:"bytes,5,opt,name=previous_duty_dependent_root,proto3" json:"previous_duty_dependent_root,omitempty"` + CurrentDutyDependentRoot string `protobuf:"bytes,6,opt,name=current_duty_dependent_root,proto3" json:"current_duty_dependent_root,omitempty"` +} + +func (x *EventHeadV2) Reset() { + *x = EventHeadV2{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_eth_v1_events_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EventHeadV2) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EventHeadV2) ProtoMessage() {} + +func (x *EventHeadV2) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_eth_v1_events_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EventHeadV2.ProtoReflect.Descriptor instead. +func (*EventHeadV2) Descriptor() ([]byte, []int) { + return file_pkg_proto_eth_v1_events_proto_rawDescGZIP(), []int{1} +} + +func (x *EventHeadV2) GetSlot() *wrapperspb.UInt64Value { if x != nil { - return x.SlotV2 + return x.Slot } return nil } +func (x *EventHeadV2) GetBlock() string { + if x != nil { + return x.Block + } + return "" +} + +func (x *EventHeadV2) GetState() string { + if x != nil { + return x.State + } + return "" +} + +func (x *EventHeadV2) GetEpochTransition() bool { + if x != nil { + return x.EpochTransition + } + return false +} + +func (x *EventHeadV2) GetPreviousDutyDependentRoot() string { + if x != nil { + return x.PreviousDutyDependentRoot + } + return "" +} + +func (x *EventHeadV2) GetCurrentDutyDependentRoot() string { + if x != nil { + return x.CurrentDutyDependentRoot + } + return "" +} + type EventBlock struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Deprecated: Marked as deprecated in pkg/proto/eth/v1/events.proto. - Slot uint64 `protobuf:"varint,1,opt,name=slot,proto3" json:"slot,omitempty"` - Block string `protobuf:"bytes,2,opt,name=block,proto3" json:"block,omitempty"` - ExecutionOptimistic bool `protobuf:"varint,3,opt,name=execution_optimistic,proto3" json:"execution_optimistic,omitempty"` - SlotV2 *wrapperspb.UInt64Value `protobuf:"bytes,4,opt,name=slot_v2,proto3" json:"slot_v2,omitempty"` + Slot uint64 `protobuf:"varint,1,opt,name=slot,proto3" json:"slot,omitempty"` + Block string `protobuf:"bytes,2,opt,name=block,proto3" json:"block,omitempty"` + ExecutionOptimistic bool `protobuf:"varint,3,opt,name=execution_optimistic,proto3" json:"execution_optimistic,omitempty"` } func (x *EventBlock) Reset() { *x = EventBlock{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_eth_v1_events_proto_msgTypes[1] + mi := &file_pkg_proto_eth_v1_events_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -150,7 +225,7 @@ func (x *EventBlock) String() string { func (*EventBlock) ProtoMessage() {} func (x *EventBlock) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_eth_v1_events_proto_msgTypes[1] + mi := &file_pkg_proto_eth_v1_events_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -163,10 +238,9 @@ func (x *EventBlock) ProtoReflect() protoreflect.Message { // Deprecated: Use EventBlock.ProtoReflect.Descriptor instead. func (*EventBlock) Descriptor() ([]byte, []int) { - return file_pkg_proto_eth_v1_events_proto_rawDescGZIP(), []int{1} + return file_pkg_proto_eth_v1_events_proto_rawDescGZIP(), []int{2} } -// Deprecated: Marked as deprecated in pkg/proto/eth/v1/events.proto. func (x *EventBlock) GetSlot() uint64 { if x != nil { return x.Slot @@ -188,37 +262,87 @@ func (x *EventBlock) GetExecutionOptimistic() bool { return false } -func (x *EventBlock) GetSlotV2() *wrapperspb.UInt64Value { +type EventBlockV2 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Slot *wrapperspb.UInt64Value `protobuf:"bytes,1,opt,name=slot,proto3" json:"slot,omitempty"` + Block string `protobuf:"bytes,2,opt,name=block,proto3" json:"block,omitempty"` + ExecutionOptimistic bool `protobuf:"varint,3,opt,name=execution_optimistic,proto3" json:"execution_optimistic,omitempty"` +} + +func (x *EventBlockV2) Reset() { + *x = EventBlockV2{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_eth_v1_events_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EventBlockV2) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EventBlockV2) ProtoMessage() {} + +func (x *EventBlockV2) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_eth_v1_events_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EventBlockV2.ProtoReflect.Descriptor instead. +func (*EventBlockV2) Descriptor() ([]byte, []int) { + return file_pkg_proto_eth_v1_events_proto_rawDescGZIP(), []int{3} +} + +func (x *EventBlockV2) GetSlot() *wrapperspb.UInt64Value { if x != nil { - return x.SlotV2 + return x.Slot } return nil } +func (x *EventBlockV2) GetBlock() string { + if x != nil { + return x.Block + } + return "" +} + +func (x *EventBlockV2) GetExecutionOptimistic() bool { + if x != nil { + return x.ExecutionOptimistic + } + return false +} + type EventChainReorg struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Deprecated: Marked as deprecated in pkg/proto/eth/v1/events.proto. - Slot uint64 `protobuf:"varint,1,opt,name=slot,proto3" json:"slot,omitempty"` - // Deprecated: Marked as deprecated in pkg/proto/eth/v1/events.proto. + Slot uint64 `protobuf:"varint,1,opt,name=slot,proto3" json:"slot,omitempty"` Depth uint64 `protobuf:"varint,2,opt,name=depth,proto3" json:"depth,omitempty"` OldHeadBlock string `protobuf:"bytes,3,opt,name=old_head_block,proto3" json:"old_head_block,omitempty"` NewHeadBlock string `protobuf:"bytes,4,opt,name=new_head_block,proto3" json:"new_head_block,omitempty"` OldHeadState string `protobuf:"bytes,5,opt,name=old_head_state,proto3" json:"old_head_state,omitempty"` NewHeadState string `protobuf:"bytes,6,opt,name=new_head_state,proto3" json:"new_head_state,omitempty"` - // Deprecated: Marked as deprecated in pkg/proto/eth/v1/events.proto. - Epoch uint64 `protobuf:"varint,7,opt,name=epoch,proto3" json:"epoch,omitempty"` - SlotV2 *wrapperspb.UInt64Value `protobuf:"bytes,8,opt,name=slot_v2,proto3" json:"slot_v2,omitempty"` - DepthV2 *wrapperspb.UInt64Value `protobuf:"bytes,9,opt,name=depth_v2,proto3" json:"depth_v2,omitempty"` - EpochV2 *wrapperspb.UInt64Value `protobuf:"bytes,10,opt,name=epoch_v2,proto3" json:"epoch_v2,omitempty"` + Epoch uint64 `protobuf:"varint,7,opt,name=epoch,proto3" json:"epoch,omitempty"` } func (x *EventChainReorg) Reset() { *x = EventChainReorg{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_eth_v1_events_proto_msgTypes[2] + mi := &file_pkg_proto_eth_v1_events_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -231,7 +355,7 @@ func (x *EventChainReorg) String() string { func (*EventChainReorg) ProtoMessage() {} func (x *EventChainReorg) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_eth_v1_events_proto_msgTypes[2] + mi := &file_pkg_proto_eth_v1_events_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -244,10 +368,9 @@ func (x *EventChainReorg) ProtoReflect() protoreflect.Message { // Deprecated: Use EventChainReorg.ProtoReflect.Descriptor instead. func (*EventChainReorg) Descriptor() ([]byte, []int) { - return file_pkg_proto_eth_v1_events_proto_rawDescGZIP(), []int{2} + return file_pkg_proto_eth_v1_events_proto_rawDescGZIP(), []int{4} } -// Deprecated: Marked as deprecated in pkg/proto/eth/v1/events.proto. func (x *EventChainReorg) GetSlot() uint64 { if x != nil { return x.Slot @@ -255,7 +378,6 @@ func (x *EventChainReorg) GetSlot() uint64 { return 0 } -// Deprecated: Marked as deprecated in pkg/proto/eth/v1/events.proto. func (x *EventChainReorg) GetDepth() uint64 { if x != nil { return x.Depth @@ -291,7 +413,6 @@ func (x *EventChainReorg) GetNewHeadState() string { return "" } -// Deprecated: Marked as deprecated in pkg/proto/eth/v1/events.proto. func (x *EventChainReorg) GetEpoch() uint64 { if x != nil { return x.Epoch @@ -299,23 +420,97 @@ func (x *EventChainReorg) GetEpoch() uint64 { return 0 } -func (x *EventChainReorg) GetSlotV2() *wrapperspb.UInt64Value { +type EventChainReorgV2 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Slot *wrapperspb.UInt64Value `protobuf:"bytes,1,opt,name=slot,proto3" json:"slot,omitempty"` + Depth *wrapperspb.UInt64Value `protobuf:"bytes,2,opt,name=depth,proto3" json:"depth,omitempty"` + OldHeadBlock string `protobuf:"bytes,3,opt,name=old_head_block,proto3" json:"old_head_block,omitempty"` + NewHeadBlock string `protobuf:"bytes,4,opt,name=new_head_block,proto3" json:"new_head_block,omitempty"` + OldHeadState string `protobuf:"bytes,5,opt,name=old_head_state,proto3" json:"old_head_state,omitempty"` + NewHeadState string `protobuf:"bytes,6,opt,name=new_head_state,proto3" json:"new_head_state,omitempty"` + Epoch *wrapperspb.UInt64Value `protobuf:"bytes,7,opt,name=epoch,proto3" json:"epoch,omitempty"` +} + +func (x *EventChainReorgV2) Reset() { + *x = EventChainReorgV2{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_eth_v1_events_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EventChainReorgV2) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EventChainReorgV2) ProtoMessage() {} + +func (x *EventChainReorgV2) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_eth_v1_events_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EventChainReorgV2.ProtoReflect.Descriptor instead. +func (*EventChainReorgV2) Descriptor() ([]byte, []int) { + return file_pkg_proto_eth_v1_events_proto_rawDescGZIP(), []int{5} +} + +func (x *EventChainReorgV2) GetSlot() *wrapperspb.UInt64Value { if x != nil { - return x.SlotV2 + return x.Slot } return nil } -func (x *EventChainReorg) GetDepthV2() *wrapperspb.UInt64Value { +func (x *EventChainReorgV2) GetDepth() *wrapperspb.UInt64Value { if x != nil { - return x.DepthV2 + return x.Depth } return nil } -func (x *EventChainReorg) GetEpochV2() *wrapperspb.UInt64Value { +func (x *EventChainReorgV2) GetOldHeadBlock() string { + if x != nil { + return x.OldHeadBlock + } + return "" +} + +func (x *EventChainReorgV2) GetNewHeadBlock() string { + if x != nil { + return x.NewHeadBlock + } + return "" +} + +func (x *EventChainReorgV2) GetOldHeadState() string { + if x != nil { + return x.OldHeadState + } + return "" +} + +func (x *EventChainReorgV2) GetNewHeadState() string { + if x != nil { + return x.NewHeadState + } + return "" +} + +func (x *EventChainReorgV2) GetEpoch() *wrapperspb.UInt64Value { if x != nil { - return x.EpochV2 + return x.Epoch } return nil } @@ -327,15 +522,13 @@ type EventFinalizedCheckpoint struct { Block string `protobuf:"bytes,1,opt,name=block,proto3" json:"block,omitempty"` State string `protobuf:"bytes,2,opt,name=state,proto3" json:"state,omitempty"` - // Deprecated: Marked as deprecated in pkg/proto/eth/v1/events.proto. - Epoch uint64 `protobuf:"varint,3,opt,name=epoch,proto3" json:"epoch,omitempty"` - EpochV2 *wrapperspb.UInt64Value `protobuf:"bytes,4,opt,name=epoch_v2,proto3" json:"epoch_v2,omitempty"` + Epoch uint64 `protobuf:"varint,3,opt,name=epoch,proto3" json:"epoch,omitempty"` } func (x *EventFinalizedCheckpoint) Reset() { *x = EventFinalizedCheckpoint{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_eth_v1_events_proto_msgTypes[3] + mi := &file_pkg_proto_eth_v1_events_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -348,7 +541,7 @@ func (x *EventFinalizedCheckpoint) String() string { func (*EventFinalizedCheckpoint) ProtoMessage() {} func (x *EventFinalizedCheckpoint) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_eth_v1_events_proto_msgTypes[3] + mi := &file_pkg_proto_eth_v1_events_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -361,7 +554,7 @@ func (x *EventFinalizedCheckpoint) ProtoReflect() protoreflect.Message { // Deprecated: Use EventFinalizedCheckpoint.ProtoReflect.Descriptor instead. func (*EventFinalizedCheckpoint) Descriptor() ([]byte, []int) { - return file_pkg_proto_eth_v1_events_proto_rawDescGZIP(), []int{3} + return file_pkg_proto_eth_v1_events_proto_rawDescGZIP(), []int{6} } func (x *EventFinalizedCheckpoint) GetBlock() string { @@ -378,7 +571,6 @@ func (x *EventFinalizedCheckpoint) GetState() string { return "" } -// Deprecated: Marked as deprecated in pkg/proto/eth/v1/events.proto. func (x *EventFinalizedCheckpoint) GetEpoch() uint64 { if x != nil { return x.Epoch @@ -386,43 +578,33 @@ func (x *EventFinalizedCheckpoint) GetEpoch() uint64 { return 0 } -func (x *EventFinalizedCheckpoint) GetEpochV2() *wrapperspb.UInt64Value { - if x != nil { - return x.EpochV2 - } - return nil -} - -type EventVoluntaryExitMessage struct { +type EventFinalizedCheckpointV2 struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Deprecated: Marked as deprecated in pkg/proto/eth/v1/events.proto. - Epoch uint64 `protobuf:"varint,1,opt,name=epoch,proto3" json:"epoch,omitempty"` - // Deprecated: Marked as deprecated in pkg/proto/eth/v1/events.proto. - ValidatorIndex uint64 `protobuf:"varint,2,opt,name=validator_index,proto3" json:"validator_index,omitempty"` - EpochV2 *wrapperspb.UInt64Value `protobuf:"bytes,3,opt,name=epoch_v2,proto3" json:"epoch_v2,omitempty"` - ValidatorIndexV2 *wrapperspb.UInt64Value `protobuf:"bytes,4,opt,name=validator_index_v2,proto3" json:"validator_index_v2,omitempty"` + Block string `protobuf:"bytes,1,opt,name=block,proto3" json:"block,omitempty"` + State string `protobuf:"bytes,2,opt,name=state,proto3" json:"state,omitempty"` + Epoch *wrapperspb.UInt64Value `protobuf:"bytes,3,opt,name=epoch,proto3" json:"epoch,omitempty"` } -func (x *EventVoluntaryExitMessage) Reset() { - *x = EventVoluntaryExitMessage{} +func (x *EventFinalizedCheckpointV2) Reset() { + *x = EventFinalizedCheckpointV2{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_eth_v1_events_proto_msgTypes[4] + mi := &file_pkg_proto_eth_v1_events_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *EventVoluntaryExitMessage) String() string { +func (x *EventFinalizedCheckpointV2) String() string { return protoimpl.X.MessageStringOf(x) } -func (*EventVoluntaryExitMessage) ProtoMessage() {} +func (*EventFinalizedCheckpointV2) ProtoMessage() {} -func (x *EventVoluntaryExitMessage) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_eth_v1_events_proto_msgTypes[4] +func (x *EventFinalizedCheckpointV2) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_eth_v1_events_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -433,58 +615,159 @@ func (x *EventVoluntaryExitMessage) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use EventVoluntaryExitMessage.ProtoReflect.Descriptor instead. -func (*EventVoluntaryExitMessage) Descriptor() ([]byte, []int) { - return file_pkg_proto_eth_v1_events_proto_rawDescGZIP(), []int{4} -} - -// Deprecated: Marked as deprecated in pkg/proto/eth/v1/events.proto. -func (x *EventVoluntaryExitMessage) GetEpoch() uint64 { - if x != nil { - return x.Epoch - } - return 0 +// Deprecated: Use EventFinalizedCheckpointV2.ProtoReflect.Descriptor instead. +func (*EventFinalizedCheckpointV2) Descriptor() ([]byte, []int) { + return file_pkg_proto_eth_v1_events_proto_rawDescGZIP(), []int{7} } -// Deprecated: Marked as deprecated in pkg/proto/eth/v1/events.proto. -func (x *EventVoluntaryExitMessage) GetValidatorIndex() uint64 { +func (x *EventFinalizedCheckpointV2) GetBlock() string { if x != nil { - return x.ValidatorIndex + return x.Block } - return 0 + return "" } -func (x *EventVoluntaryExitMessage) GetEpochV2() *wrapperspb.UInt64Value { +func (x *EventFinalizedCheckpointV2) GetState() string { if x != nil { - return x.EpochV2 + return x.State } - return nil + return "" } -func (x *EventVoluntaryExitMessage) GetValidatorIndexV2() *wrapperspb.UInt64Value { +func (x *EventFinalizedCheckpointV2) GetEpoch() *wrapperspb.UInt64Value { if x != nil { - return x.ValidatorIndexV2 + return x.Epoch } return nil } -type EventVoluntaryExit struct { +type EventVoluntaryExitMessage struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Deprecated: Marked as deprecated in pkg/proto/eth/v1/events.proto. - Epoch uint64 `protobuf:"varint,1,opt,name=epoch,proto3" json:"epoch,omitempty"` - // Deprecated: Marked as deprecated in pkg/proto/eth/v1/events.proto. - ValidatorIndex uint64 `protobuf:"varint,2,opt,name=validator_index,proto3" json:"validator_index,omitempty"` - Message *EventVoluntaryExitMessage `protobuf:"bytes,3,opt,name=message,proto3" json:"message,omitempty"` - Signature string `protobuf:"bytes,4,opt,name=signature,proto3" json:"signature,omitempty"` + Epoch uint64 `protobuf:"varint,1,opt,name=epoch,proto3" json:"epoch,omitempty"` + ValidatorIndex uint64 `protobuf:"varint,2,opt,name=validator_index,proto3" json:"validator_index,omitempty"` +} + +func (x *EventVoluntaryExitMessage) Reset() { + *x = EventVoluntaryExitMessage{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_eth_v1_events_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EventVoluntaryExitMessage) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EventVoluntaryExitMessage) ProtoMessage() {} + +func (x *EventVoluntaryExitMessage) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_eth_v1_events_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EventVoluntaryExitMessage.ProtoReflect.Descriptor instead. +func (*EventVoluntaryExitMessage) Descriptor() ([]byte, []int) { + return file_pkg_proto_eth_v1_events_proto_rawDescGZIP(), []int{8} +} + +func (x *EventVoluntaryExitMessage) GetEpoch() uint64 { + if x != nil { + return x.Epoch + } + return 0 +} + +func (x *EventVoluntaryExitMessage) GetValidatorIndex() uint64 { + if x != nil { + return x.ValidatorIndex + } + return 0 +} + +type EventVoluntaryExitMessageV2 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Epoch *wrapperspb.UInt64Value `protobuf:"bytes,1,opt,name=epoch,proto3" json:"epoch,omitempty"` + ValidatorIndex *wrapperspb.UInt64Value `protobuf:"bytes,2,opt,name=validator_index,proto3" json:"validator_index,omitempty"` +} + +func (x *EventVoluntaryExitMessageV2) Reset() { + *x = EventVoluntaryExitMessageV2{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_eth_v1_events_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EventVoluntaryExitMessageV2) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EventVoluntaryExitMessageV2) ProtoMessage() {} + +func (x *EventVoluntaryExitMessageV2) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_eth_v1_events_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EventVoluntaryExitMessageV2.ProtoReflect.Descriptor instead. +func (*EventVoluntaryExitMessageV2) Descriptor() ([]byte, []int) { + return file_pkg_proto_eth_v1_events_proto_rawDescGZIP(), []int{9} +} + +func (x *EventVoluntaryExitMessageV2) GetEpoch() *wrapperspb.UInt64Value { + if x != nil { + return x.Epoch + } + return nil +} + +func (x *EventVoluntaryExitMessageV2) GetValidatorIndex() *wrapperspb.UInt64Value { + if x != nil { + return x.ValidatorIndex + } + return nil +} + +type EventVoluntaryExit struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Deprecated: Marked as deprecated in pkg/proto/eth/v1/events.proto. + Epoch uint64 `protobuf:"varint,1,opt,name=epoch,proto3" json:"epoch,omitempty"` + // Deprecated: Marked as deprecated in pkg/proto/eth/v1/events.proto. + ValidatorIndex uint64 `protobuf:"varint,2,opt,name=validator_index,proto3" json:"validator_index,omitempty"` + Message *EventVoluntaryExitMessage `protobuf:"bytes,3,opt,name=message,proto3" json:"message,omitempty"` + Signature string `protobuf:"bytes,4,opt,name=signature,proto3" json:"signature,omitempty"` } func (x *EventVoluntaryExit) Reset() { *x = EventVoluntaryExit{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_eth_v1_events_proto_msgTypes[5] + mi := &file_pkg_proto_eth_v1_events_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -497,7 +780,7 @@ func (x *EventVoluntaryExit) String() string { func (*EventVoluntaryExit) ProtoMessage() {} func (x *EventVoluntaryExit) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_eth_v1_events_proto_msgTypes[5] + mi := &file_pkg_proto_eth_v1_events_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -510,7 +793,7 @@ func (x *EventVoluntaryExit) ProtoReflect() protoreflect.Message { // Deprecated: Use EventVoluntaryExit.ProtoReflect.Descriptor instead. func (*EventVoluntaryExit) Descriptor() ([]byte, []int) { - return file_pkg_proto_eth_v1_events_proto_rawDescGZIP(), []int{5} + return file_pkg_proto_eth_v1_events_proto_rawDescGZIP(), []int{10} } // Deprecated: Marked as deprecated in pkg/proto/eth/v1/events.proto. @@ -543,22 +826,75 @@ func (x *EventVoluntaryExit) GetSignature() string { return "" } +type EventVoluntaryExitV2 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Message *EventVoluntaryExitMessageV2 `protobuf:"bytes,3,opt,name=message,proto3" json:"message,omitempty"` + Signature string `protobuf:"bytes,4,opt,name=signature,proto3" json:"signature,omitempty"` +} + +func (x *EventVoluntaryExitV2) Reset() { + *x = EventVoluntaryExitV2{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_eth_v1_events_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EventVoluntaryExitV2) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EventVoluntaryExitV2) ProtoMessage() {} + +func (x *EventVoluntaryExitV2) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_eth_v1_events_proto_msgTypes[11] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EventVoluntaryExitV2.ProtoReflect.Descriptor instead. +func (*EventVoluntaryExitV2) Descriptor() ([]byte, []int) { + return file_pkg_proto_eth_v1_events_proto_rawDescGZIP(), []int{11} +} + +func (x *EventVoluntaryExitV2) GetMessage() *EventVoluntaryExitMessageV2 { + if x != nil { + return x.Message + } + return nil +} + +func (x *EventVoluntaryExitV2) GetSignature() string { + if x != nil { + return x.Signature + } + return "" +} + type ContributionAndProof struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Deprecated: Marked as deprecated in pkg/proto/eth/v1/events.proto. - AggregatorIndex uint64 `protobuf:"varint,1,opt,name=aggregator_index,proto3" json:"aggregator_index,omitempty"` - Contribution *SyncCommitteeContribution `protobuf:"bytes,2,opt,name=contribution,proto3" json:"contribution,omitempty"` - SelectionProof string `protobuf:"bytes,3,opt,name=selection_proof,proto3" json:"selection_proof,omitempty"` - AggregatorIndexV2 *wrapperspb.UInt64Value `protobuf:"bytes,4,opt,name=aggregator_index_v2,proto3" json:"aggregator_index_v2,omitempty"` + AggregatorIndex uint64 `protobuf:"varint,1,opt,name=aggregator_index,proto3" json:"aggregator_index,omitempty"` + Contribution *SyncCommitteeContribution `protobuf:"bytes,2,opt,name=contribution,proto3" json:"contribution,omitempty"` + SelectionProof string `protobuf:"bytes,3,opt,name=selection_proof,proto3" json:"selection_proof,omitempty"` } func (x *ContributionAndProof) Reset() { *x = ContributionAndProof{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_eth_v1_events_proto_msgTypes[6] + mi := &file_pkg_proto_eth_v1_events_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -571,7 +907,7 @@ func (x *ContributionAndProof) String() string { func (*ContributionAndProof) ProtoMessage() {} func (x *ContributionAndProof) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_eth_v1_events_proto_msgTypes[6] + mi := &file_pkg_proto_eth_v1_events_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -584,10 +920,9 @@ func (x *ContributionAndProof) ProtoReflect() protoreflect.Message { // Deprecated: Use ContributionAndProof.ProtoReflect.Descriptor instead. func (*ContributionAndProof) Descriptor() ([]byte, []int) { - return file_pkg_proto_eth_v1_events_proto_rawDescGZIP(), []int{6} + return file_pkg_proto_eth_v1_events_proto_rawDescGZIP(), []int{12} } -// Deprecated: Marked as deprecated in pkg/proto/eth/v1/events.proto. func (x *ContributionAndProof) GetAggregatorIndex() uint64 { if x != nil { return x.AggregatorIndex @@ -609,13 +944,69 @@ func (x *ContributionAndProof) GetSelectionProof() string { return "" } -func (x *ContributionAndProof) GetAggregatorIndexV2() *wrapperspb.UInt64Value { +type ContributionAndProofV2 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AggregatorIndex *wrapperspb.UInt64Value `protobuf:"bytes,1,opt,name=aggregator_index,proto3" json:"aggregator_index,omitempty"` + Contribution *SyncCommitteeContributionV2 `protobuf:"bytes,2,opt,name=contribution,proto3" json:"contribution,omitempty"` + SelectionProof string `protobuf:"bytes,3,opt,name=selection_proof,proto3" json:"selection_proof,omitempty"` +} + +func (x *ContributionAndProofV2) Reset() { + *x = ContributionAndProofV2{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_eth_v1_events_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ContributionAndProofV2) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ContributionAndProofV2) ProtoMessage() {} + +func (x *ContributionAndProofV2) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_eth_v1_events_proto_msgTypes[13] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ContributionAndProofV2.ProtoReflect.Descriptor instead. +func (*ContributionAndProofV2) Descriptor() ([]byte, []int) { + return file_pkg_proto_eth_v1_events_proto_rawDescGZIP(), []int{13} +} + +func (x *ContributionAndProofV2) GetAggregatorIndex() *wrapperspb.UInt64Value { if x != nil { - return x.AggregatorIndexV2 + return x.AggregatorIndex } return nil } +func (x *ContributionAndProofV2) GetContribution() *SyncCommitteeContributionV2 { + if x != nil { + return x.Contribution + } + return nil +} + +func (x *ContributionAndProofV2) GetSelectionProof() string { + if x != nil { + return x.SelectionProof + } + return "" +} + type EventContributionAndProof struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -628,7 +1019,7 @@ type EventContributionAndProof struct { func (x *EventContributionAndProof) Reset() { *x = EventContributionAndProof{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_eth_v1_events_proto_msgTypes[7] + mi := &file_pkg_proto_eth_v1_events_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -641,7 +1032,7 @@ func (x *EventContributionAndProof) String() string { func (*EventContributionAndProof) ProtoMessage() {} func (x *EventContributionAndProof) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_eth_v1_events_proto_msgTypes[7] + mi := &file_pkg_proto_eth_v1_events_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -654,7 +1045,7 @@ func (x *EventContributionAndProof) ProtoReflect() protoreflect.Message { // Deprecated: Use EventContributionAndProof.ProtoReflect.Descriptor instead. func (*EventContributionAndProof) Descriptor() ([]byte, []int) { - return file_pkg_proto_eth_v1_events_proto_rawDescGZIP(), []int{7} + return file_pkg_proto_eth_v1_events_proto_rawDescGZIP(), []int{14} } func (x *EventContributionAndProof) GetSignature() string { @@ -671,6 +1062,61 @@ func (x *EventContributionAndProof) GetMessage() *ContributionAndProof { return nil } +type EventContributionAndProofV2 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Signature string `protobuf:"bytes,1,opt,name=signature,proto3" json:"signature,omitempty"` + Message *ContributionAndProofV2 `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"` +} + +func (x *EventContributionAndProofV2) Reset() { + *x = EventContributionAndProofV2{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_eth_v1_events_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EventContributionAndProofV2) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EventContributionAndProofV2) ProtoMessage() {} + +func (x *EventContributionAndProofV2) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_eth_v1_events_proto_msgTypes[15] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EventContributionAndProofV2.ProtoReflect.Descriptor instead. +func (*EventContributionAndProofV2) Descriptor() ([]byte, []int) { + return file_pkg_proto_eth_v1_events_proto_rawDescGZIP(), []int{15} +} + +func (x *EventContributionAndProofV2) GetSignature() string { + if x != nil { + return x.Signature + } + return "" +} + +func (x *EventContributionAndProofV2) GetMessage() *ContributionAndProofV2 { + if x != nil { + return x.Message + } + return nil +} + var File_pkg_proto_eth_v1_events_proto protoreflect.FileDescriptor var file_pkg_proto_eth_v1_events_proto_rawDesc = []byte{ @@ -683,128 +1129,186 @@ var file_pkg_proto_eth_v1_events_proto_rawDesc = []byte{ 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x25, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x74, 0x68, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb9, 0x02, 0x0a, 0x09, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, - 0x65, 0x61, 0x64, 0x12, 0x16, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x04, 0x42, 0x02, 0x18, 0x01, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x62, - 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x62, 0x6c, 0x6f, 0x63, - 0x6b, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x65, 0x70, 0x6f, 0x63, 0x68, - 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x10, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x42, 0x0a, 0x1c, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x5f, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xfd, 0x01, 0x0a, 0x09, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, + 0x65, 0x61, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x6c, 0x6f, 0x63, 0x6b, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x14, 0x0a, + 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, + 0x61, 0x74, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x5f, 0x74, 0x72, 0x61, + 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x65, + 0x70, 0x6f, 0x63, 0x68, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x42, 0x0a, 0x1c, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x5f, 0x64, 0x75, 0x74, 0x79, + 0x5f, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1c, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x5f, 0x64, 0x75, 0x74, 0x79, 0x5f, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x74, 0x5f, 0x72, - 0x6f, 0x6f, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1c, 0x70, 0x72, 0x65, 0x76, 0x69, - 0x6f, 0x75, 0x73, 0x5f, 0x64, 0x75, 0x74, 0x79, 0x5f, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, - 0x6e, 0x74, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x40, 0x0a, 0x1b, 0x63, 0x75, 0x72, 0x72, 0x65, - 0x6e, 0x74, 0x5f, 0x64, 0x75, 0x74, 0x79, 0x5f, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, - 0x74, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1b, 0x63, 0x75, - 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x64, 0x75, 0x74, 0x79, 0x5f, 0x64, 0x65, 0x70, 0x65, 0x6e, - 0x64, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x36, 0x0a, 0x07, 0x73, 0x6c, 0x6f, - 0x74, 0x5f, 0x76, 0x32, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, - 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x76, - 0x32, 0x22, 0xa6, 0x01, 0x0a, 0x0a, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, - 0x12, 0x16, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x42, 0x02, - 0x18, 0x01, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x6c, 0x6f, 0x63, - 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x32, - 0x0a, 0x14, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6f, 0x70, 0x74, 0x69, - 0x6d, 0x69, 0x73, 0x74, 0x69, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x65, 0x78, - 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x73, 0x74, - 0x69, 0x63, 0x12, 0x36, 0x0a, 0x07, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x76, 0x32, 0x18, 0x04, 0x20, + 0x6f, 0x6f, 0x74, 0x12, 0x40, 0x0a, 0x1b, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x64, + 0x75, 0x74, 0x79, 0x5f, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x6f, + 0x6f, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1b, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, + 0x74, 0x5f, 0x64, 0x75, 0x74, 0x79, 0x5f, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x74, + 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x22, 0x9d, 0x02, 0x0a, 0x0b, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, + 0x65, 0x61, 0x64, 0x56, 0x32, 0x12, 0x30, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x52, 0x07, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x76, 0x32, 0x22, 0xa9, 0x03, 0x0a, 0x0f, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x6f, 0x72, 0x67, 0x12, 0x16, - 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x42, 0x02, 0x18, 0x01, - 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x18, 0x0a, 0x05, 0x64, 0x65, 0x70, 0x74, 0x68, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x04, 0x42, 0x02, 0x18, 0x01, 0x52, 0x05, 0x64, 0x65, 0x70, 0x74, 0x68, - 0x12, 0x26, 0x0a, 0x0e, 0x6f, 0x6c, 0x64, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x5f, 0x62, 0x6c, 0x6f, - 0x63, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6f, 0x6c, 0x64, 0x5f, 0x68, 0x65, - 0x61, 0x64, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x26, 0x0a, 0x0e, 0x6e, 0x65, 0x77, 0x5f, - 0x68, 0x65, 0x61, 0x64, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0e, 0x6e, 0x65, 0x77, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, - 0x12, 0x26, 0x0a, 0x0e, 0x6f, 0x6c, 0x64, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x5f, 0x73, 0x74, 0x61, - 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6f, 0x6c, 0x64, 0x5f, 0x68, 0x65, - 0x61, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x6e, 0x65, 0x77, 0x5f, - 0x68, 0x65, 0x61, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0e, 0x6e, 0x65, 0x77, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, - 0x12, 0x18, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x42, - 0x02, 0x18, 0x01, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x36, 0x0a, 0x07, 0x73, 0x6c, - 0x6f, 0x74, 0x5f, 0x76, 0x32, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, - 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x73, 0x6c, 0x6f, 0x74, 0x5f, - 0x76, 0x32, 0x12, 0x38, 0x0a, 0x08, 0x64, 0x65, 0x70, 0x74, 0x68, 0x5f, 0x76, 0x32, 0x18, 0x09, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, - 0x75, 0x65, 0x52, 0x08, 0x64, 0x65, 0x70, 0x74, 0x68, 0x5f, 0x76, 0x32, 0x12, 0x38, 0x0a, 0x08, - 0x65, 0x70, 0x6f, 0x63, 0x68, 0x5f, 0x76, 0x32, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x65, 0x70, - 0x6f, 0x63, 0x68, 0x5f, 0x76, 0x32, 0x22, 0x9a, 0x01, 0x0a, 0x18, 0x45, 0x76, 0x65, 0x6e, 0x74, - 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x05, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, - 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, - 0x18, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x42, 0x02, - 0x18, 0x01, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x38, 0x0a, 0x08, 0x65, 0x70, 0x6f, - 0x63, 0x68, 0x5f, 0x76, 0x32, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, - 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x65, 0x70, 0x6f, 0x63, 0x68, - 0x5f, 0x76, 0x32, 0x22, 0xeb, 0x01, 0x0a, 0x19, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x56, 0x6f, 0x6c, - 0x75, 0x6e, 0x74, 0x61, 0x72, 0x79, 0x45, 0x78, 0x69, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x12, 0x18, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, - 0x42, 0x02, 0x18, 0x01, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x2c, 0x0a, 0x0f, 0x76, - 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x04, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, - 0x74, 0x6f, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x38, 0x0a, 0x08, 0x65, 0x70, 0x6f, - 0x63, 0x68, 0x5f, 0x76, 0x32, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, - 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x65, 0x70, 0x6f, 0x63, 0x68, - 0x5f, 0x76, 0x32, 0x12, 0x4c, 0x0a, 0x12, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, - 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x76, 0x32, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x12, 0x76, - 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x76, - 0x32, 0x22, 0xbc, 0x01, 0x0a, 0x12, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x56, 0x6f, 0x6c, 0x75, 0x6e, - 0x74, 0x61, 0x72, 0x79, 0x45, 0x78, 0x69, 0x74, 0x12, 0x18, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, - 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x42, 0x02, 0x18, 0x01, 0x52, 0x05, 0x65, 0x70, 0x6f, - 0x63, 0x68, 0x12, 0x2c, 0x0a, 0x0f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, - 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x42, 0x02, 0x18, 0x01, 0x52, - 0x0f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, - 0x12, 0x40, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x26, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, + 0x65, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x6c, 0x6f, 0x63, 0x6b, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x14, 0x0a, + 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, + 0x61, 0x74, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x5f, 0x74, 0x72, 0x61, + 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x65, + 0x70, 0x6f, 0x63, 0x68, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x42, 0x0a, 0x1c, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x5f, 0x64, 0x75, 0x74, 0x79, + 0x5f, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1c, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x5f, + 0x64, 0x75, 0x74, 0x79, 0x5f, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x74, 0x5f, 0x72, + 0x6f, 0x6f, 0x74, 0x12, 0x40, 0x0a, 0x1b, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x64, + 0x75, 0x74, 0x79, 0x5f, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x6f, + 0x6f, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1b, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, + 0x74, 0x5f, 0x64, 0x75, 0x74, 0x79, 0x5f, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x74, + 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x22, 0x6a, 0x0a, 0x0a, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x42, 0x6c, + 0x6f, 0x63, 0x6b, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x6c, 0x6f, 0x63, 0x6b, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x32, 0x0a, + 0x14, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6d, + 0x69, 0x73, 0x74, 0x69, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x65, 0x78, 0x65, + 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x73, 0x74, 0x69, + 0x63, 0x22, 0x8a, 0x01, 0x0a, 0x0c, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, + 0x56, 0x32, 0x12, 0x30, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x04, + 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x32, 0x0a, 0x14, 0x65, 0x78, + 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x73, 0x74, + 0x69, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x73, 0x74, 0x69, 0x63, 0x22, 0xf1, + 0x01, 0x0a, 0x0f, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x6f, + 0x72, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x65, 0x70, 0x74, 0x68, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x64, 0x65, 0x70, 0x74, 0x68, 0x12, 0x26, 0x0a, 0x0e, + 0x6f, 0x6c, 0x64, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6f, 0x6c, 0x64, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x5f, 0x62, + 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x26, 0x0a, 0x0e, 0x6e, 0x65, 0x77, 0x5f, 0x68, 0x65, 0x61, 0x64, + 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6e, 0x65, + 0x77, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x26, 0x0a, 0x0e, + 0x6f, 0x6c, 0x64, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6f, 0x6c, 0x64, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x5f, 0x73, + 0x74, 0x61, 0x74, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x6e, 0x65, 0x77, 0x5f, 0x68, 0x65, 0x61, 0x64, + 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6e, 0x65, + 0x77, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x14, 0x0a, 0x05, + 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x65, 0x70, 0x6f, + 0x63, 0x68, 0x22, 0xcd, 0x02, 0x0a, 0x11, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x69, + 0x6e, 0x52, 0x65, 0x6f, 0x72, 0x67, 0x56, 0x32, 0x12, 0x30, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x32, 0x0a, 0x05, 0x64, 0x65, + 0x70, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, + 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x64, 0x65, 0x70, 0x74, 0x68, 0x12, 0x26, + 0x0a, 0x0e, 0x6f, 0x6c, 0x64, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6f, 0x6c, 0x64, 0x5f, 0x68, 0x65, 0x61, 0x64, + 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x26, 0x0a, 0x0e, 0x6e, 0x65, 0x77, 0x5f, 0x68, 0x65, + 0x61, 0x64, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, + 0x6e, 0x65, 0x77, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x26, + 0x0a, 0x0e, 0x6f, 0x6c, 0x64, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6f, 0x6c, 0x64, 0x5f, 0x68, 0x65, 0x61, 0x64, + 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x6e, 0x65, 0x77, 0x5f, 0x68, 0x65, + 0x61, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, + 0x6e, 0x65, 0x77, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x32, + 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x65, 0x70, 0x6f, + 0x63, 0x68, 0x22, 0x5c, 0x0a, 0x18, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x46, 0x69, 0x6e, 0x61, 0x6c, + 0x69, 0x7a, 0x65, 0x64, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x14, + 0x0a, 0x05, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x62, + 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x70, + 0x6f, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, + 0x22, 0x7c, 0x0a, 0x1a, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, + 0x65, 0x64, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x56, 0x32, 0x12, 0x14, + 0x0a, 0x05, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x62, + 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x32, 0x0a, 0x05, 0x65, 0x70, + 0x6f, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, + 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x22, 0x5b, + 0x0a, 0x19, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x56, 0x6f, 0x6c, 0x75, 0x6e, 0x74, 0x61, 0x72, 0x79, + 0x45, 0x78, 0x69, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, + 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, + 0x68, 0x12, 0x28, 0x0a, 0x0f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x69, + 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0f, 0x76, 0x61, 0x6c, 0x69, + 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x99, 0x01, 0x0a, 0x1b, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x56, 0x6f, 0x6c, 0x75, 0x6e, 0x74, 0x61, 0x72, 0x79, 0x45, 0x78, - 0x69, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, + 0x69, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x56, 0x32, 0x12, 0x32, 0x0a, 0x05, 0x65, + 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, + 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, + 0x46, 0x0a, 0x0f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x69, 0x6e, 0x64, + 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, + 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, + 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x22, 0xbc, 0x01, 0x0a, 0x12, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x56, 0x6f, 0x6c, 0x75, 0x6e, 0x74, 0x61, 0x72, 0x79, 0x45, 0x78, 0x69, 0x74, 0x12, 0x18, + 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x42, 0x02, 0x18, + 0x01, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x2c, 0x0a, 0x0f, 0x76, 0x61, 0x6c, 0x69, + 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x04, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, + 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x40, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, + 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x56, 0x6f, 0x6c, 0x75, 0x6e, + 0x74, 0x61, 0x72, 0x79, 0x45, 0x78, 0x69, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, + 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, + 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, + 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0x78, 0x0a, 0x14, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x56, + 0x6f, 0x6c, 0x75, 0x6e, 0x74, 0x61, 0x72, 0x79, 0x45, 0x78, 0x69, 0x74, 0x56, 0x32, 0x12, 0x42, + 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x28, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x76, + 0x65, 0x6e, 0x74, 0x56, 0x6f, 0x6c, 0x75, 0x6e, 0x74, 0x61, 0x72, 0x79, 0x45, 0x78, 0x69, 0x74, + 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x56, 0x32, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, - 0x22, 0x8c, 0x02, 0x0a, 0x14, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, - 0x6e, 0x41, 0x6e, 0x64, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x12, 0x2e, 0x0a, 0x10, 0x61, 0x67, 0x67, + 0x22, 0xb8, 0x01, 0x0a, 0x14, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, + 0x6e, 0x41, 0x6e, 0x64, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x12, 0x2a, 0x0a, 0x10, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x04, 0x42, 0x02, 0x18, 0x01, 0x52, 0x10, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, - 0x74, 0x6f, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x4a, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x26, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x79, - 0x6e, 0x63, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, - 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x0f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x6f, 0x66, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, - 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x6f, 0x66, 0x12, - 0x4e, 0x0a, 0x13, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x69, 0x6e, - 0x64, 0x65, 0x78, 0x5f, 0x76, 0x32, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, - 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x13, 0x61, 0x67, 0x67, 0x72, - 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x76, 0x32, 0x22, - 0x76, 0x0a, 0x19, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x64, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x12, 0x1c, 0x0a, 0x09, - 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x3b, 0x0a, 0x07, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x78, 0x61, - 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x64, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x52, 0x07, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x42, 0x2e, 0x5a, 0x2c, 0x67, 0x69, 0x74, 0x68, 0x75, - 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x74, 0x68, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x70, - 0x73, 0x2f, 0x78, 0x61, 0x74, 0x75, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x2f, 0x65, 0x74, 0x68, 0x2f, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x01, 0x28, 0x04, 0x52, 0x10, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x5f, + 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x4a, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, + 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x78, 0x61, + 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x43, 0x6f, + 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x28, 0x0a, 0x0f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, + 0x72, 0x6f, 0x6f, 0x66, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x65, 0x6c, 0x65, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x6f, 0x66, 0x22, 0xda, 0x01, 0x0a, 0x16, + 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x64, 0x50, + 0x72, 0x6f, 0x6f, 0x66, 0x56, 0x32, 0x12, 0x48, 0x0a, 0x10, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, + 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x10, + 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, + 0x12, 0x4c, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, + 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, + 0x65, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x32, + 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, + 0x0a, 0x0f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x6f, + 0x66, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x6f, 0x66, 0x22, 0x76, 0x0a, 0x19, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x64, + 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, + 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x12, 0x3b, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, + 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x41, + 0x6e, 0x64, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x22, 0x7a, 0x0a, 0x1b, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, + 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x64, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x56, 0x32, 0x12, + 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x3d, 0x0a, + 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, + 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, + 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x64, 0x50, 0x72, 0x6f, 0x6f, + 0x66, 0x56, 0x32, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x42, 0x2e, 0x5a, 0x2c, + 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x74, 0x68, 0x70, 0x61, + 0x6e, 0x64, 0x61, 0x6f, 0x70, 0x73, 0x2f, 0x78, 0x61, 0x74, 0x75, 0x2f, 0x70, 0x6b, 0x67, 0x2f, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x74, 0x68, 0x2f, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -819,37 +1323,49 @@ func file_pkg_proto_eth_v1_events_proto_rawDescGZIP() []byte { return file_pkg_proto_eth_v1_events_proto_rawDescData } -var file_pkg_proto_eth_v1_events_proto_msgTypes = make([]protoimpl.MessageInfo, 8) +var file_pkg_proto_eth_v1_events_proto_msgTypes = make([]protoimpl.MessageInfo, 16) var file_pkg_proto_eth_v1_events_proto_goTypes = []interface{}{ - (*EventHead)(nil), // 0: xatu.eth.v1.EventHead - (*EventBlock)(nil), // 1: xatu.eth.v1.EventBlock - (*EventChainReorg)(nil), // 2: xatu.eth.v1.EventChainReorg - (*EventFinalizedCheckpoint)(nil), // 3: xatu.eth.v1.EventFinalizedCheckpoint - (*EventVoluntaryExitMessage)(nil), // 4: xatu.eth.v1.EventVoluntaryExitMessage - (*EventVoluntaryExit)(nil), // 5: xatu.eth.v1.EventVoluntaryExit - (*ContributionAndProof)(nil), // 6: xatu.eth.v1.ContributionAndProof - (*EventContributionAndProof)(nil), // 7: xatu.eth.v1.EventContributionAndProof - (*wrapperspb.UInt64Value)(nil), // 8: google.protobuf.UInt64Value - (*SyncCommitteeContribution)(nil), // 9: xatu.eth.v1.SyncCommitteeContribution + (*EventHead)(nil), // 0: xatu.eth.v1.EventHead + (*EventHeadV2)(nil), // 1: xatu.eth.v1.EventHeadV2 + (*EventBlock)(nil), // 2: xatu.eth.v1.EventBlock + (*EventBlockV2)(nil), // 3: xatu.eth.v1.EventBlockV2 + (*EventChainReorg)(nil), // 4: xatu.eth.v1.EventChainReorg + (*EventChainReorgV2)(nil), // 5: xatu.eth.v1.EventChainReorgV2 + (*EventFinalizedCheckpoint)(nil), // 6: xatu.eth.v1.EventFinalizedCheckpoint + (*EventFinalizedCheckpointV2)(nil), // 7: xatu.eth.v1.EventFinalizedCheckpointV2 + (*EventVoluntaryExitMessage)(nil), // 8: xatu.eth.v1.EventVoluntaryExitMessage + (*EventVoluntaryExitMessageV2)(nil), // 9: xatu.eth.v1.EventVoluntaryExitMessageV2 + (*EventVoluntaryExit)(nil), // 10: xatu.eth.v1.EventVoluntaryExit + (*EventVoluntaryExitV2)(nil), // 11: xatu.eth.v1.EventVoluntaryExitV2 + (*ContributionAndProof)(nil), // 12: xatu.eth.v1.ContributionAndProof + (*ContributionAndProofV2)(nil), // 13: xatu.eth.v1.ContributionAndProofV2 + (*EventContributionAndProof)(nil), // 14: xatu.eth.v1.EventContributionAndProof + (*EventContributionAndProofV2)(nil), // 15: xatu.eth.v1.EventContributionAndProofV2 + (*wrapperspb.UInt64Value)(nil), // 16: google.protobuf.UInt64Value + (*SyncCommitteeContribution)(nil), // 17: xatu.eth.v1.SyncCommitteeContribution + (*SyncCommitteeContributionV2)(nil), // 18: xatu.eth.v1.SyncCommitteeContributionV2 } var file_pkg_proto_eth_v1_events_proto_depIdxs = []int32{ - 8, // 0: xatu.eth.v1.EventHead.slot_v2:type_name -> google.protobuf.UInt64Value - 8, // 1: xatu.eth.v1.EventBlock.slot_v2:type_name -> google.protobuf.UInt64Value - 8, // 2: xatu.eth.v1.EventChainReorg.slot_v2:type_name -> google.protobuf.UInt64Value - 8, // 3: xatu.eth.v1.EventChainReorg.depth_v2:type_name -> google.protobuf.UInt64Value - 8, // 4: xatu.eth.v1.EventChainReorg.epoch_v2:type_name -> google.protobuf.UInt64Value - 8, // 5: xatu.eth.v1.EventFinalizedCheckpoint.epoch_v2:type_name -> google.protobuf.UInt64Value - 8, // 6: xatu.eth.v1.EventVoluntaryExitMessage.epoch_v2:type_name -> google.protobuf.UInt64Value - 8, // 7: xatu.eth.v1.EventVoluntaryExitMessage.validator_index_v2:type_name -> google.protobuf.UInt64Value - 4, // 8: xatu.eth.v1.EventVoluntaryExit.message:type_name -> xatu.eth.v1.EventVoluntaryExitMessage - 9, // 9: xatu.eth.v1.ContributionAndProof.contribution:type_name -> xatu.eth.v1.SyncCommitteeContribution - 8, // 10: xatu.eth.v1.ContributionAndProof.aggregator_index_v2:type_name -> google.protobuf.UInt64Value - 6, // 11: xatu.eth.v1.EventContributionAndProof.message:type_name -> xatu.eth.v1.ContributionAndProof - 12, // [12:12] is the sub-list for method output_type - 12, // [12:12] is the sub-list for method input_type - 12, // [12:12] is the sub-list for extension type_name - 12, // [12:12] is the sub-list for extension extendee - 0, // [0:12] is the sub-list for field type_name + 16, // 0: xatu.eth.v1.EventHeadV2.slot:type_name -> google.protobuf.UInt64Value + 16, // 1: xatu.eth.v1.EventBlockV2.slot:type_name -> google.protobuf.UInt64Value + 16, // 2: xatu.eth.v1.EventChainReorgV2.slot:type_name -> google.protobuf.UInt64Value + 16, // 3: xatu.eth.v1.EventChainReorgV2.depth:type_name -> google.protobuf.UInt64Value + 16, // 4: xatu.eth.v1.EventChainReorgV2.epoch:type_name -> google.protobuf.UInt64Value + 16, // 5: xatu.eth.v1.EventFinalizedCheckpointV2.epoch:type_name -> google.protobuf.UInt64Value + 16, // 6: xatu.eth.v1.EventVoluntaryExitMessageV2.epoch:type_name -> google.protobuf.UInt64Value + 16, // 7: xatu.eth.v1.EventVoluntaryExitMessageV2.validator_index:type_name -> google.protobuf.UInt64Value + 8, // 8: xatu.eth.v1.EventVoluntaryExit.message:type_name -> xatu.eth.v1.EventVoluntaryExitMessage + 9, // 9: xatu.eth.v1.EventVoluntaryExitV2.message:type_name -> xatu.eth.v1.EventVoluntaryExitMessageV2 + 17, // 10: xatu.eth.v1.ContributionAndProof.contribution:type_name -> xatu.eth.v1.SyncCommitteeContribution + 16, // 11: xatu.eth.v1.ContributionAndProofV2.aggregator_index:type_name -> google.protobuf.UInt64Value + 18, // 12: xatu.eth.v1.ContributionAndProofV2.contribution:type_name -> xatu.eth.v1.SyncCommitteeContributionV2 + 12, // 13: xatu.eth.v1.EventContributionAndProof.message:type_name -> xatu.eth.v1.ContributionAndProof + 13, // 14: xatu.eth.v1.EventContributionAndProofV2.message:type_name -> xatu.eth.v1.ContributionAndProofV2 + 15, // [15:15] is the sub-list for method output_type + 15, // [15:15] is the sub-list for method input_type + 15, // [15:15] is the sub-list for extension type_name + 15, // [15:15] is the sub-list for extension extendee + 0, // [0:15] is the sub-list for field type_name } func init() { file_pkg_proto_eth_v1_events_proto_init() } @@ -872,7 +1388,7 @@ func file_pkg_proto_eth_v1_events_proto_init() { } } file_pkg_proto_eth_v1_events_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EventBlock); i { + switch v := v.(*EventHeadV2); i { case 0: return &v.state case 1: @@ -884,7 +1400,7 @@ func file_pkg_proto_eth_v1_events_proto_init() { } } file_pkg_proto_eth_v1_events_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EventChainReorg); i { + switch v := v.(*EventBlock); i { case 0: return &v.state case 1: @@ -896,7 +1412,7 @@ func file_pkg_proto_eth_v1_events_proto_init() { } } file_pkg_proto_eth_v1_events_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EventFinalizedCheckpoint); i { + switch v := v.(*EventBlockV2); i { case 0: return &v.state case 1: @@ -908,7 +1424,7 @@ func file_pkg_proto_eth_v1_events_proto_init() { } } file_pkg_proto_eth_v1_events_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EventVoluntaryExitMessage); i { + switch v := v.(*EventChainReorg); i { case 0: return &v.state case 1: @@ -920,7 +1436,7 @@ func file_pkg_proto_eth_v1_events_proto_init() { } } file_pkg_proto_eth_v1_events_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EventVoluntaryExit); i { + switch v := v.(*EventChainReorgV2); i { case 0: return &v.state case 1: @@ -932,7 +1448,7 @@ func file_pkg_proto_eth_v1_events_proto_init() { } } file_pkg_proto_eth_v1_events_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ContributionAndProof); i { + switch v := v.(*EventFinalizedCheckpoint); i { case 0: return &v.state case 1: @@ -944,6 +1460,90 @@ func file_pkg_proto_eth_v1_events_proto_init() { } } file_pkg_proto_eth_v1_events_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EventFinalizedCheckpointV2); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_proto_eth_v1_events_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EventVoluntaryExitMessage); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_proto_eth_v1_events_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EventVoluntaryExitMessageV2); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_proto_eth_v1_events_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EventVoluntaryExit); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_proto_eth_v1_events_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EventVoluntaryExitV2); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_proto_eth_v1_events_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ContributionAndProof); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_proto_eth_v1_events_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ContributionAndProofV2); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_proto_eth_v1_events_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*EventContributionAndProof); i { case 0: return &v.state @@ -955,6 +1555,18 @@ func file_pkg_proto_eth_v1_events_proto_init() { return nil } } + file_pkg_proto_eth_v1_events_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EventContributionAndProofV2); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } type x struct{} out := protoimpl.TypeBuilder{ @@ -962,7 +1574,7 @@ func file_pkg_proto_eth_v1_events_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_pkg_proto_eth_v1_events_proto_rawDesc, NumEnums: 0, - NumMessages: 8, + NumMessages: 16, NumExtensions: 0, NumServices: 0, }, diff --git a/pkg/proto/eth/v1/events.proto b/pkg/proto/eth/v1/events.proto index c6e5146a..1e238248 100644 --- a/pkg/proto/eth/v1/events.proto +++ b/pkg/proto/eth/v1/events.proto @@ -12,7 +12,7 @@ import "google/protobuf/descriptor.proto"; import "pkg/proto/eth/v1/sync_committee.proto"; message EventHead { - uint64 slot = 1 [ deprecated=true ]; + uint64 slot = 1; string block = 2; @@ -25,24 +25,44 @@ message EventHead { string current_duty_dependent_root = 6 [ json_name = "current_duty_dependent_root" ]; +} + +message EventHeadV2 { + google.protobuf.UInt64Value slot = 1 [ json_name = "slot" ]; + + string block = 2; + + string state = 3; - google.protobuf.UInt64Value slot_v2 = 7 [ json_name = "slot_v2" ]; + bool epoch_transition = 4 [ json_name = "epoch_transition" ]; + + string previous_duty_dependent_root = 5 + [ json_name = "previous_duty_dependent_root" ]; + + string current_duty_dependent_root = 6 + [ json_name = "current_duty_dependent_root" ]; } message EventBlock { - uint64 slot = 1 [ deprecated=true ]; + uint64 slot = 1; string block = 2; bool execution_optimistic = 3 [ json_name = "execution_optimistic" ]; +} + +message EventBlockV2 { + google.protobuf.UInt64Value slot = 1 [ json_name = "slot" ]; - google.protobuf.UInt64Value slot_v2 = 4 [ json_name = "slot_v2" ]; + string block = 2; + + bool execution_optimistic = 3 [ json_name = "execution_optimistic" ]; } message EventChainReorg { - uint64 slot = 1 [ deprecated=true ]; + uint64 slot = 1; - uint64 depth = 2 [ deprecated=true ]; + uint64 depth = 2; string old_head_block = 3 [ json_name = "old_head_block" ]; @@ -52,13 +72,23 @@ message EventChainReorg { string new_head_state = 6 [ json_name = "new_head_state" ]; - uint64 epoch = 7 [ deprecated=true ]; + uint64 epoch = 7; +} + +message EventChainReorgV2 { + google.protobuf.UInt64Value slot = 1 [ json_name = "slot" ]; + + google.protobuf.UInt64Value depth = 2 [ json_name = "depth" ]; + + string old_head_block = 3 [ json_name = "old_head_block" ]; + + string new_head_block = 4 [ json_name = "new_head_block" ]; - google.protobuf.UInt64Value slot_v2 = 8 [ json_name = "slot_v2" ]; + string old_head_state = 5 [ json_name = "old_head_state" ]; - google.protobuf.UInt64Value depth_v2 = 9 [ json_name = "depth_v2" ]; + string new_head_state = 6 [ json_name = "new_head_state" ]; - google.protobuf.UInt64Value epoch_v2 = 10 [ json_name = "epoch_v2" ]; + google.protobuf.UInt64Value epoch = 7 [ json_name = "epoch" ]; } message EventFinalizedCheckpoint { @@ -66,19 +96,27 @@ message EventFinalizedCheckpoint { string state = 2; - uint64 epoch = 3 [ deprecated=true ]; + uint64 epoch = 3; +} + +message EventFinalizedCheckpointV2 { + string block = 1; + + string state = 2; - google.protobuf.UInt64Value epoch_v2 = 4 [ json_name = "epoch_v2" ]; + google.protobuf.UInt64Value epoch = 3 [ json_name = "epoch" ]; } message EventVoluntaryExitMessage { - uint64 epoch = 1 [ deprecated=true ]; + uint64 epoch = 1; - uint64 validator_index = 2 [ json_name = "validator_index", deprecated=true ]; + uint64 validator_index = 2 [ json_name = "validator_index" ]; +} - google.protobuf.UInt64Value epoch_v2 = 3 [ json_name = "epoch_v2" ]; +message EventVoluntaryExitMessageV2 { + google.protobuf.UInt64Value epoch = 1 [ json_name = "epoch" ]; - google.protobuf.UInt64Value validator_index_v2 = 4 [ json_name = "validator_index_v2" ]; + google.protobuf.UInt64Value validator_index = 2 [ json_name = "validator_index" ]; } message EventVoluntaryExit { @@ -91,14 +129,26 @@ message EventVoluntaryExit { string signature = 4; } +message EventVoluntaryExitV2 { + EventVoluntaryExitMessageV2 message = 3 [ json_name = "message" ]; + + string signature = 4; +} + message ContributionAndProof { - uint64 aggregator_index = 1 [ json_name = "aggregator_index", deprecated=true ]; + uint64 aggregator_index = 1 [ json_name = "aggregator_index" ]; SyncCommitteeContribution contribution = 2; string selection_proof = 3 [ json_name = "selection_proof" ]; +} + +message ContributionAndProofV2 { + google.protobuf.UInt64Value aggregator_index = 1 [ json_name = "aggregator_index" ]; + + SyncCommitteeContributionV2 contribution = 2; - google.protobuf.UInt64Value aggregator_index_v2 = 4 [ json_name = "aggregator_index_v2" ]; + string selection_proof = 3 [ json_name = "selection_proof" ]; } message EventContributionAndProof { @@ -106,3 +156,9 @@ message EventContributionAndProof { ContributionAndProof message = 2; } + +message EventContributionAndProofV2 { + string signature = 1; + + ContributionAndProofV2 message = 2; +} diff --git a/pkg/proto/eth/v1/execution_engine.pb.go b/pkg/proto/eth/v1/execution_engine.pb.go index 9bbfad04..8c082e42 100644 --- a/pkg/proto/eth/v1/execution_engine.pb.go +++ b/pkg/proto/eth/v1/execution_engine.pb.go @@ -30,28 +30,20 @@ type ExecutionPayload struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ParentHash string `protobuf:"bytes,1,opt,name=parent_hash,proto3" json:"parent_hash,omitempty"` - FeeRecipient string `protobuf:"bytes,2,opt,name=fee_recipient,proto3" json:"fee_recipient,omitempty"` - StateRoot string `protobuf:"bytes,3,opt,name=state_root,proto3" json:"state_root,omitempty"` - ReceiptsRoot string `protobuf:"bytes,4,opt,name=receipts_root,proto3" json:"receipts_root,omitempty"` - LogsBloom string `protobuf:"bytes,5,opt,name=logs_bloom,proto3" json:"logs_bloom,omitempty"` - PrevRandao string `protobuf:"bytes,6,opt,name=prev_randao,proto3" json:"prev_randao,omitempty"` - // Deprecated: Marked as deprecated in pkg/proto/eth/v1/execution_engine.proto. - BlockNumber uint64 `protobuf:"varint,7,opt,name=block_number,proto3" json:"block_number,omitempty"` - // Deprecated: Marked as deprecated in pkg/proto/eth/v1/execution_engine.proto. - GasLimit uint64 `protobuf:"varint,8,opt,name=gas_limit,proto3" json:"gas_limit,omitempty"` - // Deprecated: Marked as deprecated in pkg/proto/eth/v1/execution_engine.proto. - GasUsed uint64 `protobuf:"varint,9,opt,name=gas_used,proto3" json:"gas_used,omitempty"` - // Deprecated: Marked as deprecated in pkg/proto/eth/v1/execution_engine.proto. - Timestamp uint64 `protobuf:"varint,10,opt,name=timestamp,proto3" json:"timestamp,omitempty"` - ExtraData string `protobuf:"bytes,11,opt,name=extra_data,proto3" json:"extra_data,omitempty"` - BaseFeePerGas string `protobuf:"bytes,12,opt,name=base_fee_per_gas,proto3" json:"base_fee_per_gas,omitempty"` - BlockHash string `protobuf:"bytes,13,opt,name=block_hash,proto3" json:"block_hash,omitempty"` - Transactions []string `protobuf:"bytes,14,rep,name=transactions,proto3" json:"transactions,omitempty"` - BlockNumberV2 *wrapperspb.UInt64Value `protobuf:"bytes,15,opt,name=block_number_v2,proto3" json:"block_number_v2,omitempty"` - GasLimitV2 *wrapperspb.UInt64Value `protobuf:"bytes,16,opt,name=gas_limit_v2,proto3" json:"gas_limit_v2,omitempty"` - GasUsedV2 *wrapperspb.UInt64Value `protobuf:"bytes,17,opt,name=gas_used_v2,proto3" json:"gas_used_v2,omitempty"` - TimestampV2 *wrapperspb.UInt64Value `protobuf:"bytes,18,opt,name=timestamp_v2,proto3" json:"timestamp_v2,omitempty"` + ParentHash string `protobuf:"bytes,1,opt,name=parent_hash,proto3" json:"parent_hash,omitempty"` + FeeRecipient string `protobuf:"bytes,2,opt,name=fee_recipient,proto3" json:"fee_recipient,omitempty"` + StateRoot string `protobuf:"bytes,3,opt,name=state_root,proto3" json:"state_root,omitempty"` + ReceiptsRoot string `protobuf:"bytes,4,opt,name=receipts_root,proto3" json:"receipts_root,omitempty"` + LogsBloom string `protobuf:"bytes,5,opt,name=logs_bloom,proto3" json:"logs_bloom,omitempty"` + PrevRandao string `protobuf:"bytes,6,opt,name=prev_randao,proto3" json:"prev_randao,omitempty"` + BlockNumber uint64 `protobuf:"varint,7,opt,name=block_number,proto3" json:"block_number,omitempty"` + GasLimit uint64 `protobuf:"varint,8,opt,name=gas_limit,proto3" json:"gas_limit,omitempty"` + GasUsed uint64 `protobuf:"varint,9,opt,name=gas_used,proto3" json:"gas_used,omitempty"` + Timestamp uint64 `protobuf:"varint,10,opt,name=timestamp,proto3" json:"timestamp,omitempty"` + ExtraData string `protobuf:"bytes,11,opt,name=extra_data,proto3" json:"extra_data,omitempty"` + BaseFeePerGas string `protobuf:"bytes,12,opt,name=base_fee_per_gas,proto3" json:"base_fee_per_gas,omitempty"` + BlockHash string `protobuf:"bytes,13,opt,name=block_hash,proto3" json:"block_hash,omitempty"` + Transactions []string `protobuf:"bytes,14,rep,name=transactions,proto3" json:"transactions,omitempty"` } func (x *ExecutionPayload) Reset() { @@ -128,7 +120,6 @@ func (x *ExecutionPayload) GetPrevRandao() string { return "" } -// Deprecated: Marked as deprecated in pkg/proto/eth/v1/execution_engine.proto. func (x *ExecutionPayload) GetBlockNumber() uint64 { if x != nil { return x.BlockNumber @@ -136,7 +127,6 @@ func (x *ExecutionPayload) GetBlockNumber() uint64 { return 0 } -// Deprecated: Marked as deprecated in pkg/proto/eth/v1/execution_engine.proto. func (x *ExecutionPayload) GetGasLimit() uint64 { if x != nil { return x.GasLimit @@ -144,7 +134,6 @@ func (x *ExecutionPayload) GetGasLimit() uint64 { return 0 } -// Deprecated: Marked as deprecated in pkg/proto/eth/v1/execution_engine.proto. func (x *ExecutionPayload) GetGasUsed() uint64 { if x != nil { return x.GasUsed @@ -152,7 +141,6 @@ func (x *ExecutionPayload) GetGasUsed() uint64 { return 0 } -// Deprecated: Marked as deprecated in pkg/proto/eth/v1/execution_engine.proto. func (x *ExecutionPayload) GetTimestamp() uint64 { if x != nil { return x.Timestamp @@ -188,30 +176,153 @@ func (x *ExecutionPayload) GetTransactions() []string { return nil } -func (x *ExecutionPayload) GetBlockNumberV2() *wrapperspb.UInt64Value { +type ExecutionPayloadV2 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ParentHash string `protobuf:"bytes,1,opt,name=parent_hash,proto3" json:"parent_hash,omitempty"` + FeeRecipient string `protobuf:"bytes,2,opt,name=fee_recipient,proto3" json:"fee_recipient,omitempty"` + StateRoot string `protobuf:"bytes,3,opt,name=state_root,proto3" json:"state_root,omitempty"` + ReceiptsRoot string `protobuf:"bytes,4,opt,name=receipts_root,proto3" json:"receipts_root,omitempty"` + LogsBloom string `protobuf:"bytes,5,opt,name=logs_bloom,proto3" json:"logs_bloom,omitempty"` + PrevRandao string `protobuf:"bytes,6,opt,name=prev_randao,proto3" json:"prev_randao,omitempty"` + BlockNumber *wrapperspb.UInt64Value `protobuf:"bytes,7,opt,name=block_number,proto3" json:"block_number,omitempty"` + GasLimit *wrapperspb.UInt64Value `protobuf:"bytes,8,opt,name=gas_limit,proto3" json:"gas_limit,omitempty"` + GasUsed *wrapperspb.UInt64Value `protobuf:"bytes,9,opt,name=gas_used,proto3" json:"gas_used,omitempty"` + Timestamp *wrapperspb.UInt64Value `protobuf:"bytes,10,opt,name=timestamp,proto3" json:"timestamp,omitempty"` + ExtraData string `protobuf:"bytes,11,opt,name=extra_data,proto3" json:"extra_data,omitempty"` + BaseFeePerGas string `protobuf:"bytes,12,opt,name=base_fee_per_gas,proto3" json:"base_fee_per_gas,omitempty"` + BlockHash string `protobuf:"bytes,13,opt,name=block_hash,proto3" json:"block_hash,omitempty"` + Transactions []string `protobuf:"bytes,14,rep,name=transactions,proto3" json:"transactions,omitempty"` +} + +func (x *ExecutionPayloadV2) Reset() { + *x = ExecutionPayloadV2{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_eth_v1_execution_engine_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExecutionPayloadV2) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExecutionPayloadV2) ProtoMessage() {} + +func (x *ExecutionPayloadV2) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_eth_v1_execution_engine_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExecutionPayloadV2.ProtoReflect.Descriptor instead. +func (*ExecutionPayloadV2) Descriptor() ([]byte, []int) { + return file_pkg_proto_eth_v1_execution_engine_proto_rawDescGZIP(), []int{1} +} + +func (x *ExecutionPayloadV2) GetParentHash() string { + if x != nil { + return x.ParentHash + } + return "" +} + +func (x *ExecutionPayloadV2) GetFeeRecipient() string { + if x != nil { + return x.FeeRecipient + } + return "" +} + +func (x *ExecutionPayloadV2) GetStateRoot() string { + if x != nil { + return x.StateRoot + } + return "" +} + +func (x *ExecutionPayloadV2) GetReceiptsRoot() string { + if x != nil { + return x.ReceiptsRoot + } + return "" +} + +func (x *ExecutionPayloadV2) GetLogsBloom() string { + if x != nil { + return x.LogsBloom + } + return "" +} + +func (x *ExecutionPayloadV2) GetPrevRandao() string { + if x != nil { + return x.PrevRandao + } + return "" +} + +func (x *ExecutionPayloadV2) GetBlockNumber() *wrapperspb.UInt64Value { + if x != nil { + return x.BlockNumber + } + return nil +} + +func (x *ExecutionPayloadV2) GetGasLimit() *wrapperspb.UInt64Value { if x != nil { - return x.BlockNumberV2 + return x.GasLimit } return nil } -func (x *ExecutionPayload) GetGasLimitV2() *wrapperspb.UInt64Value { +func (x *ExecutionPayloadV2) GetGasUsed() *wrapperspb.UInt64Value { if x != nil { - return x.GasLimitV2 + return x.GasUsed } return nil } -func (x *ExecutionPayload) GetGasUsedV2() *wrapperspb.UInt64Value { +func (x *ExecutionPayloadV2) GetTimestamp() *wrapperspb.UInt64Value { if x != nil { - return x.GasUsedV2 + return x.Timestamp } return nil } -func (x *ExecutionPayload) GetTimestampV2() *wrapperspb.UInt64Value { +func (x *ExecutionPayloadV2) GetExtraData() string { + if x != nil { + return x.ExtraData + } + return "" +} + +func (x *ExecutionPayloadV2) GetBaseFeePerGas() string { + if x != nil { + return x.BaseFeePerGas + } + return "" +} + +func (x *ExecutionPayloadV2) GetBlockHash() string { if x != nil { - return x.TimestampV2 + return x.BlockHash + } + return "" +} + +func (x *ExecutionPayloadV2) GetTransactions() []string { + if x != nil { + return x.Transactions } return nil } @@ -221,34 +332,26 @@ type ExecutionPayloadHeader struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ParentHash string `protobuf:"bytes,1,opt,name=parent_hash,proto3" json:"parent_hash,omitempty"` - FeeRecipient string `protobuf:"bytes,2,opt,name=fee_recipient,proto3" json:"fee_recipient,omitempty"` - StateRoot string `protobuf:"bytes,3,opt,name=state_root,proto3" json:"state_root,omitempty"` - ReceiptsRoot string `protobuf:"bytes,4,opt,name=receipts_root,proto3" json:"receipts_root,omitempty"` - LogsBloom string `protobuf:"bytes,5,opt,name=logs_bloom,proto3" json:"logs_bloom,omitempty"` - PrevRandao string `protobuf:"bytes,6,opt,name=prev_randao,proto3" json:"prev_randao,omitempty"` - // Deprecated: Marked as deprecated in pkg/proto/eth/v1/execution_engine.proto. - BlockNumber uint64 `protobuf:"varint,7,opt,name=block_number,proto3" json:"block_number,omitempty"` - // Deprecated: Marked as deprecated in pkg/proto/eth/v1/execution_engine.proto. - GasLimit uint64 `protobuf:"varint,8,opt,name=gas_limit,proto3" json:"gas_limit,omitempty"` - // Deprecated: Marked as deprecated in pkg/proto/eth/v1/execution_engine.proto. - GasUsed uint64 `protobuf:"varint,9,opt,name=gas_used,proto3" json:"gas_used,omitempty"` - // Deprecated: Marked as deprecated in pkg/proto/eth/v1/execution_engine.proto. - Timestamp uint64 `protobuf:"varint,10,opt,name=timestamp,proto3" json:"timestamp,omitempty"` - ExtraData string `protobuf:"bytes,11,opt,name=extra_data,proto3" json:"extra_data,omitempty"` - BaseFeePerGas string `protobuf:"bytes,12,opt,name=base_fee_per_gas,proto3" json:"base_fee_per_gas,omitempty"` - BlockHash string `protobuf:"bytes,13,opt,name=block_hash,proto3" json:"block_hash,omitempty"` - TransactionsRoot string `protobuf:"bytes,14,opt,name=transactions_root,proto3" json:"transactions_root,omitempty"` - BlockNumberV2 *wrapperspb.UInt64Value `protobuf:"bytes,15,opt,name=block_number_v2,proto3" json:"block_number_v2,omitempty"` - GasLimitV2 *wrapperspb.UInt64Value `protobuf:"bytes,16,opt,name=gas_limit_v2,proto3" json:"gas_limit_v2,omitempty"` - GasUsedV2 *wrapperspb.UInt64Value `protobuf:"bytes,17,opt,name=gas_used_v2,proto3" json:"gas_used_v2,omitempty"` - TimestampV2 *wrapperspb.UInt64Value `protobuf:"bytes,18,opt,name=timestamp_v2,proto3" json:"timestamp_v2,omitempty"` + ParentHash string `protobuf:"bytes,1,opt,name=parent_hash,proto3" json:"parent_hash,omitempty"` + FeeRecipient string `protobuf:"bytes,2,opt,name=fee_recipient,proto3" json:"fee_recipient,omitempty"` + StateRoot string `protobuf:"bytes,3,opt,name=state_root,proto3" json:"state_root,omitempty"` + ReceiptsRoot string `protobuf:"bytes,4,opt,name=receipts_root,proto3" json:"receipts_root,omitempty"` + LogsBloom string `protobuf:"bytes,5,opt,name=logs_bloom,proto3" json:"logs_bloom,omitempty"` + PrevRandao string `protobuf:"bytes,6,opt,name=prev_randao,proto3" json:"prev_randao,omitempty"` + BlockNumber uint64 `protobuf:"varint,7,opt,name=block_number,proto3" json:"block_number,omitempty"` + GasLimit uint64 `protobuf:"varint,8,opt,name=gas_limit,proto3" json:"gas_limit,omitempty"` + GasUsed uint64 `protobuf:"varint,9,opt,name=gas_used,proto3" json:"gas_used,omitempty"` + Timestamp uint64 `protobuf:"varint,10,opt,name=timestamp,proto3" json:"timestamp,omitempty"` + ExtraData string `protobuf:"bytes,11,opt,name=extra_data,proto3" json:"extra_data,omitempty"` + BaseFeePerGas string `protobuf:"bytes,12,opt,name=base_fee_per_gas,proto3" json:"base_fee_per_gas,omitempty"` + BlockHash string `protobuf:"bytes,13,opt,name=block_hash,proto3" json:"block_hash,omitempty"` + TransactionsRoot string `protobuf:"bytes,14,opt,name=transactions_root,proto3" json:"transactions_root,omitempty"` } func (x *ExecutionPayloadHeader) Reset() { *x = ExecutionPayloadHeader{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_eth_v1_execution_engine_proto_msgTypes[1] + mi := &file_pkg_proto_eth_v1_execution_engine_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -261,7 +364,7 @@ func (x *ExecutionPayloadHeader) String() string { func (*ExecutionPayloadHeader) ProtoMessage() {} func (x *ExecutionPayloadHeader) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_eth_v1_execution_engine_proto_msgTypes[1] + mi := &file_pkg_proto_eth_v1_execution_engine_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -274,7 +377,7 @@ func (x *ExecutionPayloadHeader) ProtoReflect() protoreflect.Message { // Deprecated: Use ExecutionPayloadHeader.ProtoReflect.Descriptor instead. func (*ExecutionPayloadHeader) Descriptor() ([]byte, []int) { - return file_pkg_proto_eth_v1_execution_engine_proto_rawDescGZIP(), []int{1} + return file_pkg_proto_eth_v1_execution_engine_proto_rawDescGZIP(), []int{2} } func (x *ExecutionPayloadHeader) GetParentHash() string { @@ -319,7 +422,6 @@ func (x *ExecutionPayloadHeader) GetPrevRandao() string { return "" } -// Deprecated: Marked as deprecated in pkg/proto/eth/v1/execution_engine.proto. func (x *ExecutionPayloadHeader) GetBlockNumber() uint64 { if x != nil { return x.BlockNumber @@ -327,7 +429,6 @@ func (x *ExecutionPayloadHeader) GetBlockNumber() uint64 { return 0 } -// Deprecated: Marked as deprecated in pkg/proto/eth/v1/execution_engine.proto. func (x *ExecutionPayloadHeader) GetGasLimit() uint64 { if x != nil { return x.GasLimit @@ -335,7 +436,6 @@ func (x *ExecutionPayloadHeader) GetGasLimit() uint64 { return 0 } -// Deprecated: Marked as deprecated in pkg/proto/eth/v1/execution_engine.proto. func (x *ExecutionPayloadHeader) GetGasUsed() uint64 { if x != nil { return x.GasUsed @@ -343,7 +443,6 @@ func (x *ExecutionPayloadHeader) GetGasUsed() uint64 { return 0 } -// Deprecated: Marked as deprecated in pkg/proto/eth/v1/execution_engine.proto. func (x *ExecutionPayloadHeader) GetTimestamp() uint64 { if x != nil { return x.Timestamp @@ -379,68 +478,183 @@ func (x *ExecutionPayloadHeader) GetTransactionsRoot() string { return "" } -func (x *ExecutionPayloadHeader) GetBlockNumberV2() *wrapperspb.UInt64Value { +type ExecutionPayloadHeaderV2 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ParentHash string `protobuf:"bytes,1,opt,name=parent_hash,proto3" json:"parent_hash,omitempty"` + FeeRecipient string `protobuf:"bytes,2,opt,name=fee_recipient,proto3" json:"fee_recipient,omitempty"` + StateRoot string `protobuf:"bytes,3,opt,name=state_root,proto3" json:"state_root,omitempty"` + ReceiptsRoot string `protobuf:"bytes,4,opt,name=receipts_root,proto3" json:"receipts_root,omitempty"` + LogsBloom string `protobuf:"bytes,5,opt,name=logs_bloom,proto3" json:"logs_bloom,omitempty"` + PrevRandao string `protobuf:"bytes,6,opt,name=prev_randao,proto3" json:"prev_randao,omitempty"` + BlockNumber *wrapperspb.UInt64Value `protobuf:"bytes,7,opt,name=block_number,proto3" json:"block_number,omitempty"` + GasLimit *wrapperspb.UInt64Value `protobuf:"bytes,8,opt,name=gas_limit,proto3" json:"gas_limit,omitempty"` + GasUsed *wrapperspb.UInt64Value `protobuf:"bytes,9,opt,name=gas_used,proto3" json:"gas_used,omitempty"` + Timestamp *wrapperspb.UInt64Value `protobuf:"bytes,10,opt,name=timestamp,proto3" json:"timestamp,omitempty"` + ExtraData string `protobuf:"bytes,11,opt,name=extra_data,proto3" json:"extra_data,omitempty"` + BaseFeePerGas string `protobuf:"bytes,12,opt,name=base_fee_per_gas,proto3" json:"base_fee_per_gas,omitempty"` + BlockHash string `protobuf:"bytes,13,opt,name=block_hash,proto3" json:"block_hash,omitempty"` + TransactionsRoot string `protobuf:"bytes,14,opt,name=transactions_root,proto3" json:"transactions_root,omitempty"` +} + +func (x *ExecutionPayloadHeaderV2) Reset() { + *x = ExecutionPayloadHeaderV2{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_eth_v1_execution_engine_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExecutionPayloadHeaderV2) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExecutionPayloadHeaderV2) ProtoMessage() {} + +func (x *ExecutionPayloadHeaderV2) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_eth_v1_execution_engine_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExecutionPayloadHeaderV2.ProtoReflect.Descriptor instead. +func (*ExecutionPayloadHeaderV2) Descriptor() ([]byte, []int) { + return file_pkg_proto_eth_v1_execution_engine_proto_rawDescGZIP(), []int{3} +} + +func (x *ExecutionPayloadHeaderV2) GetParentHash() string { + if x != nil { + return x.ParentHash + } + return "" +} + +func (x *ExecutionPayloadHeaderV2) GetFeeRecipient() string { + if x != nil { + return x.FeeRecipient + } + return "" +} + +func (x *ExecutionPayloadHeaderV2) GetStateRoot() string { if x != nil { - return x.BlockNumberV2 + return x.StateRoot + } + return "" +} + +func (x *ExecutionPayloadHeaderV2) GetReceiptsRoot() string { + if x != nil { + return x.ReceiptsRoot + } + return "" +} + +func (x *ExecutionPayloadHeaderV2) GetLogsBloom() string { + if x != nil { + return x.LogsBloom + } + return "" +} + +func (x *ExecutionPayloadHeaderV2) GetPrevRandao() string { + if x != nil { + return x.PrevRandao + } + return "" +} + +func (x *ExecutionPayloadHeaderV2) GetBlockNumber() *wrapperspb.UInt64Value { + if x != nil { + return x.BlockNumber } return nil } -func (x *ExecutionPayloadHeader) GetGasLimitV2() *wrapperspb.UInt64Value { +func (x *ExecutionPayloadHeaderV2) GetGasLimit() *wrapperspb.UInt64Value { if x != nil { - return x.GasLimitV2 + return x.GasLimit } return nil } -func (x *ExecutionPayloadHeader) GetGasUsedV2() *wrapperspb.UInt64Value { +func (x *ExecutionPayloadHeaderV2) GetGasUsed() *wrapperspb.UInt64Value { if x != nil { - return x.GasUsedV2 + return x.GasUsed } return nil } -func (x *ExecutionPayloadHeader) GetTimestampV2() *wrapperspb.UInt64Value { +func (x *ExecutionPayloadHeaderV2) GetTimestamp() *wrapperspb.UInt64Value { if x != nil { - return x.TimestampV2 + return x.Timestamp } return nil } +func (x *ExecutionPayloadHeaderV2) GetExtraData() string { + if x != nil { + return x.ExtraData + } + return "" +} + +func (x *ExecutionPayloadHeaderV2) GetBaseFeePerGas() string { + if x != nil { + return x.BaseFeePerGas + } + return "" +} + +func (x *ExecutionPayloadHeaderV2) GetBlockHash() string { + if x != nil { + return x.BlockHash + } + return "" +} + +func (x *ExecutionPayloadHeaderV2) GetTransactionsRoot() string { + if x != nil { + return x.TransactionsRoot + } + return "" +} + type ExecutionPayloadCapella struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ParentHash string `protobuf:"bytes,1,opt,name=parent_hash,proto3" json:"parent_hash,omitempty"` - FeeRecipient string `protobuf:"bytes,2,opt,name=fee_recipient,proto3" json:"fee_recipient,omitempty"` - StateRoot string `protobuf:"bytes,3,opt,name=state_root,proto3" json:"state_root,omitempty"` - ReceiptsRoot string `protobuf:"bytes,4,opt,name=receipts_root,proto3" json:"receipts_root,omitempty"` - LogsBloom string `protobuf:"bytes,5,opt,name=logs_bloom,proto3" json:"logs_bloom,omitempty"` - PrevRandao string `protobuf:"bytes,6,opt,name=prev_randao,proto3" json:"prev_randao,omitempty"` - // Deprecated: Marked as deprecated in pkg/proto/eth/v1/execution_engine.proto. - BlockNumber uint64 `protobuf:"varint,7,opt,name=block_number,proto3" json:"block_number,omitempty"` - // Deprecated: Marked as deprecated in pkg/proto/eth/v1/execution_engine.proto. - GasLimit uint64 `protobuf:"varint,8,opt,name=gas_limit,proto3" json:"gas_limit,omitempty"` - // Deprecated: Marked as deprecated in pkg/proto/eth/v1/execution_engine.proto. - GasUsed uint64 `protobuf:"varint,9,opt,name=gas_used,proto3" json:"gas_used,omitempty"` - // Deprecated: Marked as deprecated in pkg/proto/eth/v1/execution_engine.proto. - Timestamp uint64 `protobuf:"varint,10,opt,name=timestamp,proto3" json:"timestamp,omitempty"` - ExtraData string `protobuf:"bytes,11,opt,name=extra_data,proto3" json:"extra_data,omitempty"` - BaseFeePerGas string `protobuf:"bytes,12,opt,name=base_fee_per_gas,proto3" json:"base_fee_per_gas,omitempty"` - BlockHash string `protobuf:"bytes,13,opt,name=block_hash,proto3" json:"block_hash,omitempty"` - Transactions []string `protobuf:"bytes,14,rep,name=transactions,proto3" json:"transactions,omitempty"` - Withdrawals []*Withdrawal `protobuf:"bytes,15,rep,name=withdrawals,proto3" json:"withdrawals,omitempty"` - BlockNumberV2 *wrapperspb.UInt64Value `protobuf:"bytes,16,opt,name=block_number_v2,proto3" json:"block_number_v2,omitempty"` - GasLimitV2 *wrapperspb.UInt64Value `protobuf:"bytes,17,opt,name=gas_limit_v2,proto3" json:"gas_limit_v2,omitempty"` - GasUsedV2 *wrapperspb.UInt64Value `protobuf:"bytes,18,opt,name=gas_used_v2,proto3" json:"gas_used_v2,omitempty"` - TimestampV2 *wrapperspb.UInt64Value `protobuf:"bytes,19,opt,name=timestamp_v2,proto3" json:"timestamp_v2,omitempty"` + ParentHash string `protobuf:"bytes,1,opt,name=parent_hash,proto3" json:"parent_hash,omitempty"` + FeeRecipient string `protobuf:"bytes,2,opt,name=fee_recipient,proto3" json:"fee_recipient,omitempty"` + StateRoot string `protobuf:"bytes,3,opt,name=state_root,proto3" json:"state_root,omitempty"` + ReceiptsRoot string `protobuf:"bytes,4,opt,name=receipts_root,proto3" json:"receipts_root,omitempty"` + LogsBloom string `protobuf:"bytes,5,opt,name=logs_bloom,proto3" json:"logs_bloom,omitempty"` + PrevRandao string `protobuf:"bytes,6,opt,name=prev_randao,proto3" json:"prev_randao,omitempty"` + BlockNumber uint64 `protobuf:"varint,7,opt,name=block_number,proto3" json:"block_number,omitempty"` + GasLimit uint64 `protobuf:"varint,8,opt,name=gas_limit,proto3" json:"gas_limit,omitempty"` + GasUsed uint64 `protobuf:"varint,9,opt,name=gas_used,proto3" json:"gas_used,omitempty"` + Timestamp uint64 `protobuf:"varint,10,opt,name=timestamp,proto3" json:"timestamp,omitempty"` + ExtraData string `protobuf:"bytes,11,opt,name=extra_data,proto3" json:"extra_data,omitempty"` + BaseFeePerGas string `protobuf:"bytes,12,opt,name=base_fee_per_gas,proto3" json:"base_fee_per_gas,omitempty"` + BlockHash string `protobuf:"bytes,13,opt,name=block_hash,proto3" json:"block_hash,omitempty"` + Transactions []string `protobuf:"bytes,14,rep,name=transactions,proto3" json:"transactions,omitempty"` + Withdrawals []*Withdrawal `protobuf:"bytes,15,rep,name=withdrawals,proto3" json:"withdrawals,omitempty"` } func (x *ExecutionPayloadCapella) Reset() { *x = ExecutionPayloadCapella{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_eth_v1_execution_engine_proto_msgTypes[2] + mi := &file_pkg_proto_eth_v1_execution_engine_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -453,7 +667,7 @@ func (x *ExecutionPayloadCapella) String() string { func (*ExecutionPayloadCapella) ProtoMessage() {} func (x *ExecutionPayloadCapella) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_eth_v1_execution_engine_proto_msgTypes[2] + mi := &file_pkg_proto_eth_v1_execution_engine_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -466,7 +680,7 @@ func (x *ExecutionPayloadCapella) ProtoReflect() protoreflect.Message { // Deprecated: Use ExecutionPayloadCapella.ProtoReflect.Descriptor instead. func (*ExecutionPayloadCapella) Descriptor() ([]byte, []int) { - return file_pkg_proto_eth_v1_execution_engine_proto_rawDescGZIP(), []int{2} + return file_pkg_proto_eth_v1_execution_engine_proto_rawDescGZIP(), []int{4} } func (x *ExecutionPayloadCapella) GetParentHash() string { @@ -511,7 +725,6 @@ func (x *ExecutionPayloadCapella) GetPrevRandao() string { return "" } -// Deprecated: Marked as deprecated in pkg/proto/eth/v1/execution_engine.proto. func (x *ExecutionPayloadCapella) GetBlockNumber() uint64 { if x != nil { return x.BlockNumber @@ -519,7 +732,6 @@ func (x *ExecutionPayloadCapella) GetBlockNumber() uint64 { return 0 } -// Deprecated: Marked as deprecated in pkg/proto/eth/v1/execution_engine.proto. func (x *ExecutionPayloadCapella) GetGasLimit() uint64 { if x != nil { return x.GasLimit @@ -527,7 +739,6 @@ func (x *ExecutionPayloadCapella) GetGasLimit() uint64 { return 0 } -// Deprecated: Marked as deprecated in pkg/proto/eth/v1/execution_engine.proto. func (x *ExecutionPayloadCapella) GetGasUsed() uint64 { if x != nil { return x.GasUsed @@ -535,7 +746,6 @@ func (x *ExecutionPayloadCapella) GetGasUsed() uint64 { return 0 } -// Deprecated: Marked as deprecated in pkg/proto/eth/v1/execution_engine.proto. func (x *ExecutionPayloadCapella) GetTimestamp() uint64 { if x != nil { return x.Timestamp @@ -578,68 +788,193 @@ func (x *ExecutionPayloadCapella) GetWithdrawals() []*Withdrawal { return nil } -func (x *ExecutionPayloadCapella) GetBlockNumberV2() *wrapperspb.UInt64Value { - if x != nil { - return x.BlockNumberV2 - } - return nil -} - -func (x *ExecutionPayloadCapella) GetGasLimitV2() *wrapperspb.UInt64Value { - if x != nil { - return x.GasLimitV2 - } - return nil -} - -func (x *ExecutionPayloadCapella) GetGasUsedV2() *wrapperspb.UInt64Value { - if x != nil { - return x.GasUsedV2 - } - return nil -} - -func (x *ExecutionPayloadCapella) GetTimestampV2() *wrapperspb.UInt64Value { - if x != nil { - return x.TimestampV2 - } - return nil -} - -type Withdrawal struct { +type ExecutionPayloadCapellaV2 struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Deprecated: Marked as deprecated in pkg/proto/eth/v1/execution_engine.proto. - Index uint64 `protobuf:"varint,1,opt,name=index,proto3" json:"index,omitempty"` - // Deprecated: Marked as deprecated in pkg/proto/eth/v1/execution_engine.proto. - ValidatorIndex uint64 `protobuf:"varint,2,opt,name=validator_index,proto3" json:"validator_index,omitempty"` - Address string `protobuf:"bytes,3,opt,name=address,proto3" json:"address,omitempty"` - // Deprecated: Marked as deprecated in pkg/proto/eth/v1/execution_engine.proto. - Amount uint64 `protobuf:"varint,4,opt,name=amount,proto3" json:"amount,omitempty"` - IndexV2 *wrapperspb.UInt64Value `protobuf:"bytes,5,opt,name=index_v2,proto3" json:"index_v2,omitempty"` - ValidatorIndexV2 *wrapperspb.UInt64Value `protobuf:"bytes,6,opt,name=validator_index_v2,proto3" json:"validator_index_v2,omitempty"` - AmountV2 *wrapperspb.UInt64Value `protobuf:"bytes,7,opt,name=amount_v2,proto3" json:"amount_v2,omitempty"` + ParentHash string `protobuf:"bytes,1,opt,name=parent_hash,proto3" json:"parent_hash,omitempty"` + FeeRecipient string `protobuf:"bytes,2,opt,name=fee_recipient,proto3" json:"fee_recipient,omitempty"` + StateRoot string `protobuf:"bytes,3,opt,name=state_root,proto3" json:"state_root,omitempty"` + ReceiptsRoot string `protobuf:"bytes,4,opt,name=receipts_root,proto3" json:"receipts_root,omitempty"` + LogsBloom string `protobuf:"bytes,5,opt,name=logs_bloom,proto3" json:"logs_bloom,omitempty"` + PrevRandao string `protobuf:"bytes,6,opt,name=prev_randao,proto3" json:"prev_randao,omitempty"` + BlockNumber *wrapperspb.UInt64Value `protobuf:"bytes,7,opt,name=block_number,proto3" json:"block_number,omitempty"` + GasLimit *wrapperspb.UInt64Value `protobuf:"bytes,8,opt,name=gas_limit,proto3" json:"gas_limit,omitempty"` + GasUsed *wrapperspb.UInt64Value `protobuf:"bytes,9,opt,name=gas_used,proto3" json:"gas_used,omitempty"` + Timestamp *wrapperspb.UInt64Value `protobuf:"bytes,10,opt,name=timestamp,proto3" json:"timestamp,omitempty"` + ExtraData string `protobuf:"bytes,11,opt,name=extra_data,proto3" json:"extra_data,omitempty"` + BaseFeePerGas string `protobuf:"bytes,12,opt,name=base_fee_per_gas,proto3" json:"base_fee_per_gas,omitempty"` + BlockHash string `protobuf:"bytes,13,opt,name=block_hash,proto3" json:"block_hash,omitempty"` + Transactions []string `protobuf:"bytes,14,rep,name=transactions,proto3" json:"transactions,omitempty"` + Withdrawals []*WithdrawalV2 `protobuf:"bytes,15,rep,name=withdrawals,proto3" json:"withdrawals,omitempty"` } -func (x *Withdrawal) Reset() { - *x = Withdrawal{} +func (x *ExecutionPayloadCapellaV2) Reset() { + *x = ExecutionPayloadCapellaV2{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_eth_v1_execution_engine_proto_msgTypes[3] + mi := &file_pkg_proto_eth_v1_execution_engine_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *Withdrawal) String() string { +func (x *ExecutionPayloadCapellaV2) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Withdrawal) ProtoMessage() {} +func (*ExecutionPayloadCapellaV2) ProtoMessage() {} -func (x *Withdrawal) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_eth_v1_execution_engine_proto_msgTypes[3] +func (x *ExecutionPayloadCapellaV2) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_eth_v1_execution_engine_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExecutionPayloadCapellaV2.ProtoReflect.Descriptor instead. +func (*ExecutionPayloadCapellaV2) Descriptor() ([]byte, []int) { + return file_pkg_proto_eth_v1_execution_engine_proto_rawDescGZIP(), []int{5} +} + +func (x *ExecutionPayloadCapellaV2) GetParentHash() string { + if x != nil { + return x.ParentHash + } + return "" +} + +func (x *ExecutionPayloadCapellaV2) GetFeeRecipient() string { + if x != nil { + return x.FeeRecipient + } + return "" +} + +func (x *ExecutionPayloadCapellaV2) GetStateRoot() string { + if x != nil { + return x.StateRoot + } + return "" +} + +func (x *ExecutionPayloadCapellaV2) GetReceiptsRoot() string { + if x != nil { + return x.ReceiptsRoot + } + return "" +} + +func (x *ExecutionPayloadCapellaV2) GetLogsBloom() string { + if x != nil { + return x.LogsBloom + } + return "" +} + +func (x *ExecutionPayloadCapellaV2) GetPrevRandao() string { + if x != nil { + return x.PrevRandao + } + return "" +} + +func (x *ExecutionPayloadCapellaV2) GetBlockNumber() *wrapperspb.UInt64Value { + if x != nil { + return x.BlockNumber + } + return nil +} + +func (x *ExecutionPayloadCapellaV2) GetGasLimit() *wrapperspb.UInt64Value { + if x != nil { + return x.GasLimit + } + return nil +} + +func (x *ExecutionPayloadCapellaV2) GetGasUsed() *wrapperspb.UInt64Value { + if x != nil { + return x.GasUsed + } + return nil +} + +func (x *ExecutionPayloadCapellaV2) GetTimestamp() *wrapperspb.UInt64Value { + if x != nil { + return x.Timestamp + } + return nil +} + +func (x *ExecutionPayloadCapellaV2) GetExtraData() string { + if x != nil { + return x.ExtraData + } + return "" +} + +func (x *ExecutionPayloadCapellaV2) GetBaseFeePerGas() string { + if x != nil { + return x.BaseFeePerGas + } + return "" +} + +func (x *ExecutionPayloadCapellaV2) GetBlockHash() string { + if x != nil { + return x.BlockHash + } + return "" +} + +func (x *ExecutionPayloadCapellaV2) GetTransactions() []string { + if x != nil { + return x.Transactions + } + return nil +} + +func (x *ExecutionPayloadCapellaV2) GetWithdrawals() []*WithdrawalV2 { + if x != nil { + return x.Withdrawals + } + return nil +} + +type Withdrawal struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Index uint64 `protobuf:"varint,1,opt,name=index,proto3" json:"index,omitempty"` + ValidatorIndex uint64 `protobuf:"varint,2,opt,name=validator_index,proto3" json:"validator_index,omitempty"` + Address string `protobuf:"bytes,3,opt,name=address,proto3" json:"address,omitempty"` + Amount uint64 `protobuf:"varint,4,opt,name=amount,proto3" json:"amount,omitempty"` +} + +func (x *Withdrawal) Reset() { + *x = Withdrawal{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_eth_v1_execution_engine_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Withdrawal) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Withdrawal) ProtoMessage() {} + +func (x *Withdrawal) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_eth_v1_execution_engine_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -652,10 +987,9 @@ func (x *Withdrawal) ProtoReflect() protoreflect.Message { // Deprecated: Use Withdrawal.ProtoReflect.Descriptor instead. func (*Withdrawal) Descriptor() ([]byte, []int) { - return file_pkg_proto_eth_v1_execution_engine_proto_rawDescGZIP(), []int{3} + return file_pkg_proto_eth_v1_execution_engine_proto_rawDescGZIP(), []int{6} } -// Deprecated: Marked as deprecated in pkg/proto/eth/v1/execution_engine.proto. func (x *Withdrawal) GetIndex() uint64 { if x != nil { return x.Index @@ -663,7 +997,6 @@ func (x *Withdrawal) GetIndex() uint64 { return 0 } -// Deprecated: Marked as deprecated in pkg/proto/eth/v1/execution_engine.proto. func (x *Withdrawal) GetValidatorIndex() uint64 { if x != nil { return x.ValidatorIndex @@ -678,7 +1011,6 @@ func (x *Withdrawal) GetAddress() string { return "" } -// Deprecated: Marked as deprecated in pkg/proto/eth/v1/execution_engine.proto. func (x *Withdrawal) GetAmount() uint64 { if x != nil { return x.Amount @@ -686,23 +1018,73 @@ func (x *Withdrawal) GetAmount() uint64 { return 0 } -func (x *Withdrawal) GetIndexV2() *wrapperspb.UInt64Value { +type WithdrawalV2 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Index *wrapperspb.UInt64Value `protobuf:"bytes,1,opt,name=index,proto3" json:"index,omitempty"` + ValidatorIndex *wrapperspb.UInt64Value `protobuf:"bytes,2,opt,name=validator_index,proto3" json:"validator_index,omitempty"` + Address string `protobuf:"bytes,3,opt,name=address,proto3" json:"address,omitempty"` + Amount *wrapperspb.UInt64Value `protobuf:"bytes,4,opt,name=amount,proto3" json:"amount,omitempty"` +} + +func (x *WithdrawalV2) Reset() { + *x = WithdrawalV2{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_eth_v1_execution_engine_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WithdrawalV2) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WithdrawalV2) ProtoMessage() {} + +func (x *WithdrawalV2) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_eth_v1_execution_engine_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WithdrawalV2.ProtoReflect.Descriptor instead. +func (*WithdrawalV2) Descriptor() ([]byte, []int) { + return file_pkg_proto_eth_v1_execution_engine_proto_rawDescGZIP(), []int{7} +} + +func (x *WithdrawalV2) GetIndex() *wrapperspb.UInt64Value { if x != nil { - return x.IndexV2 + return x.Index } return nil } -func (x *Withdrawal) GetValidatorIndexV2() *wrapperspb.UInt64Value { +func (x *WithdrawalV2) GetValidatorIndex() *wrapperspb.UInt64Value { if x != nil { - return x.ValidatorIndexV2 + return x.ValidatorIndex } return nil } -func (x *Withdrawal) GetAmountV2() *wrapperspb.UInt64Value { +func (x *WithdrawalV2) GetAddress() string { if x != nil { - return x.AmountV2 + return x.Address + } + return "" +} + +func (x *WithdrawalV2) GetAmount() *wrapperspb.UInt64Value { + if x != nil { + return x.Amount } return nil } @@ -712,35 +1094,27 @@ type ExecutionPayloadHeaderCapella struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ParentHash string `protobuf:"bytes,1,opt,name=parent_hash,proto3" json:"parent_hash,omitempty"` - FeeRecipient string `protobuf:"bytes,2,opt,name=fee_recipient,proto3" json:"fee_recipient,omitempty"` - StateRoot string `protobuf:"bytes,3,opt,name=state_root,proto3" json:"state_root,omitempty"` - ReceiptsRoot string `protobuf:"bytes,4,opt,name=receipts_root,proto3" json:"receipts_root,omitempty"` - LogsBloom string `protobuf:"bytes,5,opt,name=logs_bloom,proto3" json:"logs_bloom,omitempty"` - PrevRandao string `protobuf:"bytes,6,opt,name=prev_randao,proto3" json:"prev_randao,omitempty"` - // Deprecated: Marked as deprecated in pkg/proto/eth/v1/execution_engine.proto. - BlockNumber uint64 `protobuf:"varint,7,opt,name=block_number,proto3" json:"block_number,omitempty"` - // Deprecated: Marked as deprecated in pkg/proto/eth/v1/execution_engine.proto. - GasLimit uint64 `protobuf:"varint,8,opt,name=gas_limit,proto3" json:"gas_limit,omitempty"` - // Deprecated: Marked as deprecated in pkg/proto/eth/v1/execution_engine.proto. - GasUsed uint64 `protobuf:"varint,9,opt,name=gas_used,proto3" json:"gas_used,omitempty"` - // Deprecated: Marked as deprecated in pkg/proto/eth/v1/execution_engine.proto. - Timestamp uint64 `protobuf:"varint,10,opt,name=timestamp,proto3" json:"timestamp,omitempty"` - ExtraData string `protobuf:"bytes,11,opt,name=extra_data,proto3" json:"extra_data,omitempty"` - BaseFeePerGas string `protobuf:"bytes,12,opt,name=base_fee_per_gas,proto3" json:"base_fee_per_gas,omitempty"` - BlockHash string `protobuf:"bytes,13,opt,name=block_hash,proto3" json:"block_hash,omitempty"` - TransactionsRoot string `protobuf:"bytes,14,opt,name=transactions_root,proto3" json:"transactions_root,omitempty"` - WithdrawalsRoot string `protobuf:"bytes,15,opt,name=withdrawals_root,proto3" json:"withdrawals_root,omitempty"` - BlockNumberV2 *wrapperspb.UInt64Value `protobuf:"bytes,16,opt,name=block_number_v2,proto3" json:"block_number_v2,omitempty"` - GasLimitV2 *wrapperspb.UInt64Value `protobuf:"bytes,17,opt,name=gas_limit_v2,proto3" json:"gas_limit_v2,omitempty"` - GasUsedV2 *wrapperspb.UInt64Value `protobuf:"bytes,18,opt,name=gas_used_v2,proto3" json:"gas_used_v2,omitempty"` - TimestampV2 *wrapperspb.UInt64Value `protobuf:"bytes,19,opt,name=timestamp_v2,proto3" json:"timestamp_v2,omitempty"` + ParentHash string `protobuf:"bytes,1,opt,name=parent_hash,proto3" json:"parent_hash,omitempty"` + FeeRecipient string `protobuf:"bytes,2,opt,name=fee_recipient,proto3" json:"fee_recipient,omitempty"` + StateRoot string `protobuf:"bytes,3,opt,name=state_root,proto3" json:"state_root,omitempty"` + ReceiptsRoot string `protobuf:"bytes,4,opt,name=receipts_root,proto3" json:"receipts_root,omitempty"` + LogsBloom string `protobuf:"bytes,5,opt,name=logs_bloom,proto3" json:"logs_bloom,omitempty"` + PrevRandao string `protobuf:"bytes,6,opt,name=prev_randao,proto3" json:"prev_randao,omitempty"` + BlockNumber uint64 `protobuf:"varint,7,opt,name=block_number,proto3" json:"block_number,omitempty"` + GasLimit uint64 `protobuf:"varint,8,opt,name=gas_limit,proto3" json:"gas_limit,omitempty"` + GasUsed uint64 `protobuf:"varint,9,opt,name=gas_used,proto3" json:"gas_used,omitempty"` + Timestamp uint64 `protobuf:"varint,10,opt,name=timestamp,proto3" json:"timestamp,omitempty"` + ExtraData string `protobuf:"bytes,11,opt,name=extra_data,proto3" json:"extra_data,omitempty"` + BaseFeePerGas string `protobuf:"bytes,12,opt,name=base_fee_per_gas,proto3" json:"base_fee_per_gas,omitempty"` + BlockHash string `protobuf:"bytes,13,opt,name=block_hash,proto3" json:"block_hash,omitempty"` + TransactionsRoot string `protobuf:"bytes,14,opt,name=transactions_root,proto3" json:"transactions_root,omitempty"` + WithdrawalsRoot string `protobuf:"bytes,15,opt,name=withdrawals_root,proto3" json:"withdrawals_root,omitempty"` } func (x *ExecutionPayloadHeaderCapella) Reset() { *x = ExecutionPayloadHeaderCapella{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_eth_v1_execution_engine_proto_msgTypes[4] + mi := &file_pkg_proto_eth_v1_execution_engine_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -753,7 +1127,7 @@ func (x *ExecutionPayloadHeaderCapella) String() string { func (*ExecutionPayloadHeaderCapella) ProtoMessage() {} func (x *ExecutionPayloadHeaderCapella) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_eth_v1_execution_engine_proto_msgTypes[4] + mi := &file_pkg_proto_eth_v1_execution_engine_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -766,7 +1140,7 @@ func (x *ExecutionPayloadHeaderCapella) ProtoReflect() protoreflect.Message { // Deprecated: Use ExecutionPayloadHeaderCapella.ProtoReflect.Descriptor instead. func (*ExecutionPayloadHeaderCapella) Descriptor() ([]byte, []int) { - return file_pkg_proto_eth_v1_execution_engine_proto_rawDescGZIP(), []int{4} + return file_pkg_proto_eth_v1_execution_engine_proto_rawDescGZIP(), []int{8} } func (x *ExecutionPayloadHeaderCapella) GetParentHash() string { @@ -811,7 +1185,6 @@ func (x *ExecutionPayloadHeaderCapella) GetPrevRandao() string { return "" } -// Deprecated: Marked as deprecated in pkg/proto/eth/v1/execution_engine.proto. func (x *ExecutionPayloadHeaderCapella) GetBlockNumber() uint64 { if x != nil { return x.BlockNumber @@ -819,7 +1192,6 @@ func (x *ExecutionPayloadHeaderCapella) GetBlockNumber() uint64 { return 0 } -// Deprecated: Marked as deprecated in pkg/proto/eth/v1/execution_engine.proto. func (x *ExecutionPayloadHeaderCapella) GetGasLimit() uint64 { if x != nil { return x.GasLimit @@ -827,7 +1199,6 @@ func (x *ExecutionPayloadHeaderCapella) GetGasLimit() uint64 { return 0 } -// Deprecated: Marked as deprecated in pkg/proto/eth/v1/execution_engine.proto. func (x *ExecutionPayloadHeaderCapella) GetGasUsed() uint64 { if x != nil { return x.GasUsed @@ -835,7 +1206,6 @@ func (x *ExecutionPayloadHeaderCapella) GetGasUsed() uint64 { return 0 } -// Deprecated: Marked as deprecated in pkg/proto/eth/v1/execution_engine.proto. func (x *ExecutionPayloadHeaderCapella) GetTimestamp() uint64 { if x != nil { return x.Timestamp @@ -878,34 +1248,165 @@ func (x *ExecutionPayloadHeaderCapella) GetWithdrawalsRoot() string { return "" } -func (x *ExecutionPayloadHeaderCapella) GetBlockNumberV2() *wrapperspb.UInt64Value { +type ExecutionPayloadHeaderCapellaV2 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ParentHash string `protobuf:"bytes,1,opt,name=parent_hash,proto3" json:"parent_hash,omitempty"` + FeeRecipient string `protobuf:"bytes,2,opt,name=fee_recipient,proto3" json:"fee_recipient,omitempty"` + StateRoot string `protobuf:"bytes,3,opt,name=state_root,proto3" json:"state_root,omitempty"` + ReceiptsRoot string `protobuf:"bytes,4,opt,name=receipts_root,proto3" json:"receipts_root,omitempty"` + LogsBloom string `protobuf:"bytes,5,opt,name=logs_bloom,proto3" json:"logs_bloom,omitempty"` + PrevRandao string `protobuf:"bytes,6,opt,name=prev_randao,proto3" json:"prev_randao,omitempty"` + BlockNumber *wrapperspb.UInt64Value `protobuf:"bytes,7,opt,name=block_number,proto3" json:"block_number,omitempty"` + GasLimit *wrapperspb.UInt64Value `protobuf:"bytes,8,opt,name=gas_limit,proto3" json:"gas_limit,omitempty"` + GasUsed *wrapperspb.UInt64Value `protobuf:"bytes,9,opt,name=gas_used,proto3" json:"gas_used,omitempty"` + Timestamp *wrapperspb.UInt64Value `protobuf:"bytes,10,opt,name=timestamp,proto3" json:"timestamp,omitempty"` + ExtraData string `protobuf:"bytes,11,opt,name=extra_data,proto3" json:"extra_data,omitempty"` + BaseFeePerGas string `protobuf:"bytes,12,opt,name=base_fee_per_gas,proto3" json:"base_fee_per_gas,omitempty"` + BlockHash string `protobuf:"bytes,13,opt,name=block_hash,proto3" json:"block_hash,omitempty"` + TransactionsRoot string `protobuf:"bytes,14,opt,name=transactions_root,proto3" json:"transactions_root,omitempty"` + WithdrawalsRoot string `protobuf:"bytes,15,opt,name=withdrawals_root,proto3" json:"withdrawals_root,omitempty"` +} + +func (x *ExecutionPayloadHeaderCapellaV2) Reset() { + *x = ExecutionPayloadHeaderCapellaV2{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_eth_v1_execution_engine_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExecutionPayloadHeaderCapellaV2) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExecutionPayloadHeaderCapellaV2) ProtoMessage() {} + +func (x *ExecutionPayloadHeaderCapellaV2) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_eth_v1_execution_engine_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExecutionPayloadHeaderCapellaV2.ProtoReflect.Descriptor instead. +func (*ExecutionPayloadHeaderCapellaV2) Descriptor() ([]byte, []int) { + return file_pkg_proto_eth_v1_execution_engine_proto_rawDescGZIP(), []int{9} +} + +func (x *ExecutionPayloadHeaderCapellaV2) GetParentHash() string { + if x != nil { + return x.ParentHash + } + return "" +} + +func (x *ExecutionPayloadHeaderCapellaV2) GetFeeRecipient() string { + if x != nil { + return x.FeeRecipient + } + return "" +} + +func (x *ExecutionPayloadHeaderCapellaV2) GetStateRoot() string { if x != nil { - return x.BlockNumberV2 + return x.StateRoot + } + return "" +} + +func (x *ExecutionPayloadHeaderCapellaV2) GetReceiptsRoot() string { + if x != nil { + return x.ReceiptsRoot + } + return "" +} + +func (x *ExecutionPayloadHeaderCapellaV2) GetLogsBloom() string { + if x != nil { + return x.LogsBloom + } + return "" +} + +func (x *ExecutionPayloadHeaderCapellaV2) GetPrevRandao() string { + if x != nil { + return x.PrevRandao + } + return "" +} + +func (x *ExecutionPayloadHeaderCapellaV2) GetBlockNumber() *wrapperspb.UInt64Value { + if x != nil { + return x.BlockNumber } return nil } -func (x *ExecutionPayloadHeaderCapella) GetGasLimitV2() *wrapperspb.UInt64Value { +func (x *ExecutionPayloadHeaderCapellaV2) GetGasLimit() *wrapperspb.UInt64Value { if x != nil { - return x.GasLimitV2 + return x.GasLimit } return nil } -func (x *ExecutionPayloadHeaderCapella) GetGasUsedV2() *wrapperspb.UInt64Value { +func (x *ExecutionPayloadHeaderCapellaV2) GetGasUsed() *wrapperspb.UInt64Value { if x != nil { - return x.GasUsedV2 + return x.GasUsed } return nil } -func (x *ExecutionPayloadHeaderCapella) GetTimestampV2() *wrapperspb.UInt64Value { +func (x *ExecutionPayloadHeaderCapellaV2) GetTimestamp() *wrapperspb.UInt64Value { if x != nil { - return x.TimestampV2 + return x.Timestamp } return nil } +func (x *ExecutionPayloadHeaderCapellaV2) GetExtraData() string { + if x != nil { + return x.ExtraData + } + return "" +} + +func (x *ExecutionPayloadHeaderCapellaV2) GetBaseFeePerGas() string { + if x != nil { + return x.BaseFeePerGas + } + return "" +} + +func (x *ExecutionPayloadHeaderCapellaV2) GetBlockHash() string { + if x != nil { + return x.BlockHash + } + return "" +} + +func (x *ExecutionPayloadHeaderCapellaV2) GetTransactionsRoot() string { + if x != nil { + return x.TransactionsRoot + } + return "" +} + +func (x *ExecutionPayloadHeaderCapellaV2) GetWithdrawalsRoot() string { + if x != nil { + return x.WithdrawalsRoot + } + return "" +} + var File_pkg_proto_eth_v1_execution_engine_proto protoreflect.FileDescriptor var file_pkg_proto_eth_v1_execution_engine_proto_rawDesc = []byte{ @@ -916,7 +1417,7 @@ var file_pkg_proto_eth_v1_execution_engine_proto_rawDesc = []byte{ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, - 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8a, 0x06, 0x0a, 0x10, 0x45, 0x78, 0x65, + 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xee, 0x03, 0x0a, 0x10, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x12, @@ -930,15 +1431,14 @@ var file_pkg_proto_eth_v1_execution_engine_proto_rawDesc = []byte{ 0x6f, 0x67, 0x73, 0x5f, 0x62, 0x6c, 0x6f, 0x6f, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6c, 0x6f, 0x67, 0x73, 0x5f, 0x62, 0x6c, 0x6f, 0x6f, 0x6d, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x72, 0x65, 0x76, 0x5f, 0x72, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0b, 0x70, 0x72, 0x65, 0x76, 0x5f, 0x72, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x12, 0x26, 0x0a, + 0x52, 0x0b, 0x70, 0x72, 0x65, 0x76, 0x5f, 0x72, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x12, 0x22, 0x0a, 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x07, 0x20, - 0x01, 0x28, 0x04, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6e, - 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x20, 0x0a, 0x09, 0x67, 0x61, 0x73, 0x5f, 0x6c, 0x69, 0x6d, - 0x69, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x42, 0x02, 0x18, 0x01, 0x52, 0x09, 0x67, 0x61, - 0x73, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1e, 0x0a, 0x08, 0x67, 0x61, 0x73, 0x5f, 0x75, - 0x73, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x42, 0x02, 0x18, 0x01, 0x52, 0x08, 0x67, - 0x61, 0x73, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x12, 0x20, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x42, 0x02, 0x18, 0x01, 0x52, 0x09, + 0x01, 0x28, 0x04, 0x52, 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, + 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x67, 0x61, 0x73, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x67, 0x61, 0x73, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, + 0x1a, 0x0a, 0x08, 0x67, 0x61, 0x73, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x08, 0x67, 0x61, 0x73, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x74, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1e, 0x0a, 0x0a, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x12, 0x2a, 0x0a, 0x10, 0x62, 0x61, 0x73, @@ -948,25 +1448,8 @@ var file_pkg_proto_eth_v1_execution_engine_proto_rawDesc = []byte{ 0x61, 0x73, 0x68, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x12, 0x22, 0x0a, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x72, 0x61, - 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x46, 0x0a, 0x0f, 0x62, 0x6c, 0x6f, - 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x76, 0x32, 0x18, 0x0f, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x52, 0x0f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x76, - 0x32, 0x12, 0x40, 0x0a, 0x0c, 0x67, 0x61, 0x73, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x76, - 0x32, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0c, 0x67, 0x61, 0x73, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, - 0x5f, 0x76, 0x32, 0x12, 0x3e, 0x0a, 0x0b, 0x67, 0x61, 0x73, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x5f, - 0x76, 0x32, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, - 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0b, 0x67, 0x61, 0x73, 0x5f, 0x75, 0x73, 0x65, 0x64, - 0x5f, 0x76, 0x32, 0x12, 0x40, 0x0a, 0x0c, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x5f, 0x76, 0x32, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, - 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0c, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x5f, 0x76, 0x32, 0x22, 0x9a, 0x06, 0x0a, 0x16, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, - 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, + 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xe8, 0x04, 0x0a, 0x12, 0x45, 0x78, + 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x56, 0x32, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x12, 0x24, 0x0a, 0x0d, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, @@ -980,172 +1463,284 @@ var file_pkg_proto_eth_v1_execution_engine_proto_rawDesc = []byte{ 0x28, 0x09, 0x52, 0x0a, 0x6c, 0x6f, 0x67, 0x73, 0x5f, 0x62, 0x6c, 0x6f, 0x6f, 0x6d, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x72, 0x65, 0x76, 0x5f, 0x72, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x72, 0x65, 0x76, 0x5f, 0x72, 0x61, 0x6e, 0x64, 0x61, 0x6f, - 0x12, 0x26, 0x0a, 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0c, 0x62, 0x6c, 0x6f, 0x63, - 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x20, 0x0a, 0x09, 0x67, 0x61, 0x73, 0x5f, - 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x42, 0x02, 0x18, 0x01, 0x52, - 0x09, 0x67, 0x61, 0x73, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1e, 0x0a, 0x08, 0x67, 0x61, - 0x73, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x42, 0x02, 0x18, 0x01, - 0x52, 0x08, 0x67, 0x61, 0x73, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x12, 0x20, 0x0a, 0x09, 0x74, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x42, 0x02, 0x18, - 0x01, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1e, 0x0a, 0x0a, - 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0a, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x12, 0x2a, 0x0a, 0x10, - 0x62, 0x61, 0x73, 0x65, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x67, 0x61, 0x73, - 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x66, 0x65, 0x65, - 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x67, 0x61, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x62, 0x6c, 0x6f, 0x63, - 0x6b, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x6c, - 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x12, 0x2c, 0x0a, 0x11, 0x74, 0x72, 0x61, 0x6e, - 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x0e, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x11, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x46, 0x0a, 0x0f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, - 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x76, 0x32, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0f, 0x62, - 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x76, 0x32, 0x12, 0x40, - 0x0a, 0x0c, 0x67, 0x61, 0x73, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x76, 0x32, 0x18, 0x10, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, - 0x75, 0x65, 0x52, 0x0c, 0x67, 0x61, 0x73, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x76, 0x32, - 0x12, 0x3e, 0x0a, 0x0b, 0x67, 0x61, 0x73, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x5f, 0x76, 0x32, 0x18, - 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, - 0x6c, 0x75, 0x65, 0x52, 0x0b, 0x67, 0x61, 0x73, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x5f, 0x76, 0x32, - 0x12, 0x40, 0x0a, 0x0c, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, 0x76, 0x32, - 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x12, 0x40, 0x0a, 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, - 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0c, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, - 0x76, 0x32, 0x22, 0xcc, 0x06, 0x0a, 0x17, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, - 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x61, 0x70, 0x65, 0x6c, 0x6c, 0x61, 0x12, 0x20, - 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, - 0x12, 0x24, 0x0a, 0x0d, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, - 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x65, 0x63, - 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, - 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, - 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x72, 0x65, 0x63, 0x65, 0x69, 0x70, - 0x74, 0x73, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, - 0x65, 0x63, 0x65, 0x69, 0x70, 0x74, 0x73, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x1e, 0x0a, 0x0a, - 0x6c, 0x6f, 0x67, 0x73, 0x5f, 0x62, 0x6c, 0x6f, 0x6f, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0a, 0x6c, 0x6f, 0x67, 0x73, 0x5f, 0x62, 0x6c, 0x6f, 0x6f, 0x6d, 0x12, 0x20, 0x0a, 0x0b, - 0x70, 0x72, 0x65, 0x76, 0x5f, 0x72, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0b, 0x70, 0x72, 0x65, 0x76, 0x5f, 0x72, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x12, 0x26, - 0x0a, 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x07, - 0x20, 0x01, 0x28, 0x04, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, - 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x20, 0x0a, 0x09, 0x67, 0x61, 0x73, 0x5f, 0x6c, 0x69, - 0x6d, 0x69, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x42, 0x02, 0x18, 0x01, 0x52, 0x09, 0x67, - 0x61, 0x73, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1e, 0x0a, 0x08, 0x67, 0x61, 0x73, 0x5f, - 0x75, 0x73, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x42, 0x02, 0x18, 0x01, 0x52, 0x08, - 0x67, 0x61, 0x73, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x12, 0x20, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, - 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x42, 0x02, 0x18, 0x01, 0x52, - 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1e, 0x0a, 0x0a, 0x65, 0x78, - 0x74, 0x72, 0x61, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, - 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x12, 0x2a, 0x0a, 0x10, 0x62, 0x61, - 0x73, 0x65, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x67, 0x61, 0x73, 0x18, 0x0c, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x70, - 0x65, 0x72, 0x5f, 0x67, 0x61, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, - 0x68, 0x61, 0x73, 0x68, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x6c, 0x6f, 0x63, - 0x6b, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x12, 0x22, 0x0a, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x72, - 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x39, 0x0a, 0x0b, 0x77, 0x69, - 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x61, 0x6c, 0x73, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x17, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x69, - 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x61, 0x6c, 0x52, 0x0b, 0x77, 0x69, 0x74, 0x68, 0x64, 0x72, - 0x61, 0x77, 0x61, 0x6c, 0x73, 0x12, 0x46, 0x0a, 0x0f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6e, - 0x75, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x76, 0x32, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0f, 0x62, 0x6c, - 0x6f, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x76, 0x32, 0x12, 0x40, 0x0a, - 0x0c, 0x67, 0x61, 0x73, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x76, 0x32, 0x18, 0x11, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x52, 0x0c, 0x67, 0x61, 0x73, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x76, 0x32, 0x12, - 0x3e, 0x0a, 0x0b, 0x67, 0x61, 0x73, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x5f, 0x76, 0x32, 0x18, 0x12, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, - 0x75, 0x65, 0x52, 0x0b, 0x67, 0x61, 0x73, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x5f, 0x76, 0x32, 0x12, - 0x40, 0x0a, 0x0c, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, 0x76, 0x32, 0x18, - 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, + 0x65, 0x72, 0x12, 0x3a, 0x0a, 0x09, 0x67, 0x61, 0x73, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, - 0x6c, 0x75, 0x65, 0x52, 0x0c, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, 0x76, - 0x32, 0x22, 0xce, 0x02, 0x0a, 0x0a, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x61, 0x6c, - 0x12, 0x18, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x42, - 0x02, 0x18, 0x01, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x2c, 0x0a, 0x0f, 0x76, 0x61, - 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x04, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, - 0x6f, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, - 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x12, 0x1a, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x04, 0x42, 0x02, 0x18, 0x01, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x38, - 0x0a, 0x08, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x76, 0x32, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, + 0x6c, 0x75, 0x65, 0x52, 0x09, 0x67, 0x61, 0x73, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x38, + 0x0a, 0x08, 0x67, 0x61, 0x73, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, - 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x76, 0x32, 0x12, 0x4c, 0x0a, 0x12, 0x76, 0x61, 0x6c, 0x69, - 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x76, 0x32, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, - 0x75, 0x65, 0x52, 0x12, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x69, 0x6e, - 0x64, 0x65, 0x78, 0x5f, 0x76, 0x32, 0x12, 0x3a, 0x0a, 0x09, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, - 0x5f, 0x76, 0x32, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, - 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, - 0x76, 0x32, 0x22, 0xcd, 0x06, 0x0a, 0x1d, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, - 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x43, 0x61, 0x70, - 0x65, 0x6c, 0x6c, 0x61, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x68, - 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, - 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x12, 0x24, 0x0a, 0x0d, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x65, - 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x66, - 0x65, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x0a, - 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x24, 0x0a, 0x0d, - 0x72, 0x65, 0x63, 0x65, 0x69, 0x70, 0x74, 0x73, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x63, 0x65, 0x69, 0x70, 0x74, 0x73, 0x5f, 0x72, 0x6f, - 0x6f, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x6c, 0x6f, 0x67, 0x73, 0x5f, 0x62, 0x6c, 0x6f, 0x6f, 0x6d, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6c, 0x6f, 0x67, 0x73, 0x5f, 0x62, 0x6c, 0x6f, - 0x6f, 0x6d, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x72, 0x65, 0x76, 0x5f, 0x72, 0x61, 0x6e, 0x64, 0x61, - 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x72, 0x65, 0x76, 0x5f, 0x72, 0x61, - 0x6e, 0x64, 0x61, 0x6f, 0x12, 0x26, 0x0a, 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6e, 0x75, - 0x6d, 0x62, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0c, - 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x20, 0x0a, 0x09, - 0x67, 0x61, 0x73, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x42, - 0x02, 0x18, 0x01, 0x52, 0x09, 0x67, 0x61, 0x73, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1e, + 0x67, 0x61, 0x73, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x12, 0x3a, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, + 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1e, 0x0a, 0x0a, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x64, 0x61, + 0x74, 0x61, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, + 0x64, 0x61, 0x74, 0x61, 0x12, 0x2a, 0x0a, 0x10, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x66, 0x65, 0x65, + 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x67, 0x61, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, + 0x62, 0x61, 0x73, 0x65, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x67, 0x61, 0x73, + 0x12, 0x1e, 0x0a, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x0d, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x61, 0x73, 0x68, + 0x12, 0x22, 0x0a, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x18, 0x0e, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xfe, 0x03, 0x0a, 0x16, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, + 0x6f, 0x6e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, + 0x20, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, + 0x68, 0x12, 0x24, 0x0a, 0x0d, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, + 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x65, + 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, + 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x74, 0x61, + 0x74, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x72, 0x65, 0x63, 0x65, 0x69, + 0x70, 0x74, 0x73, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, + 0x72, 0x65, 0x63, 0x65, 0x69, 0x70, 0x74, 0x73, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x1e, 0x0a, + 0x0a, 0x6c, 0x6f, 0x67, 0x73, 0x5f, 0x62, 0x6c, 0x6f, 0x6f, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0a, 0x6c, 0x6f, 0x67, 0x73, 0x5f, 0x62, 0x6c, 0x6f, 0x6f, 0x6d, 0x12, 0x20, 0x0a, + 0x0b, 0x70, 0x72, 0x65, 0x76, 0x5f, 0x72, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0b, 0x70, 0x72, 0x65, 0x76, 0x5f, 0x72, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x12, + 0x22, 0x0a, 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, + 0x62, 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x67, 0x61, 0x73, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x67, 0x61, 0x73, 0x5f, 0x6c, 0x69, 0x6d, 0x69, + 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x67, 0x61, 0x73, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x08, 0x67, 0x61, 0x73, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x12, 0x1c, 0x0a, + 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1e, 0x0a, 0x0a, 0x65, + 0x78, 0x74, 0x72, 0x61, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x12, 0x2a, 0x0a, 0x10, 0x62, + 0x61, 0x73, 0x65, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x67, 0x61, 0x73, 0x18, + 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x66, 0x65, 0x65, 0x5f, + 0x70, 0x65, 0x72, 0x5f, 0x67, 0x61, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, + 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x6c, 0x6f, + 0x63, 0x6b, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x12, 0x2c, 0x0a, 0x11, 0x74, 0x72, 0x61, 0x6e, 0x73, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x0e, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x11, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x22, 0xf8, 0x04, 0x0a, 0x18, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, + 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, + 0x56, 0x32, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, + 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, + 0x68, 0x61, 0x73, 0x68, 0x12, 0x24, 0x0a, 0x0d, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x69, + 0x70, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x66, 0x65, 0x65, + 0x5f, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x74, + 0x61, 0x74, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x72, 0x65, + 0x63, 0x65, 0x69, 0x70, 0x74, 0x73, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0d, 0x72, 0x65, 0x63, 0x65, 0x69, 0x70, 0x74, 0x73, 0x5f, 0x72, 0x6f, 0x6f, 0x74, + 0x12, 0x1e, 0x0a, 0x0a, 0x6c, 0x6f, 0x67, 0x73, 0x5f, 0x62, 0x6c, 0x6f, 0x6f, 0x6d, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6c, 0x6f, 0x67, 0x73, 0x5f, 0x62, 0x6c, 0x6f, 0x6f, 0x6d, + 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x72, 0x65, 0x76, 0x5f, 0x72, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x72, 0x65, 0x76, 0x5f, 0x72, 0x61, 0x6e, 0x64, + 0x61, 0x6f, 0x12, 0x40, 0x0a, 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, + 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, + 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6e, 0x75, + 0x6d, 0x62, 0x65, 0x72, 0x12, 0x3a, 0x0a, 0x09, 0x67, 0x61, 0x73, 0x5f, 0x6c, 0x69, 0x6d, 0x69, + 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x67, 0x61, 0x73, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, + 0x12, 0x38, 0x0a, 0x08, 0x67, 0x61, 0x73, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x52, 0x08, 0x67, 0x61, 0x73, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x12, 0x3a, 0x0a, 0x09, 0x74, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x74, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1e, 0x0a, 0x0a, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, + 0x64, 0x61, 0x74, 0x61, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x78, 0x74, 0x72, + 0x61, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x12, 0x2a, 0x0a, 0x10, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x66, + 0x65, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x67, 0x61, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x10, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x67, + 0x61, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x61, 0x73, 0x68, + 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x61, + 0x73, 0x68, 0x12, 0x2c, 0x0a, 0x11, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x74, + 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x6f, 0x6f, 0x74, + 0x22, 0xb0, 0x04, 0x0a, 0x17, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, + 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x61, 0x70, 0x65, 0x6c, 0x6c, 0x61, 0x12, 0x20, 0x0a, 0x0b, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x12, 0x24, + 0x0a, 0x0d, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x69, 0x70, + 0x69, 0x65, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x6f, + 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, + 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x72, 0x65, 0x63, 0x65, 0x69, 0x70, 0x74, 0x73, + 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x63, + 0x65, 0x69, 0x70, 0x74, 0x73, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x6c, 0x6f, + 0x67, 0x73, 0x5f, 0x62, 0x6c, 0x6f, 0x6f, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x6c, 0x6f, 0x67, 0x73, 0x5f, 0x62, 0x6c, 0x6f, 0x6f, 0x6d, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x72, + 0x65, 0x76, 0x5f, 0x72, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0b, 0x70, 0x72, 0x65, 0x76, 0x5f, 0x72, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x12, 0x22, 0x0a, 0x0c, + 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, + 0x12, 0x1c, 0x0a, 0x09, 0x67, 0x61, 0x73, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x09, 0x67, 0x61, 0x73, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x67, 0x61, 0x73, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, - 0x42, 0x02, 0x18, 0x01, 0x52, 0x08, 0x67, 0x61, 0x73, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x12, 0x20, - 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x0a, 0x20, 0x01, 0x28, - 0x04, 0x42, 0x02, 0x18, 0x01, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x12, 0x1e, 0x0a, 0x0a, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0b, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x64, 0x61, 0x74, 0x61, - 0x12, 0x2a, 0x0a, 0x10, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x70, 0x65, 0x72, - 0x5f, 0x67, 0x61, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x62, 0x61, 0x73, 0x65, - 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x67, 0x61, 0x73, 0x12, 0x1e, 0x0a, 0x0a, - 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x12, 0x2c, 0x0a, 0x11, - 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x6f, 0x6f, - 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x2a, 0x0a, 0x10, 0x77, 0x69, - 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x61, 0x6c, 0x73, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x0f, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x77, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x61, 0x6c, - 0x73, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x46, 0x0a, 0x0f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, - 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x76, 0x32, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0f, 0x62, - 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x76, 0x32, 0x12, 0x40, - 0x0a, 0x0c, 0x67, 0x61, 0x73, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x76, 0x32, 0x18, 0x11, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, - 0x75, 0x65, 0x52, 0x0c, 0x67, 0x61, 0x73, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x76, 0x32, - 0x12, 0x3e, 0x0a, 0x0b, 0x67, 0x61, 0x73, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x5f, 0x76, 0x32, 0x18, - 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, - 0x6c, 0x75, 0x65, 0x52, 0x0b, 0x67, 0x61, 0x73, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x5f, 0x76, 0x32, - 0x12, 0x40, 0x0a, 0x0c, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, 0x76, 0x32, - 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x52, 0x08, 0x67, 0x61, 0x73, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x74, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1e, 0x0a, 0x0a, 0x65, 0x78, 0x74, 0x72, + 0x61, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x78, + 0x74, 0x72, 0x61, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x12, 0x2a, 0x0a, 0x10, 0x62, 0x61, 0x73, 0x65, + 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x67, 0x61, 0x73, 0x18, 0x0c, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x10, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x70, 0x65, 0x72, + 0x5f, 0x67, 0x61, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x61, + 0x73, 0x68, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, + 0x68, 0x61, 0x73, 0x68, 0x12, 0x22, 0x0a, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x72, 0x61, 0x6e, + 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x39, 0x0a, 0x0b, 0x77, 0x69, 0x74, 0x68, + 0x64, 0x72, 0x61, 0x77, 0x61, 0x6c, 0x73, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, + 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x69, 0x74, 0x68, + 0x64, 0x72, 0x61, 0x77, 0x61, 0x6c, 0x52, 0x0b, 0x77, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, + 0x61, 0x6c, 0x73, 0x22, 0xac, 0x05, 0x0a, 0x19, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, + 0x6e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x61, 0x70, 0x65, 0x6c, 0x6c, 0x61, 0x56, + 0x32, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x68, + 0x61, 0x73, 0x68, 0x12, 0x24, 0x0a, 0x0d, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x69, 0x70, + 0x69, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x66, 0x65, 0x65, 0x5f, + 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x74, 0x61, + 0x74, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, + 0x74, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x72, 0x65, 0x63, + 0x65, 0x69, 0x70, 0x74, 0x73, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0d, 0x72, 0x65, 0x63, 0x65, 0x69, 0x70, 0x74, 0x73, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, + 0x1e, 0x0a, 0x0a, 0x6c, 0x6f, 0x67, 0x73, 0x5f, 0x62, 0x6c, 0x6f, 0x6f, 0x6d, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6c, 0x6f, 0x67, 0x73, 0x5f, 0x62, 0x6c, 0x6f, 0x6f, 0x6d, 0x12, + 0x20, 0x0a, 0x0b, 0x70, 0x72, 0x65, 0x76, 0x5f, 0x72, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x72, 0x65, 0x76, 0x5f, 0x72, 0x61, 0x6e, 0x64, 0x61, + 0x6f, 0x12, 0x40, 0x0a, 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, + 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, + 0x62, 0x65, 0x72, 0x12, 0x3a, 0x0a, 0x09, 0x67, 0x61, 0x73, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, - 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0c, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, - 0x76, 0x32, 0x42, 0x2e, 0x5a, 0x2c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, - 0x2f, 0x65, 0x74, 0x68, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x70, 0x73, 0x2f, 0x78, 0x61, 0x74, - 0x75, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x74, 0x68, 0x2f, - 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x67, 0x61, 0x73, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, + 0x38, 0x0a, 0x08, 0x67, 0x61, 0x73, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, + 0x08, 0x67, 0x61, 0x73, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x12, 0x3a, 0x0a, 0x09, 0x74, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, + 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1e, 0x0a, 0x0a, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x64, + 0x61, 0x74, 0x61, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x78, 0x74, 0x72, 0x61, + 0x5f, 0x64, 0x61, 0x74, 0x61, 0x12, 0x2a, 0x0a, 0x10, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x66, 0x65, + 0x65, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x67, 0x61, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x10, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x67, 0x61, + 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, + 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x61, 0x73, + 0x68, 0x12, 0x22, 0x0a, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3b, 0x0a, 0x0b, 0x77, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, + 0x77, 0x61, 0x6c, 0x73, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x78, 0x61, 0x74, + 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, + 0x77, 0x61, 0x6c, 0x56, 0x32, 0x52, 0x0b, 0x77, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x61, + 0x6c, 0x73, 0x22, 0x7e, 0x0a, 0x0a, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x61, 0x6c, + 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x28, 0x0a, 0x0f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, + 0x74, 0x6f, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x0f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, + 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, + 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, + 0x6e, 0x74, 0x22, 0xda, 0x01, 0x0a, 0x0c, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x61, + 0x6c, 0x56, 0x32, 0x12, 0x32, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x46, 0x0a, 0x0f, 0x76, 0x61, 0x6c, 0x69, 0x64, + 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0f, + 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, + 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x34, 0x0a, 0x06, 0x61, 0x6d, 0x6f, + 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, + 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x22, + 0xb1, 0x04, 0x0a, 0x1d, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x79, + 0x6c, 0x6f, 0x61, 0x64, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x43, 0x61, 0x70, 0x65, 0x6c, 0x6c, + 0x61, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x68, + 0x61, 0x73, 0x68, 0x12, 0x24, 0x0a, 0x0d, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x69, 0x70, + 0x69, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x66, 0x65, 0x65, 0x5f, + 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x74, 0x61, + 0x74, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, + 0x74, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x72, 0x65, 0x63, + 0x65, 0x69, 0x70, 0x74, 0x73, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0d, 0x72, 0x65, 0x63, 0x65, 0x69, 0x70, 0x74, 0x73, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, + 0x1e, 0x0a, 0x0a, 0x6c, 0x6f, 0x67, 0x73, 0x5f, 0x62, 0x6c, 0x6f, 0x6f, 0x6d, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6c, 0x6f, 0x67, 0x73, 0x5f, 0x62, 0x6c, 0x6f, 0x6f, 0x6d, 0x12, + 0x20, 0x0a, 0x0b, 0x70, 0x72, 0x65, 0x76, 0x5f, 0x72, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x72, 0x65, 0x76, 0x5f, 0x72, 0x61, 0x6e, 0x64, 0x61, + 0x6f, 0x12, 0x22, 0x0a, 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, + 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6e, + 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x67, 0x61, 0x73, 0x5f, 0x6c, 0x69, 0x6d, + 0x69, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x67, 0x61, 0x73, 0x5f, 0x6c, 0x69, + 0x6d, 0x69, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x67, 0x61, 0x73, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x18, + 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x67, 0x61, 0x73, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x12, + 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x0a, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1e, 0x0a, + 0x0a, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0b, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0a, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x12, 0x2a, 0x0a, + 0x10, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x67, 0x61, + 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x66, 0x65, + 0x65, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x67, 0x61, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x62, 0x6c, 0x6f, + 0x63, 0x6b, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, + 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x12, 0x2c, 0x0a, 0x11, 0x74, 0x72, 0x61, + 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x0e, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x2a, 0x0a, 0x10, 0x77, 0x69, 0x74, 0x68, 0x64, + 0x72, 0x61, 0x77, 0x61, 0x6c, 0x73, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x10, 0x77, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x61, 0x6c, 0x73, 0x5f, 0x72, + 0x6f, 0x6f, 0x74, 0x22, 0xab, 0x05, 0x0a, 0x1f, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, + 0x6e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x43, 0x61, + 0x70, 0x65, 0x6c, 0x6c, 0x61, 0x56, 0x32, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, + 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, + 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x12, 0x24, 0x0a, 0x0d, 0x66, 0x65, 0x65, + 0x5f, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0d, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x12, + 0x1e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, + 0x24, 0x0a, 0x0d, 0x72, 0x65, 0x63, 0x65, 0x69, 0x70, 0x74, 0x73, 0x5f, 0x72, 0x6f, 0x6f, 0x74, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x63, 0x65, 0x69, 0x70, 0x74, 0x73, + 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x6c, 0x6f, 0x67, 0x73, 0x5f, 0x62, 0x6c, + 0x6f, 0x6f, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6c, 0x6f, 0x67, 0x73, 0x5f, + 0x62, 0x6c, 0x6f, 0x6f, 0x6d, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x72, 0x65, 0x76, 0x5f, 0x72, 0x61, + 0x6e, 0x64, 0x61, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x72, 0x65, 0x76, + 0x5f, 0x72, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x12, 0x40, 0x0a, 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, + 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0c, 0x62, 0x6c, 0x6f, + 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x3a, 0x0a, 0x09, 0x67, 0x61, 0x73, + 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, + 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x67, 0x61, 0x73, 0x5f, + 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x38, 0x0a, 0x08, 0x67, 0x61, 0x73, 0x5f, 0x75, 0x73, 0x65, + 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x67, 0x61, 0x73, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x12, + 0x3a, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x0a, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1e, 0x0a, 0x0a, 0x65, + 0x78, 0x74, 0x72, 0x61, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x12, 0x2a, 0x0a, 0x10, 0x62, + 0x61, 0x73, 0x65, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x67, 0x61, 0x73, 0x18, + 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x66, 0x65, 0x65, 0x5f, + 0x70, 0x65, 0x72, 0x5f, 0x67, 0x61, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, + 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x6c, 0x6f, + 0x63, 0x6b, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x12, 0x2c, 0x0a, 0x11, 0x74, 0x72, 0x61, 0x6e, 0x73, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x0e, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x11, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x2a, 0x0a, 0x10, 0x77, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, + 0x77, 0x61, 0x6c, 0x73, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x10, 0x77, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x61, 0x6c, 0x73, 0x5f, 0x72, 0x6f, 0x6f, + 0x74, 0x42, 0x2e, 0x5a, 0x2c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x65, 0x74, 0x68, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x70, 0x73, 0x2f, 0x78, 0x61, 0x74, 0x75, + 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x74, 0x68, 0x2f, 0x76, + 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -1160,41 +1755,47 @@ func file_pkg_proto_eth_v1_execution_engine_proto_rawDescGZIP() []byte { return file_pkg_proto_eth_v1_execution_engine_proto_rawDescData } -var file_pkg_proto_eth_v1_execution_engine_proto_msgTypes = make([]protoimpl.MessageInfo, 5) +var file_pkg_proto_eth_v1_execution_engine_proto_msgTypes = make([]protoimpl.MessageInfo, 10) var file_pkg_proto_eth_v1_execution_engine_proto_goTypes = []interface{}{ - (*ExecutionPayload)(nil), // 0: xatu.eth.v1.ExecutionPayload - (*ExecutionPayloadHeader)(nil), // 1: xatu.eth.v1.ExecutionPayloadHeader - (*ExecutionPayloadCapella)(nil), // 2: xatu.eth.v1.ExecutionPayloadCapella - (*Withdrawal)(nil), // 3: xatu.eth.v1.Withdrawal - (*ExecutionPayloadHeaderCapella)(nil), // 4: xatu.eth.v1.ExecutionPayloadHeaderCapella - (*wrapperspb.UInt64Value)(nil), // 5: google.protobuf.UInt64Value + (*ExecutionPayload)(nil), // 0: xatu.eth.v1.ExecutionPayload + (*ExecutionPayloadV2)(nil), // 1: xatu.eth.v1.ExecutionPayloadV2 + (*ExecutionPayloadHeader)(nil), // 2: xatu.eth.v1.ExecutionPayloadHeader + (*ExecutionPayloadHeaderV2)(nil), // 3: xatu.eth.v1.ExecutionPayloadHeaderV2 + (*ExecutionPayloadCapella)(nil), // 4: xatu.eth.v1.ExecutionPayloadCapella + (*ExecutionPayloadCapellaV2)(nil), // 5: xatu.eth.v1.ExecutionPayloadCapellaV2 + (*Withdrawal)(nil), // 6: xatu.eth.v1.Withdrawal + (*WithdrawalV2)(nil), // 7: xatu.eth.v1.WithdrawalV2 + (*ExecutionPayloadHeaderCapella)(nil), // 8: xatu.eth.v1.ExecutionPayloadHeaderCapella + (*ExecutionPayloadHeaderCapellaV2)(nil), // 9: xatu.eth.v1.ExecutionPayloadHeaderCapellaV2 + (*wrapperspb.UInt64Value)(nil), // 10: google.protobuf.UInt64Value } var file_pkg_proto_eth_v1_execution_engine_proto_depIdxs = []int32{ - 5, // 0: xatu.eth.v1.ExecutionPayload.block_number_v2:type_name -> google.protobuf.UInt64Value - 5, // 1: xatu.eth.v1.ExecutionPayload.gas_limit_v2:type_name -> google.protobuf.UInt64Value - 5, // 2: xatu.eth.v1.ExecutionPayload.gas_used_v2:type_name -> google.protobuf.UInt64Value - 5, // 3: xatu.eth.v1.ExecutionPayload.timestamp_v2:type_name -> google.protobuf.UInt64Value - 5, // 4: xatu.eth.v1.ExecutionPayloadHeader.block_number_v2:type_name -> google.protobuf.UInt64Value - 5, // 5: xatu.eth.v1.ExecutionPayloadHeader.gas_limit_v2:type_name -> google.protobuf.UInt64Value - 5, // 6: xatu.eth.v1.ExecutionPayloadHeader.gas_used_v2:type_name -> google.protobuf.UInt64Value - 5, // 7: xatu.eth.v1.ExecutionPayloadHeader.timestamp_v2:type_name -> google.protobuf.UInt64Value - 3, // 8: xatu.eth.v1.ExecutionPayloadCapella.withdrawals:type_name -> xatu.eth.v1.Withdrawal - 5, // 9: xatu.eth.v1.ExecutionPayloadCapella.block_number_v2:type_name -> google.protobuf.UInt64Value - 5, // 10: xatu.eth.v1.ExecutionPayloadCapella.gas_limit_v2:type_name -> google.protobuf.UInt64Value - 5, // 11: xatu.eth.v1.ExecutionPayloadCapella.gas_used_v2:type_name -> google.protobuf.UInt64Value - 5, // 12: xatu.eth.v1.ExecutionPayloadCapella.timestamp_v2:type_name -> google.protobuf.UInt64Value - 5, // 13: xatu.eth.v1.Withdrawal.index_v2:type_name -> google.protobuf.UInt64Value - 5, // 14: xatu.eth.v1.Withdrawal.validator_index_v2:type_name -> google.protobuf.UInt64Value - 5, // 15: xatu.eth.v1.Withdrawal.amount_v2:type_name -> google.protobuf.UInt64Value - 5, // 16: xatu.eth.v1.ExecutionPayloadHeaderCapella.block_number_v2:type_name -> google.protobuf.UInt64Value - 5, // 17: xatu.eth.v1.ExecutionPayloadHeaderCapella.gas_limit_v2:type_name -> google.protobuf.UInt64Value - 5, // 18: xatu.eth.v1.ExecutionPayloadHeaderCapella.gas_used_v2:type_name -> google.protobuf.UInt64Value - 5, // 19: xatu.eth.v1.ExecutionPayloadHeaderCapella.timestamp_v2:type_name -> google.protobuf.UInt64Value - 20, // [20:20] is the sub-list for method output_type - 20, // [20:20] is the sub-list for method input_type - 20, // [20:20] is the sub-list for extension type_name - 20, // [20:20] is the sub-list for extension extendee - 0, // [0:20] is the sub-list for field type_name + 10, // 0: xatu.eth.v1.ExecutionPayloadV2.block_number:type_name -> google.protobuf.UInt64Value + 10, // 1: xatu.eth.v1.ExecutionPayloadV2.gas_limit:type_name -> google.protobuf.UInt64Value + 10, // 2: xatu.eth.v1.ExecutionPayloadV2.gas_used:type_name -> google.protobuf.UInt64Value + 10, // 3: xatu.eth.v1.ExecutionPayloadV2.timestamp:type_name -> google.protobuf.UInt64Value + 10, // 4: xatu.eth.v1.ExecutionPayloadHeaderV2.block_number:type_name -> google.protobuf.UInt64Value + 10, // 5: xatu.eth.v1.ExecutionPayloadHeaderV2.gas_limit:type_name -> google.protobuf.UInt64Value + 10, // 6: xatu.eth.v1.ExecutionPayloadHeaderV2.gas_used:type_name -> google.protobuf.UInt64Value + 10, // 7: xatu.eth.v1.ExecutionPayloadHeaderV2.timestamp:type_name -> google.protobuf.UInt64Value + 6, // 8: xatu.eth.v1.ExecutionPayloadCapella.withdrawals:type_name -> xatu.eth.v1.Withdrawal + 10, // 9: xatu.eth.v1.ExecutionPayloadCapellaV2.block_number:type_name -> google.protobuf.UInt64Value + 10, // 10: xatu.eth.v1.ExecutionPayloadCapellaV2.gas_limit:type_name -> google.protobuf.UInt64Value + 10, // 11: xatu.eth.v1.ExecutionPayloadCapellaV2.gas_used:type_name -> google.protobuf.UInt64Value + 10, // 12: xatu.eth.v1.ExecutionPayloadCapellaV2.timestamp:type_name -> google.protobuf.UInt64Value + 7, // 13: xatu.eth.v1.ExecutionPayloadCapellaV2.withdrawals:type_name -> xatu.eth.v1.WithdrawalV2 + 10, // 14: xatu.eth.v1.WithdrawalV2.index:type_name -> google.protobuf.UInt64Value + 10, // 15: xatu.eth.v1.WithdrawalV2.validator_index:type_name -> google.protobuf.UInt64Value + 10, // 16: xatu.eth.v1.WithdrawalV2.amount:type_name -> google.protobuf.UInt64Value + 10, // 17: xatu.eth.v1.ExecutionPayloadHeaderCapellaV2.block_number:type_name -> google.protobuf.UInt64Value + 10, // 18: xatu.eth.v1.ExecutionPayloadHeaderCapellaV2.gas_limit:type_name -> google.protobuf.UInt64Value + 10, // 19: xatu.eth.v1.ExecutionPayloadHeaderCapellaV2.gas_used:type_name -> google.protobuf.UInt64Value + 10, // 20: xatu.eth.v1.ExecutionPayloadHeaderCapellaV2.timestamp:type_name -> google.protobuf.UInt64Value + 21, // [21:21] is the sub-list for method output_type + 21, // [21:21] is the sub-list for method input_type + 21, // [21:21] is the sub-list for extension type_name + 21, // [21:21] is the sub-list for extension extendee + 0, // [0:21] is the sub-list for field type_name } func init() { file_pkg_proto_eth_v1_execution_engine_proto_init() } @@ -1216,7 +1817,7 @@ func file_pkg_proto_eth_v1_execution_engine_proto_init() { } } file_pkg_proto_eth_v1_execution_engine_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ExecutionPayloadHeader); i { + switch v := v.(*ExecutionPayloadV2); i { case 0: return &v.state case 1: @@ -1228,7 +1829,7 @@ func file_pkg_proto_eth_v1_execution_engine_proto_init() { } } file_pkg_proto_eth_v1_execution_engine_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ExecutionPayloadCapella); i { + switch v := v.(*ExecutionPayloadHeader); i { case 0: return &v.state case 1: @@ -1240,7 +1841,7 @@ func file_pkg_proto_eth_v1_execution_engine_proto_init() { } } file_pkg_proto_eth_v1_execution_engine_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Withdrawal); i { + switch v := v.(*ExecutionPayloadHeaderV2); i { case 0: return &v.state case 1: @@ -1252,6 +1853,54 @@ func file_pkg_proto_eth_v1_execution_engine_proto_init() { } } file_pkg_proto_eth_v1_execution_engine_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExecutionPayloadCapella); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_proto_eth_v1_execution_engine_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExecutionPayloadCapellaV2); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_proto_eth_v1_execution_engine_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Withdrawal); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_proto_eth_v1_execution_engine_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WithdrawalV2); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_proto_eth_v1_execution_engine_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ExecutionPayloadHeaderCapella); i { case 0: return &v.state @@ -1263,6 +1912,18 @@ func file_pkg_proto_eth_v1_execution_engine_proto_init() { return nil } } + file_pkg_proto_eth_v1_execution_engine_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExecutionPayloadHeaderCapellaV2); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } type x struct{} out := protoimpl.TypeBuilder{ @@ -1270,7 +1931,7 @@ func file_pkg_proto_eth_v1_execution_engine_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_pkg_proto_eth_v1_execution_engine_proto_rawDesc, NumEnums: 0, - NumMessages: 5, + NumMessages: 10, NumExtensions: 0, NumServices: 0, }, diff --git a/pkg/proto/eth/v1/execution_engine.proto b/pkg/proto/eth/v1/execution_engine.proto index 0aced308..18d170e7 100644 --- a/pkg/proto/eth/v1/execution_engine.proto +++ b/pkg/proto/eth/v1/execution_engine.proto @@ -17,18 +17,31 @@ message ExecutionPayload { string receipts_root = 4 [ json_name = "receipts_root" ]; string logs_bloom = 5 [ json_name = "logs_bloom" ]; string prev_randao = 6 [ json_name = "prev_randao" ]; - uint64 block_number = 7 [ json_name = "block_number", deprecated=true ]; - uint64 gas_limit = 8 [ json_name = "gas_limit", deprecated=true ]; - uint64 gas_used = 9 [ json_name = "gas_used", deprecated=true ]; - uint64 timestamp = 10 [deprecated=true]; + uint64 block_number = 7 [ json_name = "block_number" ]; + uint64 gas_limit = 8 [ json_name = "gas_limit" ]; + uint64 gas_used = 9 [ json_name = "gas_used" ]; + uint64 timestamp = 10; + string extra_data = 11 [ json_name = "extra_data" ]; + string base_fee_per_gas = 12 [ json_name = "base_fee_per_gas" ]; + string block_hash = 13 [ json_name = "block_hash" ]; + repeated string transactions = 14; +} + +message ExecutionPayloadV2 { + string parent_hash = 1 [ json_name = "parent_hash" ]; + string fee_recipient = 2 [ json_name = "fee_recipient" ]; + string state_root = 3 [ json_name = "state_root" ]; + string receipts_root = 4 [ json_name = "receipts_root" ]; + string logs_bloom = 5 [ json_name = "logs_bloom" ]; + string prev_randao = 6 [ json_name = "prev_randao" ]; + google.protobuf.UInt64Value block_number = 7 [ json_name = "block_number" ]; + google.protobuf.UInt64Value gas_limit = 8 [ json_name = "gas_limit" ]; + google.protobuf.UInt64Value gas_used = 9 [ json_name = "gas_used" ]; + google.protobuf.UInt64Value timestamp = 10; string extra_data = 11 [ json_name = "extra_data" ]; string base_fee_per_gas = 12 [ json_name = "base_fee_per_gas" ]; string block_hash = 13 [ json_name = "block_hash" ]; repeated string transactions = 14; - google.protobuf.UInt64Value block_number_v2 = 15 [ json_name = "block_number_v2" ]; - google.protobuf.UInt64Value gas_limit_v2 = 16 [ json_name = "gas_limit_v2" ]; - google.protobuf.UInt64Value gas_used_v2 = 17 [ json_name = "gas_used_v2" ]; - google.protobuf.UInt64Value timestamp_v2 = 18 [ json_name = "timestamp_v2" ]; } message ExecutionPayloadHeader { @@ -38,18 +51,31 @@ message ExecutionPayloadHeader { string receipts_root = 4 [ json_name = "receipts_root" ]; string logs_bloom = 5 [ json_name = "logs_bloom" ]; string prev_randao = 6 [ json_name = "prev_randao" ]; - uint64 block_number = 7 [ json_name = "block_number", deprecated=true ]; - uint64 gas_limit = 8 [ json_name = "gas_limit", deprecated=true ]; - uint64 gas_used = 9 [ json_name = "gas_used", deprecated=true ]; - uint64 timestamp = 10 [deprecated=true]; + uint64 block_number = 7 [ json_name = "block_number" ]; + uint64 gas_limit = 8 [ json_name = "gas_limit" ]; + uint64 gas_used = 9 [ json_name = "gas_used" ]; + uint64 timestamp = 10; + string extra_data = 11 [ json_name = "extra_data" ]; + string base_fee_per_gas = 12 [ json_name = "base_fee_per_gas" ]; + string block_hash = 13 [ json_name = "block_hash" ]; + string transactions_root = 14 [ json_name = "transactions_root" ]; +} + +message ExecutionPayloadHeaderV2 { + string parent_hash = 1 [ json_name = "parent_hash" ]; + string fee_recipient = 2 [ json_name = "fee_recipient" ]; + string state_root = 3 [ json_name = "state_root" ]; + string receipts_root = 4 [ json_name = "receipts_root" ]; + string logs_bloom = 5 [ json_name = "logs_bloom" ]; + string prev_randao = 6 [ json_name = "prev_randao" ]; + google.protobuf.UInt64Value block_number = 7 [ json_name = "block_number" ]; + google.protobuf.UInt64Value gas_limit = 8 [ json_name = "gas_limit" ]; + google.protobuf.UInt64Value gas_used = 9 [ json_name = "gas_used" ]; + google.protobuf.UInt64Value timestamp = 10; string extra_data = 11 [ json_name = "extra_data" ]; string base_fee_per_gas = 12 [ json_name = "base_fee_per_gas" ]; string block_hash = 13 [ json_name = "block_hash" ]; string transactions_root = 14 [ json_name = "transactions_root" ]; - google.protobuf.UInt64Value block_number_v2 = 15 [ json_name = "block_number_v2" ]; - google.protobuf.UInt64Value gas_limit_v2 = 16 [ json_name = "gas_limit_v2" ]; - google.protobuf.UInt64Value gas_used_v2 = 17 [ json_name = "gas_used_v2" ]; - google.protobuf.UInt64Value timestamp_v2 = 18 [ json_name = "timestamp_v2" ]; } message ExecutionPayloadCapella { @@ -59,35 +85,54 @@ message ExecutionPayloadCapella { string receipts_root = 4 [ json_name = "receipts_root" ]; string logs_bloom = 5 [ json_name = "logs_bloom" ]; string prev_randao = 6 [ json_name = "prev_randao" ]; - uint64 block_number = 7 [ json_name = "block_number", deprecated=true ]; - uint64 gas_limit = 8 [ json_name = "gas_limit", deprecated=true ]; - uint64 gas_used = 9 [ json_name = "gas_used", deprecated=true ]; - uint64 timestamp = 10 [deprecated=true]; + uint64 block_number = 7 [ json_name = "block_number" ]; + uint64 gas_limit = 8 [ json_name = "gas_limit" ]; + uint64 gas_used = 9 [ json_name = "gas_used" ]; + uint64 timestamp = 10; string extra_data = 11 [ json_name = "extra_data" ]; string base_fee_per_gas = 12 [ json_name = "base_fee_per_gas" ]; string block_hash = 13 [ json_name = "block_hash" ]; repeated string transactions = 14; repeated Withdrawal withdrawals = 15; - google.protobuf.UInt64Value block_number_v2 = 16 [ json_name = "block_number_v2" ]; - google.protobuf.UInt64Value gas_limit_v2 = 17 [ json_name = "gas_limit_v2" ]; - google.protobuf.UInt64Value gas_used_v2 = 18 [ json_name = "gas_used_v2" ]; - google.protobuf.UInt64Value timestamp_v2 = 19 [ json_name = "timestamp_v2" ]; +} + +message ExecutionPayloadCapellaV2 { + string parent_hash = 1 [ json_name = "parent_hash" ]; + string fee_recipient = 2 [ json_name = "fee_recipient" ]; + string state_root = 3 [ json_name = "state_root" ]; + string receipts_root = 4 [ json_name = "receipts_root" ]; + string logs_bloom = 5 [ json_name = "logs_bloom" ]; + string prev_randao = 6 [ json_name = "prev_randao" ]; + google.protobuf.UInt64Value block_number = 7 [ json_name = "block_number" ]; + google.protobuf.UInt64Value gas_limit = 8 [ json_name = "gas_limit" ]; + google.protobuf.UInt64Value gas_used = 9 [ json_name = "gas_used" ]; + google.protobuf.UInt64Value timestamp = 10; + string extra_data = 11 [ json_name = "extra_data" ]; + string base_fee_per_gas = 12 [ json_name = "base_fee_per_gas" ]; + string block_hash = 13 [ json_name = "block_hash" ]; + repeated string transactions = 14; + repeated WithdrawalV2 withdrawals = 15; } message Withdrawal { - uint64 index = 1 [ deprecated=true ]; + uint64 index = 1; - uint64 validator_index = 2 [ json_name = "validator_index", deprecated=true ]; + uint64 validator_index = 2 [ json_name = "validator_index" ]; string address = 3; - uint64 amount = 4 [ deprecated=true ]; + uint64 amount = 4; +} + +message WithdrawalV2 { + google.protobuf.UInt64Value index = 1; - google.protobuf.UInt64Value index_v2 = 5 [ json_name = "index_v2" ]; + google.protobuf.UInt64Value validator_index = 2 + [ json_name = "validator_index" ]; - google.protobuf.UInt64Value validator_index_v2 = 6 [ json_name = "validator_index_v2" ]; + string address = 3; - google.protobuf.UInt64Value amount_v2 = 7 [ json_name = "amount_v2" ]; + google.protobuf.UInt64Value amount = 4; } message ExecutionPayloadHeaderCapella { @@ -97,17 +142,31 @@ message ExecutionPayloadHeaderCapella { string receipts_root = 4 [ json_name = "receipts_root" ]; string logs_bloom = 5 [ json_name = "logs_bloom" ]; string prev_randao = 6 [ json_name = "prev_randao" ]; - uint64 block_number = 7 [ json_name = "block_number", deprecated=true ]; - uint64 gas_limit = 8 [ json_name = "gas_limit", deprecated=true ]; - uint64 gas_used = 9 [ json_name = "gas_used", deprecated=true ]; - uint64 timestamp = 10 [deprecated=true]; + uint64 block_number = 7 [ json_name = "block_number" ]; + uint64 gas_limit = 8 [ json_name = "gas_limit" ]; + uint64 gas_used = 9 [ json_name = "gas_used" ]; + uint64 timestamp = 10; + string extra_data = 11 [ json_name = "extra_data" ]; + string base_fee_per_gas = 12 [ json_name = "base_fee_per_gas" ]; + string block_hash = 13 [ json_name = "block_hash" ]; + string transactions_root = 14 [ json_name = "transactions_root" ]; + string withdrawals_root = 15 [ json_name = "withdrawals_root" ]; +} + +message ExecutionPayloadHeaderCapellaV2 { + string parent_hash = 1 [ json_name = "parent_hash" ]; + string fee_recipient = 2 [ json_name = "fee_recipient" ]; + string state_root = 3 [ json_name = "state_root" ]; + string receipts_root = 4 [ json_name = "receipts_root" ]; + string logs_bloom = 5 [ json_name = "logs_bloom" ]; + string prev_randao = 6 [ json_name = "prev_randao" ]; + google.protobuf.UInt64Value block_number = 7 [ json_name = "block_number" ]; + google.protobuf.UInt64Value gas_limit = 8 [ json_name = "gas_limit" ]; + google.protobuf.UInt64Value gas_used = 9 [ json_name = "gas_used" ]; + google.protobuf.UInt64Value timestamp = 10; string extra_data = 11 [ json_name = "extra_data" ]; string base_fee_per_gas = 12 [ json_name = "base_fee_per_gas" ]; string block_hash = 13 [ json_name = "block_hash" ]; string transactions_root = 14 [ json_name = "transactions_root" ]; string withdrawals_root = 15 [ json_name = "withdrawals_root" ]; - google.protobuf.UInt64Value block_number_v2 = 16 [ json_name = "block_number_v2" ]; - google.protobuf.UInt64Value gas_limit_v2 = 17 [ json_name = "gas_limit_v2" ]; - google.protobuf.UInt64Value gas_used_v2 = 18 [ json_name = "gas_used_v2" ]; - google.protobuf.UInt64Value timestamp_v2 = 19 [ json_name = "timestamp_v2" ]; } diff --git a/pkg/proto/eth/v1/fork_choice.go b/pkg/proto/eth/v1/fork_choice.go index 2cc3ab8e..2ee99d06 100644 --- a/pkg/proto/eth/v1/fork_choice.go +++ b/pkg/proto/eth/v1/fork_choice.go @@ -97,14 +97,37 @@ func NewForkChoiceFromGoEth2ClientV1(f *eth2v1.ForkChoice) (*ForkChoice, error) FinalizedCheckpoint: &Checkpoint{ Epoch: uint64(f.FinalizedCheckpoint.Epoch), Root: RootAsString(f.FinalizedCheckpoint.Root), - EpochV2: &wrapperspb.UInt64Value{ - Value: uint64(f.FinalizedCheckpoint.Epoch), - }, }, JustifiedCheckpoint: &Checkpoint{ Epoch: uint64(f.JustifiedCheckpoint.Epoch), Root: RootAsString(f.JustifiedCheckpoint.Root), - EpochV2: &wrapperspb.UInt64Value{ + }, + ForkChoiceNodes: nodes, + }, nil +} + +func NewForkChoiceV2FromGoEth2ClientV1(f *eth2v1.ForkChoice) (*ForkChoiceV2, error) { + nodes := []*ForkChoiceNodeV2{} + + for _, node := range f.ForkChoiceNodes { + n, err := NewForkChoiceNodeV2FromGoEth2ClientV1(node) + if err != nil { + return nil, errors.Wrap(err, "failed to convert node") + } + + nodes = append(nodes, n) + } + + return &ForkChoiceV2{ + FinalizedCheckpoint: &CheckpointV2{ + Root: RootAsString(f.FinalizedCheckpoint.Root), + Epoch: &wrapperspb.UInt64Value{ + Value: uint64(f.FinalizedCheckpoint.Epoch), + }, + }, + JustifiedCheckpoint: &CheckpointV2{ + Root: RootAsString(f.JustifiedCheckpoint.Root), + Epoch: &wrapperspb.UInt64Value{ Value: uint64(f.JustifiedCheckpoint.Epoch), }, }, @@ -120,15 +143,30 @@ func NewForkChoiceNodeFromGoEth2ClientV1(node *eth2v1.ForkChoiceNode) (*ForkChoi return &ForkChoiceNode{ Slot: uint64(node.Slot), - SlotV2: &wrapperspb.UInt64Value{Value: uint64(node.Slot)}, BlockRoot: RootAsString(node.BlockRoot), ParentRoot: RootAsString(node.ParentRoot), JustifiedEpoch: uint64(node.JustifiedEpoch), - JustifiedEpochV2: &wrapperspb.UInt64Value{Value: uint64(node.JustifiedEpoch)}, FinalizedEpoch: uint64(node.FinalizedEpoch), - FinalizedEpochV2: &wrapperspb.UInt64Value{Value: uint64(node.FinalizedEpoch)}, Weight: node.Weight, - WeightV2: &wrapperspb.UInt64Value{Value: node.Weight}, + Validity: string(node.Validity), + ExecutionBlockHash: RootAsString(node.ExecutionBlockHash), + ExtraData: string(extraData), + }, nil +} + +func NewForkChoiceNodeV2FromGoEth2ClientV1(node *eth2v1.ForkChoiceNode) (*ForkChoiceNodeV2, error) { + extraData, err := json.Marshal(node.ExtraData) + if err != nil { + return nil, err + } + + return &ForkChoiceNodeV2{ + Slot: &wrapperspb.UInt64Value{Value: uint64(node.Slot)}, + BlockRoot: RootAsString(node.BlockRoot), + ParentRoot: RootAsString(node.ParentRoot), + JustifiedEpoch: &wrapperspb.UInt64Value{Value: uint64(node.JustifiedEpoch)}, + FinalizedEpoch: &wrapperspb.UInt64Value{Value: uint64(node.FinalizedEpoch)}, + Weight: &wrapperspb.UInt64Value{Value: node.Weight}, Validity: string(node.Validity), ExecutionBlockHash: RootAsString(node.ExecutionBlockHash), ExtraData: string(extraData), diff --git a/pkg/proto/eth/v1/fork_choice.pb.go b/pkg/proto/eth/v1/fork_choice.pb.go index 7161fa84..0b49a841 100644 --- a/pkg/proto/eth/v1/fork_choice.pb.go +++ b/pkg/proto/eth/v1/fork_choice.pb.go @@ -88,34 +88,89 @@ func (x *ForkChoice) GetForkChoiceNodes() []*ForkChoiceNode { return nil } +type ForkChoiceV2 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + JustifiedCheckpoint *CheckpointV2 `protobuf:"bytes,1,opt,name=justified_checkpoint,proto3" json:"justified_checkpoint,omitempty"` + FinalizedCheckpoint *CheckpointV2 `protobuf:"bytes,2,opt,name=finalized_checkpoint,proto3" json:"finalized_checkpoint,omitempty"` + ForkChoiceNodes []*ForkChoiceNodeV2 `protobuf:"bytes,3,rep,name=fork_choice_nodes,proto3" json:"fork_choice_nodes,omitempty"` +} + +func (x *ForkChoiceV2) Reset() { + *x = ForkChoiceV2{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_eth_v1_fork_choice_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ForkChoiceV2) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ForkChoiceV2) ProtoMessage() {} + +func (x *ForkChoiceV2) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_eth_v1_fork_choice_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ForkChoiceV2.ProtoReflect.Descriptor instead. +func (*ForkChoiceV2) Descriptor() ([]byte, []int) { + return file_pkg_proto_eth_v1_fork_choice_proto_rawDescGZIP(), []int{1} +} + +func (x *ForkChoiceV2) GetJustifiedCheckpoint() *CheckpointV2 { + if x != nil { + return x.JustifiedCheckpoint + } + return nil +} + +func (x *ForkChoiceV2) GetFinalizedCheckpoint() *CheckpointV2 { + if x != nil { + return x.FinalizedCheckpoint + } + return nil +} + +func (x *ForkChoiceV2) GetForkChoiceNodes() []*ForkChoiceNodeV2 { + if x != nil { + return x.ForkChoiceNodes + } + return nil +} + type ForkChoiceNode struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Deprecated: Marked as deprecated in pkg/proto/eth/v1/fork_choice.proto. - Slot uint64 `protobuf:"varint,1,opt,name=slot,proto3" json:"slot,omitempty"` - BlockRoot string `protobuf:"bytes,2,opt,name=block_root,proto3" json:"block_root,omitempty"` - ParentRoot string `protobuf:"bytes,3,opt,name=parent_root,proto3" json:"parent_root,omitempty"` - // Deprecated: Marked as deprecated in pkg/proto/eth/v1/fork_choice.proto. - JustifiedEpoch uint64 `protobuf:"varint,4,opt,name=justified_epoch,proto3" json:"justified_epoch,omitempty"` - // Deprecated: Marked as deprecated in pkg/proto/eth/v1/fork_choice.proto. - FinalizedEpoch uint64 `protobuf:"varint,5,opt,name=finalized_epoch,proto3" json:"finalized_epoch,omitempty"` - // Deprecated: Marked as deprecated in pkg/proto/eth/v1/fork_choice.proto. - Weight uint64 `protobuf:"varint,6,opt,name=weight,proto3" json:"weight,omitempty"` - Validity string `protobuf:"bytes,7,opt,name=validity,proto3" json:"validity,omitempty"` - ExecutionBlockHash string `protobuf:"bytes,8,opt,name=ExecutionBlockHash,json=execution_block_hash,proto3" json:"ExecutionBlockHash,omitempty"` - ExtraData string `protobuf:"bytes,9,opt,name=ExtraData,json=extra_data,proto3" json:"ExtraData,omitempty"` - SlotV2 *wrapperspb.UInt64Value `protobuf:"bytes,10,opt,name=slot_v2,proto3" json:"slot_v2,omitempty"` - JustifiedEpochV2 *wrapperspb.UInt64Value `protobuf:"bytes,11,opt,name=justified_epoch_v2,proto3" json:"justified_epoch_v2,omitempty"` - FinalizedEpochV2 *wrapperspb.UInt64Value `protobuf:"bytes,12,opt,name=finalized_epoch_v2,proto3" json:"finalized_epoch_v2,omitempty"` - WeightV2 *wrapperspb.UInt64Value `protobuf:"bytes,13,opt,name=weight_v2,proto3" json:"weight_v2,omitempty"` + Slot uint64 `protobuf:"varint,1,opt,name=slot,proto3" json:"slot,omitempty"` + BlockRoot string `protobuf:"bytes,2,opt,name=block_root,proto3" json:"block_root,omitempty"` + ParentRoot string `protobuf:"bytes,3,opt,name=parent_root,proto3" json:"parent_root,omitempty"` + JustifiedEpoch uint64 `protobuf:"varint,4,opt,name=justified_epoch,proto3" json:"justified_epoch,omitempty"` + FinalizedEpoch uint64 `protobuf:"varint,5,opt,name=finalized_epoch,proto3" json:"finalized_epoch,omitempty"` + Weight uint64 `protobuf:"varint,6,opt,name=weight,proto3" json:"weight,omitempty"` + Validity string `protobuf:"bytes,7,opt,name=validity,proto3" json:"validity,omitempty"` + ExecutionBlockHash string `protobuf:"bytes,8,opt,name=ExecutionBlockHash,json=execution_block_hash,proto3" json:"ExecutionBlockHash,omitempty"` + ExtraData string `protobuf:"bytes,9,opt,name=ExtraData,json=extra_data,proto3" json:"ExtraData,omitempty"` } func (x *ForkChoiceNode) Reset() { *x = ForkChoiceNode{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_eth_v1_fork_choice_proto_msgTypes[1] + mi := &file_pkg_proto_eth_v1_fork_choice_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -128,7 +183,7 @@ func (x *ForkChoiceNode) String() string { func (*ForkChoiceNode) ProtoMessage() {} func (x *ForkChoiceNode) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_eth_v1_fork_choice_proto_msgTypes[1] + mi := &file_pkg_proto_eth_v1_fork_choice_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -141,10 +196,9 @@ func (x *ForkChoiceNode) ProtoReflect() protoreflect.Message { // Deprecated: Use ForkChoiceNode.ProtoReflect.Descriptor instead. func (*ForkChoiceNode) Descriptor() ([]byte, []int) { - return file_pkg_proto_eth_v1_fork_choice_proto_rawDescGZIP(), []int{1} + return file_pkg_proto_eth_v1_fork_choice_proto_rawDescGZIP(), []int{2} } -// Deprecated: Marked as deprecated in pkg/proto/eth/v1/fork_choice.proto. func (x *ForkChoiceNode) GetSlot() uint64 { if x != nil { return x.Slot @@ -166,7 +220,6 @@ func (x *ForkChoiceNode) GetParentRoot() string { return "" } -// Deprecated: Marked as deprecated in pkg/proto/eth/v1/fork_choice.proto. func (x *ForkChoiceNode) GetJustifiedEpoch() uint64 { if x != nil { return x.JustifiedEpoch @@ -174,7 +227,6 @@ func (x *ForkChoiceNode) GetJustifiedEpoch() uint64 { return 0 } -// Deprecated: Marked as deprecated in pkg/proto/eth/v1/fork_choice.proto. func (x *ForkChoiceNode) GetFinalizedEpoch() uint64 { if x != nil { return x.FinalizedEpoch @@ -182,7 +234,6 @@ func (x *ForkChoiceNode) GetFinalizedEpoch() uint64 { return 0 } -// Deprecated: Marked as deprecated in pkg/proto/eth/v1/fork_choice.proto. func (x *ForkChoiceNode) GetWeight() uint64 { if x != nil { return x.Weight @@ -211,34 +262,117 @@ func (x *ForkChoiceNode) GetExtraData() string { return "" } -func (x *ForkChoiceNode) GetSlotV2() *wrapperspb.UInt64Value { +type ForkChoiceNodeV2 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Slot *wrapperspb.UInt64Value `protobuf:"bytes,1,opt,name=slot,proto3" json:"slot,omitempty"` + BlockRoot string `protobuf:"bytes,2,opt,name=block_root,proto3" json:"block_root,omitempty"` + ParentRoot string `protobuf:"bytes,3,opt,name=parent_root,proto3" json:"parent_root,omitempty"` + JustifiedEpoch *wrapperspb.UInt64Value `protobuf:"bytes,4,opt,name=justified_epoch,proto3" json:"justified_epoch,omitempty"` + FinalizedEpoch *wrapperspb.UInt64Value `protobuf:"bytes,5,opt,name=finalized_epoch,proto3" json:"finalized_epoch,omitempty"` + Weight *wrapperspb.UInt64Value `protobuf:"bytes,6,opt,name=weight,proto3" json:"weight,omitempty"` + Validity string `protobuf:"bytes,7,opt,name=validity,proto3" json:"validity,omitempty"` + ExecutionBlockHash string `protobuf:"bytes,8,opt,name=ExecutionBlockHash,json=execution_block_hash,proto3" json:"ExecutionBlockHash,omitempty"` + ExtraData string `protobuf:"bytes,9,opt,name=ExtraData,json=extra_data,proto3" json:"ExtraData,omitempty"` +} + +func (x *ForkChoiceNodeV2) Reset() { + *x = ForkChoiceNodeV2{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_eth_v1_fork_choice_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ForkChoiceNodeV2) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ForkChoiceNodeV2) ProtoMessage() {} + +func (x *ForkChoiceNodeV2) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_eth_v1_fork_choice_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ForkChoiceNodeV2.ProtoReflect.Descriptor instead. +func (*ForkChoiceNodeV2) Descriptor() ([]byte, []int) { + return file_pkg_proto_eth_v1_fork_choice_proto_rawDescGZIP(), []int{3} +} + +func (x *ForkChoiceNodeV2) GetSlot() *wrapperspb.UInt64Value { if x != nil { - return x.SlotV2 + return x.Slot } return nil } -func (x *ForkChoiceNode) GetJustifiedEpochV2() *wrapperspb.UInt64Value { +func (x *ForkChoiceNodeV2) GetBlockRoot() string { if x != nil { - return x.JustifiedEpochV2 + return x.BlockRoot + } + return "" +} + +func (x *ForkChoiceNodeV2) GetParentRoot() string { + if x != nil { + return x.ParentRoot + } + return "" +} + +func (x *ForkChoiceNodeV2) GetJustifiedEpoch() *wrapperspb.UInt64Value { + if x != nil { + return x.JustifiedEpoch } return nil } -func (x *ForkChoiceNode) GetFinalizedEpochV2() *wrapperspb.UInt64Value { +func (x *ForkChoiceNodeV2) GetFinalizedEpoch() *wrapperspb.UInt64Value { if x != nil { - return x.FinalizedEpochV2 + return x.FinalizedEpoch } return nil } -func (x *ForkChoiceNode) GetWeightV2() *wrapperspb.UInt64Value { +func (x *ForkChoiceNodeV2) GetWeight() *wrapperspb.UInt64Value { if x != nil { - return x.WeightV2 + return x.Weight } return nil } +func (x *ForkChoiceNodeV2) GetValidity() string { + if x != nil { + return x.Validity + } + return "" +} + +func (x *ForkChoiceNodeV2) GetExecutionBlockHash() string { + if x != nil { + return x.ExecutionBlockHash + } + return "" +} + +func (x *ForkChoiceNodeV2) GetExtraData() string { + if x != nil { + return x.ExtraData + } + return "" +} + var File_pkg_proto_eth_v1_fork_choice_proto protoreflect.FileDescriptor var file_pkg_proto_eth_v1_fork_choice_proto_rawDesc = []byte{ @@ -266,49 +400,74 @@ var file_pkg_proto_eth_v1_fork_choice_proto_rawDesc = []byte{ 0x6f, 0x64, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x6f, 0x72, 0x6b, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x11, 0x66, 0x6f, 0x72, 0x6b, 0x5f, 0x63, 0x68, - 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x22, 0xdf, 0x04, 0x0a, 0x0e, 0x46, - 0x6f, 0x72, 0x6b, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, - 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x42, 0x02, 0x18, 0x01, 0x52, - 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x72, - 0x6f, 0x6f, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, - 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, - 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x65, - 0x6e, 0x74, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x2c, 0x0a, 0x0f, 0x6a, 0x75, 0x73, 0x74, 0x69, - 0x66, 0x69, 0x65, 0x64, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, - 0x42, 0x02, 0x18, 0x01, 0x52, 0x0f, 0x6a, 0x75, 0x73, 0x74, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, - 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x2c, 0x0a, 0x0f, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, - 0x65, 0x64, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x42, 0x02, - 0x18, 0x01, 0x52, 0x0f, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x65, 0x70, - 0x6f, 0x63, 0x68, 0x12, 0x1a, 0x0a, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x04, 0x42, 0x02, 0x18, 0x01, 0x52, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, - 0x1a, 0x0a, 0x08, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x69, 0x74, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x69, 0x74, 0x79, 0x12, 0x30, 0x0a, 0x12, 0x45, - 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, - 0x68, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x12, 0x1d, 0x0a, - 0x09, 0x45, 0x78, 0x74, 0x72, 0x61, 0x44, 0x61, 0x74, 0x61, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0a, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x12, 0x36, 0x0a, 0x07, - 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x76, 0x32, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, - 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x73, 0x6c, 0x6f, - 0x74, 0x5f, 0x76, 0x32, 0x12, 0x4c, 0x0a, 0x12, 0x6a, 0x75, 0x73, 0x74, 0x69, 0x66, 0x69, 0x65, - 0x64, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x5f, 0x76, 0x32, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x12, - 0x6a, 0x75, 0x73, 0x74, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x5f, - 0x76, 0x32, 0x12, 0x4c, 0x0a, 0x12, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x5f, - 0x65, 0x70, 0x6f, 0x63, 0x68, 0x5f, 0x76, 0x32, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x12, 0x66, 0x69, - 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x5f, 0x76, 0x32, - 0x12, 0x3a, 0x0a, 0x09, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x76, 0x32, 0x18, 0x0d, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x52, 0x09, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x76, 0x32, 0x42, 0x2e, 0x5a, 0x2c, - 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x74, 0x68, 0x70, 0x61, - 0x6e, 0x64, 0x61, 0x6f, 0x70, 0x73, 0x2f, 0x78, 0x61, 0x74, 0x75, 0x2f, 0x70, 0x6b, 0x67, 0x2f, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x74, 0x68, 0x2f, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x33, + 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x22, 0xf9, 0x01, 0x0a, 0x0c, 0x46, + 0x6f, 0x72, 0x6b, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x56, 0x32, 0x12, 0x4d, 0x0a, 0x14, 0x6a, + 0x75, 0x73, 0x74, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x78, 0x61, 0x74, 0x75, + 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x56, 0x32, 0x52, 0x14, 0x6a, 0x75, 0x73, 0x74, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, + 0x63, 0x68, 0x65, 0x63, 0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x4d, 0x0a, 0x14, 0x66, 0x69, + 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, + 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x56, 0x32, 0x52, 0x14, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x63, + 0x68, 0x65, 0x63, 0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x4b, 0x0a, 0x11, 0x66, 0x6f, 0x72, + 0x6b, 0x5f, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x03, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, + 0x76, 0x31, 0x2e, 0x46, 0x6f, 0x72, 0x6b, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x4e, 0x6f, 0x64, + 0x65, 0x56, 0x32, 0x52, 0x11, 0x66, 0x6f, 0x72, 0x6b, 0x5f, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, + 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x22, 0xbf, 0x02, 0x0a, 0x0e, 0x46, 0x6f, 0x72, 0x6b, 0x43, + 0x68, 0x6f, 0x69, 0x63, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6c, 0x6f, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x1e, 0x0a, + 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x20, 0x0a, + 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, + 0x28, 0x0a, 0x0f, 0x6a, 0x75, 0x73, 0x74, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x65, 0x70, 0x6f, + 0x63, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0f, 0x6a, 0x75, 0x73, 0x74, 0x69, 0x66, + 0x69, 0x65, 0x64, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x28, 0x0a, 0x0f, 0x66, 0x69, 0x6e, + 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x0f, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x65, 0x70, + 0x6f, 0x63, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x76, + 0x61, 0x6c, 0x69, 0x64, 0x69, 0x74, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x76, + 0x61, 0x6c, 0x69, 0x64, 0x69, 0x74, 0x79, 0x12, 0x30, 0x0a, 0x12, 0x45, 0x78, 0x65, 0x63, 0x75, + 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x14, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x62, + 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x12, 0x1d, 0x0a, 0x09, 0x45, 0x78, 0x74, + 0x72, 0x61, 0x44, 0x61, 0x74, 0x61, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x78, + 0x74, 0x72, 0x61, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x22, 0xb9, 0x03, 0x0a, 0x10, 0x46, 0x6f, 0x72, + 0x6b, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x56, 0x32, 0x12, 0x30, 0x0a, + 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, + 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, + 0x1e, 0x0a, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, + 0x20, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x6f, 0x6f, + 0x74, 0x12, 0x46, 0x0a, 0x0f, 0x6a, 0x75, 0x73, 0x74, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x65, + 0x70, 0x6f, 0x63, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, + 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0f, 0x6a, 0x75, 0x73, 0x74, 0x69, 0x66, + 0x69, 0x65, 0x64, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x46, 0x0a, 0x0f, 0x66, 0x69, 0x6e, + 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x52, 0x0f, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x65, 0x70, 0x6f, 0x63, + 0x68, 0x12, 0x34, 0x0a, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, + 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x76, 0x61, 0x6c, 0x69, 0x64, + 0x69, 0x74, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x76, 0x61, 0x6c, 0x69, 0x64, + 0x69, 0x74, 0x79, 0x12, 0x30, 0x0a, 0x12, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, + 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x14, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, + 0x5f, 0x68, 0x61, 0x73, 0x68, 0x12, 0x1d, 0x0a, 0x09, 0x45, 0x78, 0x74, 0x72, 0x61, 0x44, 0x61, + 0x74, 0x61, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, + 0x64, 0x61, 0x74, 0x61, 0x42, 0x2e, 0x5a, 0x2c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x65, 0x74, 0x68, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x70, 0x73, 0x2f, 0x78, + 0x61, 0x74, 0x75, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x74, + 0x68, 0x2f, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -323,26 +482,32 @@ func file_pkg_proto_eth_v1_fork_choice_proto_rawDescGZIP() []byte { return file_pkg_proto_eth_v1_fork_choice_proto_rawDescData } -var file_pkg_proto_eth_v1_fork_choice_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_pkg_proto_eth_v1_fork_choice_proto_msgTypes = make([]protoimpl.MessageInfo, 4) var file_pkg_proto_eth_v1_fork_choice_proto_goTypes = []interface{}{ (*ForkChoice)(nil), // 0: xatu.eth.v1.ForkChoice - (*ForkChoiceNode)(nil), // 1: xatu.eth.v1.ForkChoiceNode - (*Checkpoint)(nil), // 2: xatu.eth.v1.Checkpoint - (*wrapperspb.UInt64Value)(nil), // 3: google.protobuf.UInt64Value + (*ForkChoiceV2)(nil), // 1: xatu.eth.v1.ForkChoiceV2 + (*ForkChoiceNode)(nil), // 2: xatu.eth.v1.ForkChoiceNode + (*ForkChoiceNodeV2)(nil), // 3: xatu.eth.v1.ForkChoiceNodeV2 + (*Checkpoint)(nil), // 4: xatu.eth.v1.Checkpoint + (*CheckpointV2)(nil), // 5: xatu.eth.v1.CheckpointV2 + (*wrapperspb.UInt64Value)(nil), // 6: google.protobuf.UInt64Value } var file_pkg_proto_eth_v1_fork_choice_proto_depIdxs = []int32{ - 2, // 0: xatu.eth.v1.ForkChoice.justified_checkpoint:type_name -> xatu.eth.v1.Checkpoint - 2, // 1: xatu.eth.v1.ForkChoice.finalized_checkpoint:type_name -> xatu.eth.v1.Checkpoint - 1, // 2: xatu.eth.v1.ForkChoice.fork_choice_nodes:type_name -> xatu.eth.v1.ForkChoiceNode - 3, // 3: xatu.eth.v1.ForkChoiceNode.slot_v2:type_name -> google.protobuf.UInt64Value - 3, // 4: xatu.eth.v1.ForkChoiceNode.justified_epoch_v2:type_name -> google.protobuf.UInt64Value - 3, // 5: xatu.eth.v1.ForkChoiceNode.finalized_epoch_v2:type_name -> google.protobuf.UInt64Value - 3, // 6: xatu.eth.v1.ForkChoiceNode.weight_v2:type_name -> google.protobuf.UInt64Value - 7, // [7:7] is the sub-list for method output_type - 7, // [7:7] is the sub-list for method input_type - 7, // [7:7] is the sub-list for extension type_name - 7, // [7:7] is the sub-list for extension extendee - 0, // [0:7] is the sub-list for field type_name + 4, // 0: xatu.eth.v1.ForkChoice.justified_checkpoint:type_name -> xatu.eth.v1.Checkpoint + 4, // 1: xatu.eth.v1.ForkChoice.finalized_checkpoint:type_name -> xatu.eth.v1.Checkpoint + 2, // 2: xatu.eth.v1.ForkChoice.fork_choice_nodes:type_name -> xatu.eth.v1.ForkChoiceNode + 5, // 3: xatu.eth.v1.ForkChoiceV2.justified_checkpoint:type_name -> xatu.eth.v1.CheckpointV2 + 5, // 4: xatu.eth.v1.ForkChoiceV2.finalized_checkpoint:type_name -> xatu.eth.v1.CheckpointV2 + 3, // 5: xatu.eth.v1.ForkChoiceV2.fork_choice_nodes:type_name -> xatu.eth.v1.ForkChoiceNodeV2 + 6, // 6: xatu.eth.v1.ForkChoiceNodeV2.slot:type_name -> google.protobuf.UInt64Value + 6, // 7: xatu.eth.v1.ForkChoiceNodeV2.justified_epoch:type_name -> google.protobuf.UInt64Value + 6, // 8: xatu.eth.v1.ForkChoiceNodeV2.finalized_epoch:type_name -> google.protobuf.UInt64Value + 6, // 9: xatu.eth.v1.ForkChoiceNodeV2.weight:type_name -> google.protobuf.UInt64Value + 10, // [10:10] is the sub-list for method output_type + 10, // [10:10] is the sub-list for method input_type + 10, // [10:10] is the sub-list for extension type_name + 10, // [10:10] is the sub-list for extension extendee + 0, // [0:10] is the sub-list for field type_name } func init() { file_pkg_proto_eth_v1_fork_choice_proto_init() } @@ -365,6 +530,18 @@ func file_pkg_proto_eth_v1_fork_choice_proto_init() { } } file_pkg_proto_eth_v1_fork_choice_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ForkChoiceV2); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_proto_eth_v1_fork_choice_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ForkChoiceNode); i { case 0: return &v.state @@ -376,6 +553,18 @@ func file_pkg_proto_eth_v1_fork_choice_proto_init() { return nil } } + file_pkg_proto_eth_v1_fork_choice_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ForkChoiceNodeV2); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } type x struct{} out := protoimpl.TypeBuilder{ @@ -383,7 +572,7 @@ func file_pkg_proto_eth_v1_fork_choice_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_pkg_proto_eth_v1_fork_choice_proto_rawDesc, NumEnums: 0, - NumMessages: 2, + NumMessages: 4, NumExtensions: 0, NumServices: 0, }, diff --git a/pkg/proto/eth/v1/fork_choice.proto b/pkg/proto/eth/v1/fork_choice.proto index 2cb8458a..d19fe8d4 100644 --- a/pkg/proto/eth/v1/fork_choice.proto +++ b/pkg/proto/eth/v1/fork_choice.proto @@ -20,33 +20,53 @@ message ForkChoice { [ json_name = "fork_choice_nodes" ]; } +message ForkChoiceV2 { + CheckpointV2 justified_checkpoint = 1 [ json_name = "justified_checkpoint" ]; + + CheckpointV2 finalized_checkpoint = 2 [ json_name = "finalized_checkpoint" ]; + + repeated ForkChoiceNodeV2 fork_choice_nodes = 3 + [ json_name = "fork_choice_nodes" ]; +} + message ForkChoiceNode { - uint64 slot = 1 [ json_name = "slot", deprecated=true ]; + uint64 slot = 1 [ json_name = "slot" ]; string block_root = 2 [ json_name = "block_root" ]; string parent_root = 3 [ json_name = "parent_root" ]; - uint64 justified_epoch = 4 [ json_name = "justified_epoch", deprecated=true ]; + uint64 justified_epoch = 4 [ json_name = "justified_epoch" ]; - uint64 finalized_epoch = 5 [ json_name = "finalized_epoch", deprecated=true ]; + uint64 finalized_epoch = 5 [ json_name = "finalized_epoch" ]; - uint64 weight = 6 [ json_name = "weight", deprecated=true ]; + uint64 weight = 6 [ json_name = "weight" ]; string validity = 7 [ json_name = "validity" ]; string ExecutionBlockHash = 8 [ json_name = "execution_block_hash" ]; string ExtraData = 9 [ json_name = "extra_data" ]; +} - google.protobuf.UInt64Value slot_v2 = 10 [ json_name = "slot_v2" ]; +message ForkChoiceNodeV2 { + google.protobuf.UInt64Value slot = 1 [ json_name = "slot" ]; - google.protobuf.UInt64Value justified_epoch_v2 = 11 - [ json_name = "justified_epoch_v2" ]; + string block_root = 2 [ json_name = "block_root" ]; - google.protobuf.UInt64Value finalized_epoch_v2 = 12 - [ json_name = "finalized_epoch_v2" ]; + string parent_root = 3 [ json_name = "parent_root" ]; - google.protobuf.UInt64Value weight_v2 = 13 [ json_name = "weight_v2" ]; -} + google.protobuf.UInt64Value justified_epoch = 4 + [ json_name = "justified_epoch" ]; + google.protobuf.UInt64Value finalized_epoch = 5 + [ json_name = "finalized_epoch" ]; + + google.protobuf.UInt64Value weight = 6 [ json_name = "weight" ]; + + string validity = 7 [ json_name = "validity" ]; + + string ExecutionBlockHash = 8 [ json_name = "execution_block_hash" ]; + + string ExtraData = 9 [ json_name = "extra_data" ]; +} diff --git a/pkg/proto/eth/v1/reorg.go b/pkg/proto/eth/v1/reorg.go index 6c675e13..4a4258e0 100644 --- a/pkg/proto/eth/v1/reorg.go +++ b/pkg/proto/eth/v1/reorg.go @@ -8,14 +8,23 @@ import ( func NewReorgEventFromGoEth2ClientEvent(e *eth2v1.ChainReorgEvent) *EventChainReorg { return &EventChainReorg{ Slot: uint64(e.Slot), - SlotV2: &wrapperspb.UInt64Value{Value: uint64(e.Slot)}, Epoch: uint64(e.Epoch), - EpochV2: &wrapperspb.UInt64Value{Value: uint64(e.Epoch)}, OldHeadBlock: RootAsString(e.OldHeadBlock), OldHeadState: RootAsString(e.OldHeadState), NewHeadBlock: RootAsString(e.NewHeadBlock), NewHeadState: RootAsString(e.NewHeadState), Depth: e.Depth, - DepthV2: &wrapperspb.UInt64Value{Value: e.Depth}, + } +} + +func NewReorgEventV2FromGoEth2ClientEvent(e *eth2v1.ChainReorgEvent) *EventChainReorgV2 { + return &EventChainReorgV2{ + Slot: &wrapperspb.UInt64Value{Value: uint64(e.Slot)}, + Epoch: &wrapperspb.UInt64Value{Value: uint64(e.Epoch)}, + OldHeadBlock: RootAsString(e.OldHeadBlock), + OldHeadState: RootAsString(e.OldHeadState), + NewHeadBlock: RootAsString(e.NewHeadBlock), + NewHeadState: RootAsString(e.NewHeadState), + Depth: &wrapperspb.UInt64Value{Value: e.Depth}, } } diff --git a/pkg/proto/eth/v1/sync_committee.pb.go b/pkg/proto/eth/v1/sync_committee.pb.go index ec9bfd14..88147b61 100644 --- a/pkg/proto/eth/v1/sync_committee.pb.go +++ b/pkg/proto/eth/v1/sync_committee.pb.go @@ -4,7 +4,8 @@ // protoc v4.23.4 // source: pkg/proto/eth/v1/sync_committee.proto -// Note: largely inspired by https://github.com/prysmaticlabs/prysm/tree/develop/proto/eth/v1 +// Note: largely inspired by +// https://github.com/prysmaticlabs/prysm/tree/develop/proto/eth/v1 package v1 @@ -123,6 +124,85 @@ func (x *SyncCommitteeContribution) GetSubcommitteeIndexV2() *wrapperspb.UInt64V return nil } +type SyncCommitteeContributionV2 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Slot *wrapperspb.UInt64Value `protobuf:"bytes,1,opt,name=slot,proto3" json:"slot,omitempty"` + SubcommitteeIndex *wrapperspb.UInt64Value `protobuf:"bytes,2,opt,name=subcommittee_index,proto3" json:"subcommittee_index,omitempty"` + AggregationBits string `protobuf:"bytes,3,opt,name=aggregation_bits,proto3" json:"aggregation_bits,omitempty"` + Signature string `protobuf:"bytes,4,opt,name=signature,proto3" json:"signature,omitempty"` + BeaconBlockRoot string `protobuf:"bytes,5,opt,name=beacon_block_root,proto3" json:"beacon_block_root,omitempty"` +} + +func (x *SyncCommitteeContributionV2) Reset() { + *x = SyncCommitteeContributionV2{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_eth_v1_sync_committee_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SyncCommitteeContributionV2) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SyncCommitteeContributionV2) ProtoMessage() {} + +func (x *SyncCommitteeContributionV2) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_eth_v1_sync_committee_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SyncCommitteeContributionV2.ProtoReflect.Descriptor instead. +func (*SyncCommitteeContributionV2) Descriptor() ([]byte, []int) { + return file_pkg_proto_eth_v1_sync_committee_proto_rawDescGZIP(), []int{1} +} + +func (x *SyncCommitteeContributionV2) GetSlot() *wrapperspb.UInt64Value { + if x != nil { + return x.Slot + } + return nil +} + +func (x *SyncCommitteeContributionV2) GetSubcommitteeIndex() *wrapperspb.UInt64Value { + if x != nil { + return x.SubcommitteeIndex + } + return nil +} + +func (x *SyncCommitteeContributionV2) GetAggregationBits() string { + if x != nil { + return x.AggregationBits + } + return "" +} + +func (x *SyncCommitteeContributionV2) GetSignature() string { + if x != nil { + return x.Signature + } + return "" +} + +func (x *SyncCommitteeContributionV2) GetBeaconBlockRoot() string { + if x != nil { + return x.BeaconBlockRoot + } + return "" +} + var File_pkg_proto_eth_v1_sync_committee_proto protoreflect.FileDescriptor var file_pkg_proto_eth_v1_sync_committee_proto_rawDesc = []byte{ @@ -156,10 +236,28 @@ var file_pkg_proto_eth_v1_sync_committee_proto_rawDesc = []byte{ 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x15, 0x73, 0x75, 0x62, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, - 0x78, 0x5f, 0x76, 0x32, 0x42, 0x2e, 0x5a, 0x2c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, - 0x6f, 0x6d, 0x2f, 0x65, 0x74, 0x68, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x70, 0x73, 0x2f, 0x78, - 0x61, 0x74, 0x75, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x74, - 0x68, 0x2f, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x78, 0x5f, 0x76, 0x32, 0x22, 0x95, 0x02, 0x0a, 0x1b, 0x53, 0x79, 0x6e, 0x63, 0x43, 0x6f, 0x6d, + 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, + 0x6f, 0x6e, 0x56, 0x32, 0x12, 0x30, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x4c, 0x0a, 0x12, 0x73, 0x75, 0x62, 0x63, 0x6f, 0x6d, + 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x52, 0x12, 0x73, 0x75, 0x62, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x5f, 0x69, + 0x6e, 0x64, 0x65, 0x78, 0x12, 0x2a, 0x0a, 0x10, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x62, 0x69, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, + 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x62, 0x69, 0x74, 0x73, + 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x2c, + 0x0a, 0x11, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x72, + 0x6f, 0x6f, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x62, 0x65, 0x61, 0x63, 0x6f, + 0x6e, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x42, 0x2e, 0x5a, 0x2c, + 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x74, 0x68, 0x70, 0x61, + 0x6e, 0x64, 0x61, 0x6f, 0x70, 0x73, 0x2f, 0x78, 0x61, 0x74, 0x75, 0x2f, 0x70, 0x6b, 0x67, 0x2f, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x74, 0x68, 0x2f, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -174,19 +272,22 @@ func file_pkg_proto_eth_v1_sync_committee_proto_rawDescGZIP() []byte { return file_pkg_proto_eth_v1_sync_committee_proto_rawDescData } -var file_pkg_proto_eth_v1_sync_committee_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_pkg_proto_eth_v1_sync_committee_proto_msgTypes = make([]protoimpl.MessageInfo, 2) var file_pkg_proto_eth_v1_sync_committee_proto_goTypes = []interface{}{ - (*SyncCommitteeContribution)(nil), // 0: xatu.eth.v1.SyncCommitteeContribution - (*wrapperspb.UInt64Value)(nil), // 1: google.protobuf.UInt64Value + (*SyncCommitteeContribution)(nil), // 0: xatu.eth.v1.SyncCommitteeContribution + (*SyncCommitteeContributionV2)(nil), // 1: xatu.eth.v1.SyncCommitteeContributionV2 + (*wrapperspb.UInt64Value)(nil), // 2: google.protobuf.UInt64Value } var file_pkg_proto_eth_v1_sync_committee_proto_depIdxs = []int32{ - 1, // 0: xatu.eth.v1.SyncCommitteeContribution.slot_v2:type_name -> google.protobuf.UInt64Value - 1, // 1: xatu.eth.v1.SyncCommitteeContribution.subcommittee_index_v2:type_name -> google.protobuf.UInt64Value - 2, // [2:2] is the sub-list for method output_type - 2, // [2:2] is the sub-list for method input_type - 2, // [2:2] is the sub-list for extension type_name - 2, // [2:2] is the sub-list for extension extendee - 0, // [0:2] is the sub-list for field type_name + 2, // 0: xatu.eth.v1.SyncCommitteeContribution.slot_v2:type_name -> google.protobuf.UInt64Value + 2, // 1: xatu.eth.v1.SyncCommitteeContribution.subcommittee_index_v2:type_name -> google.protobuf.UInt64Value + 2, // 2: xatu.eth.v1.SyncCommitteeContributionV2.slot:type_name -> google.protobuf.UInt64Value + 2, // 3: xatu.eth.v1.SyncCommitteeContributionV2.subcommittee_index:type_name -> google.protobuf.UInt64Value + 4, // [4:4] is the sub-list for method output_type + 4, // [4:4] is the sub-list for method input_type + 4, // [4:4] is the sub-list for extension type_name + 4, // [4:4] is the sub-list for extension extendee + 0, // [0:4] is the sub-list for field type_name } func init() { file_pkg_proto_eth_v1_sync_committee_proto_init() } @@ -207,6 +308,18 @@ func file_pkg_proto_eth_v1_sync_committee_proto_init() { return nil } } + file_pkg_proto_eth_v1_sync_committee_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SyncCommitteeContributionV2); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } type x struct{} out := protoimpl.TypeBuilder{ @@ -214,7 +327,7 @@ func file_pkg_proto_eth_v1_sync_committee_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_pkg_proto_eth_v1_sync_committee_proto_rawDesc, NumEnums: 0, - NumMessages: 1, + NumMessages: 2, NumExtensions: 0, NumServices: 0, }, diff --git a/pkg/proto/eth/v1/sync_committee.proto b/pkg/proto/eth/v1/sync_committee.proto index ddf77a2b..a662cefd 100644 --- a/pkg/proto/eth/v1/sync_committee.proto +++ b/pkg/proto/eth/v1/sync_committee.proto @@ -1,6 +1,7 @@ syntax = "proto3"; -// Note: largely inspired by https://github.com/prysmaticlabs/prysm/tree/develop/proto/eth/v1 +// Note: largely inspired by +// https://github.com/prysmaticlabs/prysm/tree/develop/proto/eth/v1 package xatu.eth.v1; @@ -10,17 +11,26 @@ import "google/protobuf/descriptor.proto"; import "google/protobuf/wrappers.proto"; message SyncCommitteeContribution { - uint64 slot = 1 [deprecated=true]; + uint64 slot = 1; - uint64 subcommittee_index = 2 [ json_name = "subcommittee_index", deprecated=true ]; + uint64 subcommittee_index = 2 [ json_name = "subcommittee_index" ]; string aggregation_bits = 3 [ json_name = "aggregation_bits" ]; string signature = 4; string beacon_block_root = 5 [ json_name = "beacon_block_root" ]; +} - google.protobuf.UInt64Value slot_v2 = 6 [ json_name = "slot_v2" ]; +message SyncCommitteeContributionV2 { + google.protobuf.UInt64Value slot = 1; - google.protobuf.UInt64Value subcommittee_index_v2 = 7 [ json_name = "subcommittee_index_v2" ]; + google.protobuf.UInt64Value subcommittee_index = 2 + [ json_name = "subcommittee_index" ]; + + string aggregation_bits = 3 [ json_name = "aggregation_bits" ]; + + string signature = 4; + + string beacon_block_root = 5 [ json_name = "beacon_block_root" ]; } \ No newline at end of file diff --git a/pkg/proto/eth/v2/beacon_block.pb.go b/pkg/proto/eth/v2/beacon_block.pb.go index 88e54fbb..98413a7d 100644 --- a/pkg/proto/eth/v2/beacon_block.pb.go +++ b/pkg/proto/eth/v2/beacon_block.pb.go @@ -81,17 +81,17 @@ func (x *SignedBeaconBlockBellatrix) GetSignature() string { return "" } -type SignedBeaconBlockCapella struct { +type SignedBeaconBlockBellatrixV2 struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Message *BeaconBlockCapella `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"` - Signature string `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"` + Message *BeaconBlockBellatrixV2 `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"` + Signature string `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"` } -func (x *SignedBeaconBlockCapella) Reset() { - *x = SignedBeaconBlockCapella{} +func (x *SignedBeaconBlockBellatrixV2) Reset() { + *x = SignedBeaconBlockBellatrixV2{} if protoimpl.UnsafeEnabled { mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -99,13 +99,13 @@ func (x *SignedBeaconBlockCapella) Reset() { } } -func (x *SignedBeaconBlockCapella) String() string { +func (x *SignedBeaconBlockBellatrixV2) String() string { return protoimpl.X.MessageStringOf(x) } -func (*SignedBeaconBlockCapella) ProtoMessage() {} +func (*SignedBeaconBlockBellatrixV2) ProtoMessage() {} -func (x *SignedBeaconBlockCapella) ProtoReflect() protoreflect.Message { +func (x *SignedBeaconBlockBellatrixV2) ProtoReflect() protoreflect.Message { mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -117,36 +117,36 @@ func (x *SignedBeaconBlockCapella) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use SignedBeaconBlockCapella.ProtoReflect.Descriptor instead. -func (*SignedBeaconBlockCapella) Descriptor() ([]byte, []int) { +// Deprecated: Use SignedBeaconBlockBellatrixV2.ProtoReflect.Descriptor instead. +func (*SignedBeaconBlockBellatrixV2) Descriptor() ([]byte, []int) { return file_pkg_proto_eth_v2_beacon_block_proto_rawDescGZIP(), []int{1} } -func (x *SignedBeaconBlockCapella) GetMessage() *BeaconBlockCapella { +func (x *SignedBeaconBlockBellatrixV2) GetMessage() *BeaconBlockBellatrixV2 { if x != nil { return x.Message } return nil } -func (x *SignedBeaconBlockCapella) GetSignature() string { +func (x *SignedBeaconBlockBellatrixV2) GetSignature() string { if x != nil { return x.Signature } return "" } -type SignedBlindedBeaconBlockBellatrix struct { +type SignedBeaconBlockCapella struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Message *BlindedBeaconBlockBellatrix `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"` - Signature string `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"` + Message *BeaconBlockCapella `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"` + Signature string `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"` } -func (x *SignedBlindedBeaconBlockBellatrix) Reset() { - *x = SignedBlindedBeaconBlockBellatrix{} +func (x *SignedBeaconBlockCapella) Reset() { + *x = SignedBeaconBlockCapella{} if protoimpl.UnsafeEnabled { mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -154,13 +154,13 @@ func (x *SignedBlindedBeaconBlockBellatrix) Reset() { } } -func (x *SignedBlindedBeaconBlockBellatrix) String() string { +func (x *SignedBeaconBlockCapella) String() string { return protoimpl.X.MessageStringOf(x) } -func (*SignedBlindedBeaconBlockBellatrix) ProtoMessage() {} +func (*SignedBeaconBlockCapella) ProtoMessage() {} -func (x *SignedBlindedBeaconBlockBellatrix) ProtoReflect() protoreflect.Message { +func (x *SignedBeaconBlockCapella) ProtoReflect() protoreflect.Message { mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -172,36 +172,36 @@ func (x *SignedBlindedBeaconBlockBellatrix) ProtoReflect() protoreflect.Message return mi.MessageOf(x) } -// Deprecated: Use SignedBlindedBeaconBlockBellatrix.ProtoReflect.Descriptor instead. -func (*SignedBlindedBeaconBlockBellatrix) Descriptor() ([]byte, []int) { +// Deprecated: Use SignedBeaconBlockCapella.ProtoReflect.Descriptor instead. +func (*SignedBeaconBlockCapella) Descriptor() ([]byte, []int) { return file_pkg_proto_eth_v2_beacon_block_proto_rawDescGZIP(), []int{2} } -func (x *SignedBlindedBeaconBlockBellatrix) GetMessage() *BlindedBeaconBlockBellatrix { +func (x *SignedBeaconBlockCapella) GetMessage() *BeaconBlockCapella { if x != nil { return x.Message } return nil } -func (x *SignedBlindedBeaconBlockBellatrix) GetSignature() string { +func (x *SignedBeaconBlockCapella) GetSignature() string { if x != nil { return x.Signature } return "" } -type SignedBlindedBeaconBlockCapella struct { +type SignedBeaconBlockCapellaV2 struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Message *BlindedBeaconBlockCapella `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"` - Signature string `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"` + Message *BeaconBlockCapellaV2 `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"` + Signature string `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"` } -func (x *SignedBlindedBeaconBlockCapella) Reset() { - *x = SignedBlindedBeaconBlockCapella{} +func (x *SignedBeaconBlockCapellaV2) Reset() { + *x = SignedBeaconBlockCapellaV2{} if protoimpl.UnsafeEnabled { mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -209,13 +209,13 @@ func (x *SignedBlindedBeaconBlockCapella) Reset() { } } -func (x *SignedBlindedBeaconBlockCapella) String() string { +func (x *SignedBeaconBlockCapellaV2) String() string { return protoimpl.X.MessageStringOf(x) } -func (*SignedBlindedBeaconBlockCapella) ProtoMessage() {} +func (*SignedBeaconBlockCapellaV2) ProtoMessage() {} -func (x *SignedBlindedBeaconBlockCapella) ProtoReflect() protoreflect.Message { +func (x *SignedBeaconBlockCapellaV2) ProtoReflect() protoreflect.Message { mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -227,36 +227,36 @@ func (x *SignedBlindedBeaconBlockCapella) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use SignedBlindedBeaconBlockCapella.ProtoReflect.Descriptor instead. -func (*SignedBlindedBeaconBlockCapella) Descriptor() ([]byte, []int) { +// Deprecated: Use SignedBeaconBlockCapellaV2.ProtoReflect.Descriptor instead. +func (*SignedBeaconBlockCapellaV2) Descriptor() ([]byte, []int) { return file_pkg_proto_eth_v2_beacon_block_proto_rawDescGZIP(), []int{3} } -func (x *SignedBlindedBeaconBlockCapella) GetMessage() *BlindedBeaconBlockCapella { +func (x *SignedBeaconBlockCapellaV2) GetMessage() *BeaconBlockCapellaV2 { if x != nil { return x.Message } return nil } -func (x *SignedBlindedBeaconBlockCapella) GetSignature() string { +func (x *SignedBeaconBlockCapellaV2) GetSignature() string { if x != nil { return x.Signature } return "" } -type SignedBeaconBlockAltair struct { +type SignedBlindedBeaconBlockBellatrix struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Message *BeaconBlockAltair `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"` - Signature string `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"` + Message *BlindedBeaconBlockBellatrix `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"` + Signature string `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"` } -func (x *SignedBeaconBlockAltair) Reset() { - *x = SignedBeaconBlockAltair{} +func (x *SignedBlindedBeaconBlockBellatrix) Reset() { + *x = SignedBlindedBeaconBlockBellatrix{} if protoimpl.UnsafeEnabled { mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -264,13 +264,13 @@ func (x *SignedBeaconBlockAltair) Reset() { } } -func (x *SignedBeaconBlockAltair) String() string { +func (x *SignedBlindedBeaconBlockBellatrix) String() string { return protoimpl.X.MessageStringOf(x) } -func (*SignedBeaconBlockAltair) ProtoMessage() {} +func (*SignedBlindedBeaconBlockBellatrix) ProtoMessage() {} -func (x *SignedBeaconBlockAltair) ProtoReflect() protoreflect.Message { +func (x *SignedBlindedBeaconBlockBellatrix) ProtoReflect() protoreflect.Message { mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -282,43 +282,36 @@ func (x *SignedBeaconBlockAltair) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use SignedBeaconBlockAltair.ProtoReflect.Descriptor instead. -func (*SignedBeaconBlockAltair) Descriptor() ([]byte, []int) { +// Deprecated: Use SignedBlindedBeaconBlockBellatrix.ProtoReflect.Descriptor instead. +func (*SignedBlindedBeaconBlockBellatrix) Descriptor() ([]byte, []int) { return file_pkg_proto_eth_v2_beacon_block_proto_rawDescGZIP(), []int{4} } -func (x *SignedBeaconBlockAltair) GetMessage() *BeaconBlockAltair { +func (x *SignedBlindedBeaconBlockBellatrix) GetMessage() *BlindedBeaconBlockBellatrix { if x != nil { return x.Message } return nil } -func (x *SignedBeaconBlockAltair) GetSignature() string { +func (x *SignedBlindedBeaconBlockBellatrix) GetSignature() string { if x != nil { return x.Signature } return "" } -type BeaconBlockBellatrix struct { +type SignedBlindedBeaconBlockBellatrixV2 struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Deprecated: Marked as deprecated in pkg/proto/eth/v2/beacon_block.proto. - Slot uint64 `protobuf:"varint,1,opt,name=slot,proto3" json:"slot,omitempty"` - // Deprecated: Marked as deprecated in pkg/proto/eth/v2/beacon_block.proto. - ProposerIndex uint64 `protobuf:"varint,2,opt,name=proposer_index,proto3" json:"proposer_index,omitempty"` - ParentRoot string `protobuf:"bytes,3,opt,name=parent_root,proto3" json:"parent_root,omitempty"` - StateRoot string `protobuf:"bytes,4,opt,name=state_root,proto3" json:"state_root,omitempty"` - Body *BeaconBlockBodyBellatrix `protobuf:"bytes,5,opt,name=body,proto3" json:"body,omitempty"` - SlotV2 *wrapperspb.UInt64Value `protobuf:"bytes,6,opt,name=slot_v2,proto3" json:"slot_v2,omitempty"` - ProposerIndexV2 *wrapperspb.UInt64Value `protobuf:"bytes,7,opt,name=proposer_index_v2,proto3" json:"proposer_index_v2,omitempty"` + Message *BlindedBeaconBlockBellatrixV2 `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"` + Signature string `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"` } -func (x *BeaconBlockBellatrix) Reset() { - *x = BeaconBlockBellatrix{} +func (x *SignedBlindedBeaconBlockBellatrixV2) Reset() { + *x = SignedBlindedBeaconBlockBellatrixV2{} if protoimpl.UnsafeEnabled { mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -326,13 +319,13 @@ func (x *BeaconBlockBellatrix) Reset() { } } -func (x *BeaconBlockBellatrix) String() string { +func (x *SignedBlindedBeaconBlockBellatrixV2) String() string { return protoimpl.X.MessageStringOf(x) } -func (*BeaconBlockBellatrix) ProtoMessage() {} +func (*SignedBlindedBeaconBlockBellatrixV2) ProtoMessage() {} -func (x *BeaconBlockBellatrix) ProtoReflect() protoreflect.Message { +func (x *SignedBlindedBeaconBlockBellatrixV2) ProtoReflect() protoreflect.Message { mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -344,80 +337,36 @@ func (x *BeaconBlockBellatrix) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use BeaconBlockBellatrix.ProtoReflect.Descriptor instead. -func (*BeaconBlockBellatrix) Descriptor() ([]byte, []int) { +// Deprecated: Use SignedBlindedBeaconBlockBellatrixV2.ProtoReflect.Descriptor instead. +func (*SignedBlindedBeaconBlockBellatrixV2) Descriptor() ([]byte, []int) { return file_pkg_proto_eth_v2_beacon_block_proto_rawDescGZIP(), []int{5} } -// Deprecated: Marked as deprecated in pkg/proto/eth/v2/beacon_block.proto. -func (x *BeaconBlockBellatrix) GetSlot() uint64 { - if x != nil { - return x.Slot - } - return 0 -} - -// Deprecated: Marked as deprecated in pkg/proto/eth/v2/beacon_block.proto. -func (x *BeaconBlockBellatrix) GetProposerIndex() uint64 { - if x != nil { - return x.ProposerIndex - } - return 0 -} - -func (x *BeaconBlockBellatrix) GetParentRoot() string { - if x != nil { - return x.ParentRoot - } - return "" -} - -func (x *BeaconBlockBellatrix) GetStateRoot() string { - if x != nil { - return x.StateRoot - } - return "" -} - -func (x *BeaconBlockBellatrix) GetBody() *BeaconBlockBodyBellatrix { - if x != nil { - return x.Body - } - return nil -} - -func (x *BeaconBlockBellatrix) GetSlotV2() *wrapperspb.UInt64Value { +func (x *SignedBlindedBeaconBlockBellatrixV2) GetMessage() *BlindedBeaconBlockBellatrixV2 { if x != nil { - return x.SlotV2 + return x.Message } return nil } -func (x *BeaconBlockBellatrix) GetProposerIndexV2() *wrapperspb.UInt64Value { +func (x *SignedBlindedBeaconBlockBellatrixV2) GetSignature() string { if x != nil { - return x.ProposerIndexV2 + return x.Signature } - return nil + return "" } -type BlindedBeaconBlockBellatrix struct { +type SignedBlindedBeaconBlockCapella struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Deprecated: Marked as deprecated in pkg/proto/eth/v2/beacon_block.proto. - Slot uint64 `protobuf:"varint,1,opt,name=slot,proto3" json:"slot,omitempty"` - // Deprecated: Marked as deprecated in pkg/proto/eth/v2/beacon_block.proto. - ProposerIndex uint64 `protobuf:"varint,2,opt,name=proposer_index,proto3" json:"proposer_index,omitempty"` - ParentRoot string `protobuf:"bytes,3,opt,name=parent_root,proto3" json:"parent_root,omitempty"` - StateRoot string `protobuf:"bytes,4,opt,name=state_root,proto3" json:"state_root,omitempty"` - Body *BlindedBeaconBlockBodyBellatrix `protobuf:"bytes,5,opt,name=body,proto3" json:"body,omitempty"` - SlotV2 *wrapperspb.UInt64Value `protobuf:"bytes,6,opt,name=slot_v2,proto3" json:"slot_v2,omitempty"` - ProposerIndexV2 *wrapperspb.UInt64Value `protobuf:"bytes,7,opt,name=proposer_index_v2,proto3" json:"proposer_index_v2,omitempty"` + Message *BlindedBeaconBlockCapella `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"` + Signature string `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"` } -func (x *BlindedBeaconBlockBellatrix) Reset() { - *x = BlindedBeaconBlockBellatrix{} +func (x *SignedBlindedBeaconBlockCapella) Reset() { + *x = SignedBlindedBeaconBlockCapella{} if protoimpl.UnsafeEnabled { mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -425,13 +374,13 @@ func (x *BlindedBeaconBlockBellatrix) Reset() { } } -func (x *BlindedBeaconBlockBellatrix) String() string { +func (x *SignedBlindedBeaconBlockCapella) String() string { return protoimpl.X.MessageStringOf(x) } -func (*BlindedBeaconBlockBellatrix) ProtoMessage() {} +func (*SignedBlindedBeaconBlockCapella) ProtoMessage() {} -func (x *BlindedBeaconBlockBellatrix) ProtoReflect() protoreflect.Message { +func (x *SignedBlindedBeaconBlockCapella) ProtoReflect() protoreflect.Message { mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -443,80 +392,36 @@ func (x *BlindedBeaconBlockBellatrix) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use BlindedBeaconBlockBellatrix.ProtoReflect.Descriptor instead. -func (*BlindedBeaconBlockBellatrix) Descriptor() ([]byte, []int) { +// Deprecated: Use SignedBlindedBeaconBlockCapella.ProtoReflect.Descriptor instead. +func (*SignedBlindedBeaconBlockCapella) Descriptor() ([]byte, []int) { return file_pkg_proto_eth_v2_beacon_block_proto_rawDescGZIP(), []int{6} } -// Deprecated: Marked as deprecated in pkg/proto/eth/v2/beacon_block.proto. -func (x *BlindedBeaconBlockBellatrix) GetSlot() uint64 { - if x != nil { - return x.Slot - } - return 0 -} - -// Deprecated: Marked as deprecated in pkg/proto/eth/v2/beacon_block.proto. -func (x *BlindedBeaconBlockBellatrix) GetProposerIndex() uint64 { - if x != nil { - return x.ProposerIndex - } - return 0 -} - -func (x *BlindedBeaconBlockBellatrix) GetParentRoot() string { - if x != nil { - return x.ParentRoot - } - return "" -} - -func (x *BlindedBeaconBlockBellatrix) GetStateRoot() string { - if x != nil { - return x.StateRoot - } - return "" -} - -func (x *BlindedBeaconBlockBellatrix) GetBody() *BlindedBeaconBlockBodyBellatrix { - if x != nil { - return x.Body - } - return nil -} - -func (x *BlindedBeaconBlockBellatrix) GetSlotV2() *wrapperspb.UInt64Value { +func (x *SignedBlindedBeaconBlockCapella) GetMessage() *BlindedBeaconBlockCapella { if x != nil { - return x.SlotV2 + return x.Message } return nil } -func (x *BlindedBeaconBlockBellatrix) GetProposerIndexV2() *wrapperspb.UInt64Value { +func (x *SignedBlindedBeaconBlockCapella) GetSignature() string { if x != nil { - return x.ProposerIndexV2 + return x.Signature } - return nil + return "" } -type BeaconBlockCapella struct { +type SignedBlindedBeaconBlockCapellaV2 struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Deprecated: Marked as deprecated in pkg/proto/eth/v2/beacon_block.proto. - Slot uint64 `protobuf:"varint,1,opt,name=slot,proto3" json:"slot,omitempty"` - // Deprecated: Marked as deprecated in pkg/proto/eth/v2/beacon_block.proto. - ProposerIndex uint64 `protobuf:"varint,2,opt,name=proposer_index,proto3" json:"proposer_index,omitempty"` - ParentRoot string `protobuf:"bytes,3,opt,name=parent_root,proto3" json:"parent_root,omitempty"` - StateRoot string `protobuf:"bytes,4,opt,name=state_root,proto3" json:"state_root,omitempty"` - Body *BeaconBlockBodyCapella `protobuf:"bytes,5,opt,name=body,proto3" json:"body,omitempty"` - SlotV2 *wrapperspb.UInt64Value `protobuf:"bytes,6,opt,name=slot_v2,proto3" json:"slot_v2,omitempty"` - ProposerIndexV2 *wrapperspb.UInt64Value `protobuf:"bytes,7,opt,name=proposer_index_v2,proto3" json:"proposer_index_v2,omitempty"` + Message *BlindedBeaconBlockCapellaV2 `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"` + Signature string `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"` } -func (x *BeaconBlockCapella) Reset() { - *x = BeaconBlockCapella{} +func (x *SignedBlindedBeaconBlockCapellaV2) Reset() { + *x = SignedBlindedBeaconBlockCapellaV2{} if protoimpl.UnsafeEnabled { mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -524,13 +429,13 @@ func (x *BeaconBlockCapella) Reset() { } } -func (x *BeaconBlockCapella) String() string { +func (x *SignedBlindedBeaconBlockCapellaV2) String() string { return protoimpl.X.MessageStringOf(x) } -func (*BeaconBlockCapella) ProtoMessage() {} +func (*SignedBlindedBeaconBlockCapellaV2) ProtoMessage() {} -func (x *BeaconBlockCapella) ProtoReflect() protoreflect.Message { +func (x *SignedBlindedBeaconBlockCapellaV2) ProtoReflect() protoreflect.Message { mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -542,80 +447,36 @@ func (x *BeaconBlockCapella) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use BeaconBlockCapella.ProtoReflect.Descriptor instead. -func (*BeaconBlockCapella) Descriptor() ([]byte, []int) { +// Deprecated: Use SignedBlindedBeaconBlockCapellaV2.ProtoReflect.Descriptor instead. +func (*SignedBlindedBeaconBlockCapellaV2) Descriptor() ([]byte, []int) { return file_pkg_proto_eth_v2_beacon_block_proto_rawDescGZIP(), []int{7} } -// Deprecated: Marked as deprecated in pkg/proto/eth/v2/beacon_block.proto. -func (x *BeaconBlockCapella) GetSlot() uint64 { - if x != nil { - return x.Slot - } - return 0 -} - -// Deprecated: Marked as deprecated in pkg/proto/eth/v2/beacon_block.proto. -func (x *BeaconBlockCapella) GetProposerIndex() uint64 { - if x != nil { - return x.ProposerIndex - } - return 0 -} - -func (x *BeaconBlockCapella) GetParentRoot() string { - if x != nil { - return x.ParentRoot - } - return "" -} - -func (x *BeaconBlockCapella) GetStateRoot() string { - if x != nil { - return x.StateRoot - } - return "" -} - -func (x *BeaconBlockCapella) GetBody() *BeaconBlockBodyCapella { - if x != nil { - return x.Body - } - return nil -} - -func (x *BeaconBlockCapella) GetSlotV2() *wrapperspb.UInt64Value { +func (x *SignedBlindedBeaconBlockCapellaV2) GetMessage() *BlindedBeaconBlockCapellaV2 { if x != nil { - return x.SlotV2 + return x.Message } return nil } -func (x *BeaconBlockCapella) GetProposerIndexV2() *wrapperspb.UInt64Value { +func (x *SignedBlindedBeaconBlockCapellaV2) GetSignature() string { if x != nil { - return x.ProposerIndexV2 + return x.Signature } - return nil + return "" } -type BlindedBeaconBlockCapella struct { +type SignedBeaconBlockAltair struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Deprecated: Marked as deprecated in pkg/proto/eth/v2/beacon_block.proto. - Slot uint64 `protobuf:"varint,1,opt,name=slot,proto3" json:"slot,omitempty"` - // Deprecated: Marked as deprecated in pkg/proto/eth/v2/beacon_block.proto. - ProposerIndex uint64 `protobuf:"varint,2,opt,name=proposer_index,proto3" json:"proposer_index,omitempty"` - ParentRoot string `protobuf:"bytes,3,opt,name=parent_root,proto3" json:"parent_root,omitempty"` - StateRoot string `protobuf:"bytes,4,opt,name=state_root,proto3" json:"state_root,omitempty"` - Body *BlindedBeaconBlockBodyCapella `protobuf:"bytes,5,opt,name=body,proto3" json:"body,omitempty"` - SlotV2 *wrapperspb.UInt64Value `protobuf:"bytes,6,opt,name=slot_v2,proto3" json:"slot_v2,omitempty"` - ProposerIndexV2 *wrapperspb.UInt64Value `protobuf:"bytes,7,opt,name=proposer_index_v2,proto3" json:"proposer_index_v2,omitempty"` + Message *BeaconBlockAltair `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"` + Signature string `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"` } -func (x *BlindedBeaconBlockCapella) Reset() { - *x = BlindedBeaconBlockCapella{} +func (x *SignedBeaconBlockAltair) Reset() { + *x = SignedBeaconBlockAltair{} if protoimpl.UnsafeEnabled { mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -623,13 +484,13 @@ func (x *BlindedBeaconBlockCapella) Reset() { } } -func (x *BlindedBeaconBlockCapella) String() string { +func (x *SignedBeaconBlockAltair) String() string { return protoimpl.X.MessageStringOf(x) } -func (*BlindedBeaconBlockCapella) ProtoMessage() {} +func (*SignedBeaconBlockAltair) ProtoMessage() {} -func (x *BlindedBeaconBlockCapella) ProtoReflect() protoreflect.Message { +func (x *SignedBeaconBlockAltair) ProtoReflect() protoreflect.Message { mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -641,95 +502,1261 @@ func (x *BlindedBeaconBlockCapella) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use BlindedBeaconBlockCapella.ProtoReflect.Descriptor instead. -func (*BlindedBeaconBlockCapella) Descriptor() ([]byte, []int) { +// Deprecated: Use SignedBeaconBlockAltair.ProtoReflect.Descriptor instead. +func (*SignedBeaconBlockAltair) Descriptor() ([]byte, []int) { return file_pkg_proto_eth_v2_beacon_block_proto_rawDescGZIP(), []int{8} } -// Deprecated: Marked as deprecated in pkg/proto/eth/v2/beacon_block.proto. -func (x *BlindedBeaconBlockCapella) GetSlot() uint64 { +func (x *SignedBeaconBlockAltair) GetMessage() *BeaconBlockAltair { if x != nil { - return x.Slot + return x.Message } - return 0 + return nil } -// Deprecated: Marked as deprecated in pkg/proto/eth/v2/beacon_block.proto. -func (x *BlindedBeaconBlockCapella) GetProposerIndex() uint64 { +func (x *SignedBeaconBlockAltair) GetSignature() string { if x != nil { - return x.ProposerIndex + return x.Signature } - return 0 + return "" +} + +type SignedBeaconBlockAltairV2 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Message *BeaconBlockAltairV2 `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"` + Signature string `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"` +} + +func (x *SignedBeaconBlockAltairV2) Reset() { + *x = SignedBeaconBlockAltairV2{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SignedBeaconBlockAltairV2) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SignedBeaconBlockAltairV2) ProtoMessage() {} + +func (x *SignedBeaconBlockAltairV2) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SignedBeaconBlockAltairV2.ProtoReflect.Descriptor instead. +func (*SignedBeaconBlockAltairV2) Descriptor() ([]byte, []int) { + return file_pkg_proto_eth_v2_beacon_block_proto_rawDescGZIP(), []int{9} +} + +func (x *SignedBeaconBlockAltairV2) GetMessage() *BeaconBlockAltairV2 { + if x != nil { + return x.Message + } + return nil +} + +func (x *SignedBeaconBlockAltairV2) GetSignature() string { + if x != nil { + return x.Signature + } + return "" +} + +type BeaconBlockBellatrix struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Slot uint64 `protobuf:"varint,1,opt,name=slot,proto3" json:"slot,omitempty"` + ProposerIndex uint64 `protobuf:"varint,2,opt,name=proposer_index,proto3" json:"proposer_index,omitempty"` + ParentRoot string `protobuf:"bytes,3,opt,name=parent_root,proto3" json:"parent_root,omitempty"` + StateRoot string `protobuf:"bytes,4,opt,name=state_root,proto3" json:"state_root,omitempty"` + Body *BeaconBlockBodyBellatrix `protobuf:"bytes,5,opt,name=body,proto3" json:"body,omitempty"` +} + +func (x *BeaconBlockBellatrix) Reset() { + *x = BeaconBlockBellatrix{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BeaconBlockBellatrix) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BeaconBlockBellatrix) ProtoMessage() {} + +func (x *BeaconBlockBellatrix) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BeaconBlockBellatrix.ProtoReflect.Descriptor instead. +func (*BeaconBlockBellatrix) Descriptor() ([]byte, []int) { + return file_pkg_proto_eth_v2_beacon_block_proto_rawDescGZIP(), []int{10} +} + +func (x *BeaconBlockBellatrix) GetSlot() uint64 { + if x != nil { + return x.Slot + } + return 0 +} + +func (x *BeaconBlockBellatrix) GetProposerIndex() uint64 { + if x != nil { + return x.ProposerIndex + } + return 0 +} + +func (x *BeaconBlockBellatrix) GetParentRoot() string { + if x != nil { + return x.ParentRoot + } + return "" +} + +func (x *BeaconBlockBellatrix) GetStateRoot() string { + if x != nil { + return x.StateRoot + } + return "" +} + +func (x *BeaconBlockBellatrix) GetBody() *BeaconBlockBodyBellatrix { + if x != nil { + return x.Body + } + return nil +} + +type BeaconBlockBellatrixV2 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Slot *wrapperspb.UInt64Value `protobuf:"bytes,1,opt,name=slot,proto3" json:"slot,omitempty"` + ProposerIndex *wrapperspb.UInt64Value `protobuf:"bytes,2,opt,name=proposer_index,proto3" json:"proposer_index,omitempty"` + ParentRoot string `protobuf:"bytes,3,opt,name=parent_root,proto3" json:"parent_root,omitempty"` + StateRoot string `protobuf:"bytes,4,opt,name=state_root,proto3" json:"state_root,omitempty"` + Body *BeaconBlockBodyBellatrixV2 `protobuf:"bytes,5,opt,name=body,proto3" json:"body,omitempty"` +} + +func (x *BeaconBlockBellatrixV2) Reset() { + *x = BeaconBlockBellatrixV2{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BeaconBlockBellatrixV2) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BeaconBlockBellatrixV2) ProtoMessage() {} + +func (x *BeaconBlockBellatrixV2) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[11] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BeaconBlockBellatrixV2.ProtoReflect.Descriptor instead. +func (*BeaconBlockBellatrixV2) Descriptor() ([]byte, []int) { + return file_pkg_proto_eth_v2_beacon_block_proto_rawDescGZIP(), []int{11} +} + +func (x *BeaconBlockBellatrixV2) GetSlot() *wrapperspb.UInt64Value { + if x != nil { + return x.Slot + } + return nil +} + +func (x *BeaconBlockBellatrixV2) GetProposerIndex() *wrapperspb.UInt64Value { + if x != nil { + return x.ProposerIndex + } + return nil +} + +func (x *BeaconBlockBellatrixV2) GetParentRoot() string { + if x != nil { + return x.ParentRoot + } + return "" +} + +func (x *BeaconBlockBellatrixV2) GetStateRoot() string { + if x != nil { + return x.StateRoot + } + return "" +} + +func (x *BeaconBlockBellatrixV2) GetBody() *BeaconBlockBodyBellatrixV2 { + if x != nil { + return x.Body + } + return nil +} + +type BlindedBeaconBlockBellatrix struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Slot uint64 `protobuf:"varint,1,opt,name=slot,proto3" json:"slot,omitempty"` + ProposerIndex uint64 `protobuf:"varint,2,opt,name=proposer_index,proto3" json:"proposer_index,omitempty"` + ParentRoot string `protobuf:"bytes,3,opt,name=parent_root,proto3" json:"parent_root,omitempty"` + StateRoot string `protobuf:"bytes,4,opt,name=state_root,proto3" json:"state_root,omitempty"` + Body *BlindedBeaconBlockBodyBellatrix `protobuf:"bytes,5,opt,name=body,proto3" json:"body,omitempty"` +} + +func (x *BlindedBeaconBlockBellatrix) Reset() { + *x = BlindedBeaconBlockBellatrix{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BlindedBeaconBlockBellatrix) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BlindedBeaconBlockBellatrix) ProtoMessage() {} + +func (x *BlindedBeaconBlockBellatrix) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[12] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BlindedBeaconBlockBellatrix.ProtoReflect.Descriptor instead. +func (*BlindedBeaconBlockBellatrix) Descriptor() ([]byte, []int) { + return file_pkg_proto_eth_v2_beacon_block_proto_rawDescGZIP(), []int{12} +} + +func (x *BlindedBeaconBlockBellatrix) GetSlot() uint64 { + if x != nil { + return x.Slot + } + return 0 +} + +func (x *BlindedBeaconBlockBellatrix) GetProposerIndex() uint64 { + if x != nil { + return x.ProposerIndex + } + return 0 +} + +func (x *BlindedBeaconBlockBellatrix) GetParentRoot() string { + if x != nil { + return x.ParentRoot + } + return "" +} + +func (x *BlindedBeaconBlockBellatrix) GetStateRoot() string { + if x != nil { + return x.StateRoot + } + return "" +} + +func (x *BlindedBeaconBlockBellatrix) GetBody() *BlindedBeaconBlockBodyBellatrix { + if x != nil { + return x.Body + } + return nil +} + +type BlindedBeaconBlockBellatrixV2 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Slot *wrapperspb.UInt64Value `protobuf:"bytes,1,opt,name=slot,proto3" json:"slot,omitempty"` + ProposerIndex *wrapperspb.UInt64Value `protobuf:"bytes,2,opt,name=proposer_index,proto3" json:"proposer_index,omitempty"` + ParentRoot string `protobuf:"bytes,3,opt,name=parent_root,proto3" json:"parent_root,omitempty"` + StateRoot string `protobuf:"bytes,4,opt,name=state_root,proto3" json:"state_root,omitempty"` + Body *BlindedBeaconBlockBodyBellatrixV2 `protobuf:"bytes,5,opt,name=body,proto3" json:"body,omitempty"` +} + +func (x *BlindedBeaconBlockBellatrixV2) Reset() { + *x = BlindedBeaconBlockBellatrixV2{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BlindedBeaconBlockBellatrixV2) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BlindedBeaconBlockBellatrixV2) ProtoMessage() {} + +func (x *BlindedBeaconBlockBellatrixV2) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[13] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BlindedBeaconBlockBellatrixV2.ProtoReflect.Descriptor instead. +func (*BlindedBeaconBlockBellatrixV2) Descriptor() ([]byte, []int) { + return file_pkg_proto_eth_v2_beacon_block_proto_rawDescGZIP(), []int{13} +} + +func (x *BlindedBeaconBlockBellatrixV2) GetSlot() *wrapperspb.UInt64Value { + if x != nil { + return x.Slot + } + return nil +} + +func (x *BlindedBeaconBlockBellatrixV2) GetProposerIndex() *wrapperspb.UInt64Value { + if x != nil { + return x.ProposerIndex + } + return nil +} + +func (x *BlindedBeaconBlockBellatrixV2) GetParentRoot() string { + if x != nil { + return x.ParentRoot + } + return "" +} + +func (x *BlindedBeaconBlockBellatrixV2) GetStateRoot() string { + if x != nil { + return x.StateRoot + } + return "" +} + +func (x *BlindedBeaconBlockBellatrixV2) GetBody() *BlindedBeaconBlockBodyBellatrixV2 { + if x != nil { + return x.Body + } + return nil +} + +type BeaconBlockCapella struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Slot uint64 `protobuf:"varint,1,opt,name=slot,proto3" json:"slot,omitempty"` + ProposerIndex uint64 `protobuf:"varint,2,opt,name=proposer_index,proto3" json:"proposer_index,omitempty"` + ParentRoot string `protobuf:"bytes,3,opt,name=parent_root,proto3" json:"parent_root,omitempty"` + StateRoot string `protobuf:"bytes,4,opt,name=state_root,proto3" json:"state_root,omitempty"` + Body *BeaconBlockBodyCapella `protobuf:"bytes,5,opt,name=body,proto3" json:"body,omitempty"` +} + +func (x *BeaconBlockCapella) Reset() { + *x = BeaconBlockCapella{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BeaconBlockCapella) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BeaconBlockCapella) ProtoMessage() {} + +func (x *BeaconBlockCapella) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[14] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BeaconBlockCapella.ProtoReflect.Descriptor instead. +func (*BeaconBlockCapella) Descriptor() ([]byte, []int) { + return file_pkg_proto_eth_v2_beacon_block_proto_rawDescGZIP(), []int{14} +} + +func (x *BeaconBlockCapella) GetSlot() uint64 { + if x != nil { + return x.Slot + } + return 0 +} + +func (x *BeaconBlockCapella) GetProposerIndex() uint64 { + if x != nil { + return x.ProposerIndex + } + return 0 +} + +func (x *BeaconBlockCapella) GetParentRoot() string { + if x != nil { + return x.ParentRoot + } + return "" +} + +func (x *BeaconBlockCapella) GetStateRoot() string { + if x != nil { + return x.StateRoot + } + return "" +} + +func (x *BeaconBlockCapella) GetBody() *BeaconBlockBodyCapella { + if x != nil { + return x.Body + } + return nil +} + +type BeaconBlockCapellaV2 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Slot *wrapperspb.UInt64Value `protobuf:"bytes,1,opt,name=slot,proto3" json:"slot,omitempty"` + ProposerIndex *wrapperspb.UInt64Value `protobuf:"bytes,2,opt,name=proposer_index,proto3" json:"proposer_index,omitempty"` + ParentRoot string `protobuf:"bytes,3,opt,name=parent_root,proto3" json:"parent_root,omitempty"` + StateRoot string `protobuf:"bytes,4,opt,name=state_root,proto3" json:"state_root,omitempty"` + Body *BeaconBlockBodyCapellaV2 `protobuf:"bytes,5,opt,name=body,proto3" json:"body,omitempty"` +} + +func (x *BeaconBlockCapellaV2) Reset() { + *x = BeaconBlockCapellaV2{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BeaconBlockCapellaV2) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BeaconBlockCapellaV2) ProtoMessage() {} + +func (x *BeaconBlockCapellaV2) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[15] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BeaconBlockCapellaV2.ProtoReflect.Descriptor instead. +func (*BeaconBlockCapellaV2) Descriptor() ([]byte, []int) { + return file_pkg_proto_eth_v2_beacon_block_proto_rawDescGZIP(), []int{15} +} + +func (x *BeaconBlockCapellaV2) GetSlot() *wrapperspb.UInt64Value { + if x != nil { + return x.Slot + } + return nil +} + +func (x *BeaconBlockCapellaV2) GetProposerIndex() *wrapperspb.UInt64Value { + if x != nil { + return x.ProposerIndex + } + return nil +} + +func (x *BeaconBlockCapellaV2) GetParentRoot() string { + if x != nil { + return x.ParentRoot + } + return "" +} + +func (x *BeaconBlockCapellaV2) GetStateRoot() string { + if x != nil { + return x.StateRoot + } + return "" +} + +func (x *BeaconBlockCapellaV2) GetBody() *BeaconBlockBodyCapellaV2 { + if x != nil { + return x.Body + } + return nil +} + +type BlindedBeaconBlockCapella struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Slot uint64 `protobuf:"varint,1,opt,name=slot,proto3" json:"slot,omitempty"` + ProposerIndex uint64 `protobuf:"varint,2,opt,name=proposer_index,proto3" json:"proposer_index,omitempty"` + ParentRoot string `protobuf:"bytes,3,opt,name=parent_root,proto3" json:"parent_root,omitempty"` + StateRoot string `protobuf:"bytes,4,opt,name=state_root,proto3" json:"state_root,omitempty"` + Body *BlindedBeaconBlockBodyCapella `protobuf:"bytes,5,opt,name=body,proto3" json:"body,omitempty"` +} + +func (x *BlindedBeaconBlockCapella) Reset() { + *x = BlindedBeaconBlockCapella{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BlindedBeaconBlockCapella) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BlindedBeaconBlockCapella) ProtoMessage() {} + +func (x *BlindedBeaconBlockCapella) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[16] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BlindedBeaconBlockCapella.ProtoReflect.Descriptor instead. +func (*BlindedBeaconBlockCapella) Descriptor() ([]byte, []int) { + return file_pkg_proto_eth_v2_beacon_block_proto_rawDescGZIP(), []int{16} +} + +func (x *BlindedBeaconBlockCapella) GetSlot() uint64 { + if x != nil { + return x.Slot + } + return 0 +} + +func (x *BlindedBeaconBlockCapella) GetProposerIndex() uint64 { + if x != nil { + return x.ProposerIndex + } + return 0 +} + +func (x *BlindedBeaconBlockCapella) GetParentRoot() string { + if x != nil { + return x.ParentRoot + } + return "" +} + +func (x *BlindedBeaconBlockCapella) GetStateRoot() string { + if x != nil { + return x.StateRoot + } + return "" +} + +func (x *BlindedBeaconBlockCapella) GetBody() *BlindedBeaconBlockBodyCapella { + if x != nil { + return x.Body + } + return nil +} + +type BlindedBeaconBlockCapellaV2 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Slot *wrapperspb.UInt64Value `protobuf:"bytes,1,opt,name=slot,proto3" json:"slot,omitempty"` + ProposerIndex *wrapperspb.UInt64Value `protobuf:"bytes,2,opt,name=proposer_index,proto3" json:"proposer_index,omitempty"` + ParentRoot string `protobuf:"bytes,3,opt,name=parent_root,proto3" json:"parent_root,omitempty"` + StateRoot string `protobuf:"bytes,4,opt,name=state_root,proto3" json:"state_root,omitempty"` + Body *BlindedBeaconBlockBodyCapellaV2 `protobuf:"bytes,5,opt,name=body,proto3" json:"body,omitempty"` +} + +func (x *BlindedBeaconBlockCapellaV2) Reset() { + *x = BlindedBeaconBlockCapellaV2{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BlindedBeaconBlockCapellaV2) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BlindedBeaconBlockCapellaV2) ProtoMessage() {} + +func (x *BlindedBeaconBlockCapellaV2) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[17] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BlindedBeaconBlockCapellaV2.ProtoReflect.Descriptor instead. +func (*BlindedBeaconBlockCapellaV2) Descriptor() ([]byte, []int) { + return file_pkg_proto_eth_v2_beacon_block_proto_rawDescGZIP(), []int{17} +} + +func (x *BlindedBeaconBlockCapellaV2) GetSlot() *wrapperspb.UInt64Value { + if x != nil { + return x.Slot + } + return nil +} + +func (x *BlindedBeaconBlockCapellaV2) GetProposerIndex() *wrapperspb.UInt64Value { + if x != nil { + return x.ProposerIndex + } + return nil +} + +func (x *BlindedBeaconBlockCapellaV2) GetParentRoot() string { + if x != nil { + return x.ParentRoot + } + return "" +} + +func (x *BlindedBeaconBlockCapellaV2) GetStateRoot() string { + if x != nil { + return x.StateRoot + } + return "" +} + +func (x *BlindedBeaconBlockCapellaV2) GetBody() *BlindedBeaconBlockBodyCapellaV2 { + if x != nil { + return x.Body + } + return nil +} + +type BeaconBlockAltair struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Slot uint64 `protobuf:"varint,1,opt,name=slot,proto3" json:"slot,omitempty"` + ProposerIndex uint64 `protobuf:"varint,2,opt,name=proposer_index,proto3" json:"proposer_index,omitempty"` + ParentRoot string `protobuf:"bytes,3,opt,name=parent_root,proto3" json:"parent_root,omitempty"` + StateRoot string `protobuf:"bytes,4,opt,name=state_root,proto3" json:"state_root,omitempty"` + Body *BeaconBlockBodyAltair `protobuf:"bytes,5,opt,name=body,proto3" json:"body,omitempty"` +} + +func (x *BeaconBlockAltair) Reset() { + *x = BeaconBlockAltair{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BeaconBlockAltair) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BeaconBlockAltair) ProtoMessage() {} + +func (x *BeaconBlockAltair) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[18] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BeaconBlockAltair.ProtoReflect.Descriptor instead. +func (*BeaconBlockAltair) Descriptor() ([]byte, []int) { + return file_pkg_proto_eth_v2_beacon_block_proto_rawDescGZIP(), []int{18} +} + +func (x *BeaconBlockAltair) GetSlot() uint64 { + if x != nil { + return x.Slot + } + return 0 +} + +func (x *BeaconBlockAltair) GetProposerIndex() uint64 { + if x != nil { + return x.ProposerIndex + } + return 0 +} + +func (x *BeaconBlockAltair) GetParentRoot() string { + if x != nil { + return x.ParentRoot + } + return "" +} + +func (x *BeaconBlockAltair) GetStateRoot() string { + if x != nil { + return x.StateRoot + } + return "" +} + +func (x *BeaconBlockAltair) GetBody() *BeaconBlockBodyAltair { + if x != nil { + return x.Body + } + return nil +} + +type BeaconBlockAltairV2 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Slot *wrapperspb.UInt64Value `protobuf:"bytes,1,opt,name=slot,proto3" json:"slot,omitempty"` + ProposerIndex *wrapperspb.UInt64Value `protobuf:"bytes,2,opt,name=proposer_index,proto3" json:"proposer_index,omitempty"` + ParentRoot string `protobuf:"bytes,3,opt,name=parent_root,proto3" json:"parent_root,omitempty"` + StateRoot string `protobuf:"bytes,4,opt,name=state_root,proto3" json:"state_root,omitempty"` + Body *BeaconBlockBodyAltairV2 `protobuf:"bytes,5,opt,name=body,proto3" json:"body,omitempty"` +} + +func (x *BeaconBlockAltairV2) Reset() { + *x = BeaconBlockAltairV2{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BeaconBlockAltairV2) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BeaconBlockAltairV2) ProtoMessage() {} + +func (x *BeaconBlockAltairV2) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[19] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BeaconBlockAltairV2.ProtoReflect.Descriptor instead. +func (*BeaconBlockAltairV2) Descriptor() ([]byte, []int) { + return file_pkg_proto_eth_v2_beacon_block_proto_rawDescGZIP(), []int{19} +} + +func (x *BeaconBlockAltairV2) GetSlot() *wrapperspb.UInt64Value { + if x != nil { + return x.Slot + } + return nil +} + +func (x *BeaconBlockAltairV2) GetProposerIndex() *wrapperspb.UInt64Value { + if x != nil { + return x.ProposerIndex + } + return nil +} + +func (x *BeaconBlockAltairV2) GetParentRoot() string { + if x != nil { + return x.ParentRoot + } + return "" +} + +func (x *BeaconBlockAltairV2) GetStateRoot() string { + if x != nil { + return x.StateRoot + } + return "" +} + +func (x *BeaconBlockAltairV2) GetBody() *BeaconBlockBodyAltairV2 { + if x != nil { + return x.Body + } + return nil +} + +type BeaconBlockBodyBellatrix struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + RandaoReveal string `protobuf:"bytes,1,opt,name=randao_reveal,proto3" json:"randao_reveal,omitempty"` + Eth1Data *v1.Eth1Data `protobuf:"bytes,2,opt,name=eth1_data,proto3" json:"eth1_data,omitempty"` + Graffiti string `protobuf:"bytes,3,opt,name=graffiti,proto3" json:"graffiti,omitempty"` + ProposerSlashings []*v1.ProposerSlashing `protobuf:"bytes,4,rep,name=proposer_slashings,proto3" json:"proposer_slashings,omitempty"` + AttesterSlashings []*v1.AttesterSlashing `protobuf:"bytes,5,rep,name=attester_slashings,proto3" json:"attester_slashings,omitempty"` + Attestations []*v1.Attestation `protobuf:"bytes,6,rep,name=attestations,proto3" json:"attestations,omitempty"` + Deposits []*v1.Deposit `protobuf:"bytes,7,rep,name=deposits,proto3" json:"deposits,omitempty"` + VoluntaryExits []*v1.SignedVoluntaryExit `protobuf:"bytes,8,rep,name=voluntary_exits,proto3" json:"voluntary_exits,omitempty"` + SyncAggregate *v1.SyncAggregate `protobuf:"bytes,9,opt,name=sync_aggregate,proto3" json:"sync_aggregate,omitempty"` + ExecutionPayload *v1.ExecutionPayload `protobuf:"bytes,10,opt,name=execution_payload,proto3" json:"execution_payload,omitempty"` +} + +func (x *BeaconBlockBodyBellatrix) Reset() { + *x = BeaconBlockBodyBellatrix{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BeaconBlockBodyBellatrix) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BeaconBlockBodyBellatrix) ProtoMessage() {} + +func (x *BeaconBlockBodyBellatrix) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[20] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BeaconBlockBodyBellatrix.ProtoReflect.Descriptor instead. +func (*BeaconBlockBodyBellatrix) Descriptor() ([]byte, []int) { + return file_pkg_proto_eth_v2_beacon_block_proto_rawDescGZIP(), []int{20} +} + +func (x *BeaconBlockBodyBellatrix) GetRandaoReveal() string { + if x != nil { + return x.RandaoReveal + } + return "" +} + +func (x *BeaconBlockBodyBellatrix) GetEth1Data() *v1.Eth1Data { + if x != nil { + return x.Eth1Data + } + return nil +} + +func (x *BeaconBlockBodyBellatrix) GetGraffiti() string { + if x != nil { + return x.Graffiti + } + return "" +} + +func (x *BeaconBlockBodyBellatrix) GetProposerSlashings() []*v1.ProposerSlashing { + if x != nil { + return x.ProposerSlashings + } + return nil +} + +func (x *BeaconBlockBodyBellatrix) GetAttesterSlashings() []*v1.AttesterSlashing { + if x != nil { + return x.AttesterSlashings + } + return nil +} + +func (x *BeaconBlockBodyBellatrix) GetAttestations() []*v1.Attestation { + if x != nil { + return x.Attestations + } + return nil +} + +func (x *BeaconBlockBodyBellatrix) GetDeposits() []*v1.Deposit { + if x != nil { + return x.Deposits + } + return nil +} + +func (x *BeaconBlockBodyBellatrix) GetVoluntaryExits() []*v1.SignedVoluntaryExit { + if x != nil { + return x.VoluntaryExits + } + return nil +} + +func (x *BeaconBlockBodyBellatrix) GetSyncAggregate() *v1.SyncAggregate { + if x != nil { + return x.SyncAggregate + } + return nil +} + +func (x *BeaconBlockBodyBellatrix) GetExecutionPayload() *v1.ExecutionPayload { + if x != nil { + return x.ExecutionPayload + } + return nil +} + +type BeaconBlockBodyBellatrixV2 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + RandaoReveal string `protobuf:"bytes,1,opt,name=randao_reveal,proto3" json:"randao_reveal,omitempty"` + Eth1Data *v1.Eth1Data `protobuf:"bytes,2,opt,name=eth1_data,proto3" json:"eth1_data,omitempty"` + Graffiti string `protobuf:"bytes,3,opt,name=graffiti,proto3" json:"graffiti,omitempty"` + ProposerSlashings []*v1.ProposerSlashing `protobuf:"bytes,4,rep,name=proposer_slashings,proto3" json:"proposer_slashings,omitempty"` + AttesterSlashings []*v1.AttesterSlashing `protobuf:"bytes,5,rep,name=attester_slashings,proto3" json:"attester_slashings,omitempty"` + Attestations []*v1.Attestation `protobuf:"bytes,6,rep,name=attestations,proto3" json:"attestations,omitempty"` + Deposits []*v1.Deposit `protobuf:"bytes,7,rep,name=deposits,proto3" json:"deposits,omitempty"` + VoluntaryExits []*v1.SignedVoluntaryExit `protobuf:"bytes,8,rep,name=voluntary_exits,proto3" json:"voluntary_exits,omitempty"` + SyncAggregate *v1.SyncAggregate `protobuf:"bytes,9,opt,name=sync_aggregate,proto3" json:"sync_aggregate,omitempty"` + ExecutionPayload *v1.ExecutionPayloadV2 `protobuf:"bytes,10,opt,name=execution_payload,proto3" json:"execution_payload,omitempty"` +} + +func (x *BeaconBlockBodyBellatrixV2) Reset() { + *x = BeaconBlockBodyBellatrixV2{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BeaconBlockBodyBellatrixV2) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BeaconBlockBodyBellatrixV2) ProtoMessage() {} + +func (x *BeaconBlockBodyBellatrixV2) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[21] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BeaconBlockBodyBellatrixV2.ProtoReflect.Descriptor instead. +func (*BeaconBlockBodyBellatrixV2) Descriptor() ([]byte, []int) { + return file_pkg_proto_eth_v2_beacon_block_proto_rawDescGZIP(), []int{21} +} + +func (x *BeaconBlockBodyBellatrixV2) GetRandaoReveal() string { + if x != nil { + return x.RandaoReveal + } + return "" +} + +func (x *BeaconBlockBodyBellatrixV2) GetEth1Data() *v1.Eth1Data { + if x != nil { + return x.Eth1Data + } + return nil +} + +func (x *BeaconBlockBodyBellatrixV2) GetGraffiti() string { + if x != nil { + return x.Graffiti + } + return "" +} + +func (x *BeaconBlockBodyBellatrixV2) GetProposerSlashings() []*v1.ProposerSlashing { + if x != nil { + return x.ProposerSlashings + } + return nil +} + +func (x *BeaconBlockBodyBellatrixV2) GetAttesterSlashings() []*v1.AttesterSlashing { + if x != nil { + return x.AttesterSlashings + } + return nil +} + +func (x *BeaconBlockBodyBellatrixV2) GetAttestations() []*v1.Attestation { + if x != nil { + return x.Attestations + } + return nil +} + +func (x *BeaconBlockBodyBellatrixV2) GetDeposits() []*v1.Deposit { + if x != nil { + return x.Deposits + } + return nil +} + +func (x *BeaconBlockBodyBellatrixV2) GetVoluntaryExits() []*v1.SignedVoluntaryExit { + if x != nil { + return x.VoluntaryExits + } + return nil +} + +func (x *BeaconBlockBodyBellatrixV2) GetSyncAggregate() *v1.SyncAggregate { + if x != nil { + return x.SyncAggregate + } + return nil +} + +func (x *BeaconBlockBodyBellatrixV2) GetExecutionPayload() *v1.ExecutionPayloadV2 { + if x != nil { + return x.ExecutionPayload + } + return nil +} + +type BlindedBeaconBlockBodyBellatrix struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + RandaoReveal string `protobuf:"bytes,1,opt,name=randao_reveal,proto3" json:"randao_reveal,omitempty"` + Eth1Data *v1.Eth1Data `protobuf:"bytes,2,opt,name=eth1_data,proto3" json:"eth1_data,omitempty"` + Graffiti string `protobuf:"bytes,3,opt,name=graffiti,proto3" json:"graffiti,omitempty"` + ProposerSlashings []*v1.ProposerSlashing `protobuf:"bytes,4,rep,name=proposer_slashings,proto3" json:"proposer_slashings,omitempty"` + AttesterSlashings []*v1.AttesterSlashing `protobuf:"bytes,5,rep,name=attester_slashings,proto3" json:"attester_slashings,omitempty"` + Attestations []*v1.Attestation `protobuf:"bytes,6,rep,name=attestations,proto3" json:"attestations,omitempty"` + Deposits []*v1.Deposit `protobuf:"bytes,7,rep,name=deposits,proto3" json:"deposits,omitempty"` + VoluntaryExits []*v1.SignedVoluntaryExit `protobuf:"bytes,8,rep,name=voluntary_exits,proto3" json:"voluntary_exits,omitempty"` + SyncAggregate *v1.SyncAggregate `protobuf:"bytes,9,opt,name=sync_aggregate,proto3" json:"sync_aggregate,omitempty"` + ExecutionPayloadHeader *v1.ExecutionPayloadHeader `protobuf:"bytes,10,opt,name=execution_payload_header,proto3" json:"execution_payload_header,omitempty"` +} + +func (x *BlindedBeaconBlockBodyBellatrix) Reset() { + *x = BlindedBeaconBlockBodyBellatrix{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BlindedBeaconBlockBodyBellatrix) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BlindedBeaconBlockBodyBellatrix) ProtoMessage() {} + +func (x *BlindedBeaconBlockBodyBellatrix) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[22] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BlindedBeaconBlockBodyBellatrix.ProtoReflect.Descriptor instead. +func (*BlindedBeaconBlockBodyBellatrix) Descriptor() ([]byte, []int) { + return file_pkg_proto_eth_v2_beacon_block_proto_rawDescGZIP(), []int{22} +} + +func (x *BlindedBeaconBlockBodyBellatrix) GetRandaoReveal() string { + if x != nil { + return x.RandaoReveal + } + return "" +} + +func (x *BlindedBeaconBlockBodyBellatrix) GetEth1Data() *v1.Eth1Data { + if x != nil { + return x.Eth1Data + } + return nil } -func (x *BlindedBeaconBlockCapella) GetParentRoot() string { +func (x *BlindedBeaconBlockBodyBellatrix) GetGraffiti() string { if x != nil { - return x.ParentRoot + return x.Graffiti } return "" } -func (x *BlindedBeaconBlockCapella) GetStateRoot() string { +func (x *BlindedBeaconBlockBodyBellatrix) GetProposerSlashings() []*v1.ProposerSlashing { if x != nil { - return x.StateRoot + return x.ProposerSlashings } - return "" + return nil } -func (x *BlindedBeaconBlockCapella) GetBody() *BlindedBeaconBlockBodyCapella { +func (x *BlindedBeaconBlockBodyBellatrix) GetAttesterSlashings() []*v1.AttesterSlashing { if x != nil { - return x.Body + return x.AttesterSlashings } return nil } -func (x *BlindedBeaconBlockCapella) GetSlotV2() *wrapperspb.UInt64Value { +func (x *BlindedBeaconBlockBodyBellatrix) GetAttestations() []*v1.Attestation { if x != nil { - return x.SlotV2 + return x.Attestations } return nil } -func (x *BlindedBeaconBlockCapella) GetProposerIndexV2() *wrapperspb.UInt64Value { +func (x *BlindedBeaconBlockBodyBellatrix) GetDeposits() []*v1.Deposit { if x != nil { - return x.ProposerIndexV2 + return x.Deposits } return nil } -type BeaconBlockAltair struct { +func (x *BlindedBeaconBlockBodyBellatrix) GetVoluntaryExits() []*v1.SignedVoluntaryExit { + if x != nil { + return x.VoluntaryExits + } + return nil +} + +func (x *BlindedBeaconBlockBodyBellatrix) GetSyncAggregate() *v1.SyncAggregate { + if x != nil { + return x.SyncAggregate + } + return nil +} + +func (x *BlindedBeaconBlockBodyBellatrix) GetExecutionPayloadHeader() *v1.ExecutionPayloadHeader { + if x != nil { + return x.ExecutionPayloadHeader + } + return nil +} + +type BlindedBeaconBlockBodyBellatrixV2 struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Deprecated: Marked as deprecated in pkg/proto/eth/v2/beacon_block.proto. - Slot uint64 `protobuf:"varint,1,opt,name=slot,proto3" json:"slot,omitempty"` - // Deprecated: Marked as deprecated in pkg/proto/eth/v2/beacon_block.proto. - ProposerIndex uint64 `protobuf:"varint,2,opt,name=proposer_index,proto3" json:"proposer_index,omitempty"` - ParentRoot string `protobuf:"bytes,3,opt,name=parent_root,proto3" json:"parent_root,omitempty"` - StateRoot string `protobuf:"bytes,4,opt,name=state_root,proto3" json:"state_root,omitempty"` - Body *BeaconBlockBodyAltair `protobuf:"bytes,5,opt,name=body,proto3" json:"body,omitempty"` - SlotV2 *wrapperspb.UInt64Value `protobuf:"bytes,6,opt,name=slot_v2,proto3" json:"slot_v2,omitempty"` - ProposerIndexV2 *wrapperspb.UInt64Value `protobuf:"bytes,7,opt,name=proposer_index_v2,proto3" json:"proposer_index_v2,omitempty"` + RandaoReveal string `protobuf:"bytes,1,opt,name=randao_reveal,proto3" json:"randao_reveal,omitempty"` + Eth1Data *v1.Eth1Data `protobuf:"bytes,2,opt,name=eth1_data,proto3" json:"eth1_data,omitempty"` + Graffiti string `protobuf:"bytes,3,opt,name=graffiti,proto3" json:"graffiti,omitempty"` + ProposerSlashings []*v1.ProposerSlashing `protobuf:"bytes,4,rep,name=proposer_slashings,proto3" json:"proposer_slashings,omitempty"` + AttesterSlashings []*v1.AttesterSlashing `protobuf:"bytes,5,rep,name=attester_slashings,proto3" json:"attester_slashings,omitempty"` + Attestations []*v1.Attestation `protobuf:"bytes,6,rep,name=attestations,proto3" json:"attestations,omitempty"` + Deposits []*v1.Deposit `protobuf:"bytes,7,rep,name=deposits,proto3" json:"deposits,omitempty"` + VoluntaryExits []*v1.SignedVoluntaryExit `protobuf:"bytes,8,rep,name=voluntary_exits,proto3" json:"voluntary_exits,omitempty"` + SyncAggregate *v1.SyncAggregate `protobuf:"bytes,9,opt,name=sync_aggregate,proto3" json:"sync_aggregate,omitempty"` + ExecutionPayloadHeader *v1.ExecutionPayloadHeaderV2 `protobuf:"bytes,10,opt,name=execution_payload_header,proto3" json:"execution_payload_header,omitempty"` } -func (x *BeaconBlockAltair) Reset() { - *x = BeaconBlockAltair{} +func (x *BlindedBeaconBlockBodyBellatrixV2) Reset() { + *x = BlindedBeaconBlockBodyBellatrixV2{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[9] + mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *BeaconBlockAltair) String() string { +func (x *BlindedBeaconBlockBodyBellatrixV2) String() string { return protoimpl.X.MessageStringOf(x) } -func (*BeaconBlockAltair) ProtoMessage() {} +func (*BlindedBeaconBlockBodyBellatrixV2) ProtoMessage() {} -func (x *BeaconBlockAltair) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[9] +func (x *BlindedBeaconBlockBodyBellatrixV2) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -740,96 +1767,243 @@ func (x *BeaconBlockAltair) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use BeaconBlockAltair.ProtoReflect.Descriptor instead. -func (*BeaconBlockAltair) Descriptor() ([]byte, []int) { - return file_pkg_proto_eth_v2_beacon_block_proto_rawDescGZIP(), []int{9} +// Deprecated: Use BlindedBeaconBlockBodyBellatrixV2.ProtoReflect.Descriptor instead. +func (*BlindedBeaconBlockBodyBellatrixV2) Descriptor() ([]byte, []int) { + return file_pkg_proto_eth_v2_beacon_block_proto_rawDescGZIP(), []int{23} } -// Deprecated: Marked as deprecated in pkg/proto/eth/v2/beacon_block.proto. -func (x *BeaconBlockAltair) GetSlot() uint64 { +func (x *BlindedBeaconBlockBodyBellatrixV2) GetRandaoReveal() string { if x != nil { - return x.Slot + return x.RandaoReveal } - return 0 + return "" } -// Deprecated: Marked as deprecated in pkg/proto/eth/v2/beacon_block.proto. -func (x *BeaconBlockAltair) GetProposerIndex() uint64 { +func (x *BlindedBeaconBlockBodyBellatrixV2) GetEth1Data() *v1.Eth1Data { if x != nil { - return x.ProposerIndex + return x.Eth1Data } - return 0 + return nil } -func (x *BeaconBlockAltair) GetParentRoot() string { +func (x *BlindedBeaconBlockBodyBellatrixV2) GetGraffiti() string { if x != nil { - return x.ParentRoot + return x.Graffiti } return "" } -func (x *BeaconBlockAltair) GetStateRoot() string { +func (x *BlindedBeaconBlockBodyBellatrixV2) GetProposerSlashings() []*v1.ProposerSlashing { if x != nil { - return x.StateRoot + return x.ProposerSlashings + } + return nil +} + +func (x *BlindedBeaconBlockBodyBellatrixV2) GetAttesterSlashings() []*v1.AttesterSlashing { + if x != nil { + return x.AttesterSlashings + } + return nil +} + +func (x *BlindedBeaconBlockBodyBellatrixV2) GetAttestations() []*v1.Attestation { + if x != nil { + return x.Attestations + } + return nil +} + +func (x *BlindedBeaconBlockBodyBellatrixV2) GetDeposits() []*v1.Deposit { + if x != nil { + return x.Deposits + } + return nil +} + +func (x *BlindedBeaconBlockBodyBellatrixV2) GetVoluntaryExits() []*v1.SignedVoluntaryExit { + if x != nil { + return x.VoluntaryExits + } + return nil +} + +func (x *BlindedBeaconBlockBodyBellatrixV2) GetSyncAggregate() *v1.SyncAggregate { + if x != nil { + return x.SyncAggregate + } + return nil +} + +func (x *BlindedBeaconBlockBodyBellatrixV2) GetExecutionPayloadHeader() *v1.ExecutionPayloadHeaderV2 { + if x != nil { + return x.ExecutionPayloadHeader + } + return nil +} + +type BeaconBlockBodyCapella struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + RandaoReveal string `protobuf:"bytes,1,opt,name=randao_reveal,proto3" json:"randao_reveal,omitempty"` + Eth1Data *v1.Eth1Data `protobuf:"bytes,2,opt,name=eth1_data,proto3" json:"eth1_data,omitempty"` + Graffiti string `protobuf:"bytes,3,opt,name=graffiti,proto3" json:"graffiti,omitempty"` + ProposerSlashings []*v1.ProposerSlashing `protobuf:"bytes,4,rep,name=proposer_slashings,proto3" json:"proposer_slashings,omitempty"` + AttesterSlashings []*v1.AttesterSlashing `protobuf:"bytes,5,rep,name=attester_slashings,proto3" json:"attester_slashings,omitempty"` + Attestations []*v1.Attestation `protobuf:"bytes,6,rep,name=attestations,proto3" json:"attestations,omitempty"` + Deposits []*v1.Deposit `protobuf:"bytes,7,rep,name=deposits,proto3" json:"deposits,omitempty"` + VoluntaryExits []*v1.SignedVoluntaryExit `protobuf:"bytes,8,rep,name=voluntary_exits,proto3" json:"voluntary_exits,omitempty"` + SyncAggregate *v1.SyncAggregate `protobuf:"bytes,9,opt,name=sync_aggregate,proto3" json:"sync_aggregate,omitempty"` + ExecutionPayload *v1.ExecutionPayloadCapella `protobuf:"bytes,10,opt,name=execution_payload,proto3" json:"execution_payload,omitempty"` + BlsToExecutionChanges []*SignedBLSToExecutionChange `protobuf:"bytes,11,rep,name=bls_to_execution_changes,proto3" json:"bls_to_execution_changes,omitempty"` +} + +func (x *BeaconBlockBodyCapella) Reset() { + *x = BeaconBlockBodyCapella{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BeaconBlockBodyCapella) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BeaconBlockBodyCapella) ProtoMessage() {} + +func (x *BeaconBlockBodyCapella) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[24] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BeaconBlockBodyCapella.ProtoReflect.Descriptor instead. +func (*BeaconBlockBodyCapella) Descriptor() ([]byte, []int) { + return file_pkg_proto_eth_v2_beacon_block_proto_rawDescGZIP(), []int{24} +} + +func (x *BeaconBlockBodyCapella) GetRandaoReveal() string { + if x != nil { + return x.RandaoReveal } return "" } -func (x *BeaconBlockAltair) GetBody() *BeaconBlockBodyAltair { +func (x *BeaconBlockBodyCapella) GetEth1Data() *v1.Eth1Data { if x != nil { - return x.Body + return x.Eth1Data } return nil } -func (x *BeaconBlockAltair) GetSlotV2() *wrapperspb.UInt64Value { +func (x *BeaconBlockBodyCapella) GetGraffiti() string { + if x != nil { + return x.Graffiti + } + return "" +} + +func (x *BeaconBlockBodyCapella) GetProposerSlashings() []*v1.ProposerSlashing { if x != nil { - return x.SlotV2 + return x.ProposerSlashings } return nil } -func (x *BeaconBlockAltair) GetProposerIndexV2() *wrapperspb.UInt64Value { +func (x *BeaconBlockBodyCapella) GetAttesterSlashings() []*v1.AttesterSlashing { if x != nil { - return x.ProposerIndexV2 + return x.AttesterSlashings } return nil } -type BeaconBlockBodyBellatrix struct { +func (x *BeaconBlockBodyCapella) GetAttestations() []*v1.Attestation { + if x != nil { + return x.Attestations + } + return nil +} + +func (x *BeaconBlockBodyCapella) GetDeposits() []*v1.Deposit { + if x != nil { + return x.Deposits + } + return nil +} + +func (x *BeaconBlockBodyCapella) GetVoluntaryExits() []*v1.SignedVoluntaryExit { + if x != nil { + return x.VoluntaryExits + } + return nil +} + +func (x *BeaconBlockBodyCapella) GetSyncAggregate() *v1.SyncAggregate { + if x != nil { + return x.SyncAggregate + } + return nil +} + +func (x *BeaconBlockBodyCapella) GetExecutionPayload() *v1.ExecutionPayloadCapella { + if x != nil { + return x.ExecutionPayload + } + return nil +} + +func (x *BeaconBlockBodyCapella) GetBlsToExecutionChanges() []*SignedBLSToExecutionChange { + if x != nil { + return x.BlsToExecutionChanges + } + return nil +} + +type BeaconBlockBodyCapellaV2 struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - RandaoReveal string `protobuf:"bytes,1,opt,name=randao_reveal,proto3" json:"randao_reveal,omitempty"` - Eth1Data *v1.Eth1Data `protobuf:"bytes,2,opt,name=eth1_data,proto3" json:"eth1_data,omitempty"` - Graffiti string `protobuf:"bytes,3,opt,name=graffiti,proto3" json:"graffiti,omitempty"` - ProposerSlashings []*v1.ProposerSlashing `protobuf:"bytes,4,rep,name=proposer_slashings,proto3" json:"proposer_slashings,omitempty"` - AttesterSlashings []*v1.AttesterSlashing `protobuf:"bytes,5,rep,name=attester_slashings,proto3" json:"attester_slashings,omitempty"` - Attestations []*v1.Attestation `protobuf:"bytes,6,rep,name=attestations,proto3" json:"attestations,omitempty"` - Deposits []*v1.Deposit `protobuf:"bytes,7,rep,name=deposits,proto3" json:"deposits,omitempty"` - VoluntaryExits []*v1.SignedVoluntaryExit `protobuf:"bytes,8,rep,name=voluntary_exits,proto3" json:"voluntary_exits,omitempty"` - SyncAggregate *v1.SyncAggregate `protobuf:"bytes,9,opt,name=sync_aggregate,proto3" json:"sync_aggregate,omitempty"` - ExecutionPayload *v1.ExecutionPayload `protobuf:"bytes,10,opt,name=execution_payload,proto3" json:"execution_payload,omitempty"` + RandaoReveal string `protobuf:"bytes,1,opt,name=randao_reveal,proto3" json:"randao_reveal,omitempty"` + Eth1Data *v1.Eth1Data `protobuf:"bytes,2,opt,name=eth1_data,proto3" json:"eth1_data,omitempty"` + Graffiti string `protobuf:"bytes,3,opt,name=graffiti,proto3" json:"graffiti,omitempty"` + ProposerSlashings []*v1.ProposerSlashing `protobuf:"bytes,4,rep,name=proposer_slashings,proto3" json:"proposer_slashings,omitempty"` + AttesterSlashings []*v1.AttesterSlashing `protobuf:"bytes,5,rep,name=attester_slashings,proto3" json:"attester_slashings,omitempty"` + Attestations []*v1.Attestation `protobuf:"bytes,6,rep,name=attestations,proto3" json:"attestations,omitempty"` + Deposits []*v1.Deposit `protobuf:"bytes,7,rep,name=deposits,proto3" json:"deposits,omitempty"` + VoluntaryExits []*v1.SignedVoluntaryExit `protobuf:"bytes,8,rep,name=voluntary_exits,proto3" json:"voluntary_exits,omitempty"` + SyncAggregate *v1.SyncAggregate `protobuf:"bytes,9,opt,name=sync_aggregate,proto3" json:"sync_aggregate,omitempty"` + ExecutionPayload *v1.ExecutionPayloadCapellaV2 `protobuf:"bytes,10,opt,name=execution_payload,proto3" json:"execution_payload,omitempty"` + BlsToExecutionChanges []*SignedBLSToExecutionChange `protobuf:"bytes,11,rep,name=bls_to_execution_changes,proto3" json:"bls_to_execution_changes,omitempty"` } -func (x *BeaconBlockBodyBellatrix) Reset() { - *x = BeaconBlockBodyBellatrix{} +func (x *BeaconBlockBodyCapellaV2) Reset() { + *x = BeaconBlockBodyCapellaV2{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[10] + mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *BeaconBlockBodyBellatrix) String() string { +func (x *BeaconBlockBodyCapellaV2) String() string { return protoimpl.X.MessageStringOf(x) } -func (*BeaconBlockBodyBellatrix) ProtoMessage() {} +func (*BeaconBlockBodyCapellaV2) ProtoMessage() {} -func (x *BeaconBlockBodyBellatrix) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[10] +func (x *BeaconBlockBodyCapellaV2) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[25] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -840,115 +2014,123 @@ func (x *BeaconBlockBodyBellatrix) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use BeaconBlockBodyBellatrix.ProtoReflect.Descriptor instead. -func (*BeaconBlockBodyBellatrix) Descriptor() ([]byte, []int) { - return file_pkg_proto_eth_v2_beacon_block_proto_rawDescGZIP(), []int{10} +// Deprecated: Use BeaconBlockBodyCapellaV2.ProtoReflect.Descriptor instead. +func (*BeaconBlockBodyCapellaV2) Descriptor() ([]byte, []int) { + return file_pkg_proto_eth_v2_beacon_block_proto_rawDescGZIP(), []int{25} } -func (x *BeaconBlockBodyBellatrix) GetRandaoReveal() string { +func (x *BeaconBlockBodyCapellaV2) GetRandaoReveal() string { if x != nil { return x.RandaoReveal } return "" } -func (x *BeaconBlockBodyBellatrix) GetEth1Data() *v1.Eth1Data { +func (x *BeaconBlockBodyCapellaV2) GetEth1Data() *v1.Eth1Data { if x != nil { return x.Eth1Data } return nil } -func (x *BeaconBlockBodyBellatrix) GetGraffiti() string { +func (x *BeaconBlockBodyCapellaV2) GetGraffiti() string { if x != nil { return x.Graffiti } return "" } -func (x *BeaconBlockBodyBellatrix) GetProposerSlashings() []*v1.ProposerSlashing { +func (x *BeaconBlockBodyCapellaV2) GetProposerSlashings() []*v1.ProposerSlashing { if x != nil { return x.ProposerSlashings } return nil } -func (x *BeaconBlockBodyBellatrix) GetAttesterSlashings() []*v1.AttesterSlashing { +func (x *BeaconBlockBodyCapellaV2) GetAttesterSlashings() []*v1.AttesterSlashing { if x != nil { return x.AttesterSlashings } return nil } -func (x *BeaconBlockBodyBellatrix) GetAttestations() []*v1.Attestation { +func (x *BeaconBlockBodyCapellaV2) GetAttestations() []*v1.Attestation { if x != nil { return x.Attestations } return nil } -func (x *BeaconBlockBodyBellatrix) GetDeposits() []*v1.Deposit { +func (x *BeaconBlockBodyCapellaV2) GetDeposits() []*v1.Deposit { if x != nil { return x.Deposits } return nil } -func (x *BeaconBlockBodyBellatrix) GetVoluntaryExits() []*v1.SignedVoluntaryExit { +func (x *BeaconBlockBodyCapellaV2) GetVoluntaryExits() []*v1.SignedVoluntaryExit { if x != nil { return x.VoluntaryExits } return nil } -func (x *BeaconBlockBodyBellatrix) GetSyncAggregate() *v1.SyncAggregate { +func (x *BeaconBlockBodyCapellaV2) GetSyncAggregate() *v1.SyncAggregate { if x != nil { return x.SyncAggregate } return nil } -func (x *BeaconBlockBodyBellatrix) GetExecutionPayload() *v1.ExecutionPayload { +func (x *BeaconBlockBodyCapellaV2) GetExecutionPayload() *v1.ExecutionPayloadCapellaV2 { if x != nil { return x.ExecutionPayload } return nil } -type BlindedBeaconBlockBodyBellatrix struct { +func (x *BeaconBlockBodyCapellaV2) GetBlsToExecutionChanges() []*SignedBLSToExecutionChange { + if x != nil { + return x.BlsToExecutionChanges + } + return nil +} + +type BlindedBeaconBlockBodyCapella struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - RandaoReveal string `protobuf:"bytes,1,opt,name=randao_reveal,proto3" json:"randao_reveal,omitempty"` - Eth1Data *v1.Eth1Data `protobuf:"bytes,2,opt,name=eth1_data,proto3" json:"eth1_data,omitempty"` - Graffiti string `protobuf:"bytes,3,opt,name=graffiti,proto3" json:"graffiti,omitempty"` - ProposerSlashings []*v1.ProposerSlashing `protobuf:"bytes,4,rep,name=proposer_slashings,proto3" json:"proposer_slashings,omitempty"` - AttesterSlashings []*v1.AttesterSlashing `protobuf:"bytes,5,rep,name=attester_slashings,proto3" json:"attester_slashings,omitempty"` - Attestations []*v1.Attestation `protobuf:"bytes,6,rep,name=attestations,proto3" json:"attestations,omitempty"` - Deposits []*v1.Deposit `protobuf:"bytes,7,rep,name=deposits,proto3" json:"deposits,omitempty"` - VoluntaryExits []*v1.SignedVoluntaryExit `protobuf:"bytes,8,rep,name=voluntary_exits,proto3" json:"voluntary_exits,omitempty"` - SyncAggregate *v1.SyncAggregate `protobuf:"bytes,9,opt,name=sync_aggregate,proto3" json:"sync_aggregate,omitempty"` - ExecutionPayloadHeader *v1.ExecutionPayloadHeader `protobuf:"bytes,10,opt,name=execution_payload_header,proto3" json:"execution_payload_header,omitempty"` + RandaoReveal string `protobuf:"bytes,1,opt,name=randao_reveal,proto3" json:"randao_reveal,omitempty"` + Eth1Data *v1.Eth1Data `protobuf:"bytes,2,opt,name=eth1_data,proto3" json:"eth1_data,omitempty"` + Graffiti string `protobuf:"bytes,3,opt,name=graffiti,proto3" json:"graffiti,omitempty"` + ProposerSlashings []*v1.ProposerSlashing `protobuf:"bytes,4,rep,name=proposer_slashings,proto3" json:"proposer_slashings,omitempty"` + AttesterSlashings []*v1.AttesterSlashing `protobuf:"bytes,5,rep,name=attester_slashings,proto3" json:"attester_slashings,omitempty"` + Attestations []*v1.Attestation `protobuf:"bytes,6,rep,name=attestations,proto3" json:"attestations,omitempty"` + Deposits []*v1.Deposit `protobuf:"bytes,7,rep,name=deposits,proto3" json:"deposits,omitempty"` + VoluntaryExits []*v1.SignedVoluntaryExit `protobuf:"bytes,8,rep,name=voluntary_exits,proto3" json:"voluntary_exits,omitempty"` + SyncAggregate *v1.SyncAggregate `protobuf:"bytes,9,opt,name=sync_aggregate,proto3" json:"sync_aggregate,omitempty"` + ExecutionPayloadHeader *v1.ExecutionPayloadHeaderCapella `protobuf:"bytes,10,opt,name=execution_payload_header,proto3" json:"execution_payload_header,omitempty"` + BlsToExecutionChanges []*SignedBLSToExecutionChange `protobuf:"bytes,11,rep,name=bls_to_execution_changes,proto3" json:"bls_to_execution_changes,omitempty"` } -func (x *BlindedBeaconBlockBodyBellatrix) Reset() { - *x = BlindedBeaconBlockBodyBellatrix{} +func (x *BlindedBeaconBlockBodyCapella) Reset() { + *x = BlindedBeaconBlockBodyCapella{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[11] + mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *BlindedBeaconBlockBodyBellatrix) String() string { +func (x *BlindedBeaconBlockBodyCapella) String() string { return protoimpl.X.MessageStringOf(x) } -func (*BlindedBeaconBlockBodyBellatrix) ProtoMessage() {} +func (*BlindedBeaconBlockBodyCapella) ProtoMessage() {} -func (x *BlindedBeaconBlockBodyBellatrix) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[11] +func (x *BlindedBeaconBlockBodyCapella) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[26] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -959,116 +2141,123 @@ func (x *BlindedBeaconBlockBodyBellatrix) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use BlindedBeaconBlockBodyBellatrix.ProtoReflect.Descriptor instead. -func (*BlindedBeaconBlockBodyBellatrix) Descriptor() ([]byte, []int) { - return file_pkg_proto_eth_v2_beacon_block_proto_rawDescGZIP(), []int{11} +// Deprecated: Use BlindedBeaconBlockBodyCapella.ProtoReflect.Descriptor instead. +func (*BlindedBeaconBlockBodyCapella) Descriptor() ([]byte, []int) { + return file_pkg_proto_eth_v2_beacon_block_proto_rawDescGZIP(), []int{26} } -func (x *BlindedBeaconBlockBodyBellatrix) GetRandaoReveal() string { +func (x *BlindedBeaconBlockBodyCapella) GetRandaoReveal() string { if x != nil { return x.RandaoReveal } return "" } -func (x *BlindedBeaconBlockBodyBellatrix) GetEth1Data() *v1.Eth1Data { +func (x *BlindedBeaconBlockBodyCapella) GetEth1Data() *v1.Eth1Data { if x != nil { return x.Eth1Data } return nil } -func (x *BlindedBeaconBlockBodyBellatrix) GetGraffiti() string { +func (x *BlindedBeaconBlockBodyCapella) GetGraffiti() string { if x != nil { return x.Graffiti } return "" } -func (x *BlindedBeaconBlockBodyBellatrix) GetProposerSlashings() []*v1.ProposerSlashing { +func (x *BlindedBeaconBlockBodyCapella) GetProposerSlashings() []*v1.ProposerSlashing { if x != nil { return x.ProposerSlashings } return nil } -func (x *BlindedBeaconBlockBodyBellatrix) GetAttesterSlashings() []*v1.AttesterSlashing { +func (x *BlindedBeaconBlockBodyCapella) GetAttesterSlashings() []*v1.AttesterSlashing { if x != nil { return x.AttesterSlashings } return nil } -func (x *BlindedBeaconBlockBodyBellatrix) GetAttestations() []*v1.Attestation { +func (x *BlindedBeaconBlockBodyCapella) GetAttestations() []*v1.Attestation { if x != nil { return x.Attestations } return nil } -func (x *BlindedBeaconBlockBodyBellatrix) GetDeposits() []*v1.Deposit { +func (x *BlindedBeaconBlockBodyCapella) GetDeposits() []*v1.Deposit { if x != nil { return x.Deposits } return nil } -func (x *BlindedBeaconBlockBodyBellatrix) GetVoluntaryExits() []*v1.SignedVoluntaryExit { +func (x *BlindedBeaconBlockBodyCapella) GetVoluntaryExits() []*v1.SignedVoluntaryExit { if x != nil { return x.VoluntaryExits } return nil } -func (x *BlindedBeaconBlockBodyBellatrix) GetSyncAggregate() *v1.SyncAggregate { +func (x *BlindedBeaconBlockBodyCapella) GetSyncAggregate() *v1.SyncAggregate { if x != nil { return x.SyncAggregate } return nil } -func (x *BlindedBeaconBlockBodyBellatrix) GetExecutionPayloadHeader() *v1.ExecutionPayloadHeader { +func (x *BlindedBeaconBlockBodyCapella) GetExecutionPayloadHeader() *v1.ExecutionPayloadHeaderCapella { if x != nil { return x.ExecutionPayloadHeader } return nil } -type BeaconBlockBodyCapella struct { +func (x *BlindedBeaconBlockBodyCapella) GetBlsToExecutionChanges() []*SignedBLSToExecutionChange { + if x != nil { + return x.BlsToExecutionChanges + } + return nil +} + +type BlindedBeaconBlockBodyCapellaV2 struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - RandaoReveal string `protobuf:"bytes,1,opt,name=randao_reveal,proto3" json:"randao_reveal,omitempty"` - Eth1Data *v1.Eth1Data `protobuf:"bytes,2,opt,name=eth1_data,proto3" json:"eth1_data,omitempty"` - Graffiti string `protobuf:"bytes,3,opt,name=graffiti,proto3" json:"graffiti,omitempty"` - ProposerSlashings []*v1.ProposerSlashing `protobuf:"bytes,4,rep,name=proposer_slashings,proto3" json:"proposer_slashings,omitempty"` - AttesterSlashings []*v1.AttesterSlashing `protobuf:"bytes,5,rep,name=attester_slashings,proto3" json:"attester_slashings,omitempty"` - Attestations []*v1.Attestation `protobuf:"bytes,6,rep,name=attestations,proto3" json:"attestations,omitempty"` - Deposits []*v1.Deposit `protobuf:"bytes,7,rep,name=deposits,proto3" json:"deposits,omitempty"` - VoluntaryExits []*v1.SignedVoluntaryExit `protobuf:"bytes,8,rep,name=voluntary_exits,proto3" json:"voluntary_exits,omitempty"` - SyncAggregate *v1.SyncAggregate `protobuf:"bytes,9,opt,name=sync_aggregate,proto3" json:"sync_aggregate,omitempty"` - ExecutionPayload *v1.ExecutionPayloadCapella `protobuf:"bytes,10,opt,name=execution_payload,proto3" json:"execution_payload,omitempty"` - BlsToExecutionChanges []*SignedBLSToExecutionChange `protobuf:"bytes,11,rep,name=bls_to_execution_changes,proto3" json:"bls_to_execution_changes,omitempty"` -} - -func (x *BeaconBlockBodyCapella) Reset() { - *x = BeaconBlockBodyCapella{} + RandaoReveal string `protobuf:"bytes,1,opt,name=randao_reveal,proto3" json:"randao_reveal,omitempty"` + Eth1Data *v1.Eth1Data `protobuf:"bytes,2,opt,name=eth1_data,proto3" json:"eth1_data,omitempty"` + Graffiti string `protobuf:"bytes,3,opt,name=graffiti,proto3" json:"graffiti,omitempty"` + ProposerSlashings []*v1.ProposerSlashing `protobuf:"bytes,4,rep,name=proposer_slashings,proto3" json:"proposer_slashings,omitempty"` + AttesterSlashings []*v1.AttesterSlashing `protobuf:"bytes,5,rep,name=attester_slashings,proto3" json:"attester_slashings,omitempty"` + Attestations []*v1.Attestation `protobuf:"bytes,6,rep,name=attestations,proto3" json:"attestations,omitempty"` + Deposits []*v1.Deposit `protobuf:"bytes,7,rep,name=deposits,proto3" json:"deposits,omitempty"` + VoluntaryExits []*v1.SignedVoluntaryExit `protobuf:"bytes,8,rep,name=voluntary_exits,proto3" json:"voluntary_exits,omitempty"` + SyncAggregate *v1.SyncAggregate `protobuf:"bytes,9,opt,name=sync_aggregate,proto3" json:"sync_aggregate,omitempty"` + ExecutionPayloadHeader *v1.ExecutionPayloadHeaderCapellaV2 `protobuf:"bytes,10,opt,name=execution_payload_header,proto3" json:"execution_payload_header,omitempty"` + BlsToExecutionChanges []*SignedBLSToExecutionChange `protobuf:"bytes,11,rep,name=bls_to_execution_changes,proto3" json:"bls_to_execution_changes,omitempty"` +} + +func (x *BlindedBeaconBlockBodyCapellaV2) Reset() { + *x = BlindedBeaconBlockBodyCapellaV2{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[12] + mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *BeaconBlockBodyCapella) String() string { +func (x *BlindedBeaconBlockBodyCapellaV2) String() string { return protoimpl.X.MessageStringOf(x) } -func (*BeaconBlockBodyCapella) ProtoMessage() {} +func (*BlindedBeaconBlockBodyCapellaV2) ProtoMessage() {} -func (x *BeaconBlockBodyCapella) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[12] +func (x *BlindedBeaconBlockBodyCapellaV2) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[27] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1079,123 +2268,122 @@ func (x *BeaconBlockBodyCapella) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use BeaconBlockBodyCapella.ProtoReflect.Descriptor instead. -func (*BeaconBlockBodyCapella) Descriptor() ([]byte, []int) { - return file_pkg_proto_eth_v2_beacon_block_proto_rawDescGZIP(), []int{12} +// Deprecated: Use BlindedBeaconBlockBodyCapellaV2.ProtoReflect.Descriptor instead. +func (*BlindedBeaconBlockBodyCapellaV2) Descriptor() ([]byte, []int) { + return file_pkg_proto_eth_v2_beacon_block_proto_rawDescGZIP(), []int{27} } -func (x *BeaconBlockBodyCapella) GetRandaoReveal() string { +func (x *BlindedBeaconBlockBodyCapellaV2) GetRandaoReveal() string { if x != nil { return x.RandaoReveal } return "" } -func (x *BeaconBlockBodyCapella) GetEth1Data() *v1.Eth1Data { +func (x *BlindedBeaconBlockBodyCapellaV2) GetEth1Data() *v1.Eth1Data { if x != nil { return x.Eth1Data } return nil } -func (x *BeaconBlockBodyCapella) GetGraffiti() string { +func (x *BlindedBeaconBlockBodyCapellaV2) GetGraffiti() string { if x != nil { return x.Graffiti } return "" } -func (x *BeaconBlockBodyCapella) GetProposerSlashings() []*v1.ProposerSlashing { +func (x *BlindedBeaconBlockBodyCapellaV2) GetProposerSlashings() []*v1.ProposerSlashing { if x != nil { return x.ProposerSlashings } return nil } -func (x *BeaconBlockBodyCapella) GetAttesterSlashings() []*v1.AttesterSlashing { +func (x *BlindedBeaconBlockBodyCapellaV2) GetAttesterSlashings() []*v1.AttesterSlashing { if x != nil { return x.AttesterSlashings } return nil } -func (x *BeaconBlockBodyCapella) GetAttestations() []*v1.Attestation { +func (x *BlindedBeaconBlockBodyCapellaV2) GetAttestations() []*v1.Attestation { if x != nil { return x.Attestations } return nil } -func (x *BeaconBlockBodyCapella) GetDeposits() []*v1.Deposit { +func (x *BlindedBeaconBlockBodyCapellaV2) GetDeposits() []*v1.Deposit { if x != nil { return x.Deposits } return nil } -func (x *BeaconBlockBodyCapella) GetVoluntaryExits() []*v1.SignedVoluntaryExit { +func (x *BlindedBeaconBlockBodyCapellaV2) GetVoluntaryExits() []*v1.SignedVoluntaryExit { if x != nil { return x.VoluntaryExits } return nil } -func (x *BeaconBlockBodyCapella) GetSyncAggregate() *v1.SyncAggregate { +func (x *BlindedBeaconBlockBodyCapellaV2) GetSyncAggregate() *v1.SyncAggregate { if x != nil { return x.SyncAggregate } return nil } -func (x *BeaconBlockBodyCapella) GetExecutionPayload() *v1.ExecutionPayloadCapella { +func (x *BlindedBeaconBlockBodyCapellaV2) GetExecutionPayloadHeader() *v1.ExecutionPayloadHeaderCapellaV2 { if x != nil { - return x.ExecutionPayload + return x.ExecutionPayloadHeader } return nil } -func (x *BeaconBlockBodyCapella) GetBlsToExecutionChanges() []*SignedBLSToExecutionChange { +func (x *BlindedBeaconBlockBodyCapellaV2) GetBlsToExecutionChanges() []*SignedBLSToExecutionChange { if x != nil { return x.BlsToExecutionChanges } return nil } -type BlindedBeaconBlockBodyCapella struct { +type BeaconBlockBodyAltair struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - RandaoReveal string `protobuf:"bytes,1,opt,name=randao_reveal,proto3" json:"randao_reveal,omitempty"` - Eth1Data *v1.Eth1Data `protobuf:"bytes,2,opt,name=eth1_data,proto3" json:"eth1_data,omitempty"` - Graffiti string `protobuf:"bytes,3,opt,name=graffiti,proto3" json:"graffiti,omitempty"` - ProposerSlashings []*v1.ProposerSlashing `protobuf:"bytes,4,rep,name=proposer_slashings,proto3" json:"proposer_slashings,omitempty"` - AttesterSlashings []*v1.AttesterSlashing `protobuf:"bytes,5,rep,name=attester_slashings,proto3" json:"attester_slashings,omitempty"` - Attestations []*v1.Attestation `protobuf:"bytes,6,rep,name=attestations,proto3" json:"attestations,omitempty"` - Deposits []*v1.Deposit `protobuf:"bytes,7,rep,name=deposits,proto3" json:"deposits,omitempty"` - VoluntaryExits []*v1.SignedVoluntaryExit `protobuf:"bytes,8,rep,name=voluntary_exits,proto3" json:"voluntary_exits,omitempty"` - SyncAggregate *v1.SyncAggregate `protobuf:"bytes,9,opt,name=sync_aggregate,proto3" json:"sync_aggregate,omitempty"` - ExecutionPayloadHeader *v1.ExecutionPayloadHeaderCapella `protobuf:"bytes,10,opt,name=execution_payload_header,proto3" json:"execution_payload_header,omitempty"` - BlsToExecutionChanges []*SignedBLSToExecutionChange `protobuf:"bytes,11,rep,name=bls_to_execution_changes,proto3" json:"bls_to_execution_changes,omitempty"` + RandaoReveal string `protobuf:"bytes,1,opt,name=randao_reveal,proto3" json:"randao_reveal,omitempty"` + Eth1Data *v1.Eth1Data `protobuf:"bytes,2,opt,name=eth1_data,proto3" json:"eth1_data,omitempty"` + Graffiti string `protobuf:"bytes,3,opt,name=graffiti,proto3" json:"graffiti,omitempty"` + ProposerSlashings []*v1.ProposerSlashing `protobuf:"bytes,4,rep,name=proposer_slashings,proto3" json:"proposer_slashings,omitempty"` + // At most MAX_ATTESTER_SLASHINGS. + AttesterSlashings []*v1.AttesterSlashing `protobuf:"bytes,5,rep,name=attester_slashings,proto3" json:"attester_slashings,omitempty"` + Attestations []*v1.Attestation `protobuf:"bytes,6,rep,name=attestations,proto3" json:"attestations,omitempty"` + Deposits []*v1.Deposit `protobuf:"bytes,7,rep,name=deposits,proto3" json:"deposits,omitempty"` + VoluntaryExits []*v1.SignedVoluntaryExit `protobuf:"bytes,8,rep,name=voluntary_exits,proto3" json:"voluntary_exits,omitempty"` + SyncAggregate *v1.SyncAggregate `protobuf:"bytes,9,opt,name=sync_aggregate,proto3" json:"sync_aggregate,omitempty"` } -func (x *BlindedBeaconBlockBodyCapella) Reset() { - *x = BlindedBeaconBlockBodyCapella{} +func (x *BeaconBlockBodyAltair) Reset() { + *x = BeaconBlockBodyAltair{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[13] + mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *BlindedBeaconBlockBodyCapella) String() string { +func (x *BeaconBlockBodyAltair) String() string { return protoimpl.X.MessageStringOf(x) } -func (*BlindedBeaconBlockBodyCapella) ProtoMessage() {} +func (*BeaconBlockBodyAltair) ProtoMessage() {} -func (x *BlindedBeaconBlockBodyCapella) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[13] +func (x *BeaconBlockBodyAltair) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[28] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1206,89 +2394,75 @@ func (x *BlindedBeaconBlockBodyCapella) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use BlindedBeaconBlockBodyCapella.ProtoReflect.Descriptor instead. -func (*BlindedBeaconBlockBodyCapella) Descriptor() ([]byte, []int) { - return file_pkg_proto_eth_v2_beacon_block_proto_rawDescGZIP(), []int{13} +// Deprecated: Use BeaconBlockBodyAltair.ProtoReflect.Descriptor instead. +func (*BeaconBlockBodyAltair) Descriptor() ([]byte, []int) { + return file_pkg_proto_eth_v2_beacon_block_proto_rawDescGZIP(), []int{28} } -func (x *BlindedBeaconBlockBodyCapella) GetRandaoReveal() string { +func (x *BeaconBlockBodyAltair) GetRandaoReveal() string { if x != nil { return x.RandaoReveal } return "" } -func (x *BlindedBeaconBlockBodyCapella) GetEth1Data() *v1.Eth1Data { +func (x *BeaconBlockBodyAltair) GetEth1Data() *v1.Eth1Data { if x != nil { return x.Eth1Data } return nil } -func (x *BlindedBeaconBlockBodyCapella) GetGraffiti() string { +func (x *BeaconBlockBodyAltair) GetGraffiti() string { if x != nil { return x.Graffiti } return "" } -func (x *BlindedBeaconBlockBodyCapella) GetProposerSlashings() []*v1.ProposerSlashing { +func (x *BeaconBlockBodyAltair) GetProposerSlashings() []*v1.ProposerSlashing { if x != nil { return x.ProposerSlashings } return nil } -func (x *BlindedBeaconBlockBodyCapella) GetAttesterSlashings() []*v1.AttesterSlashing { +func (x *BeaconBlockBodyAltair) GetAttesterSlashings() []*v1.AttesterSlashing { if x != nil { return x.AttesterSlashings } return nil } -func (x *BlindedBeaconBlockBodyCapella) GetAttestations() []*v1.Attestation { +func (x *BeaconBlockBodyAltair) GetAttestations() []*v1.Attestation { if x != nil { return x.Attestations } return nil } -func (x *BlindedBeaconBlockBodyCapella) GetDeposits() []*v1.Deposit { +func (x *BeaconBlockBodyAltair) GetDeposits() []*v1.Deposit { if x != nil { return x.Deposits } return nil } -func (x *BlindedBeaconBlockBodyCapella) GetVoluntaryExits() []*v1.SignedVoluntaryExit { +func (x *BeaconBlockBodyAltair) GetVoluntaryExits() []*v1.SignedVoluntaryExit { if x != nil { return x.VoluntaryExits } return nil } -func (x *BlindedBeaconBlockBodyCapella) GetSyncAggregate() *v1.SyncAggregate { +func (x *BeaconBlockBodyAltair) GetSyncAggregate() *v1.SyncAggregate { if x != nil { return x.SyncAggregate } return nil } -func (x *BlindedBeaconBlockBodyCapella) GetExecutionPayloadHeader() *v1.ExecutionPayloadHeaderCapella { - if x != nil { - return x.ExecutionPayloadHeader - } - return nil -} - -func (x *BlindedBeaconBlockBodyCapella) GetBlsToExecutionChanges() []*SignedBLSToExecutionChange { - if x != nil { - return x.BlsToExecutionChanges - } - return nil -} - -type BeaconBlockBodyAltair struct { +type BeaconBlockBodyAltairV2 struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -1305,23 +2479,23 @@ type BeaconBlockBodyAltair struct { SyncAggregate *v1.SyncAggregate `protobuf:"bytes,9,opt,name=sync_aggregate,proto3" json:"sync_aggregate,omitempty"` } -func (x *BeaconBlockBodyAltair) Reset() { - *x = BeaconBlockBodyAltair{} +func (x *BeaconBlockBodyAltairV2) Reset() { + *x = BeaconBlockBodyAltairV2{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[14] + mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *BeaconBlockBodyAltair) String() string { +func (x *BeaconBlockBodyAltairV2) String() string { return protoimpl.X.MessageStringOf(x) } -func (*BeaconBlockBodyAltair) ProtoMessage() {} +func (*BeaconBlockBodyAltairV2) ProtoMessage() {} -func (x *BeaconBlockBodyAltair) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[14] +func (x *BeaconBlockBodyAltairV2) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[29] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1332,68 +2506,68 @@ func (x *BeaconBlockBodyAltair) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use BeaconBlockBodyAltair.ProtoReflect.Descriptor instead. -func (*BeaconBlockBodyAltair) Descriptor() ([]byte, []int) { - return file_pkg_proto_eth_v2_beacon_block_proto_rawDescGZIP(), []int{14} +// Deprecated: Use BeaconBlockBodyAltairV2.ProtoReflect.Descriptor instead. +func (*BeaconBlockBodyAltairV2) Descriptor() ([]byte, []int) { + return file_pkg_proto_eth_v2_beacon_block_proto_rawDescGZIP(), []int{29} } -func (x *BeaconBlockBodyAltair) GetRandaoReveal() string { +func (x *BeaconBlockBodyAltairV2) GetRandaoReveal() string { if x != nil { return x.RandaoReveal } return "" } -func (x *BeaconBlockBodyAltair) GetEth1Data() *v1.Eth1Data { +func (x *BeaconBlockBodyAltairV2) GetEth1Data() *v1.Eth1Data { if x != nil { return x.Eth1Data } return nil } -func (x *BeaconBlockBodyAltair) GetGraffiti() string { +func (x *BeaconBlockBodyAltairV2) GetGraffiti() string { if x != nil { return x.Graffiti } return "" } -func (x *BeaconBlockBodyAltair) GetProposerSlashings() []*v1.ProposerSlashing { +func (x *BeaconBlockBodyAltairV2) GetProposerSlashings() []*v1.ProposerSlashing { if x != nil { return x.ProposerSlashings } return nil } -func (x *BeaconBlockBodyAltair) GetAttesterSlashings() []*v1.AttesterSlashing { +func (x *BeaconBlockBodyAltairV2) GetAttesterSlashings() []*v1.AttesterSlashing { if x != nil { return x.AttesterSlashings } return nil } -func (x *BeaconBlockBodyAltair) GetAttestations() []*v1.Attestation { +func (x *BeaconBlockBodyAltairV2) GetAttestations() []*v1.Attestation { if x != nil { return x.Attestations } return nil } -func (x *BeaconBlockBodyAltair) GetDeposits() []*v1.Deposit { +func (x *BeaconBlockBodyAltairV2) GetDeposits() []*v1.Deposit { if x != nil { return x.Deposits } return nil } -func (x *BeaconBlockBodyAltair) GetVoluntaryExits() []*v1.SignedVoluntaryExit { +func (x *BeaconBlockBodyAltairV2) GetVoluntaryExits() []*v1.SignedVoluntaryExit { if x != nil { return x.VoluntaryExits } return nil } -func (x *BeaconBlockBodyAltair) GetSyncAggregate() *v1.SyncAggregate { +func (x *BeaconBlockBodyAltairV2) GetSyncAggregate() *v1.SyncAggregate { if x != nil { return x.SyncAggregate } @@ -1427,150 +2601,443 @@ var file_pkg_proto_eth_v2_beacon_block_proto_rawDesc = []byte{ 0x6f, 0x63, 0x6b, 0x42, 0x65, 0x6c, 0x6c, 0x61, 0x74, 0x72, 0x69, 0x78, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, - 0x75, 0x72, 0x65, 0x22, 0x73, 0x0a, 0x18, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x42, 0x65, 0x61, - 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x43, 0x61, 0x70, 0x65, 0x6c, 0x6c, 0x61, 0x12, - 0x39, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1f, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x42, - 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x43, 0x61, 0x70, 0x65, 0x6c, 0x6c, - 0x61, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, - 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, - 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0x85, 0x01, 0x0a, 0x21, 0x53, 0x69, 0x67, - 0x6e, 0x65, 0x64, 0x42, 0x6c, 0x69, 0x6e, 0x64, 0x65, 0x64, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, - 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x65, 0x6c, 0x6c, 0x61, 0x74, 0x72, 0x69, 0x78, 0x12, 0x42, - 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x28, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, - 0x69, 0x6e, 0x64, 0x65, 0x64, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, - 0x42, 0x65, 0x6c, 0x6c, 0x61, 0x74, 0x72, 0x69, 0x78, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, + 0x75, 0x72, 0x65, 0x22, 0x7b, 0x0a, 0x1c, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x42, 0x65, 0x61, + 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x65, 0x6c, 0x6c, 0x61, 0x74, 0x72, 0x69, + 0x78, 0x56, 0x32, 0x12, 0x3d, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, + 0x76, 0x32, 0x2e, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x65, + 0x6c, 0x6c, 0x61, 0x74, 0x72, 0x69, 0x78, 0x56, 0x32, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, - 0x22, 0x81, 0x01, 0x0a, 0x1f, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x42, 0x6c, 0x69, 0x6e, 0x64, - 0x65, 0x64, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x43, 0x61, 0x70, - 0x65, 0x6c, 0x6c, 0x61, 0x12, 0x40, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, + 0x22, 0x73, 0x0a, 0x18, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, + 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x43, 0x61, 0x70, 0x65, 0x6c, 0x6c, 0x61, 0x12, 0x39, 0x0a, 0x07, + 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, + 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x65, 0x61, 0x63, + 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x43, 0x61, 0x70, 0x65, 0x6c, 0x6c, 0x61, 0x52, 0x07, + 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, + 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, + 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0x77, 0x0a, 0x1a, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x42, + 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x43, 0x61, 0x70, 0x65, 0x6c, 0x6c, + 0x61, 0x56, 0x32, 0x12, 0x3b, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, + 0x76, 0x32, 0x2e, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x43, 0x61, + 0x70, 0x65, 0x6c, 0x6c, 0x61, 0x56, 0x32, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0x85, + 0x01, 0x0a, 0x21, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x42, 0x6c, 0x69, 0x6e, 0x64, 0x65, 0x64, + 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x65, 0x6c, 0x6c, 0x61, + 0x74, 0x72, 0x69, 0x78, 0x12, 0x42, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x69, 0x6e, 0x64, 0x65, 0x64, 0x42, 0x65, 0x61, 0x63, 0x6f, - 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x43, 0x61, 0x70, 0x65, 0x6c, 0x6c, 0x61, 0x52, 0x07, 0x6d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, - 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, - 0x74, 0x75, 0x72, 0x65, 0x22, 0x71, 0x0a, 0x17, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x42, 0x65, - 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x41, 0x6c, 0x74, 0x61, 0x69, 0x72, 0x12, - 0x38, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1e, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x42, - 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x41, 0x6c, 0x74, 0x61, 0x69, 0x72, - 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, - 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, - 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0xdb, 0x02, 0x0a, 0x14, 0x42, 0x65, 0x61, 0x63, - 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x65, 0x6c, 0x6c, 0x61, 0x74, 0x72, 0x69, 0x78, - 0x12, 0x16, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x42, 0x02, - 0x18, 0x01, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x2a, 0x0a, 0x0e, 0x70, 0x72, 0x6f, 0x70, - 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, - 0x42, 0x02, 0x18, 0x01, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x69, - 0x6e, 0x64, 0x65, 0x78, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x72, - 0x6f, 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, - 0x74, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, - 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, - 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x39, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, - 0x76, 0x32, 0x2e, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x6f, - 0x64, 0x79, 0x42, 0x65, 0x6c, 0x6c, 0x61, 0x74, 0x72, 0x69, 0x78, 0x52, 0x04, 0x62, 0x6f, 0x64, - 0x79, 0x12, 0x36, 0x0a, 0x07, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x76, 0x32, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x52, 0x07, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x76, 0x32, 0x12, 0x4a, 0x0a, 0x11, 0x70, 0x72, 0x6f, - 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x76, 0x32, 0x18, 0x07, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, - 0x75, 0x65, 0x52, 0x11, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x64, - 0x65, 0x78, 0x5f, 0x76, 0x32, 0x22, 0xe9, 0x02, 0x0a, 0x1b, 0x42, 0x6c, 0x69, 0x6e, 0x64, 0x65, - 0x64, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x65, 0x6c, 0x6c, - 0x61, 0x74, 0x72, 0x69, 0x78, 0x12, 0x16, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x04, 0x42, 0x02, 0x18, 0x01, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x2a, 0x0a, - 0x0e, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x04, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x70, 0x6f, - 0x73, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x61, 0x72, - 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, - 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x73, - 0x74, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x40, 0x0a, 0x04, 0x62, - 0x6f, 0x64, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x78, 0x61, 0x74, 0x75, - 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x69, 0x6e, 0x64, 0x65, 0x64, 0x42, - 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x6f, 0x64, 0x79, 0x42, 0x65, - 0x6c, 0x6c, 0x61, 0x74, 0x72, 0x69, 0x78, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x12, 0x36, 0x0a, - 0x07, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x76, 0x32, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x73, 0x6c, - 0x6f, 0x74, 0x5f, 0x76, 0x32, 0x12, 0x4a, 0x0a, 0x11, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, - 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x76, 0x32, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x11, - 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x76, - 0x32, 0x22, 0xd7, 0x02, 0x0a, 0x12, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, - 0x6b, 0x43, 0x61, 0x70, 0x65, 0x6c, 0x6c, 0x61, 0x12, 0x16, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x42, 0x02, 0x18, 0x01, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, - 0x12, 0x2a, 0x0a, 0x0e, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x64, - 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0e, 0x70, 0x72, - 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x20, 0x0a, 0x0b, - 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x1e, - 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x37, - 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x78, - 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x65, 0x61, 0x63, 0x6f, - 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x6f, 0x64, 0x79, 0x43, 0x61, 0x70, 0x65, 0x6c, 0x6c, - 0x61, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x12, 0x36, 0x0a, 0x07, 0x73, 0x6c, 0x6f, 0x74, 0x5f, - 0x76, 0x32, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, - 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x76, 0x32, 0x12, - 0x4a, 0x0a, 0x11, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, - 0x78, 0x5f, 0x76, 0x32, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, - 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x11, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, - 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x76, 0x32, 0x22, 0xe5, 0x02, 0x0a, 0x19, - 0x42, 0x6c, 0x69, 0x6e, 0x64, 0x65, 0x64, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, - 0x63, 0x6b, 0x43, 0x61, 0x70, 0x65, 0x6c, 0x6c, 0x61, 0x12, 0x16, 0x0a, 0x04, 0x73, 0x6c, 0x6f, - 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x42, 0x02, 0x18, 0x01, 0x52, 0x04, 0x73, 0x6c, 0x6f, - 0x74, 0x12, 0x2a, 0x0a, 0x0e, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x6e, - 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0e, 0x70, + 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x65, 0x6c, 0x6c, 0x61, 0x74, 0x72, 0x69, 0x78, 0x52, + 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, + 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, + 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0x89, 0x01, 0x0a, 0x23, 0x53, 0x69, 0x67, 0x6e, 0x65, + 0x64, 0x42, 0x6c, 0x69, 0x6e, 0x64, 0x65, 0x64, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, + 0x6f, 0x63, 0x6b, 0x42, 0x65, 0x6c, 0x6c, 0x61, 0x74, 0x72, 0x69, 0x78, 0x56, 0x32, 0x12, 0x44, + 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x2a, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, + 0x69, 0x6e, 0x64, 0x65, 0x64, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, + 0x42, 0x65, 0x6c, 0x6c, 0x61, 0x74, 0x72, 0x69, 0x78, 0x56, 0x32, 0x52, 0x07, 0x6d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, + 0x72, 0x65, 0x22, 0x81, 0x01, 0x0a, 0x1f, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x42, 0x6c, 0x69, + 0x6e, 0x64, 0x65, 0x64, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x43, + 0x61, 0x70, 0x65, 0x6c, 0x6c, 0x61, 0x12, 0x40, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, + 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x69, 0x6e, 0x64, 0x65, 0x64, 0x42, 0x65, 0x61, + 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x43, 0x61, 0x70, 0x65, 0x6c, 0x6c, 0x61, 0x52, + 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, + 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, + 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0x85, 0x01, 0x0a, 0x21, 0x53, 0x69, 0x67, 0x6e, 0x65, + 0x64, 0x42, 0x6c, 0x69, 0x6e, 0x64, 0x65, 0x64, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, + 0x6f, 0x63, 0x6b, 0x43, 0x61, 0x70, 0x65, 0x6c, 0x6c, 0x61, 0x56, 0x32, 0x12, 0x42, 0x0a, 0x07, + 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, + 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x69, 0x6e, + 0x64, 0x65, 0x64, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x43, 0x61, + 0x70, 0x65, 0x6c, 0x6c, 0x61, 0x56, 0x32, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0x71, + 0x0a, 0x17, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, + 0x6f, 0x63, 0x6b, 0x41, 0x6c, 0x74, 0x61, 0x69, 0x72, 0x12, 0x38, 0x0a, 0x07, 0x6d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x78, 0x61, 0x74, + 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, + 0x6c, 0x6f, 0x63, 0x6b, 0x41, 0x6c, 0x74, 0x61, 0x69, 0x72, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, + 0x65, 0x22, 0x75, 0x0a, 0x19, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x42, 0x65, 0x61, 0x63, 0x6f, + 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x41, 0x6c, 0x74, 0x61, 0x69, 0x72, 0x56, 0x32, 0x12, 0x3a, + 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x20, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x65, + 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x41, 0x6c, 0x74, 0x61, 0x69, 0x72, 0x56, + 0x32, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, + 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, + 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0xcf, 0x01, 0x0a, 0x14, 0x42, 0x65, 0x61, + 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x65, 0x6c, 0x6c, 0x61, 0x74, 0x72, 0x69, + 0x78, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, + 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, - 0x3e, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, - 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x69, 0x6e, - 0x64, 0x65, 0x64, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x6f, - 0x64, 0x79, 0x43, 0x61, 0x70, 0x65, 0x6c, 0x6c, 0x61, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x12, - 0x36, 0x0a, 0x07, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x76, 0x32, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, - 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x76, 0x32, 0x12, 0x4a, 0x0a, 0x11, 0x70, 0x72, 0x6f, 0x70, 0x6f, - 0x73, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x76, 0x32, 0x18, 0x07, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x52, 0x11, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, - 0x5f, 0x76, 0x32, 0x22, 0xd5, 0x02, 0x0a, 0x11, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, - 0x6f, 0x63, 0x6b, 0x41, 0x6c, 0x74, 0x61, 0x69, 0x72, 0x12, 0x16, 0x0a, 0x04, 0x73, 0x6c, 0x6f, - 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x42, 0x02, 0x18, 0x01, 0x52, 0x04, 0x73, 0x6c, 0x6f, - 0x74, 0x12, 0x2a, 0x0a, 0x0e, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x6e, - 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0e, 0x70, + 0x39, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, + 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x65, 0x61, 0x63, + 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x6f, 0x64, 0x79, 0x42, 0x65, 0x6c, 0x6c, 0x61, + 0x74, 0x72, 0x69, 0x78, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x22, 0x8f, 0x02, 0x0a, 0x16, 0x42, + 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x65, 0x6c, 0x6c, 0x61, 0x74, + 0x72, 0x69, 0x78, 0x56, 0x32, 0x12, 0x30, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x44, 0x0a, 0x0e, 0x70, 0x72, 0x6f, 0x70, 0x6f, + 0x73, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, - 0x36, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, + 0x3b, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x65, 0x61, 0x63, - 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x6f, 0x64, 0x79, 0x41, 0x6c, 0x74, 0x61, 0x69, - 0x72, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x12, 0x36, 0x0a, 0x07, 0x73, 0x6c, 0x6f, 0x74, 0x5f, - 0x76, 0x32, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x6f, 0x64, 0x79, 0x42, 0x65, 0x6c, 0x6c, 0x61, + 0x74, 0x72, 0x69, 0x78, 0x56, 0x32, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x22, 0xdd, 0x01, 0x0a, + 0x1b, 0x42, 0x6c, 0x69, 0x6e, 0x64, 0x65, 0x64, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, + 0x6f, 0x63, 0x6b, 0x42, 0x65, 0x6c, 0x6c, 0x61, 0x74, 0x72, 0x69, 0x78, 0x12, 0x12, 0x0a, 0x04, + 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, + 0x12, 0x26, 0x0a, 0x0e, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x64, + 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, + 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x65, + 0x6e, 0x74, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, + 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x74, + 0x61, 0x74, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x40, 0x0a, 0x04, 0x62, 0x6f, + 0x64, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, + 0x65, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x69, 0x6e, 0x64, 0x65, 0x64, 0x42, 0x65, + 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x6f, 0x64, 0x79, 0x42, 0x65, 0x6c, + 0x6c, 0x61, 0x74, 0x72, 0x69, 0x78, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x22, 0x9d, 0x02, 0x0a, + 0x1d, 0x42, 0x6c, 0x69, 0x6e, 0x64, 0x65, 0x64, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, + 0x6f, 0x63, 0x6b, 0x42, 0x65, 0x6c, 0x6c, 0x61, 0x74, 0x72, 0x69, 0x78, 0x56, 0x32, 0x12, 0x30, + 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, + 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, + 0x12, 0x44, 0x0a, 0x0e, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x64, + 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, - 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x76, 0x32, 0x12, - 0x4a, 0x0a, 0x11, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, - 0x78, 0x5f, 0x76, 0x32, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, - 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x11, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, - 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x76, 0x32, 0x22, 0xfc, 0x04, 0x0a, 0x18, + 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, + 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, + 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, + 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x74, + 0x61, 0x74, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x42, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, + 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x69, 0x6e, 0x64, 0x65, 0x64, 0x42, 0x65, 0x61, 0x63, + 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x6f, 0x64, 0x79, 0x42, 0x65, 0x6c, 0x6c, 0x61, + 0x74, 0x72, 0x69, 0x78, 0x56, 0x32, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x22, 0xcb, 0x01, 0x0a, + 0x12, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x43, 0x61, 0x70, 0x65, + 0x6c, 0x6c, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x70, 0x72, 0x6f, 0x70, 0x6f, + 0x73, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x0e, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, + 0x20, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x6f, 0x6f, + 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x6f, 0x6f, + 0x74, 0x12, 0x37, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x23, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x65, + 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x6f, 0x64, 0x79, 0x43, 0x61, 0x70, + 0x65, 0x6c, 0x6c, 0x61, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x22, 0x8b, 0x02, 0x0a, 0x14, 0x42, + 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x43, 0x61, 0x70, 0x65, 0x6c, 0x6c, + 0x61, 0x56, 0x32, 0x12, 0x30, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, + 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x44, 0x0a, 0x0e, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, + 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0e, 0x70, 0x72, 0x6f, + 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x20, 0x0a, 0x0b, 0x70, + 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x1e, 0x0a, + 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x39, 0x0a, + 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x78, 0x61, + 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, + 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x6f, 0x64, 0x79, 0x43, 0x61, 0x70, 0x65, 0x6c, 0x6c, 0x61, + 0x56, 0x32, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x22, 0xd9, 0x01, 0x0a, 0x19, 0x42, 0x6c, 0x69, + 0x6e, 0x64, 0x65, 0x64, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x43, + 0x61, 0x70, 0x65, 0x6c, 0x6c, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x70, 0x72, + 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x64, + 0x65, 0x78, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x6f, 0x6f, + 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, + 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x6f, + 0x6f, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, + 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x3e, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x32, + 0x2e, 0x42, 0x6c, 0x69, 0x6e, 0x64, 0x65, 0x64, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, + 0x6f, 0x63, 0x6b, 0x42, 0x6f, 0x64, 0x79, 0x43, 0x61, 0x70, 0x65, 0x6c, 0x6c, 0x61, 0x52, 0x04, + 0x62, 0x6f, 0x64, 0x79, 0x22, 0x99, 0x02, 0x0a, 0x1b, 0x42, 0x6c, 0x69, 0x6e, 0x64, 0x65, 0x64, + 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x43, 0x61, 0x70, 0x65, 0x6c, + 0x6c, 0x61, 0x56, 0x32, 0x12, 0x30, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x44, 0x0a, 0x0e, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, + 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0e, 0x70, 0x72, + 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x20, 0x0a, 0x0b, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x1e, + 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x40, + 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x78, + 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x69, 0x6e, 0x64, + 0x65, 0x64, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x6f, 0x64, + 0x79, 0x43, 0x61, 0x70, 0x65, 0x6c, 0x6c, 0x61, 0x56, 0x32, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, + 0x22, 0xc9, 0x01, 0x0a, 0x11, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, + 0x41, 0x6c, 0x74, 0x61, 0x69, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x70, 0x72, + 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x64, + 0x65, 0x78, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x6f, 0x6f, + 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, + 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x6f, + 0x6f, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, + 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x36, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x32, + 0x2e, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x6f, 0x64, 0x79, + 0x41, 0x6c, 0x74, 0x61, 0x69, 0x72, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x22, 0x89, 0x02, 0x0a, + 0x13, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x41, 0x6c, 0x74, 0x61, + 0x69, 0x72, 0x56, 0x32, 0x12, 0x30, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x44, 0x0a, 0x0e, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, + 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0e, 0x70, 0x72, + 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x20, 0x0a, 0x0b, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x1e, + 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x38, + 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x78, + 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x65, 0x61, 0x63, 0x6f, + 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x6f, 0x64, 0x79, 0x41, 0x6c, 0x74, 0x61, 0x69, 0x72, + 0x56, 0x32, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x22, 0xfc, 0x04, 0x0a, 0x18, 0x42, 0x65, 0x61, + 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x6f, 0x64, 0x79, 0x42, 0x65, 0x6c, 0x6c, + 0x61, 0x74, 0x72, 0x69, 0x78, 0x12, 0x24, 0x0a, 0x0d, 0x72, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x5f, + 0x72, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x61, + 0x6e, 0x64, 0x61, 0x6f, 0x5f, 0x72, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x12, 0x33, 0x0a, 0x09, 0x65, + 0x74, 0x68, 0x31, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, + 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x74, 0x68, + 0x31, 0x44, 0x61, 0x74, 0x61, 0x52, 0x09, 0x65, 0x74, 0x68, 0x31, 0x5f, 0x64, 0x61, 0x74, 0x61, + 0x12, 0x1a, 0x0a, 0x08, 0x67, 0x72, 0x61, 0x66, 0x66, 0x69, 0x74, 0x69, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x67, 0x72, 0x61, 0x66, 0x66, 0x69, 0x74, 0x69, 0x12, 0x4d, 0x0a, 0x12, + 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, + 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, + 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x53, + 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x52, 0x12, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, + 0x72, 0x5f, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x4d, 0x0a, 0x12, 0x61, + 0x74, 0x74, 0x65, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, + 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, + 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x65, 0x72, 0x53, 0x6c, + 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x52, 0x12, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x65, 0x72, + 0x5f, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x3c, 0x0a, 0x0c, 0x61, 0x74, + 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x18, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x41, + 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x61, 0x74, 0x74, 0x65, + 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x30, 0x0a, 0x08, 0x64, 0x65, 0x70, 0x6f, + 0x73, 0x69, 0x74, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x78, 0x61, 0x74, + 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, + 0x52, 0x08, 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x73, 0x12, 0x4a, 0x0a, 0x0f, 0x76, 0x6f, + 0x6c, 0x75, 0x6e, 0x74, 0x61, 0x72, 0x79, 0x5f, 0x65, 0x78, 0x69, 0x74, 0x73, 0x18, 0x08, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, + 0x31, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x56, 0x6f, 0x6c, 0x75, 0x6e, 0x74, 0x61, 0x72, + 0x79, 0x45, 0x78, 0x69, 0x74, 0x52, 0x0f, 0x76, 0x6f, 0x6c, 0x75, 0x6e, 0x74, 0x61, 0x72, 0x79, + 0x5f, 0x65, 0x78, 0x69, 0x74, 0x73, 0x12, 0x42, 0x0a, 0x0e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x61, + 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, + 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x79, 0x6e, + 0x63, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x52, 0x0e, 0x73, 0x79, 0x6e, 0x63, + 0x5f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x12, 0x4b, 0x0a, 0x11, 0x65, 0x78, + 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, + 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, + 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x79, + 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x11, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x22, 0x80, 0x05, 0x0a, 0x1a, 0x42, 0x65, 0x61, 0x63, + 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x6f, 0x64, 0x79, 0x42, 0x65, 0x6c, 0x6c, 0x61, + 0x74, 0x72, 0x69, 0x78, 0x56, 0x32, 0x12, 0x24, 0x0a, 0x0d, 0x72, 0x61, 0x6e, 0x64, 0x61, 0x6f, + 0x5f, 0x72, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, + 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x5f, 0x72, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x12, 0x33, 0x0a, 0x09, + 0x65, 0x74, 0x68, 0x31, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x15, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x74, + 0x68, 0x31, 0x44, 0x61, 0x74, 0x61, 0x52, 0x09, 0x65, 0x74, 0x68, 0x31, 0x5f, 0x64, 0x61, 0x74, + 0x61, 0x12, 0x1a, 0x0a, 0x08, 0x67, 0x72, 0x61, 0x66, 0x66, 0x69, 0x74, 0x69, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x67, 0x72, 0x61, 0x66, 0x66, 0x69, 0x74, 0x69, 0x12, 0x4d, 0x0a, + 0x12, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x69, + 0x6e, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x78, 0x61, 0x74, 0x75, + 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, + 0x53, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x52, 0x12, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, + 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x4d, 0x0a, 0x12, + 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, + 0x67, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, + 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x65, 0x72, 0x53, + 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x52, 0x12, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x65, + 0x72, 0x5f, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x3c, 0x0a, 0x0c, 0x61, + 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x18, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, + 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x61, 0x74, 0x74, + 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x30, 0x0a, 0x08, 0x64, 0x65, 0x70, + 0x6f, 0x73, 0x69, 0x74, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x78, 0x61, + 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, + 0x74, 0x52, 0x08, 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x73, 0x12, 0x4a, 0x0a, 0x0f, 0x76, + 0x6f, 0x6c, 0x75, 0x6e, 0x74, 0x61, 0x72, 0x79, 0x5f, 0x65, 0x78, 0x69, 0x74, 0x73, 0x18, 0x08, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, + 0x76, 0x31, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x56, 0x6f, 0x6c, 0x75, 0x6e, 0x74, 0x61, + 0x72, 0x79, 0x45, 0x78, 0x69, 0x74, 0x52, 0x0f, 0x76, 0x6f, 0x6c, 0x75, 0x6e, 0x74, 0x61, 0x72, + 0x79, 0x5f, 0x65, 0x78, 0x69, 0x74, 0x73, 0x12, 0x42, 0x0a, 0x0e, 0x73, 0x79, 0x6e, 0x63, 0x5f, + 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1a, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x79, + 0x6e, 0x63, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x52, 0x0e, 0x73, 0x79, 0x6e, + 0x63, 0x5f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x12, 0x4d, 0x0a, 0x11, 0x65, + 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, + 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, + 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, + 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x56, 0x32, 0x52, 0x11, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x22, 0x97, 0x05, 0x0a, 0x1f, 0x42, + 0x6c, 0x69, 0x6e, 0x64, 0x65, 0x64, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, + 0x6b, 0x42, 0x6f, 0x64, 0x79, 0x42, 0x65, 0x6c, 0x6c, 0x61, 0x74, 0x72, 0x69, 0x78, 0x12, 0x24, + 0x0a, 0x0d, 0x72, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x5f, 0x72, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x5f, 0x72, 0x65, + 0x76, 0x65, 0x61, 0x6c, 0x12, 0x33, 0x0a, 0x09, 0x65, 0x74, 0x68, 0x31, 0x5f, 0x64, 0x61, 0x74, + 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, + 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x74, 0x68, 0x31, 0x44, 0x61, 0x74, 0x61, 0x52, 0x09, + 0x65, 0x74, 0x68, 0x31, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1a, 0x0a, 0x08, 0x67, 0x72, 0x61, + 0x66, 0x66, 0x69, 0x74, 0x69, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x67, 0x72, 0x61, + 0x66, 0x66, 0x69, 0x74, 0x69, 0x12, 0x4d, 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, + 0x72, 0x5f, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x1d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, + 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, + 0x52, 0x12, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x61, 0x73, 0x68, + 0x69, 0x6e, 0x67, 0x73, 0x12, 0x4d, 0x0a, 0x12, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x65, 0x72, + 0x5f, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x1d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x41, + 0x74, 0x74, 0x65, 0x73, 0x74, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x52, + 0x12, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x69, + 0x6e, 0x67, 0x73, 0x12, 0x3c, 0x0a, 0x0c, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x78, 0x61, 0x74, 0x75, + 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x12, 0x30, 0x0a, 0x08, 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x73, 0x18, 0x07, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, + 0x31, 0x2e, 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x52, 0x08, 0x64, 0x65, 0x70, 0x6f, 0x73, + 0x69, 0x74, 0x73, 0x12, 0x4a, 0x0a, 0x0f, 0x76, 0x6f, 0x6c, 0x75, 0x6e, 0x74, 0x61, 0x72, 0x79, + 0x5f, 0x65, 0x78, 0x69, 0x74, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x78, + 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x65, + 0x64, 0x56, 0x6f, 0x6c, 0x75, 0x6e, 0x74, 0x61, 0x72, 0x79, 0x45, 0x78, 0x69, 0x74, 0x52, 0x0f, + 0x76, 0x6f, 0x6c, 0x75, 0x6e, 0x74, 0x61, 0x72, 0x79, 0x5f, 0x65, 0x78, 0x69, 0x74, 0x73, 0x12, + 0x42, 0x0a, 0x0e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, + 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, + 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, + 0x61, 0x74, 0x65, 0x52, 0x0e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, + 0x61, 0x74, 0x65, 0x12, 0x5f, 0x0a, 0x18, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, + 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, + 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x79, + 0x6c, 0x6f, 0x61, 0x64, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x18, 0x65, 0x78, 0x65, 0x63, + 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x68, 0x65, + 0x61, 0x64, 0x65, 0x72, 0x22, 0x9b, 0x05, 0x0a, 0x21, 0x42, 0x6c, 0x69, 0x6e, 0x64, 0x65, 0x64, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x6f, 0x64, 0x79, 0x42, - 0x65, 0x6c, 0x6c, 0x61, 0x74, 0x72, 0x69, 0x78, 0x12, 0x24, 0x0a, 0x0d, 0x72, 0x61, 0x6e, 0x64, + 0x65, 0x6c, 0x6c, 0x61, 0x74, 0x72, 0x69, 0x78, 0x56, 0x32, 0x12, 0x24, 0x0a, 0x0d, 0x72, 0x61, + 0x6e, 0x64, 0x61, 0x6f, 0x5f, 0x72, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0d, 0x72, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x5f, 0x72, 0x65, 0x76, 0x65, 0x61, 0x6c, + 0x12, 0x33, 0x0a, 0x09, 0x65, 0x74, 0x68, 0x31, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, + 0x31, 0x2e, 0x45, 0x74, 0x68, 0x31, 0x44, 0x61, 0x74, 0x61, 0x52, 0x09, 0x65, 0x74, 0x68, 0x31, + 0x5f, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1a, 0x0a, 0x08, 0x67, 0x72, 0x61, 0x66, 0x66, 0x69, 0x74, + 0x69, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x67, 0x72, 0x61, 0x66, 0x66, 0x69, 0x74, + 0x69, 0x12, 0x4d, 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x73, 0x6c, + 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, + 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x70, + 0x6f, 0x73, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x52, 0x12, 0x70, 0x72, + 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x73, + 0x12, 0x4d, 0x0a, 0x12, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x61, + 0x73, 0x68, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x78, + 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x74, 0x74, 0x65, 0x73, + 0x74, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x52, 0x12, 0x61, 0x74, 0x74, + 0x65, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x73, 0x12, + 0x3c, 0x0a, 0x0c, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, + 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, + 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x0c, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x30, 0x0a, + 0x08, 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x14, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, + 0x70, 0x6f, 0x73, 0x69, 0x74, 0x52, 0x08, 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x73, 0x12, + 0x4a, 0x0a, 0x0f, 0x76, 0x6f, 0x6c, 0x75, 0x6e, 0x74, 0x61, 0x72, 0x79, 0x5f, 0x65, 0x78, 0x69, + 0x74, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, + 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x56, 0x6f, 0x6c, + 0x75, 0x6e, 0x74, 0x61, 0x72, 0x79, 0x45, 0x78, 0x69, 0x74, 0x52, 0x0f, 0x76, 0x6f, 0x6c, 0x75, + 0x6e, 0x74, 0x61, 0x72, 0x79, 0x5f, 0x65, 0x78, 0x69, 0x74, 0x73, 0x12, 0x42, 0x0a, 0x0e, 0x73, + 0x79, 0x6e, 0x63, 0x5f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, + 0x31, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x52, + 0x0e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x12, + 0x61, 0x0a, 0x18, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x79, + 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x25, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, + 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, + 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x32, 0x52, 0x18, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x68, 0x65, 0x61, 0x64, + 0x65, 0x72, 0x22, 0xe6, 0x05, 0x0a, 0x16, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, + 0x63, 0x6b, 0x42, 0x6f, 0x64, 0x79, 0x43, 0x61, 0x70, 0x65, 0x6c, 0x6c, 0x61, 0x12, 0x24, 0x0a, + 0x0d, 0x72, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x5f, 0x72, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x5f, 0x72, 0x65, 0x76, + 0x65, 0x61, 0x6c, 0x12, 0x33, 0x0a, 0x09, 0x65, 0x74, 0x68, 0x31, 0x5f, 0x64, 0x61, 0x74, 0x61, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, + 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x74, 0x68, 0x31, 0x44, 0x61, 0x74, 0x61, 0x52, 0x09, 0x65, + 0x74, 0x68, 0x31, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1a, 0x0a, 0x08, 0x67, 0x72, 0x61, 0x66, + 0x66, 0x69, 0x74, 0x69, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x67, 0x72, 0x61, 0x66, + 0x66, 0x69, 0x74, 0x69, 0x12, 0x4d, 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, + 0x5f, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x1d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x50, + 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x52, + 0x12, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x69, + 0x6e, 0x67, 0x73, 0x12, 0x4d, 0x0a, 0x12, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x65, 0x72, 0x5f, + 0x73, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x1d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x74, + 0x74, 0x65, 0x73, 0x74, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x52, 0x12, + 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, + 0x67, 0x73, 0x12, 0x3c, 0x0a, 0x0c, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, + 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x0c, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x12, 0x30, 0x0a, 0x08, 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x73, 0x18, 0x07, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, + 0x2e, 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x52, 0x08, 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, + 0x74, 0x73, 0x12, 0x4a, 0x0a, 0x0f, 0x76, 0x6f, 0x6c, 0x75, 0x6e, 0x74, 0x61, 0x72, 0x79, 0x5f, + 0x65, 0x78, 0x69, 0x74, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x78, 0x61, + 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, + 0x56, 0x6f, 0x6c, 0x75, 0x6e, 0x74, 0x61, 0x72, 0x79, 0x45, 0x78, 0x69, 0x74, 0x52, 0x0f, 0x76, + 0x6f, 0x6c, 0x75, 0x6e, 0x74, 0x61, 0x72, 0x79, 0x5f, 0x65, 0x78, 0x69, 0x74, 0x73, 0x12, 0x42, + 0x0a, 0x0e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, + 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, + 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, + 0x74, 0x65, 0x52, 0x0e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, + 0x74, 0x65, 0x12, 0x52, 0x0a, 0x11, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, + 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x65, 0x63, + 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x61, 0x70, 0x65, + 0x6c, 0x6c, 0x61, 0x52, 0x11, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, + 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x63, 0x0a, 0x18, 0x62, 0x6c, 0x73, 0x5f, 0x74, 0x6f, + 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, + 0x65, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, + 0x65, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x42, 0x4c, 0x53, + 0x54, 0x6f, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x67, + 0x65, 0x52, 0x18, 0x62, 0x6c, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x22, 0xea, 0x05, 0x0a, 0x18, + 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x6f, 0x64, 0x79, 0x43, + 0x61, 0x70, 0x65, 0x6c, 0x6c, 0x61, 0x56, 0x32, 0x12, 0x24, 0x0a, 0x0d, 0x72, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x5f, 0x72, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x5f, 0x72, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x12, 0x33, 0x0a, 0x09, 0x65, 0x74, 0x68, 0x31, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, @@ -1603,14 +3070,117 @@ var file_pkg_proto_eth_v2_beacon_block_proto_rawDesc = []byte{ 0x63, 0x5f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x52, 0x0e, 0x73, - 0x79, 0x6e, 0x63, 0x5f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x12, 0x4b, 0x0a, + 0x79, 0x6e, 0x63, 0x5f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x12, 0x54, 0x0a, 0x11, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, - 0x61, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, + 0x61, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, - 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x11, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x22, 0x97, 0x05, 0x0a, 0x1f, 0x42, - 0x6c, 0x69, 0x6e, 0x64, 0x65, 0x64, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, - 0x6b, 0x42, 0x6f, 0x64, 0x79, 0x42, 0x65, 0x6c, 0x6c, 0x61, 0x74, 0x72, 0x69, 0x78, 0x12, 0x24, + 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x61, 0x70, 0x65, 0x6c, 0x6c, 0x61, 0x56, 0x32, + 0x52, 0x11, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x79, 0x6c, + 0x6f, 0x61, 0x64, 0x12, 0x63, 0x0a, 0x18, 0x62, 0x6c, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x65, 0x78, + 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, + 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, + 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x42, 0x4c, 0x53, 0x54, 0x6f, 0x45, + 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x18, + 0x62, 0x6c, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x22, 0x81, 0x06, 0x0a, 0x1d, 0x42, 0x6c, 0x69, + 0x6e, 0x64, 0x65, 0x64, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x42, + 0x6f, 0x64, 0x79, 0x43, 0x61, 0x70, 0x65, 0x6c, 0x6c, 0x61, 0x12, 0x24, 0x0a, 0x0d, 0x72, 0x61, + 0x6e, 0x64, 0x61, 0x6f, 0x5f, 0x72, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0d, 0x72, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x5f, 0x72, 0x65, 0x76, 0x65, 0x61, 0x6c, + 0x12, 0x33, 0x0a, 0x09, 0x65, 0x74, 0x68, 0x31, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, + 0x31, 0x2e, 0x45, 0x74, 0x68, 0x31, 0x44, 0x61, 0x74, 0x61, 0x52, 0x09, 0x65, 0x74, 0x68, 0x31, + 0x5f, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1a, 0x0a, 0x08, 0x67, 0x72, 0x61, 0x66, 0x66, 0x69, 0x74, + 0x69, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x67, 0x72, 0x61, 0x66, 0x66, 0x69, 0x74, + 0x69, 0x12, 0x4d, 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x73, 0x6c, + 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, + 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x70, + 0x6f, 0x73, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x52, 0x12, 0x70, 0x72, + 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x73, + 0x12, 0x4d, 0x0a, 0x12, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x61, + 0x73, 0x68, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x78, + 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x74, 0x74, 0x65, 0x73, + 0x74, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x52, 0x12, 0x61, 0x74, 0x74, + 0x65, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x73, 0x12, + 0x3c, 0x0a, 0x0c, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, + 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, + 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x0c, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x30, 0x0a, + 0x08, 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x14, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, + 0x70, 0x6f, 0x73, 0x69, 0x74, 0x52, 0x08, 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x73, 0x12, + 0x4a, 0x0a, 0x0f, 0x76, 0x6f, 0x6c, 0x75, 0x6e, 0x74, 0x61, 0x72, 0x79, 0x5f, 0x65, 0x78, 0x69, + 0x74, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, + 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x56, 0x6f, 0x6c, + 0x75, 0x6e, 0x74, 0x61, 0x72, 0x79, 0x45, 0x78, 0x69, 0x74, 0x52, 0x0f, 0x76, 0x6f, 0x6c, 0x75, + 0x6e, 0x74, 0x61, 0x72, 0x79, 0x5f, 0x65, 0x78, 0x69, 0x74, 0x73, 0x12, 0x42, 0x0a, 0x0e, 0x73, + 0x79, 0x6e, 0x63, 0x5f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, + 0x31, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x52, + 0x0e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x12, + 0x66, 0x0a, 0x18, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x79, + 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x2a, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, + 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, + 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x43, 0x61, 0x70, 0x65, 0x6c, 0x6c, 0x61, 0x52, 0x18, 0x65, + 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, + 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x63, 0x0a, 0x18, 0x62, 0x6c, 0x73, 0x5f, 0x74, + 0x6f, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x68, 0x61, 0x6e, + 0x67, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x78, 0x61, 0x74, 0x75, + 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x42, 0x4c, + 0x53, 0x54, 0x6f, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x61, 0x6e, + 0x67, 0x65, 0x52, 0x18, 0x62, 0x6c, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x22, 0x85, 0x06, 0x0a, + 0x1f, 0x42, 0x6c, 0x69, 0x6e, 0x64, 0x65, 0x64, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, + 0x6f, 0x63, 0x6b, 0x42, 0x6f, 0x64, 0x79, 0x43, 0x61, 0x70, 0x65, 0x6c, 0x6c, 0x61, 0x56, 0x32, + 0x12, 0x24, 0x0a, 0x0d, 0x72, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x5f, 0x72, 0x65, 0x76, 0x65, 0x61, + 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x5f, + 0x72, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x12, 0x33, 0x0a, 0x09, 0x65, 0x74, 0x68, 0x31, 0x5f, 0x64, + 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x78, 0x61, 0x74, 0x75, + 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x74, 0x68, 0x31, 0x44, 0x61, 0x74, 0x61, + 0x52, 0x09, 0x65, 0x74, 0x68, 0x31, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1a, 0x0a, 0x08, 0x67, + 0x72, 0x61, 0x66, 0x66, 0x69, 0x74, 0x69, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x67, + 0x72, 0x61, 0x66, 0x66, 0x69, 0x74, 0x69, 0x12, 0x4d, 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x70, 0x6f, + 0x73, 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x04, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, + 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x73, 0x68, 0x69, + 0x6e, 0x67, 0x52, 0x12, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x61, + 0x73, 0x68, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x4d, 0x0a, 0x12, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, + 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x05, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, + 0x2e, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, + 0x67, 0x52, 0x12, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x61, 0x73, + 0x68, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x3c, 0x0a, 0x0c, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x78, 0x61, + 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x12, 0x30, 0x0a, 0x08, 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x73, 0x18, + 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, + 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x52, 0x08, 0x64, 0x65, 0x70, + 0x6f, 0x73, 0x69, 0x74, 0x73, 0x12, 0x4a, 0x0a, 0x0f, 0x76, 0x6f, 0x6c, 0x75, 0x6e, 0x74, 0x61, + 0x72, 0x79, 0x5f, 0x65, 0x78, 0x69, 0x74, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, + 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x69, 0x67, + 0x6e, 0x65, 0x64, 0x56, 0x6f, 0x6c, 0x75, 0x6e, 0x74, 0x61, 0x72, 0x79, 0x45, 0x78, 0x69, 0x74, + 0x52, 0x0f, 0x76, 0x6f, 0x6c, 0x75, 0x6e, 0x74, 0x61, 0x72, 0x79, 0x5f, 0x65, 0x78, 0x69, 0x74, + 0x73, 0x12, 0x42, 0x0a, 0x0e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, + 0x61, 0x74, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x78, 0x61, 0x74, 0x75, + 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x41, 0x67, 0x67, 0x72, + 0x65, 0x67, 0x61, 0x74, 0x65, 0x52, 0x0e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x61, 0x67, 0x67, 0x72, + 0x65, 0x67, 0x61, 0x74, 0x65, 0x12, 0x68, 0x0a, 0x18, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, + 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, + 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x50, + 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x43, 0x61, 0x70, 0x65, + 0x6c, 0x6c, 0x61, 0x56, 0x32, 0x52, 0x18, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, + 0x63, 0x0a, 0x18, 0x62, 0x6c, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x27, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, + 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x42, 0x4c, 0x53, 0x54, 0x6f, 0x45, 0x78, 0x65, 0x63, 0x75, + 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x18, 0x62, 0x6c, 0x73, 0x5f, + 0x74, 0x6f, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x68, 0x61, + 0x6e, 0x67, 0x65, 0x73, 0x22, 0xac, 0x04, 0x0a, 0x15, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, + 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x6f, 0x64, 0x79, 0x41, 0x6c, 0x74, 0x61, 0x69, 0x72, 0x12, 0x24, 0x0a, 0x0d, 0x72, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x5f, 0x72, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x5f, 0x72, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x12, 0x33, 0x0a, 0x09, 0x65, 0x74, 0x68, 0x31, 0x5f, 0x64, 0x61, 0x74, @@ -1644,61 +3214,8 @@ var file_pkg_proto_eth_v2_beacon_block_proto_rawDesc = []byte{ 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x52, 0x0e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, - 0x61, 0x74, 0x65, 0x12, 0x5f, 0x0a, 0x18, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, - 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, - 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x79, - 0x6c, 0x6f, 0x61, 0x64, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x18, 0x65, 0x78, 0x65, 0x63, - 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x68, 0x65, - 0x61, 0x64, 0x65, 0x72, 0x22, 0xe6, 0x05, 0x0a, 0x16, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, - 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x6f, 0x64, 0x79, 0x43, 0x61, 0x70, 0x65, 0x6c, 0x6c, 0x61, 0x12, - 0x24, 0x0a, 0x0d, 0x72, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x5f, 0x72, 0x65, 0x76, 0x65, 0x61, 0x6c, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x5f, 0x72, - 0x65, 0x76, 0x65, 0x61, 0x6c, 0x12, 0x33, 0x0a, 0x09, 0x65, 0x74, 0x68, 0x31, 0x5f, 0x64, 0x61, - 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, - 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x74, 0x68, 0x31, 0x44, 0x61, 0x74, 0x61, 0x52, - 0x09, 0x65, 0x74, 0x68, 0x31, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1a, 0x0a, 0x08, 0x67, 0x72, - 0x61, 0x66, 0x66, 0x69, 0x74, 0x69, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x67, 0x72, - 0x61, 0x66, 0x66, 0x69, 0x74, 0x69, 0x12, 0x4d, 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, - 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, - 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, - 0x67, 0x52, 0x12, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x61, 0x73, - 0x68, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x4d, 0x0a, 0x12, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x65, - 0x72, 0x5f, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x1d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, - 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, - 0x52, 0x12, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x61, 0x73, 0x68, - 0x69, 0x6e, 0x67, 0x73, 0x12, 0x3c, 0x0a, 0x0c, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x78, 0x61, 0x74, - 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x12, 0x30, 0x0a, 0x08, 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x73, 0x18, 0x07, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, - 0x76, 0x31, 0x2e, 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x52, 0x08, 0x64, 0x65, 0x70, 0x6f, - 0x73, 0x69, 0x74, 0x73, 0x12, 0x4a, 0x0a, 0x0f, 0x76, 0x6f, 0x6c, 0x75, 0x6e, 0x74, 0x61, 0x72, - 0x79, 0x5f, 0x65, 0x78, 0x69, 0x74, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, - 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x69, 0x67, 0x6e, - 0x65, 0x64, 0x56, 0x6f, 0x6c, 0x75, 0x6e, 0x74, 0x61, 0x72, 0x79, 0x45, 0x78, 0x69, 0x74, 0x52, - 0x0f, 0x76, 0x6f, 0x6c, 0x75, 0x6e, 0x74, 0x61, 0x72, 0x79, 0x5f, 0x65, 0x78, 0x69, 0x74, 0x73, - 0x12, 0x42, 0x0a, 0x0e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, - 0x74, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, - 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x41, 0x67, 0x67, 0x72, 0x65, - 0x67, 0x61, 0x74, 0x65, 0x52, 0x0e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x61, 0x67, 0x67, 0x72, 0x65, - 0x67, 0x61, 0x74, 0x65, 0x12, 0x52, 0x0a, 0x11, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x24, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, - 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x61, - 0x70, 0x65, 0x6c, 0x6c, 0x61, 0x52, 0x11, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x63, 0x0a, 0x18, 0x62, 0x6c, 0x73, 0x5f, - 0x74, 0x6f, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x68, 0x61, - 0x6e, 0x67, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x78, 0x61, 0x74, - 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x42, - 0x4c, 0x53, 0x54, 0x6f, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x61, - 0x6e, 0x67, 0x65, 0x52, 0x18, 0x62, 0x6c, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x65, 0x78, 0x65, 0x63, - 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x22, 0x81, 0x06, - 0x0a, 0x1d, 0x42, 0x6c, 0x69, 0x6e, 0x64, 0x65, 0x64, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, - 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x6f, 0x64, 0x79, 0x43, 0x61, 0x70, 0x65, 0x6c, 0x6c, 0x61, 0x12, + 0x61, 0x74, 0x65, 0x22, 0xae, 0x04, 0x0a, 0x17, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, + 0x6f, 0x63, 0x6b, 0x42, 0x6f, 0x64, 0x79, 0x41, 0x6c, 0x74, 0x61, 0x69, 0x72, 0x56, 0x32, 0x12, 0x24, 0x0a, 0x0d, 0x72, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x5f, 0x72, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x5f, 0x72, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x12, 0x33, 0x0a, 0x09, 0x65, 0x74, 0x68, 0x31, 0x5f, 0x64, 0x61, @@ -1732,58 +3249,10 @@ var file_pkg_proto_eth_v2_beacon_block_proto_rawDesc = []byte{ 0x74, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x52, 0x0e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x61, 0x67, 0x67, 0x72, 0x65, - 0x67, 0x61, 0x74, 0x65, 0x12, 0x66, 0x0a, 0x18, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, - 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, - 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, - 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x43, 0x61, 0x70, 0x65, 0x6c, - 0x6c, 0x61, 0x52, 0x18, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61, - 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x63, 0x0a, 0x18, - 0x62, 0x6c, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, - 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x69, 0x67, - 0x6e, 0x65, 0x64, 0x42, 0x4c, 0x53, 0x54, 0x6f, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, - 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x18, 0x62, 0x6c, 0x73, 0x5f, 0x74, 0x6f, 0x5f, - 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, - 0x73, 0x22, 0xac, 0x04, 0x0a, 0x15, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, - 0x6b, 0x42, 0x6f, 0x64, 0x79, 0x41, 0x6c, 0x74, 0x61, 0x69, 0x72, 0x12, 0x24, 0x0a, 0x0d, 0x72, - 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x5f, 0x72, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0d, 0x72, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x5f, 0x72, 0x65, 0x76, 0x65, 0x61, - 0x6c, 0x12, 0x33, 0x0a, 0x09, 0x65, 0x74, 0x68, 0x31, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, - 0x76, 0x31, 0x2e, 0x45, 0x74, 0x68, 0x31, 0x44, 0x61, 0x74, 0x61, 0x52, 0x09, 0x65, 0x74, 0x68, - 0x31, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1a, 0x0a, 0x08, 0x67, 0x72, 0x61, 0x66, 0x66, 0x69, - 0x74, 0x69, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x67, 0x72, 0x61, 0x66, 0x66, 0x69, - 0x74, 0x69, 0x12, 0x4d, 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x73, - 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, - 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, - 0x70, 0x6f, 0x73, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x52, 0x12, 0x70, - 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, - 0x73, 0x12, 0x4d, 0x0a, 0x12, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x6c, - 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, - 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x74, 0x74, 0x65, - 0x73, 0x74, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x52, 0x12, 0x61, 0x74, - 0x74, 0x65, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x73, - 0x12, 0x3c, 0x0a, 0x0c, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, - 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x0c, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x30, - 0x0a, 0x08, 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x14, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x44, - 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x52, 0x08, 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x73, - 0x12, 0x4a, 0x0a, 0x0f, 0x76, 0x6f, 0x6c, 0x75, 0x6e, 0x74, 0x61, 0x72, 0x79, 0x5f, 0x65, 0x78, - 0x69, 0x74, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x78, 0x61, 0x74, 0x75, - 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x56, 0x6f, - 0x6c, 0x75, 0x6e, 0x74, 0x61, 0x72, 0x79, 0x45, 0x78, 0x69, 0x74, 0x52, 0x0f, 0x76, 0x6f, 0x6c, - 0x75, 0x6e, 0x74, 0x61, 0x72, 0x79, 0x5f, 0x65, 0x78, 0x69, 0x74, 0x73, 0x12, 0x42, 0x0a, 0x0e, - 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x18, 0x09, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, - 0x76, 0x31, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, - 0x52, 0x0e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, - 0x42, 0x2e, 0x5a, 0x2c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, - 0x74, 0x68, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x70, 0x73, 0x2f, 0x78, 0x61, 0x74, 0x75, 0x2f, - 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x74, 0x68, 0x2f, 0x76, 0x32, - 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x67, 0x61, 0x74, 0x65, 0x42, 0x2e, 0x5a, 0x2c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x65, 0x74, 0x68, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x70, 0x73, 0x2f, 0x78, + 0x61, 0x74, 0x75, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x74, + 0x68, 0x2f, 0x76, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -1798,104 +3267,174 @@ func file_pkg_proto_eth_v2_beacon_block_proto_rawDescGZIP() []byte { return file_pkg_proto_eth_v2_beacon_block_proto_rawDescData } -var file_pkg_proto_eth_v2_beacon_block_proto_msgTypes = make([]protoimpl.MessageInfo, 15) +var file_pkg_proto_eth_v2_beacon_block_proto_msgTypes = make([]protoimpl.MessageInfo, 30) var file_pkg_proto_eth_v2_beacon_block_proto_goTypes = []interface{}{ - (*SignedBeaconBlockBellatrix)(nil), // 0: xatu.eth.v2.SignedBeaconBlockBellatrix - (*SignedBeaconBlockCapella)(nil), // 1: xatu.eth.v2.SignedBeaconBlockCapella - (*SignedBlindedBeaconBlockBellatrix)(nil), // 2: xatu.eth.v2.SignedBlindedBeaconBlockBellatrix - (*SignedBlindedBeaconBlockCapella)(nil), // 3: xatu.eth.v2.SignedBlindedBeaconBlockCapella - (*SignedBeaconBlockAltair)(nil), // 4: xatu.eth.v2.SignedBeaconBlockAltair - (*BeaconBlockBellatrix)(nil), // 5: xatu.eth.v2.BeaconBlockBellatrix - (*BlindedBeaconBlockBellatrix)(nil), // 6: xatu.eth.v2.BlindedBeaconBlockBellatrix - (*BeaconBlockCapella)(nil), // 7: xatu.eth.v2.BeaconBlockCapella - (*BlindedBeaconBlockCapella)(nil), // 8: xatu.eth.v2.BlindedBeaconBlockCapella - (*BeaconBlockAltair)(nil), // 9: xatu.eth.v2.BeaconBlockAltair - (*BeaconBlockBodyBellatrix)(nil), // 10: xatu.eth.v2.BeaconBlockBodyBellatrix - (*BlindedBeaconBlockBodyBellatrix)(nil), // 11: xatu.eth.v2.BlindedBeaconBlockBodyBellatrix - (*BeaconBlockBodyCapella)(nil), // 12: xatu.eth.v2.BeaconBlockBodyCapella - (*BlindedBeaconBlockBodyCapella)(nil), // 13: xatu.eth.v2.BlindedBeaconBlockBodyCapella - (*BeaconBlockBodyAltair)(nil), // 14: xatu.eth.v2.BeaconBlockBodyAltair - (*wrapperspb.UInt64Value)(nil), // 15: google.protobuf.UInt64Value - (*v1.Eth1Data)(nil), // 16: xatu.eth.v1.Eth1Data - (*v1.ProposerSlashing)(nil), // 17: xatu.eth.v1.ProposerSlashing - (*v1.AttesterSlashing)(nil), // 18: xatu.eth.v1.AttesterSlashing - (*v1.Attestation)(nil), // 19: xatu.eth.v1.Attestation - (*v1.Deposit)(nil), // 20: xatu.eth.v1.Deposit - (*v1.SignedVoluntaryExit)(nil), // 21: xatu.eth.v1.SignedVoluntaryExit - (*v1.SyncAggregate)(nil), // 22: xatu.eth.v1.SyncAggregate - (*v1.ExecutionPayload)(nil), // 23: xatu.eth.v1.ExecutionPayload - (*v1.ExecutionPayloadHeader)(nil), // 24: xatu.eth.v1.ExecutionPayloadHeader - (*v1.ExecutionPayloadCapella)(nil), // 25: xatu.eth.v1.ExecutionPayloadCapella - (*SignedBLSToExecutionChange)(nil), // 26: xatu.eth.v2.SignedBLSToExecutionChange - (*v1.ExecutionPayloadHeaderCapella)(nil), // 27: xatu.eth.v1.ExecutionPayloadHeaderCapella + (*SignedBeaconBlockBellatrix)(nil), // 0: xatu.eth.v2.SignedBeaconBlockBellatrix + (*SignedBeaconBlockBellatrixV2)(nil), // 1: xatu.eth.v2.SignedBeaconBlockBellatrixV2 + (*SignedBeaconBlockCapella)(nil), // 2: xatu.eth.v2.SignedBeaconBlockCapella + (*SignedBeaconBlockCapellaV2)(nil), // 3: xatu.eth.v2.SignedBeaconBlockCapellaV2 + (*SignedBlindedBeaconBlockBellatrix)(nil), // 4: xatu.eth.v2.SignedBlindedBeaconBlockBellatrix + (*SignedBlindedBeaconBlockBellatrixV2)(nil), // 5: xatu.eth.v2.SignedBlindedBeaconBlockBellatrixV2 + (*SignedBlindedBeaconBlockCapella)(nil), // 6: xatu.eth.v2.SignedBlindedBeaconBlockCapella + (*SignedBlindedBeaconBlockCapellaV2)(nil), // 7: xatu.eth.v2.SignedBlindedBeaconBlockCapellaV2 + (*SignedBeaconBlockAltair)(nil), // 8: xatu.eth.v2.SignedBeaconBlockAltair + (*SignedBeaconBlockAltairV2)(nil), // 9: xatu.eth.v2.SignedBeaconBlockAltairV2 + (*BeaconBlockBellatrix)(nil), // 10: xatu.eth.v2.BeaconBlockBellatrix + (*BeaconBlockBellatrixV2)(nil), // 11: xatu.eth.v2.BeaconBlockBellatrixV2 + (*BlindedBeaconBlockBellatrix)(nil), // 12: xatu.eth.v2.BlindedBeaconBlockBellatrix + (*BlindedBeaconBlockBellatrixV2)(nil), // 13: xatu.eth.v2.BlindedBeaconBlockBellatrixV2 + (*BeaconBlockCapella)(nil), // 14: xatu.eth.v2.BeaconBlockCapella + (*BeaconBlockCapellaV2)(nil), // 15: xatu.eth.v2.BeaconBlockCapellaV2 + (*BlindedBeaconBlockCapella)(nil), // 16: xatu.eth.v2.BlindedBeaconBlockCapella + (*BlindedBeaconBlockCapellaV2)(nil), // 17: xatu.eth.v2.BlindedBeaconBlockCapellaV2 + (*BeaconBlockAltair)(nil), // 18: xatu.eth.v2.BeaconBlockAltair + (*BeaconBlockAltairV2)(nil), // 19: xatu.eth.v2.BeaconBlockAltairV2 + (*BeaconBlockBodyBellatrix)(nil), // 20: xatu.eth.v2.BeaconBlockBodyBellatrix + (*BeaconBlockBodyBellatrixV2)(nil), // 21: xatu.eth.v2.BeaconBlockBodyBellatrixV2 + (*BlindedBeaconBlockBodyBellatrix)(nil), // 22: xatu.eth.v2.BlindedBeaconBlockBodyBellatrix + (*BlindedBeaconBlockBodyBellatrixV2)(nil), // 23: xatu.eth.v2.BlindedBeaconBlockBodyBellatrixV2 + (*BeaconBlockBodyCapella)(nil), // 24: xatu.eth.v2.BeaconBlockBodyCapella + (*BeaconBlockBodyCapellaV2)(nil), // 25: xatu.eth.v2.BeaconBlockBodyCapellaV2 + (*BlindedBeaconBlockBodyCapella)(nil), // 26: xatu.eth.v2.BlindedBeaconBlockBodyCapella + (*BlindedBeaconBlockBodyCapellaV2)(nil), // 27: xatu.eth.v2.BlindedBeaconBlockBodyCapellaV2 + (*BeaconBlockBodyAltair)(nil), // 28: xatu.eth.v2.BeaconBlockBodyAltair + (*BeaconBlockBodyAltairV2)(nil), // 29: xatu.eth.v2.BeaconBlockBodyAltairV2 + (*wrapperspb.UInt64Value)(nil), // 30: google.protobuf.UInt64Value + (*v1.Eth1Data)(nil), // 31: xatu.eth.v1.Eth1Data + (*v1.ProposerSlashing)(nil), // 32: xatu.eth.v1.ProposerSlashing + (*v1.AttesterSlashing)(nil), // 33: xatu.eth.v1.AttesterSlashing + (*v1.Attestation)(nil), // 34: xatu.eth.v1.Attestation + (*v1.Deposit)(nil), // 35: xatu.eth.v1.Deposit + (*v1.SignedVoluntaryExit)(nil), // 36: xatu.eth.v1.SignedVoluntaryExit + (*v1.SyncAggregate)(nil), // 37: xatu.eth.v1.SyncAggregate + (*v1.ExecutionPayload)(nil), // 38: xatu.eth.v1.ExecutionPayload + (*v1.ExecutionPayloadV2)(nil), // 39: xatu.eth.v1.ExecutionPayloadV2 + (*v1.ExecutionPayloadHeader)(nil), // 40: xatu.eth.v1.ExecutionPayloadHeader + (*v1.ExecutionPayloadHeaderV2)(nil), // 41: xatu.eth.v1.ExecutionPayloadHeaderV2 + (*v1.ExecutionPayloadCapella)(nil), // 42: xatu.eth.v1.ExecutionPayloadCapella + (*SignedBLSToExecutionChange)(nil), // 43: xatu.eth.v2.SignedBLSToExecutionChange + (*v1.ExecutionPayloadCapellaV2)(nil), // 44: xatu.eth.v1.ExecutionPayloadCapellaV2 + (*v1.ExecutionPayloadHeaderCapella)(nil), // 45: xatu.eth.v1.ExecutionPayloadHeaderCapella + (*v1.ExecutionPayloadHeaderCapellaV2)(nil), // 46: xatu.eth.v1.ExecutionPayloadHeaderCapellaV2 } var file_pkg_proto_eth_v2_beacon_block_proto_depIdxs = []int32{ - 5, // 0: xatu.eth.v2.SignedBeaconBlockBellatrix.message:type_name -> xatu.eth.v2.BeaconBlockBellatrix - 7, // 1: xatu.eth.v2.SignedBeaconBlockCapella.message:type_name -> xatu.eth.v2.BeaconBlockCapella - 6, // 2: xatu.eth.v2.SignedBlindedBeaconBlockBellatrix.message:type_name -> xatu.eth.v2.BlindedBeaconBlockBellatrix - 8, // 3: xatu.eth.v2.SignedBlindedBeaconBlockCapella.message:type_name -> xatu.eth.v2.BlindedBeaconBlockCapella - 9, // 4: xatu.eth.v2.SignedBeaconBlockAltair.message:type_name -> xatu.eth.v2.BeaconBlockAltair - 10, // 5: xatu.eth.v2.BeaconBlockBellatrix.body:type_name -> xatu.eth.v2.BeaconBlockBodyBellatrix - 15, // 6: xatu.eth.v2.BeaconBlockBellatrix.slot_v2:type_name -> google.protobuf.UInt64Value - 15, // 7: xatu.eth.v2.BeaconBlockBellatrix.proposer_index_v2:type_name -> google.protobuf.UInt64Value - 11, // 8: xatu.eth.v2.BlindedBeaconBlockBellatrix.body:type_name -> xatu.eth.v2.BlindedBeaconBlockBodyBellatrix - 15, // 9: xatu.eth.v2.BlindedBeaconBlockBellatrix.slot_v2:type_name -> google.protobuf.UInt64Value - 15, // 10: xatu.eth.v2.BlindedBeaconBlockBellatrix.proposer_index_v2:type_name -> google.protobuf.UInt64Value - 12, // 11: xatu.eth.v2.BeaconBlockCapella.body:type_name -> xatu.eth.v2.BeaconBlockBodyCapella - 15, // 12: xatu.eth.v2.BeaconBlockCapella.slot_v2:type_name -> google.protobuf.UInt64Value - 15, // 13: xatu.eth.v2.BeaconBlockCapella.proposer_index_v2:type_name -> google.protobuf.UInt64Value - 13, // 14: xatu.eth.v2.BlindedBeaconBlockCapella.body:type_name -> xatu.eth.v2.BlindedBeaconBlockBodyCapella - 15, // 15: xatu.eth.v2.BlindedBeaconBlockCapella.slot_v2:type_name -> google.protobuf.UInt64Value - 15, // 16: xatu.eth.v2.BlindedBeaconBlockCapella.proposer_index_v2:type_name -> google.protobuf.UInt64Value - 14, // 17: xatu.eth.v2.BeaconBlockAltair.body:type_name -> xatu.eth.v2.BeaconBlockBodyAltair - 15, // 18: xatu.eth.v2.BeaconBlockAltair.slot_v2:type_name -> google.protobuf.UInt64Value - 15, // 19: xatu.eth.v2.BeaconBlockAltair.proposer_index_v2:type_name -> google.protobuf.UInt64Value - 16, // 20: xatu.eth.v2.BeaconBlockBodyBellatrix.eth1_data:type_name -> xatu.eth.v1.Eth1Data - 17, // 21: xatu.eth.v2.BeaconBlockBodyBellatrix.proposer_slashings:type_name -> xatu.eth.v1.ProposerSlashing - 18, // 22: xatu.eth.v2.BeaconBlockBodyBellatrix.attester_slashings:type_name -> xatu.eth.v1.AttesterSlashing - 19, // 23: xatu.eth.v2.BeaconBlockBodyBellatrix.attestations:type_name -> xatu.eth.v1.Attestation - 20, // 24: xatu.eth.v2.BeaconBlockBodyBellatrix.deposits:type_name -> xatu.eth.v1.Deposit - 21, // 25: xatu.eth.v2.BeaconBlockBodyBellatrix.voluntary_exits:type_name -> xatu.eth.v1.SignedVoluntaryExit - 22, // 26: xatu.eth.v2.BeaconBlockBodyBellatrix.sync_aggregate:type_name -> xatu.eth.v1.SyncAggregate - 23, // 27: xatu.eth.v2.BeaconBlockBodyBellatrix.execution_payload:type_name -> xatu.eth.v1.ExecutionPayload - 16, // 28: xatu.eth.v2.BlindedBeaconBlockBodyBellatrix.eth1_data:type_name -> xatu.eth.v1.Eth1Data - 17, // 29: xatu.eth.v2.BlindedBeaconBlockBodyBellatrix.proposer_slashings:type_name -> xatu.eth.v1.ProposerSlashing - 18, // 30: xatu.eth.v2.BlindedBeaconBlockBodyBellatrix.attester_slashings:type_name -> xatu.eth.v1.AttesterSlashing - 19, // 31: xatu.eth.v2.BlindedBeaconBlockBodyBellatrix.attestations:type_name -> xatu.eth.v1.Attestation - 20, // 32: xatu.eth.v2.BlindedBeaconBlockBodyBellatrix.deposits:type_name -> xatu.eth.v1.Deposit - 21, // 33: xatu.eth.v2.BlindedBeaconBlockBodyBellatrix.voluntary_exits:type_name -> xatu.eth.v1.SignedVoluntaryExit - 22, // 34: xatu.eth.v2.BlindedBeaconBlockBodyBellatrix.sync_aggregate:type_name -> xatu.eth.v1.SyncAggregate - 24, // 35: xatu.eth.v2.BlindedBeaconBlockBodyBellatrix.execution_payload_header:type_name -> xatu.eth.v1.ExecutionPayloadHeader - 16, // 36: xatu.eth.v2.BeaconBlockBodyCapella.eth1_data:type_name -> xatu.eth.v1.Eth1Data - 17, // 37: xatu.eth.v2.BeaconBlockBodyCapella.proposer_slashings:type_name -> xatu.eth.v1.ProposerSlashing - 18, // 38: xatu.eth.v2.BeaconBlockBodyCapella.attester_slashings:type_name -> xatu.eth.v1.AttesterSlashing - 19, // 39: xatu.eth.v2.BeaconBlockBodyCapella.attestations:type_name -> xatu.eth.v1.Attestation - 20, // 40: xatu.eth.v2.BeaconBlockBodyCapella.deposits:type_name -> xatu.eth.v1.Deposit - 21, // 41: xatu.eth.v2.BeaconBlockBodyCapella.voluntary_exits:type_name -> xatu.eth.v1.SignedVoluntaryExit - 22, // 42: xatu.eth.v2.BeaconBlockBodyCapella.sync_aggregate:type_name -> xatu.eth.v1.SyncAggregate - 25, // 43: xatu.eth.v2.BeaconBlockBodyCapella.execution_payload:type_name -> xatu.eth.v1.ExecutionPayloadCapella - 26, // 44: xatu.eth.v2.BeaconBlockBodyCapella.bls_to_execution_changes:type_name -> xatu.eth.v2.SignedBLSToExecutionChange - 16, // 45: xatu.eth.v2.BlindedBeaconBlockBodyCapella.eth1_data:type_name -> xatu.eth.v1.Eth1Data - 17, // 46: xatu.eth.v2.BlindedBeaconBlockBodyCapella.proposer_slashings:type_name -> xatu.eth.v1.ProposerSlashing - 18, // 47: xatu.eth.v2.BlindedBeaconBlockBodyCapella.attester_slashings:type_name -> xatu.eth.v1.AttesterSlashing - 19, // 48: xatu.eth.v2.BlindedBeaconBlockBodyCapella.attestations:type_name -> xatu.eth.v1.Attestation - 20, // 49: xatu.eth.v2.BlindedBeaconBlockBodyCapella.deposits:type_name -> xatu.eth.v1.Deposit - 21, // 50: xatu.eth.v2.BlindedBeaconBlockBodyCapella.voluntary_exits:type_name -> xatu.eth.v1.SignedVoluntaryExit - 22, // 51: xatu.eth.v2.BlindedBeaconBlockBodyCapella.sync_aggregate:type_name -> xatu.eth.v1.SyncAggregate - 27, // 52: xatu.eth.v2.BlindedBeaconBlockBodyCapella.execution_payload_header:type_name -> xatu.eth.v1.ExecutionPayloadHeaderCapella - 26, // 53: xatu.eth.v2.BlindedBeaconBlockBodyCapella.bls_to_execution_changes:type_name -> xatu.eth.v2.SignedBLSToExecutionChange - 16, // 54: xatu.eth.v2.BeaconBlockBodyAltair.eth1_data:type_name -> xatu.eth.v1.Eth1Data - 17, // 55: xatu.eth.v2.BeaconBlockBodyAltair.proposer_slashings:type_name -> xatu.eth.v1.ProposerSlashing - 18, // 56: xatu.eth.v2.BeaconBlockBodyAltair.attester_slashings:type_name -> xatu.eth.v1.AttesterSlashing - 19, // 57: xatu.eth.v2.BeaconBlockBodyAltair.attestations:type_name -> xatu.eth.v1.Attestation - 20, // 58: xatu.eth.v2.BeaconBlockBodyAltair.deposits:type_name -> xatu.eth.v1.Deposit - 21, // 59: xatu.eth.v2.BeaconBlockBodyAltair.voluntary_exits:type_name -> xatu.eth.v1.SignedVoluntaryExit - 22, // 60: xatu.eth.v2.BeaconBlockBodyAltair.sync_aggregate:type_name -> xatu.eth.v1.SyncAggregate - 61, // [61:61] is the sub-list for method output_type - 61, // [61:61] is the sub-list for method input_type - 61, // [61:61] is the sub-list for extension type_name - 61, // [61:61] is the sub-list for extension extendee - 0, // [0:61] is the sub-list for field type_name + 10, // 0: xatu.eth.v2.SignedBeaconBlockBellatrix.message:type_name -> xatu.eth.v2.BeaconBlockBellatrix + 11, // 1: xatu.eth.v2.SignedBeaconBlockBellatrixV2.message:type_name -> xatu.eth.v2.BeaconBlockBellatrixV2 + 14, // 2: xatu.eth.v2.SignedBeaconBlockCapella.message:type_name -> xatu.eth.v2.BeaconBlockCapella + 15, // 3: xatu.eth.v2.SignedBeaconBlockCapellaV2.message:type_name -> xatu.eth.v2.BeaconBlockCapellaV2 + 12, // 4: xatu.eth.v2.SignedBlindedBeaconBlockBellatrix.message:type_name -> xatu.eth.v2.BlindedBeaconBlockBellatrix + 13, // 5: xatu.eth.v2.SignedBlindedBeaconBlockBellatrixV2.message:type_name -> xatu.eth.v2.BlindedBeaconBlockBellatrixV2 + 16, // 6: xatu.eth.v2.SignedBlindedBeaconBlockCapella.message:type_name -> xatu.eth.v2.BlindedBeaconBlockCapella + 17, // 7: xatu.eth.v2.SignedBlindedBeaconBlockCapellaV2.message:type_name -> xatu.eth.v2.BlindedBeaconBlockCapellaV2 + 18, // 8: xatu.eth.v2.SignedBeaconBlockAltair.message:type_name -> xatu.eth.v2.BeaconBlockAltair + 19, // 9: xatu.eth.v2.SignedBeaconBlockAltairV2.message:type_name -> xatu.eth.v2.BeaconBlockAltairV2 + 20, // 10: xatu.eth.v2.BeaconBlockBellatrix.body:type_name -> xatu.eth.v2.BeaconBlockBodyBellatrix + 30, // 11: xatu.eth.v2.BeaconBlockBellatrixV2.slot:type_name -> google.protobuf.UInt64Value + 30, // 12: xatu.eth.v2.BeaconBlockBellatrixV2.proposer_index:type_name -> google.protobuf.UInt64Value + 21, // 13: xatu.eth.v2.BeaconBlockBellatrixV2.body:type_name -> xatu.eth.v2.BeaconBlockBodyBellatrixV2 + 22, // 14: xatu.eth.v2.BlindedBeaconBlockBellatrix.body:type_name -> xatu.eth.v2.BlindedBeaconBlockBodyBellatrix + 30, // 15: xatu.eth.v2.BlindedBeaconBlockBellatrixV2.slot:type_name -> google.protobuf.UInt64Value + 30, // 16: xatu.eth.v2.BlindedBeaconBlockBellatrixV2.proposer_index:type_name -> google.protobuf.UInt64Value + 23, // 17: xatu.eth.v2.BlindedBeaconBlockBellatrixV2.body:type_name -> xatu.eth.v2.BlindedBeaconBlockBodyBellatrixV2 + 24, // 18: xatu.eth.v2.BeaconBlockCapella.body:type_name -> xatu.eth.v2.BeaconBlockBodyCapella + 30, // 19: xatu.eth.v2.BeaconBlockCapellaV2.slot:type_name -> google.protobuf.UInt64Value + 30, // 20: xatu.eth.v2.BeaconBlockCapellaV2.proposer_index:type_name -> google.protobuf.UInt64Value + 25, // 21: xatu.eth.v2.BeaconBlockCapellaV2.body:type_name -> xatu.eth.v2.BeaconBlockBodyCapellaV2 + 26, // 22: xatu.eth.v2.BlindedBeaconBlockCapella.body:type_name -> xatu.eth.v2.BlindedBeaconBlockBodyCapella + 30, // 23: xatu.eth.v2.BlindedBeaconBlockCapellaV2.slot:type_name -> google.protobuf.UInt64Value + 30, // 24: xatu.eth.v2.BlindedBeaconBlockCapellaV2.proposer_index:type_name -> google.protobuf.UInt64Value + 27, // 25: xatu.eth.v2.BlindedBeaconBlockCapellaV2.body:type_name -> xatu.eth.v2.BlindedBeaconBlockBodyCapellaV2 + 28, // 26: xatu.eth.v2.BeaconBlockAltair.body:type_name -> xatu.eth.v2.BeaconBlockBodyAltair + 30, // 27: xatu.eth.v2.BeaconBlockAltairV2.slot:type_name -> google.protobuf.UInt64Value + 30, // 28: xatu.eth.v2.BeaconBlockAltairV2.proposer_index:type_name -> google.protobuf.UInt64Value + 29, // 29: xatu.eth.v2.BeaconBlockAltairV2.body:type_name -> xatu.eth.v2.BeaconBlockBodyAltairV2 + 31, // 30: xatu.eth.v2.BeaconBlockBodyBellatrix.eth1_data:type_name -> xatu.eth.v1.Eth1Data + 32, // 31: xatu.eth.v2.BeaconBlockBodyBellatrix.proposer_slashings:type_name -> xatu.eth.v1.ProposerSlashing + 33, // 32: xatu.eth.v2.BeaconBlockBodyBellatrix.attester_slashings:type_name -> xatu.eth.v1.AttesterSlashing + 34, // 33: xatu.eth.v2.BeaconBlockBodyBellatrix.attestations:type_name -> xatu.eth.v1.Attestation + 35, // 34: xatu.eth.v2.BeaconBlockBodyBellatrix.deposits:type_name -> xatu.eth.v1.Deposit + 36, // 35: xatu.eth.v2.BeaconBlockBodyBellatrix.voluntary_exits:type_name -> xatu.eth.v1.SignedVoluntaryExit + 37, // 36: xatu.eth.v2.BeaconBlockBodyBellatrix.sync_aggregate:type_name -> xatu.eth.v1.SyncAggregate + 38, // 37: xatu.eth.v2.BeaconBlockBodyBellatrix.execution_payload:type_name -> xatu.eth.v1.ExecutionPayload + 31, // 38: xatu.eth.v2.BeaconBlockBodyBellatrixV2.eth1_data:type_name -> xatu.eth.v1.Eth1Data + 32, // 39: xatu.eth.v2.BeaconBlockBodyBellatrixV2.proposer_slashings:type_name -> xatu.eth.v1.ProposerSlashing + 33, // 40: xatu.eth.v2.BeaconBlockBodyBellatrixV2.attester_slashings:type_name -> xatu.eth.v1.AttesterSlashing + 34, // 41: xatu.eth.v2.BeaconBlockBodyBellatrixV2.attestations:type_name -> xatu.eth.v1.Attestation + 35, // 42: xatu.eth.v2.BeaconBlockBodyBellatrixV2.deposits:type_name -> xatu.eth.v1.Deposit + 36, // 43: xatu.eth.v2.BeaconBlockBodyBellatrixV2.voluntary_exits:type_name -> xatu.eth.v1.SignedVoluntaryExit + 37, // 44: xatu.eth.v2.BeaconBlockBodyBellatrixV2.sync_aggregate:type_name -> xatu.eth.v1.SyncAggregate + 39, // 45: xatu.eth.v2.BeaconBlockBodyBellatrixV2.execution_payload:type_name -> xatu.eth.v1.ExecutionPayloadV2 + 31, // 46: xatu.eth.v2.BlindedBeaconBlockBodyBellatrix.eth1_data:type_name -> xatu.eth.v1.Eth1Data + 32, // 47: xatu.eth.v2.BlindedBeaconBlockBodyBellatrix.proposer_slashings:type_name -> xatu.eth.v1.ProposerSlashing + 33, // 48: xatu.eth.v2.BlindedBeaconBlockBodyBellatrix.attester_slashings:type_name -> xatu.eth.v1.AttesterSlashing + 34, // 49: xatu.eth.v2.BlindedBeaconBlockBodyBellatrix.attestations:type_name -> xatu.eth.v1.Attestation + 35, // 50: xatu.eth.v2.BlindedBeaconBlockBodyBellatrix.deposits:type_name -> xatu.eth.v1.Deposit + 36, // 51: xatu.eth.v2.BlindedBeaconBlockBodyBellatrix.voluntary_exits:type_name -> xatu.eth.v1.SignedVoluntaryExit + 37, // 52: xatu.eth.v2.BlindedBeaconBlockBodyBellatrix.sync_aggregate:type_name -> xatu.eth.v1.SyncAggregate + 40, // 53: xatu.eth.v2.BlindedBeaconBlockBodyBellatrix.execution_payload_header:type_name -> xatu.eth.v1.ExecutionPayloadHeader + 31, // 54: xatu.eth.v2.BlindedBeaconBlockBodyBellatrixV2.eth1_data:type_name -> xatu.eth.v1.Eth1Data + 32, // 55: xatu.eth.v2.BlindedBeaconBlockBodyBellatrixV2.proposer_slashings:type_name -> xatu.eth.v1.ProposerSlashing + 33, // 56: xatu.eth.v2.BlindedBeaconBlockBodyBellatrixV2.attester_slashings:type_name -> xatu.eth.v1.AttesterSlashing + 34, // 57: xatu.eth.v2.BlindedBeaconBlockBodyBellatrixV2.attestations:type_name -> xatu.eth.v1.Attestation + 35, // 58: xatu.eth.v2.BlindedBeaconBlockBodyBellatrixV2.deposits:type_name -> xatu.eth.v1.Deposit + 36, // 59: xatu.eth.v2.BlindedBeaconBlockBodyBellatrixV2.voluntary_exits:type_name -> xatu.eth.v1.SignedVoluntaryExit + 37, // 60: xatu.eth.v2.BlindedBeaconBlockBodyBellatrixV2.sync_aggregate:type_name -> xatu.eth.v1.SyncAggregate + 41, // 61: xatu.eth.v2.BlindedBeaconBlockBodyBellatrixV2.execution_payload_header:type_name -> xatu.eth.v1.ExecutionPayloadHeaderV2 + 31, // 62: xatu.eth.v2.BeaconBlockBodyCapella.eth1_data:type_name -> xatu.eth.v1.Eth1Data + 32, // 63: xatu.eth.v2.BeaconBlockBodyCapella.proposer_slashings:type_name -> xatu.eth.v1.ProposerSlashing + 33, // 64: xatu.eth.v2.BeaconBlockBodyCapella.attester_slashings:type_name -> xatu.eth.v1.AttesterSlashing + 34, // 65: xatu.eth.v2.BeaconBlockBodyCapella.attestations:type_name -> xatu.eth.v1.Attestation + 35, // 66: xatu.eth.v2.BeaconBlockBodyCapella.deposits:type_name -> xatu.eth.v1.Deposit + 36, // 67: xatu.eth.v2.BeaconBlockBodyCapella.voluntary_exits:type_name -> xatu.eth.v1.SignedVoluntaryExit + 37, // 68: xatu.eth.v2.BeaconBlockBodyCapella.sync_aggregate:type_name -> xatu.eth.v1.SyncAggregate + 42, // 69: xatu.eth.v2.BeaconBlockBodyCapella.execution_payload:type_name -> xatu.eth.v1.ExecutionPayloadCapella + 43, // 70: xatu.eth.v2.BeaconBlockBodyCapella.bls_to_execution_changes:type_name -> xatu.eth.v2.SignedBLSToExecutionChange + 31, // 71: xatu.eth.v2.BeaconBlockBodyCapellaV2.eth1_data:type_name -> xatu.eth.v1.Eth1Data + 32, // 72: xatu.eth.v2.BeaconBlockBodyCapellaV2.proposer_slashings:type_name -> xatu.eth.v1.ProposerSlashing + 33, // 73: xatu.eth.v2.BeaconBlockBodyCapellaV2.attester_slashings:type_name -> xatu.eth.v1.AttesterSlashing + 34, // 74: xatu.eth.v2.BeaconBlockBodyCapellaV2.attestations:type_name -> xatu.eth.v1.Attestation + 35, // 75: xatu.eth.v2.BeaconBlockBodyCapellaV2.deposits:type_name -> xatu.eth.v1.Deposit + 36, // 76: xatu.eth.v2.BeaconBlockBodyCapellaV2.voluntary_exits:type_name -> xatu.eth.v1.SignedVoluntaryExit + 37, // 77: xatu.eth.v2.BeaconBlockBodyCapellaV2.sync_aggregate:type_name -> xatu.eth.v1.SyncAggregate + 44, // 78: xatu.eth.v2.BeaconBlockBodyCapellaV2.execution_payload:type_name -> xatu.eth.v1.ExecutionPayloadCapellaV2 + 43, // 79: xatu.eth.v2.BeaconBlockBodyCapellaV2.bls_to_execution_changes:type_name -> xatu.eth.v2.SignedBLSToExecutionChange + 31, // 80: xatu.eth.v2.BlindedBeaconBlockBodyCapella.eth1_data:type_name -> xatu.eth.v1.Eth1Data + 32, // 81: xatu.eth.v2.BlindedBeaconBlockBodyCapella.proposer_slashings:type_name -> xatu.eth.v1.ProposerSlashing + 33, // 82: xatu.eth.v2.BlindedBeaconBlockBodyCapella.attester_slashings:type_name -> xatu.eth.v1.AttesterSlashing + 34, // 83: xatu.eth.v2.BlindedBeaconBlockBodyCapella.attestations:type_name -> xatu.eth.v1.Attestation + 35, // 84: xatu.eth.v2.BlindedBeaconBlockBodyCapella.deposits:type_name -> xatu.eth.v1.Deposit + 36, // 85: xatu.eth.v2.BlindedBeaconBlockBodyCapella.voluntary_exits:type_name -> xatu.eth.v1.SignedVoluntaryExit + 37, // 86: xatu.eth.v2.BlindedBeaconBlockBodyCapella.sync_aggregate:type_name -> xatu.eth.v1.SyncAggregate + 45, // 87: xatu.eth.v2.BlindedBeaconBlockBodyCapella.execution_payload_header:type_name -> xatu.eth.v1.ExecutionPayloadHeaderCapella + 43, // 88: xatu.eth.v2.BlindedBeaconBlockBodyCapella.bls_to_execution_changes:type_name -> xatu.eth.v2.SignedBLSToExecutionChange + 31, // 89: xatu.eth.v2.BlindedBeaconBlockBodyCapellaV2.eth1_data:type_name -> xatu.eth.v1.Eth1Data + 32, // 90: xatu.eth.v2.BlindedBeaconBlockBodyCapellaV2.proposer_slashings:type_name -> xatu.eth.v1.ProposerSlashing + 33, // 91: xatu.eth.v2.BlindedBeaconBlockBodyCapellaV2.attester_slashings:type_name -> xatu.eth.v1.AttesterSlashing + 34, // 92: xatu.eth.v2.BlindedBeaconBlockBodyCapellaV2.attestations:type_name -> xatu.eth.v1.Attestation + 35, // 93: xatu.eth.v2.BlindedBeaconBlockBodyCapellaV2.deposits:type_name -> xatu.eth.v1.Deposit + 36, // 94: xatu.eth.v2.BlindedBeaconBlockBodyCapellaV2.voluntary_exits:type_name -> xatu.eth.v1.SignedVoluntaryExit + 37, // 95: xatu.eth.v2.BlindedBeaconBlockBodyCapellaV2.sync_aggregate:type_name -> xatu.eth.v1.SyncAggregate + 46, // 96: xatu.eth.v2.BlindedBeaconBlockBodyCapellaV2.execution_payload_header:type_name -> xatu.eth.v1.ExecutionPayloadHeaderCapellaV2 + 43, // 97: xatu.eth.v2.BlindedBeaconBlockBodyCapellaV2.bls_to_execution_changes:type_name -> xatu.eth.v2.SignedBLSToExecutionChange + 31, // 98: xatu.eth.v2.BeaconBlockBodyAltair.eth1_data:type_name -> xatu.eth.v1.Eth1Data + 32, // 99: xatu.eth.v2.BeaconBlockBodyAltair.proposer_slashings:type_name -> xatu.eth.v1.ProposerSlashing + 33, // 100: xatu.eth.v2.BeaconBlockBodyAltair.attester_slashings:type_name -> xatu.eth.v1.AttesterSlashing + 34, // 101: xatu.eth.v2.BeaconBlockBodyAltair.attestations:type_name -> xatu.eth.v1.Attestation + 35, // 102: xatu.eth.v2.BeaconBlockBodyAltair.deposits:type_name -> xatu.eth.v1.Deposit + 36, // 103: xatu.eth.v2.BeaconBlockBodyAltair.voluntary_exits:type_name -> xatu.eth.v1.SignedVoluntaryExit + 37, // 104: xatu.eth.v2.BeaconBlockBodyAltair.sync_aggregate:type_name -> xatu.eth.v1.SyncAggregate + 31, // 105: xatu.eth.v2.BeaconBlockBodyAltairV2.eth1_data:type_name -> xatu.eth.v1.Eth1Data + 32, // 106: xatu.eth.v2.BeaconBlockBodyAltairV2.proposer_slashings:type_name -> xatu.eth.v1.ProposerSlashing + 33, // 107: xatu.eth.v2.BeaconBlockBodyAltairV2.attester_slashings:type_name -> xatu.eth.v1.AttesterSlashing + 34, // 108: xatu.eth.v2.BeaconBlockBodyAltairV2.attestations:type_name -> xatu.eth.v1.Attestation + 35, // 109: xatu.eth.v2.BeaconBlockBodyAltairV2.deposits:type_name -> xatu.eth.v1.Deposit + 36, // 110: xatu.eth.v2.BeaconBlockBodyAltairV2.voluntary_exits:type_name -> xatu.eth.v1.SignedVoluntaryExit + 37, // 111: xatu.eth.v2.BeaconBlockBodyAltairV2.sync_aggregate:type_name -> xatu.eth.v1.SyncAggregate + 112, // [112:112] is the sub-list for method output_type + 112, // [112:112] is the sub-list for method input_type + 112, // [112:112] is the sub-list for extension type_name + 112, // [112:112] is the sub-list for extension extendee + 0, // [0:112] is the sub-list for field type_name } func init() { file_pkg_proto_eth_v2_beacon_block_proto_init() } @@ -1918,7 +3457,7 @@ func file_pkg_proto_eth_v2_beacon_block_proto_init() { } } file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SignedBeaconBlockCapella); i { + switch v := v.(*SignedBeaconBlockBellatrixV2); i { case 0: return &v.state case 1: @@ -1930,7 +3469,7 @@ func file_pkg_proto_eth_v2_beacon_block_proto_init() { } } file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SignedBlindedBeaconBlockBellatrix); i { + switch v := v.(*SignedBeaconBlockCapella); i { case 0: return &v.state case 1: @@ -1942,7 +3481,7 @@ func file_pkg_proto_eth_v2_beacon_block_proto_init() { } } file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SignedBlindedBeaconBlockCapella); i { + switch v := v.(*SignedBeaconBlockCapellaV2); i { case 0: return &v.state case 1: @@ -1954,7 +3493,7 @@ func file_pkg_proto_eth_v2_beacon_block_proto_init() { } } file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SignedBeaconBlockAltair); i { + switch v := v.(*SignedBlindedBeaconBlockBellatrix); i { case 0: return &v.state case 1: @@ -1966,7 +3505,7 @@ func file_pkg_proto_eth_v2_beacon_block_proto_init() { } } file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BeaconBlockBellatrix); i { + switch v := v.(*SignedBlindedBeaconBlockBellatrixV2); i { case 0: return &v.state case 1: @@ -1978,7 +3517,7 @@ func file_pkg_proto_eth_v2_beacon_block_proto_init() { } } file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BlindedBeaconBlockBellatrix); i { + switch v := v.(*SignedBlindedBeaconBlockCapella); i { case 0: return &v.state case 1: @@ -1990,7 +3529,7 @@ func file_pkg_proto_eth_v2_beacon_block_proto_init() { } } file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BeaconBlockCapella); i { + switch v := v.(*SignedBlindedBeaconBlockCapellaV2); i { case 0: return &v.state case 1: @@ -2002,7 +3541,7 @@ func file_pkg_proto_eth_v2_beacon_block_proto_init() { } } file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BlindedBeaconBlockCapella); i { + switch v := v.(*SignedBeaconBlockAltair); i { case 0: return &v.state case 1: @@ -2014,7 +3553,7 @@ func file_pkg_proto_eth_v2_beacon_block_proto_init() { } } file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BeaconBlockAltair); i { + switch v := v.(*SignedBeaconBlockAltairV2); i { case 0: return &v.state case 1: @@ -2026,7 +3565,7 @@ func file_pkg_proto_eth_v2_beacon_block_proto_init() { } } file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BeaconBlockBodyBellatrix); i { + switch v := v.(*BeaconBlockBellatrix); i { case 0: return &v.state case 1: @@ -2038,7 +3577,7 @@ func file_pkg_proto_eth_v2_beacon_block_proto_init() { } } file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BlindedBeaconBlockBodyBellatrix); i { + switch v := v.(*BeaconBlockBellatrixV2); i { case 0: return &v.state case 1: @@ -2050,7 +3589,7 @@ func file_pkg_proto_eth_v2_beacon_block_proto_init() { } } file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BeaconBlockBodyCapella); i { + switch v := v.(*BlindedBeaconBlockBellatrix); i { case 0: return &v.state case 1: @@ -2062,7 +3601,7 @@ func file_pkg_proto_eth_v2_beacon_block_proto_init() { } } file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BlindedBeaconBlockBodyCapella); i { + switch v := v.(*BlindedBeaconBlockBellatrixV2); i { case 0: return &v.state case 1: @@ -2074,6 +3613,174 @@ func file_pkg_proto_eth_v2_beacon_block_proto_init() { } } file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BeaconBlockCapella); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BeaconBlockCapellaV2); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BlindedBeaconBlockCapella); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BlindedBeaconBlockCapellaV2); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BeaconBlockAltair); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BeaconBlockAltairV2); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BeaconBlockBodyBellatrix); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BeaconBlockBodyBellatrixV2); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BlindedBeaconBlockBodyBellatrix); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BlindedBeaconBlockBodyBellatrixV2); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BeaconBlockBodyCapella); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BeaconBlockBodyCapellaV2); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BlindedBeaconBlockBodyCapella); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BlindedBeaconBlockBodyCapellaV2); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BeaconBlockBodyAltair); i { case 0: return &v.state @@ -2085,6 +3792,18 @@ func file_pkg_proto_eth_v2_beacon_block_proto_init() { return nil } } + file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BeaconBlockBodyAltairV2); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } type x struct{} out := protoimpl.TypeBuilder{ @@ -2092,7 +3811,7 @@ func file_pkg_proto_eth_v2_beacon_block_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_pkg_proto_eth_v2_beacon_block_proto_rawDesc, NumEnums: 0, - NumMessages: 15, + NumMessages: 30, NumExtensions: 0, NumServices: 0, }, diff --git a/pkg/proto/eth/v2/beacon_block.proto b/pkg/proto/eth/v2/beacon_block.proto index 164c267b..2876d2e7 100644 --- a/pkg/proto/eth/v2/beacon_block.proto +++ b/pkg/proto/eth/v2/beacon_block.proto @@ -20,108 +20,183 @@ message SignedBeaconBlockBellatrix { string signature = 2; } +message SignedBeaconBlockBellatrixV2 { + BeaconBlockBellatrixV2 message = 1; + + string signature = 2; +} + message SignedBeaconBlockCapella { BeaconBlockCapella message = 1; string signature = 2; } +message SignedBeaconBlockCapellaV2 { + BeaconBlockCapellaV2 message = 1; + + string signature = 2; +} + message SignedBlindedBeaconBlockBellatrix { BlindedBeaconBlockBellatrix message = 1; string signature = 2; } +message SignedBlindedBeaconBlockBellatrixV2 { + BlindedBeaconBlockBellatrixV2 message = 1; + + string signature = 2; +} + message SignedBlindedBeaconBlockCapella { BlindedBeaconBlockCapella message = 1; string signature = 2; } +message SignedBlindedBeaconBlockCapellaV2 { + BlindedBeaconBlockCapellaV2 message = 1; + + string signature = 2; +} + message SignedBeaconBlockAltair { BeaconBlockAltair message = 1; string signature = 2; } +message SignedBeaconBlockAltairV2 { + BeaconBlockAltairV2 message = 1; + + string signature = 2; +} + message BeaconBlockBellatrix { - uint64 slot = 1 [ deprecated = true ]; + uint64 slot = 1; - uint64 proposer_index = 2 [ json_name = "proposer_index", deprecated = true ]; + uint64 proposer_index = 2 [ json_name = "proposer_index" ]; string parent_root = 3 [ json_name = "parent_root" ]; string state_root = 4 [ json_name = "state_root" ]; BeaconBlockBodyBellatrix body = 5; +} + +message BeaconBlockBellatrixV2 { + google.protobuf.UInt64Value slot = 1 [ json_name = "slot" ]; - google.protobuf.UInt64Value slot_v2 = 6 [ json_name = "slot_v2" ]; + google.protobuf.UInt64Value proposer_index = 2 + [ json_name = "proposer_index" ]; - google.protobuf.UInt64Value proposer_index_v2 = 7 [ json_name = "proposer_index_v2" ]; + string parent_root = 3 [ json_name = "parent_root" ]; + + string state_root = 4 [ json_name = "state_root" ]; + + BeaconBlockBodyBellatrixV2 body = 5; } message BlindedBeaconBlockBellatrix { - uint64 slot = 1 [ deprecated = true ]; + uint64 slot = 1; - uint64 proposer_index = 2 [ json_name = "proposer_index", deprecated = true ]; + uint64 proposer_index = 2 [ json_name = "proposer_index" ]; string parent_root = 3 [ json_name = "parent_root" ]; string state_root = 4 [ json_name = "state_root" ]; BlindedBeaconBlockBodyBellatrix body = 5; +} + +message BlindedBeaconBlockBellatrixV2 { + google.protobuf.UInt64Value slot = 1 [ json_name = "slot" ]; - google.protobuf.UInt64Value slot_v2 = 6 [ json_name = "slot_v2" ]; + google.protobuf.UInt64Value proposer_index = 2 + [ json_name = "proposer_index" ]; - google.protobuf.UInt64Value proposer_index_v2 = 7 [ json_name = "proposer_index_v2" ]; + string parent_root = 3 [ json_name = "parent_root" ]; + + string state_root = 4 [ json_name = "state_root" ]; + + BlindedBeaconBlockBodyBellatrixV2 body = 5; } message BeaconBlockCapella { - uint64 slot = 1 [ deprecated = true ]; + uint64 slot = 1; - uint64 proposer_index = 2 [ json_name = "proposer_index", deprecated = true ]; + uint64 proposer_index = 2 [ json_name = "proposer_index" ]; string parent_root = 3 [ json_name = "parent_root" ]; string state_root = 4 [ json_name = "state_root" ]; BeaconBlockBodyCapella body = 5; +} - google.protobuf.UInt64Value slot_v2 = 6 [ json_name = "slot_v2" ]; +message BeaconBlockCapellaV2 { + google.protobuf.UInt64Value slot = 1 [ json_name = "slot" ]; - google.protobuf.UInt64Value proposer_index_v2 = 7 [ json_name = "proposer_index_v2" ]; + google.protobuf.UInt64Value proposer_index = 2 + [ json_name = "proposer_index" ]; + + string parent_root = 3 [ json_name = "parent_root" ]; + + string state_root = 4 [ json_name = "state_root" ]; + + BeaconBlockBodyCapellaV2 body = 5; } message BlindedBeaconBlockCapella { - uint64 slot = 1 [ deprecated = true ]; + uint64 slot = 1; - uint64 proposer_index = 2 [ json_name = "proposer_index", deprecated = true ]; + uint64 proposer_index = 2 [ json_name = "proposer_index" ]; string parent_root = 3 [ json_name = "parent_root" ]; string state_root = 4 [ json_name = "state_root" ]; BlindedBeaconBlockBodyCapella body = 5; +} - google.protobuf.UInt64Value slot_v2 = 6 [ json_name = "slot_v2" ]; +message BlindedBeaconBlockCapellaV2 { + google.protobuf.UInt64Value slot = 1 [ json_name = "slot" ]; + + google.protobuf.UInt64Value proposer_index = 2 + [ json_name = "proposer_index" ]; + + string parent_root = 3 [ json_name = "parent_root" ]; + + string state_root = 4 [ json_name = "state_root" ]; - google.protobuf.UInt64Value proposer_index_v2 = 7 [ json_name = "proposer_index_v2" ]; + BlindedBeaconBlockBodyCapellaV2 body = 5; } message BeaconBlockAltair { - uint64 slot = 1 [ deprecated = true ]; + uint64 slot = 1; - uint64 proposer_index = 2 [ json_name = "proposer_index", deprecated = true ]; + uint64 proposer_index = 2 [ json_name = "proposer_index" ]; string parent_root = 3 [ json_name = "parent_root" ]; string state_root = 4 [ json_name = "state_root" ]; BeaconBlockBodyAltair body = 5; +} + +message BeaconBlockAltairV2 { + google.protobuf.UInt64Value slot = 1 [ json_name = "slot" ]; + + google.protobuf.UInt64Value proposer_index = 2 + [ json_name = "proposer_index" ]; - google.protobuf.UInt64Value slot_v2 = 6 [ json_name = "slot_v2" ]; + string parent_root = 3 [ json_name = "parent_root" ]; + + string state_root = 4 [ json_name = "state_root" ]; - google.protobuf.UInt64Value proposer_index_v2 = 7 [ json_name = "proposer_index_v2" ]; + BeaconBlockBodyAltairV2 body = 5; } message BeaconBlockBodyBellatrix { @@ -150,6 +225,32 @@ message BeaconBlockBodyBellatrix { [ json_name = "execution_payload" ]; } +message BeaconBlockBodyBellatrixV2 { + string randao_reveal = 1 [ json_name = "randao_reveal" ]; + + v1.Eth1Data eth1_data = 2 [ json_name = "eth1_data" ]; + + string graffiti = 3; + + repeated v1.ProposerSlashing proposer_slashings = 4 + [ json_name = "proposer_slashings" ]; + + repeated v1.AttesterSlashing attester_slashings = 5 + [ json_name = "attester_slashings" ]; + + repeated v1.Attestation attestations = 6; + + repeated v1.Deposit deposits = 7; + + repeated v1.SignedVoluntaryExit voluntary_exits = 8 + [ json_name = "voluntary_exits" ]; + + v1.SyncAggregate sync_aggregate = 9 [ json_name = "sync_aggregate" ]; + + v1.ExecutionPayloadV2 execution_payload = 10 + [ json_name = "execution_payload" ]; +} + message BlindedBeaconBlockBodyBellatrix { string randao_reveal = 1 [ json_name = "randao_reveal" ]; @@ -176,6 +277,32 @@ message BlindedBeaconBlockBodyBellatrix { [ json_name = "execution_payload_header" ]; } +message BlindedBeaconBlockBodyBellatrixV2 { + string randao_reveal = 1 [ json_name = "randao_reveal" ]; + + v1.Eth1Data eth1_data = 2 [ json_name = "eth1_data" ]; + + string graffiti = 3; + + repeated v1.ProposerSlashing proposer_slashings = 4 + [ json_name = "proposer_slashings" ]; + + repeated v1.AttesterSlashing attester_slashings = 5 + [ json_name = "attester_slashings" ]; + + repeated v1.Attestation attestations = 6; + + repeated v1.Deposit deposits = 7; + + repeated v1.SignedVoluntaryExit voluntary_exits = 8 + [ json_name = "voluntary_exits" ]; + + v1.SyncAggregate sync_aggregate = 9 [ json_name = "sync_aggregate" ]; + + v1.ExecutionPayloadHeaderV2 execution_payload_header = 10 + [ json_name = "execution_payload_header" ]; +} + message BeaconBlockBodyCapella { string randao_reveal = 1 [ json_name = "randao_reveal" ]; @@ -205,6 +332,35 @@ message BeaconBlockBodyCapella { [ json_name = "bls_to_execution_changes" ]; } +message BeaconBlockBodyCapellaV2 { + string randao_reveal = 1 [ json_name = "randao_reveal" ]; + + v1.Eth1Data eth1_data = 2 [ json_name = "eth1_data" ]; + + string graffiti = 3; + + repeated v1.ProposerSlashing proposer_slashings = 4 + [ json_name = "proposer_slashings" ]; + + repeated v1.AttesterSlashing attester_slashings = 5 + [ json_name = "attester_slashings" ]; + + repeated v1.Attestation attestations = 6; + + repeated v1.Deposit deposits = 7; + + repeated v1.SignedVoluntaryExit voluntary_exits = 8 + [ json_name = "voluntary_exits" ]; + + v1.SyncAggregate sync_aggregate = 9 [ json_name = "sync_aggregate" ]; + + v1.ExecutionPayloadCapellaV2 execution_payload = 10 + [ json_name = "execution_payload" ]; + + repeated SignedBLSToExecutionChange bls_to_execution_changes = 11 + [ json_name = "bls_to_execution_changes" ]; +} + message BlindedBeaconBlockBodyCapella { string randao_reveal = 1 [ json_name = "randao_reveal" ]; @@ -234,6 +390,35 @@ message BlindedBeaconBlockBodyCapella { [ json_name = "bls_to_execution_changes" ]; } +message BlindedBeaconBlockBodyCapellaV2 { + string randao_reveal = 1 [ json_name = "randao_reveal" ]; + + v1.Eth1Data eth1_data = 2 [ json_name = "eth1_data" ]; + + string graffiti = 3; + + repeated v1.ProposerSlashing proposer_slashings = 4 + [ json_name = "proposer_slashings" ]; + + repeated v1.AttesterSlashing attester_slashings = 5 + [ json_name = "attester_slashings" ]; + + repeated v1.Attestation attestations = 6; + + repeated v1.Deposit deposits = 7; + + repeated v1.SignedVoluntaryExit voluntary_exits = 8 + [ json_name = "voluntary_exits" ]; + + v1.SyncAggregate sync_aggregate = 9 [ json_name = "sync_aggregate" ]; + + v1.ExecutionPayloadHeaderCapellaV2 execution_payload_header = 10 + [ json_name = "execution_payload_header" ]; + + repeated SignedBLSToExecutionChange bls_to_execution_changes = 11 + [ json_name = "bls_to_execution_changes" ]; +} + message BeaconBlockBodyAltair { string randao_reveal = 1 [ json_name = "randao_reveal" ]; @@ -257,3 +442,27 @@ message BeaconBlockBodyAltair { v1.SyncAggregate sync_aggregate = 9 [ json_name = "sync_aggregate" ]; } + +message BeaconBlockBodyAltairV2 { + string randao_reveal = 1 [ json_name = "randao_reveal" ]; + + v1.Eth1Data eth1_data = 2 [ json_name = "eth1_data" ]; + + string graffiti = 3; + + repeated v1.ProposerSlashing proposer_slashings = 4 + [ json_name = "proposer_slashings" ]; + + // At most MAX_ATTESTER_SLASHINGS. + repeated v1.AttesterSlashing attester_slashings = 5 + [ json_name = "attester_slashings" ]; + + repeated v1.Attestation attestations = 6; + + repeated v1.Deposit deposits = 7; + + repeated v1.SignedVoluntaryExit voluntary_exits = 8 + [ json_name = "voluntary_exits" ]; + + v1.SyncAggregate sync_aggregate = 9 [ json_name = "sync_aggregate" ]; +} diff --git a/pkg/proto/eth/v2/events.pb.go b/pkg/proto/eth/v2/events.pb.go index 21c4529f..c791b553 100644 --- a/pkg/proto/eth/v2/events.pb.go +++ b/pkg/proto/eth/v2/events.pb.go @@ -202,6 +202,131 @@ func (*EventBlock_BellatrixBlock) isEventBlock_Message() {} func (*EventBlock_CapellaBlock) isEventBlock_Message() {} +type EventBlockV2 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to Message: + // + // *EventBlockV2_Phase0Block + // *EventBlockV2_AltairBlock + // *EventBlockV2_BellatrixBlock + // *EventBlockV2_CapellaBlock + Message isEventBlockV2_Message `protobuf_oneof:"message"` + Signature string `protobuf:"bytes,5,opt,name=signature,proto3" json:"signature,omitempty"` + Version BlockVersion `protobuf:"varint,6,opt,name=version,proto3,enum=xatu.eth.v2.BlockVersion" json:"version,omitempty"` +} + +func (x *EventBlockV2) Reset() { + *x = EventBlockV2{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_eth_v2_events_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EventBlockV2) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EventBlockV2) ProtoMessage() {} + +func (x *EventBlockV2) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_eth_v2_events_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EventBlockV2.ProtoReflect.Descriptor instead. +func (*EventBlockV2) Descriptor() ([]byte, []int) { + return file_pkg_proto_eth_v2_events_proto_rawDescGZIP(), []int{1} +} + +func (m *EventBlockV2) GetMessage() isEventBlockV2_Message { + if m != nil { + return m.Message + } + return nil +} + +func (x *EventBlockV2) GetPhase0Block() *v1.BeaconBlockV2 { + if x, ok := x.GetMessage().(*EventBlockV2_Phase0Block); ok { + return x.Phase0Block + } + return nil +} + +func (x *EventBlockV2) GetAltairBlock() *BeaconBlockAltairV2 { + if x, ok := x.GetMessage().(*EventBlockV2_AltairBlock); ok { + return x.AltairBlock + } + return nil +} + +func (x *EventBlockV2) GetBellatrixBlock() *BeaconBlockBellatrixV2 { + if x, ok := x.GetMessage().(*EventBlockV2_BellatrixBlock); ok { + return x.BellatrixBlock + } + return nil +} + +func (x *EventBlockV2) GetCapellaBlock() *BeaconBlockCapellaV2 { + if x, ok := x.GetMessage().(*EventBlockV2_CapellaBlock); ok { + return x.CapellaBlock + } + return nil +} + +func (x *EventBlockV2) GetSignature() string { + if x != nil { + return x.Signature + } + return "" +} + +func (x *EventBlockV2) GetVersion() BlockVersion { + if x != nil { + return x.Version + } + return BlockVersion_UNKNOWN +} + +type isEventBlockV2_Message interface { + isEventBlockV2_Message() +} + +type EventBlockV2_Phase0Block struct { + Phase0Block *v1.BeaconBlockV2 `protobuf:"bytes,1,opt,name=phase0_block,json=PHASE0,proto3,oneof"` +} + +type EventBlockV2_AltairBlock struct { + AltairBlock *BeaconBlockAltairV2 `protobuf:"bytes,2,opt,name=altair_block,json=ALTAIR,proto3,oneof"` +} + +type EventBlockV2_BellatrixBlock struct { + BellatrixBlock *BeaconBlockBellatrixV2 `protobuf:"bytes,3,opt,name=bellatrix_block,json=BELLATRIX,proto3,oneof"` +} + +type EventBlockV2_CapellaBlock struct { + CapellaBlock *BeaconBlockCapellaV2 `protobuf:"bytes,4,opt,name=capella_block,json=CAPELLA,proto3,oneof"` +} + +func (*EventBlockV2_Phase0Block) isEventBlockV2_Message() {} + +func (*EventBlockV2_AltairBlock) isEventBlockV2_Message() {} + +func (*EventBlockV2_BellatrixBlock) isEventBlockV2_Message() {} + +func (*EventBlockV2_CapellaBlock) isEventBlockV2_Message() {} + var File_pkg_proto_eth_v2_events_proto protoreflect.FileDescriptor var file_pkg_proto_eth_v2_events_proto_rawDesc = []byte{ @@ -237,16 +362,40 @@ var file_pkg_proto_eth_v2_events_proto_rawDesc = []byte{ 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x42, 0x09, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2a, 0x4f, 0x0a, 0x0c, 0x42, - 0x6c, 0x6f, 0x63, 0x6b, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x0b, 0x0a, 0x07, 0x55, - 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x50, 0x48, 0x41, 0x53, - 0x45, 0x30, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x41, 0x4c, 0x54, 0x41, 0x49, 0x52, 0x10, 0x02, - 0x12, 0x0d, 0x0a, 0x09, 0x42, 0x45, 0x4c, 0x4c, 0x41, 0x54, 0x52, 0x49, 0x58, 0x10, 0x03, 0x12, - 0x0b, 0x0a, 0x07, 0x43, 0x41, 0x50, 0x45, 0x4c, 0x4c, 0x41, 0x10, 0x04, 0x42, 0x2e, 0x5a, 0x2c, - 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x74, 0x68, 0x70, 0x61, - 0x6e, 0x64, 0x61, 0x6f, 0x70, 0x73, 0x2f, 0x78, 0x61, 0x74, 0x75, 0x2f, 0x70, 0x6b, 0x67, 0x2f, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x74, 0x68, 0x2f, 0x76, 0x32, 0x62, 0x06, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x33, + 0x42, 0x09, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0xfa, 0x02, 0x0a, 0x0c, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x56, 0x32, 0x12, 0x3a, 0x0a, 0x0c, + 0x70, 0x68, 0x61, 0x73, 0x65, 0x30, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, + 0x2e, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x56, 0x32, 0x48, 0x00, + 0x52, 0x06, 0x50, 0x48, 0x41, 0x53, 0x45, 0x30, 0x12, 0x40, 0x0a, 0x0c, 0x61, 0x6c, 0x74, 0x61, + 0x69, 0x72, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, + 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x65, 0x61, + 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x41, 0x6c, 0x74, 0x61, 0x69, 0x72, 0x56, 0x32, + 0x48, 0x00, 0x52, 0x06, 0x41, 0x4c, 0x54, 0x41, 0x49, 0x52, 0x12, 0x49, 0x0a, 0x0f, 0x62, 0x65, + 0x6c, 0x6c, 0x61, 0x74, 0x72, 0x69, 0x78, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, + 0x32, 0x2e, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x65, 0x6c, + 0x6c, 0x61, 0x74, 0x72, 0x69, 0x78, 0x56, 0x32, 0x48, 0x00, 0x52, 0x09, 0x42, 0x45, 0x4c, 0x4c, + 0x41, 0x54, 0x52, 0x49, 0x58, 0x12, 0x43, 0x0a, 0x0d, 0x63, 0x61, 0x70, 0x65, 0x6c, 0x6c, 0x61, + 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x78, + 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x65, 0x61, 0x63, 0x6f, + 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x43, 0x61, 0x70, 0x65, 0x6c, 0x6c, 0x61, 0x56, 0x32, 0x48, + 0x00, 0x52, 0x07, 0x43, 0x41, 0x50, 0x45, 0x4c, 0x4c, 0x41, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, + 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, + 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x33, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x78, 0x61, 0x74, 0x75, + 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x56, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x09, 0x0a, + 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2a, 0x4f, 0x0a, 0x0c, 0x42, 0x6c, 0x6f, 0x63, + 0x6b, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, + 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x50, 0x48, 0x41, 0x53, 0x45, 0x30, 0x10, + 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x41, 0x4c, 0x54, 0x41, 0x49, 0x52, 0x10, 0x02, 0x12, 0x0d, 0x0a, + 0x09, 0x42, 0x45, 0x4c, 0x4c, 0x41, 0x54, 0x52, 0x49, 0x58, 0x10, 0x03, 0x12, 0x0b, 0x0a, 0x07, + 0x43, 0x41, 0x50, 0x45, 0x4c, 0x4c, 0x41, 0x10, 0x04, 0x42, 0x2e, 0x5a, 0x2c, 0x67, 0x69, 0x74, + 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x74, 0x68, 0x70, 0x61, 0x6e, 0x64, 0x61, + 0x6f, 0x70, 0x73, 0x2f, 0x78, 0x61, 0x74, 0x75, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x2f, 0x65, 0x74, 0x68, 0x2f, 0x76, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x33, } var ( @@ -262,26 +411,36 @@ func file_pkg_proto_eth_v2_events_proto_rawDescGZIP() []byte { } var file_pkg_proto_eth_v2_events_proto_enumTypes = make([]protoimpl.EnumInfo, 1) -var file_pkg_proto_eth_v2_events_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_pkg_proto_eth_v2_events_proto_msgTypes = make([]protoimpl.MessageInfo, 2) var file_pkg_proto_eth_v2_events_proto_goTypes = []interface{}{ - (BlockVersion)(0), // 0: xatu.eth.v2.BlockVersion - (*EventBlock)(nil), // 1: xatu.eth.v2.EventBlock - (*v1.BeaconBlock)(nil), // 2: xatu.eth.v1.BeaconBlock - (*BeaconBlockAltair)(nil), // 3: xatu.eth.v2.BeaconBlockAltair - (*BeaconBlockBellatrix)(nil), // 4: xatu.eth.v2.BeaconBlockBellatrix - (*BeaconBlockCapella)(nil), // 5: xatu.eth.v2.BeaconBlockCapella + (BlockVersion)(0), // 0: xatu.eth.v2.BlockVersion + (*EventBlock)(nil), // 1: xatu.eth.v2.EventBlock + (*EventBlockV2)(nil), // 2: xatu.eth.v2.EventBlockV2 + (*v1.BeaconBlock)(nil), // 3: xatu.eth.v1.BeaconBlock + (*BeaconBlockAltair)(nil), // 4: xatu.eth.v2.BeaconBlockAltair + (*BeaconBlockBellatrix)(nil), // 5: xatu.eth.v2.BeaconBlockBellatrix + (*BeaconBlockCapella)(nil), // 6: xatu.eth.v2.BeaconBlockCapella + (*v1.BeaconBlockV2)(nil), // 7: xatu.eth.v1.BeaconBlockV2 + (*BeaconBlockAltairV2)(nil), // 8: xatu.eth.v2.BeaconBlockAltairV2 + (*BeaconBlockBellatrixV2)(nil), // 9: xatu.eth.v2.BeaconBlockBellatrixV2 + (*BeaconBlockCapellaV2)(nil), // 10: xatu.eth.v2.BeaconBlockCapellaV2 } var file_pkg_proto_eth_v2_events_proto_depIdxs = []int32{ - 2, // 0: xatu.eth.v2.EventBlock.phase0_block:type_name -> xatu.eth.v1.BeaconBlock - 3, // 1: xatu.eth.v2.EventBlock.altair_block:type_name -> xatu.eth.v2.BeaconBlockAltair - 4, // 2: xatu.eth.v2.EventBlock.bellatrix_block:type_name -> xatu.eth.v2.BeaconBlockBellatrix - 5, // 3: xatu.eth.v2.EventBlock.capella_block:type_name -> xatu.eth.v2.BeaconBlockCapella - 0, // 4: xatu.eth.v2.EventBlock.version:type_name -> xatu.eth.v2.BlockVersion - 5, // [5:5] is the sub-list for method output_type - 5, // [5:5] is the sub-list for method input_type - 5, // [5:5] is the sub-list for extension type_name - 5, // [5:5] is the sub-list for extension extendee - 0, // [0:5] is the sub-list for field type_name + 3, // 0: xatu.eth.v2.EventBlock.phase0_block:type_name -> xatu.eth.v1.BeaconBlock + 4, // 1: xatu.eth.v2.EventBlock.altair_block:type_name -> xatu.eth.v2.BeaconBlockAltair + 5, // 2: xatu.eth.v2.EventBlock.bellatrix_block:type_name -> xatu.eth.v2.BeaconBlockBellatrix + 6, // 3: xatu.eth.v2.EventBlock.capella_block:type_name -> xatu.eth.v2.BeaconBlockCapella + 0, // 4: xatu.eth.v2.EventBlock.version:type_name -> xatu.eth.v2.BlockVersion + 7, // 5: xatu.eth.v2.EventBlockV2.phase0_block:type_name -> xatu.eth.v1.BeaconBlockV2 + 8, // 6: xatu.eth.v2.EventBlockV2.altair_block:type_name -> xatu.eth.v2.BeaconBlockAltairV2 + 9, // 7: xatu.eth.v2.EventBlockV2.bellatrix_block:type_name -> xatu.eth.v2.BeaconBlockBellatrixV2 + 10, // 8: xatu.eth.v2.EventBlockV2.capella_block:type_name -> xatu.eth.v2.BeaconBlockCapellaV2 + 0, // 9: xatu.eth.v2.EventBlockV2.version:type_name -> xatu.eth.v2.BlockVersion + 10, // [10:10] is the sub-list for method output_type + 10, // [10:10] is the sub-list for method input_type + 10, // [10:10] is the sub-list for extension type_name + 10, // [10:10] is the sub-list for extension extendee + 0, // [0:10] is the sub-list for field type_name } func init() { file_pkg_proto_eth_v2_events_proto_init() } @@ -303,6 +462,18 @@ func file_pkg_proto_eth_v2_events_proto_init() { return nil } } + file_pkg_proto_eth_v2_events_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EventBlockV2); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } file_pkg_proto_eth_v2_events_proto_msgTypes[0].OneofWrappers = []interface{}{ (*EventBlock_Phase0Block)(nil), @@ -310,13 +481,19 @@ func file_pkg_proto_eth_v2_events_proto_init() { (*EventBlock_BellatrixBlock)(nil), (*EventBlock_CapellaBlock)(nil), } + file_pkg_proto_eth_v2_events_proto_msgTypes[1].OneofWrappers = []interface{}{ + (*EventBlockV2_Phase0Block)(nil), + (*EventBlockV2_AltairBlock)(nil), + (*EventBlockV2_BellatrixBlock)(nil), + (*EventBlockV2_CapellaBlock)(nil), + } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_pkg_proto_eth_v2_events_proto_rawDesc, NumEnums: 1, - NumMessages: 1, + NumMessages: 2, NumExtensions: 0, NumServices: 0, }, diff --git a/pkg/proto/eth/v2/events.proto b/pkg/proto/eth/v2/events.proto index 5e087aff..bd3658ea 100644 --- a/pkg/proto/eth/v2/events.proto +++ b/pkg/proto/eth/v2/events.proto @@ -35,3 +35,19 @@ message EventBlock { BlockVersion version = 6; } + +message EventBlockV2 { + oneof message { + v1.BeaconBlockV2 phase0_block = 1 [ json_name = "PHASE0" ]; + + v2.BeaconBlockAltairV2 altair_block = 2 [ json_name = "ALTAIR" ]; + + v2.BeaconBlockBellatrixV2 bellatrix_block = 3 [ json_name = "BELLATRIX" ]; + + v2.BeaconBlockCapellaV2 capella_block = 4 [ json_name = "CAPELLA" ]; + } + + string signature = 5; + + BlockVersion version = 6; +} diff --git a/pkg/proto/xatu/event_ingester.pb.go b/pkg/proto/xatu/event_ingester.pb.go index 60bbc940..03b86eb5 100644 --- a/pkg/proto/xatu/event_ingester.pb.go +++ b/pkg/proto/xatu/event_ingester.pb.go @@ -27,20 +27,31 @@ const ( type Event_Name int32 const ( - Event_BEACON_API_ETH_V1_EVENTS_UNKNOWN Event_Name = 0 - Event_BEACON_API_ETH_V1_EVENTS_BLOCK Event_Name = 1 - Event_BEACON_API_ETH_V1_EVENTS_CHAIN_REORG Event_Name = 2 - Event_BEACON_API_ETH_V1_EVENTS_FINALIZED_CHECKPOINT Event_Name = 3 - Event_BEACON_API_ETH_V1_EVENTS_HEAD Event_Name = 4 - Event_BEACON_API_ETH_V1_EVENTS_VOLUNTARY_EXIT Event_Name = 5 - Event_BEACON_API_ETH_V1_EVENTS_ATTESTATION Event_Name = 6 - Event_BEACON_API_ETH_V1_EVENTS_CONTRIBUTION_AND_PROOF Event_Name = 7 - Event_MEMPOOL_TRANSACTION Event_Name = 8 - Event_BEACON_API_ETH_V2_BEACON_BLOCK Event_Name = 9 - Event_BEACON_API_ETH_V1_DEBUG_FORK_CHOICE Event_Name = 10 - Event_BEACON_API_ETH_V1_DEBUG_FORK_CHOICE_REORG Event_Name = 11 - Event_BEACON_API_ETH_V1_BEACON_COMMITTEE Event_Name = 12 - Event_BEACON_API_ETH_V1_VALIDATOR_ATTESTATION_DATA Event_Name = 13 + Event_BEACON_API_ETH_V1_EVENTS_UNKNOWN Event_Name = 0 + Event_BEACON_API_ETH_V1_EVENTS_BLOCK Event_Name = 1 + Event_BEACON_API_ETH_V1_EVENTS_CHAIN_REORG Event_Name = 2 + Event_BEACON_API_ETH_V1_EVENTS_FINALIZED_CHECKPOINT Event_Name = 3 + Event_BEACON_API_ETH_V1_EVENTS_HEAD Event_Name = 4 + Event_BEACON_API_ETH_V1_EVENTS_VOLUNTARY_EXIT Event_Name = 5 + Event_BEACON_API_ETH_V1_EVENTS_ATTESTATION Event_Name = 6 + Event_BEACON_API_ETH_V1_EVENTS_CONTRIBUTION_AND_PROOF Event_Name = 7 + Event_MEMPOOL_TRANSACTION Event_Name = 8 + Event_BEACON_API_ETH_V2_BEACON_BLOCK Event_Name = 9 + Event_BEACON_API_ETH_V1_DEBUG_FORK_CHOICE Event_Name = 10 + Event_BEACON_API_ETH_V1_DEBUG_FORK_CHOICE_REORG Event_Name = 11 + Event_BEACON_API_ETH_V1_BEACON_COMMITTEE Event_Name = 12 + Event_BEACON_API_ETH_V1_VALIDATOR_ATTESTATION_DATA Event_Name = 13 + Event_BEACON_API_ETH_V1_EVENTS_BLOCK_V2 Event_Name = 14 + Event_BEACON_API_ETH_V1_EVENTS_CHAIN_REORG_V2 Event_Name = 15 + Event_BEACON_API_ETH_V1_EVENTS_FINALIZED_CHECKPOINT_V2 Event_Name = 16 + Event_BEACON_API_ETH_V1_EVENTS_HEAD_V2 Event_Name = 17 + Event_BEACON_API_ETH_V1_EVENTS_VOLUNTARY_EXIT_V2 Event_Name = 18 + Event_BEACON_API_ETH_V1_EVENTS_ATTESTATION_V2 Event_Name = 19 + Event_BEACON_API_ETH_V1_EVENTS_CONTRIBUTION_AND_PROOF_V2 Event_Name = 20 + Event_MEMPOOL_TRANSACTION_V2 Event_Name = 21 + Event_BEACON_API_ETH_V2_BEACON_BLOCK_V2 Event_Name = 22 + Event_BEACON_API_ETH_V1_DEBUG_FORK_CHOICE_V2 Event_Name = 23 + Event_BEACON_API_ETH_V1_DEBUG_FORK_CHOICE_REORG_V2 Event_Name = 24 ) // Enum value maps for Event_Name. @@ -60,22 +71,44 @@ var ( 11: "BEACON_API_ETH_V1_DEBUG_FORK_CHOICE_REORG", 12: "BEACON_API_ETH_V1_BEACON_COMMITTEE", 13: "BEACON_API_ETH_V1_VALIDATOR_ATTESTATION_DATA", + 14: "BEACON_API_ETH_V1_EVENTS_BLOCK_V2", + 15: "BEACON_API_ETH_V1_EVENTS_CHAIN_REORG_V2", + 16: "BEACON_API_ETH_V1_EVENTS_FINALIZED_CHECKPOINT_V2", + 17: "BEACON_API_ETH_V1_EVENTS_HEAD_V2", + 18: "BEACON_API_ETH_V1_EVENTS_VOLUNTARY_EXIT_V2", + 19: "BEACON_API_ETH_V1_EVENTS_ATTESTATION_V2", + 20: "BEACON_API_ETH_V1_EVENTS_CONTRIBUTION_AND_PROOF_V2", + 21: "MEMPOOL_TRANSACTION_V2", + 22: "BEACON_API_ETH_V2_BEACON_BLOCK_V2", + 23: "BEACON_API_ETH_V1_DEBUG_FORK_CHOICE_V2", + 24: "BEACON_API_ETH_V1_DEBUG_FORK_CHOICE_REORG_V2", } Event_Name_value = map[string]int32{ - "BEACON_API_ETH_V1_EVENTS_UNKNOWN": 0, - "BEACON_API_ETH_V1_EVENTS_BLOCK": 1, - "BEACON_API_ETH_V1_EVENTS_CHAIN_REORG": 2, - "BEACON_API_ETH_V1_EVENTS_FINALIZED_CHECKPOINT": 3, - "BEACON_API_ETH_V1_EVENTS_HEAD": 4, - "BEACON_API_ETH_V1_EVENTS_VOLUNTARY_EXIT": 5, - "BEACON_API_ETH_V1_EVENTS_ATTESTATION": 6, - "BEACON_API_ETH_V1_EVENTS_CONTRIBUTION_AND_PROOF": 7, - "MEMPOOL_TRANSACTION": 8, - "BEACON_API_ETH_V2_BEACON_BLOCK": 9, - "BEACON_API_ETH_V1_DEBUG_FORK_CHOICE": 10, - "BEACON_API_ETH_V1_DEBUG_FORK_CHOICE_REORG": 11, - "BEACON_API_ETH_V1_BEACON_COMMITTEE": 12, - "BEACON_API_ETH_V1_VALIDATOR_ATTESTATION_DATA": 13, + "BEACON_API_ETH_V1_EVENTS_UNKNOWN": 0, + "BEACON_API_ETH_V1_EVENTS_BLOCK": 1, + "BEACON_API_ETH_V1_EVENTS_CHAIN_REORG": 2, + "BEACON_API_ETH_V1_EVENTS_FINALIZED_CHECKPOINT": 3, + "BEACON_API_ETH_V1_EVENTS_HEAD": 4, + "BEACON_API_ETH_V1_EVENTS_VOLUNTARY_EXIT": 5, + "BEACON_API_ETH_V1_EVENTS_ATTESTATION": 6, + "BEACON_API_ETH_V1_EVENTS_CONTRIBUTION_AND_PROOF": 7, + "MEMPOOL_TRANSACTION": 8, + "BEACON_API_ETH_V2_BEACON_BLOCK": 9, + "BEACON_API_ETH_V1_DEBUG_FORK_CHOICE": 10, + "BEACON_API_ETH_V1_DEBUG_FORK_CHOICE_REORG": 11, + "BEACON_API_ETH_V1_BEACON_COMMITTEE": 12, + "BEACON_API_ETH_V1_VALIDATOR_ATTESTATION_DATA": 13, + "BEACON_API_ETH_V1_EVENTS_BLOCK_V2": 14, + "BEACON_API_ETH_V1_EVENTS_CHAIN_REORG_V2": 15, + "BEACON_API_ETH_V1_EVENTS_FINALIZED_CHECKPOINT_V2": 16, + "BEACON_API_ETH_V1_EVENTS_HEAD_V2": 17, + "BEACON_API_ETH_V1_EVENTS_VOLUNTARY_EXIT_V2": 18, + "BEACON_API_ETH_V1_EVENTS_ATTESTATION_V2": 19, + "BEACON_API_ETH_V1_EVENTS_CONTRIBUTION_AND_PROOF_V2": 20, + "MEMPOOL_TRANSACTION_V2": 21, + "BEACON_API_ETH_V2_BEACON_BLOCK_V2": 22, + "BEACON_API_ETH_V1_DEBUG_FORK_CHOICE_V2": 23, + "BEACON_API_ETH_V1_DEBUG_FORK_CHOICE_REORG_V2": 24, } ) @@ -103,7 +136,7 @@ func (x Event_Name) Number() protoreflect.EnumNumber { // Deprecated: Use Event_Name.Descriptor instead. func (Event_Name) EnumDescriptor() ([]byte, []int) { - return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{11, 0} + return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{16, 0} } type CreateEventsRequest struct { @@ -197,13 +230,9 @@ type Epoch struct { unknownFields protoimpl.UnknownFields // Number is the epoch number. - // - // Deprecated: Marked as deprecated in pkg/proto/xatu/event_ingester.proto. Number uint64 `protobuf:"varint,1,opt,name=number,proto3" json:"number,omitempty"` // StartDateTime is the epoch start time. StartDateTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=start_date_time,proto3" json:"start_date_time,omitempty"` - // Number is the epoch number. - NumberV2 *wrapperspb.UInt64Value `protobuf:"bytes,3,opt,name=number_v2,proto3" json:"number_v2,omitempty"` } func (x *Epoch) Reset() { @@ -238,7 +267,6 @@ func (*Epoch) Descriptor() ([]byte, []int) { return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{2} } -// Deprecated: Marked as deprecated in pkg/proto/xatu/event_ingester.proto. func (x *Epoch) GetNumber() uint64 { if x != nil { return x.Number @@ -253,9 +281,59 @@ func (x *Epoch) GetStartDateTime() *timestamppb.Timestamp { return nil } -func (x *Epoch) GetNumberV2() *wrapperspb.UInt64Value { +type EpochV2 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Number is the epoch number. + Number *wrapperspb.UInt64Value `protobuf:"bytes,1,opt,name=number,proto3" json:"number,omitempty"` + // StartDateTime is the epoch start time. + StartDateTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=start_date_time,proto3" json:"start_date_time,omitempty"` +} + +func (x *EpochV2) Reset() { + *x = EpochV2{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EpochV2) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EpochV2) ProtoMessage() {} + +func (x *EpochV2) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EpochV2.ProtoReflect.Descriptor instead. +func (*EpochV2) Descriptor() ([]byte, []int) { + return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{3} +} + +func (x *EpochV2) GetNumber() *wrapperspb.UInt64Value { + if x != nil { + return x.Number + } + return nil +} + +func (x *EpochV2) GetStartDateTime() *timestamppb.Timestamp { if x != nil { - return x.NumberV2 + return x.StartDateTime } return nil } @@ -266,19 +344,15 @@ type Slot struct { unknownFields protoimpl.UnknownFields // Number is the slot number. - // - // Deprecated: Marked as deprecated in pkg/proto/xatu/event_ingester.proto. Number uint64 `protobuf:"varint,1,opt,name=number,proto3" json:"number,omitempty"` // StartDateTime is the slot start time. StartDateTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=start_date_time,proto3" json:"start_date_time,omitempty"` - // Number is the slot number. - NumberV2 *wrapperspb.UInt64Value `protobuf:"bytes,3,opt,name=number_v2,proto3" json:"number_v2,omitempty"` } func (x *Slot) Reset() { *x = Slot{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[3] + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -291,7 +365,7 @@ func (x *Slot) String() string { func (*Slot) ProtoMessage() {} func (x *Slot) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[3] + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -304,10 +378,9 @@ func (x *Slot) ProtoReflect() protoreflect.Message { // Deprecated: Use Slot.ProtoReflect.Descriptor instead. func (*Slot) Descriptor() ([]byte, []int) { - return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{3} + return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{4} } -// Deprecated: Marked as deprecated in pkg/proto/xatu/event_ingester.proto. func (x *Slot) GetNumber() uint64 { if x != nil { return x.Number @@ -322,9 +395,59 @@ func (x *Slot) GetStartDateTime() *timestamppb.Timestamp { return nil } -func (x *Slot) GetNumberV2() *wrapperspb.UInt64Value { +type SlotV2 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Number is the slot number. + Number *wrapperspb.UInt64Value `protobuf:"bytes,1,opt,name=number,proto3" json:"number,omitempty"` + // StartDateTime is the slot start time. + StartDateTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=start_date_time,proto3" json:"start_date_time,omitempty"` +} + +func (x *SlotV2) Reset() { + *x = SlotV2{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SlotV2) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SlotV2) ProtoMessage() {} + +func (x *SlotV2) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SlotV2.ProtoReflect.Descriptor instead. +func (*SlotV2) Descriptor() ([]byte, []int) { + return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{5} +} + +func (x *SlotV2) GetNumber() *wrapperspb.UInt64Value { + if x != nil { + return x.Number + } + return nil +} + +func (x *SlotV2) GetStartDateTime() *timestamppb.Timestamp { if x != nil { - return x.NumberV2 + return x.StartDateTime } return nil } @@ -341,7 +464,7 @@ type ForkID struct { func (x *ForkID) Reset() { *x = ForkID{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[4] + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -354,7 +477,7 @@ func (x *ForkID) String() string { func (*ForkID) ProtoMessage() {} func (x *ForkID) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[4] + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -367,7 +490,7 @@ func (x *ForkID) ProtoReflect() protoreflect.Message { // Deprecated: Use ForkID.ProtoReflect.Descriptor instead. func (*ForkID) Descriptor() ([]byte, []int) { - return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{4} + return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{6} } func (x *ForkID) GetHash() string { @@ -391,18 +514,13 @@ type Propagation struct { // SlotStartDiff is the difference between the slot start time and the // attestation received time (in milliseconds). - // - // Deprecated: Marked as deprecated in pkg/proto/xatu/event_ingester.proto. SlotStartDiff uint64 `protobuf:"varint,3,opt,name=slot_start_diff,proto3" json:"slot_start_diff,omitempty"` - // SlotStartDiff is the difference between the slot start time and the - // attestation received time (in milliseconds). - SlotStartDiffV2 *wrapperspb.UInt64Value `protobuf:"bytes,4,opt,name=slot_start_diff_v2,proto3" json:"slot_start_diff_v2,omitempty"` } func (x *Propagation) Reset() { *x = Propagation{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[5] + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -415,7 +533,7 @@ func (x *Propagation) String() string { func (*Propagation) ProtoMessage() {} func (x *Propagation) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[5] + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -428,10 +546,9 @@ func (x *Propagation) ProtoReflect() protoreflect.Message { // Deprecated: Use Propagation.ProtoReflect.Descriptor instead. func (*Propagation) Descriptor() ([]byte, []int) { - return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{5} + return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{7} } -// Deprecated: Marked as deprecated in pkg/proto/xatu/event_ingester.proto. func (x *Propagation) GetSlotStartDiff() uint64 { if x != nil { return x.SlotStartDiff @@ -439,9 +556,51 @@ func (x *Propagation) GetSlotStartDiff() uint64 { return 0 } -func (x *Propagation) GetSlotStartDiffV2() *wrapperspb.UInt64Value { +type PropagationV2 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // SlotStartDiff is the difference between the slot start time and the + // attestation received time (in milliseconds). + SlotStartDiff *wrapperspb.UInt64Value `protobuf:"bytes,1,opt,name=slot_start_diff,proto3" json:"slot_start_diff,omitempty"` +} + +func (x *PropagationV2) Reset() { + *x = PropagationV2{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PropagationV2) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PropagationV2) ProtoMessage() {} + +func (x *PropagationV2) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PropagationV2.ProtoReflect.Descriptor instead. +func (*PropagationV2) Descriptor() ([]byte, []int) { + return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{8} +} + +func (x *PropagationV2) GetSlotStartDiff() *wrapperspb.UInt64Value { if x != nil { - return x.SlotStartDiffV2 + return x.SlotStartDiff } return nil } @@ -452,23 +611,15 @@ type AttestingValidator struct { unknownFields protoimpl.UnknownFields // CommitteeIndex is the position of the validator within the committee. - // - // Deprecated: Marked as deprecated in pkg/proto/xatu/event_ingester.proto. CommitteeIndex uint64 `protobuf:"varint,1,opt,name=committee_index,proto3" json:"committee_index,omitempty"` // Index is the index of the validator in the beacon chain. - // - // Deprecated: Marked as deprecated in pkg/proto/xatu/event_ingester.proto. Index uint64 `protobuf:"varint,2,opt,name=index,proto3" json:"index,omitempty"` - // CommitteeIndex is the position of the validator within the committee. - CommitteeIndexV2 *wrapperspb.UInt64Value `protobuf:"bytes,3,opt,name=committee_index_v2,proto3" json:"committee_index_v2,omitempty"` - // Index is the index of the validator in the beacon chain. - IndexV2 *wrapperspb.UInt64Value `protobuf:"bytes,4,opt,name=index_v2,proto3" json:"index_v2,omitempty"` } func (x *AttestingValidator) Reset() { *x = AttestingValidator{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[6] + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -481,7 +632,7 @@ func (x *AttestingValidator) String() string { func (*AttestingValidator) ProtoMessage() {} func (x *AttestingValidator) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[6] + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -494,10 +645,9 @@ func (x *AttestingValidator) ProtoReflect() protoreflect.Message { // Deprecated: Use AttestingValidator.ProtoReflect.Descriptor instead. func (*AttestingValidator) Descriptor() ([]byte, []int) { - return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{6} + return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{9} } -// Deprecated: Marked as deprecated in pkg/proto/xatu/event_ingester.proto. func (x *AttestingValidator) GetCommitteeIndex() uint64 { if x != nil { return x.CommitteeIndex @@ -505,7 +655,6 @@ func (x *AttestingValidator) GetCommitteeIndex() uint64 { return 0 } -// Deprecated: Marked as deprecated in pkg/proto/xatu/event_ingester.proto. func (x *AttestingValidator) GetIndex() uint64 { if x != nil { return x.Index @@ -513,16 +662,59 @@ func (x *AttestingValidator) GetIndex() uint64 { return 0 } -func (x *AttestingValidator) GetCommitteeIndexV2() *wrapperspb.UInt64Value { +type AttestingValidatorV2 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // CommitteeIndex is the position of the validator within the committee. + CommitteeIndex *wrapperspb.UInt64Value `protobuf:"bytes,1,opt,name=committee_index,proto3" json:"committee_index,omitempty"` + // Index is the index of the validator in the beacon chain. + Index *wrapperspb.UInt64Value `protobuf:"bytes,2,opt,name=index,proto3" json:"index,omitempty"` +} + +func (x *AttestingValidatorV2) Reset() { + *x = AttestingValidatorV2{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AttestingValidatorV2) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AttestingValidatorV2) ProtoMessage() {} + +func (x *AttestingValidatorV2) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AttestingValidatorV2.ProtoReflect.Descriptor instead. +func (*AttestingValidatorV2) Descriptor() ([]byte, []int) { + return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{10} +} + +func (x *AttestingValidatorV2) GetCommitteeIndex() *wrapperspb.UInt64Value { if x != nil { - return x.CommitteeIndexV2 + return x.CommitteeIndex } return nil } -func (x *AttestingValidator) GetIndexV2() *wrapperspb.UInt64Value { +func (x *AttestingValidatorV2) GetIndex() *wrapperspb.UInt64Value { if x != nil { - return x.IndexV2 + return x.Index } return nil } @@ -540,7 +732,7 @@ type DebugForkChoiceReorg struct { func (x *DebugForkChoiceReorg) Reset() { *x = DebugForkChoiceReorg{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[7] + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -553,7 +745,7 @@ func (x *DebugForkChoiceReorg) String() string { func (*DebugForkChoiceReorg) ProtoMessage() {} func (x *DebugForkChoiceReorg) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[7] + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -566,7 +758,7 @@ func (x *DebugForkChoiceReorg) ProtoReflect() protoreflect.Message { // Deprecated: Use DebugForkChoiceReorg.ProtoReflect.Descriptor instead. func (*DebugForkChoiceReorg) Descriptor() ([]byte, []int) { - return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{7} + return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{11} } func (x *DebugForkChoiceReorg) GetBefore() *v1.ForkChoice { @@ -590,6 +782,69 @@ func (x *DebugForkChoiceReorg) GetEvent() *v1.EventChainReorg { return nil } +type DebugForkChoiceReorgV2 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Before *v1.ForkChoiceV2 `protobuf:"bytes,1,opt,name=before,proto3" json:"before,omitempty"` + After *v1.ForkChoiceV2 `protobuf:"bytes,2,opt,name=after,proto3" json:"after,omitempty"` + Event *v1.EventChainReorgV2 `protobuf:"bytes,3,opt,name=event,proto3" json:"event,omitempty"` +} + +func (x *DebugForkChoiceReorgV2) Reset() { + *x = DebugForkChoiceReorgV2{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DebugForkChoiceReorgV2) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DebugForkChoiceReorgV2) ProtoMessage() {} + +func (x *DebugForkChoiceReorgV2) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[12] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DebugForkChoiceReorgV2.ProtoReflect.Descriptor instead. +func (*DebugForkChoiceReorgV2) Descriptor() ([]byte, []int) { + return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{12} +} + +func (x *DebugForkChoiceReorgV2) GetBefore() *v1.ForkChoiceV2 { + if x != nil { + return x.Before + } + return nil +} + +func (x *DebugForkChoiceReorgV2) GetAfter() *v1.ForkChoiceV2 { + if x != nil { + return x.After + } + return nil +} + +func (x *DebugForkChoiceReorgV2) GetEvent() *v1.EventChainReorgV2 { + if x != nil { + return x.Event + } + return nil +} + type ClientMeta struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -606,11 +861,7 @@ type ClientMeta struct { // OS is the operating system of the client. Os string `protobuf:"bytes,5,opt,name=os,proto3" json:"os,omitempty"` // ClockDrift is the NTP calculated clock drift of the client. - // - // Deprecated: Marked as deprecated in pkg/proto/xatu/event_ingester.proto. ClockDrift uint64 `protobuf:"varint,6,opt,name=clock_drift,proto3" json:"clock_drift,omitempty"` - // ClockDrift is the NTP calculated clock drift of the client. - ClockDriftV2 *wrapperspb.UInt64Value `protobuf:"bytes,23,opt,name=clock_drift_v2,proto3" json:"clock_drift_v2,omitempty"` // Ethereum contains information about the Ethereum network and configuration. Ethereum *ClientMeta_Ethereum `protobuf:"bytes,8,opt,name=ethereum,proto3" json:"ethereum,omitempty"` // Labels contains additional labels as set by the client. @@ -633,13 +884,24 @@ type ClientMeta struct { // *ClientMeta_EthV1DebugForkChoiceReorg // *ClientMeta_EthV1BeaconCommitee // *ClientMeta_EthV1ValidatorAttestationData + // *ClientMeta_EthV1EventsAttestationV2 + // *ClientMeta_EthV1EventsHeadV2 + // *ClientMeta_EthV1EventsBlockV2 + // *ClientMeta_EthV1EventsVoluntaryExitV2 + // *ClientMeta_EthV1EventsFinalizedCheckpointV2 + // *ClientMeta_EthV1EventsChainReorgV2 + // *ClientMeta_EthV1EventsContributionAndProofV2 + // *ClientMeta_MempoolTransactionV2 + // *ClientMeta_EthV2BeaconBlockV2 + // *ClientMeta_EthV1DebugForkChoiceV2 + // *ClientMeta_EthV1DebugForkChoiceReorgV2 AdditionalData isClientMeta_AdditionalData `protobuf_oneof:"AdditionalData"` } func (x *ClientMeta) Reset() { *x = ClientMeta{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[8] + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -652,7 +914,7 @@ func (x *ClientMeta) String() string { func (*ClientMeta) ProtoMessage() {} func (x *ClientMeta) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[8] + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -665,7 +927,7 @@ func (x *ClientMeta) ProtoReflect() protoreflect.Message { // Deprecated: Use ClientMeta.ProtoReflect.Descriptor instead. func (*ClientMeta) Descriptor() ([]byte, []int) { - return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{8} + return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{13} } func (x *ClientMeta) GetName() string { @@ -703,7 +965,6 @@ func (x *ClientMeta) GetOs() string { return "" } -// Deprecated: Marked as deprecated in pkg/proto/xatu/event_ingester.proto. func (x *ClientMeta) GetClockDrift() uint64 { if x != nil { return x.ClockDrift @@ -711,13 +972,6 @@ func (x *ClientMeta) GetClockDrift() uint64 { return 0 } -func (x *ClientMeta) GetClockDriftV2() *wrapperspb.UInt64Value { - if x != nil { - return x.ClockDriftV2 - } - return nil -} - func (x *ClientMeta) GetEthereum() *ClientMeta_Ethereum { if x != nil { return x.Ethereum @@ -830,6 +1084,83 @@ func (x *ClientMeta) GetEthV1ValidatorAttestationData() *ClientMeta_AdditionalEt return nil } +func (x *ClientMeta) GetEthV1EventsAttestationV2() *ClientMeta_AdditionalEthV1EventsAttestationV2Data { + if x, ok := x.GetAdditionalData().(*ClientMeta_EthV1EventsAttestationV2); ok { + return x.EthV1EventsAttestationV2 + } + return nil +} + +func (x *ClientMeta) GetEthV1EventsHeadV2() *ClientMeta_AdditionalEthV1EventsHeadV2Data { + if x, ok := x.GetAdditionalData().(*ClientMeta_EthV1EventsHeadV2); ok { + return x.EthV1EventsHeadV2 + } + return nil +} + +func (x *ClientMeta) GetEthV1EventsBlockV2() *ClientMeta_AdditionalEthV1EventsBlockV2Data { + if x, ok := x.GetAdditionalData().(*ClientMeta_EthV1EventsBlockV2); ok { + return x.EthV1EventsBlockV2 + } + return nil +} + +func (x *ClientMeta) GetEthV1EventsVoluntaryExitV2() *ClientMeta_AdditionalEthV1EventsVoluntaryExitV2Data { + if x, ok := x.GetAdditionalData().(*ClientMeta_EthV1EventsVoluntaryExitV2); ok { + return x.EthV1EventsVoluntaryExitV2 + } + return nil +} + +func (x *ClientMeta) GetEthV1EventsFinalizedCheckpointV2() *ClientMeta_AdditionalEthV1EventsFinalizedCheckpointV2Data { + if x, ok := x.GetAdditionalData().(*ClientMeta_EthV1EventsFinalizedCheckpointV2); ok { + return x.EthV1EventsFinalizedCheckpointV2 + } + return nil +} + +func (x *ClientMeta) GetEthV1EventsChainReorgV2() *ClientMeta_AdditionalEthV1EventsChainReorgV2Data { + if x, ok := x.GetAdditionalData().(*ClientMeta_EthV1EventsChainReorgV2); ok { + return x.EthV1EventsChainReorgV2 + } + return nil +} + +func (x *ClientMeta) GetEthV1EventsContributionAndProofV2() *ClientMeta_AdditionalEthV1EventsContributionAndProofV2Data { + if x, ok := x.GetAdditionalData().(*ClientMeta_EthV1EventsContributionAndProofV2); ok { + return x.EthV1EventsContributionAndProofV2 + } + return nil +} + +func (x *ClientMeta) GetMempoolTransactionV2() *ClientMeta_AdditionalMempoolTransactionV2Data { + if x, ok := x.GetAdditionalData().(*ClientMeta_MempoolTransactionV2); ok { + return x.MempoolTransactionV2 + } + return nil +} + +func (x *ClientMeta) GetEthV2BeaconBlockV2() *ClientMeta_AdditionalEthV2BeaconBlockV2Data { + if x, ok := x.GetAdditionalData().(*ClientMeta_EthV2BeaconBlockV2); ok { + return x.EthV2BeaconBlockV2 + } + return nil +} + +func (x *ClientMeta) GetEthV1DebugForkChoiceV2() *ClientMeta_AdditionalEthV1DebugForkChoiceV2Data { + if x, ok := x.GetAdditionalData().(*ClientMeta_EthV1DebugForkChoiceV2); ok { + return x.EthV1DebugForkChoiceV2 + } + return nil +} + +func (x *ClientMeta) GetEthV1DebugForkChoiceReorgV2() *ClientMeta_AdditionalEthV1DebugForkChoiceReOrgV2Data { + if x, ok := x.GetAdditionalData().(*ClientMeta_EthV1DebugForkChoiceReorgV2); ok { + return x.EthV1DebugForkChoiceReorgV2 + } + return nil +} + type isClientMeta_AdditionalData interface { isClientMeta_AdditionalData() } @@ -910,6 +1241,72 @@ type ClientMeta_EthV1ValidatorAttestationData struct { EthV1ValidatorAttestationData *ClientMeta_AdditionalEthV1ValidatorAttestationDataData `protobuf:"bytes,22,opt,name=eth_v1_validator_attestation_data,json=BEACON_API_ETH_V1_VALIDATOR_ATTESTATION_DATA,proto3,oneof"` } +type ClientMeta_EthV1EventsAttestationV2 struct { + // AdditionalEthV1EventsAttestationV2Data contains additional data about an + // eth v1 attestation event. + EthV1EventsAttestationV2 *ClientMeta_AdditionalEthV1EventsAttestationV2Data `protobuf:"bytes,24,opt,name=eth_v1_events_attestation_v2,json=BEACON_API_ETH_V1_EVENTS_ATTESTATION_V2,proto3,oneof"` +} + +type ClientMeta_EthV1EventsHeadV2 struct { + // AdditionalEthV1EventsHeadV2Data contains additional data about the eth v1 + // head event. + EthV1EventsHeadV2 *ClientMeta_AdditionalEthV1EventsHeadV2Data `protobuf:"bytes,25,opt,name=eth_v1_events_head_v2,json=BEACON_API_ETH_V1_EVENTS_HEAD_V2,proto3,oneof"` +} + +type ClientMeta_EthV1EventsBlockV2 struct { + // AdditionalEthV1EventsBlockV2Data contains additional data about the eth v1 + // block event. + EthV1EventsBlockV2 *ClientMeta_AdditionalEthV1EventsBlockV2Data `protobuf:"bytes,26,opt,name=eth_v1_events_block_v2,json=BEACON_API_ETH_V1_EVENTS_BLOCK_V2,proto3,oneof"` +} + +type ClientMeta_EthV1EventsVoluntaryExitV2 struct { + // AdditionalEthV1EventsVoluntaryExitV2Data contains additional data about the + // eth v1 voluntary exit event. + EthV1EventsVoluntaryExitV2 *ClientMeta_AdditionalEthV1EventsVoluntaryExitV2Data `protobuf:"bytes,27,opt,name=eth_v1_events_voluntary_exit_v2,json=BEACON_API_ETH_V1_EVENTS_VOLUNTARY_EXIT_V2,proto3,oneof"` +} + +type ClientMeta_EthV1EventsFinalizedCheckpointV2 struct { + // AdditionalEthV1EventsFinalizedCheckpointV2Data contains additional data + // about the eth v1 finalized checkpoint event. + EthV1EventsFinalizedCheckpointV2 *ClientMeta_AdditionalEthV1EventsFinalizedCheckpointV2Data `protobuf:"bytes,28,opt,name=eth_v1_events_finalized_checkpoint_v2,json=BEACON_API_ETH_V1_EVENTS_FINALIZED_CHECKPOINT_V2,proto3,oneof"` +} + +type ClientMeta_EthV1EventsChainReorgV2 struct { + // AdditionalEthV1EventsChainReorgV2Data contains additional data about the + // eth v1 chain reorg event. + EthV1EventsChainReorgV2 *ClientMeta_AdditionalEthV1EventsChainReorgV2Data `protobuf:"bytes,29,opt,name=eth_v1_events_chain_reorg_v2,json=BEACON_API_ETH_V1_EVENTS_CHAIN_REORG_V2,proto3,oneof"` +} + +type ClientMeta_EthV1EventsContributionAndProofV2 struct { + // AdditionalEthV1EventsContributionAndProofV2Data contains additional data + // about the eth v1 contribution and proof. + EthV1EventsContributionAndProofV2 *ClientMeta_AdditionalEthV1EventsContributionAndProofV2Data `protobuf:"bytes,30,opt,name=eth_v1_events_contribution_and_proof_v2,json=BEACON_API_ETH_V1_EVENTS_CONTRIBUTION_AND_PROOF_V2,proto3,oneof"` +} + +type ClientMeta_MempoolTransactionV2 struct { + // AdditionalMempoolTransactionV2Data contains additional data about the + // mempool transaction event. + MempoolTransactionV2 *ClientMeta_AdditionalMempoolTransactionV2Data `protobuf:"bytes,31,opt,name=mempool_transaction_v2,json=MEMPOOL_TRANSACTION_V2,proto3,oneof"` +} + +type ClientMeta_EthV2BeaconBlockV2 struct { + // AdditionalEthV2BeaconBlockV2Data contains additional data about the eth v2 + // beacon block event. + EthV2BeaconBlockV2 *ClientMeta_AdditionalEthV2BeaconBlockV2Data `protobuf:"bytes,32,opt,name=eth_v2_beacon_block_v2,json=BEACON_API_ETH_V2_BEACON_BLOCK_V2,proto3,oneof"` +} + +type ClientMeta_EthV1DebugForkChoiceV2 struct { + // AdditionalEthV1DebugForkChoice contains additional data about the eth v1 + // debug fork choice event. + EthV1DebugForkChoiceV2 *ClientMeta_AdditionalEthV1DebugForkChoiceV2Data `protobuf:"bytes,33,opt,name=eth_v1_debug_fork_choice_v2,json=BEACON_API_ETH_V1_DEBUG_FORK_CHOICE_V2,proto3,oneof"` +} + +type ClientMeta_EthV1DebugForkChoiceReorgV2 struct { + // AdditionalEthV1DebugForkChoiceReorg contains additional data about the + // eth v1 debug fork choice reorg event. + EthV1DebugForkChoiceReorgV2 *ClientMeta_AdditionalEthV1DebugForkChoiceReOrgV2Data `protobuf:"bytes,34,opt,name=eth_v1_debug_fork_choice_reorg_v2,json=BEACON_API_ETH_V1_DEBUG_FORK_CHOICE_REORG_V2,proto3,oneof"` +} + func (*ClientMeta_EthV1EventsAttestation) isClientMeta_AdditionalData() {} func (*ClientMeta_EthV1EventsHead) isClientMeta_AdditionalData() {} @@ -936,6 +1333,28 @@ func (*ClientMeta_EthV1BeaconCommitee) isClientMeta_AdditionalData() {} func (*ClientMeta_EthV1ValidatorAttestationData) isClientMeta_AdditionalData() {} +func (*ClientMeta_EthV1EventsAttestationV2) isClientMeta_AdditionalData() {} + +func (*ClientMeta_EthV1EventsHeadV2) isClientMeta_AdditionalData() {} + +func (*ClientMeta_EthV1EventsBlockV2) isClientMeta_AdditionalData() {} + +func (*ClientMeta_EthV1EventsVoluntaryExitV2) isClientMeta_AdditionalData() {} + +func (*ClientMeta_EthV1EventsFinalizedCheckpointV2) isClientMeta_AdditionalData() {} + +func (*ClientMeta_EthV1EventsChainReorgV2) isClientMeta_AdditionalData() {} + +func (*ClientMeta_EthV1EventsContributionAndProofV2) isClientMeta_AdditionalData() {} + +func (*ClientMeta_MempoolTransactionV2) isClientMeta_AdditionalData() {} + +func (*ClientMeta_EthV2BeaconBlockV2) isClientMeta_AdditionalData() {} + +func (*ClientMeta_EthV1DebugForkChoiceV2) isClientMeta_AdditionalData() {} + +func (*ClientMeta_EthV1DebugForkChoiceReorgV2) isClientMeta_AdditionalData() {} + type ServerMeta struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -952,7 +1371,7 @@ type ServerMeta struct { func (x *ServerMeta) Reset() { *x = ServerMeta{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[9] + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -965,7 +1384,7 @@ func (x *ServerMeta) String() string { func (*ServerMeta) ProtoMessage() {} func (x *ServerMeta) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[9] + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -978,7 +1397,7 @@ func (x *ServerMeta) ProtoReflect() protoreflect.Message { // Deprecated: Use ServerMeta.ProtoReflect.Descriptor instead. func (*ServerMeta) Descriptor() ([]byte, []int) { - return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{9} + return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{14} } func (x *ServerMeta) GetEvent() *ServerMeta_Event { @@ -1016,7 +1435,7 @@ type Meta struct { func (x *Meta) Reset() { *x = Meta{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[10] + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1029,7 +1448,7 @@ func (x *Meta) String() string { func (*Meta) ProtoMessage() {} func (x *Meta) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[10] + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1042,7 +1461,7 @@ func (x *Meta) ProtoReflect() protoreflect.Message { // Deprecated: Use Meta.ProtoReflect.Descriptor instead. func (*Meta) Descriptor() ([]byte, []int) { - return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{10} + return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{15} } func (x *Meta) GetClient() *ClientMeta { @@ -1075,7 +1494,7 @@ type Event struct { func (x *Event) Reset() { *x = Event{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[11] + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1088,7 +1507,7 @@ func (x *Event) String() string { func (*Event) ProtoMessage() {} func (x *Event) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[11] + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1101,7 +1520,7 @@ func (x *Event) ProtoReflect() protoreflect.Message { // Deprecated: Use Event.ProtoReflect.Descriptor instead. func (*Event) Descriptor() ([]byte, []int) { - return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{11} + return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{16} } func (x *Event) GetName() Event_Name { @@ -1149,13 +1568,24 @@ type DecoratedEvent struct { // *DecoratedEvent_EthV1ForkChoiceReorg // *DecoratedEvent_EthV1BeaconCommittee // *DecoratedEvent_EthV1ValidatorAttestationData + // *DecoratedEvent_EthV1EventsAttestationV2 + // *DecoratedEvent_EthV1EventsBlockV2 + // *DecoratedEvent_EthV1EventsChainReorgV2 + // *DecoratedEvent_EthV1EventsFinalizedCheckpointV2 + // *DecoratedEvent_EthV1EventsHeadV2 + // *DecoratedEvent_EthV1EventsVoluntaryExitV2 + // *DecoratedEvent_EthV1EventsContributionAndProofV2 + // *DecoratedEvent_MempoolTransactionV2 + // *DecoratedEvent_EthV2BeaconBlockV2 + // *DecoratedEvent_EthV1ForkChoiceV2 + // *DecoratedEvent_EthV1ForkChoiceReorgV2 Data isDecoratedEvent_Data `protobuf_oneof:"data"` } func (x *DecoratedEvent) Reset() { *x = DecoratedEvent{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[12] + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1168,7 +1598,7 @@ func (x *DecoratedEvent) String() string { func (*DecoratedEvent) ProtoMessage() {} func (x *DecoratedEvent) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[12] + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1181,7 +1611,7 @@ func (x *DecoratedEvent) ProtoReflect() protoreflect.Message { // Deprecated: Use DecoratedEvent.ProtoReflect.Descriptor instead. func (*DecoratedEvent) Descriptor() ([]byte, []int) { - return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{12} + return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{17} } func (x *DecoratedEvent) GetEvent() *Event { @@ -1205,6 +1635,7 @@ func (m *DecoratedEvent) GetData() isDecoratedEvent_Data { return nil } +// Deprecated: Marked as deprecated in pkg/proto/xatu/event_ingester.proto. func (x *DecoratedEvent) GetEthV1EventsAttestation() *v1.Attestation { if x, ok := x.GetData().(*DecoratedEvent_EthV1EventsAttestation); ok { return x.EthV1EventsAttestation @@ -1212,6 +1643,7 @@ func (x *DecoratedEvent) GetEthV1EventsAttestation() *v1.Attestation { return nil } +// Deprecated: Marked as deprecated in pkg/proto/xatu/event_ingester.proto. func (x *DecoratedEvent) GetEthV1EventsBlock() *v1.EventBlock { if x, ok := x.GetData().(*DecoratedEvent_EthV1EventsBlock); ok { return x.EthV1EventsBlock @@ -1219,6 +1651,7 @@ func (x *DecoratedEvent) GetEthV1EventsBlock() *v1.EventBlock { return nil } +// Deprecated: Marked as deprecated in pkg/proto/xatu/event_ingester.proto. func (x *DecoratedEvent) GetEthV1EventsChainReorg() *v1.EventChainReorg { if x, ok := x.GetData().(*DecoratedEvent_EthV1EventsChainReorg); ok { return x.EthV1EventsChainReorg @@ -1226,6 +1659,7 @@ func (x *DecoratedEvent) GetEthV1EventsChainReorg() *v1.EventChainReorg { return nil } +// Deprecated: Marked as deprecated in pkg/proto/xatu/event_ingester.proto. func (x *DecoratedEvent) GetEthV1EventsFinalizedCheckpoint() *v1.EventFinalizedCheckpoint { if x, ok := x.GetData().(*DecoratedEvent_EthV1EventsFinalizedCheckpoint); ok { return x.EthV1EventsFinalizedCheckpoint @@ -1233,6 +1667,7 @@ func (x *DecoratedEvent) GetEthV1EventsFinalizedCheckpoint() *v1.EventFinalizedC return nil } +// Deprecated: Marked as deprecated in pkg/proto/xatu/event_ingester.proto. func (x *DecoratedEvent) GetEthV1EventsHead() *v1.EventHead { if x, ok := x.GetData().(*DecoratedEvent_EthV1EventsHead); ok { return x.EthV1EventsHead @@ -1240,6 +1675,7 @@ func (x *DecoratedEvent) GetEthV1EventsHead() *v1.EventHead { return nil } +// Deprecated: Marked as deprecated in pkg/proto/xatu/event_ingester.proto. func (x *DecoratedEvent) GetEthV1EventsVoluntaryExit() *v1.EventVoluntaryExit { if x, ok := x.GetData().(*DecoratedEvent_EthV1EventsVoluntaryExit); ok { return x.EthV1EventsVoluntaryExit @@ -1247,6 +1683,7 @@ func (x *DecoratedEvent) GetEthV1EventsVoluntaryExit() *v1.EventVoluntaryExit { return nil } +// Deprecated: Marked as deprecated in pkg/proto/xatu/event_ingester.proto. func (x *DecoratedEvent) GetEthV1EventsContributionAndProof() *v1.EventContributionAndProof { if x, ok := x.GetData().(*DecoratedEvent_EthV1EventsContributionAndProof); ok { return x.EthV1EventsContributionAndProof @@ -1254,6 +1691,7 @@ func (x *DecoratedEvent) GetEthV1EventsContributionAndProof() *v1.EventContribut return nil } +// Deprecated: Marked as deprecated in pkg/proto/xatu/event_ingester.proto. func (x *DecoratedEvent) GetMempoolTransaction() string { if x, ok := x.GetData().(*DecoratedEvent_MempoolTransaction); ok { return x.MempoolTransaction @@ -1261,6 +1699,7 @@ func (x *DecoratedEvent) GetMempoolTransaction() string { return "" } +// Deprecated: Marked as deprecated in pkg/proto/xatu/event_ingester.proto. func (x *DecoratedEvent) GetEthV2BeaconBlock() *v2.EventBlock { if x, ok := x.GetData().(*DecoratedEvent_EthV2BeaconBlock); ok { return x.EthV2BeaconBlock @@ -1268,6 +1707,7 @@ func (x *DecoratedEvent) GetEthV2BeaconBlock() *v2.EventBlock { return nil } +// Deprecated: Marked as deprecated in pkg/proto/xatu/event_ingester.proto. func (x *DecoratedEvent) GetEthV1ForkChoice() *v1.ForkChoice { if x, ok := x.GetData().(*DecoratedEvent_EthV1ForkChoice); ok { return x.EthV1ForkChoice @@ -1275,6 +1715,7 @@ func (x *DecoratedEvent) GetEthV1ForkChoice() *v1.ForkChoice { return nil } +// Deprecated: Marked as deprecated in pkg/proto/xatu/event_ingester.proto. func (x *DecoratedEvent) GetEthV1ForkChoiceReorg() *DebugForkChoiceReorg { if x, ok := x.GetData().(*DecoratedEvent_EthV1ForkChoiceReorg); ok { return x.EthV1ForkChoiceReorg @@ -1289,58 +1730,146 @@ func (x *DecoratedEvent) GetEthV1BeaconCommittee() *v1.Committee { return nil } -func (x *DecoratedEvent) GetEthV1ValidatorAttestationData() *v1.AttestationData { +func (x *DecoratedEvent) GetEthV1ValidatorAttestationData() *v1.AttestationDataV2 { if x, ok := x.GetData().(*DecoratedEvent_EthV1ValidatorAttestationData); ok { return x.EthV1ValidatorAttestationData } return nil } +func (x *DecoratedEvent) GetEthV1EventsAttestationV2() *v1.AttestationV2 { + if x, ok := x.GetData().(*DecoratedEvent_EthV1EventsAttestationV2); ok { + return x.EthV1EventsAttestationV2 + } + return nil +} + +func (x *DecoratedEvent) GetEthV1EventsBlockV2() *v1.EventBlockV2 { + if x, ok := x.GetData().(*DecoratedEvent_EthV1EventsBlockV2); ok { + return x.EthV1EventsBlockV2 + } + return nil +} + +func (x *DecoratedEvent) GetEthV1EventsChainReorgV2() *v1.EventChainReorgV2 { + if x, ok := x.GetData().(*DecoratedEvent_EthV1EventsChainReorgV2); ok { + return x.EthV1EventsChainReorgV2 + } + return nil +} + +func (x *DecoratedEvent) GetEthV1EventsFinalizedCheckpointV2() *v1.EventFinalizedCheckpointV2 { + if x, ok := x.GetData().(*DecoratedEvent_EthV1EventsFinalizedCheckpointV2); ok { + return x.EthV1EventsFinalizedCheckpointV2 + } + return nil +} + +func (x *DecoratedEvent) GetEthV1EventsHeadV2() *v1.EventHeadV2 { + if x, ok := x.GetData().(*DecoratedEvent_EthV1EventsHeadV2); ok { + return x.EthV1EventsHeadV2 + } + return nil +} + +func (x *DecoratedEvent) GetEthV1EventsVoluntaryExitV2() *v1.EventVoluntaryExitV2 { + if x, ok := x.GetData().(*DecoratedEvent_EthV1EventsVoluntaryExitV2); ok { + return x.EthV1EventsVoluntaryExitV2 + } + return nil +} + +func (x *DecoratedEvent) GetEthV1EventsContributionAndProofV2() *v1.EventContributionAndProofV2 { + if x, ok := x.GetData().(*DecoratedEvent_EthV1EventsContributionAndProofV2); ok { + return x.EthV1EventsContributionAndProofV2 + } + return nil +} + +func (x *DecoratedEvent) GetMempoolTransactionV2() string { + if x, ok := x.GetData().(*DecoratedEvent_MempoolTransactionV2); ok { + return x.MempoolTransactionV2 + } + return "" +} + +func (x *DecoratedEvent) GetEthV2BeaconBlockV2() *v2.EventBlockV2 { + if x, ok := x.GetData().(*DecoratedEvent_EthV2BeaconBlockV2); ok { + return x.EthV2BeaconBlockV2 + } + return nil +} + +func (x *DecoratedEvent) GetEthV1ForkChoiceV2() *v1.ForkChoiceV2 { + if x, ok := x.GetData().(*DecoratedEvent_EthV1ForkChoiceV2); ok { + return x.EthV1ForkChoiceV2 + } + return nil +} + +func (x *DecoratedEvent) GetEthV1ForkChoiceReorgV2() *DebugForkChoiceReorgV2 { + if x, ok := x.GetData().(*DecoratedEvent_EthV1ForkChoiceReorgV2); ok { + return x.EthV1ForkChoiceReorgV2 + } + return nil +} + type isDecoratedEvent_Data interface { isDecoratedEvent_Data() } type DecoratedEvent_EthV1EventsAttestation struct { + // Deprecated: Marked as deprecated in pkg/proto/xatu/event_ingester.proto. EthV1EventsAttestation *v1.Attestation `protobuf:"bytes,3,opt,name=eth_v1_events_attestation,json=BEACON_API_ETH_V1_EVENTS_ATTESTATION,proto3,oneof"` } type DecoratedEvent_EthV1EventsBlock struct { + // Deprecated: Marked as deprecated in pkg/proto/xatu/event_ingester.proto. EthV1EventsBlock *v1.EventBlock `protobuf:"bytes,4,opt,name=eth_v1_events_block,json=BEACON_API_ETH_V1_EVENTS_BLOCK,proto3,oneof"` } type DecoratedEvent_EthV1EventsChainReorg struct { + // Deprecated: Marked as deprecated in pkg/proto/xatu/event_ingester.proto. EthV1EventsChainReorg *v1.EventChainReorg `protobuf:"bytes,5,opt,name=eth_v1_events_chain_reorg,json=BEACON_API_ETH_V1_EVENTS_CHAIN_REORG,proto3,oneof"` } type DecoratedEvent_EthV1EventsFinalizedCheckpoint struct { + // Deprecated: Marked as deprecated in pkg/proto/xatu/event_ingester.proto. EthV1EventsFinalizedCheckpoint *v1.EventFinalizedCheckpoint `protobuf:"bytes,6,opt,name=eth_v1_events_finalized_checkpoint,json=BEACON_API_ETH_V1_EVENTS_FINALIZED_CHECKPOINT,proto3,oneof"` } type DecoratedEvent_EthV1EventsHead struct { + // Deprecated: Marked as deprecated in pkg/proto/xatu/event_ingester.proto. EthV1EventsHead *v1.EventHead `protobuf:"bytes,7,opt,name=eth_v1_events_head,json=BEACON_API_ETH_V1_EVENTS_HEAD,proto3,oneof"` } type DecoratedEvent_EthV1EventsVoluntaryExit struct { + // Deprecated: Marked as deprecated in pkg/proto/xatu/event_ingester.proto. EthV1EventsVoluntaryExit *v1.EventVoluntaryExit `protobuf:"bytes,8,opt,name=eth_v1_events_voluntary_exit,json=BEACON_API_ETH_V1_EVENTS_VOLUNTARY_EXIT,proto3,oneof"` } type DecoratedEvent_EthV1EventsContributionAndProof struct { + // Deprecated: Marked as deprecated in pkg/proto/xatu/event_ingester.proto. EthV1EventsContributionAndProof *v1.EventContributionAndProof `protobuf:"bytes,9,opt,name=eth_v1_events_contribution_and_proof,json=BEACON_API_ETH_V1_EVENTS_CONTRIBUTION_AND_PROOF,proto3,oneof"` } type DecoratedEvent_MempoolTransaction struct { + // Deprecated: Marked as deprecated in pkg/proto/xatu/event_ingester.proto. MempoolTransaction string `protobuf:"bytes,10,opt,name=mempool_transaction,json=MEMPOOL_TRANSACTION,proto3,oneof"` } type DecoratedEvent_EthV2BeaconBlock struct { + // Deprecated: Marked as deprecated in pkg/proto/xatu/event_ingester.proto. EthV2BeaconBlock *v2.EventBlock `protobuf:"bytes,11,opt,name=eth_v2_beacon_block,json=BEACON_API_ETH_V2_BEACON_BLOCK,proto3,oneof"` } type DecoratedEvent_EthV1ForkChoice struct { + // Deprecated: Marked as deprecated in pkg/proto/xatu/event_ingester.proto. EthV1ForkChoice *v1.ForkChoice `protobuf:"bytes,12,opt,name=eth_v1_fork_choice,json=BEACON_API_ETH_V1_DEBUG_FORK_CHOICE,proto3,oneof"` } type DecoratedEvent_EthV1ForkChoiceReorg struct { + // Deprecated: Marked as deprecated in pkg/proto/xatu/event_ingester.proto. EthV1ForkChoiceReorg *DebugForkChoiceReorg `protobuf:"bytes,13,opt,name=eth_v1_fork_choice_reorg,json=BEACON_API_ETH_V1_DEBUG_FORK_CHOICE_REORG,proto3,oneof"` } @@ -1349,7 +1878,51 @@ type DecoratedEvent_EthV1BeaconCommittee struct { } type DecoratedEvent_EthV1ValidatorAttestationData struct { - EthV1ValidatorAttestationData *v1.AttestationData `protobuf:"bytes,15,opt,name=eth_v1_validator_attestation_data,json=BEACON_API_ETH_V1_VALIDATOR_ATTESTATION_DATA,proto3,oneof"` + EthV1ValidatorAttestationData *v1.AttestationDataV2 `protobuf:"bytes,15,opt,name=eth_v1_validator_attestation_data,json=BEACON_API_ETH_V1_VALIDATOR_ATTESTATION_DATA,proto3,oneof"` +} + +type DecoratedEvent_EthV1EventsAttestationV2 struct { + EthV1EventsAttestationV2 *v1.AttestationV2 `protobuf:"bytes,16,opt,name=eth_v1_events_attestation_v2,json=BEACON_API_ETH_V1_EVENTS_ATTESTATION_V2,proto3,oneof"` +} + +type DecoratedEvent_EthV1EventsBlockV2 struct { + EthV1EventsBlockV2 *v1.EventBlockV2 `protobuf:"bytes,17,opt,name=eth_v1_events_block_v2,json=BEACON_API_ETH_V1_EVENTS_BLOCK_V2,proto3,oneof"` +} + +type DecoratedEvent_EthV1EventsChainReorgV2 struct { + EthV1EventsChainReorgV2 *v1.EventChainReorgV2 `protobuf:"bytes,18,opt,name=eth_v1_events_chain_reorg_v2,json=BEACON_API_ETH_V1_EVENTS_CHAIN_REORG_V2,proto3,oneof"` +} + +type DecoratedEvent_EthV1EventsFinalizedCheckpointV2 struct { + EthV1EventsFinalizedCheckpointV2 *v1.EventFinalizedCheckpointV2 `protobuf:"bytes,19,opt,name=eth_v1_events_finalized_checkpoint_v2,json=BEACON_API_ETH_V1_EVENTS_FINALIZED_CHECKPOINT_V2,proto3,oneof"` +} + +type DecoratedEvent_EthV1EventsHeadV2 struct { + EthV1EventsHeadV2 *v1.EventHeadV2 `protobuf:"bytes,20,opt,name=eth_v1_events_head_v2,json=BEACON_API_ETH_V1_EVENTS_HEAD_V2,proto3,oneof"` +} + +type DecoratedEvent_EthV1EventsVoluntaryExitV2 struct { + EthV1EventsVoluntaryExitV2 *v1.EventVoluntaryExitV2 `protobuf:"bytes,21,opt,name=eth_v1_events_voluntary_exit_v2,json=BEACON_API_ETH_V1_EVENTS_VOLUNTARY_EXIT_V2,proto3,oneof"` +} + +type DecoratedEvent_EthV1EventsContributionAndProofV2 struct { + EthV1EventsContributionAndProofV2 *v1.EventContributionAndProofV2 `protobuf:"bytes,22,opt,name=eth_v1_events_contribution_and_proof_v2,json=BEACON_API_ETH_V1_EVENTS_CONTRIBUTION_AND_PROOF_V2,proto3,oneof"` +} + +type DecoratedEvent_MempoolTransactionV2 struct { + MempoolTransactionV2 string `protobuf:"bytes,23,opt,name=mempool_transaction_v2,json=MEMPOOL_TRANSACTION_V2,proto3,oneof"` +} + +type DecoratedEvent_EthV2BeaconBlockV2 struct { + EthV2BeaconBlockV2 *v2.EventBlockV2 `protobuf:"bytes,24,opt,name=eth_v2_beacon_block_v2,json=BEACON_API_ETH_V2_BEACON_BLOCK_V2,proto3,oneof"` +} + +type DecoratedEvent_EthV1ForkChoiceV2 struct { + EthV1ForkChoiceV2 *v1.ForkChoiceV2 `protobuf:"bytes,25,opt,name=eth_v1_fork_choice_v2,json=BEACON_API_ETH_V1_DEBUG_FORK_CHOICE_V2,proto3,oneof"` +} + +type DecoratedEvent_EthV1ForkChoiceReorgV2 struct { + EthV1ForkChoiceReorgV2 *DebugForkChoiceReorgV2 `protobuf:"bytes,26,opt,name=eth_v1_fork_choice_reorg_v2,json=BEACON_API_ETH_V1_DEBUG_FORK_CHOICE_REORG_V2,proto3,oneof"` } func (*DecoratedEvent_EthV1EventsAttestation) isDecoratedEvent_Data() {} @@ -1378,6 +1951,28 @@ func (*DecoratedEvent_EthV1BeaconCommittee) isDecoratedEvent_Data() {} func (*DecoratedEvent_EthV1ValidatorAttestationData) isDecoratedEvent_Data() {} +func (*DecoratedEvent_EthV1EventsAttestationV2) isDecoratedEvent_Data() {} + +func (*DecoratedEvent_EthV1EventsBlockV2) isDecoratedEvent_Data() {} + +func (*DecoratedEvent_EthV1EventsChainReorgV2) isDecoratedEvent_Data() {} + +func (*DecoratedEvent_EthV1EventsFinalizedCheckpointV2) isDecoratedEvent_Data() {} + +func (*DecoratedEvent_EthV1EventsHeadV2) isDecoratedEvent_Data() {} + +func (*DecoratedEvent_EthV1EventsVoluntaryExitV2) isDecoratedEvent_Data() {} + +func (*DecoratedEvent_EthV1EventsContributionAndProofV2) isDecoratedEvent_Data() {} + +func (*DecoratedEvent_MempoolTransactionV2) isDecoratedEvent_Data() {} + +func (*DecoratedEvent_EthV2BeaconBlockV2) isDecoratedEvent_Data() {} + +func (*DecoratedEvent_EthV1ForkChoiceV2) isDecoratedEvent_Data() {} + +func (*DecoratedEvent_EthV1ForkChoiceReorgV2) isDecoratedEvent_Data() {} + type ClientMeta_Ethereum struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1394,7 +1989,7 @@ type ClientMeta_Ethereum struct { func (x *ClientMeta_Ethereum) Reset() { *x = ClientMeta_Ethereum{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[13] + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1407,7 +2002,7 @@ func (x *ClientMeta_Ethereum) String() string { func (*ClientMeta_Ethereum) ProtoMessage() {} func (x *ClientMeta_Ethereum) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[13] + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1420,7 +2015,7 @@ func (x *ClientMeta_Ethereum) ProtoReflect() protoreflect.Message { // Deprecated: Use ClientMeta_Ethereum.ProtoReflect.Descriptor instead. func (*ClientMeta_Ethereum) Descriptor() ([]byte, []int) { - return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{8, 0} + return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{13, 0} } func (x *ClientMeta_Ethereum) GetNetwork() *ClientMeta_Ethereum_Network { @@ -1456,7 +2051,7 @@ type ClientMeta_AdditionalEthV1AttestationSourceData struct { func (x *ClientMeta_AdditionalEthV1AttestationSourceData) Reset() { *x = ClientMeta_AdditionalEthV1AttestationSourceData{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[15] + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1469,7 +2064,7 @@ func (x *ClientMeta_AdditionalEthV1AttestationSourceData) String() string { func (*ClientMeta_AdditionalEthV1AttestationSourceData) ProtoMessage() {} func (x *ClientMeta_AdditionalEthV1AttestationSourceData) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[15] + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1482,7 +2077,7 @@ func (x *ClientMeta_AdditionalEthV1AttestationSourceData) ProtoReflect() protore // Deprecated: Use ClientMeta_AdditionalEthV1AttestationSourceData.ProtoReflect.Descriptor instead. func (*ClientMeta_AdditionalEthV1AttestationSourceData) Descriptor() ([]byte, []int) { - return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{8, 2} + return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{13, 2} } func (x *ClientMeta_AdditionalEthV1AttestationSourceData) GetEpoch() *Epoch { @@ -1492,32 +2087,32 @@ func (x *ClientMeta_AdditionalEthV1AttestationSourceData) GetEpoch() *Epoch { return nil } -type ClientMeta_AdditionalEthV1AttestationTargetData struct { +type ClientMeta_AdditionalEthV1AttestationSourceV2Data struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Epoch contains the epoch information for the source. - Epoch *Epoch `protobuf:"bytes,1,opt,name=epoch,proto3" json:"epoch,omitempty"` + Epoch *EpochV2 `protobuf:"bytes,1,opt,name=epoch,proto3" json:"epoch,omitempty"` } -func (x *ClientMeta_AdditionalEthV1AttestationTargetData) Reset() { - *x = ClientMeta_AdditionalEthV1AttestationTargetData{} +func (x *ClientMeta_AdditionalEthV1AttestationSourceV2Data) Reset() { + *x = ClientMeta_AdditionalEthV1AttestationSourceV2Data{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[16] + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ClientMeta_AdditionalEthV1AttestationTargetData) String() string { +func (x *ClientMeta_AdditionalEthV1AttestationSourceV2Data) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ClientMeta_AdditionalEthV1AttestationTargetData) ProtoMessage() {} +func (*ClientMeta_AdditionalEthV1AttestationSourceV2Data) ProtoMessage() {} -func (x *ClientMeta_AdditionalEthV1AttestationTargetData) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[16] +func (x *ClientMeta_AdditionalEthV1AttestationSourceV2Data) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1528,44 +2123,140 @@ func (x *ClientMeta_AdditionalEthV1AttestationTargetData) ProtoReflect() protore return mi.MessageOf(x) } -// Deprecated: Use ClientMeta_AdditionalEthV1AttestationTargetData.ProtoReflect.Descriptor instead. -func (*ClientMeta_AdditionalEthV1AttestationTargetData) Descriptor() ([]byte, []int) { - return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{8, 3} +// Deprecated: Use ClientMeta_AdditionalEthV1AttestationSourceV2Data.ProtoReflect.Descriptor instead. +func (*ClientMeta_AdditionalEthV1AttestationSourceV2Data) Descriptor() ([]byte, []int) { + return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{13, 3} } -func (x *ClientMeta_AdditionalEthV1AttestationTargetData) GetEpoch() *Epoch { +func (x *ClientMeta_AdditionalEthV1AttestationSourceV2Data) GetEpoch() *EpochV2 { if x != nil { return x.Epoch } return nil } -type ClientMeta_AdditionalEthV1EventsAttestationData struct { +type ClientMeta_AdditionalEthV1AttestationTargetData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Source contains information for the best currently justified checkpoint. - Source *ClientMeta_AdditionalEthV1AttestationSourceData `protobuf:"bytes,1,opt,name=source,proto3" json:"source,omitempty"` - // Target contains information of the block at the start of the current - // epoch. - Target *ClientMeta_AdditionalEthV1AttestationTargetData `protobuf:"bytes,2,opt,name=target,proto3" json:"target,omitempty"` - // Slot contains the slot information for the attestation. - Slot *Slot `protobuf:"bytes,3,opt,name=slot,proto3" json:"slot,omitempty"` - // Epoch contains the epoch information for the attestation. - Epoch *Epoch `protobuf:"bytes,4,opt,name=epoch,proto3" json:"epoch,omitempty"` - // Propagation contains information about the propagation of the - // attestation. - Propagation *Propagation `protobuf:"bytes,5,opt,name=propagation,proto3" json:"propagation,omitempty"` - // AttestingValidator contains data about the validator that created the attestation. - // Note: only available for unaggregated attestations. - AttestingValidator *AttestingValidator `protobuf:"bytes,6,opt,name=attesting_validator,proto3" json:"attesting_validator,omitempty"` -} + // Epoch contains the epoch information for the source. + Epoch *Epoch `protobuf:"bytes,1,opt,name=epoch,proto3" json:"epoch,omitempty"` +} + +func (x *ClientMeta_AdditionalEthV1AttestationTargetData) Reset() { + *x = ClientMeta_AdditionalEthV1AttestationTargetData{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ClientMeta_AdditionalEthV1AttestationTargetData) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ClientMeta_AdditionalEthV1AttestationTargetData) ProtoMessage() {} + +func (x *ClientMeta_AdditionalEthV1AttestationTargetData) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[22] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ClientMeta_AdditionalEthV1AttestationTargetData.ProtoReflect.Descriptor instead. +func (*ClientMeta_AdditionalEthV1AttestationTargetData) Descriptor() ([]byte, []int) { + return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{13, 4} +} + +func (x *ClientMeta_AdditionalEthV1AttestationTargetData) GetEpoch() *Epoch { + if x != nil { + return x.Epoch + } + return nil +} + +type ClientMeta_AdditionalEthV1AttestationTargetV2Data struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Epoch contains the epoch information for the source. + Epoch *EpochV2 `protobuf:"bytes,1,opt,name=epoch,proto3" json:"epoch,omitempty"` +} + +func (x *ClientMeta_AdditionalEthV1AttestationTargetV2Data) Reset() { + *x = ClientMeta_AdditionalEthV1AttestationTargetV2Data{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ClientMeta_AdditionalEthV1AttestationTargetV2Data) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ClientMeta_AdditionalEthV1AttestationTargetV2Data) ProtoMessage() {} + +func (x *ClientMeta_AdditionalEthV1AttestationTargetV2Data) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[23] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ClientMeta_AdditionalEthV1AttestationTargetV2Data.ProtoReflect.Descriptor instead. +func (*ClientMeta_AdditionalEthV1AttestationTargetV2Data) Descriptor() ([]byte, []int) { + return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{13, 5} +} + +func (x *ClientMeta_AdditionalEthV1AttestationTargetV2Data) GetEpoch() *EpochV2 { + if x != nil { + return x.Epoch + } + return nil +} + +type ClientMeta_AdditionalEthV1EventsAttestationData struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Source contains information for the best currently justified checkpoint. + Source *ClientMeta_AdditionalEthV1AttestationSourceData `protobuf:"bytes,1,opt,name=source,proto3" json:"source,omitempty"` + // Target contains information of the block at the start of the current + // epoch. + Target *ClientMeta_AdditionalEthV1AttestationTargetData `protobuf:"bytes,2,opt,name=target,proto3" json:"target,omitempty"` + // Slot contains the slot information for the attestation. + Slot *Slot `protobuf:"bytes,3,opt,name=slot,proto3" json:"slot,omitempty"` + // Epoch contains the epoch information for the attestation. + Epoch *Epoch `protobuf:"bytes,4,opt,name=epoch,proto3" json:"epoch,omitempty"` + // Propagation contains information about the propagation of the + // attestation. + Propagation *Propagation `protobuf:"bytes,5,opt,name=propagation,proto3" json:"propagation,omitempty"` + // AttestingValidator contains data about the validator that created the attestation. + // Note: only available for unaggregated attestations. + AttestingValidator *AttestingValidator `protobuf:"bytes,6,opt,name=attesting_validator,proto3" json:"attesting_validator,omitempty"` +} func (x *ClientMeta_AdditionalEthV1EventsAttestationData) Reset() { *x = ClientMeta_AdditionalEthV1EventsAttestationData{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[17] + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1578,7 +2269,7 @@ func (x *ClientMeta_AdditionalEthV1EventsAttestationData) String() string { func (*ClientMeta_AdditionalEthV1EventsAttestationData) ProtoMessage() {} func (x *ClientMeta_AdditionalEthV1EventsAttestationData) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[17] + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1591,7 +2282,7 @@ func (x *ClientMeta_AdditionalEthV1EventsAttestationData) ProtoReflect() protore // Deprecated: Use ClientMeta_AdditionalEthV1EventsAttestationData.ProtoReflect.Descriptor instead. func (*ClientMeta_AdditionalEthV1EventsAttestationData) Descriptor() ([]byte, []int) { - return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{8, 4} + return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{13, 6} } func (x *ClientMeta_AdditionalEthV1EventsAttestationData) GetSource() *ClientMeta_AdditionalEthV1AttestationSourceData { @@ -1636,36 +2327,45 @@ func (x *ClientMeta_AdditionalEthV1EventsAttestationData) GetAttestingValidator( return nil } -type ClientMeta_AdditionalEthV1EventsHeadData struct { +type ClientMeta_AdditionalEthV1EventsAttestationV2Data struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Epoch contains the epoch information for the head. - Epoch *Epoch `protobuf:"bytes,1,opt,name=epoch,proto3" json:"epoch,omitempty"` - // Slot contains the slot information for the head event. - Slot *Slot `protobuf:"bytes,2,opt,name=slot,proto3" json:"slot,omitempty"` - // Propagation contains information about the propagation of the head. - Propagation *Propagation `protobuf:"bytes,3,opt,name=propagation,proto3" json:"propagation,omitempty"` + // Source contains information for the best currently justified checkpoint. + Source *ClientMeta_AdditionalEthV1AttestationSourceV2Data `protobuf:"bytes,1,opt,name=source,proto3" json:"source,omitempty"` + // Target contains information of the block at the start of the current + // epoch. + Target *ClientMeta_AdditionalEthV1AttestationTargetV2Data `protobuf:"bytes,2,opt,name=target,proto3" json:"target,omitempty"` + // Slot contains the slot information for the attestation. + Slot *SlotV2 `protobuf:"bytes,3,opt,name=slot,proto3" json:"slot,omitempty"` + // Epoch contains the epoch information for the attestation. + Epoch *EpochV2 `protobuf:"bytes,4,opt,name=epoch,proto3" json:"epoch,omitempty"` + // Propagation contains information about the propagation of the + // attestation. + Propagation *PropagationV2 `protobuf:"bytes,5,opt,name=propagation,proto3" json:"propagation,omitempty"` + // AttestingValidator contains data about the validator that created the attestation. + // Note: only available for unaggregated attestations. + AttestingValidator *AttestingValidatorV2 `protobuf:"bytes,6,opt,name=attesting_validator,proto3" json:"attesting_validator,omitempty"` } -func (x *ClientMeta_AdditionalEthV1EventsHeadData) Reset() { - *x = ClientMeta_AdditionalEthV1EventsHeadData{} +func (x *ClientMeta_AdditionalEthV1EventsAttestationV2Data) Reset() { + *x = ClientMeta_AdditionalEthV1EventsAttestationV2Data{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[18] + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ClientMeta_AdditionalEthV1EventsHeadData) String() string { +func (x *ClientMeta_AdditionalEthV1EventsAttestationV2Data) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ClientMeta_AdditionalEthV1EventsHeadData) ProtoMessage() {} +func (*ClientMeta_AdditionalEthV1EventsAttestationV2Data) ProtoMessage() {} -func (x *ClientMeta_AdditionalEthV1EventsHeadData) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[18] +func (x *ClientMeta_AdditionalEthV1EventsAttestationV2Data) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[25] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1676,62 +2376,83 @@ func (x *ClientMeta_AdditionalEthV1EventsHeadData) ProtoReflect() protoreflect.M return mi.MessageOf(x) } -// Deprecated: Use ClientMeta_AdditionalEthV1EventsHeadData.ProtoReflect.Descriptor instead. -func (*ClientMeta_AdditionalEthV1EventsHeadData) Descriptor() ([]byte, []int) { - return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{8, 5} +// Deprecated: Use ClientMeta_AdditionalEthV1EventsAttestationV2Data.ProtoReflect.Descriptor instead. +func (*ClientMeta_AdditionalEthV1EventsAttestationV2Data) Descriptor() ([]byte, []int) { + return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{13, 7} } -func (x *ClientMeta_AdditionalEthV1EventsHeadData) GetEpoch() *Epoch { +func (x *ClientMeta_AdditionalEthV1EventsAttestationV2Data) GetSource() *ClientMeta_AdditionalEthV1AttestationSourceV2Data { if x != nil { - return x.Epoch + return x.Source } return nil } -func (x *ClientMeta_AdditionalEthV1EventsHeadData) GetSlot() *Slot { +func (x *ClientMeta_AdditionalEthV1EventsAttestationV2Data) GetTarget() *ClientMeta_AdditionalEthV1AttestationTargetV2Data { + if x != nil { + return x.Target + } + return nil +} + +func (x *ClientMeta_AdditionalEthV1EventsAttestationV2Data) GetSlot() *SlotV2 { if x != nil { return x.Slot } return nil } -func (x *ClientMeta_AdditionalEthV1EventsHeadData) GetPropagation() *Propagation { +func (x *ClientMeta_AdditionalEthV1EventsAttestationV2Data) GetEpoch() *EpochV2 { + if x != nil { + return x.Epoch + } + return nil +} + +func (x *ClientMeta_AdditionalEthV1EventsAttestationV2Data) GetPropagation() *PropagationV2 { if x != nil { return x.Propagation } return nil } -type ClientMeta_AdditionalEthV1EventsBlockData struct { +func (x *ClientMeta_AdditionalEthV1EventsAttestationV2Data) GetAttestingValidator() *AttestingValidatorV2 { + if x != nil { + return x.AttestingValidator + } + return nil +} + +type ClientMeta_AdditionalEthV1EventsHeadData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Epoch contains the epoch information for the block. + // Epoch contains the epoch information for the head. Epoch *Epoch `protobuf:"bytes,1,opt,name=epoch,proto3" json:"epoch,omitempty"` - // Slot contains the slot information for the block. + // Slot contains the slot information for the head event. Slot *Slot `protobuf:"bytes,2,opt,name=slot,proto3" json:"slot,omitempty"` - // Propagation contains information about the propagation of the block. + // Propagation contains information about the propagation of the head. Propagation *Propagation `protobuf:"bytes,3,opt,name=propagation,proto3" json:"propagation,omitempty"` } -func (x *ClientMeta_AdditionalEthV1EventsBlockData) Reset() { - *x = ClientMeta_AdditionalEthV1EventsBlockData{} +func (x *ClientMeta_AdditionalEthV1EventsHeadData) Reset() { + *x = ClientMeta_AdditionalEthV1EventsHeadData{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[19] + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ClientMeta_AdditionalEthV1EventsBlockData) String() string { +func (x *ClientMeta_AdditionalEthV1EventsHeadData) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ClientMeta_AdditionalEthV1EventsBlockData) ProtoMessage() {} +func (*ClientMeta_AdditionalEthV1EventsHeadData) ProtoMessage() {} -func (x *ClientMeta_AdditionalEthV1EventsBlockData) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[19] +func (x *ClientMeta_AdditionalEthV1EventsHeadData) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[26] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1742,58 +2463,62 @@ func (x *ClientMeta_AdditionalEthV1EventsBlockData) ProtoReflect() protoreflect. return mi.MessageOf(x) } -// Deprecated: Use ClientMeta_AdditionalEthV1EventsBlockData.ProtoReflect.Descriptor instead. -func (*ClientMeta_AdditionalEthV1EventsBlockData) Descriptor() ([]byte, []int) { - return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{8, 6} +// Deprecated: Use ClientMeta_AdditionalEthV1EventsHeadData.ProtoReflect.Descriptor instead. +func (*ClientMeta_AdditionalEthV1EventsHeadData) Descriptor() ([]byte, []int) { + return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{13, 8} } -func (x *ClientMeta_AdditionalEthV1EventsBlockData) GetEpoch() *Epoch { +func (x *ClientMeta_AdditionalEthV1EventsHeadData) GetEpoch() *Epoch { if x != nil { return x.Epoch } return nil } -func (x *ClientMeta_AdditionalEthV1EventsBlockData) GetSlot() *Slot { +func (x *ClientMeta_AdditionalEthV1EventsHeadData) GetSlot() *Slot { if x != nil { return x.Slot } return nil } -func (x *ClientMeta_AdditionalEthV1EventsBlockData) GetPropagation() *Propagation { +func (x *ClientMeta_AdditionalEthV1EventsHeadData) GetPropagation() *Propagation { if x != nil { return x.Propagation } return nil } -type ClientMeta_AdditionalEthV1EventsVoluntaryExitData struct { +type ClientMeta_AdditionalEthV1EventsHeadV2Data struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Epoch contains the epoch information for the voluntary exit. - Epoch *Epoch `protobuf:"bytes,1,opt,name=epoch,proto3" json:"epoch,omitempty"` + // Epoch contains the epoch information for the head. + Epoch *EpochV2 `protobuf:"bytes,1,opt,name=epoch,proto3" json:"epoch,omitempty"` + // Slot contains the slot information for the head event. + Slot *SlotV2 `protobuf:"bytes,2,opt,name=slot,proto3" json:"slot,omitempty"` + // Propagation contains information about the propagation of the head. + Propagation *PropagationV2 `protobuf:"bytes,3,opt,name=propagation,proto3" json:"propagation,omitempty"` } -func (x *ClientMeta_AdditionalEthV1EventsVoluntaryExitData) Reset() { - *x = ClientMeta_AdditionalEthV1EventsVoluntaryExitData{} +func (x *ClientMeta_AdditionalEthV1EventsHeadV2Data) Reset() { + *x = ClientMeta_AdditionalEthV1EventsHeadV2Data{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[20] + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ClientMeta_AdditionalEthV1EventsVoluntaryExitData) String() string { +func (x *ClientMeta_AdditionalEthV1EventsHeadV2Data) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ClientMeta_AdditionalEthV1EventsVoluntaryExitData) ProtoMessage() {} +func (*ClientMeta_AdditionalEthV1EventsHeadV2Data) ProtoMessage() {} -func (x *ClientMeta_AdditionalEthV1EventsVoluntaryExitData) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[20] +func (x *ClientMeta_AdditionalEthV1EventsHeadV2Data) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[27] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1804,44 +2529,62 @@ func (x *ClientMeta_AdditionalEthV1EventsVoluntaryExitData) ProtoReflect() proto return mi.MessageOf(x) } -// Deprecated: Use ClientMeta_AdditionalEthV1EventsVoluntaryExitData.ProtoReflect.Descriptor instead. -func (*ClientMeta_AdditionalEthV1EventsVoluntaryExitData) Descriptor() ([]byte, []int) { - return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{8, 7} +// Deprecated: Use ClientMeta_AdditionalEthV1EventsHeadV2Data.ProtoReflect.Descriptor instead. +func (*ClientMeta_AdditionalEthV1EventsHeadV2Data) Descriptor() ([]byte, []int) { + return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{13, 9} } -func (x *ClientMeta_AdditionalEthV1EventsVoluntaryExitData) GetEpoch() *Epoch { +func (x *ClientMeta_AdditionalEthV1EventsHeadV2Data) GetEpoch() *EpochV2 { if x != nil { return x.Epoch } return nil } -type ClientMeta_AdditionalEthV1EventsFinalizedCheckpointData struct { +func (x *ClientMeta_AdditionalEthV1EventsHeadV2Data) GetSlot() *SlotV2 { + if x != nil { + return x.Slot + } + return nil +} + +func (x *ClientMeta_AdditionalEthV1EventsHeadV2Data) GetPropagation() *PropagationV2 { + if x != nil { + return x.Propagation + } + return nil +} + +type ClientMeta_AdditionalEthV1EventsBlockData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Epoch contains the epoch information for the finalized checkpoint. + // Epoch contains the epoch information for the block. Epoch *Epoch `protobuf:"bytes,1,opt,name=epoch,proto3" json:"epoch,omitempty"` + // Slot contains the slot information for the block. + Slot *Slot `protobuf:"bytes,2,opt,name=slot,proto3" json:"slot,omitempty"` + // Propagation contains information about the propagation of the block. + Propagation *Propagation `protobuf:"bytes,3,opt,name=propagation,proto3" json:"propagation,omitempty"` } -func (x *ClientMeta_AdditionalEthV1EventsFinalizedCheckpointData) Reset() { - *x = ClientMeta_AdditionalEthV1EventsFinalizedCheckpointData{} +func (x *ClientMeta_AdditionalEthV1EventsBlockData) Reset() { + *x = ClientMeta_AdditionalEthV1EventsBlockData{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[21] + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ClientMeta_AdditionalEthV1EventsFinalizedCheckpointData) String() string { +func (x *ClientMeta_AdditionalEthV1EventsBlockData) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ClientMeta_AdditionalEthV1EventsFinalizedCheckpointData) ProtoMessage() {} +func (*ClientMeta_AdditionalEthV1EventsBlockData) ProtoMessage() {} -func (x *ClientMeta_AdditionalEthV1EventsFinalizedCheckpointData) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[21] +func (x *ClientMeta_AdditionalEthV1EventsBlockData) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[28] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1852,49 +2595,62 @@ func (x *ClientMeta_AdditionalEthV1EventsFinalizedCheckpointData) ProtoReflect() return mi.MessageOf(x) } -// Deprecated: Use ClientMeta_AdditionalEthV1EventsFinalizedCheckpointData.ProtoReflect.Descriptor instead. -func (*ClientMeta_AdditionalEthV1EventsFinalizedCheckpointData) Descriptor() ([]byte, []int) { - return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{8, 8} +// Deprecated: Use ClientMeta_AdditionalEthV1EventsBlockData.ProtoReflect.Descriptor instead. +func (*ClientMeta_AdditionalEthV1EventsBlockData) Descriptor() ([]byte, []int) { + return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{13, 10} } -func (x *ClientMeta_AdditionalEthV1EventsFinalizedCheckpointData) GetEpoch() *Epoch { +func (x *ClientMeta_AdditionalEthV1EventsBlockData) GetEpoch() *Epoch { if x != nil { return x.Epoch } return nil } -type ClientMeta_AdditionalEthV1EventsChainReorgData struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +func (x *ClientMeta_AdditionalEthV1EventsBlockData) GetSlot() *Slot { + if x != nil { + return x.Slot + } + return nil +} - // Epoch contains the epoch information for the chain reorg. - Epoch *Epoch `protobuf:"bytes,1,opt,name=epoch,proto3" json:"epoch,omitempty"` - // Slot contains the slot information for the chain reorg. - Slot *Slot `protobuf:"bytes,2,opt,name=slot,proto3" json:"slot,omitempty"` - // Propagation contains information about the propagation of the chain - // reorg. - Propagation *Propagation `protobuf:"bytes,3,opt,name=propagation,proto3" json:"propagation,omitempty"` +func (x *ClientMeta_AdditionalEthV1EventsBlockData) GetPropagation() *Propagation { + if x != nil { + return x.Propagation + } + return nil } -func (x *ClientMeta_AdditionalEthV1EventsChainReorgData) Reset() { - *x = ClientMeta_AdditionalEthV1EventsChainReorgData{} +type ClientMeta_AdditionalEthV1EventsBlockV2Data struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Epoch contains the epoch information for the block. + Epoch *EpochV2 `protobuf:"bytes,1,opt,name=epoch,proto3" json:"epoch,omitempty"` + // Slot contains the slot information for the block. + Slot *SlotV2 `protobuf:"bytes,2,opt,name=slot,proto3" json:"slot,omitempty"` + // Propagation contains information about the propagation of the block. + Propagation *PropagationV2 `protobuf:"bytes,3,opt,name=propagation,proto3" json:"propagation,omitempty"` +} + +func (x *ClientMeta_AdditionalEthV1EventsBlockV2Data) Reset() { + *x = ClientMeta_AdditionalEthV1EventsBlockV2Data{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[22] + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ClientMeta_AdditionalEthV1EventsChainReorgData) String() string { +func (x *ClientMeta_AdditionalEthV1EventsBlockV2Data) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ClientMeta_AdditionalEthV1EventsChainReorgData) ProtoMessage() {} +func (*ClientMeta_AdditionalEthV1EventsBlockV2Data) ProtoMessage() {} -func (x *ClientMeta_AdditionalEthV1EventsChainReorgData) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[22] +func (x *ClientMeta_AdditionalEthV1EventsBlockV2Data) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[29] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1905,63 +2661,58 @@ func (x *ClientMeta_AdditionalEthV1EventsChainReorgData) ProtoReflect() protoref return mi.MessageOf(x) } -// Deprecated: Use ClientMeta_AdditionalEthV1EventsChainReorgData.ProtoReflect.Descriptor instead. -func (*ClientMeta_AdditionalEthV1EventsChainReorgData) Descriptor() ([]byte, []int) { - return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{8, 9} +// Deprecated: Use ClientMeta_AdditionalEthV1EventsBlockV2Data.ProtoReflect.Descriptor instead. +func (*ClientMeta_AdditionalEthV1EventsBlockV2Data) Descriptor() ([]byte, []int) { + return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{13, 11} } -func (x *ClientMeta_AdditionalEthV1EventsChainReorgData) GetEpoch() *Epoch { +func (x *ClientMeta_AdditionalEthV1EventsBlockV2Data) GetEpoch() *EpochV2 { if x != nil { return x.Epoch } return nil } -func (x *ClientMeta_AdditionalEthV1EventsChainReorgData) GetSlot() *Slot { +func (x *ClientMeta_AdditionalEthV1EventsBlockV2Data) GetSlot() *SlotV2 { if x != nil { return x.Slot } return nil } -func (x *ClientMeta_AdditionalEthV1EventsChainReorgData) GetPropagation() *Propagation { +func (x *ClientMeta_AdditionalEthV1EventsBlockV2Data) GetPropagation() *PropagationV2 { if x != nil { return x.Propagation } return nil } -type ClientMeta_AdditionalEthV1EventsContributionAndProofContributionData struct { +type ClientMeta_AdditionalEthV1EventsVoluntaryExitData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Epoch contains the epoch information for the contribution and proof. + // Epoch contains the epoch information for the voluntary exit. Epoch *Epoch `protobuf:"bytes,1,opt,name=epoch,proto3" json:"epoch,omitempty"` - // Slot contains the slot information for the contribution and proof. - Slot *Slot `protobuf:"bytes,2,opt,name=slot,proto3" json:"slot,omitempty"` - // Propagation contains information about the propagation of the - // contribution and proof. - Propagation *Propagation `protobuf:"bytes,3,opt,name=propagation,proto3" json:"propagation,omitempty"` } -func (x *ClientMeta_AdditionalEthV1EventsContributionAndProofContributionData) Reset() { - *x = ClientMeta_AdditionalEthV1EventsContributionAndProofContributionData{} +func (x *ClientMeta_AdditionalEthV1EventsVoluntaryExitData) Reset() { + *x = ClientMeta_AdditionalEthV1EventsVoluntaryExitData{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[23] + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ClientMeta_AdditionalEthV1EventsContributionAndProofContributionData) String() string { +func (x *ClientMeta_AdditionalEthV1EventsVoluntaryExitData) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ClientMeta_AdditionalEthV1EventsContributionAndProofContributionData) ProtoMessage() {} +func (*ClientMeta_AdditionalEthV1EventsVoluntaryExitData) ProtoMessage() {} -func (x *ClientMeta_AdditionalEthV1EventsContributionAndProofContributionData) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[23] +func (x *ClientMeta_AdditionalEthV1EventsVoluntaryExitData) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[30] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1972,57 +2723,44 @@ func (x *ClientMeta_AdditionalEthV1EventsContributionAndProofContributionData) P return mi.MessageOf(x) } -// Deprecated: Use ClientMeta_AdditionalEthV1EventsContributionAndProofContributionData.ProtoReflect.Descriptor instead. -func (*ClientMeta_AdditionalEthV1EventsContributionAndProofContributionData) Descriptor() ([]byte, []int) { - return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{8, 10} +// Deprecated: Use ClientMeta_AdditionalEthV1EventsVoluntaryExitData.ProtoReflect.Descriptor instead. +func (*ClientMeta_AdditionalEthV1EventsVoluntaryExitData) Descriptor() ([]byte, []int) { + return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{13, 12} } -func (x *ClientMeta_AdditionalEthV1EventsContributionAndProofContributionData) GetEpoch() *Epoch { +func (x *ClientMeta_AdditionalEthV1EventsVoluntaryExitData) GetEpoch() *Epoch { if x != nil { return x.Epoch } return nil } -func (x *ClientMeta_AdditionalEthV1EventsContributionAndProofContributionData) GetSlot() *Slot { - if x != nil { - return x.Slot - } - return nil -} - -func (x *ClientMeta_AdditionalEthV1EventsContributionAndProofContributionData) GetPropagation() *Propagation { - if x != nil { - return x.Propagation - } - return nil -} - -type ClientMeta_AdditionalEthV1EventsContributionAndProofData struct { +type ClientMeta_AdditionalEthV1EventsVoluntaryExitV2Data struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Contribution *ClientMeta_AdditionalEthV1EventsContributionAndProofContributionData `protobuf:"bytes,1,opt,name=contribution,proto3" json:"contribution,omitempty"` + // Epoch contains the epoch information for the voluntary exit. + Epoch *EpochV2 `protobuf:"bytes,1,opt,name=epoch,proto3" json:"epoch,omitempty"` } -func (x *ClientMeta_AdditionalEthV1EventsContributionAndProofData) Reset() { - *x = ClientMeta_AdditionalEthV1EventsContributionAndProofData{} +func (x *ClientMeta_AdditionalEthV1EventsVoluntaryExitV2Data) Reset() { + *x = ClientMeta_AdditionalEthV1EventsVoluntaryExitV2Data{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[24] + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ClientMeta_AdditionalEthV1EventsContributionAndProofData) String() string { +func (x *ClientMeta_AdditionalEthV1EventsVoluntaryExitV2Data) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ClientMeta_AdditionalEthV1EventsContributionAndProofData) ProtoMessage() {} +func (*ClientMeta_AdditionalEthV1EventsVoluntaryExitV2Data) ProtoMessage() {} -func (x *ClientMeta_AdditionalEthV1EventsContributionAndProofData) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[24] +func (x *ClientMeta_AdditionalEthV1EventsVoluntaryExitV2Data) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[31] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2033,66 +2771,44 @@ func (x *ClientMeta_AdditionalEthV1EventsContributionAndProofData) ProtoReflect( return mi.MessageOf(x) } -// Deprecated: Use ClientMeta_AdditionalEthV1EventsContributionAndProofData.ProtoReflect.Descriptor instead. -func (*ClientMeta_AdditionalEthV1EventsContributionAndProofData) Descriptor() ([]byte, []int) { - return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{8, 11} +// Deprecated: Use ClientMeta_AdditionalEthV1EventsVoluntaryExitV2Data.ProtoReflect.Descriptor instead. +func (*ClientMeta_AdditionalEthV1EventsVoluntaryExitV2Data) Descriptor() ([]byte, []int) { + return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{13, 13} } -func (x *ClientMeta_AdditionalEthV1EventsContributionAndProofData) GetContribution() *ClientMeta_AdditionalEthV1EventsContributionAndProofContributionData { +func (x *ClientMeta_AdditionalEthV1EventsVoluntaryExitV2Data) GetEpoch() *EpochV2 { if x != nil { - return x.Contribution + return x.Epoch } return nil } -type ClientMeta_ForkChoiceSnapshot struct { +type ClientMeta_AdditionalEthV1EventsFinalizedCheckpointData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // RequestEpoch contains the wall clock epoch for when the fork choice was - // requested. - RequestEpoch *Epoch `protobuf:"bytes,1,opt,name=request_epoch,proto3" json:"request_epoch,omitempty"` - // RequestSlot contains the wall clock slot for when the fork choice was - // requested. - RequestSlot *Slot `protobuf:"bytes,2,opt,name=request_slot,proto3" json:"request_slot,omitempty"` - // RequestedAtSlotStartDiffMs is the difference how far in to the slot the - // sentry was when it requested the fork choice snapshot (in milliseconds). - // - // Deprecated: Marked as deprecated in pkg/proto/xatu/event_ingester.proto. - RequestedAtSlotStartDiffMs uint64 `protobuf:"varint,3,opt,name=requested_at_slot_start_diff_ms,proto3" json:"requested_at_slot_start_diff_ms,omitempty"` - // RequestDurationMs is the duration of the fork choice snapshot request - // (in milliseconds). - // - // Deprecated: Marked as deprecated in pkg/proto/xatu/event_ingester.proto. - RequestDurationMs uint64 `protobuf:"varint,4,opt,name=request_duration_ms,proto3" json:"request_duration_ms,omitempty"` - // Timestamp is the timestamp of the fork choice snapshot. - Timestamp *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=timestamp,proto3" json:"timestamp,omitempty"` - // RequestedAtSlotStartDiffMs is the difference how far in to the slot the - // sentry was when it requested the fork choice snapshot (in milliseconds). - RequestedAtSlotStartDiffMsV2 *wrapperspb.UInt64Value `protobuf:"bytes,7,opt,name=requested_at_slot_start_diff_ms_v2,proto3" json:"requested_at_slot_start_diff_ms_v2,omitempty"` - // RequestDurationMs is the duration of the fork choice snapshot request - // (in milliseconds). - RequestDurationMsV2 *wrapperspb.UInt64Value `protobuf:"bytes,8,opt,name=request_duration_ms_v2,proto3" json:"request_duration_ms_v2,omitempty"` + // Epoch contains the epoch information for the finalized checkpoint. + Epoch *Epoch `protobuf:"bytes,1,opt,name=epoch,proto3" json:"epoch,omitempty"` } -func (x *ClientMeta_ForkChoiceSnapshot) Reset() { - *x = ClientMeta_ForkChoiceSnapshot{} +func (x *ClientMeta_AdditionalEthV1EventsFinalizedCheckpointData) Reset() { + *x = ClientMeta_AdditionalEthV1EventsFinalizedCheckpointData{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[25] + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ClientMeta_ForkChoiceSnapshot) String() string { +func (x *ClientMeta_AdditionalEthV1EventsFinalizedCheckpointData) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ClientMeta_ForkChoiceSnapshot) ProtoMessage() {} +func (*ClientMeta_AdditionalEthV1EventsFinalizedCheckpointData) ProtoMessage() {} -func (x *ClientMeta_ForkChoiceSnapshot) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[25] +func (x *ClientMeta_AdditionalEthV1EventsFinalizedCheckpointData) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[32] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2103,87 +2819,97 @@ func (x *ClientMeta_ForkChoiceSnapshot) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ClientMeta_ForkChoiceSnapshot.ProtoReflect.Descriptor instead. -func (*ClientMeta_ForkChoiceSnapshot) Descriptor() ([]byte, []int) { - return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{8, 12} +// Deprecated: Use ClientMeta_AdditionalEthV1EventsFinalizedCheckpointData.ProtoReflect.Descriptor instead. +func (*ClientMeta_AdditionalEthV1EventsFinalizedCheckpointData) Descriptor() ([]byte, []int) { + return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{13, 14} } -func (x *ClientMeta_ForkChoiceSnapshot) GetRequestEpoch() *Epoch { +func (x *ClientMeta_AdditionalEthV1EventsFinalizedCheckpointData) GetEpoch() *Epoch { if x != nil { - return x.RequestEpoch + return x.Epoch } return nil } -func (x *ClientMeta_ForkChoiceSnapshot) GetRequestSlot() *Slot { - if x != nil { - return x.RequestSlot - } - return nil +type ClientMeta_AdditionalEthV1EventsFinalizedCheckpointV2Data struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Epoch contains the epoch information for the finalized checkpoint. + Epoch *EpochV2 `protobuf:"bytes,1,opt,name=epoch,proto3" json:"epoch,omitempty"` } -// Deprecated: Marked as deprecated in pkg/proto/xatu/event_ingester.proto. -func (x *ClientMeta_ForkChoiceSnapshot) GetRequestedAtSlotStartDiffMs() uint64 { - if x != nil { - return x.RequestedAtSlotStartDiffMs +func (x *ClientMeta_AdditionalEthV1EventsFinalizedCheckpointV2Data) Reset() { + *x = ClientMeta_AdditionalEthV1EventsFinalizedCheckpointV2Data{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[33] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return 0 } -// Deprecated: Marked as deprecated in pkg/proto/xatu/event_ingester.proto. -func (x *ClientMeta_ForkChoiceSnapshot) GetRequestDurationMs() uint64 { - if x != nil { - return x.RequestDurationMs - } - return 0 +func (x *ClientMeta_AdditionalEthV1EventsFinalizedCheckpointV2Data) String() string { + return protoimpl.X.MessageStringOf(x) } -func (x *ClientMeta_ForkChoiceSnapshot) GetTimestamp() *timestamppb.Timestamp { - if x != nil { - return x.Timestamp +func (*ClientMeta_AdditionalEthV1EventsFinalizedCheckpointV2Data) ProtoMessage() {} + +func (x *ClientMeta_AdditionalEthV1EventsFinalizedCheckpointV2Data) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[33] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return nil + return mi.MessageOf(x) } -func (x *ClientMeta_ForkChoiceSnapshot) GetRequestedAtSlotStartDiffMsV2() *wrapperspb.UInt64Value { - if x != nil { - return x.RequestedAtSlotStartDiffMsV2 - } - return nil +// Deprecated: Use ClientMeta_AdditionalEthV1EventsFinalizedCheckpointV2Data.ProtoReflect.Descriptor instead. +func (*ClientMeta_AdditionalEthV1EventsFinalizedCheckpointV2Data) Descriptor() ([]byte, []int) { + return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{13, 15} } -func (x *ClientMeta_ForkChoiceSnapshot) GetRequestDurationMsV2() *wrapperspb.UInt64Value { +func (x *ClientMeta_AdditionalEthV1EventsFinalizedCheckpointV2Data) GetEpoch() *EpochV2 { if x != nil { - return x.RequestDurationMsV2 + return x.Epoch } return nil } -type ClientMeta_AdditionalEthV1DebugForkChoiceData struct { +type ClientMeta_AdditionalEthV1EventsChainReorgData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Snapshot *ClientMeta_ForkChoiceSnapshot `protobuf:"bytes,1,opt,name=Snapshot,json=snapshot,proto3" json:"Snapshot,omitempty"` + // Epoch contains the epoch information for the chain reorg. + Epoch *Epoch `protobuf:"bytes,1,opt,name=epoch,proto3" json:"epoch,omitempty"` + // Slot contains the slot information for the chain reorg. + Slot *Slot `protobuf:"bytes,2,opt,name=slot,proto3" json:"slot,omitempty"` + // Propagation contains information about the propagation of the chain + // reorg. + Propagation *Propagation `protobuf:"bytes,3,opt,name=propagation,proto3" json:"propagation,omitempty"` } -func (x *ClientMeta_AdditionalEthV1DebugForkChoiceData) Reset() { - *x = ClientMeta_AdditionalEthV1DebugForkChoiceData{} +func (x *ClientMeta_AdditionalEthV1EventsChainReorgData) Reset() { + *x = ClientMeta_AdditionalEthV1EventsChainReorgData{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[26] + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ClientMeta_AdditionalEthV1DebugForkChoiceData) String() string { +func (x *ClientMeta_AdditionalEthV1EventsChainReorgData) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ClientMeta_AdditionalEthV1DebugForkChoiceData) ProtoMessage() {} +func (*ClientMeta_AdditionalEthV1EventsChainReorgData) ProtoMessage() {} -func (x *ClientMeta_AdditionalEthV1DebugForkChoiceData) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[26] +func (x *ClientMeta_AdditionalEthV1EventsChainReorgData) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[34] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2194,44 +2920,63 @@ func (x *ClientMeta_AdditionalEthV1DebugForkChoiceData) ProtoReflect() protorefl return mi.MessageOf(x) } -// Deprecated: Use ClientMeta_AdditionalEthV1DebugForkChoiceData.ProtoReflect.Descriptor instead. -func (*ClientMeta_AdditionalEthV1DebugForkChoiceData) Descriptor() ([]byte, []int) { - return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{8, 13} +// Deprecated: Use ClientMeta_AdditionalEthV1EventsChainReorgData.ProtoReflect.Descriptor instead. +func (*ClientMeta_AdditionalEthV1EventsChainReorgData) Descriptor() ([]byte, []int) { + return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{13, 16} } -func (x *ClientMeta_AdditionalEthV1DebugForkChoiceData) GetSnapshot() *ClientMeta_ForkChoiceSnapshot { +func (x *ClientMeta_AdditionalEthV1EventsChainReorgData) GetEpoch() *Epoch { if x != nil { - return x.Snapshot + return x.Epoch } return nil } -type ClientMeta_AdditionalEthV1DebugForkChoiceReOrgData struct { +func (x *ClientMeta_AdditionalEthV1EventsChainReorgData) GetSlot() *Slot { + if x != nil { + return x.Slot + } + return nil +} + +func (x *ClientMeta_AdditionalEthV1EventsChainReorgData) GetPropagation() *Propagation { + if x != nil { + return x.Propagation + } + return nil +} + +type ClientMeta_AdditionalEthV1EventsChainReorgV2Data struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Before *ClientMeta_ForkChoiceSnapshot `protobuf:"bytes,1,opt,name=before,proto3" json:"before,omitempty"` - After *ClientMeta_ForkChoiceSnapshot `protobuf:"bytes,2,opt,name=after,proto3" json:"after,omitempty"` + // Epoch contains the epoch information for the chain reorg. + Epoch *EpochV2 `protobuf:"bytes,1,opt,name=epoch,proto3" json:"epoch,omitempty"` + // Slot contains the slot information for the chain reorg. + Slot *SlotV2 `protobuf:"bytes,2,opt,name=slot,proto3" json:"slot,omitempty"` + // Propagation contains information about the propagation of the chain + // reorg. + Propagation *PropagationV2 `protobuf:"bytes,3,opt,name=propagation,proto3" json:"propagation,omitempty"` } -func (x *ClientMeta_AdditionalEthV1DebugForkChoiceReOrgData) Reset() { - *x = ClientMeta_AdditionalEthV1DebugForkChoiceReOrgData{} +func (x *ClientMeta_AdditionalEthV1EventsChainReorgV2Data) Reset() { + *x = ClientMeta_AdditionalEthV1EventsChainReorgV2Data{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[27] + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ClientMeta_AdditionalEthV1DebugForkChoiceReOrgData) String() string { +func (x *ClientMeta_AdditionalEthV1EventsChainReorgV2Data) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ClientMeta_AdditionalEthV1DebugForkChoiceReOrgData) ProtoMessage() {} +func (*ClientMeta_AdditionalEthV1EventsChainReorgV2Data) ProtoMessage() {} -func (x *ClientMeta_AdditionalEthV1DebugForkChoiceReOrgData) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[27] +func (x *ClientMeta_AdditionalEthV1EventsChainReorgV2Data) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[35] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2242,29 +2987,644 @@ func (x *ClientMeta_AdditionalEthV1DebugForkChoiceReOrgData) ProtoReflect() prot return mi.MessageOf(x) } -// Deprecated: Use ClientMeta_AdditionalEthV1DebugForkChoiceReOrgData.ProtoReflect.Descriptor instead. -func (*ClientMeta_AdditionalEthV1DebugForkChoiceReOrgData) Descriptor() ([]byte, []int) { - return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{8, 14} +// Deprecated: Use ClientMeta_AdditionalEthV1EventsChainReorgV2Data.ProtoReflect.Descriptor instead. +func (*ClientMeta_AdditionalEthV1EventsChainReorgV2Data) Descriptor() ([]byte, []int) { + return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{13, 17} } -func (x *ClientMeta_AdditionalEthV1DebugForkChoiceReOrgData) GetBefore() *ClientMeta_ForkChoiceSnapshot { +func (x *ClientMeta_AdditionalEthV1EventsChainReorgV2Data) GetEpoch() *EpochV2 { if x != nil { - return x.Before + return x.Epoch } return nil } -func (x *ClientMeta_AdditionalEthV1DebugForkChoiceReOrgData) GetAfter() *ClientMeta_ForkChoiceSnapshot { +func (x *ClientMeta_AdditionalEthV1EventsChainReorgV2Data) GetSlot() *SlotV2 { if x != nil { - return x.After + return x.Slot } return nil } -type ClientMeta_AdditionalEthV1BeaconCommitteeData struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +func (x *ClientMeta_AdditionalEthV1EventsChainReorgV2Data) GetPropagation() *PropagationV2 { + if x != nil { + return x.Propagation + } + return nil +} + +type ClientMeta_AdditionalEthV1EventsContributionAndProofContributionData struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Epoch contains the epoch information for the contribution and proof. + Epoch *Epoch `protobuf:"bytes,1,opt,name=epoch,proto3" json:"epoch,omitempty"` + // Slot contains the slot information for the contribution and proof. + Slot *Slot `protobuf:"bytes,2,opt,name=slot,proto3" json:"slot,omitempty"` + // Propagation contains information about the propagation of the + // contribution and proof. + Propagation *Propagation `protobuf:"bytes,3,opt,name=propagation,proto3" json:"propagation,omitempty"` +} + +func (x *ClientMeta_AdditionalEthV1EventsContributionAndProofContributionData) Reset() { + *x = ClientMeta_AdditionalEthV1EventsContributionAndProofContributionData{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[36] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ClientMeta_AdditionalEthV1EventsContributionAndProofContributionData) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ClientMeta_AdditionalEthV1EventsContributionAndProofContributionData) ProtoMessage() {} + +func (x *ClientMeta_AdditionalEthV1EventsContributionAndProofContributionData) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[36] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ClientMeta_AdditionalEthV1EventsContributionAndProofContributionData.ProtoReflect.Descriptor instead. +func (*ClientMeta_AdditionalEthV1EventsContributionAndProofContributionData) Descriptor() ([]byte, []int) { + return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{13, 18} +} + +func (x *ClientMeta_AdditionalEthV1EventsContributionAndProofContributionData) GetEpoch() *Epoch { + if x != nil { + return x.Epoch + } + return nil +} + +func (x *ClientMeta_AdditionalEthV1EventsContributionAndProofContributionData) GetSlot() *Slot { + if x != nil { + return x.Slot + } + return nil +} + +func (x *ClientMeta_AdditionalEthV1EventsContributionAndProofContributionData) GetPropagation() *Propagation { + if x != nil { + return x.Propagation + } + return nil +} + +type ClientMeta_AdditionalEthV1EventsContributionAndProofContributionV2Data struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Epoch contains the epoch information for the contribution and proof. + Epoch *EpochV2 `protobuf:"bytes,1,opt,name=epoch,proto3" json:"epoch,omitempty"` + // Slot contains the slot information for the contribution and proof. + Slot *SlotV2 `protobuf:"bytes,2,opt,name=slot,proto3" json:"slot,omitempty"` + // Propagation contains information about the propagation of the + // contribution and proof. + Propagation *PropagationV2 `protobuf:"bytes,3,opt,name=propagation,proto3" json:"propagation,omitempty"` +} + +func (x *ClientMeta_AdditionalEthV1EventsContributionAndProofContributionV2Data) Reset() { + *x = ClientMeta_AdditionalEthV1EventsContributionAndProofContributionV2Data{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[37] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ClientMeta_AdditionalEthV1EventsContributionAndProofContributionV2Data) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ClientMeta_AdditionalEthV1EventsContributionAndProofContributionV2Data) ProtoMessage() {} + +func (x *ClientMeta_AdditionalEthV1EventsContributionAndProofContributionV2Data) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[37] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ClientMeta_AdditionalEthV1EventsContributionAndProofContributionV2Data.ProtoReflect.Descriptor instead. +func (*ClientMeta_AdditionalEthV1EventsContributionAndProofContributionV2Data) Descriptor() ([]byte, []int) { + return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{13, 19} +} + +func (x *ClientMeta_AdditionalEthV1EventsContributionAndProofContributionV2Data) GetEpoch() *EpochV2 { + if x != nil { + return x.Epoch + } + return nil +} + +func (x *ClientMeta_AdditionalEthV1EventsContributionAndProofContributionV2Data) GetSlot() *SlotV2 { + if x != nil { + return x.Slot + } + return nil +} + +func (x *ClientMeta_AdditionalEthV1EventsContributionAndProofContributionV2Data) GetPropagation() *PropagationV2 { + if x != nil { + return x.Propagation + } + return nil +} + +type ClientMeta_AdditionalEthV1EventsContributionAndProofData struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Contribution *ClientMeta_AdditionalEthV1EventsContributionAndProofContributionData `protobuf:"bytes,1,opt,name=contribution,proto3" json:"contribution,omitempty"` +} + +func (x *ClientMeta_AdditionalEthV1EventsContributionAndProofData) Reset() { + *x = ClientMeta_AdditionalEthV1EventsContributionAndProofData{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[38] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ClientMeta_AdditionalEthV1EventsContributionAndProofData) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ClientMeta_AdditionalEthV1EventsContributionAndProofData) ProtoMessage() {} + +func (x *ClientMeta_AdditionalEthV1EventsContributionAndProofData) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[38] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ClientMeta_AdditionalEthV1EventsContributionAndProofData.ProtoReflect.Descriptor instead. +func (*ClientMeta_AdditionalEthV1EventsContributionAndProofData) Descriptor() ([]byte, []int) { + return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{13, 20} +} + +func (x *ClientMeta_AdditionalEthV1EventsContributionAndProofData) GetContribution() *ClientMeta_AdditionalEthV1EventsContributionAndProofContributionData { + if x != nil { + return x.Contribution + } + return nil +} + +type ClientMeta_AdditionalEthV1EventsContributionAndProofV2Data struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Contribution *ClientMeta_AdditionalEthV1EventsContributionAndProofContributionV2Data `protobuf:"bytes,1,opt,name=contribution,proto3" json:"contribution,omitempty"` +} + +func (x *ClientMeta_AdditionalEthV1EventsContributionAndProofV2Data) Reset() { + *x = ClientMeta_AdditionalEthV1EventsContributionAndProofV2Data{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[39] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ClientMeta_AdditionalEthV1EventsContributionAndProofV2Data) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ClientMeta_AdditionalEthV1EventsContributionAndProofV2Data) ProtoMessage() {} + +func (x *ClientMeta_AdditionalEthV1EventsContributionAndProofV2Data) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[39] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ClientMeta_AdditionalEthV1EventsContributionAndProofV2Data.ProtoReflect.Descriptor instead. +func (*ClientMeta_AdditionalEthV1EventsContributionAndProofV2Data) Descriptor() ([]byte, []int) { + return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{13, 21} +} + +func (x *ClientMeta_AdditionalEthV1EventsContributionAndProofV2Data) GetContribution() *ClientMeta_AdditionalEthV1EventsContributionAndProofContributionV2Data { + if x != nil { + return x.Contribution + } + return nil +} + +type ClientMeta_ForkChoiceSnapshot struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // RequestEpoch contains the wall clock epoch for when the fork choice was + // requested. + RequestEpoch *Epoch `protobuf:"bytes,1,opt,name=request_epoch,proto3" json:"request_epoch,omitempty"` + // RequestSlot contains the wall clock slot for when the fork choice was + // requested. + RequestSlot *Slot `protobuf:"bytes,2,opt,name=request_slot,proto3" json:"request_slot,omitempty"` + // RequestedAtSlotStartDiffMs is the difference how far in to the slot the + // sentry was when it requested the fork choice snapshot (in milliseconds). + RequestedAtSlotStartDiffMs uint64 `protobuf:"varint,3,opt,name=requested_at_slot_start_diff_ms,proto3" json:"requested_at_slot_start_diff_ms,omitempty"` + // RequestDurationMs is the duration of the fork choice snapshot request + // (in milliseconds). + RequestDurationMs uint64 `protobuf:"varint,4,opt,name=request_duration_ms,proto3" json:"request_duration_ms,omitempty"` + // Timestamp is the timestamp of the fork choice snapshot. + Timestamp *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=timestamp,proto3" json:"timestamp,omitempty"` +} + +func (x *ClientMeta_ForkChoiceSnapshot) Reset() { + *x = ClientMeta_ForkChoiceSnapshot{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[40] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ClientMeta_ForkChoiceSnapshot) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ClientMeta_ForkChoiceSnapshot) ProtoMessage() {} + +func (x *ClientMeta_ForkChoiceSnapshot) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[40] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ClientMeta_ForkChoiceSnapshot.ProtoReflect.Descriptor instead. +func (*ClientMeta_ForkChoiceSnapshot) Descriptor() ([]byte, []int) { + return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{13, 22} +} + +func (x *ClientMeta_ForkChoiceSnapshot) GetRequestEpoch() *Epoch { + if x != nil { + return x.RequestEpoch + } + return nil +} + +func (x *ClientMeta_ForkChoiceSnapshot) GetRequestSlot() *Slot { + if x != nil { + return x.RequestSlot + } + return nil +} + +func (x *ClientMeta_ForkChoiceSnapshot) GetRequestedAtSlotStartDiffMs() uint64 { + if x != nil { + return x.RequestedAtSlotStartDiffMs + } + return 0 +} + +func (x *ClientMeta_ForkChoiceSnapshot) GetRequestDurationMs() uint64 { + if x != nil { + return x.RequestDurationMs + } + return 0 +} + +func (x *ClientMeta_ForkChoiceSnapshot) GetTimestamp() *timestamppb.Timestamp { + if x != nil { + return x.Timestamp + } + return nil +} + +type ClientMeta_ForkChoiceSnapshotV2 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // RequestEpoch contains the wall clock epoch for when the fork choice was + // requested. + RequestEpoch *EpochV2 `protobuf:"bytes,1,opt,name=request_epoch,proto3" json:"request_epoch,omitempty"` + // RequestSlot contains the wall clock slot for when the fork choice was + // requested. + RequestSlot *SlotV2 `protobuf:"bytes,2,opt,name=request_slot,proto3" json:"request_slot,omitempty"` + // RequestedAtSlotStartDiffMs is the difference how far in to the slot the + // sentry was when it requested the fork choice snapshot (in milliseconds). + RequestedAtSlotStartDiffMs *wrapperspb.UInt64Value `protobuf:"bytes,3,opt,name=requested_at_slot_start_diff_ms,proto3" json:"requested_at_slot_start_diff_ms,omitempty"` + // RequestDurationMs is the duration of the fork choice snapshot request + // (in milliseconds). + RequestDurationMs *wrapperspb.UInt64Value `protobuf:"bytes,4,opt,name=request_duration_ms,proto3" json:"request_duration_ms,omitempty"` + // Timestamp is the timestamp of the fork choice snapshot. + Timestamp *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=timestamp,proto3" json:"timestamp,omitempty"` +} + +func (x *ClientMeta_ForkChoiceSnapshotV2) Reset() { + *x = ClientMeta_ForkChoiceSnapshotV2{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[41] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ClientMeta_ForkChoiceSnapshotV2) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ClientMeta_ForkChoiceSnapshotV2) ProtoMessage() {} + +func (x *ClientMeta_ForkChoiceSnapshotV2) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[41] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ClientMeta_ForkChoiceSnapshotV2.ProtoReflect.Descriptor instead. +func (*ClientMeta_ForkChoiceSnapshotV2) Descriptor() ([]byte, []int) { + return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{13, 23} +} + +func (x *ClientMeta_ForkChoiceSnapshotV2) GetRequestEpoch() *EpochV2 { + if x != nil { + return x.RequestEpoch + } + return nil +} + +func (x *ClientMeta_ForkChoiceSnapshotV2) GetRequestSlot() *SlotV2 { + if x != nil { + return x.RequestSlot + } + return nil +} + +func (x *ClientMeta_ForkChoiceSnapshotV2) GetRequestedAtSlotStartDiffMs() *wrapperspb.UInt64Value { + if x != nil { + return x.RequestedAtSlotStartDiffMs + } + return nil +} + +func (x *ClientMeta_ForkChoiceSnapshotV2) GetRequestDurationMs() *wrapperspb.UInt64Value { + if x != nil { + return x.RequestDurationMs + } + return nil +} + +func (x *ClientMeta_ForkChoiceSnapshotV2) GetTimestamp() *timestamppb.Timestamp { + if x != nil { + return x.Timestamp + } + return nil +} + +type ClientMeta_AdditionalEthV1DebugForkChoiceData struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Snapshot *ClientMeta_ForkChoiceSnapshot `protobuf:"bytes,1,opt,name=Snapshot,json=snapshot,proto3" json:"Snapshot,omitempty"` +} + +func (x *ClientMeta_AdditionalEthV1DebugForkChoiceData) Reset() { + *x = ClientMeta_AdditionalEthV1DebugForkChoiceData{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[42] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ClientMeta_AdditionalEthV1DebugForkChoiceData) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ClientMeta_AdditionalEthV1DebugForkChoiceData) ProtoMessage() {} + +func (x *ClientMeta_AdditionalEthV1DebugForkChoiceData) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[42] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ClientMeta_AdditionalEthV1DebugForkChoiceData.ProtoReflect.Descriptor instead. +func (*ClientMeta_AdditionalEthV1DebugForkChoiceData) Descriptor() ([]byte, []int) { + return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{13, 24} +} + +func (x *ClientMeta_AdditionalEthV1DebugForkChoiceData) GetSnapshot() *ClientMeta_ForkChoiceSnapshot { + if x != nil { + return x.Snapshot + } + return nil +} + +type ClientMeta_AdditionalEthV1DebugForkChoiceV2Data struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Snapshot *ClientMeta_ForkChoiceSnapshotV2 `protobuf:"bytes,1,opt,name=Snapshot,json=snapshot,proto3" json:"Snapshot,omitempty"` +} + +func (x *ClientMeta_AdditionalEthV1DebugForkChoiceV2Data) Reset() { + *x = ClientMeta_AdditionalEthV1DebugForkChoiceV2Data{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[43] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ClientMeta_AdditionalEthV1DebugForkChoiceV2Data) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ClientMeta_AdditionalEthV1DebugForkChoiceV2Data) ProtoMessage() {} + +func (x *ClientMeta_AdditionalEthV1DebugForkChoiceV2Data) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[43] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ClientMeta_AdditionalEthV1DebugForkChoiceV2Data.ProtoReflect.Descriptor instead. +func (*ClientMeta_AdditionalEthV1DebugForkChoiceV2Data) Descriptor() ([]byte, []int) { + return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{13, 25} +} + +func (x *ClientMeta_AdditionalEthV1DebugForkChoiceV2Data) GetSnapshot() *ClientMeta_ForkChoiceSnapshotV2 { + if x != nil { + return x.Snapshot + } + return nil +} + +type ClientMeta_AdditionalEthV1DebugForkChoiceReOrgData struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Before *ClientMeta_ForkChoiceSnapshot `protobuf:"bytes,1,opt,name=before,proto3" json:"before,omitempty"` + After *ClientMeta_ForkChoiceSnapshot `protobuf:"bytes,2,opt,name=after,proto3" json:"after,omitempty"` +} + +func (x *ClientMeta_AdditionalEthV1DebugForkChoiceReOrgData) Reset() { + *x = ClientMeta_AdditionalEthV1DebugForkChoiceReOrgData{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[44] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ClientMeta_AdditionalEthV1DebugForkChoiceReOrgData) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ClientMeta_AdditionalEthV1DebugForkChoiceReOrgData) ProtoMessage() {} + +func (x *ClientMeta_AdditionalEthV1DebugForkChoiceReOrgData) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[44] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ClientMeta_AdditionalEthV1DebugForkChoiceReOrgData.ProtoReflect.Descriptor instead. +func (*ClientMeta_AdditionalEthV1DebugForkChoiceReOrgData) Descriptor() ([]byte, []int) { + return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{13, 26} +} + +func (x *ClientMeta_AdditionalEthV1DebugForkChoiceReOrgData) GetBefore() *ClientMeta_ForkChoiceSnapshot { + if x != nil { + return x.Before + } + return nil +} + +func (x *ClientMeta_AdditionalEthV1DebugForkChoiceReOrgData) GetAfter() *ClientMeta_ForkChoiceSnapshot { + if x != nil { + return x.After + } + return nil +} + +type ClientMeta_AdditionalEthV1DebugForkChoiceReOrgV2Data struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Before *ClientMeta_ForkChoiceSnapshotV2 `protobuf:"bytes,1,opt,name=before,proto3" json:"before,omitempty"` + After *ClientMeta_ForkChoiceSnapshotV2 `protobuf:"bytes,2,opt,name=after,proto3" json:"after,omitempty"` +} + +func (x *ClientMeta_AdditionalEthV1DebugForkChoiceReOrgV2Data) Reset() { + *x = ClientMeta_AdditionalEthV1DebugForkChoiceReOrgV2Data{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[45] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ClientMeta_AdditionalEthV1DebugForkChoiceReOrgV2Data) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ClientMeta_AdditionalEthV1DebugForkChoiceReOrgV2Data) ProtoMessage() {} + +func (x *ClientMeta_AdditionalEthV1DebugForkChoiceReOrgV2Data) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[45] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ClientMeta_AdditionalEthV1DebugForkChoiceReOrgV2Data.ProtoReflect.Descriptor instead. +func (*ClientMeta_AdditionalEthV1DebugForkChoiceReOrgV2Data) Descriptor() ([]byte, []int) { + return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{13, 27} +} + +func (x *ClientMeta_AdditionalEthV1DebugForkChoiceReOrgV2Data) GetBefore() *ClientMeta_ForkChoiceSnapshotV2 { + if x != nil { + return x.Before + } + return nil +} + +func (x *ClientMeta_AdditionalEthV1DebugForkChoiceReOrgV2Data) GetAfter() *ClientMeta_ForkChoiceSnapshotV2 { + if x != nil { + return x.After + } + return nil +} + +type ClientMeta_AdditionalEthV1BeaconCommitteeData struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields // Epoch contains the epoch information for the beacon committee. Epoch *Epoch `protobuf:"bytes,1,opt,name=epoch,proto3" json:"epoch,omitempty"` @@ -2275,7 +3635,7 @@ type ClientMeta_AdditionalEthV1BeaconCommitteeData struct { func (x *ClientMeta_AdditionalEthV1BeaconCommitteeData) Reset() { *x = ClientMeta_AdditionalEthV1BeaconCommitteeData{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[28] + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[46] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2288,7 +3648,7 @@ func (x *ClientMeta_AdditionalEthV1BeaconCommitteeData) String() string { func (*ClientMeta_AdditionalEthV1BeaconCommitteeData) ProtoMessage() {} func (x *ClientMeta_AdditionalEthV1BeaconCommitteeData) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[28] + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[46] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2301,7 +3661,7 @@ func (x *ClientMeta_AdditionalEthV1BeaconCommitteeData) ProtoReflect() protorefl // Deprecated: Use ClientMeta_AdditionalEthV1BeaconCommitteeData.ProtoReflect.Descriptor instead. func (*ClientMeta_AdditionalEthV1BeaconCommitteeData) Descriptor() ([]byte, []int) { - return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{8, 15} + return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{13, 28} } func (x *ClientMeta_AdditionalEthV1BeaconCommitteeData) GetEpoch() *Epoch { @@ -2318,6 +3678,63 @@ func (x *ClientMeta_AdditionalEthV1BeaconCommitteeData) GetSlot() *Slot { return nil } +type ClientMeta_AdditionalEthV1BeaconCommitteeV2Data struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Epoch contains the epoch information for the beacon committee. + Epoch *EpochV2 `protobuf:"bytes,1,opt,name=epoch,proto3" json:"epoch,omitempty"` + // Slot contains the slot information for the beacon commitee. + Slot *SlotV2 `protobuf:"bytes,2,opt,name=slot,proto3" json:"slot,omitempty"` +} + +func (x *ClientMeta_AdditionalEthV1BeaconCommitteeV2Data) Reset() { + *x = ClientMeta_AdditionalEthV1BeaconCommitteeV2Data{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[47] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ClientMeta_AdditionalEthV1BeaconCommitteeV2Data) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ClientMeta_AdditionalEthV1BeaconCommitteeV2Data) ProtoMessage() {} + +func (x *ClientMeta_AdditionalEthV1BeaconCommitteeV2Data) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[47] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ClientMeta_AdditionalEthV1BeaconCommitteeV2Data.ProtoReflect.Descriptor instead. +func (*ClientMeta_AdditionalEthV1BeaconCommitteeV2Data) Descriptor() ([]byte, []int) { + return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{13, 29} +} + +func (x *ClientMeta_AdditionalEthV1BeaconCommitteeV2Data) GetEpoch() *EpochV2 { + if x != nil { + return x.Epoch + } + return nil +} + +func (x *ClientMeta_AdditionalEthV1BeaconCommitteeV2Data) GetSlot() *SlotV2 { + if x != nil { + return x.Slot + } + return nil +} + type ClientMeta_AdditionalMempoolTransactionData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -2330,14 +3747,10 @@ type ClientMeta_AdditionalMempoolTransactionData struct { // To is the transaction receiver hash. To string `protobuf:"bytes,3,opt,name=to,proto3" json:"to,omitempty"` // Nonce is the transaction nonce. - // - // Deprecated: Marked as deprecated in pkg/proto/xatu/event_ingester.proto. Nonce uint64 `protobuf:"varint,4,opt,name=nonce,proto3" json:"nonce,omitempty"` // GasPrice is the transaction gas price. GasPrice string `protobuf:"bytes,5,opt,name=gas_price,proto3" json:"gas_price,omitempty"` // Gas is the transaction gas. - // - // Deprecated: Marked as deprecated in pkg/proto/xatu/event_ingester.proto. Gas uint64 `protobuf:"varint,6,opt,name=gas,proto3" json:"gas,omitempty"` // Value is the transaction value. Value string `protobuf:"bytes,7,opt,name=value,proto3" json:"value,omitempty"` @@ -2345,16 +3758,12 @@ type ClientMeta_AdditionalMempoolTransactionData struct { Size string `protobuf:"bytes,8,opt,name=size,proto3" json:"size,omitempty"` // CallDataSize is the call data size in bytes. CallDataSize string `protobuf:"bytes,9,opt,name=call_data_size,proto3" json:"call_data_size,omitempty"` - // Nonce is the transaction nonce. - NonceV2 *wrapperspb.UInt64Value `protobuf:"bytes,10,opt,name=nonce_v2,proto3" json:"nonce_v2,omitempty"` - // Gas is the transaction gas. - GasV2 *wrapperspb.UInt64Value `protobuf:"bytes,11,opt,name=gas_v2,proto3" json:"gas_v2,omitempty"` } func (x *ClientMeta_AdditionalMempoolTransactionData) Reset() { *x = ClientMeta_AdditionalMempoolTransactionData{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[29] + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[48] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2367,7 +3776,7 @@ func (x *ClientMeta_AdditionalMempoolTransactionData) String() string { func (*ClientMeta_AdditionalMempoolTransactionData) ProtoMessage() {} func (x *ClientMeta_AdditionalMempoolTransactionData) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[29] + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[48] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2380,7 +3789,7 @@ func (x *ClientMeta_AdditionalMempoolTransactionData) ProtoReflect() protoreflec // Deprecated: Use ClientMeta_AdditionalMempoolTransactionData.ProtoReflect.Descriptor instead. func (*ClientMeta_AdditionalMempoolTransactionData) Descriptor() ([]byte, []int) { - return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{8, 16} + return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{13, 30} } func (x *ClientMeta_AdditionalMempoolTransactionData) GetHash() string { @@ -2404,7 +3813,6 @@ func (x *ClientMeta_AdditionalMempoolTransactionData) GetTo() string { return "" } -// Deprecated: Marked as deprecated in pkg/proto/xatu/event_ingester.proto. func (x *ClientMeta_AdditionalMempoolTransactionData) GetNonce() uint64 { if x != nil { return x.Nonce @@ -2419,7 +3827,6 @@ func (x *ClientMeta_AdditionalMempoolTransactionData) GetGasPrice() string { return "" } -// Deprecated: Marked as deprecated in pkg/proto/xatu/event_ingester.proto. func (x *ClientMeta_AdditionalMempoolTransactionData) GetGas() uint64 { if x != nil { return x.Gas @@ -2429,83 +3836,274 @@ func (x *ClientMeta_AdditionalMempoolTransactionData) GetGas() uint64 { func (x *ClientMeta_AdditionalMempoolTransactionData) GetValue() string { if x != nil { - return x.Value + return x.Value + } + return "" +} + +func (x *ClientMeta_AdditionalMempoolTransactionData) GetSize() string { + if x != nil { + return x.Size + } + return "" +} + +func (x *ClientMeta_AdditionalMempoolTransactionData) GetCallDataSize() string { + if x != nil { + return x.CallDataSize + } + return "" +} + +type ClientMeta_AdditionalMempoolTransactionV2Data struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Hash is the transaction hash. + Hash string `protobuf:"bytes,1,opt,name=hash,proto3" json:"hash,omitempty"` + // From is the transaction sender hash. + From string `protobuf:"bytes,2,opt,name=from,proto3" json:"from,omitempty"` + // To is the transaction receiver hash. + To string `protobuf:"bytes,3,opt,name=to,proto3" json:"to,omitempty"` + // Nonce is the transaction nonce. + Nonce *wrapperspb.UInt64Value `protobuf:"bytes,4,opt,name=nonce,proto3" json:"nonce,omitempty"` + // GasPrice is the transaction gas price. + GasPrice string `protobuf:"bytes,5,opt,name=gas_price,proto3" json:"gas_price,omitempty"` + // Gas is the transaction gas. + Gas *wrapperspb.UInt64Value `protobuf:"bytes,6,opt,name=gas,proto3" json:"gas,omitempty"` + // Value is the transaction value. + Value string `protobuf:"bytes,7,opt,name=value,proto3" json:"value,omitempty"` + // Size is the transaction size in bytes. + Size string `protobuf:"bytes,8,opt,name=size,proto3" json:"size,omitempty"` + // CallDataSize is the call data size in bytes. + CallDataSize string `protobuf:"bytes,9,opt,name=call_data_size,proto3" json:"call_data_size,omitempty"` +} + +func (x *ClientMeta_AdditionalMempoolTransactionV2Data) Reset() { + *x = ClientMeta_AdditionalMempoolTransactionV2Data{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[49] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ClientMeta_AdditionalMempoolTransactionV2Data) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ClientMeta_AdditionalMempoolTransactionV2Data) ProtoMessage() {} + +func (x *ClientMeta_AdditionalMempoolTransactionV2Data) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[49] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ClientMeta_AdditionalMempoolTransactionV2Data.ProtoReflect.Descriptor instead. +func (*ClientMeta_AdditionalMempoolTransactionV2Data) Descriptor() ([]byte, []int) { + return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{13, 31} +} + +func (x *ClientMeta_AdditionalMempoolTransactionV2Data) GetHash() string { + if x != nil { + return x.Hash + } + return "" +} + +func (x *ClientMeta_AdditionalMempoolTransactionV2Data) GetFrom() string { + if x != nil { + return x.From + } + return "" +} + +func (x *ClientMeta_AdditionalMempoolTransactionV2Data) GetTo() string { + if x != nil { + return x.To + } + return "" +} + +func (x *ClientMeta_AdditionalMempoolTransactionV2Data) GetNonce() *wrapperspb.UInt64Value { + if x != nil { + return x.Nonce + } + return nil +} + +func (x *ClientMeta_AdditionalMempoolTransactionV2Data) GetGasPrice() string { + if x != nil { + return x.GasPrice + } + return "" +} + +func (x *ClientMeta_AdditionalMempoolTransactionV2Data) GetGas() *wrapperspb.UInt64Value { + if x != nil { + return x.Gas + } + return nil +} + +func (x *ClientMeta_AdditionalMempoolTransactionV2Data) GetValue() string { + if x != nil { + return x.Value + } + return "" +} + +func (x *ClientMeta_AdditionalMempoolTransactionV2Data) GetSize() string { + if x != nil { + return x.Size + } + return "" +} + +func (x *ClientMeta_AdditionalMempoolTransactionV2Data) GetCallDataSize() string { + if x != nil { + return x.CallDataSize + } + return "" +} + +type ClientMeta_AdditionalEthV2BeaconBlockData struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Epoch contains the epoch information for the block. + Epoch *Epoch `protobuf:"bytes,1,opt,name=epoch,proto3" json:"epoch,omitempty"` + // Slot contains the slot information for the block. + Slot *Slot `protobuf:"bytes,2,opt,name=slot,proto3" json:"slot,omitempty"` + // Version contains information about the version of the block. + Version string `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"` + // BlockRoot contains the block root of the beacon block. + BlockRoot string `protobuf:"bytes,4,opt,name=block_root,proto3" json:"block_root,omitempty"` + // TransactionsCount contains the number of transactions in the block + TransactionsCount uint64 `protobuf:"varint,5,opt,name=transactions_count,proto3" json:"transactions_count,omitempty"` + // TransactionsTotalBytes contains the total bytes size of transactions + TransactionsTotalBytes uint64 `protobuf:"varint,6,opt,name=transactions_total_bytes,proto3" json:"transactions_total_bytes,omitempty"` +} + +func (x *ClientMeta_AdditionalEthV2BeaconBlockData) Reset() { + *x = ClientMeta_AdditionalEthV2BeaconBlockData{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[50] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ClientMeta_AdditionalEthV2BeaconBlockData) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ClientMeta_AdditionalEthV2BeaconBlockData) ProtoMessage() {} + +func (x *ClientMeta_AdditionalEthV2BeaconBlockData) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[50] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ClientMeta_AdditionalEthV2BeaconBlockData.ProtoReflect.Descriptor instead. +func (*ClientMeta_AdditionalEthV2BeaconBlockData) Descriptor() ([]byte, []int) { + return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{13, 32} +} + +func (x *ClientMeta_AdditionalEthV2BeaconBlockData) GetEpoch() *Epoch { + if x != nil { + return x.Epoch + } + return nil +} + +func (x *ClientMeta_AdditionalEthV2BeaconBlockData) GetSlot() *Slot { + if x != nil { + return x.Slot } - return "" + return nil } -func (x *ClientMeta_AdditionalMempoolTransactionData) GetSize() string { +func (x *ClientMeta_AdditionalEthV2BeaconBlockData) GetVersion() string { if x != nil { - return x.Size + return x.Version } return "" } -func (x *ClientMeta_AdditionalMempoolTransactionData) GetCallDataSize() string { +func (x *ClientMeta_AdditionalEthV2BeaconBlockData) GetBlockRoot() string { if x != nil { - return x.CallDataSize + return x.BlockRoot } return "" } -func (x *ClientMeta_AdditionalMempoolTransactionData) GetNonceV2() *wrapperspb.UInt64Value { +func (x *ClientMeta_AdditionalEthV2BeaconBlockData) GetTransactionsCount() uint64 { if x != nil { - return x.NonceV2 + return x.TransactionsCount } - return nil + return 0 } -func (x *ClientMeta_AdditionalMempoolTransactionData) GetGasV2() *wrapperspb.UInt64Value { +func (x *ClientMeta_AdditionalEthV2BeaconBlockData) GetTransactionsTotalBytes() uint64 { if x != nil { - return x.GasV2 + return x.TransactionsTotalBytes } - return nil + return 0 } -type ClientMeta_AdditionalEthV2BeaconBlockData struct { +type ClientMeta_AdditionalEthV2BeaconBlockV2Data struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Epoch contains the epoch information for the block. - Epoch *Epoch `protobuf:"bytes,1,opt,name=epoch,proto3" json:"epoch,omitempty"` + Epoch *EpochV2 `protobuf:"bytes,1,opt,name=epoch,proto3" json:"epoch,omitempty"` // Slot contains the slot information for the block. - Slot *Slot `protobuf:"bytes,2,opt,name=slot,proto3" json:"slot,omitempty"` + Slot *SlotV2 `protobuf:"bytes,2,opt,name=slot,proto3" json:"slot,omitempty"` // Version contains information about the version of the block. Version string `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"` // BlockRoot contains the block root of the beacon block. BlockRoot string `protobuf:"bytes,4,opt,name=block_root,proto3" json:"block_root,omitempty"` // TransactionsCount contains the number of transactions in the block - // - // Deprecated: Marked as deprecated in pkg/proto/xatu/event_ingester.proto. - TransactionsCount uint64 `protobuf:"varint,5,opt,name=transactions_count,proto3" json:"transactions_count,omitempty"` - // TransactionsTotalBytes contains the total bytes size of transactions - // - // Deprecated: Marked as deprecated in pkg/proto/xatu/event_ingester.proto. - TransactionsTotalBytes uint64 `protobuf:"varint,6,opt,name=transactions_total_bytes,proto3" json:"transactions_total_bytes,omitempty"` - // TransactionsCount contains the number of transactions in the block - TransactionsCountV2 *wrapperspb.UInt64Value `protobuf:"bytes,7,opt,name=transactions_count_v2,proto3" json:"transactions_count_v2,omitempty"` + TransactionsCount *wrapperspb.UInt64Value `protobuf:"bytes,5,opt,name=transactions_count,proto3" json:"transactions_count,omitempty"` // TransactionsTotalBytes contains the total bytes size of transactions - TransactionsTotalBytesV2 *wrapperspb.UInt64Value `protobuf:"bytes,8,opt,name=transactions_total_bytes_v2,proto3" json:"transactions_total_bytes_v2,omitempty"` + TransactionsTotalBytes *wrapperspb.UInt64Value `protobuf:"bytes,6,opt,name=transactions_total_bytes,proto3" json:"transactions_total_bytes,omitempty"` } -func (x *ClientMeta_AdditionalEthV2BeaconBlockData) Reset() { - *x = ClientMeta_AdditionalEthV2BeaconBlockData{} +func (x *ClientMeta_AdditionalEthV2BeaconBlockV2Data) Reset() { + *x = ClientMeta_AdditionalEthV2BeaconBlockV2Data{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[30] + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[51] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ClientMeta_AdditionalEthV2BeaconBlockData) String() string { +func (x *ClientMeta_AdditionalEthV2BeaconBlockV2Data) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ClientMeta_AdditionalEthV2BeaconBlockData) ProtoMessage() {} +func (*ClientMeta_AdditionalEthV2BeaconBlockV2Data) ProtoMessage() {} -func (x *ClientMeta_AdditionalEthV2BeaconBlockData) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[30] +func (x *ClientMeta_AdditionalEthV2BeaconBlockV2Data) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[51] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2516,65 +4114,49 @@ func (x *ClientMeta_AdditionalEthV2BeaconBlockData) ProtoReflect() protoreflect. return mi.MessageOf(x) } -// Deprecated: Use ClientMeta_AdditionalEthV2BeaconBlockData.ProtoReflect.Descriptor instead. -func (*ClientMeta_AdditionalEthV2BeaconBlockData) Descriptor() ([]byte, []int) { - return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{8, 17} +// Deprecated: Use ClientMeta_AdditionalEthV2BeaconBlockV2Data.ProtoReflect.Descriptor instead. +func (*ClientMeta_AdditionalEthV2BeaconBlockV2Data) Descriptor() ([]byte, []int) { + return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{13, 33} } -func (x *ClientMeta_AdditionalEthV2BeaconBlockData) GetEpoch() *Epoch { +func (x *ClientMeta_AdditionalEthV2BeaconBlockV2Data) GetEpoch() *EpochV2 { if x != nil { return x.Epoch } return nil } -func (x *ClientMeta_AdditionalEthV2BeaconBlockData) GetSlot() *Slot { +func (x *ClientMeta_AdditionalEthV2BeaconBlockV2Data) GetSlot() *SlotV2 { if x != nil { return x.Slot } return nil } -func (x *ClientMeta_AdditionalEthV2BeaconBlockData) GetVersion() string { +func (x *ClientMeta_AdditionalEthV2BeaconBlockV2Data) GetVersion() string { if x != nil { return x.Version } return "" } -func (x *ClientMeta_AdditionalEthV2BeaconBlockData) GetBlockRoot() string { +func (x *ClientMeta_AdditionalEthV2BeaconBlockV2Data) GetBlockRoot() string { if x != nil { return x.BlockRoot } return "" } -// Deprecated: Marked as deprecated in pkg/proto/xatu/event_ingester.proto. -func (x *ClientMeta_AdditionalEthV2BeaconBlockData) GetTransactionsCount() uint64 { +func (x *ClientMeta_AdditionalEthV2BeaconBlockV2Data) GetTransactionsCount() *wrapperspb.UInt64Value { if x != nil { return x.TransactionsCount } - return 0 -} - -// Deprecated: Marked as deprecated in pkg/proto/xatu/event_ingester.proto. -func (x *ClientMeta_AdditionalEthV2BeaconBlockData) GetTransactionsTotalBytes() uint64 { - if x != nil { - return x.TransactionsTotalBytes - } - return 0 -} - -func (x *ClientMeta_AdditionalEthV2BeaconBlockData) GetTransactionsCountV2() *wrapperspb.UInt64Value { - if x != nil { - return x.TransactionsCountV2 - } return nil } -func (x *ClientMeta_AdditionalEthV2BeaconBlockData) GetTransactionsTotalBytesV2() *wrapperspb.UInt64Value { +func (x *ClientMeta_AdditionalEthV2BeaconBlockV2Data) GetTransactionsTotalBytes() *wrapperspb.UInt64Value { if x != nil { - return x.TransactionsTotalBytesV2 + return x.TransactionsTotalBytes } return nil } @@ -2597,7 +4179,7 @@ type ClientMeta_AttestationDataSnapshot struct { func (x *ClientMeta_AttestationDataSnapshot) Reset() { *x = ClientMeta_AttestationDataSnapshot{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[31] + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[52] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2610,7 +4192,7 @@ func (x *ClientMeta_AttestationDataSnapshot) String() string { func (*ClientMeta_AttestationDataSnapshot) ProtoMessage() {} func (x *ClientMeta_AttestationDataSnapshot) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[31] + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[52] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2623,7 +4205,7 @@ func (x *ClientMeta_AttestationDataSnapshot) ProtoReflect() protoreflect.Message // Deprecated: Use ClientMeta_AttestationDataSnapshot.ProtoReflect.Descriptor instead. func (*ClientMeta_AttestationDataSnapshot) Descriptor() ([]byte, []int) { - return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{8, 18} + return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{13, 34} } func (x *ClientMeta_AttestationDataSnapshot) GetRequestedAtSlotStartDiffMs() *wrapperspb.UInt64Value { @@ -2653,14 +4235,14 @@ type ClientMeta_AdditionalEthV1ValidatorAttestationDataData struct { unknownFields protoimpl.UnknownFields // Source contains information for the best currently justified checkpoint. - Source *ClientMeta_AdditionalEthV1AttestationSourceData `protobuf:"bytes,1,opt,name=source,proto3" json:"source,omitempty"` + Source *ClientMeta_AdditionalEthV1AttestationSourceV2Data `protobuf:"bytes,1,opt,name=source,proto3" json:"source,omitempty"` // Target contains information of the block at the start of the current // epoch. - Target *ClientMeta_AdditionalEthV1AttestationTargetData `protobuf:"bytes,2,opt,name=target,proto3" json:"target,omitempty"` + Target *ClientMeta_AdditionalEthV1AttestationTargetV2Data `protobuf:"bytes,2,opt,name=target,proto3" json:"target,omitempty"` // Epoch contains the epoch information for the beacon committee. - Epoch *Epoch `protobuf:"bytes,3,opt,name=epoch,proto3" json:"epoch,omitempty"` + Epoch *EpochV2 `protobuf:"bytes,3,opt,name=epoch,proto3" json:"epoch,omitempty"` // Slot contains the slot information for the beacon commitee. - Slot *Slot `protobuf:"bytes,4,opt,name=slot,proto3" json:"slot,omitempty"` + Slot *SlotV2 `protobuf:"bytes,4,opt,name=slot,proto3" json:"slot,omitempty"` // AttestationDataSnapshot is the snapshot of the attestation data Snapshot *ClientMeta_AttestationDataSnapshot `protobuf:"bytes,5,opt,name=Snapshot,json=snapshot,proto3" json:"Snapshot,omitempty"` } @@ -2668,7 +4250,7 @@ type ClientMeta_AdditionalEthV1ValidatorAttestationDataData struct { func (x *ClientMeta_AdditionalEthV1ValidatorAttestationDataData) Reset() { *x = ClientMeta_AdditionalEthV1ValidatorAttestationDataData{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[32] + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[53] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2681,7 +4263,7 @@ func (x *ClientMeta_AdditionalEthV1ValidatorAttestationDataData) String() string func (*ClientMeta_AdditionalEthV1ValidatorAttestationDataData) ProtoMessage() {} func (x *ClientMeta_AdditionalEthV1ValidatorAttestationDataData) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[32] + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[53] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2694,31 +4276,31 @@ func (x *ClientMeta_AdditionalEthV1ValidatorAttestationDataData) ProtoReflect() // Deprecated: Use ClientMeta_AdditionalEthV1ValidatorAttestationDataData.ProtoReflect.Descriptor instead. func (*ClientMeta_AdditionalEthV1ValidatorAttestationDataData) Descriptor() ([]byte, []int) { - return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{8, 19} + return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{13, 35} } -func (x *ClientMeta_AdditionalEthV1ValidatorAttestationDataData) GetSource() *ClientMeta_AdditionalEthV1AttestationSourceData { +func (x *ClientMeta_AdditionalEthV1ValidatorAttestationDataData) GetSource() *ClientMeta_AdditionalEthV1AttestationSourceV2Data { if x != nil { return x.Source } return nil } -func (x *ClientMeta_AdditionalEthV1ValidatorAttestationDataData) GetTarget() *ClientMeta_AdditionalEthV1AttestationTargetData { +func (x *ClientMeta_AdditionalEthV1ValidatorAttestationDataData) GetTarget() *ClientMeta_AdditionalEthV1AttestationTargetV2Data { if x != nil { return x.Target } return nil } -func (x *ClientMeta_AdditionalEthV1ValidatorAttestationDataData) GetEpoch() *Epoch { +func (x *ClientMeta_AdditionalEthV1ValidatorAttestationDataData) GetEpoch() *EpochV2 { if x != nil { return x.Epoch } return nil } -func (x *ClientMeta_AdditionalEthV1ValidatorAttestationDataData) GetSlot() *Slot { +func (x *ClientMeta_AdditionalEthV1ValidatorAttestationDataData) GetSlot() *SlotV2 { if x != nil { return x.Slot } @@ -2746,7 +4328,7 @@ type ClientMeta_Ethereum_Network struct { func (x *ClientMeta_Ethereum_Network) Reset() { *x = ClientMeta_Ethereum_Network{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[33] + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[54] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2759,7 +4341,7 @@ func (x *ClientMeta_Ethereum_Network) String() string { func (*ClientMeta_Ethereum_Network) ProtoMessage() {} func (x *ClientMeta_Ethereum_Network) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[33] + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[54] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2772,7 +4354,7 @@ func (x *ClientMeta_Ethereum_Network) ProtoReflect() protoreflect.Message { // Deprecated: Use ClientMeta_Ethereum_Network.ProtoReflect.Descriptor instead. func (*ClientMeta_Ethereum_Network) Descriptor() ([]byte, []int) { - return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{8, 0, 0} + return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{13, 0, 0} } func (x *ClientMeta_Ethereum_Network) GetName() string { @@ -2801,7 +4383,7 @@ type ClientMeta_Ethereum_Execution struct { func (x *ClientMeta_Ethereum_Execution) Reset() { *x = ClientMeta_Ethereum_Execution{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[34] + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[55] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2814,7 +4396,7 @@ func (x *ClientMeta_Ethereum_Execution) String() string { func (*ClientMeta_Ethereum_Execution) ProtoMessage() {} func (x *ClientMeta_Ethereum_Execution) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[34] + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[55] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2827,7 +4409,7 @@ func (x *ClientMeta_Ethereum_Execution) ProtoReflect() protoreflect.Message { // Deprecated: Use ClientMeta_Ethereum_Execution.ProtoReflect.Descriptor instead. func (*ClientMeta_Ethereum_Execution) Descriptor() ([]byte, []int) { - return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{8, 0, 1} + return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{13, 0, 1} } func (x *ClientMeta_Ethereum_Execution) GetForkId() *ForkID { @@ -2851,7 +4433,7 @@ type ClientMeta_Ethereum_Consensus struct { func (x *ClientMeta_Ethereum_Consensus) Reset() { *x = ClientMeta_Ethereum_Consensus{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[35] + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[56] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2864,7 +4446,7 @@ func (x *ClientMeta_Ethereum_Consensus) String() string { func (*ClientMeta_Ethereum_Consensus) ProtoMessage() {} func (x *ClientMeta_Ethereum_Consensus) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[35] + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[56] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2877,7 +4459,7 @@ func (x *ClientMeta_Ethereum_Consensus) ProtoReflect() protoreflect.Message { // Deprecated: Use ClientMeta_Ethereum_Consensus.ProtoReflect.Descriptor instead. func (*ClientMeta_Ethereum_Consensus) Descriptor() ([]byte, []int) { - return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{8, 0, 2} + return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{13, 0, 2} } func (x *ClientMeta_Ethereum_Consensus) GetImplementation() string { @@ -2906,7 +4488,7 @@ type ServerMeta_Event struct { func (x *ServerMeta_Event) Reset() { *x = ServerMeta_Event{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[36] + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[57] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2919,7 +4501,7 @@ func (x *ServerMeta_Event) String() string { func (*ServerMeta_Event) ProtoMessage() {} func (x *ServerMeta_Event) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[36] + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[57] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2932,7 +4514,7 @@ func (x *ServerMeta_Event) ProtoReflect() protoreflect.Message { // Deprecated: Use ServerMeta_Event.ProtoReflect.Descriptor instead. func (*ServerMeta_Event) Descriptor() ([]byte, []int) { - return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{9, 0} + return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{14, 0} } func (x *ServerMeta_Event) GetReceivedDateTime() *timestamppb.Timestamp { @@ -2957,7 +4539,7 @@ type ServerMeta_Client struct { func (x *ServerMeta_Client) Reset() { *x = ServerMeta_Client{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[37] + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[58] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2970,7 +4552,7 @@ func (x *ServerMeta_Client) String() string { func (*ServerMeta_Client) ProtoMessage() {} func (x *ServerMeta_Client) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[37] + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[58] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2983,7 +4565,7 @@ func (x *ServerMeta_Client) ProtoReflect() protoreflect.Message { // Deprecated: Use ServerMeta_Client.ProtoReflect.Descriptor instead. func (*ServerMeta_Client) Descriptor() ([]byte, []int) { - return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{9, 1} + return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{14, 1} } func (x *ServerMeta_Client) GetIP() string { @@ -3032,7 +4614,7 @@ type ServerMeta_Client_Geo struct { func (x *ServerMeta_Client_Geo) Reset() { *x = ServerMeta_Client_Geo{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[39] + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[60] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3045,7 +4627,7 @@ func (x *ServerMeta_Client_Geo) String() string { func (*ServerMeta_Client_Geo) ProtoMessage() {} func (x *ServerMeta_Client_Geo) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[39] + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[60] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3058,7 +4640,7 @@ func (x *ServerMeta_Client_Geo) ProtoReflect() protoreflect.Message { // Deprecated: Use ServerMeta_Client_Geo.ProtoReflect.Descriptor instead. func (*ServerMeta_Client_Geo) Descriptor() ([]byte, []int) { - return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{9, 1, 0} + return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{14, 1, 0} } func (x *ServerMeta_Client_Geo) GetCity() string { @@ -3143,284 +4725,461 @@ var file_pkg_proto_xatu_event_ingester_proto_rawDesc = []byte{ 0x74, 0x75, 0x2e, 0x44, 0x65, 0x63, 0x6f, 0x72, 0x61, 0x74, 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x16, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0xa5, 0x01, 0x0a, 0x05, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x1a, 0x0a, 0x06, 0x6e, - 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x42, 0x02, 0x18, 0x01, 0x52, + 0x65, 0x22, 0x65, 0x0a, 0x05, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x75, + 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x6e, 0x75, 0x6d, 0x62, + 0x65, 0x72, 0x12, 0x44, 0x0a, 0x0f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x65, + 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x64, + 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x22, 0x85, 0x01, 0x0a, 0x07, 0x45, 0x70, 0x6f, + 0x63, 0x68, 0x56, 0x32, 0x12, 0x34, 0x0a, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x52, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x44, 0x0a, 0x0f, 0x73, 0x74, + 0x61, 0x72, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, + 0x0f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, + 0x22, 0x64, 0x0a, 0x04, 0x53, 0x6c, 0x6f, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x75, 0x6d, 0x62, + 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, + 0x12, 0x44, 0x0a, 0x0f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x64, 0x61, 0x74, + 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x22, 0x84, 0x01, 0x0a, 0x06, 0x53, 0x6c, 0x6f, 0x74, 0x56, + 0x32, 0x12, 0x34, 0x0a, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x44, 0x0a, 0x0f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0f, 0x73, 0x74, - 0x61, 0x72, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x3a, 0x0a, - 0x09, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x76, 0x32, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, - 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x76, 0x32, 0x22, 0xa4, 0x01, 0x0a, 0x04, 0x53, 0x6c, - 0x6f, 0x74, 0x12, 0x1a, 0x0a, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x04, 0x42, 0x02, 0x18, 0x01, 0x52, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x44, - 0x0a, 0x0f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x52, 0x0f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x5f, - 0x74, 0x69, 0x6d, 0x65, 0x12, 0x3a, 0x0a, 0x09, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x76, - 0x32, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x76, 0x32, - 0x22, 0x30, 0x0a, 0x06, 0x46, 0x6f, 0x72, 0x6b, 0x49, 0x44, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x61, - 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x61, 0x73, 0x68, 0x12, 0x12, - 0x0a, 0x04, 0x6e, 0x65, 0x78, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x65, - 0x78, 0x74, 0x22, 0x89, 0x01, 0x0a, 0x0b, 0x50, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x2c, 0x0a, 0x0f, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, - 0x5f, 0x64, 0x69, 0x66, 0x66, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x42, 0x02, 0x18, 0x01, 0x52, - 0x0f, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x64, 0x69, 0x66, 0x66, - 0x12, 0x4c, 0x0a, 0x12, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x64, - 0x69, 0x66, 0x66, 0x5f, 0x76, 0x32, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, - 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x12, 0x73, 0x6c, 0x6f, 0x74, - 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x64, 0x69, 0x66, 0x66, 0x5f, 0x76, 0x32, 0x22, 0xe4, - 0x01, 0x0a, 0x12, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x69, - 0x64, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x2c, 0x0a, 0x0f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, - 0x65, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x42, 0x02, - 0x18, 0x01, 0x52, 0x0f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x5f, 0x69, 0x6e, - 0x64, 0x65, 0x78, 0x12, 0x18, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x04, 0x42, 0x02, 0x18, 0x01, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x4c, 0x0a, - 0x12, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, - 0x5f, 0x76, 0x32, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x61, 0x72, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x22, 0x30, 0x0a, + 0x06, 0x46, 0x6f, 0x72, 0x6b, 0x49, 0x44, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x61, 0x73, 0x68, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x61, 0x73, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x6e, + 0x65, 0x78, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x65, 0x78, 0x74, 0x22, + 0x37, 0x0a, 0x0b, 0x50, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, + 0x0a, 0x0f, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x64, 0x69, 0x66, + 0x66, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0f, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x73, 0x74, + 0x61, 0x72, 0x74, 0x5f, 0x64, 0x69, 0x66, 0x66, 0x22, 0x57, 0x0a, 0x0d, 0x50, 0x72, 0x6f, 0x70, + 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x32, 0x12, 0x46, 0x0a, 0x0f, 0x73, 0x6c, 0x6f, + 0x74, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x64, 0x69, 0x66, 0x66, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x52, 0x0f, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x64, 0x69, 0x66, + 0x66, 0x22, 0x54, 0x0a, 0x12, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x56, 0x61, + 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x28, 0x0a, 0x0f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, + 0x74, 0x74, 0x65, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x0f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, + 0x78, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x92, 0x01, 0x0a, 0x14, 0x41, 0x74, 0x74, 0x65, + 0x73, 0x74, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x56, 0x32, + 0x12, 0x46, 0x0a, 0x0f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x5f, 0x69, 0x6e, + 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, - 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x12, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, - 0x65, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x76, 0x32, 0x12, 0x38, 0x0a, 0x08, 0x69, - 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x76, 0x32, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, - 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x69, 0x6e, 0x64, - 0x65, 0x78, 0x5f, 0x76, 0x32, 0x22, 0xaa, 0x01, 0x0a, 0x14, 0x44, 0x65, 0x62, 0x75, 0x67, 0x46, - 0x6f, 0x72, 0x6b, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, 0x6f, 0x72, 0x67, 0x12, 0x2f, - 0x0a, 0x06, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, - 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x6f, 0x72, - 0x6b, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x06, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x12, - 0x2d, 0x0a, 0x05, 0x61, 0x66, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, - 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x6f, 0x72, - 0x6b, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x05, 0x61, 0x66, 0x74, 0x65, 0x72, 0x12, 0x32, - 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, - 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x76, 0x65, 0x6e, - 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x6f, 0x72, 0x67, 0x52, 0x05, 0x65, 0x76, 0x65, - 0x6e, 0x74, 0x22, 0xc8, 0x31, 0x0a, 0x0a, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, - 0x61, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, - 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, - 0x26, 0x0a, 0x0e, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x6d, 0x65, - 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x6f, 0x73, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x02, 0x6f, 0x73, 0x12, 0x24, 0x0a, 0x0b, 0x63, 0x6c, 0x6f, 0x63, 0x6b, - 0x5f, 0x64, 0x72, 0x69, 0x66, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x42, 0x02, 0x18, 0x01, - 0x52, 0x0b, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x64, 0x72, 0x69, 0x66, 0x74, 0x12, 0x44, 0x0a, - 0x0e, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x64, 0x72, 0x69, 0x66, 0x74, 0x5f, 0x76, 0x32, 0x18, - 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, - 0x6c, 0x75, 0x65, 0x52, 0x0e, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x64, 0x72, 0x69, 0x66, 0x74, - 0x5f, 0x76, 0x32, 0x12, 0x35, 0x0a, 0x08, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x18, - 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, - 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x45, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, - 0x52, 0x08, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x12, 0x34, 0x0a, 0x06, 0x6c, 0x61, - 0x62, 0x65, 0x6c, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x78, 0x61, 0x74, - 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x4c, 0x61, 0x62, - 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, - 0x12, 0x80, 0x01, 0x0a, 0x19, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x65, 0x76, 0x65, 0x6e, - 0x74, 0x73, 0x5f, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0a, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, - 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, - 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x41, 0x74, 0x74, 0x65, - 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x24, 0x42, - 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, - 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x41, 0x54, 0x54, 0x45, 0x53, 0x54, 0x41, 0x54, - 0x49, 0x4f, 0x4e, 0x12, 0x6b, 0x0a, 0x12, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x65, 0x76, - 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x2e, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, + 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, + 0x65, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x32, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, + 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x22, 0xaa, 0x01, 0x0a, + 0x14, 0x44, 0x65, 0x62, 0x75, 0x67, 0x46, 0x6f, 0x72, 0x6b, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, + 0x52, 0x65, 0x6f, 0x72, 0x67, 0x12, 0x2f, 0x0a, 0x06, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, + 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x6f, 0x72, 0x6b, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x06, + 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x12, 0x2d, 0x0a, 0x05, 0x61, 0x66, 0x74, 0x65, 0x72, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, + 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x6f, 0x72, 0x6b, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x05, + 0x61, 0x66, 0x74, 0x65, 0x72, 0x12, 0x32, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, + 0x76, 0x31, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x6f, + 0x72, 0x67, 0x52, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x22, 0xb2, 0x01, 0x0a, 0x16, 0x44, 0x65, + 0x62, 0x75, 0x67, 0x46, 0x6f, 0x72, 0x6b, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, 0x6f, + 0x72, 0x67, 0x56, 0x32, 0x12, 0x31, 0x0a, 0x06, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, + 0x76, 0x31, 0x2e, 0x46, 0x6f, 0x72, 0x6b, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x56, 0x32, 0x52, + 0x06, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x12, 0x2f, 0x0a, 0x05, 0x61, 0x66, 0x74, 0x65, 0x72, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, + 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x6f, 0x72, 0x6b, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x56, + 0x32, 0x52, 0x05, 0x61, 0x66, 0x74, 0x65, 0x72, 0x12, 0x34, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, + 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, + 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, + 0x52, 0x65, 0x6f, 0x72, 0x67, 0x56, 0x32, 0x52, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x22, 0x97, + 0x50, 0x0a, 0x0a, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x12, 0x0a, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, + 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x69, + 0x6d, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0e, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x6f, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x02, 0x6f, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x64, 0x72, 0x69, + 0x66, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, + 0x64, 0x72, 0x69, 0x66, 0x74, 0x12, 0x35, 0x0a, 0x08, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, + 0x6d, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x45, 0x74, 0x68, 0x65, 0x72, 0x65, + 0x75, 0x6d, 0x52, 0x08, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x12, 0x34, 0x0a, 0x06, + 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x78, + 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x4c, + 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, + 0x6c, 0x73, 0x12, 0x80, 0x01, 0x0a, 0x19, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x65, 0x76, + 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x41, 0x74, + 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, + 0x24, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, + 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x41, 0x54, 0x54, 0x45, 0x53, 0x54, + 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x12, 0x6b, 0x0a, 0x12, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, + 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x2e, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, + 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, + 0x68, 0x56, 0x31, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x48, 0x65, 0x61, 0x64, 0x44, 0x61, 0x74, + 0x61, 0x48, 0x00, 0x52, 0x1d, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, + 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x48, 0x45, + 0x41, 0x44, 0x12, 0x6e, 0x0a, 0x13, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x65, 0x76, 0x65, + 0x6e, 0x74, 0x73, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x2f, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, - 0x31, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x48, 0x65, 0x61, 0x64, 0x44, 0x61, 0x74, 0x61, 0x48, - 0x00, 0x52, 0x1d, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, - 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x48, 0x45, 0x41, 0x44, - 0x12, 0x6e, 0x0a, 0x13, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, - 0x73, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, + 0x31, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x61, 0x74, 0x61, + 0x48, 0x00, 0x52, 0x1e, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, + 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x42, 0x4c, 0x4f, + 0x43, 0x4b, 0x12, 0x88, 0x01, 0x0a, 0x1c, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x65, 0x76, + 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x76, 0x6f, 0x6c, 0x75, 0x6e, 0x74, 0x61, 0x72, 0x79, 0x5f, 0x65, + 0x78, 0x69, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x78, 0x61, 0x74, 0x75, + 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x73, 0x56, 0x6f, 0x6c, 0x75, 0x6e, 0x74, 0x61, 0x72, 0x79, 0x45, 0x78, 0x69, 0x74, 0x44, 0x61, + 0x74, 0x61, 0x48, 0x00, 0x52, 0x27, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, + 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x56, + 0x4f, 0x4c, 0x55, 0x4e, 0x54, 0x41, 0x52, 0x59, 0x5f, 0x45, 0x58, 0x49, 0x54, 0x12, 0x9a, 0x01, + 0x0a, 0x22, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x5f, + 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x78, 0x61, 0x74, + 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x73, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x43, 0x68, 0x65, 0x63, 0x6b, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x2d, 0x42, 0x45, 0x41, + 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, + 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x46, 0x49, 0x4e, 0x41, 0x4c, 0x49, 0x5a, 0x45, 0x44, 0x5f, + 0x43, 0x48, 0x45, 0x43, 0x4b, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x12, 0x7f, 0x0a, 0x19, 0x65, 0x74, + 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x5f, 0x72, 0x65, 0x6f, 0x72, 0x67, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x73, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, - 0x52, 0x1e, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, - 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, - 0x12, 0x88, 0x01, 0x0a, 0x1c, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x65, 0x76, 0x65, 0x6e, - 0x74, 0x73, 0x5f, 0x76, 0x6f, 0x6c, 0x75, 0x6e, 0x74, 0x61, 0x72, 0x79, 0x5f, 0x65, 0x78, 0x69, - 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, - 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, - 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x56, - 0x6f, 0x6c, 0x75, 0x6e, 0x74, 0x61, 0x72, 0x79, 0x45, 0x78, 0x69, 0x74, 0x44, 0x61, 0x74, 0x61, - 0x48, 0x00, 0x52, 0x27, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, - 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x56, 0x4f, 0x4c, - 0x55, 0x4e, 0x54, 0x41, 0x52, 0x59, 0x5f, 0x45, 0x58, 0x49, 0x54, 0x12, 0x9a, 0x01, 0x0a, 0x22, - 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x66, 0x69, - 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, - 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, - 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x2d, 0x42, 0x45, 0x41, 0x43, 0x4f, + 0x76, 0x65, 0x6e, 0x74, 0x73, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x6f, 0x72, 0x67, 0x44, + 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x24, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, + 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, + 0x43, 0x48, 0x41, 0x49, 0x4e, 0x5f, 0x52, 0x45, 0x4f, 0x52, 0x47, 0x12, 0x9f, 0x01, 0x0a, 0x24, + 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x63, 0x6f, + 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x6e, 0x64, 0x5f, 0x70, + 0x72, 0x6f, 0x6f, 0x66, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x78, 0x61, 0x74, + 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, + 0x64, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x2f, 0x42, 0x45, + 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, + 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x49, 0x42, 0x55, 0x54, + 0x49, 0x4f, 0x4e, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x50, 0x52, 0x4f, 0x4f, 0x46, 0x12, 0x65, 0x0a, + 0x13, 0x6d, 0x65, 0x6d, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x78, 0x61, 0x74, + 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4d, 0x65, 0x6d, 0x70, 0x6f, 0x6f, 0x6c, 0x54, 0x72, + 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, + 0x13, 0x4d, 0x45, 0x4d, 0x50, 0x4f, 0x4f, 0x4c, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x41, 0x43, + 0x54, 0x49, 0x4f, 0x4e, 0x12, 0x6e, 0x0a, 0x13, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x32, 0x5f, 0x62, + 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x12, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x2f, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, + 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, + 0x68, 0x56, 0x32, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x61, + 0x74, 0x61, 0x48, 0x00, 0x52, 0x1e, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, + 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x32, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x42, + 0x4c, 0x4f, 0x43, 0x4b, 0x12, 0x7c, 0x0a, 0x18, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x64, + 0x65, 0x62, 0x75, 0x67, 0x5f, 0x66, 0x6f, 0x72, 0x6b, 0x5f, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, + 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x44, 0x65, 0x62, 0x75, 0x67, 0x46, 0x6f, 0x72, + 0x6b, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x23, 0x42, + 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, + 0x5f, 0x44, 0x45, 0x42, 0x55, 0x47, 0x5f, 0x46, 0x4f, 0x52, 0x4b, 0x5f, 0x43, 0x48, 0x4f, 0x49, + 0x43, 0x45, 0x12, 0x8d, 0x01, 0x0a, 0x1e, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x64, 0x65, + 0x62, 0x75, 0x67, 0x5f, 0x66, 0x6f, 0x72, 0x6b, 0x5f, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x5f, + 0x72, 0x65, 0x6f, 0x72, 0x67, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x78, 0x61, + 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, + 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x44, 0x65, 0x62, + 0x75, 0x67, 0x46, 0x6f, 0x72, 0x6b, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, 0x4f, 0x72, + 0x67, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x29, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, + 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x44, 0x45, 0x42, 0x55, 0x47, + 0x5f, 0x46, 0x4f, 0x52, 0x4b, 0x5f, 0x43, 0x48, 0x4f, 0x49, 0x43, 0x45, 0x5f, 0x52, 0x45, 0x4f, + 0x52, 0x47, 0x12, 0x79, 0x0a, 0x16, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x62, 0x65, 0x61, + 0x63, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x65, 0x65, 0x18, 0x15, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, + 0x74, 0x68, 0x56, 0x31, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, + 0x74, 0x65, 0x65, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x22, 0x42, 0x45, 0x41, 0x43, 0x4f, + 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x42, 0x45, 0x41, + 0x43, 0x4f, 0x4e, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x54, 0x45, 0x45, 0x12, 0x97, 0x01, + 0x0a, 0x21, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, + 0x6f, 0x72, 0x5f, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, + 0x61, 0x74, 0x61, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x78, 0x61, 0x74, 0x75, + 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x56, 0x61, 0x6c, 0x69, 0x64, + 0x61, 0x74, 0x6f, 0x72, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, + 0x61, 0x74, 0x61, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x2c, 0x42, 0x45, 0x41, 0x43, 0x4f, + 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x56, 0x41, 0x4c, + 0x49, 0x44, 0x41, 0x54, 0x4f, 0x52, 0x5f, 0x41, 0x54, 0x54, 0x45, 0x53, 0x54, 0x41, 0x54, 0x49, + 0x4f, 0x4e, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x12, 0x88, 0x01, 0x0a, 0x1c, 0x65, 0x74, 0x68, 0x5f, + 0x76, 0x31, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x76, 0x32, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, + 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, + 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x56, 0x32, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x27, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, - 0x4e, 0x54, 0x53, 0x5f, 0x46, 0x49, 0x4e, 0x41, 0x4c, 0x49, 0x5a, 0x45, 0x44, 0x5f, 0x43, 0x48, - 0x45, 0x43, 0x4b, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x12, 0x7f, 0x0a, 0x19, 0x65, 0x74, 0x68, 0x5f, + 0x4e, 0x54, 0x53, 0x5f, 0x41, 0x54, 0x54, 0x45, 0x53, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, + 0x56, 0x32, 0x12, 0x73, 0x0a, 0x15, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x65, 0x76, 0x65, + 0x6e, 0x74, 0x73, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x5f, 0x76, 0x32, 0x18, 0x19, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x30, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, + 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, + 0x68, 0x56, 0x31, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x48, 0x65, 0x61, 0x64, 0x56, 0x32, 0x44, + 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x20, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, + 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, + 0x48, 0x45, 0x41, 0x44, 0x5f, 0x56, 0x32, 0x12, 0x76, 0x0a, 0x16, 0x65, 0x74, 0x68, 0x5f, 0x76, + 0x31, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x76, + 0x32, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x42, + 0x6c, 0x6f, 0x63, 0x6b, 0x56, 0x32, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x21, 0x42, 0x45, + 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, + 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x56, 0x32, 0x12, + 0x90, 0x01, 0x0a, 0x1f, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, + 0x73, 0x5f, 0x76, 0x6f, 0x6c, 0x75, 0x6e, 0x74, 0x61, 0x72, 0x79, 0x5f, 0x65, 0x78, 0x69, 0x74, + 0x5f, 0x76, 0x32, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x78, 0x61, 0x74, 0x75, + 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x73, 0x56, 0x6f, 0x6c, 0x75, 0x6e, 0x74, 0x61, 0x72, 0x79, 0x45, 0x78, 0x69, 0x74, 0x56, 0x32, + 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x2a, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, + 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, + 0x5f, 0x56, 0x4f, 0x4c, 0x55, 0x4e, 0x54, 0x41, 0x52, 0x59, 0x5f, 0x45, 0x58, 0x49, 0x54, 0x5f, + 0x56, 0x32, 0x12, 0xa2, 0x01, 0x0a, 0x25, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x65, 0x76, + 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x63, + 0x68, 0x65, 0x63, 0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x76, 0x32, 0x18, 0x1c, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, + 0x74, 0x68, 0x56, 0x31, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, + 0x7a, 0x65, 0x64, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x56, 0x32, 0x44, + 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x30, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, + 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, + 0x46, 0x49, 0x4e, 0x41, 0x4c, 0x49, 0x5a, 0x45, 0x44, 0x5f, 0x43, 0x48, 0x45, 0x43, 0x4b, 0x50, + 0x4f, 0x49, 0x4e, 0x54, 0x5f, 0x56, 0x32, 0x12, 0x87, 0x01, 0x0a, 0x1c, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, - 0x72, 0x65, 0x6f, 0x72, 0x67, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x78, 0x61, - 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, - 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x45, 0x76, 0x65, - 0x6e, 0x74, 0x73, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x6f, 0x72, 0x67, 0x44, 0x61, 0x74, - 0x61, 0x48, 0x00, 0x52, 0x24, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, - 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x43, 0x48, - 0x41, 0x49, 0x4e, 0x5f, 0x52, 0x45, 0x4f, 0x52, 0x47, 0x12, 0x9f, 0x01, 0x0a, 0x24, 0x65, 0x74, - 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x6e, 0x64, 0x5f, 0x70, 0x72, 0x6f, - 0x6f, 0x66, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, - 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, - 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x64, 0x50, - 0x72, 0x6f, 0x6f, 0x66, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x2f, 0x42, 0x45, 0x41, 0x43, - 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, - 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x49, 0x42, 0x55, 0x54, 0x49, 0x4f, - 0x4e, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x50, 0x52, 0x4f, 0x4f, 0x46, 0x12, 0x65, 0x0a, 0x13, 0x6d, + 0x72, 0x65, 0x6f, 0x72, 0x67, 0x5f, 0x76, 0x32, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, + 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, + 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x6f, 0x72, 0x67, + 0x56, 0x32, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x27, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, + 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, + 0x54, 0x53, 0x5f, 0x43, 0x48, 0x41, 0x49, 0x4e, 0x5f, 0x52, 0x45, 0x4f, 0x52, 0x47, 0x5f, 0x56, + 0x32, 0x12, 0xa7, 0x01, 0x0a, 0x27, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x65, 0x76, 0x65, + 0x6e, 0x74, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x61, 0x6e, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x6f, 0x66, 0x5f, 0x76, 0x32, 0x18, 0x1e, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, + 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, + 0x45, 0x74, 0x68, 0x56, 0x31, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x72, + 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x64, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x56, + 0x32, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x32, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, + 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, + 0x53, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x49, 0x42, 0x55, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x41, + 0x4e, 0x44, 0x5f, 0x50, 0x52, 0x4f, 0x4f, 0x46, 0x5f, 0x56, 0x32, 0x12, 0x6d, 0x0a, 0x16, 0x6d, 0x65, 0x6d, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, + 0x6f, 0x6e, 0x5f, 0x76, 0x32, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x78, 0x61, + 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, + 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4d, 0x65, 0x6d, 0x70, 0x6f, 0x6f, 0x6c, 0x54, + 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x32, 0x44, 0x61, 0x74, 0x61, + 0x48, 0x00, 0x52, 0x16, 0x4d, 0x45, 0x4d, 0x50, 0x4f, 0x4f, 0x4c, 0x5f, 0x54, 0x52, 0x41, 0x4e, + 0x53, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x56, 0x32, 0x12, 0x76, 0x0a, 0x16, 0x65, 0x74, + 0x68, 0x5f, 0x76, 0x32, 0x5f, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x5f, 0x62, 0x6c, 0x6f, 0x63, + 0x6b, 0x5f, 0x76, 0x32, 0x18, 0x20, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x78, 0x61, 0x74, + 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x32, 0x42, 0x65, 0x61, 0x63, + 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x56, 0x32, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, + 0x21, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, + 0x56, 0x32, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, + 0x56, 0x32, 0x12, 0x84, 0x01, 0x0a, 0x1b, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x64, 0x65, + 0x62, 0x75, 0x67, 0x5f, 0x66, 0x6f, 0x72, 0x6b, 0x5f, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x5f, + 0x76, 0x32, 0x18, 0x21, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4d, 0x65, 0x6d, 0x70, 0x6f, 0x6f, 0x6c, 0x54, 0x72, 0x61, 0x6e, - 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x13, 0x4d, - 0x45, 0x4d, 0x50, 0x4f, 0x4f, 0x4c, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x41, 0x43, 0x54, 0x49, - 0x4f, 0x4e, 0x12, 0x6e, 0x0a, 0x13, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x32, 0x5f, 0x62, 0x65, 0x61, - 0x63, 0x6f, 0x6e, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x2f, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, - 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, - 0x32, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x61, 0x74, 0x61, - 0x48, 0x00, 0x52, 0x1e, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, - 0x54, 0x48, 0x5f, 0x56, 0x32, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x42, 0x4c, 0x4f, - 0x43, 0x4b, 0x12, 0x7c, 0x0a, 0x18, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x64, 0x65, 0x62, - 0x75, 0x67, 0x5f, 0x66, 0x6f, 0x72, 0x6b, 0x5f, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x18, 0x13, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, - 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, - 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x44, 0x65, 0x62, 0x75, 0x67, 0x46, 0x6f, 0x72, 0x6b, 0x43, - 0x68, 0x6f, 0x69, 0x63, 0x65, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x23, 0x42, 0x45, 0x41, - 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x44, - 0x45, 0x42, 0x55, 0x47, 0x5f, 0x46, 0x4f, 0x52, 0x4b, 0x5f, 0x43, 0x48, 0x4f, 0x49, 0x43, 0x45, - 0x12, 0x8d, 0x01, 0x0a, 0x1e, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x64, 0x65, 0x62, 0x75, - 0x67, 0x5f, 0x66, 0x6f, 0x72, 0x6b, 0x5f, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x72, 0x65, - 0x6f, 0x72, 0x67, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x78, 0x61, 0x74, 0x75, + 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x44, 0x65, 0x62, 0x75, 0x67, 0x46, + 0x6f, 0x72, 0x6b, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x56, 0x32, 0x44, 0x61, 0x74, 0x61, 0x48, + 0x00, 0x52, 0x26, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, + 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x44, 0x45, 0x42, 0x55, 0x47, 0x5f, 0x46, 0x4f, 0x52, 0x4b, 0x5f, + 0x43, 0x48, 0x4f, 0x49, 0x43, 0x45, 0x5f, 0x56, 0x32, 0x12, 0x95, 0x01, 0x0a, 0x21, 0x65, 0x74, + 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x64, 0x65, 0x62, 0x75, 0x67, 0x5f, 0x66, 0x6f, 0x72, 0x6b, 0x5f, + 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x6f, 0x72, 0x67, 0x5f, 0x76, 0x32, 0x18, + 0x22, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, + 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x44, 0x65, 0x62, 0x75, 0x67, 0x46, 0x6f, 0x72, 0x6b, + 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, 0x4f, 0x72, 0x67, 0x56, 0x32, 0x44, 0x61, 0x74, + 0x61, 0x48, 0x00, 0x52, 0x2c, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, + 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x44, 0x45, 0x42, 0x55, 0x47, 0x5f, 0x46, 0x4f, 0x52, + 0x4b, 0x5f, 0x43, 0x48, 0x4f, 0x49, 0x43, 0x45, 0x5f, 0x52, 0x45, 0x4f, 0x52, 0x47, 0x5f, 0x56, + 0x32, 0x1a, 0x80, 0x03, 0x0a, 0x08, 0x45, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x12, 0x3b, + 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x21, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, + 0x61, 0x2e, 0x45, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x41, 0x0a, 0x09, 0x65, + 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, + 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, + 0x2e, 0x45, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x41, + 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x23, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, + 0x65, 0x74, 0x61, 0x2e, 0x45, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x43, 0x6f, 0x6e, + 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, + 0x73, 0x1a, 0x2d, 0x0a, 0x07, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x12, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, + 0x1a, 0x33, 0x0a, 0x09, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x26, 0x0a, + 0x07, 0x66, 0x6f, 0x72, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, + 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x46, 0x6f, 0x72, 0x6b, 0x49, 0x44, 0x52, 0x07, 0x66, 0x6f, + 0x72, 0x6b, 0x5f, 0x69, 0x64, 0x1a, 0x4d, 0x0a, 0x09, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, + 0x75, 0x73, 0x12, 0x26, 0x0a, 0x0e, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x69, 0x6d, 0x70, 0x6c, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, + 0x49, 0x0a, 0x24, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, + 0x56, 0x31, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x21, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, + 0x6f, 0x63, 0x68, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x1a, 0x4d, 0x0a, 0x26, 0x41, 0x64, + 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x41, 0x74, 0x74, + 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x56, 0x32, + 0x44, 0x61, 0x74, 0x61, 0x12, 0x23, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, + 0x56, 0x32, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x1a, 0x49, 0x0a, 0x24, 0x41, 0x64, 0x64, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x41, 0x74, 0x74, 0x65, + 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x44, 0x61, 0x74, + 0x61, 0x12, 0x21, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x0b, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x52, 0x05, 0x65, + 0x70, 0x6f, 0x63, 0x68, 0x1a, 0x4d, 0x0a, 0x26, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x56, 0x32, 0x44, 0x61, 0x74, 0x61, 0x12, 0x23, + 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, + 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x56, 0x32, 0x52, 0x05, 0x65, 0x70, + 0x6f, 0x63, 0x68, 0x1a, 0x88, 0x03, 0x0a, 0x24, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x41, 0x74, 0x74, + 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x12, 0x4d, 0x0a, 0x06, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x78, + 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, + 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x41, 0x74, + 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x44, + 0x61, 0x74, 0x61, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x4d, 0x0a, 0x06, 0x74, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x78, 0x61, + 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, + 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x41, 0x74, 0x74, + 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x44, 0x61, + 0x74, 0x61, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x1e, 0x0a, 0x04, 0x73, 0x6c, + 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, + 0x53, 0x6c, 0x6f, 0x74, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x21, 0x0a, 0x05, 0x65, 0x70, + 0x6f, 0x63, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x78, 0x61, 0x74, 0x75, + 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x33, 0x0a, + 0x0b, 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x61, 0x67, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x4a, 0x0a, 0x13, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x5f, + 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x18, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, + 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x13, 0x61, 0x74, 0x74, 0x65, 0x73, + 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x1a, 0x96, + 0x03, 0x0a, 0x26, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, + 0x56, 0x31, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x56, 0x32, 0x44, 0x61, 0x74, 0x61, 0x12, 0x4f, 0x0a, 0x06, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, - 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x44, 0x65, 0x62, 0x75, 0x67, - 0x46, 0x6f, 0x72, 0x6b, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, 0x4f, 0x72, 0x67, 0x44, - 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x29, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, - 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x44, 0x45, 0x42, 0x55, 0x47, 0x5f, 0x46, - 0x4f, 0x52, 0x4b, 0x5f, 0x43, 0x48, 0x4f, 0x49, 0x43, 0x45, 0x5f, 0x52, 0x45, 0x4f, 0x52, 0x47, - 0x12, 0x79, 0x0a, 0x16, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x62, 0x65, 0x61, 0x63, 0x6f, - 0x6e, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x65, 0x65, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x33, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, - 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, - 0x56, 0x31, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, - 0x65, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x22, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, - 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, - 0x4e, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x54, 0x45, 0x45, 0x12, 0x97, 0x01, 0x0a, 0x21, - 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, - 0x5f, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, - 0x61, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, - 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, - 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, - 0x6f, 0x72, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, - 0x61, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x2c, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, - 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x56, 0x41, 0x4c, 0x49, 0x44, - 0x41, 0x54, 0x4f, 0x52, 0x5f, 0x41, 0x54, 0x54, 0x45, 0x53, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, - 0x5f, 0x44, 0x41, 0x54, 0x41, 0x1a, 0x80, 0x03, 0x0a, 0x08, 0x45, 0x74, 0x68, 0x65, 0x72, 0x65, - 0x75, 0x6d, 0x12, 0x3b, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, - 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x45, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x4e, - 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, - 0x41, 0x0a, 0x09, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x45, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x45, 0x78, - 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x41, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, - 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x45, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, - 0x2e, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x73, - 0x65, 0x6e, 0x73, 0x75, 0x73, 0x1a, 0x2d, 0x0a, 0x07, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, - 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x02, 0x69, 0x64, 0x1a, 0x33, 0x0a, 0x09, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x26, 0x0a, 0x07, 0x66, 0x6f, 0x72, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x46, 0x6f, 0x72, 0x6b, 0x49, 0x44, - 0x52, 0x07, 0x66, 0x6f, 0x72, 0x6b, 0x5f, 0x69, 0x64, 0x1a, 0x4d, 0x0a, 0x09, 0x43, 0x6f, 0x6e, - 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x12, 0x26, 0x0a, 0x0e, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x6d, - 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, - 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, - 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, - 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, - 0x02, 0x38, 0x01, 0x1a, 0x49, 0x0a, 0x24, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, - 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x21, 0x0a, 0x05, 0x65, - 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x78, 0x61, 0x74, - 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x1a, 0x49, - 0x0a, 0x24, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, - 0x31, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x72, 0x67, - 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x12, 0x21, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, - 0x63, 0x68, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x1a, 0x88, 0x03, 0x0a, 0x24, 0x41, 0x64, - 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x45, 0x76, 0x65, - 0x6e, 0x74, 0x73, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, - 0x74, 0x61, 0x12, 0x4d, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, - 0x74, 0x68, 0x56, 0x31, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x12, 0x4d, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x35, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, - 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, - 0x68, 0x56, 0x31, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, - 0x72, 0x67, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, - 0x12, 0x1e, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, - 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, 0x6c, 0x6f, 0x74, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, - 0x12, 0x21, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x0b, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x52, 0x05, 0x65, 0x70, - 0x6f, 0x63, 0x68, 0x12, 0x33, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, - 0x50, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x70, 0x72, 0x6f, - 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4a, 0x0a, 0x13, 0x61, 0x74, 0x74, 0x65, - 0x73, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x41, 0x74, 0x74, - 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x52, - 0x13, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, - 0x61, 0x74, 0x6f, 0x72, 0x1a, 0x97, 0x01, 0x0a, 0x1d, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x48, 0x65, - 0x61, 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x21, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, + 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x41, 0x74, 0x74, 0x65, 0x73, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x56, 0x32, 0x44, 0x61, + 0x74, 0x61, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x4f, 0x0a, 0x06, 0x74, 0x61, + 0x72, 0x67, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x78, 0x61, 0x74, + 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x41, 0x74, 0x74, 0x65, + 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x56, 0x32, 0x44, + 0x61, 0x74, 0x61, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x20, 0x0a, 0x04, 0x73, + 0x6c, 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x78, 0x61, 0x74, 0x75, + 0x2e, 0x53, 0x6c, 0x6f, 0x74, 0x56, 0x32, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x23, 0x0a, + 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x78, + 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x56, 0x32, 0x52, 0x05, 0x65, 0x70, 0x6f, + 0x63, 0x68, 0x12, 0x35, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x50, + 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x32, 0x52, 0x0b, 0x70, 0x72, + 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4c, 0x0a, 0x13, 0x61, 0x74, 0x74, + 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x41, 0x74, + 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, + 0x56, 0x32, 0x52, 0x13, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, + 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x1a, 0x97, 0x01, 0x0a, 0x1d, 0x41, 0x64, 0x64, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x73, 0x48, 0x65, 0x61, 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x21, 0x0a, 0x05, 0x65, 0x70, 0x6f, + 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, + 0x45, 0x70, 0x6f, 0x63, 0x68, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x1e, 0x0a, 0x04, + 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x78, 0x61, 0x74, + 0x75, 0x2e, 0x53, 0x6c, 0x6f, 0x74, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x33, 0x0a, 0x0b, + 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x11, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x1a, 0x9f, 0x01, 0x0a, 0x1f, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, + 0x45, 0x74, 0x68, 0x56, 0x31, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x48, 0x65, 0x61, 0x64, 0x56, + 0x32, 0x44, 0x61, 0x74, 0x61, 0x12, 0x23, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, + 0x68, 0x56, 0x32, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x20, 0x0a, 0x04, 0x73, 0x6c, + 0x6f, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, + 0x53, 0x6c, 0x6f, 0x74, 0x56, 0x32, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x35, 0x0a, 0x0b, + 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x13, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x32, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x1a, 0x98, 0x01, 0x0a, 0x1e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x42, 0x6c, 0x6f, + 0x63, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x12, 0x21, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x1e, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, 0x6c, 0x6f, 0x74, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x33, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x98, - 0x01, 0x0a, 0x1e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, - 0x56, 0x31, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x61, 0x74, - 0x61, 0x12, 0x21, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x0b, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x52, 0x05, 0x65, - 0x70, 0x6f, 0x63, 0x68, 0x12, 0x1e, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, 0x6c, 0x6f, 0x74, 0x52, 0x04, - 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x33, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x78, 0x61, 0x74, 0x75, - 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x70, 0x72, - 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x4b, 0x0a, 0x26, 0x41, 0x64, 0x64, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x45, 0x76, 0x65, 0x6e, - 0x74, 0x73, 0x56, 0x6f, 0x6c, 0x75, 0x6e, 0x74, 0x61, 0x72, 0x79, 0x45, 0x78, 0x69, 0x74, 0x44, - 0x61, 0x74, 0x61, 0x12, 0x21, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x52, - 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x1a, 0x51, 0x0a, 0x2c, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, - 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x46, - 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, 0x12, 0x21, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, - 0x63, 0x68, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x1a, 0x9d, 0x01, 0x0a, 0x23, 0x41, 0x64, + 0x6e, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0xa0, + 0x01, 0x0a, 0x20, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, + 0x56, 0x31, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x56, 0x32, 0x44, + 0x61, 0x74, 0x61, 0x12, 0x23, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x56, + 0x32, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x20, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, 0x6c, + 0x6f, 0x74, 0x56, 0x32, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x35, 0x0a, 0x0b, 0x70, 0x72, + 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x13, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x56, 0x32, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x1a, 0x4b, 0x0a, 0x26, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, + 0x74, 0x68, 0x56, 0x31, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x56, 0x6f, 0x6c, 0x75, 0x6e, 0x74, + 0x61, 0x72, 0x79, 0x45, 0x78, 0x69, 0x74, 0x44, 0x61, 0x74, 0x61, 0x12, 0x21, 0x0a, 0x05, 0x65, + 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x78, 0x61, 0x74, + 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x1a, 0x4f, + 0x0a, 0x28, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, + 0x31, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x56, 0x6f, 0x6c, 0x75, 0x6e, 0x74, 0x61, 0x72, 0x79, + 0x45, 0x78, 0x69, 0x74, 0x56, 0x32, 0x44, 0x61, 0x74, 0x61, 0x12, 0x23, 0x0a, 0x05, 0x65, 0x70, + 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x78, 0x61, 0x74, 0x75, + 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x56, 0x32, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x1a, + 0x51, 0x0a, 0x2c, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, + 0x56, 0x31, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, + 0x64, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, 0x12, + 0x21, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, + 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x52, 0x05, 0x65, 0x70, 0x6f, + 0x63, 0x68, 0x1a, 0x55, 0x0a, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, + 0x45, 0x74, 0x68, 0x56, 0x31, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x46, 0x69, 0x6e, 0x61, 0x6c, + 0x69, 0x7a, 0x65, 0x64, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x56, 0x32, + 0x44, 0x61, 0x74, 0x61, 0x12, 0x23, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, + 0x56, 0x32, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x1a, 0x9d, 0x01, 0x0a, 0x23, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x6f, 0x72, 0x67, 0x44, 0x61, 0x74, 0x61, 0x12, 0x21, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, @@ -3430,367 +5189,564 @@ var file_pkg_proto_xatu_event_ingester_proto_rawDesc = []byte{ 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x33, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x70, 0x72, - 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0xb3, 0x01, 0x0a, 0x39, 0x41, 0x64, + 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0xa5, 0x01, 0x0a, 0x25, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x45, 0x76, 0x65, - 0x6e, 0x74, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x41, - 0x6e, 0x64, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x12, 0x21, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, - 0x6f, 0x63, 0x68, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x1e, 0x0a, 0x04, 0x73, 0x6c, - 0x6f, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, - 0x53, 0x6c, 0x6f, 0x74, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x33, 0x0a, 0x0b, 0x70, 0x72, + 0x6e, 0x74, 0x73, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x6f, 0x72, 0x67, 0x56, 0x32, 0x44, + 0x61, 0x74, 0x61, 0x12, 0x23, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x56, + 0x32, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x20, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, 0x6c, + 0x6f, 0x74, 0x56, 0x32, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x35, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x11, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, - 0x9f, 0x01, 0x0a, 0x2d, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, - 0x68, 0x56, 0x31, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x64, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x44, 0x61, 0x74, - 0x61, 0x12, 0x6e, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4a, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, - 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, + 0x13, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x56, 0x32, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x1a, 0xb3, 0x01, 0x0a, 0x39, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, + 0x45, 0x74, 0x68, 0x56, 0x31, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x72, + 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x64, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x43, + 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x12, + 0x21, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, + 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x52, 0x05, 0x65, 0x70, 0x6f, + 0x63, 0x68, 0x12, 0x1e, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x0a, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, 0x6c, 0x6f, 0x74, 0x52, 0x04, 0x73, 0x6c, + 0x6f, 0x74, 0x12, 0x33, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x50, + 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x70, + 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0xbb, 0x01, 0x0a, 0x3b, 0x41, 0x64, 0x64, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x64, + 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, + 0x6e, 0x56, 0x32, 0x44, 0x61, 0x74, 0x61, 0x12, 0x23, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, + 0x6f, 0x63, 0x68, 0x56, 0x32, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x20, 0x0a, 0x04, + 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x78, 0x61, 0x74, + 0x75, 0x2e, 0x53, 0x6c, 0x6f, 0x74, 0x56, 0x32, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x35, + 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x61, + 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x32, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x9f, 0x01, 0x0a, 0x2d, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x64, 0x50, 0x72, - 0x6f, 0x6f, 0x66, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x44, - 0x61, 0x74, 0x61, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, - 0x6e, 0x1a, 0xf9, 0x03, 0x0a, 0x12, 0x46, 0x6f, 0x72, 0x6b, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, - 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x12, 0x31, 0x0a, 0x0d, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x0b, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x52, 0x0d, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x2e, 0x0a, 0x0c, 0x72, + 0x6f, 0x6f, 0x66, 0x44, 0x61, 0x74, 0x61, 0x12, 0x6e, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x72, + 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4a, 0x2e, + 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, + 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, + 0x6e, 0x41, 0x6e, 0x64, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, + 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x72, + 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0xa3, 0x01, 0x0a, 0x2f, 0x41, 0x64, 0x64, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x64, + 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x56, 0x32, 0x44, 0x61, 0x74, 0x61, 0x12, 0x70, 0x0a, 0x0c, 0x63, + 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x4c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, + 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, + 0x68, 0x56, 0x31, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, + 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x64, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x43, 0x6f, 0x6e, + 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x32, 0x44, 0x61, 0x74, 0x61, 0x52, + 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0xad, 0x02, + 0x0a, 0x12, 0x46, 0x6f, 0x72, 0x6b, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x53, 0x6e, 0x61, 0x70, + 0x73, 0x68, 0x6f, 0x74, 0x12, 0x31, 0x0a, 0x0d, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, + 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x78, 0x61, + 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x52, 0x0d, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x2e, 0x0a, 0x0c, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, + 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, 0x6c, 0x6f, 0x74, 0x52, 0x0c, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x48, 0x0a, 0x1f, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x73, 0x74, 0x61, + 0x72, 0x74, 0x5f, 0x64, 0x69, 0x66, 0x66, 0x5f, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x1f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x5f, 0x73, + 0x6c, 0x6f, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x64, 0x69, 0x66, 0x66, 0x5f, 0x6d, + 0x73, 0x12, 0x30, 0x0a, 0x13, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x64, 0x75, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x13, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x6d, 0x73, 0x12, 0x38, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x1a, 0xef, 0x02, + 0x0a, 0x14, 0x46, 0x6f, 0x72, 0x6b, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x53, 0x6e, 0x61, 0x70, + 0x73, 0x68, 0x6f, 0x74, 0x56, 0x32, 0x12, 0x33, 0x0a, 0x0d, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, + 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x56, 0x32, 0x52, 0x0d, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x30, 0x0a, 0x0c, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x0a, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, 0x6c, 0x6f, 0x74, 0x52, 0x0c, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x4c, 0x0a, 0x1f, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x5f, 0x73, 0x6c, 0x6f, 0x74, - 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x64, 0x69, 0x66, 0x66, 0x5f, 0x6d, 0x73, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x04, 0x42, 0x02, 0x18, 0x01, 0x52, 0x1f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x72, - 0x74, 0x5f, 0x64, 0x69, 0x66, 0x66, 0x5f, 0x6d, 0x73, 0x12, 0x34, 0x0a, 0x13, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x73, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x42, 0x02, 0x18, 0x01, 0x52, 0x13, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x73, 0x12, - 0x38, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, - 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x6c, 0x0a, 0x22, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x73, - 0x74, 0x61, 0x72, 0x74, 0x5f, 0x64, 0x69, 0x66, 0x66, 0x5f, 0x6d, 0x73, 0x5f, 0x76, 0x32, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, - 0x6c, 0x75, 0x65, 0x52, 0x22, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x61, - 0x74, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x64, 0x69, 0x66, - 0x66, 0x5f, 0x6d, 0x73, 0x5f, 0x76, 0x32, 0x12, 0x54, 0x0a, 0x16, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x73, 0x5f, 0x76, - 0x32, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x16, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x64, - 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x73, 0x5f, 0x76, 0x32, 0x1a, 0x65, 0x0a, - 0x22, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, - 0x44, 0x65, 0x62, 0x75, 0x67, 0x46, 0x6f, 0x72, 0x6b, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x44, - 0x61, 0x74, 0x61, 0x12, 0x3f, 0x0a, 0x08, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, - 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x46, 0x6f, 0x72, 0x6b, 0x43, 0x68, 0x6f, 0x69, - 0x63, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x08, 0x73, 0x6e, 0x61, 0x70, - 0x73, 0x68, 0x6f, 0x74, 0x1a, 0xa1, 0x01, 0x0a, 0x27, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x44, 0x65, 0x62, 0x75, 0x67, 0x46, 0x6f, 0x72, - 0x6b, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, 0x4f, 0x72, 0x67, 0x44, 0x61, 0x74, 0x61, - 0x12, 0x3b, 0x0a, 0x06, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x23, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, + 0x0b, 0x32, 0x0c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, 0x6c, 0x6f, 0x74, 0x56, 0x32, 0x52, + 0x0c, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x66, 0x0a, + 0x1f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x5f, 0x73, 0x6c, + 0x6f, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x64, 0x69, 0x66, 0x66, 0x5f, 0x6d, 0x73, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x52, 0x1f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, + 0x61, 0x74, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x64, 0x69, + 0x66, 0x66, 0x5f, 0x6d, 0x73, 0x12, 0x4e, 0x0a, 0x13, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x52, 0x13, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x6d, 0x73, 0x12, 0x38, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x1a, + 0x65, 0x0a, 0x22, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, + 0x56, 0x31, 0x44, 0x65, 0x62, 0x75, 0x67, 0x46, 0x6f, 0x72, 0x6b, 0x43, 0x68, 0x6f, 0x69, 0x63, + 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x3f, 0x0a, 0x08, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x46, 0x6f, 0x72, 0x6b, 0x43, 0x68, + 0x6f, 0x69, 0x63, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x08, 0x73, 0x6e, + 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x1a, 0x69, 0x0a, 0x24, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x44, 0x65, 0x62, 0x75, 0x67, 0x46, 0x6f, + 0x72, 0x6b, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x56, 0x32, 0x44, 0x61, 0x74, 0x61, 0x12, 0x41, + 0x0a, 0x08, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x25, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x46, 0x6f, 0x72, 0x6b, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x53, 0x6e, 0x61, - 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x06, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x12, 0x39, 0x0a, - 0x05, 0x61, 0x66, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x78, - 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x46, - 0x6f, 0x72, 0x6b, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, - 0x74, 0x52, 0x05, 0x61, 0x66, 0x74, 0x65, 0x72, 0x1a, 0x67, 0x0a, 0x22, 0x41, 0x64, 0x64, 0x69, + 0x70, 0x73, 0x68, 0x6f, 0x74, 0x56, 0x32, 0x52, 0x08, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, + 0x74, 0x1a, 0xa1, 0x01, 0x0a, 0x27, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, + 0x45, 0x74, 0x68, 0x56, 0x31, 0x44, 0x65, 0x62, 0x75, 0x67, 0x46, 0x6f, 0x72, 0x6b, 0x43, 0x68, + 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, 0x4f, 0x72, 0x67, 0x44, 0x61, 0x74, 0x61, 0x12, 0x3b, 0x0a, + 0x06, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, + 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, + 0x46, 0x6f, 0x72, 0x6b, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, + 0x6f, 0x74, 0x52, 0x06, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x12, 0x39, 0x0a, 0x05, 0x61, 0x66, + 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x78, 0x61, 0x74, 0x75, + 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x46, 0x6f, 0x72, 0x6b, + 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x05, + 0x61, 0x66, 0x74, 0x65, 0x72, 0x1a, 0xa7, 0x01, 0x0a, 0x29, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x44, 0x65, 0x62, 0x75, 0x67, 0x46, 0x6f, + 0x72, 0x6b, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, 0x4f, 0x72, 0x67, 0x56, 0x32, 0x44, + 0x61, 0x74, 0x61, 0x12, 0x3d, 0x0a, 0x06, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, + 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x46, 0x6f, 0x72, 0x6b, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, + 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x56, 0x32, 0x52, 0x06, 0x62, 0x65, 0x66, 0x6f, + 0x72, 0x65, 0x12, 0x3b, 0x0a, 0x05, 0x61, 0x66, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x25, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, + 0x65, 0x74, 0x61, 0x2e, 0x46, 0x6f, 0x72, 0x6b, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x53, 0x6e, + 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x56, 0x32, 0x52, 0x05, 0x61, 0x66, 0x74, 0x65, 0x72, 0x1a, + 0x67, 0x0a, 0x22, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, + 0x56, 0x31, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, + 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x21, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, + 0x68, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x1e, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, 0x6c, + 0x6f, 0x74, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x1a, 0x6d, 0x0a, 0x24, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x42, 0x65, 0x61, 0x63, 0x6f, - 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x21, - 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, - 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, - 0x68, 0x12, 0x1e, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x0a, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, 0x6c, 0x6f, 0x74, 0x52, 0x04, 0x73, 0x6c, 0x6f, - 0x74, 0x1a, 0xea, 0x02, 0x0a, 0x20, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, - 0x4d, 0x65, 0x6d, 0x70, 0x6f, 0x6f, 0x6c, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x61, 0x73, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x72, - 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x12, 0x0e, - 0x0a, 0x02, 0x74, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x74, 0x6f, 0x12, 0x18, - 0x0a, 0x05, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x42, 0x02, 0x18, - 0x01, 0x52, 0x05, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x67, 0x61, 0x73, 0x5f, - 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x67, 0x61, 0x73, - 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x03, 0x67, 0x61, 0x73, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x04, 0x42, 0x02, 0x18, 0x01, 0x52, 0x03, 0x67, 0x61, 0x73, 0x12, 0x14, 0x0a, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x64, - 0x61, 0x74, 0x61, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, - 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x38, - 0x0a, 0x08, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x5f, 0x76, 0x32, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, - 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x5f, 0x76, 0x32, 0x12, 0x34, 0x0a, 0x06, 0x67, 0x61, 0x73, 0x5f, - 0x76, 0x32, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, - 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x67, 0x61, 0x73, 0x5f, 0x76, 0x32, 0x1a, 0xc5, - 0x03, 0x0a, 0x1e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, - 0x56, 0x32, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x61, 0x74, - 0x61, 0x12, 0x21, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x0b, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x52, 0x05, 0x65, - 0x70, 0x6f, 0x63, 0x68, 0x12, 0x1e, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, 0x6c, 0x6f, 0x74, 0x52, 0x04, - 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1e, - 0x0a, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x32, - 0x0a, 0x12, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x42, 0x02, 0x18, 0x01, 0x52, 0x12, - 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x12, 0x3e, 0x0a, 0x18, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x04, 0x42, 0x02, 0x18, 0x01, 0x52, 0x18, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x62, 0x79, 0x74, - 0x65, 0x73, 0x12, 0x52, 0x0a, 0x15, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x76, 0x32, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, - 0x15, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x5f, 0x76, 0x32, 0x12, 0x5e, 0x0a, 0x1b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x62, 0x79, 0x74, - 0x65, 0x73, 0x5f, 0x76, 0x32, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, - 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x1b, 0x74, 0x72, 0x61, 0x6e, 0x73, - 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x62, 0x79, - 0x74, 0x65, 0x73, 0x5f, 0x76, 0x32, 0x1a, 0x8b, 0x02, 0x0a, 0x17, 0x41, 0x74, 0x74, 0x65, 0x73, - 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, - 0x6f, 0x74, 0x12, 0x66, 0x0a, 0x1f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, - 0x61, 0x74, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x64, 0x69, - 0x66, 0x66, 0x5f, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, - 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x1f, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x73, 0x74, 0x61, - 0x72, 0x74, 0x5f, 0x64, 0x69, 0x66, 0x66, 0x5f, 0x6d, 0x73, 0x12, 0x4e, 0x0a, 0x13, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, - 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x13, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x64, - 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x73, 0x12, 0x38, 0x0a, 0x09, 0x74, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, - 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x1a, 0xd4, 0x02, 0x0a, 0x2b, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, - 0x72, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, - 0x44, 0x61, 0x74, 0x61, 0x12, 0x4d, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, - 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, - 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x06, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x12, 0x4d, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, - 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, - 0x45, 0x74, 0x68, 0x56, 0x31, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, - 0x65, 0x74, 0x12, 0x21, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x56, 0x32, 0x44, 0x61, 0x74, 0x61, + 0x12, 0x23, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x0d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x56, 0x32, 0x52, 0x05, + 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x20, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, 0x6c, 0x6f, 0x74, 0x56, + 0x32, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x1a, 0xf2, 0x01, 0x0a, 0x20, 0x41, 0x64, 0x64, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4d, 0x65, 0x6d, 0x70, 0x6f, 0x6f, 0x6c, 0x54, 0x72, 0x61, + 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, + 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x61, 0x73, 0x68, + 0x12, 0x12, 0x0a, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x66, 0x72, 0x6f, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x74, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x02, 0x74, 0x6f, 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x05, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x67, 0x61, + 0x73, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x67, + 0x61, 0x73, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x67, 0x61, 0x73, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x67, 0x61, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x73, 0x69, 0x7a, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x64, 0x61, 0x74, + 0x61, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x61, + 0x6c, 0x6c, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x1a, 0xb0, 0x02, 0x0a, + 0x22, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4d, 0x65, 0x6d, 0x70, 0x6f, + 0x6f, 0x6c, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x32, 0x44, + 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x68, 0x61, 0x73, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x74, + 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x74, 0x6f, 0x12, 0x32, 0x0a, 0x05, 0x6e, + 0x6f, 0x6e, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, + 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x12, + 0x1c, 0x0a, 0x09, 0x67, 0x61, 0x73, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x67, 0x61, 0x73, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x2e, 0x0a, + 0x03, 0x67, 0x61, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, + 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x03, 0x67, 0x61, 0x73, 0x12, 0x14, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x63, 0x61, 0x6c, 0x6c, 0x5f, + 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0e, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x1a, + 0x89, 0x02, 0x0a, 0x1e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, + 0x68, 0x56, 0x32, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x61, + 0x74, 0x61, 0x12, 0x21, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x52, 0x05, - 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x1e, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x04, 0x20, + 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x1e, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, 0x6c, 0x6f, 0x74, 0x52, - 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x44, 0x0a, 0x08, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, - 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, - 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, - 0x74, 0x52, 0x08, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x42, 0x10, 0x0a, 0x0e, 0x41, - 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x22, 0xd7, 0x05, - 0x0a, 0x0a, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x2c, 0x0a, 0x05, - 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x78, 0x61, - 0x74, 0x75, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x45, 0x76, - 0x65, 0x6e, 0x74, 0x52, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x2f, 0x0a, 0x06, 0x63, 0x6c, - 0x69, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x78, 0x61, 0x74, - 0x75, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x43, 0x6c, 0x69, - 0x65, 0x6e, 0x74, 0x52, 0x06, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x4e, 0x0a, 0x0f, 0x61, - 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, 0x65, 0x72, 0x76, - 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, - 0x6c, 0x44, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x61, 0x64, 0x64, 0x69, - 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x53, 0x0a, 0x05, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x12, 0x4a, 0x0a, 0x12, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, - 0x5f, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, + 0x1e, 0x0a, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, + 0x2e, 0x0a, 0x12, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x12, 0x74, 0x72, 0x61, + 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, + 0x3a, 0x0a, 0x18, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, + 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x18, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, + 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x1a, 0xcb, 0x02, 0x0a, 0x20, + 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x32, 0x42, + 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x56, 0x32, 0x44, 0x61, 0x74, 0x61, + 0x12, 0x23, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x0d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x56, 0x32, 0x52, 0x05, + 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x20, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, 0x6c, 0x6f, 0x74, 0x56, + 0x32, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x72, 0x6f, 0x6f, + 0x74, 0x12, 0x4c, 0x0a, 0x12, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x12, 0x74, 0x72, 0x61, + 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, + 0x58, 0x0a, 0x18, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, + 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, + 0x18, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x74, 0x6f, + 0x74, 0x61, 0x6c, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x1a, 0x8b, 0x02, 0x0a, 0x17, 0x41, 0x74, + 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6e, 0x61, + 0x70, 0x73, 0x68, 0x6f, 0x74, 0x12, 0x66, 0x0a, 0x1f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x65, 0x64, 0x5f, 0x61, 0x74, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, + 0x5f, 0x64, 0x69, 0x66, 0x66, 0x5f, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x1f, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x5f, + 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x64, 0x69, 0x66, 0x66, 0x5f, 0x6d, 0x73, 0x12, 0x4e, 0x0a, + 0x13, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, + 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x13, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x73, 0x12, 0x38, 0x0a, + 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x12, 0x72, 0x65, - 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, - 0x1a, 0x81, 0x03, 0x0a, 0x06, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, - 0x50, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x70, 0x12, 0x2d, 0x0a, 0x03, 0x67, - 0x65, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, - 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, - 0x74, 0x2e, 0x47, 0x65, 0x6f, 0x52, 0x03, 0x67, 0x65, 0x6f, 0x1a, 0xb7, 0x02, 0x0a, 0x03, 0x47, - 0x65, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x43, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x63, 0x69, 0x74, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72, - 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, - 0x12, 0x21, 0x0a, 0x0b, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x5f, 0x63, - 0x6f, 0x64, 0x65, 0x12, 0x25, 0x0a, 0x0d, 0x43, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x65, 0x6e, 0x74, - 0x43, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x6f, 0x6e, 0x74, - 0x69, 0x6e, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x4c, 0x61, - 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x6c, 0x61, - 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x4c, 0x6f, 0x6e, 0x67, 0x69, 0x74, - 0x75, 0x64, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x6c, 0x6f, 0x6e, 0x67, 0x69, - 0x74, 0x75, 0x64, 0x65, 0x12, 0x38, 0x0a, 0x16, 0x41, 0x75, 0x74, 0x6f, 0x6e, 0x6f, 0x6d, 0x6f, - 0x75, 0x73, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x07, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x18, 0x61, 0x75, 0x74, 0x6f, 0x6e, 0x6f, 0x6d, 0x6f, 0x75, 0x73, - 0x5f, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x44, - 0x0a, 0x1c, 0x41, 0x75, 0x74, 0x6f, 0x6e, 0x6f, 0x6d, 0x6f, 0x75, 0x73, 0x53, 0x79, 0x73, 0x74, - 0x65, 0x6d, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x1e, 0x61, 0x75, 0x74, 0x6f, 0x6e, 0x6f, 0x6d, 0x6f, 0x75, 0x73, - 0x5f, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x41, 0x0a, 0x13, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, - 0x61, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, - 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x5a, 0x0a, 0x04, 0x4d, 0x65, 0x74, 0x61, 0x12, - 0x28, 0x0a, 0x06, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x10, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, - 0x61, 0x52, 0x06, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x28, 0x0a, 0x06, 0x73, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x78, 0x61, 0x74, 0x75, - 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x06, 0x73, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x22, 0xc5, 0x05, 0x0a, 0x05, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x24, 0x0a, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x78, 0x61, - 0x74, 0x75, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x12, 0x38, 0x0a, 0x09, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x52, 0x09, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x0e, 0x0a, - 0x02, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0xcb, 0x04, - 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x20, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, - 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, - 0x54, 0x53, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x22, 0x0a, 0x1e, + 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x74, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x1a, 0xdc, 0x02, 0x0a, 0x2b, 0x41, 0x64, 0x64, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x56, 0x61, 0x6c, 0x69, 0x64, + 0x61, 0x74, 0x6f, 0x72, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, + 0x61, 0x74, 0x61, 0x44, 0x61, 0x74, 0x61, 0x12, 0x4f, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x56, 0x32, 0x44, 0x61, 0x74, 0x61, + 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x4f, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, + 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x56, 0x32, 0x44, 0x61, 0x74, + 0x61, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x23, 0x0a, 0x05, 0x65, 0x70, 0x6f, + 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, + 0x45, 0x70, 0x6f, 0x63, 0x68, 0x56, 0x32, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x20, + 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x78, + 0x61, 0x74, 0x75, 0x2e, 0x53, 0x6c, 0x6f, 0x74, 0x56, 0x32, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, + 0x12, 0x44, 0x0a, 0x08, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x44, 0x61, 0x74, 0x61, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x08, 0x73, 0x6e, + 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x42, 0x10, 0x0a, 0x0e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x61, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x22, 0xd7, 0x05, 0x0a, 0x0a, 0x53, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x2c, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, 0x65, + 0x72, 0x76, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x05, + 0x65, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x2f, 0x0a, 0x06, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x06, + 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x4e, 0x0a, 0x0f, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x24, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4d, 0x65, 0x74, + 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x44, 0x61, 0x74, 0x61, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, + 0x6c, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x53, 0x0a, 0x05, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, + 0x4a, 0x0a, 0x12, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, + 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x12, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, + 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x1a, 0x81, 0x03, 0x0a, 0x06, + 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x50, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x02, 0x69, 0x70, 0x12, 0x2d, 0x0a, 0x03, 0x67, 0x65, 0x6f, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, + 0x72, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x6f, + 0x52, 0x03, 0x67, 0x65, 0x6f, 0x1a, 0xb7, 0x02, 0x0a, 0x03, 0x47, 0x65, 0x6f, 0x12, 0x12, 0x0a, + 0x04, 0x43, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x69, 0x74, + 0x79, 0x12, 0x18, 0x0a, 0x07, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x21, 0x0a, 0x0b, 0x43, + 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0c, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x25, + 0x0a, 0x0d, 0x43, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x65, 0x6e, 0x74, + 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x4c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, + 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x6c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, + 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x4c, 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x6c, 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x12, + 0x38, 0x0a, 0x16, 0x41, 0x75, 0x74, 0x6f, 0x6e, 0x6f, 0x6d, 0x6f, 0x75, 0x73, 0x53, 0x79, 0x73, + 0x74, 0x65, 0x6d, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x18, 0x61, 0x75, 0x74, 0x6f, 0x6e, 0x6f, 0x6d, 0x6f, 0x75, 0x73, 0x5f, 0x73, 0x79, 0x73, 0x74, + 0x65, 0x6d, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x44, 0x0a, 0x1c, 0x41, 0x75, 0x74, + 0x6f, 0x6e, 0x6f, 0x6d, 0x6f, 0x75, 0x73, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x4f, 0x72, 0x67, + 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x1e, 0x61, 0x75, 0x74, 0x6f, 0x6e, 0x6f, 0x6d, 0x6f, 0x75, 0x73, 0x5f, 0x73, 0x79, 0x73, 0x74, + 0x65, 0x6d, 0x5f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, + 0x41, 0x0a, 0x13, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x44, 0x61, 0x74, + 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, + 0x38, 0x01, 0x22, 0x5a, 0x0a, 0x04, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x28, 0x0a, 0x06, 0x63, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x78, 0x61, 0x74, + 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x06, 0x63, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x12, 0x28, 0x0a, 0x06, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x06, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x22, 0xab, + 0x09, 0x0a, 0x05, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x24, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x76, + 0x65, 0x6e, 0x74, 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x38, + 0x0a, 0x09, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x64, + 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0xb1, 0x08, 0x0a, 0x04, 0x4e, 0x61, 0x6d, + 0x65, 0x12, 0x24, 0x0a, 0x20, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, + 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x55, 0x4e, + 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x22, 0x0a, 0x1e, 0x42, 0x45, 0x41, 0x43, 0x4f, + 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, + 0x4e, 0x54, 0x53, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x10, 0x01, 0x12, 0x28, 0x0a, 0x24, 0x42, + 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, + 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x43, 0x48, 0x41, 0x49, 0x4e, 0x5f, 0x52, 0x45, + 0x4f, 0x52, 0x47, 0x10, 0x02, 0x12, 0x31, 0x0a, 0x2d, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, + 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, + 0x53, 0x5f, 0x46, 0x49, 0x4e, 0x41, 0x4c, 0x49, 0x5a, 0x45, 0x44, 0x5f, 0x43, 0x48, 0x45, 0x43, + 0x4b, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x10, 0x03, 0x12, 0x21, 0x0a, 0x1d, 0x42, 0x45, 0x41, 0x43, + 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, + 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x48, 0x45, 0x41, 0x44, 0x10, 0x04, 0x12, 0x2b, 0x0a, 0x27, 0x42, + 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, + 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x56, 0x4f, 0x4c, 0x55, 0x4e, 0x54, 0x41, 0x52, + 0x59, 0x5f, 0x45, 0x58, 0x49, 0x54, 0x10, 0x05, 0x12, 0x28, 0x0a, 0x24, 0x42, 0x45, 0x41, 0x43, + 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, + 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x41, 0x54, 0x54, 0x45, 0x53, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, + 0x10, 0x06, 0x12, 0x33, 0x0a, 0x2f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, + 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x43, + 0x4f, 0x4e, 0x54, 0x52, 0x49, 0x42, 0x55, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x41, 0x4e, 0x44, 0x5f, + 0x50, 0x52, 0x4f, 0x4f, 0x46, 0x10, 0x07, 0x12, 0x17, 0x0a, 0x13, 0x4d, 0x45, 0x4d, 0x50, 0x4f, + 0x4f, 0x4c, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x08, + 0x12, 0x22, 0x0a, 0x1e, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, + 0x54, 0x48, 0x5f, 0x56, 0x32, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x42, 0x4c, 0x4f, + 0x43, 0x4b, 0x10, 0x09, 0x12, 0x27, 0x0a, 0x23, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, + 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x44, 0x45, 0x42, 0x55, 0x47, 0x5f, + 0x46, 0x4f, 0x52, 0x4b, 0x5f, 0x43, 0x48, 0x4f, 0x49, 0x43, 0x45, 0x10, 0x0a, 0x12, 0x2d, 0x0a, + 0x29, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, + 0x56, 0x31, 0x5f, 0x44, 0x45, 0x42, 0x55, 0x47, 0x5f, 0x46, 0x4f, 0x52, 0x4b, 0x5f, 0x43, 0x48, + 0x4f, 0x49, 0x43, 0x45, 0x5f, 0x52, 0x45, 0x4f, 0x52, 0x47, 0x10, 0x0b, 0x12, 0x26, 0x0a, 0x22, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, - 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x10, 0x01, - 0x12, 0x28, 0x0a, 0x24, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, - 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x43, 0x48, 0x41, - 0x49, 0x4e, 0x5f, 0x52, 0x45, 0x4f, 0x52, 0x47, 0x10, 0x02, 0x12, 0x31, 0x0a, 0x2d, 0x42, 0x45, + 0x31, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x54, + 0x45, 0x45, 0x10, 0x0c, 0x12, 0x30, 0x0a, 0x2c, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, + 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x41, + 0x54, 0x4f, 0x52, 0x5f, 0x41, 0x54, 0x54, 0x45, 0x53, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, + 0x44, 0x41, 0x54, 0x41, 0x10, 0x0d, 0x12, 0x25, 0x0a, 0x21, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, + 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, + 0x54, 0x53, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x56, 0x32, 0x10, 0x0e, 0x12, 0x2b, 0x0a, + 0x27, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, + 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x43, 0x48, 0x41, 0x49, 0x4e, 0x5f, + 0x52, 0x45, 0x4f, 0x52, 0x47, 0x5f, 0x56, 0x32, 0x10, 0x0f, 0x12, 0x34, 0x0a, 0x30, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x46, 0x49, 0x4e, 0x41, 0x4c, 0x49, 0x5a, 0x45, 0x44, - 0x5f, 0x43, 0x48, 0x45, 0x43, 0x4b, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x10, 0x03, 0x12, 0x21, 0x0a, - 0x1d, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, - 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x48, 0x45, 0x41, 0x44, 0x10, 0x04, - 0x12, 0x2b, 0x0a, 0x27, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, - 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x56, 0x4f, 0x4c, - 0x55, 0x4e, 0x54, 0x41, 0x52, 0x59, 0x5f, 0x45, 0x58, 0x49, 0x54, 0x10, 0x05, 0x12, 0x28, 0x0a, - 0x24, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, - 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x41, 0x54, 0x54, 0x45, 0x53, 0x54, - 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x06, 0x12, 0x33, 0x0a, 0x2f, 0x42, 0x45, 0x41, 0x43, 0x4f, + 0x5f, 0x43, 0x48, 0x45, 0x43, 0x4b, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x5f, 0x56, 0x32, 0x10, 0x10, + 0x12, 0x24, 0x0a, 0x20, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, + 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x48, 0x45, 0x41, + 0x44, 0x5f, 0x56, 0x32, 0x10, 0x11, 0x12, 0x2e, 0x0a, 0x2a, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, + 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, + 0x54, 0x53, 0x5f, 0x56, 0x4f, 0x4c, 0x55, 0x4e, 0x54, 0x41, 0x52, 0x59, 0x5f, 0x45, 0x58, 0x49, + 0x54, 0x5f, 0x56, 0x32, 0x10, 0x12, 0x12, 0x2b, 0x0a, 0x27, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, + 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, + 0x54, 0x53, 0x5f, 0x41, 0x54, 0x54, 0x45, 0x53, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x56, + 0x32, 0x10, 0x13, 0x12, 0x36, 0x0a, 0x32, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, + 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, + 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x49, 0x42, 0x55, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x41, 0x4e, 0x44, + 0x5f, 0x50, 0x52, 0x4f, 0x4f, 0x46, 0x5f, 0x56, 0x32, 0x10, 0x14, 0x12, 0x1a, 0x0a, 0x16, 0x4d, + 0x45, 0x4d, 0x50, 0x4f, 0x4f, 0x4c, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x41, 0x43, 0x54, 0x49, + 0x4f, 0x4e, 0x5f, 0x56, 0x32, 0x10, 0x15, 0x12, 0x25, 0x0a, 0x21, 0x42, 0x45, 0x41, 0x43, 0x4f, + 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x32, 0x5f, 0x42, 0x45, 0x41, + 0x43, 0x4f, 0x4e, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x56, 0x32, 0x10, 0x16, 0x12, 0x2a, + 0x0a, 0x26, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, + 0x5f, 0x56, 0x31, 0x5f, 0x44, 0x45, 0x42, 0x55, 0x47, 0x5f, 0x46, 0x4f, 0x52, 0x4b, 0x5f, 0x43, + 0x48, 0x4f, 0x49, 0x43, 0x45, 0x5f, 0x56, 0x32, 0x10, 0x17, 0x12, 0x30, 0x0a, 0x2c, 0x42, 0x45, + 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, + 0x44, 0x45, 0x42, 0x55, 0x47, 0x5f, 0x46, 0x4f, 0x52, 0x4b, 0x5f, 0x43, 0x48, 0x4f, 0x49, 0x43, + 0x45, 0x5f, 0x52, 0x45, 0x4f, 0x52, 0x47, 0x5f, 0x56, 0x32, 0x10, 0x18, 0x22, 0xd5, 0x14, 0x0a, + 0x0e, 0x44, 0x65, 0x63, 0x6f, 0x72, 0x61, 0x74, 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, + 0x21, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, + 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x05, 0x65, 0x76, 0x65, + 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x0a, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x04, 0x6d, 0x65, + 0x74, 0x61, 0x12, 0x67, 0x0a, 0x19, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x65, 0x76, 0x65, + 0x6e, 0x74, 0x73, 0x5f, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, + 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, + 0x02, 0x18, 0x01, 0x48, 0x00, 0x52, 0x24, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, + 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, + 0x41, 0x54, 0x54, 0x45, 0x53, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x12, 0x5a, 0x0a, 0x13, 0x65, + 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x62, 0x6c, 0x6f, + 0x63, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, + 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x42, 0x6c, 0x6f, 0x63, + 0x6b, 0x42, 0x02, 0x18, 0x01, 0x48, 0x00, 0x52, 0x1e, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, + 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, + 0x53, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x12, 0x6b, 0x0a, 0x19, 0x65, 0x74, 0x68, 0x5f, 0x76, + 0x31, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x72, + 0x65, 0x6f, 0x72, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x78, 0x61, 0x74, + 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x43, 0x68, + 0x61, 0x69, 0x6e, 0x52, 0x65, 0x6f, 0x72, 0x67, 0x42, 0x02, 0x18, 0x01, 0x48, 0x00, 0x52, 0x24, + 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, + 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x43, 0x48, 0x41, 0x49, 0x4e, 0x5f, 0x52, + 0x45, 0x4f, 0x52, 0x47, 0x12, 0x86, 0x01, 0x0a, 0x22, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, + 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, + 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x25, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x43, 0x68, + 0x65, 0x63, 0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x42, 0x02, 0x18, 0x01, 0x48, 0x00, 0x52, 0x2d, + 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, + 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x46, 0x49, 0x4e, 0x41, 0x4c, 0x49, 0x5a, + 0x45, 0x44, 0x5f, 0x43, 0x48, 0x45, 0x43, 0x4b, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x12, 0x57, 0x0a, + 0x12, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x68, + 0x65, 0x61, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x78, 0x61, 0x74, 0x75, + 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x65, 0x61, + 0x64, 0x42, 0x02, 0x18, 0x01, 0x48, 0x00, 0x52, 0x1d, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, + 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, + 0x53, 0x5f, 0x48, 0x45, 0x41, 0x44, 0x12, 0x74, 0x0a, 0x1c, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, + 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x76, 0x6f, 0x6c, 0x75, 0x6e, 0x74, 0x61, 0x72, + 0x79, 0x5f, 0x65, 0x78, 0x69, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x78, + 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x56, 0x6f, 0x6c, 0x75, 0x6e, 0x74, 0x61, 0x72, 0x79, 0x45, 0x78, 0x69, 0x74, 0x42, 0x02, 0x18, + 0x01, 0x48, 0x00, 0x52, 0x27, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, + 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x56, 0x4f, + 0x4c, 0x55, 0x4e, 0x54, 0x41, 0x52, 0x59, 0x5f, 0x45, 0x58, 0x49, 0x54, 0x12, 0x8b, 0x01, 0x0a, + 0x24, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x63, + 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x6e, 0x64, 0x5f, + 0x70, 0x72, 0x6f, 0x6f, 0x66, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x78, 0x61, + 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x43, + 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x64, 0x50, 0x72, + 0x6f, 0x6f, 0x66, 0x42, 0x02, 0x18, 0x01, 0x48, 0x00, 0x52, 0x2f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x49, 0x42, 0x55, 0x54, 0x49, 0x4f, 0x4e, - 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x50, 0x52, 0x4f, 0x4f, 0x46, 0x10, 0x07, 0x12, 0x17, 0x0a, 0x13, - 0x4d, 0x45, 0x4d, 0x50, 0x4f, 0x4f, 0x4c, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x41, 0x43, 0x54, - 0x49, 0x4f, 0x4e, 0x10, 0x08, 0x12, 0x22, 0x0a, 0x1e, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, - 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x32, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, - 0x4e, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x10, 0x09, 0x12, 0x27, 0x0a, 0x23, 0x42, 0x45, 0x41, - 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x44, - 0x45, 0x42, 0x55, 0x47, 0x5f, 0x46, 0x4f, 0x52, 0x4b, 0x5f, 0x43, 0x48, 0x4f, 0x49, 0x43, 0x45, - 0x10, 0x0a, 0x12, 0x2d, 0x0a, 0x29, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, - 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x44, 0x45, 0x42, 0x55, 0x47, 0x5f, 0x46, 0x4f, - 0x52, 0x4b, 0x5f, 0x43, 0x48, 0x4f, 0x49, 0x43, 0x45, 0x5f, 0x52, 0x45, 0x4f, 0x52, 0x47, 0x10, - 0x0b, 0x12, 0x26, 0x0a, 0x22, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, - 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x43, 0x4f, - 0x4d, 0x4d, 0x49, 0x54, 0x54, 0x45, 0x45, 0x10, 0x0c, 0x12, 0x30, 0x0a, 0x2c, 0x42, 0x45, 0x41, - 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x56, - 0x41, 0x4c, 0x49, 0x44, 0x41, 0x54, 0x4f, 0x52, 0x5f, 0x41, 0x54, 0x54, 0x45, 0x53, 0x54, 0x41, - 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x10, 0x0d, 0x22, 0x82, 0x0b, 0x0a, 0x0e, - 0x44, 0x65, 0x63, 0x6f, 0x72, 0x61, 0x74, 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x21, - 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, - 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x05, 0x65, 0x76, 0x65, 0x6e, - 0x74, 0x12, 0x1e, 0x0a, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x0a, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x04, 0x6d, 0x65, 0x74, - 0x61, 0x12, 0x63, 0x0a, 0x19, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x65, 0x76, 0x65, 0x6e, - 0x74, 0x73, 0x5f, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, - 0x76, 0x31, 0x2e, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, - 0x52, 0x24, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, - 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x41, 0x54, 0x54, 0x45, 0x53, - 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x12, 0x56, 0x0a, 0x13, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, - 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, - 0x31, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x00, 0x52, 0x1e, + 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x50, 0x52, 0x4f, 0x4f, 0x46, 0x12, 0x36, 0x0a, 0x13, 0x6d, 0x65, + 0x6d, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x48, 0x00, 0x52, 0x13, 0x4d, + 0x45, 0x4d, 0x50, 0x4f, 0x4f, 0x4c, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x41, 0x43, 0x54, 0x49, + 0x4f, 0x4e, 0x12, 0x5a, 0x0a, 0x13, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x32, 0x5f, 0x62, 0x65, 0x61, + 0x63, 0x6f, 0x6e, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x17, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x76, + 0x65, 0x6e, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x02, 0x18, 0x01, 0x48, 0x00, 0x52, 0x1e, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, - 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x12, 0x67, - 0x0a, 0x19, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x5f, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x72, 0x65, 0x6f, 0x72, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, - 0x45, 0x76, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x6f, 0x72, 0x67, 0x48, - 0x00, 0x52, 0x24, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, - 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x43, 0x48, 0x41, 0x49, - 0x4e, 0x5f, 0x52, 0x45, 0x4f, 0x52, 0x47, 0x12, 0x82, 0x01, 0x0a, 0x22, 0x65, 0x74, 0x68, 0x5f, - 0x76, 0x31, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, - 0x7a, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, - 0x76, 0x31, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, - 0x64, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x2d, 0x42, - 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, - 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x46, 0x49, 0x4e, 0x41, 0x4c, 0x49, 0x5a, 0x45, - 0x44, 0x5f, 0x43, 0x48, 0x45, 0x43, 0x4b, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x12, 0x53, 0x0a, 0x12, - 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x68, 0x65, - 0x61, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, - 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x65, 0x61, 0x64, - 0x48, 0x00, 0x52, 0x1d, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, - 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x48, 0x45, 0x41, - 0x44, 0x12, 0x70, 0x0a, 0x1c, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x65, 0x76, 0x65, 0x6e, - 0x74, 0x73, 0x5f, 0x76, 0x6f, 0x6c, 0x75, 0x6e, 0x74, 0x61, 0x72, 0x79, 0x5f, 0x65, 0x78, 0x69, - 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, - 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x56, 0x6f, 0x6c, 0x75, 0x6e, - 0x74, 0x61, 0x72, 0x79, 0x45, 0x78, 0x69, 0x74, 0x48, 0x00, 0x52, 0x27, 0x42, 0x45, 0x41, 0x43, - 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, - 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x56, 0x4f, 0x4c, 0x55, 0x4e, 0x54, 0x41, 0x52, 0x59, 0x5f, 0x45, - 0x58, 0x49, 0x54, 0x12, 0x87, 0x01, 0x0a, 0x24, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x65, - 0x76, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x61, 0x6e, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x6f, 0x66, 0x18, 0x09, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, - 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, - 0x6f, 0x6e, 0x41, 0x6e, 0x64, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x48, 0x00, 0x52, 0x2f, 0x42, 0x45, + 0x32, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x12, 0x5e, + 0x0a, 0x12, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x66, 0x6f, 0x72, 0x6b, 0x5f, 0x63, 0x68, + 0x6f, 0x69, 0x63, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x78, 0x61, 0x74, + 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x6f, 0x72, 0x6b, 0x43, 0x68, 0x6f, + 0x69, 0x63, 0x65, 0x42, 0x02, 0x18, 0x01, 0x48, 0x00, 0x52, 0x23, 0x42, 0x45, 0x41, 0x43, 0x4f, + 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x44, 0x45, 0x42, + 0x55, 0x47, 0x5f, 0x46, 0x4f, 0x52, 0x4b, 0x5f, 0x43, 0x48, 0x4f, 0x49, 0x43, 0x45, 0x12, 0x6d, + 0x0a, 0x18, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x66, 0x6f, 0x72, 0x6b, 0x5f, 0x63, 0x68, + 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x6f, 0x72, 0x67, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1a, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x44, 0x65, 0x62, 0x75, 0x67, 0x46, 0x6f, 0x72, + 0x6b, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, 0x6f, 0x72, 0x67, 0x42, 0x02, 0x18, 0x01, + 0x48, 0x00, 0x52, 0x29, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, + 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x44, 0x45, 0x42, 0x55, 0x47, 0x5f, 0x46, 0x4f, 0x52, 0x4b, + 0x5f, 0x43, 0x48, 0x4f, 0x49, 0x43, 0x45, 0x5f, 0x52, 0x45, 0x4f, 0x52, 0x47, 0x12, 0x5d, 0x0a, + 0x17, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x5f, 0x63, + 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, + 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, + 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x48, 0x00, 0x52, 0x22, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, + 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x42, 0x45, 0x41, 0x43, + 0x4f, 0x4e, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x54, 0x45, 0x45, 0x12, 0x79, 0x0a, 0x21, + 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, + 0x5f, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, + 0x61, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, + 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x44, 0x61, 0x74, 0x61, 0x56, 0x32, 0x48, 0x00, 0x52, 0x2c, 0x42, 0x45, 0x41, 0x43, 0x4f, + 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x56, 0x41, 0x4c, + 0x49, 0x44, 0x41, 0x54, 0x4f, 0x52, 0x5f, 0x41, 0x54, 0x54, 0x45, 0x53, 0x54, 0x41, 0x54, 0x49, + 0x4f, 0x4e, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x12, 0x6b, 0x0a, 0x1c, 0x65, 0x74, 0x68, 0x5f, 0x76, + 0x31, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x76, 0x32, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, + 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x74, 0x74, 0x65, + 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x32, 0x48, 0x00, 0x52, 0x27, 0x42, 0x45, 0x41, + 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, + 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x41, 0x54, 0x54, 0x45, 0x53, 0x54, 0x41, 0x54, 0x49, 0x4f, + 0x4e, 0x5f, 0x56, 0x32, 0x12, 0x5e, 0x0a, 0x16, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x65, + 0x76, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x76, 0x32, 0x18, 0x11, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, + 0x76, 0x31, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x56, 0x32, 0x48, + 0x00, 0x52, 0x21, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, + 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x42, 0x4c, 0x4f, 0x43, + 0x4b, 0x5f, 0x56, 0x32, 0x12, 0x6f, 0x0a, 0x1c, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x65, + 0x76, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x72, 0x65, 0x6f, 0x72, + 0x67, 0x5f, 0x76, 0x32, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x78, 0x61, 0x74, + 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x43, 0x68, + 0x61, 0x69, 0x6e, 0x52, 0x65, 0x6f, 0x72, 0x67, 0x56, 0x32, 0x48, 0x00, 0x52, 0x27, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, - 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x49, 0x42, 0x55, 0x54, - 0x49, 0x4f, 0x4e, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x50, 0x52, 0x4f, 0x4f, 0x46, 0x12, 0x32, 0x0a, - 0x13, 0x6d, 0x65, 0x6d, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x13, 0x4d, 0x45, - 0x4d, 0x50, 0x4f, 0x4f, 0x4c, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x41, 0x43, 0x54, 0x49, 0x4f, - 0x4e, 0x12, 0x56, 0x0a, 0x13, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x32, 0x5f, 0x62, 0x65, 0x61, 0x63, - 0x6f, 0x6e, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, - 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x76, 0x65, - 0x6e, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x00, 0x52, 0x1e, 0x42, 0x45, 0x41, 0x43, 0x4f, - 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x32, 0x5f, 0x42, 0x45, 0x41, - 0x43, 0x4f, 0x4e, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x12, 0x5a, 0x0a, 0x12, 0x65, 0x74, 0x68, - 0x5f, 0x76, 0x31, 0x5f, 0x66, 0x6f, 0x72, 0x6b, 0x5f, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x18, - 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, - 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x6f, 0x72, 0x6b, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x48, 0x00, - 0x52, 0x23, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, - 0x5f, 0x56, 0x31, 0x5f, 0x44, 0x45, 0x42, 0x55, 0x47, 0x5f, 0x46, 0x4f, 0x52, 0x4b, 0x5f, 0x43, - 0x48, 0x4f, 0x49, 0x43, 0x45, 0x12, 0x69, 0x0a, 0x18, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, - 0x66, 0x6f, 0x72, 0x6b, 0x5f, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x6f, 0x72, - 0x67, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x44, - 0x65, 0x62, 0x75, 0x67, 0x46, 0x6f, 0x72, 0x6b, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, - 0x6f, 0x72, 0x67, 0x48, 0x00, 0x52, 0x29, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, - 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x44, 0x45, 0x42, 0x55, 0x47, 0x5f, 0x46, - 0x4f, 0x52, 0x4b, 0x5f, 0x43, 0x48, 0x4f, 0x49, 0x43, 0x45, 0x5f, 0x52, 0x45, 0x4f, 0x52, 0x47, - 0x12, 0x5d, 0x0a, 0x17, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x62, 0x65, 0x61, 0x63, 0x6f, - 0x6e, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x16, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, - 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x48, 0x00, 0x52, 0x22, 0x42, 0x45, 0x41, - 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x42, - 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x54, 0x45, 0x45, 0x12, - 0x77, 0x0a, 0x21, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, - 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x64, 0x61, 0x74, 0x61, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x78, 0x61, 0x74, - 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x2c, 0x42, 0x45, 0x41, 0x43, - 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x56, 0x41, - 0x4c, 0x49, 0x44, 0x41, 0x54, 0x4f, 0x52, 0x5f, 0x41, 0x54, 0x54, 0x45, 0x53, 0x54, 0x41, 0x54, - 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x42, 0x06, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, - 0x32, 0x58, 0x0a, 0x0d, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x67, 0x65, 0x73, 0x74, 0x65, - 0x72, 0x12, 0x47, 0x0a, 0x0c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, - 0x73, 0x12, 0x19, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x78, - 0x61, 0x74, 0x75, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x2c, 0x5a, 0x2a, 0x67, 0x69, - 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x74, 0x68, 0x70, 0x61, 0x6e, 0x64, - 0x61, 0x6f, 0x70, 0x73, 0x2f, 0x78, 0x61, 0x74, 0x75, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x2f, 0x78, 0x61, 0x74, 0x75, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x43, 0x48, 0x41, 0x49, 0x4e, 0x5f, 0x52, 0x45, 0x4f, + 0x52, 0x47, 0x5f, 0x56, 0x32, 0x12, 0x8a, 0x01, 0x0a, 0x25, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, + 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, + 0x64, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x76, 0x32, 0x18, + 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, + 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, + 0x65, 0x64, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x56, 0x32, 0x48, 0x00, + 0x52, 0x30, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, + 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x46, 0x49, 0x4e, 0x41, 0x4c, + 0x49, 0x5a, 0x45, 0x44, 0x5f, 0x43, 0x48, 0x45, 0x43, 0x4b, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x5f, + 0x56, 0x32, 0x12, 0x5b, 0x0a, 0x15, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x65, 0x76, 0x65, + 0x6e, 0x74, 0x73, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x5f, 0x76, 0x32, 0x18, 0x14, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x18, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x65, 0x61, 0x64, 0x56, 0x32, 0x48, 0x00, 0x52, 0x20, 0x42, + 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, + 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x48, 0x45, 0x41, 0x44, 0x5f, 0x56, 0x32, 0x12, + 0x78, 0x0a, 0x1f, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, + 0x5f, 0x76, 0x6f, 0x6c, 0x75, 0x6e, 0x74, 0x61, 0x72, 0x79, 0x5f, 0x65, 0x78, 0x69, 0x74, 0x5f, + 0x76, 0x32, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, + 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x56, 0x6f, 0x6c, 0x75, + 0x6e, 0x74, 0x61, 0x72, 0x79, 0x45, 0x78, 0x69, 0x74, 0x56, 0x32, 0x48, 0x00, 0x52, 0x2a, 0x42, + 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, + 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x56, 0x4f, 0x4c, 0x55, 0x4e, 0x54, 0x41, 0x52, + 0x59, 0x5f, 0x45, 0x58, 0x49, 0x54, 0x5f, 0x56, 0x32, 0x12, 0x8f, 0x01, 0x0a, 0x27, 0x65, 0x74, + 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x74, + 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x6e, 0x64, 0x5f, 0x70, 0x72, 0x6f, + 0x6f, 0x66, 0x5f, 0x76, 0x32, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x78, 0x61, + 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x43, + 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x64, 0x50, 0x72, + 0x6f, 0x6f, 0x66, 0x56, 0x32, 0x48, 0x00, 0x52, 0x32, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, + 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, + 0x53, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x49, 0x42, 0x55, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x41, + 0x4e, 0x44, 0x5f, 0x50, 0x52, 0x4f, 0x4f, 0x46, 0x5f, 0x56, 0x32, 0x12, 0x38, 0x0a, 0x16, 0x6d, + 0x65, 0x6d, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x76, 0x32, 0x18, 0x17, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x16, 0x4d, + 0x45, 0x4d, 0x50, 0x4f, 0x4f, 0x4c, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x41, 0x43, 0x54, 0x49, + 0x4f, 0x4e, 0x5f, 0x56, 0x32, 0x12, 0x5e, 0x0a, 0x16, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x32, 0x5f, + 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x76, 0x32, 0x18, + 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, + 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x56, 0x32, + 0x48, 0x00, 0x52, 0x21, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, + 0x54, 0x48, 0x5f, 0x56, 0x32, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x42, 0x4c, 0x4f, + 0x43, 0x4b, 0x5f, 0x56, 0x32, 0x12, 0x62, 0x0a, 0x15, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, + 0x66, 0x6f, 0x72, 0x6b, 0x5f, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x76, 0x32, 0x18, 0x19, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, + 0x76, 0x31, 0x2e, 0x46, 0x6f, 0x72, 0x6b, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x56, 0x32, 0x48, + 0x00, 0x52, 0x26, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, + 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x44, 0x45, 0x42, 0x55, 0x47, 0x5f, 0x46, 0x4f, 0x52, 0x4b, 0x5f, + 0x43, 0x48, 0x4f, 0x49, 0x43, 0x45, 0x5f, 0x56, 0x32, 0x12, 0x71, 0x0a, 0x1b, 0x65, 0x74, 0x68, + 0x5f, 0x76, 0x31, 0x5f, 0x66, 0x6f, 0x72, 0x6b, 0x5f, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x5f, + 0x72, 0x65, 0x6f, 0x72, 0x67, 0x5f, 0x76, 0x32, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, + 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x44, 0x65, 0x62, 0x75, 0x67, 0x46, 0x6f, 0x72, 0x6b, 0x43, + 0x68, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, 0x6f, 0x72, 0x67, 0x56, 0x32, 0x48, 0x00, 0x52, 0x2c, + 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, + 0x31, 0x5f, 0x44, 0x45, 0x42, 0x55, 0x47, 0x5f, 0x46, 0x4f, 0x52, 0x4b, 0x5f, 0x43, 0x48, 0x4f, + 0x49, 0x43, 0x45, 0x5f, 0x52, 0x45, 0x4f, 0x52, 0x47, 0x5f, 0x56, 0x32, 0x42, 0x06, 0x0a, 0x04, + 0x64, 0x61, 0x74, 0x61, 0x32, 0x58, 0x0a, 0x0d, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x67, + 0x65, 0x73, 0x74, 0x65, 0x72, 0x12, 0x47, 0x0a, 0x0c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x19, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x1a, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x76, + 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x2c, + 0x5a, 0x2a, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x74, 0x68, + 0x70, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x70, 0x73, 0x2f, 0x78, 0x61, 0x74, 0x75, 0x2f, 0x70, 0x6b, + 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x78, 0x61, 0x74, 0x75, 0x62, 0x06, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -3806,172 +5762,260 @@ func file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP() []byte { } var file_pkg_proto_xatu_event_ingester_proto_enumTypes = make([]protoimpl.EnumInfo, 1) -var file_pkg_proto_xatu_event_ingester_proto_msgTypes = make([]protoimpl.MessageInfo, 40) +var file_pkg_proto_xatu_event_ingester_proto_msgTypes = make([]protoimpl.MessageInfo, 61) var file_pkg_proto_xatu_event_ingester_proto_goTypes = []interface{}{ - (Event_Name)(0), // 0: xatu.Event.Name - (*CreateEventsRequest)(nil), // 1: xatu.CreateEventsRequest - (*CreateEventsResponse)(nil), // 2: xatu.CreateEventsResponse - (*Epoch)(nil), // 3: xatu.Epoch - (*Slot)(nil), // 4: xatu.Slot - (*ForkID)(nil), // 5: xatu.ForkID - (*Propagation)(nil), // 6: xatu.Propagation - (*AttestingValidator)(nil), // 7: xatu.AttestingValidator - (*DebugForkChoiceReorg)(nil), // 8: xatu.DebugForkChoiceReorg - (*ClientMeta)(nil), // 9: xatu.ClientMeta - (*ServerMeta)(nil), // 10: xatu.ServerMeta - (*Meta)(nil), // 11: xatu.Meta - (*Event)(nil), // 12: xatu.Event - (*DecoratedEvent)(nil), // 13: xatu.DecoratedEvent - (*ClientMeta_Ethereum)(nil), // 14: xatu.ClientMeta.Ethereum - nil, // 15: xatu.ClientMeta.LabelsEntry - (*ClientMeta_AdditionalEthV1AttestationSourceData)(nil), // 16: xatu.ClientMeta.AdditionalEthV1AttestationSourceData - (*ClientMeta_AdditionalEthV1AttestationTargetData)(nil), // 17: xatu.ClientMeta.AdditionalEthV1AttestationTargetData - (*ClientMeta_AdditionalEthV1EventsAttestationData)(nil), // 18: xatu.ClientMeta.AdditionalEthV1EventsAttestationData - (*ClientMeta_AdditionalEthV1EventsHeadData)(nil), // 19: xatu.ClientMeta.AdditionalEthV1EventsHeadData - (*ClientMeta_AdditionalEthV1EventsBlockData)(nil), // 20: xatu.ClientMeta.AdditionalEthV1EventsBlockData - (*ClientMeta_AdditionalEthV1EventsVoluntaryExitData)(nil), // 21: xatu.ClientMeta.AdditionalEthV1EventsVoluntaryExitData - (*ClientMeta_AdditionalEthV1EventsFinalizedCheckpointData)(nil), // 22: xatu.ClientMeta.AdditionalEthV1EventsFinalizedCheckpointData - (*ClientMeta_AdditionalEthV1EventsChainReorgData)(nil), // 23: xatu.ClientMeta.AdditionalEthV1EventsChainReorgData - (*ClientMeta_AdditionalEthV1EventsContributionAndProofContributionData)(nil), // 24: xatu.ClientMeta.AdditionalEthV1EventsContributionAndProofContributionData - (*ClientMeta_AdditionalEthV1EventsContributionAndProofData)(nil), // 25: xatu.ClientMeta.AdditionalEthV1EventsContributionAndProofData - (*ClientMeta_ForkChoiceSnapshot)(nil), // 26: xatu.ClientMeta.ForkChoiceSnapshot - (*ClientMeta_AdditionalEthV1DebugForkChoiceData)(nil), // 27: xatu.ClientMeta.AdditionalEthV1DebugForkChoiceData - (*ClientMeta_AdditionalEthV1DebugForkChoiceReOrgData)(nil), // 28: xatu.ClientMeta.AdditionalEthV1DebugForkChoiceReOrgData - (*ClientMeta_AdditionalEthV1BeaconCommitteeData)(nil), // 29: xatu.ClientMeta.AdditionalEthV1BeaconCommitteeData - (*ClientMeta_AdditionalMempoolTransactionData)(nil), // 30: xatu.ClientMeta.AdditionalMempoolTransactionData - (*ClientMeta_AdditionalEthV2BeaconBlockData)(nil), // 31: xatu.ClientMeta.AdditionalEthV2BeaconBlockData - (*ClientMeta_AttestationDataSnapshot)(nil), // 32: xatu.ClientMeta.AttestationDataSnapshot - (*ClientMeta_AdditionalEthV1ValidatorAttestationDataData)(nil), // 33: xatu.ClientMeta.AdditionalEthV1ValidatorAttestationDataData - (*ClientMeta_Ethereum_Network)(nil), // 34: xatu.ClientMeta.Ethereum.Network - (*ClientMeta_Ethereum_Execution)(nil), // 35: xatu.ClientMeta.Ethereum.Execution - (*ClientMeta_Ethereum_Consensus)(nil), // 36: xatu.ClientMeta.Ethereum.Consensus - (*ServerMeta_Event)(nil), // 37: xatu.ServerMeta.Event - (*ServerMeta_Client)(nil), // 38: xatu.ServerMeta.Client - nil, // 39: xatu.ServerMeta.AdditionalDataEntry - (*ServerMeta_Client_Geo)(nil), // 40: xatu.ServerMeta.Client.Geo - (*timestamppb.Timestamp)(nil), // 41: google.protobuf.Timestamp - (*wrapperspb.UInt64Value)(nil), // 42: google.protobuf.UInt64Value - (*v1.ForkChoice)(nil), // 43: xatu.eth.v1.ForkChoice - (*v1.EventChainReorg)(nil), // 44: xatu.eth.v1.EventChainReorg - (*v1.Attestation)(nil), // 45: xatu.eth.v1.Attestation - (*v1.EventBlock)(nil), // 46: xatu.eth.v1.EventBlock - (*v1.EventFinalizedCheckpoint)(nil), // 47: xatu.eth.v1.EventFinalizedCheckpoint - (*v1.EventHead)(nil), // 48: xatu.eth.v1.EventHead - (*v1.EventVoluntaryExit)(nil), // 49: xatu.eth.v1.EventVoluntaryExit - (*v1.EventContributionAndProof)(nil), // 50: xatu.eth.v1.EventContributionAndProof - (*v2.EventBlock)(nil), // 51: xatu.eth.v2.EventBlock - (*v1.Committee)(nil), // 52: xatu.eth.v1.Committee - (*v1.AttestationData)(nil), // 53: xatu.eth.v1.AttestationData + (Event_Name)(0), // 0: xatu.Event.Name + (*CreateEventsRequest)(nil), // 1: xatu.CreateEventsRequest + (*CreateEventsResponse)(nil), // 2: xatu.CreateEventsResponse + (*Epoch)(nil), // 3: xatu.Epoch + (*EpochV2)(nil), // 4: xatu.EpochV2 + (*Slot)(nil), // 5: xatu.Slot + (*SlotV2)(nil), // 6: xatu.SlotV2 + (*ForkID)(nil), // 7: xatu.ForkID + (*Propagation)(nil), // 8: xatu.Propagation + (*PropagationV2)(nil), // 9: xatu.PropagationV2 + (*AttestingValidator)(nil), // 10: xatu.AttestingValidator + (*AttestingValidatorV2)(nil), // 11: xatu.AttestingValidatorV2 + (*DebugForkChoiceReorg)(nil), // 12: xatu.DebugForkChoiceReorg + (*DebugForkChoiceReorgV2)(nil), // 13: xatu.DebugForkChoiceReorgV2 + (*ClientMeta)(nil), // 14: xatu.ClientMeta + (*ServerMeta)(nil), // 15: xatu.ServerMeta + (*Meta)(nil), // 16: xatu.Meta + (*Event)(nil), // 17: xatu.Event + (*DecoratedEvent)(nil), // 18: xatu.DecoratedEvent + (*ClientMeta_Ethereum)(nil), // 19: xatu.ClientMeta.Ethereum + nil, // 20: xatu.ClientMeta.LabelsEntry + (*ClientMeta_AdditionalEthV1AttestationSourceData)(nil), // 21: xatu.ClientMeta.AdditionalEthV1AttestationSourceData + (*ClientMeta_AdditionalEthV1AttestationSourceV2Data)(nil), // 22: xatu.ClientMeta.AdditionalEthV1AttestationSourceV2Data + (*ClientMeta_AdditionalEthV1AttestationTargetData)(nil), // 23: xatu.ClientMeta.AdditionalEthV1AttestationTargetData + (*ClientMeta_AdditionalEthV1AttestationTargetV2Data)(nil), // 24: xatu.ClientMeta.AdditionalEthV1AttestationTargetV2Data + (*ClientMeta_AdditionalEthV1EventsAttestationData)(nil), // 25: xatu.ClientMeta.AdditionalEthV1EventsAttestationData + (*ClientMeta_AdditionalEthV1EventsAttestationV2Data)(nil), // 26: xatu.ClientMeta.AdditionalEthV1EventsAttestationV2Data + (*ClientMeta_AdditionalEthV1EventsHeadData)(nil), // 27: xatu.ClientMeta.AdditionalEthV1EventsHeadData + (*ClientMeta_AdditionalEthV1EventsHeadV2Data)(nil), // 28: xatu.ClientMeta.AdditionalEthV1EventsHeadV2Data + (*ClientMeta_AdditionalEthV1EventsBlockData)(nil), // 29: xatu.ClientMeta.AdditionalEthV1EventsBlockData + (*ClientMeta_AdditionalEthV1EventsBlockV2Data)(nil), // 30: xatu.ClientMeta.AdditionalEthV1EventsBlockV2Data + (*ClientMeta_AdditionalEthV1EventsVoluntaryExitData)(nil), // 31: xatu.ClientMeta.AdditionalEthV1EventsVoluntaryExitData + (*ClientMeta_AdditionalEthV1EventsVoluntaryExitV2Data)(nil), // 32: xatu.ClientMeta.AdditionalEthV1EventsVoluntaryExitV2Data + (*ClientMeta_AdditionalEthV1EventsFinalizedCheckpointData)(nil), // 33: xatu.ClientMeta.AdditionalEthV1EventsFinalizedCheckpointData + (*ClientMeta_AdditionalEthV1EventsFinalizedCheckpointV2Data)(nil), // 34: xatu.ClientMeta.AdditionalEthV1EventsFinalizedCheckpointV2Data + (*ClientMeta_AdditionalEthV1EventsChainReorgData)(nil), // 35: xatu.ClientMeta.AdditionalEthV1EventsChainReorgData + (*ClientMeta_AdditionalEthV1EventsChainReorgV2Data)(nil), // 36: xatu.ClientMeta.AdditionalEthV1EventsChainReorgV2Data + (*ClientMeta_AdditionalEthV1EventsContributionAndProofContributionData)(nil), // 37: xatu.ClientMeta.AdditionalEthV1EventsContributionAndProofContributionData + (*ClientMeta_AdditionalEthV1EventsContributionAndProofContributionV2Data)(nil), // 38: xatu.ClientMeta.AdditionalEthV1EventsContributionAndProofContributionV2Data + (*ClientMeta_AdditionalEthV1EventsContributionAndProofData)(nil), // 39: xatu.ClientMeta.AdditionalEthV1EventsContributionAndProofData + (*ClientMeta_AdditionalEthV1EventsContributionAndProofV2Data)(nil), // 40: xatu.ClientMeta.AdditionalEthV1EventsContributionAndProofV2Data + (*ClientMeta_ForkChoiceSnapshot)(nil), // 41: xatu.ClientMeta.ForkChoiceSnapshot + (*ClientMeta_ForkChoiceSnapshotV2)(nil), // 42: xatu.ClientMeta.ForkChoiceSnapshotV2 + (*ClientMeta_AdditionalEthV1DebugForkChoiceData)(nil), // 43: xatu.ClientMeta.AdditionalEthV1DebugForkChoiceData + (*ClientMeta_AdditionalEthV1DebugForkChoiceV2Data)(nil), // 44: xatu.ClientMeta.AdditionalEthV1DebugForkChoiceV2Data + (*ClientMeta_AdditionalEthV1DebugForkChoiceReOrgData)(nil), // 45: xatu.ClientMeta.AdditionalEthV1DebugForkChoiceReOrgData + (*ClientMeta_AdditionalEthV1DebugForkChoiceReOrgV2Data)(nil), // 46: xatu.ClientMeta.AdditionalEthV1DebugForkChoiceReOrgV2Data + (*ClientMeta_AdditionalEthV1BeaconCommitteeData)(nil), // 47: xatu.ClientMeta.AdditionalEthV1BeaconCommitteeData + (*ClientMeta_AdditionalEthV1BeaconCommitteeV2Data)(nil), // 48: xatu.ClientMeta.AdditionalEthV1BeaconCommitteeV2Data + (*ClientMeta_AdditionalMempoolTransactionData)(nil), // 49: xatu.ClientMeta.AdditionalMempoolTransactionData + (*ClientMeta_AdditionalMempoolTransactionV2Data)(nil), // 50: xatu.ClientMeta.AdditionalMempoolTransactionV2Data + (*ClientMeta_AdditionalEthV2BeaconBlockData)(nil), // 51: xatu.ClientMeta.AdditionalEthV2BeaconBlockData + (*ClientMeta_AdditionalEthV2BeaconBlockV2Data)(nil), // 52: xatu.ClientMeta.AdditionalEthV2BeaconBlockV2Data + (*ClientMeta_AttestationDataSnapshot)(nil), // 53: xatu.ClientMeta.AttestationDataSnapshot + (*ClientMeta_AdditionalEthV1ValidatorAttestationDataData)(nil), // 54: xatu.ClientMeta.AdditionalEthV1ValidatorAttestationDataData + (*ClientMeta_Ethereum_Network)(nil), // 55: xatu.ClientMeta.Ethereum.Network + (*ClientMeta_Ethereum_Execution)(nil), // 56: xatu.ClientMeta.Ethereum.Execution + (*ClientMeta_Ethereum_Consensus)(nil), // 57: xatu.ClientMeta.Ethereum.Consensus + (*ServerMeta_Event)(nil), // 58: xatu.ServerMeta.Event + (*ServerMeta_Client)(nil), // 59: xatu.ServerMeta.Client + nil, // 60: xatu.ServerMeta.AdditionalDataEntry + (*ServerMeta_Client_Geo)(nil), // 61: xatu.ServerMeta.Client.Geo + (*timestamppb.Timestamp)(nil), // 62: google.protobuf.Timestamp + (*wrapperspb.UInt64Value)(nil), // 63: google.protobuf.UInt64Value + (*v1.ForkChoice)(nil), // 64: xatu.eth.v1.ForkChoice + (*v1.EventChainReorg)(nil), // 65: xatu.eth.v1.EventChainReorg + (*v1.ForkChoiceV2)(nil), // 66: xatu.eth.v1.ForkChoiceV2 + (*v1.EventChainReorgV2)(nil), // 67: xatu.eth.v1.EventChainReorgV2 + (*v1.Attestation)(nil), // 68: xatu.eth.v1.Attestation + (*v1.EventBlock)(nil), // 69: xatu.eth.v1.EventBlock + (*v1.EventFinalizedCheckpoint)(nil), // 70: xatu.eth.v1.EventFinalizedCheckpoint + (*v1.EventHead)(nil), // 71: xatu.eth.v1.EventHead + (*v1.EventVoluntaryExit)(nil), // 72: xatu.eth.v1.EventVoluntaryExit + (*v1.EventContributionAndProof)(nil), // 73: xatu.eth.v1.EventContributionAndProof + (*v2.EventBlock)(nil), // 74: xatu.eth.v2.EventBlock + (*v1.Committee)(nil), // 75: xatu.eth.v1.Committee + (*v1.AttestationDataV2)(nil), // 76: xatu.eth.v1.AttestationDataV2 + (*v1.AttestationV2)(nil), // 77: xatu.eth.v1.AttestationV2 + (*v1.EventBlockV2)(nil), // 78: xatu.eth.v1.EventBlockV2 + (*v1.EventFinalizedCheckpointV2)(nil), // 79: xatu.eth.v1.EventFinalizedCheckpointV2 + (*v1.EventHeadV2)(nil), // 80: xatu.eth.v1.EventHeadV2 + (*v1.EventVoluntaryExitV2)(nil), // 81: xatu.eth.v1.EventVoluntaryExitV2 + (*v1.EventContributionAndProofV2)(nil), // 82: xatu.eth.v1.EventContributionAndProofV2 + (*v2.EventBlockV2)(nil), // 83: xatu.eth.v2.EventBlockV2 } var file_pkg_proto_xatu_event_ingester_proto_depIdxs = []int32{ - 13, // 0: xatu.CreateEventsRequest.events:type_name -> xatu.DecoratedEvent - 41, // 1: xatu.Epoch.start_date_time:type_name -> google.protobuf.Timestamp - 42, // 2: xatu.Epoch.number_v2:type_name -> google.protobuf.UInt64Value - 41, // 3: xatu.Slot.start_date_time:type_name -> google.protobuf.Timestamp - 42, // 4: xatu.Slot.number_v2:type_name -> google.protobuf.UInt64Value - 42, // 5: xatu.Propagation.slot_start_diff_v2:type_name -> google.protobuf.UInt64Value - 42, // 6: xatu.AttestingValidator.committee_index_v2:type_name -> google.protobuf.UInt64Value - 42, // 7: xatu.AttestingValidator.index_v2:type_name -> google.protobuf.UInt64Value - 43, // 8: xatu.DebugForkChoiceReorg.before:type_name -> xatu.eth.v1.ForkChoice - 43, // 9: xatu.DebugForkChoiceReorg.after:type_name -> xatu.eth.v1.ForkChoice - 44, // 10: xatu.DebugForkChoiceReorg.event:type_name -> xatu.eth.v1.EventChainReorg - 42, // 11: xatu.ClientMeta.clock_drift_v2:type_name -> google.protobuf.UInt64Value - 14, // 12: xatu.ClientMeta.ethereum:type_name -> xatu.ClientMeta.Ethereum - 15, // 13: xatu.ClientMeta.labels:type_name -> xatu.ClientMeta.LabelsEntry - 18, // 14: xatu.ClientMeta.eth_v1_events_attestation:type_name -> xatu.ClientMeta.AdditionalEthV1EventsAttestationData - 19, // 15: xatu.ClientMeta.eth_v1_events_head:type_name -> xatu.ClientMeta.AdditionalEthV1EventsHeadData - 20, // 16: xatu.ClientMeta.eth_v1_events_block:type_name -> xatu.ClientMeta.AdditionalEthV1EventsBlockData - 21, // 17: xatu.ClientMeta.eth_v1_events_voluntary_exit:type_name -> xatu.ClientMeta.AdditionalEthV1EventsVoluntaryExitData - 22, // 18: xatu.ClientMeta.eth_v1_events_finalized_checkpoint:type_name -> xatu.ClientMeta.AdditionalEthV1EventsFinalizedCheckpointData - 23, // 19: xatu.ClientMeta.eth_v1_events_chain_reorg:type_name -> xatu.ClientMeta.AdditionalEthV1EventsChainReorgData - 25, // 20: xatu.ClientMeta.eth_v1_events_contribution_and_proof:type_name -> xatu.ClientMeta.AdditionalEthV1EventsContributionAndProofData - 30, // 21: xatu.ClientMeta.mempool_transaction:type_name -> xatu.ClientMeta.AdditionalMempoolTransactionData - 31, // 22: xatu.ClientMeta.eth_v2_beacon_block:type_name -> xatu.ClientMeta.AdditionalEthV2BeaconBlockData - 27, // 23: xatu.ClientMeta.eth_v1_debug_fork_choice:type_name -> xatu.ClientMeta.AdditionalEthV1DebugForkChoiceData - 28, // 24: xatu.ClientMeta.eth_v1_debug_fork_choice_reorg:type_name -> xatu.ClientMeta.AdditionalEthV1DebugForkChoiceReOrgData - 29, // 25: xatu.ClientMeta.eth_v1_beacon_commitee:type_name -> xatu.ClientMeta.AdditionalEthV1BeaconCommitteeData - 33, // 26: xatu.ClientMeta.eth_v1_validator_attestation_data:type_name -> xatu.ClientMeta.AdditionalEthV1ValidatorAttestationDataData - 37, // 27: xatu.ServerMeta.event:type_name -> xatu.ServerMeta.Event - 38, // 28: xatu.ServerMeta.client:type_name -> xatu.ServerMeta.Client - 39, // 29: xatu.ServerMeta.additional_data:type_name -> xatu.ServerMeta.AdditionalDataEntry - 9, // 30: xatu.Meta.client:type_name -> xatu.ClientMeta - 10, // 31: xatu.Meta.server:type_name -> xatu.ServerMeta - 0, // 32: xatu.Event.name:type_name -> xatu.Event.Name - 41, // 33: xatu.Event.date_time:type_name -> google.protobuf.Timestamp - 12, // 34: xatu.DecoratedEvent.event:type_name -> xatu.Event - 11, // 35: xatu.DecoratedEvent.meta:type_name -> xatu.Meta - 45, // 36: xatu.DecoratedEvent.eth_v1_events_attestation:type_name -> xatu.eth.v1.Attestation - 46, // 37: xatu.DecoratedEvent.eth_v1_events_block:type_name -> xatu.eth.v1.EventBlock - 44, // 38: xatu.DecoratedEvent.eth_v1_events_chain_reorg:type_name -> xatu.eth.v1.EventChainReorg - 47, // 39: xatu.DecoratedEvent.eth_v1_events_finalized_checkpoint:type_name -> xatu.eth.v1.EventFinalizedCheckpoint - 48, // 40: xatu.DecoratedEvent.eth_v1_events_head:type_name -> xatu.eth.v1.EventHead - 49, // 41: xatu.DecoratedEvent.eth_v1_events_voluntary_exit:type_name -> xatu.eth.v1.EventVoluntaryExit - 50, // 42: xatu.DecoratedEvent.eth_v1_events_contribution_and_proof:type_name -> xatu.eth.v1.EventContributionAndProof - 51, // 43: xatu.DecoratedEvent.eth_v2_beacon_block:type_name -> xatu.eth.v2.EventBlock - 43, // 44: xatu.DecoratedEvent.eth_v1_fork_choice:type_name -> xatu.eth.v1.ForkChoice - 8, // 45: xatu.DecoratedEvent.eth_v1_fork_choice_reorg:type_name -> xatu.DebugForkChoiceReorg - 52, // 46: xatu.DecoratedEvent.eth_v1_beacon_committee:type_name -> xatu.eth.v1.Committee - 53, // 47: xatu.DecoratedEvent.eth_v1_validator_attestation_data:type_name -> xatu.eth.v1.AttestationData - 34, // 48: xatu.ClientMeta.Ethereum.network:type_name -> xatu.ClientMeta.Ethereum.Network - 35, // 49: xatu.ClientMeta.Ethereum.execution:type_name -> xatu.ClientMeta.Ethereum.Execution - 36, // 50: xatu.ClientMeta.Ethereum.consensus:type_name -> xatu.ClientMeta.Ethereum.Consensus - 3, // 51: xatu.ClientMeta.AdditionalEthV1AttestationSourceData.epoch:type_name -> xatu.Epoch - 3, // 52: xatu.ClientMeta.AdditionalEthV1AttestationTargetData.epoch:type_name -> xatu.Epoch - 16, // 53: xatu.ClientMeta.AdditionalEthV1EventsAttestationData.source:type_name -> xatu.ClientMeta.AdditionalEthV1AttestationSourceData - 17, // 54: xatu.ClientMeta.AdditionalEthV1EventsAttestationData.target:type_name -> xatu.ClientMeta.AdditionalEthV1AttestationTargetData - 4, // 55: xatu.ClientMeta.AdditionalEthV1EventsAttestationData.slot:type_name -> xatu.Slot - 3, // 56: xatu.ClientMeta.AdditionalEthV1EventsAttestationData.epoch:type_name -> xatu.Epoch - 6, // 57: xatu.ClientMeta.AdditionalEthV1EventsAttestationData.propagation:type_name -> xatu.Propagation - 7, // 58: xatu.ClientMeta.AdditionalEthV1EventsAttestationData.attesting_validator:type_name -> xatu.AttestingValidator - 3, // 59: xatu.ClientMeta.AdditionalEthV1EventsHeadData.epoch:type_name -> xatu.Epoch - 4, // 60: xatu.ClientMeta.AdditionalEthV1EventsHeadData.slot:type_name -> xatu.Slot - 6, // 61: xatu.ClientMeta.AdditionalEthV1EventsHeadData.propagation:type_name -> xatu.Propagation - 3, // 62: xatu.ClientMeta.AdditionalEthV1EventsBlockData.epoch:type_name -> xatu.Epoch - 4, // 63: xatu.ClientMeta.AdditionalEthV1EventsBlockData.slot:type_name -> xatu.Slot - 6, // 64: xatu.ClientMeta.AdditionalEthV1EventsBlockData.propagation:type_name -> xatu.Propagation - 3, // 65: xatu.ClientMeta.AdditionalEthV1EventsVoluntaryExitData.epoch:type_name -> xatu.Epoch - 3, // 66: xatu.ClientMeta.AdditionalEthV1EventsFinalizedCheckpointData.epoch:type_name -> xatu.Epoch - 3, // 67: xatu.ClientMeta.AdditionalEthV1EventsChainReorgData.epoch:type_name -> xatu.Epoch - 4, // 68: xatu.ClientMeta.AdditionalEthV1EventsChainReorgData.slot:type_name -> xatu.Slot - 6, // 69: xatu.ClientMeta.AdditionalEthV1EventsChainReorgData.propagation:type_name -> xatu.Propagation - 3, // 70: xatu.ClientMeta.AdditionalEthV1EventsContributionAndProofContributionData.epoch:type_name -> xatu.Epoch - 4, // 71: xatu.ClientMeta.AdditionalEthV1EventsContributionAndProofContributionData.slot:type_name -> xatu.Slot - 6, // 72: xatu.ClientMeta.AdditionalEthV1EventsContributionAndProofContributionData.propagation:type_name -> xatu.Propagation - 24, // 73: xatu.ClientMeta.AdditionalEthV1EventsContributionAndProofData.contribution:type_name -> xatu.ClientMeta.AdditionalEthV1EventsContributionAndProofContributionData - 3, // 74: xatu.ClientMeta.ForkChoiceSnapshot.request_epoch:type_name -> xatu.Epoch - 4, // 75: xatu.ClientMeta.ForkChoiceSnapshot.request_slot:type_name -> xatu.Slot - 41, // 76: xatu.ClientMeta.ForkChoiceSnapshot.timestamp:type_name -> google.protobuf.Timestamp - 42, // 77: xatu.ClientMeta.ForkChoiceSnapshot.requested_at_slot_start_diff_ms_v2:type_name -> google.protobuf.UInt64Value - 42, // 78: xatu.ClientMeta.ForkChoiceSnapshot.request_duration_ms_v2:type_name -> google.protobuf.UInt64Value - 26, // 79: xatu.ClientMeta.AdditionalEthV1DebugForkChoiceData.Snapshot:type_name -> xatu.ClientMeta.ForkChoiceSnapshot - 26, // 80: xatu.ClientMeta.AdditionalEthV1DebugForkChoiceReOrgData.before:type_name -> xatu.ClientMeta.ForkChoiceSnapshot - 26, // 81: xatu.ClientMeta.AdditionalEthV1DebugForkChoiceReOrgData.after:type_name -> xatu.ClientMeta.ForkChoiceSnapshot - 3, // 82: xatu.ClientMeta.AdditionalEthV1BeaconCommitteeData.epoch:type_name -> xatu.Epoch - 4, // 83: xatu.ClientMeta.AdditionalEthV1BeaconCommitteeData.slot:type_name -> xatu.Slot - 42, // 84: xatu.ClientMeta.AdditionalMempoolTransactionData.nonce_v2:type_name -> google.protobuf.UInt64Value - 42, // 85: xatu.ClientMeta.AdditionalMempoolTransactionData.gas_v2:type_name -> google.protobuf.UInt64Value - 3, // 86: xatu.ClientMeta.AdditionalEthV2BeaconBlockData.epoch:type_name -> xatu.Epoch - 4, // 87: xatu.ClientMeta.AdditionalEthV2BeaconBlockData.slot:type_name -> xatu.Slot - 42, // 88: xatu.ClientMeta.AdditionalEthV2BeaconBlockData.transactions_count_v2:type_name -> google.protobuf.UInt64Value - 42, // 89: xatu.ClientMeta.AdditionalEthV2BeaconBlockData.transactions_total_bytes_v2:type_name -> google.protobuf.UInt64Value - 42, // 90: xatu.ClientMeta.AttestationDataSnapshot.requested_at_slot_start_diff_ms:type_name -> google.protobuf.UInt64Value - 42, // 91: xatu.ClientMeta.AttestationDataSnapshot.request_duration_ms:type_name -> google.protobuf.UInt64Value - 41, // 92: xatu.ClientMeta.AttestationDataSnapshot.timestamp:type_name -> google.protobuf.Timestamp - 16, // 93: xatu.ClientMeta.AdditionalEthV1ValidatorAttestationDataData.source:type_name -> xatu.ClientMeta.AdditionalEthV1AttestationSourceData - 17, // 94: xatu.ClientMeta.AdditionalEthV1ValidatorAttestationDataData.target:type_name -> xatu.ClientMeta.AdditionalEthV1AttestationTargetData - 3, // 95: xatu.ClientMeta.AdditionalEthV1ValidatorAttestationDataData.epoch:type_name -> xatu.Epoch - 4, // 96: xatu.ClientMeta.AdditionalEthV1ValidatorAttestationDataData.slot:type_name -> xatu.Slot - 32, // 97: xatu.ClientMeta.AdditionalEthV1ValidatorAttestationDataData.Snapshot:type_name -> xatu.ClientMeta.AttestationDataSnapshot - 5, // 98: xatu.ClientMeta.Ethereum.Execution.fork_id:type_name -> xatu.ForkID - 41, // 99: xatu.ServerMeta.Event.received_date_time:type_name -> google.protobuf.Timestamp - 40, // 100: xatu.ServerMeta.Client.geo:type_name -> xatu.ServerMeta.Client.Geo - 1, // 101: xatu.EventIngester.CreateEvents:input_type -> xatu.CreateEventsRequest - 2, // 102: xatu.EventIngester.CreateEvents:output_type -> xatu.CreateEventsResponse - 102, // [102:103] is the sub-list for method output_type - 101, // [101:102] is the sub-list for method input_type - 101, // [101:101] is the sub-list for extension type_name - 101, // [101:101] is the sub-list for extension extendee - 0, // [0:101] is the sub-list for field type_name + 18, // 0: xatu.CreateEventsRequest.events:type_name -> xatu.DecoratedEvent + 62, // 1: xatu.Epoch.start_date_time:type_name -> google.protobuf.Timestamp + 63, // 2: xatu.EpochV2.number:type_name -> google.protobuf.UInt64Value + 62, // 3: xatu.EpochV2.start_date_time:type_name -> google.protobuf.Timestamp + 62, // 4: xatu.Slot.start_date_time:type_name -> google.protobuf.Timestamp + 63, // 5: xatu.SlotV2.number:type_name -> google.protobuf.UInt64Value + 62, // 6: xatu.SlotV2.start_date_time:type_name -> google.protobuf.Timestamp + 63, // 7: xatu.PropagationV2.slot_start_diff:type_name -> google.protobuf.UInt64Value + 63, // 8: xatu.AttestingValidatorV2.committee_index:type_name -> google.protobuf.UInt64Value + 63, // 9: xatu.AttestingValidatorV2.index:type_name -> google.protobuf.UInt64Value + 64, // 10: xatu.DebugForkChoiceReorg.before:type_name -> xatu.eth.v1.ForkChoice + 64, // 11: xatu.DebugForkChoiceReorg.after:type_name -> xatu.eth.v1.ForkChoice + 65, // 12: xatu.DebugForkChoiceReorg.event:type_name -> xatu.eth.v1.EventChainReorg + 66, // 13: xatu.DebugForkChoiceReorgV2.before:type_name -> xatu.eth.v1.ForkChoiceV2 + 66, // 14: xatu.DebugForkChoiceReorgV2.after:type_name -> xatu.eth.v1.ForkChoiceV2 + 67, // 15: xatu.DebugForkChoiceReorgV2.event:type_name -> xatu.eth.v1.EventChainReorgV2 + 19, // 16: xatu.ClientMeta.ethereum:type_name -> xatu.ClientMeta.Ethereum + 20, // 17: xatu.ClientMeta.labels:type_name -> xatu.ClientMeta.LabelsEntry + 25, // 18: xatu.ClientMeta.eth_v1_events_attestation:type_name -> xatu.ClientMeta.AdditionalEthV1EventsAttestationData + 27, // 19: xatu.ClientMeta.eth_v1_events_head:type_name -> xatu.ClientMeta.AdditionalEthV1EventsHeadData + 29, // 20: xatu.ClientMeta.eth_v1_events_block:type_name -> xatu.ClientMeta.AdditionalEthV1EventsBlockData + 31, // 21: xatu.ClientMeta.eth_v1_events_voluntary_exit:type_name -> xatu.ClientMeta.AdditionalEthV1EventsVoluntaryExitData + 33, // 22: xatu.ClientMeta.eth_v1_events_finalized_checkpoint:type_name -> xatu.ClientMeta.AdditionalEthV1EventsFinalizedCheckpointData + 35, // 23: xatu.ClientMeta.eth_v1_events_chain_reorg:type_name -> xatu.ClientMeta.AdditionalEthV1EventsChainReorgData + 39, // 24: xatu.ClientMeta.eth_v1_events_contribution_and_proof:type_name -> xatu.ClientMeta.AdditionalEthV1EventsContributionAndProofData + 49, // 25: xatu.ClientMeta.mempool_transaction:type_name -> xatu.ClientMeta.AdditionalMempoolTransactionData + 51, // 26: xatu.ClientMeta.eth_v2_beacon_block:type_name -> xatu.ClientMeta.AdditionalEthV2BeaconBlockData + 43, // 27: xatu.ClientMeta.eth_v1_debug_fork_choice:type_name -> xatu.ClientMeta.AdditionalEthV1DebugForkChoiceData + 45, // 28: xatu.ClientMeta.eth_v1_debug_fork_choice_reorg:type_name -> xatu.ClientMeta.AdditionalEthV1DebugForkChoiceReOrgData + 47, // 29: xatu.ClientMeta.eth_v1_beacon_commitee:type_name -> xatu.ClientMeta.AdditionalEthV1BeaconCommitteeData + 54, // 30: xatu.ClientMeta.eth_v1_validator_attestation_data:type_name -> xatu.ClientMeta.AdditionalEthV1ValidatorAttestationDataData + 26, // 31: xatu.ClientMeta.eth_v1_events_attestation_v2:type_name -> xatu.ClientMeta.AdditionalEthV1EventsAttestationV2Data + 28, // 32: xatu.ClientMeta.eth_v1_events_head_v2:type_name -> xatu.ClientMeta.AdditionalEthV1EventsHeadV2Data + 30, // 33: xatu.ClientMeta.eth_v1_events_block_v2:type_name -> xatu.ClientMeta.AdditionalEthV1EventsBlockV2Data + 32, // 34: xatu.ClientMeta.eth_v1_events_voluntary_exit_v2:type_name -> xatu.ClientMeta.AdditionalEthV1EventsVoluntaryExitV2Data + 34, // 35: xatu.ClientMeta.eth_v1_events_finalized_checkpoint_v2:type_name -> xatu.ClientMeta.AdditionalEthV1EventsFinalizedCheckpointV2Data + 36, // 36: xatu.ClientMeta.eth_v1_events_chain_reorg_v2:type_name -> xatu.ClientMeta.AdditionalEthV1EventsChainReorgV2Data + 40, // 37: xatu.ClientMeta.eth_v1_events_contribution_and_proof_v2:type_name -> xatu.ClientMeta.AdditionalEthV1EventsContributionAndProofV2Data + 50, // 38: xatu.ClientMeta.mempool_transaction_v2:type_name -> xatu.ClientMeta.AdditionalMempoolTransactionV2Data + 52, // 39: xatu.ClientMeta.eth_v2_beacon_block_v2:type_name -> xatu.ClientMeta.AdditionalEthV2BeaconBlockV2Data + 44, // 40: xatu.ClientMeta.eth_v1_debug_fork_choice_v2:type_name -> xatu.ClientMeta.AdditionalEthV1DebugForkChoiceV2Data + 46, // 41: xatu.ClientMeta.eth_v1_debug_fork_choice_reorg_v2:type_name -> xatu.ClientMeta.AdditionalEthV1DebugForkChoiceReOrgV2Data + 58, // 42: xatu.ServerMeta.event:type_name -> xatu.ServerMeta.Event + 59, // 43: xatu.ServerMeta.client:type_name -> xatu.ServerMeta.Client + 60, // 44: xatu.ServerMeta.additional_data:type_name -> xatu.ServerMeta.AdditionalDataEntry + 14, // 45: xatu.Meta.client:type_name -> xatu.ClientMeta + 15, // 46: xatu.Meta.server:type_name -> xatu.ServerMeta + 0, // 47: xatu.Event.name:type_name -> xatu.Event.Name + 62, // 48: xatu.Event.date_time:type_name -> google.protobuf.Timestamp + 17, // 49: xatu.DecoratedEvent.event:type_name -> xatu.Event + 16, // 50: xatu.DecoratedEvent.meta:type_name -> xatu.Meta + 68, // 51: xatu.DecoratedEvent.eth_v1_events_attestation:type_name -> xatu.eth.v1.Attestation + 69, // 52: xatu.DecoratedEvent.eth_v1_events_block:type_name -> xatu.eth.v1.EventBlock + 65, // 53: xatu.DecoratedEvent.eth_v1_events_chain_reorg:type_name -> xatu.eth.v1.EventChainReorg + 70, // 54: xatu.DecoratedEvent.eth_v1_events_finalized_checkpoint:type_name -> xatu.eth.v1.EventFinalizedCheckpoint + 71, // 55: xatu.DecoratedEvent.eth_v1_events_head:type_name -> xatu.eth.v1.EventHead + 72, // 56: xatu.DecoratedEvent.eth_v1_events_voluntary_exit:type_name -> xatu.eth.v1.EventVoluntaryExit + 73, // 57: xatu.DecoratedEvent.eth_v1_events_contribution_and_proof:type_name -> xatu.eth.v1.EventContributionAndProof + 74, // 58: xatu.DecoratedEvent.eth_v2_beacon_block:type_name -> xatu.eth.v2.EventBlock + 64, // 59: xatu.DecoratedEvent.eth_v1_fork_choice:type_name -> xatu.eth.v1.ForkChoice + 12, // 60: xatu.DecoratedEvent.eth_v1_fork_choice_reorg:type_name -> xatu.DebugForkChoiceReorg + 75, // 61: xatu.DecoratedEvent.eth_v1_beacon_committee:type_name -> xatu.eth.v1.Committee + 76, // 62: xatu.DecoratedEvent.eth_v1_validator_attestation_data:type_name -> xatu.eth.v1.AttestationDataV2 + 77, // 63: xatu.DecoratedEvent.eth_v1_events_attestation_v2:type_name -> xatu.eth.v1.AttestationV2 + 78, // 64: xatu.DecoratedEvent.eth_v1_events_block_v2:type_name -> xatu.eth.v1.EventBlockV2 + 67, // 65: xatu.DecoratedEvent.eth_v1_events_chain_reorg_v2:type_name -> xatu.eth.v1.EventChainReorgV2 + 79, // 66: xatu.DecoratedEvent.eth_v1_events_finalized_checkpoint_v2:type_name -> xatu.eth.v1.EventFinalizedCheckpointV2 + 80, // 67: xatu.DecoratedEvent.eth_v1_events_head_v2:type_name -> xatu.eth.v1.EventHeadV2 + 81, // 68: xatu.DecoratedEvent.eth_v1_events_voluntary_exit_v2:type_name -> xatu.eth.v1.EventVoluntaryExitV2 + 82, // 69: xatu.DecoratedEvent.eth_v1_events_contribution_and_proof_v2:type_name -> xatu.eth.v1.EventContributionAndProofV2 + 83, // 70: xatu.DecoratedEvent.eth_v2_beacon_block_v2:type_name -> xatu.eth.v2.EventBlockV2 + 66, // 71: xatu.DecoratedEvent.eth_v1_fork_choice_v2:type_name -> xatu.eth.v1.ForkChoiceV2 + 13, // 72: xatu.DecoratedEvent.eth_v1_fork_choice_reorg_v2:type_name -> xatu.DebugForkChoiceReorgV2 + 55, // 73: xatu.ClientMeta.Ethereum.network:type_name -> xatu.ClientMeta.Ethereum.Network + 56, // 74: xatu.ClientMeta.Ethereum.execution:type_name -> xatu.ClientMeta.Ethereum.Execution + 57, // 75: xatu.ClientMeta.Ethereum.consensus:type_name -> xatu.ClientMeta.Ethereum.Consensus + 3, // 76: xatu.ClientMeta.AdditionalEthV1AttestationSourceData.epoch:type_name -> xatu.Epoch + 4, // 77: xatu.ClientMeta.AdditionalEthV1AttestationSourceV2Data.epoch:type_name -> xatu.EpochV2 + 3, // 78: xatu.ClientMeta.AdditionalEthV1AttestationTargetData.epoch:type_name -> xatu.Epoch + 4, // 79: xatu.ClientMeta.AdditionalEthV1AttestationTargetV2Data.epoch:type_name -> xatu.EpochV2 + 21, // 80: xatu.ClientMeta.AdditionalEthV1EventsAttestationData.source:type_name -> xatu.ClientMeta.AdditionalEthV1AttestationSourceData + 23, // 81: xatu.ClientMeta.AdditionalEthV1EventsAttestationData.target:type_name -> xatu.ClientMeta.AdditionalEthV1AttestationTargetData + 5, // 82: xatu.ClientMeta.AdditionalEthV1EventsAttestationData.slot:type_name -> xatu.Slot + 3, // 83: xatu.ClientMeta.AdditionalEthV1EventsAttestationData.epoch:type_name -> xatu.Epoch + 8, // 84: xatu.ClientMeta.AdditionalEthV1EventsAttestationData.propagation:type_name -> xatu.Propagation + 10, // 85: xatu.ClientMeta.AdditionalEthV1EventsAttestationData.attesting_validator:type_name -> xatu.AttestingValidator + 22, // 86: xatu.ClientMeta.AdditionalEthV1EventsAttestationV2Data.source:type_name -> xatu.ClientMeta.AdditionalEthV1AttestationSourceV2Data + 24, // 87: xatu.ClientMeta.AdditionalEthV1EventsAttestationV2Data.target:type_name -> xatu.ClientMeta.AdditionalEthV1AttestationTargetV2Data + 6, // 88: xatu.ClientMeta.AdditionalEthV1EventsAttestationV2Data.slot:type_name -> xatu.SlotV2 + 4, // 89: xatu.ClientMeta.AdditionalEthV1EventsAttestationV2Data.epoch:type_name -> xatu.EpochV2 + 9, // 90: xatu.ClientMeta.AdditionalEthV1EventsAttestationV2Data.propagation:type_name -> xatu.PropagationV2 + 11, // 91: xatu.ClientMeta.AdditionalEthV1EventsAttestationV2Data.attesting_validator:type_name -> xatu.AttestingValidatorV2 + 3, // 92: xatu.ClientMeta.AdditionalEthV1EventsHeadData.epoch:type_name -> xatu.Epoch + 5, // 93: xatu.ClientMeta.AdditionalEthV1EventsHeadData.slot:type_name -> xatu.Slot + 8, // 94: xatu.ClientMeta.AdditionalEthV1EventsHeadData.propagation:type_name -> xatu.Propagation + 4, // 95: xatu.ClientMeta.AdditionalEthV1EventsHeadV2Data.epoch:type_name -> xatu.EpochV2 + 6, // 96: xatu.ClientMeta.AdditionalEthV1EventsHeadV2Data.slot:type_name -> xatu.SlotV2 + 9, // 97: xatu.ClientMeta.AdditionalEthV1EventsHeadV2Data.propagation:type_name -> xatu.PropagationV2 + 3, // 98: xatu.ClientMeta.AdditionalEthV1EventsBlockData.epoch:type_name -> xatu.Epoch + 5, // 99: xatu.ClientMeta.AdditionalEthV1EventsBlockData.slot:type_name -> xatu.Slot + 8, // 100: xatu.ClientMeta.AdditionalEthV1EventsBlockData.propagation:type_name -> xatu.Propagation + 4, // 101: xatu.ClientMeta.AdditionalEthV1EventsBlockV2Data.epoch:type_name -> xatu.EpochV2 + 6, // 102: xatu.ClientMeta.AdditionalEthV1EventsBlockV2Data.slot:type_name -> xatu.SlotV2 + 9, // 103: xatu.ClientMeta.AdditionalEthV1EventsBlockV2Data.propagation:type_name -> xatu.PropagationV2 + 3, // 104: xatu.ClientMeta.AdditionalEthV1EventsVoluntaryExitData.epoch:type_name -> xatu.Epoch + 4, // 105: xatu.ClientMeta.AdditionalEthV1EventsVoluntaryExitV2Data.epoch:type_name -> xatu.EpochV2 + 3, // 106: xatu.ClientMeta.AdditionalEthV1EventsFinalizedCheckpointData.epoch:type_name -> xatu.Epoch + 4, // 107: xatu.ClientMeta.AdditionalEthV1EventsFinalizedCheckpointV2Data.epoch:type_name -> xatu.EpochV2 + 3, // 108: xatu.ClientMeta.AdditionalEthV1EventsChainReorgData.epoch:type_name -> xatu.Epoch + 5, // 109: xatu.ClientMeta.AdditionalEthV1EventsChainReorgData.slot:type_name -> xatu.Slot + 8, // 110: xatu.ClientMeta.AdditionalEthV1EventsChainReorgData.propagation:type_name -> xatu.Propagation + 4, // 111: xatu.ClientMeta.AdditionalEthV1EventsChainReorgV2Data.epoch:type_name -> xatu.EpochV2 + 6, // 112: xatu.ClientMeta.AdditionalEthV1EventsChainReorgV2Data.slot:type_name -> xatu.SlotV2 + 9, // 113: xatu.ClientMeta.AdditionalEthV1EventsChainReorgV2Data.propagation:type_name -> xatu.PropagationV2 + 3, // 114: xatu.ClientMeta.AdditionalEthV1EventsContributionAndProofContributionData.epoch:type_name -> xatu.Epoch + 5, // 115: xatu.ClientMeta.AdditionalEthV1EventsContributionAndProofContributionData.slot:type_name -> xatu.Slot + 8, // 116: xatu.ClientMeta.AdditionalEthV1EventsContributionAndProofContributionData.propagation:type_name -> xatu.Propagation + 4, // 117: xatu.ClientMeta.AdditionalEthV1EventsContributionAndProofContributionV2Data.epoch:type_name -> xatu.EpochV2 + 6, // 118: xatu.ClientMeta.AdditionalEthV1EventsContributionAndProofContributionV2Data.slot:type_name -> xatu.SlotV2 + 9, // 119: xatu.ClientMeta.AdditionalEthV1EventsContributionAndProofContributionV2Data.propagation:type_name -> xatu.PropagationV2 + 37, // 120: xatu.ClientMeta.AdditionalEthV1EventsContributionAndProofData.contribution:type_name -> xatu.ClientMeta.AdditionalEthV1EventsContributionAndProofContributionData + 38, // 121: xatu.ClientMeta.AdditionalEthV1EventsContributionAndProofV2Data.contribution:type_name -> xatu.ClientMeta.AdditionalEthV1EventsContributionAndProofContributionV2Data + 3, // 122: xatu.ClientMeta.ForkChoiceSnapshot.request_epoch:type_name -> xatu.Epoch + 5, // 123: xatu.ClientMeta.ForkChoiceSnapshot.request_slot:type_name -> xatu.Slot + 62, // 124: xatu.ClientMeta.ForkChoiceSnapshot.timestamp:type_name -> google.protobuf.Timestamp + 4, // 125: xatu.ClientMeta.ForkChoiceSnapshotV2.request_epoch:type_name -> xatu.EpochV2 + 6, // 126: xatu.ClientMeta.ForkChoiceSnapshotV2.request_slot:type_name -> xatu.SlotV2 + 63, // 127: xatu.ClientMeta.ForkChoiceSnapshotV2.requested_at_slot_start_diff_ms:type_name -> google.protobuf.UInt64Value + 63, // 128: xatu.ClientMeta.ForkChoiceSnapshotV2.request_duration_ms:type_name -> google.protobuf.UInt64Value + 62, // 129: xatu.ClientMeta.ForkChoiceSnapshotV2.timestamp:type_name -> google.protobuf.Timestamp + 41, // 130: xatu.ClientMeta.AdditionalEthV1DebugForkChoiceData.Snapshot:type_name -> xatu.ClientMeta.ForkChoiceSnapshot + 42, // 131: xatu.ClientMeta.AdditionalEthV1DebugForkChoiceV2Data.Snapshot:type_name -> xatu.ClientMeta.ForkChoiceSnapshotV2 + 41, // 132: xatu.ClientMeta.AdditionalEthV1DebugForkChoiceReOrgData.before:type_name -> xatu.ClientMeta.ForkChoiceSnapshot + 41, // 133: xatu.ClientMeta.AdditionalEthV1DebugForkChoiceReOrgData.after:type_name -> xatu.ClientMeta.ForkChoiceSnapshot + 42, // 134: xatu.ClientMeta.AdditionalEthV1DebugForkChoiceReOrgV2Data.before:type_name -> xatu.ClientMeta.ForkChoiceSnapshotV2 + 42, // 135: xatu.ClientMeta.AdditionalEthV1DebugForkChoiceReOrgV2Data.after:type_name -> xatu.ClientMeta.ForkChoiceSnapshotV2 + 3, // 136: xatu.ClientMeta.AdditionalEthV1BeaconCommitteeData.epoch:type_name -> xatu.Epoch + 5, // 137: xatu.ClientMeta.AdditionalEthV1BeaconCommitteeData.slot:type_name -> xatu.Slot + 4, // 138: xatu.ClientMeta.AdditionalEthV1BeaconCommitteeV2Data.epoch:type_name -> xatu.EpochV2 + 6, // 139: xatu.ClientMeta.AdditionalEthV1BeaconCommitteeV2Data.slot:type_name -> xatu.SlotV2 + 63, // 140: xatu.ClientMeta.AdditionalMempoolTransactionV2Data.nonce:type_name -> google.protobuf.UInt64Value + 63, // 141: xatu.ClientMeta.AdditionalMempoolTransactionV2Data.gas:type_name -> google.protobuf.UInt64Value + 3, // 142: xatu.ClientMeta.AdditionalEthV2BeaconBlockData.epoch:type_name -> xatu.Epoch + 5, // 143: xatu.ClientMeta.AdditionalEthV2BeaconBlockData.slot:type_name -> xatu.Slot + 4, // 144: xatu.ClientMeta.AdditionalEthV2BeaconBlockV2Data.epoch:type_name -> xatu.EpochV2 + 6, // 145: xatu.ClientMeta.AdditionalEthV2BeaconBlockV2Data.slot:type_name -> xatu.SlotV2 + 63, // 146: xatu.ClientMeta.AdditionalEthV2BeaconBlockV2Data.transactions_count:type_name -> google.protobuf.UInt64Value + 63, // 147: xatu.ClientMeta.AdditionalEthV2BeaconBlockV2Data.transactions_total_bytes:type_name -> google.protobuf.UInt64Value + 63, // 148: xatu.ClientMeta.AttestationDataSnapshot.requested_at_slot_start_diff_ms:type_name -> google.protobuf.UInt64Value + 63, // 149: xatu.ClientMeta.AttestationDataSnapshot.request_duration_ms:type_name -> google.protobuf.UInt64Value + 62, // 150: xatu.ClientMeta.AttestationDataSnapshot.timestamp:type_name -> google.protobuf.Timestamp + 22, // 151: xatu.ClientMeta.AdditionalEthV1ValidatorAttestationDataData.source:type_name -> xatu.ClientMeta.AdditionalEthV1AttestationSourceV2Data + 24, // 152: xatu.ClientMeta.AdditionalEthV1ValidatorAttestationDataData.target:type_name -> xatu.ClientMeta.AdditionalEthV1AttestationTargetV2Data + 4, // 153: xatu.ClientMeta.AdditionalEthV1ValidatorAttestationDataData.epoch:type_name -> xatu.EpochV2 + 6, // 154: xatu.ClientMeta.AdditionalEthV1ValidatorAttestationDataData.slot:type_name -> xatu.SlotV2 + 53, // 155: xatu.ClientMeta.AdditionalEthV1ValidatorAttestationDataData.Snapshot:type_name -> xatu.ClientMeta.AttestationDataSnapshot + 7, // 156: xatu.ClientMeta.Ethereum.Execution.fork_id:type_name -> xatu.ForkID + 62, // 157: xatu.ServerMeta.Event.received_date_time:type_name -> google.protobuf.Timestamp + 61, // 158: xatu.ServerMeta.Client.geo:type_name -> xatu.ServerMeta.Client.Geo + 1, // 159: xatu.EventIngester.CreateEvents:input_type -> xatu.CreateEventsRequest + 2, // 160: xatu.EventIngester.CreateEvents:output_type -> xatu.CreateEventsResponse + 160, // [160:161] is the sub-list for method output_type + 159, // [159:160] is the sub-list for method input_type + 159, // [159:159] is the sub-list for extension type_name + 159, // [159:159] is the sub-list for extension extendee + 0, // [0:159] is the sub-list for field type_name } func init() { file_pkg_proto_xatu_event_ingester_proto_init() } @@ -3992,8 +6036,56 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateEventsResponse); i { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateEventsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_proto_xatu_event_ingester_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Epoch); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_proto_xatu_event_ingester_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EpochV2); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_proto_xatu_event_ingester_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Slot); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_proto_xatu_event_ingester_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SlotV2); i { case 0: return &v.state case 1: @@ -4004,8 +6096,8 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Epoch); i { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ForkID); i { case 0: return &v.state case 1: @@ -4016,8 +6108,8 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Slot); i { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Propagation); i { case 0: return &v.state case 1: @@ -4028,8 +6120,8 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ForkID); i { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PropagationV2); i { case 0: return &v.state case 1: @@ -4040,8 +6132,8 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Propagation); i { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AttestingValidator); i { case 0: return &v.state case 1: @@ -4052,8 +6144,8 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AttestingValidator); i { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AttestingValidatorV2); i { case 0: return &v.state case 1: @@ -4064,7 +6156,7 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DebugForkChoiceReorg); i { case 0: return &v.state @@ -4076,7 +6168,19 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DebugForkChoiceReorgV2); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_proto_xatu_event_ingester_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ClientMeta); i { case 0: return &v.state @@ -4088,7 +6192,7 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ServerMeta); i { case 0: return &v.state @@ -4100,7 +6204,7 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Meta); i { case 0: return &v.state @@ -4112,7 +6216,7 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Event); i { case 0: return &v.state @@ -4124,7 +6228,7 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DecoratedEvent); i { case 0: return &v.state @@ -4136,7 +6240,7 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ClientMeta_Ethereum); i { case 0: return &v.state @@ -4148,7 +6252,7 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ClientMeta_AdditionalEthV1AttestationSourceData); i { case 0: return &v.state @@ -4160,7 +6264,19 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ClientMeta_AdditionalEthV1AttestationSourceV2Data); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_proto_xatu_event_ingester_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ClientMeta_AdditionalEthV1AttestationTargetData); i { case 0: return &v.state @@ -4172,7 +6288,19 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ClientMeta_AdditionalEthV1AttestationTargetV2Data); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_proto_xatu_event_ingester_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ClientMeta_AdditionalEthV1EventsAttestationData); i { case 0: return &v.state @@ -4184,7 +6312,19 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ClientMeta_AdditionalEthV1EventsAttestationV2Data); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_proto_xatu_event_ingester_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ClientMeta_AdditionalEthV1EventsHeadData); i { case 0: return &v.state @@ -4196,7 +6336,19 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ClientMeta_AdditionalEthV1EventsHeadV2Data); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_proto_xatu_event_ingester_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ClientMeta_AdditionalEthV1EventsBlockData); i { case 0: return &v.state @@ -4208,7 +6360,19 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ClientMeta_AdditionalEthV1EventsBlockV2Data); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_proto_xatu_event_ingester_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ClientMeta_AdditionalEthV1EventsVoluntaryExitData); i { case 0: return &v.state @@ -4220,7 +6384,19 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ClientMeta_AdditionalEthV1EventsVoluntaryExitV2Data); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_proto_xatu_event_ingester_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ClientMeta_AdditionalEthV1EventsFinalizedCheckpointData); i { case 0: return &v.state @@ -4232,7 +6408,19 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ClientMeta_AdditionalEthV1EventsFinalizedCheckpointV2Data); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_proto_xatu_event_ingester_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ClientMeta_AdditionalEthV1EventsChainReorgData); i { case 0: return &v.state @@ -4244,7 +6432,19 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ClientMeta_AdditionalEthV1EventsChainReorgV2Data); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_proto_xatu_event_ingester_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ClientMeta_AdditionalEthV1EventsContributionAndProofContributionData); i { case 0: return &v.state @@ -4256,7 +6456,19 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ClientMeta_AdditionalEthV1EventsContributionAndProofContributionV2Data); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_proto_xatu_event_ingester_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ClientMeta_AdditionalEthV1EventsContributionAndProofData); i { case 0: return &v.state @@ -4268,7 +6480,19 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ClientMeta_AdditionalEthV1EventsContributionAndProofV2Data); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_proto_xatu_event_ingester_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ClientMeta_ForkChoiceSnapshot); i { case 0: return &v.state @@ -4280,7 +6504,19 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ClientMeta_ForkChoiceSnapshotV2); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_proto_xatu_event_ingester_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ClientMeta_AdditionalEthV1DebugForkChoiceData); i { case 0: return &v.state @@ -4292,7 +6528,19 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ClientMeta_AdditionalEthV1DebugForkChoiceV2Data); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_proto_xatu_event_ingester_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ClientMeta_AdditionalEthV1DebugForkChoiceReOrgData); i { case 0: return &v.state @@ -4304,7 +6552,19 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ClientMeta_AdditionalEthV1DebugForkChoiceReOrgV2Data); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_proto_xatu_event_ingester_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ClientMeta_AdditionalEthV1BeaconCommitteeData); i { case 0: return &v.state @@ -4316,7 +6576,19 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ClientMeta_AdditionalEthV1BeaconCommitteeV2Data); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_proto_xatu_event_ingester_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ClientMeta_AdditionalMempoolTransactionData); i { case 0: return &v.state @@ -4328,7 +6600,19 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ClientMeta_AdditionalMempoolTransactionV2Data); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_proto_xatu_event_ingester_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ClientMeta_AdditionalEthV2BeaconBlockData); i { case 0: return &v.state @@ -4340,7 +6624,19 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ClientMeta_AdditionalEthV2BeaconBlockV2Data); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_proto_xatu_event_ingester_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ClientMeta_AttestationDataSnapshot); i { case 0: return &v.state @@ -4352,7 +6648,7 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ClientMeta_AdditionalEthV1ValidatorAttestationDataData); i { case 0: return &v.state @@ -4364,7 +6660,7 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ClientMeta_Ethereum_Network); i { case 0: return &v.state @@ -4376,7 +6672,7 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ClientMeta_Ethereum_Execution); i { case 0: return &v.state @@ -4388,7 +6684,7 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ClientMeta_Ethereum_Consensus); i { case 0: return &v.state @@ -4400,7 +6696,7 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ServerMeta_Event); i { case 0: return &v.state @@ -4412,7 +6708,7 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ServerMeta_Client); i { case 0: return &v.state @@ -4424,7 +6720,7 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ServerMeta_Client_Geo); i { case 0: return &v.state @@ -4437,7 +6733,7 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { } } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[8].OneofWrappers = []interface{}{ + file_pkg_proto_xatu_event_ingester_proto_msgTypes[13].OneofWrappers = []interface{}{ (*ClientMeta_EthV1EventsAttestation)(nil), (*ClientMeta_EthV1EventsHead)(nil), (*ClientMeta_EthV1EventsBlock)(nil), @@ -4451,8 +6747,19 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { (*ClientMeta_EthV1DebugForkChoiceReorg)(nil), (*ClientMeta_EthV1BeaconCommitee)(nil), (*ClientMeta_EthV1ValidatorAttestationData)(nil), - } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[12].OneofWrappers = []interface{}{ + (*ClientMeta_EthV1EventsAttestationV2)(nil), + (*ClientMeta_EthV1EventsHeadV2)(nil), + (*ClientMeta_EthV1EventsBlockV2)(nil), + (*ClientMeta_EthV1EventsVoluntaryExitV2)(nil), + (*ClientMeta_EthV1EventsFinalizedCheckpointV2)(nil), + (*ClientMeta_EthV1EventsChainReorgV2)(nil), + (*ClientMeta_EthV1EventsContributionAndProofV2)(nil), + (*ClientMeta_MempoolTransactionV2)(nil), + (*ClientMeta_EthV2BeaconBlockV2)(nil), + (*ClientMeta_EthV1DebugForkChoiceV2)(nil), + (*ClientMeta_EthV1DebugForkChoiceReorgV2)(nil), + } + file_pkg_proto_xatu_event_ingester_proto_msgTypes[17].OneofWrappers = []interface{}{ (*DecoratedEvent_EthV1EventsAttestation)(nil), (*DecoratedEvent_EthV1EventsBlock)(nil), (*DecoratedEvent_EthV1EventsChainReorg)(nil), @@ -4466,6 +6773,17 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { (*DecoratedEvent_EthV1ForkChoiceReorg)(nil), (*DecoratedEvent_EthV1BeaconCommittee)(nil), (*DecoratedEvent_EthV1ValidatorAttestationData)(nil), + (*DecoratedEvent_EthV1EventsAttestationV2)(nil), + (*DecoratedEvent_EthV1EventsBlockV2)(nil), + (*DecoratedEvent_EthV1EventsChainReorgV2)(nil), + (*DecoratedEvent_EthV1EventsFinalizedCheckpointV2)(nil), + (*DecoratedEvent_EthV1EventsHeadV2)(nil), + (*DecoratedEvent_EthV1EventsVoluntaryExitV2)(nil), + (*DecoratedEvent_EthV1EventsContributionAndProofV2)(nil), + (*DecoratedEvent_MempoolTransactionV2)(nil), + (*DecoratedEvent_EthV2BeaconBlockV2)(nil), + (*DecoratedEvent_EthV1ForkChoiceV2)(nil), + (*DecoratedEvent_EthV1ForkChoiceReorgV2)(nil), } type x struct{} out := protoimpl.TypeBuilder{ @@ -4473,7 +6791,7 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_pkg_proto_xatu_event_ingester_proto_rawDesc, NumEnums: 1, - NumMessages: 40, + NumMessages: 61, NumExtensions: 0, NumServices: 1, }, diff --git a/pkg/proto/xatu/event_ingester.proto b/pkg/proto/xatu/event_ingester.proto index 0d85c0f1..922eefa3 100644 --- a/pkg/proto/xatu/event_ingester.proto +++ b/pkg/proto/xatu/event_ingester.proto @@ -23,23 +23,34 @@ message CreateEventsResponse {} message Epoch { // Number is the epoch number. - uint64 number = 1 [ deprecated = true ]; + uint64 number = 1; // StartDateTime is the epoch start time. google.protobuf.Timestamp start_date_time = 2 [ json_name = "start_date_time" ]; +} +message EpochV2 { // Number is the epoch number. - google.protobuf.UInt64Value number_v2 = 3 [ json_name = "number_v2" ]; + google.protobuf.UInt64Value number = 1 [ json_name = "number" ]; + // StartDateTime is the epoch start time. + google.protobuf.Timestamp start_date_time = 2 + [ json_name = "start_date_time" ]; } message Slot { // Number is the slot number. - uint64 number = 1 [ deprecated = true ]; + uint64 number = 1; // StartDateTime is the slot start time. google.protobuf.Timestamp start_date_time = 2 [ json_name = "start_date_time" ]; +} + +message SlotV2 { // Number is the slot number. - google.protobuf.UInt64Value number_v2 = 3 [ json_name = "number_v2" ]; + google.protobuf.UInt64Value number = 1 [ json_name = "number" ]; + // StartDateTime is the slot start time. + google.protobuf.Timestamp start_date_time = 2 + [ json_name = "start_date_time" ]; } message ForkID { @@ -50,22 +61,27 @@ message ForkID { message Propagation { // SlotStartDiff is the difference between the slot start time and the // attestation received time (in milliseconds). - uint64 slot_start_diff = 3 [ json_name = "slot_start_diff", deprecated = true ]; + uint64 slot_start_diff = 3 [ json_name = "slot_start_diff" ]; +} +message PropagationV2 { // SlotStartDiff is the difference between the slot start time and the // attestation received time (in milliseconds). - google.protobuf.UInt64Value slot_start_diff_v2 = 4 [ json_name = "slot_start_diff_v2" ]; + google.protobuf.UInt64Value slot_start_diff = 1 [ json_name = "slot_start_diff" ]; } message AttestingValidator { // CommitteeIndex is the position of the validator within the committee. - uint64 committee_index = 1 [ json_name = "committee_index", deprecated = true ]; + uint64 committee_index = 1 [ json_name = "committee_index" ]; // Index is the index of the validator in the beacon chain. - uint64 index = 2 [ deprecated = true ]; + uint64 index = 2; +} + +message AttestingValidatorV2 { // CommitteeIndex is the position of the validator within the committee. - google.protobuf.UInt64Value committee_index_v2 = 3 [ json_name = "committee_index_v2" ]; + google.protobuf.UInt64Value committee_index = 1 [ json_name = "committee_index" ]; // Index is the index of the validator in the beacon chain. - google.protobuf.UInt64Value index_v2 = 4 [ json_name = "index_v2" ]; + google.protobuf.UInt64Value index = 2 [ json_name = "index" ]; } message DebugForkChoiceReorg { @@ -74,6 +90,12 @@ message DebugForkChoiceReorg { xatu.eth.v1.EventChainReorg event = 3; } +message DebugForkChoiceReorgV2 { + xatu.eth.v1.ForkChoiceV2 before = 1 [ json_name = "before" ]; + xatu.eth.v1.ForkChoiceV2 after = 2 [ json_name = "after" ]; + xatu.eth.v1.EventChainReorgV2 event = 3; +} + message ClientMeta { // Name is the name of the client. string name = 1; @@ -86,9 +108,7 @@ message ClientMeta { // OS is the operating system of the client. string os = 5; // ClockDrift is the NTP calculated clock drift of the client. - uint64 clock_drift = 6 [ json_name = "clock_drift", deprecated = true ]; - // ClockDrift is the NTP calculated clock drift of the client. - google.protobuf.UInt64Value clock_drift_v2 = 23 [ json_name = "clock_drift_v2" ]; + uint64 clock_drift = 6 [ json_name = "clock_drift" ]; message Ethereum { message Network { @@ -127,11 +147,21 @@ message ClientMeta { Epoch epoch = 1; } + message AdditionalEthV1AttestationSourceV2Data { + // Epoch contains the epoch information for the source. + EpochV2 epoch = 1; + } + message AdditionalEthV1AttestationTargetData { // Epoch contains the epoch information for the source. Epoch epoch = 1; } + message AdditionalEthV1AttestationTargetV2Data { + // Epoch contains the epoch information for the source. + EpochV2 epoch = 1; + } + message AdditionalEthV1EventsAttestationData { // Source contains information for the best currently justified checkpoint. AdditionalEthV1AttestationSourceData source = 1; @@ -155,6 +185,29 @@ message ClientMeta { AttestingValidator attesting_validator = 6 [ json_name = "attesting_validator" ]; } + message AdditionalEthV1EventsAttestationV2Data { + // Source contains information for the best currently justified checkpoint. + AdditionalEthV1AttestationSourceV2Data source = 1; + + // Target contains information of the block at the start of the current + // epoch. + AdditionalEthV1AttestationTargetV2Data target = 2; + + // Slot contains the slot information for the attestation. + SlotV2 slot = 3; + + // Epoch contains the epoch information for the attestation. + EpochV2 epoch = 4; + + // Propagation contains information about the propagation of the + // attestation. + PropagationV2 propagation = 5; + + // AttestingValidator contains data about the validator that created the attestation. + // Note: only available for unaggregated attestations. + AttestingValidatorV2 attesting_validator = 6 [ json_name = "attesting_validator" ]; + } + message AdditionalEthV1EventsHeadData { // Epoch contains the epoch information for the head. Epoch epoch = 1; @@ -166,6 +219,17 @@ message ClientMeta { Propagation propagation = 3; } + message AdditionalEthV1EventsHeadV2Data { + // Epoch contains the epoch information for the head. + EpochV2 epoch = 1; + + // Slot contains the slot information for the head event. + SlotV2 slot = 2; + + // Propagation contains information about the propagation of the head. + PropagationV2 propagation = 3; + } + message AdditionalEthV1EventsBlockData { // Epoch contains the epoch information for the block. Epoch epoch = 1; @@ -177,16 +241,37 @@ message ClientMeta { Propagation propagation = 3; } + message AdditionalEthV1EventsBlockV2Data { + // Epoch contains the epoch information for the block. + EpochV2 epoch = 1; + + // Slot contains the slot information for the block. + SlotV2 slot = 2; + + // Propagation contains information about the propagation of the block. + PropagationV2 propagation = 3; + } + message AdditionalEthV1EventsVoluntaryExitData { // Epoch contains the epoch information for the voluntary exit. Epoch epoch = 1; } + message AdditionalEthV1EventsVoluntaryExitV2Data { + // Epoch contains the epoch information for the voluntary exit. + EpochV2 epoch = 1; + } + message AdditionalEthV1EventsFinalizedCheckpointData { // Epoch contains the epoch information for the finalized checkpoint. Epoch epoch = 1; } + message AdditionalEthV1EventsFinalizedCheckpointV2Data { + // Epoch contains the epoch information for the finalized checkpoint. + EpochV2 epoch = 1; + } + message AdditionalEthV1EventsChainReorgData { // Epoch contains the epoch information for the chain reorg. Epoch epoch = 1; @@ -199,6 +284,18 @@ message ClientMeta { Propagation propagation = 3; } + message AdditionalEthV1EventsChainReorgV2Data { + // Epoch contains the epoch information for the chain reorg. + EpochV2 epoch = 1; + + // Slot contains the slot information for the chain reorg. + SlotV2 slot = 2; + + // Propagation contains information about the propagation of the chain + // reorg. + PropagationV2 propagation = 3; + } + message AdditionalEthV1EventsContributionAndProofContributionData { // Epoch contains the epoch information for the contribution and proof. Epoch epoch = 1; @@ -211,10 +308,26 @@ message ClientMeta { Propagation propagation = 3; } + message AdditionalEthV1EventsContributionAndProofContributionV2Data { + // Epoch contains the epoch information for the contribution and proof. + EpochV2 epoch = 1; + + // Slot contains the slot information for the contribution and proof. + SlotV2 slot = 2; + + // Propagation contains information about the propagation of the + // contribution and proof. + PropagationV2 propagation = 3; + } + message AdditionalEthV1EventsContributionAndProofData { AdditionalEthV1EventsContributionAndProofContributionData contribution = 1; } + message AdditionalEthV1EventsContributionAndProofV2Data { + AdditionalEthV1EventsContributionAndProofContributionV2Data contribution = 1; + } + message ForkChoiceSnapshot { // RequestEpoch contains the wall clock epoch for when the fork choice was // requested. @@ -227,33 +340,55 @@ message ClientMeta { // RequestedAtSlotStartDiffMs is the difference how far in to the slot the // sentry was when it requested the fork choice snapshot (in milliseconds). uint64 requested_at_slot_start_diff_ms = 3 - [ json_name = "requested_at_slot_start_diff_ms", deprecated=true ]; + [ json_name = "requested_at_slot_start_diff_ms" ]; // RequestDurationMs is the duration of the fork choice snapshot request // (in milliseconds). - uint64 request_duration_ms = 4 [ json_name = "request_duration_ms", deprecated=true ]; + uint64 request_duration_ms = 4 [ json_name = "request_duration_ms" ]; // Timestamp is the timestamp of the fork choice snapshot. google.protobuf.Timestamp timestamp = 5 [ json_name = "timestamp" ]; - + } + + message ForkChoiceSnapshotV2 { + // RequestEpoch contains the wall clock epoch for when the fork choice was + // requested. + EpochV2 request_epoch = 1 [ json_name = "request_epoch" ]; + + // RequestSlot contains the wall clock slot for when the fork choice was + // requested. + SlotV2 request_slot = 2 [ json_name = "request_slot" ]; + // RequestedAtSlotStartDiffMs is the difference how far in to the slot the // sentry was when it requested the fork choice snapshot (in milliseconds). - google.protobuf.UInt64Value requested_at_slot_start_diff_ms_v2 = 7 [ json_name = "requested_at_slot_start_diff_ms_v2" ]; + google.protobuf.UInt64Value requested_at_slot_start_diff_ms = 3 [ json_name = "requested_at_slot_start_diff_ms" ]; // RequestDurationMs is the duration of the fork choice snapshot request // (in milliseconds). - google.protobuf.UInt64Value request_duration_ms_v2 = 8 [ json_name = "request_duration_ms_v2" ]; + google.protobuf.UInt64Value request_duration_ms = 4 [ json_name = "request_duration_ms" ]; + + // Timestamp is the timestamp of the fork choice snapshot. + google.protobuf.Timestamp timestamp = 5 [ json_name = "timestamp" ]; } message AdditionalEthV1DebugForkChoiceData { ForkChoiceSnapshot Snapshot = 1 [ json_name = "snapshot" ]; } + message AdditionalEthV1DebugForkChoiceV2Data { + ForkChoiceSnapshotV2 Snapshot = 1 [ json_name = "snapshot" ]; + } + message AdditionalEthV1DebugForkChoiceReOrgData { ForkChoiceSnapshot before = 1 [ json_name = "before" ]; ForkChoiceSnapshot after = 2 [ json_name = "after" ]; } + message AdditionalEthV1DebugForkChoiceReOrgV2Data { + ForkChoiceSnapshotV2 before = 1 [ json_name = "before" ]; + ForkChoiceSnapshotV2 after = 2 [ json_name = "after" ]; + } + message AdditionalEthV1BeaconCommitteeData { // Epoch contains the epoch information for the beacon committee. Epoch epoch = 1; @@ -262,6 +397,14 @@ message ClientMeta { Slot slot = 2; } + message AdditionalEthV1BeaconCommitteeV2Data { + // Epoch contains the epoch information for the beacon committee. + EpochV2 epoch = 1; + + // Slot contains the slot information for the beacon commitee. + SlotV2 slot = 2; + } + message AdditionalMempoolTransactionData { // Hash is the transaction hash. string hash = 1 [ json_name = "hash" ]; @@ -273,13 +416,13 @@ message ClientMeta { string to = 3 [ json_name = "to" ]; // Nonce is the transaction nonce. - uint64 nonce = 4 [ json_name = "nonce", deprecated=true ]; + uint64 nonce = 4 [ json_name = "nonce" ]; // GasPrice is the transaction gas price. string gas_price = 5 [ json_name = "gas_price" ]; // Gas is the transaction gas. - uint64 gas = 6 [ json_name = "gas", deprecated=true ]; + uint64 gas = 6 [ json_name = "gas" ]; // Value is the transaction value. string value = 7 [ json_name = "value" ]; @@ -289,12 +432,35 @@ message ClientMeta { // CallDataSize is the call data size in bytes. string call_data_size = 9 [ json_name = "call_data_size" ]; + } + + message AdditionalMempoolTransactionV2Data { + // Hash is the transaction hash. + string hash = 1 [ json_name = "hash" ]; + + // From is the transaction sender hash. + string from = 2 [ json_name = "from" ]; + + // To is the transaction receiver hash. + string to = 3 [ json_name = "to" ]; // Nonce is the transaction nonce. - google.protobuf.UInt64Value nonce_v2 = 10 [ json_name = "nonce_v2" ]; + google.protobuf.UInt64Value nonce = 4 [ json_name = "nonce" ]; + + // GasPrice is the transaction gas price. + string gas_price = 5 [ json_name = "gas_price" ]; // Gas is the transaction gas. - google.protobuf.UInt64Value gas_v2 = 11 [ json_name = "gas_v2" ]; + google.protobuf.UInt64Value gas = 6 [ json_name = "gas" ]; + + // Value is the transaction value. + string value = 7 [ json_name = "value" ]; + + // Size is the transaction size in bytes. + string size = 8; + + // CallDataSize is the call data size in bytes. + string call_data_size = 9 [ json_name = "call_data_size" ]; } message AdditionalEthV2BeaconBlockData { @@ -311,16 +477,30 @@ message ClientMeta { string block_root = 4 [ json_name = "block_root" ]; // TransactionsCount contains the number of transactions in the block - uint64 transactions_count = 5 [ json_name = "transactions_count", deprecated=true ]; + uint64 transactions_count = 5 [ json_name = "transactions_count" ]; // TransactionsTotalBytes contains the total bytes size of transactions - uint64 transactions_total_bytes = 6 [ json_name = "transactions_total_bytes", deprecated=true ]; + uint64 transactions_total_bytes = 6 [ json_name = "transactions_total_bytes" ]; + } + + message AdditionalEthV2BeaconBlockV2Data { + // Epoch contains the epoch information for the block. + EpochV2 epoch = 1; + + // Slot contains the slot information for the block. + SlotV2 slot = 2; + + // Version contains information about the version of the block. + string version = 3; + // BlockRoot contains the block root of the beacon block. + string block_root = 4 [ json_name = "block_root" ]; + // TransactionsCount contains the number of transactions in the block - google.protobuf.UInt64Value transactions_count_v2 = 7 [ json_name = "transactions_count_v2" ]; + google.protobuf.UInt64Value transactions_count = 5 [ json_name = "transactions_count" ]; // TransactionsTotalBytes contains the total bytes size of transactions - google.protobuf.UInt64Value transactions_total_bytes_v2 = 8 [ json_name = "transactions_total_bytes_v2" ]; + google.protobuf.UInt64Value transactions_total_bytes = 6 [ json_name = "transactions_total_bytes" ]; } message AttestationDataSnapshot { @@ -339,17 +519,17 @@ message ClientMeta { message AdditionalEthV1ValidatorAttestationDataData { // Source contains information for the best currently justified checkpoint. - AdditionalEthV1AttestationSourceData source = 1; + AdditionalEthV1AttestationSourceV2Data source = 1; // Target contains information of the block at the start of the current // epoch. - AdditionalEthV1AttestationTargetData target = 2; + AdditionalEthV1AttestationTargetV2Data target = 2; // Epoch contains the epoch information for the beacon committee. - Epoch epoch = 3; + EpochV2 epoch = 3; // Slot contains the slot information for the beacon commitee. - Slot slot = 4; + SlotV2 slot = 4; // AttestationDataSnapshot is the snapshot of the attestation data AttestationDataSnapshot Snapshot = 5 [ json_name = "snapshot" ]; @@ -395,6 +575,39 @@ message ClientMeta { AdditionalEthV1BeaconCommitteeData eth_v1_beacon_commitee = 21 [ json_name = "BEACON_API_ETH_V1_BEACON_COMMITTEE" ]; // AdditionalEthV1ValidatorAttestationDataData contains additional data about the eth v1 validator attestation data AdditionalEthV1ValidatorAttestationDataData eth_v1_validator_attestation_data = 22 [ json_name = "BEACON_API_ETH_V1_VALIDATOR_ATTESTATION_DATA" ]; + // AdditionalEthV1EventsAttestationV2Data contains additional data about an + // eth v1 attestation event. + AdditionalEthV1EventsAttestationV2Data eth_v1_events_attestation_v2 = 24 [ json_name = "BEACON_API_ETH_V1_EVENTS_ATTESTATION_V2" ]; + // AdditionalEthV1EventsHeadV2Data contains additional data about the eth v1 + // head event. + AdditionalEthV1EventsHeadV2Data eth_v1_events_head_v2 = 25 [ json_name = "BEACON_API_ETH_V1_EVENTS_HEAD_V2" ]; + // AdditionalEthV1EventsBlockV2Data contains additional data about the eth v1 + // block event. + AdditionalEthV1EventsBlockV2Data eth_v1_events_block_v2 = 26 [ json_name = "BEACON_API_ETH_V1_EVENTS_BLOCK_V2" ]; + // AdditionalEthV1EventsVoluntaryExitV2Data contains additional data about the + // eth v1 voluntary exit event. + AdditionalEthV1EventsVoluntaryExitV2Data eth_v1_events_voluntary_exit_v2 = 27 [ json_name = "BEACON_API_ETH_V1_EVENTS_VOLUNTARY_EXIT_V2" ]; + // AdditionalEthV1EventsFinalizedCheckpointV2Data contains additional data + // about the eth v1 finalized checkpoint event. + AdditionalEthV1EventsFinalizedCheckpointV2Data eth_v1_events_finalized_checkpoint_v2 = 28 [ json_name = "BEACON_API_ETH_V1_EVENTS_FINALIZED_CHECKPOINT_V2" ]; + // AdditionalEthV1EventsChainReorgV2Data contains additional data about the + // eth v1 chain reorg event. + AdditionalEthV1EventsChainReorgV2Data eth_v1_events_chain_reorg_v2 = 29 [ json_name = "BEACON_API_ETH_V1_EVENTS_CHAIN_REORG_V2" ]; + // AdditionalEthV1EventsContributionAndProofV2Data contains additional data + // about the eth v1 contribution and proof. + AdditionalEthV1EventsContributionAndProofV2Data eth_v1_events_contribution_and_proof_v2 = 30 [ json_name = "BEACON_API_ETH_V1_EVENTS_CONTRIBUTION_AND_PROOF_V2" ]; + // AdditionalMempoolTransactionV2Data contains additional data about the + // mempool transaction event. + AdditionalMempoolTransactionV2Data mempool_transaction_v2 = 31 [ json_name = "MEMPOOL_TRANSACTION_V2" ]; + // AdditionalEthV2BeaconBlockV2Data contains additional data about the eth v2 + // beacon block event. + AdditionalEthV2BeaconBlockV2Data eth_v2_beacon_block_v2 = 32 [ json_name = "BEACON_API_ETH_V2_BEACON_BLOCK_V2" ]; + // AdditionalEthV1DebugForkChoice contains additional data about the eth v1 + // debug fork choice event. + AdditionalEthV1DebugForkChoiceV2Data eth_v1_debug_fork_choice_v2 = 33 [ json_name = "BEACON_API_ETH_V1_DEBUG_FORK_CHOICE_V2" ]; + // AdditionalEthV1DebugForkChoiceReorg contains additional data about the + // eth v1 debug fork choice reorg event. + AdditionalEthV1DebugForkChoiceReOrgV2Data eth_v1_debug_fork_choice_reorg_v2 = 34 [ json_name = "BEACON_API_ETH_V1_DEBUG_FORK_CHOICE_REORG_V2" ]; } } @@ -474,6 +687,17 @@ message Event { BEACON_API_ETH_V1_DEBUG_FORK_CHOICE_REORG = 11; BEACON_API_ETH_V1_BEACON_COMMITTEE = 12; BEACON_API_ETH_V1_VALIDATOR_ATTESTATION_DATA = 13; + BEACON_API_ETH_V1_EVENTS_BLOCK_V2 = 14; + BEACON_API_ETH_V1_EVENTS_CHAIN_REORG_V2 = 15; + BEACON_API_ETH_V1_EVENTS_FINALIZED_CHECKPOINT_V2 = 16; + BEACON_API_ETH_V1_EVENTS_HEAD_V2 = 17; + BEACON_API_ETH_V1_EVENTS_VOLUNTARY_EXIT_V2 = 18; + BEACON_API_ETH_V1_EVENTS_ATTESTATION_V2 = 19; + BEACON_API_ETH_V1_EVENTS_CONTRIBUTION_AND_PROOF_V2 = 20; + MEMPOOL_TRANSACTION_V2 = 21; + BEACON_API_ETH_V2_BEACON_BLOCK_V2 = 22; + BEACON_API_ETH_V1_DEBUG_FORK_CHOICE_V2 = 23; + BEACON_API_ETH_V1_DEBUG_FORK_CHOICE_REORG_V2 = 24; } // Name is the name of the event. Name name = 1; @@ -489,18 +713,29 @@ message DecoratedEvent { Event event = 1; Meta meta = 2; oneof data { - xatu.eth.v1.Attestation eth_v1_events_attestation = 3 [ json_name = "BEACON_API_ETH_V1_EVENTS_ATTESTATION" ]; - xatu.eth.v1.EventBlock eth_v1_events_block = 4 [ json_name = "BEACON_API_ETH_V1_EVENTS_BLOCK" ]; - xatu.eth.v1.EventChainReorg eth_v1_events_chain_reorg = 5 [ json_name = "BEACON_API_ETH_V1_EVENTS_CHAIN_REORG" ]; - xatu.eth.v1.EventFinalizedCheckpoint eth_v1_events_finalized_checkpoint = 6 [ json_name = "BEACON_API_ETH_V1_EVENTS_FINALIZED_CHECKPOINT" ]; - xatu.eth.v1.EventHead eth_v1_events_head = 7 [ json_name = "BEACON_API_ETH_V1_EVENTS_HEAD" ]; - xatu.eth.v1.EventVoluntaryExit eth_v1_events_voluntary_exit = 8 [ json_name = "BEACON_API_ETH_V1_EVENTS_VOLUNTARY_EXIT" ]; - xatu.eth.v1.EventContributionAndProof eth_v1_events_contribution_and_proof = 9 [ json_name = "BEACON_API_ETH_V1_EVENTS_CONTRIBUTION_AND_PROOF" ]; - string mempool_transaction = 10 [ json_name = "MEMPOOL_TRANSACTION" ]; - xatu.eth.v2.EventBlock eth_v2_beacon_block = 11 [ json_name = "BEACON_API_ETH_V2_BEACON_BLOCK" ]; - xatu.eth.v1.ForkChoice eth_v1_fork_choice = 12 [ json_name = "BEACON_API_ETH_V1_DEBUG_FORK_CHOICE" ]; - DebugForkChoiceReorg eth_v1_fork_choice_reorg = 13 [ json_name = "BEACON_API_ETH_V1_DEBUG_FORK_CHOICE_REORG" ]; + xatu.eth.v1.Attestation eth_v1_events_attestation = 3 [ json_name = "BEACON_API_ETH_V1_EVENTS_ATTESTATION", deprecated = true ]; + xatu.eth.v1.EventBlock eth_v1_events_block = 4 [ json_name = "BEACON_API_ETH_V1_EVENTS_BLOCK", deprecated = true ]; + xatu.eth.v1.EventChainReorg eth_v1_events_chain_reorg = 5 [ json_name = "BEACON_API_ETH_V1_EVENTS_CHAIN_REORG", deprecated = true ]; + xatu.eth.v1.EventFinalizedCheckpoint eth_v1_events_finalized_checkpoint = 6 [ json_name = "BEACON_API_ETH_V1_EVENTS_FINALIZED_CHECKPOINT", deprecated = true ]; + xatu.eth.v1.EventHead eth_v1_events_head = 7 [ json_name = "BEACON_API_ETH_V1_EVENTS_HEAD", deprecated = true ]; + xatu.eth.v1.EventVoluntaryExit eth_v1_events_voluntary_exit = 8 [ json_name = "BEACON_API_ETH_V1_EVENTS_VOLUNTARY_EXIT", deprecated = true ]; + xatu.eth.v1.EventContributionAndProof eth_v1_events_contribution_and_proof = 9 [ json_name = "BEACON_API_ETH_V1_EVENTS_CONTRIBUTION_AND_PROOF", deprecated = true ]; + string mempool_transaction = 10 [ json_name = "MEMPOOL_TRANSACTION", deprecated = true ]; + xatu.eth.v2.EventBlock eth_v2_beacon_block = 11 [ json_name = "BEACON_API_ETH_V2_BEACON_BLOCK", deprecated = true ]; + xatu.eth.v1.ForkChoice eth_v1_fork_choice = 12 [ json_name = "BEACON_API_ETH_V1_DEBUG_FORK_CHOICE", deprecated = true ]; + DebugForkChoiceReorg eth_v1_fork_choice_reorg = 13 [ json_name = "BEACON_API_ETH_V1_DEBUG_FORK_CHOICE_REORG", deprecated = true ]; xatu.eth.v1.Committee eth_v1_beacon_committee = 14 [ json_name = "BEACON_API_ETH_V1_BEACON_COMMITTEE" ]; - xatu.eth.v1.AttestationData eth_v1_validator_attestation_data = 15 [ json_name = "BEACON_API_ETH_V1_VALIDATOR_ATTESTATION_DATA" ]; + xatu.eth.v1.AttestationDataV2 eth_v1_validator_attestation_data = 15 [ json_name = "BEACON_API_ETH_V1_VALIDATOR_ATTESTATION_DATA" ]; + xatu.eth.v1.AttestationV2 eth_v1_events_attestation_v2 = 16 [ json_name = "BEACON_API_ETH_V1_EVENTS_ATTESTATION_V2" ]; + xatu.eth.v1.EventBlockV2 eth_v1_events_block_v2 = 17 [ json_name = "BEACON_API_ETH_V1_EVENTS_BLOCK_V2" ]; + xatu.eth.v1.EventChainReorgV2 eth_v1_events_chain_reorg_v2 = 18 [ json_name = "BEACON_API_ETH_V1_EVENTS_CHAIN_REORG_V2" ]; + xatu.eth.v1.EventFinalizedCheckpointV2 eth_v1_events_finalized_checkpoint_v2 = 19 [ json_name = "BEACON_API_ETH_V1_EVENTS_FINALIZED_CHECKPOINT_V2" ]; + xatu.eth.v1.EventHeadV2 eth_v1_events_head_v2 = 20 [ json_name = "BEACON_API_ETH_V1_EVENTS_HEAD_V2" ]; + xatu.eth.v1.EventVoluntaryExitV2 eth_v1_events_voluntary_exit_v2 = 21 [ json_name = "BEACON_API_ETH_V1_EVENTS_VOLUNTARY_EXIT_V2" ]; + xatu.eth.v1.EventContributionAndProofV2 eth_v1_events_contribution_and_proof_v2 = 22 [ json_name = "BEACON_API_ETH_V1_EVENTS_CONTRIBUTION_AND_PROOF_V2" ]; + string mempool_transaction_v2 = 23 [ json_name = "MEMPOOL_TRANSACTION_V2" ]; + xatu.eth.v2.EventBlockV2 eth_v2_beacon_block_v2 = 24 [ json_name = "BEACON_API_ETH_V2_BEACON_BLOCK_V2" ]; + xatu.eth.v1.ForkChoiceV2 eth_v1_fork_choice_v2 = 25 [ json_name = "BEACON_API_ETH_V1_DEBUG_FORK_CHOICE_V2" ]; + DebugForkChoiceReorgV2 eth_v1_fork_choice_reorg_v2 = 26 [ json_name = "BEACON_API_ETH_V1_DEBUG_FORK_CHOICE_REORG_V2" ]; }; } diff --git a/pkg/sentry/event/beacon/eth/v1/debug_fork_choice.go b/pkg/sentry/event/beacon/eth/v1/debug_fork_choice.go index f9c3b67c..f310315b 100644 --- a/pkg/sentry/event/beacon/eth/v1/debug_fork_choice.go +++ b/pkg/sentry/event/beacon/eth/v1/debug_fork_choice.go @@ -35,7 +35,7 @@ type ForkChoiceSnapshot struct { func NewForkChoice(log logrus.FieldLogger, snapshot *ForkChoiceSnapshot, beacon *ethereum.BeaconNode, clientMeta *xatu.ClientMeta) *ForkChoice { return &ForkChoice{ - log: log.WithField("event", "BEACON_API_ETH_V1_DEBUG_FORK_CHOICE"), + log: log.WithField("event", "BEACON_API_ETH_V1_DEBUG_FORK_CHOICE_V2"), snapshot: snapshot, beacon: beacon, clientMeta: clientMeta, @@ -51,22 +51,22 @@ func (f *ForkChoice) Decorate(ctx context.Context) (*xatu.DecoratedEvent, error) decoratedEvent := &xatu.DecoratedEvent{ Event: &xatu.Event{ - Name: xatu.Event_BEACON_API_ETH_V1_DEBUG_FORK_CHOICE, + Name: xatu.Event_BEACON_API_ETH_V1_DEBUG_FORK_CHOICE_V2, DateTime: timestamppb.New(f.snapshot.RequestAt), Id: f.id.String(), }, Meta: &xatu.Meta{ Client: f.clientMeta, }, - Data: &xatu.DecoratedEvent_EthV1ForkChoice{ - EthV1ForkChoice: data, + Data: &xatu.DecoratedEvent_EthV1ForkChoiceV2{ + EthV1ForkChoiceV2: data, }, } additionalData := f.GetAdditionalData(ctx) - decoratedEvent.Meta.Client.AdditionalData = &xatu.ClientMeta_EthV1DebugForkChoice{ - EthV1DebugForkChoice: additionalData, + decoratedEvent.Meta.Client.AdditionalData = &xatu.ClientMeta_EthV1DebugForkChoiceV2{ + EthV1DebugForkChoiceV2: additionalData, } return decoratedEvent, nil @@ -80,37 +80,33 @@ func (f *ForkChoice) ShouldIgnore(ctx context.Context) (bool, error) { return false, nil } -func (f *ForkChoice) GetData() (*xatuethv1.ForkChoice, error) { - return xatuethv1.NewForkChoiceFromGoEth2ClientV1(f.snapshot.Event) +func (f *ForkChoice) GetData() (*xatuethv1.ForkChoiceV2, error) { + return xatuethv1.NewForkChoiceV2FromGoEth2ClientV1(f.snapshot.Event) } -func (f *ForkChoice) GetAdditionalData(_ context.Context) *xatu.ClientMeta_AdditionalEthV1DebugForkChoiceData { +func (f *ForkChoice) GetAdditionalData(_ context.Context) *xatu.ClientMeta_AdditionalEthV1DebugForkChoiceV2Data { slot := f.beacon.Metadata().Wallclock().Slots().FromNumber(uint64(f.snapshot.RequestSlot)) epoch := f.beacon.Metadata().Wallclock().Epochs().FromNumber(uint64(f.snapshot.RequestEpoch)) - extra := &xatu.ClientMeta_AdditionalEthV1DebugForkChoiceData{ - Snapshot: &xatu.ClientMeta_ForkChoiceSnapshot{ - RequestedAtSlotStartDiffMs: uint64(f.snapshot.RequestAt.Sub(slot.TimeWindow().Start()).Milliseconds()), - RequestedAtSlotStartDiffMsV2: &wrapperspb.UInt64Value{ + extra := &xatu.ClientMeta_AdditionalEthV1DebugForkChoiceV2Data{ + Snapshot: &xatu.ClientMeta_ForkChoiceSnapshotV2{ + RequestedAtSlotStartDiffMs: &wrapperspb.UInt64Value{ Value: uint64(f.snapshot.RequestAt.Sub(slot.TimeWindow().Start()).Milliseconds()), }, - RequestDurationMs: uint64(f.snapshot.RequestDuration.Milliseconds()), - RequestDurationMsV2: &wrapperspb.UInt64Value{ + RequestDurationMs: &wrapperspb.UInt64Value{ Value: uint64(f.snapshot.RequestDuration.Milliseconds()), }, Timestamp: timestamppb.New(f.snapshot.RequestAt), }, } - extra.Snapshot.RequestSlot = &xatu.Slot{ + extra.Snapshot.RequestSlot = &xatu.SlotV2{ StartDateTime: timestamppb.New(slot.TimeWindow().Start()), - Number: slot.Number(), - NumberV2: &wrapperspb.UInt64Value{Value: slot.Number()}, + Number: &wrapperspb.UInt64Value{Value: slot.Number()}, } - extra.Snapshot.RequestEpoch = &xatu.Epoch{ - Number: epoch.Number(), - NumberV2: &wrapperspb.UInt64Value{Value: epoch.Number()}, + extra.Snapshot.RequestEpoch = &xatu.EpochV2{ + Number: &wrapperspb.UInt64Value{Value: epoch.Number()}, StartDateTime: timestamppb.New(epoch.TimeWindow().Start()), } diff --git a/pkg/sentry/event/beacon/eth/v1/debug_fork_choice_reorg.go b/pkg/sentry/event/beacon/eth/v1/debug_fork_choice_reorg.go index eb0380e9..5245b8ed 100644 --- a/pkg/sentry/event/beacon/eth/v1/debug_fork_choice_reorg.go +++ b/pkg/sentry/event/beacon/eth/v1/debug_fork_choice_reorg.go @@ -27,12 +27,12 @@ type ForkChoiceReOrgSnapshot struct { ReOrgEventAt time.Time Before *ForkChoice After *ForkChoice - Event *xatuethv1.EventChainReorg + Event *xatuethv1.EventChainReorgV2 } func NewForkChoiceReOrg(log logrus.FieldLogger, snapshot *ForkChoiceReOrgSnapshot, beacon *ethereum.BeaconNode, clientMeta *xatu.ClientMeta) *ForkChoiceReOrg { return &ForkChoiceReOrg{ - log: log.WithField("event", "BEACON_API_ETH_V1_DEBUG_FORK_CHOICE_REORG"), + log: log.WithField("event", "BEACON_API_ETH_V1_DEBUG_FORK_CHOICE_REORG_V2"), snapshot: snapshot, beacon: beacon, clientMeta: clientMeta, @@ -51,11 +51,11 @@ func (f *ForkChoiceReOrg) Decorate(ctx context.Context) (*xatu.DecoratedEvent, e return nil, nil } - data := &xatu.DebugForkChoiceReorg{ + data := &xatu.DebugForkChoiceReorgV2{ Event: f.snapshot.Event, } - additional := &xatu.ClientMeta_AdditionalEthV1DebugForkChoiceReOrgData{} + additional := &xatu.ClientMeta_AdditionalEthV1DebugForkChoiceReOrgV2Data{} if f.snapshot.Before != nil { before, err := f.snapshot.Before.GetData() @@ -65,16 +65,14 @@ func (f *ForkChoiceReOrg) Decorate(ctx context.Context) (*xatu.DecoratedEvent, e beforeAdditional := f.snapshot.Before.GetAdditionalData(ctx) - additional.Before = &xatu.ClientMeta_ForkChoiceSnapshot{ - RequestEpoch: beforeAdditional.Snapshot.RequestEpoch, - RequestSlot: beforeAdditional.Snapshot.RequestSlot, - RequestedAtSlotStartDiffMs: beforeAdditional.Snapshot.RequestedAtSlotStartDiffMsV2.Value, - RequestedAtSlotStartDiffMsV2: &wrapperspb.UInt64Value{ - Value: beforeAdditional.Snapshot.RequestedAtSlotStartDiffMsV2.Value, + additional.Before = &xatu.ClientMeta_ForkChoiceSnapshotV2{ + RequestEpoch: beforeAdditional.Snapshot.RequestEpoch, + RequestSlot: beforeAdditional.Snapshot.RequestSlot, + RequestedAtSlotStartDiffMs: &wrapperspb.UInt64Value{ + Value: beforeAdditional.Snapshot.RequestedAtSlotStartDiffMs.Value, }, - RequestDurationMs: beforeAdditional.Snapshot.RequestDurationMsV2.Value, - RequestDurationMsV2: &wrapperspb.UInt64Value{ - Value: beforeAdditional.Snapshot.RequestDurationMsV2.Value, + RequestDurationMs: &wrapperspb.UInt64Value{ + Value: beforeAdditional.Snapshot.RequestDurationMs.Value, }, Timestamp: beforeAdditional.Snapshot.Timestamp, } @@ -88,16 +86,14 @@ func (f *ForkChoiceReOrg) Decorate(ctx context.Context) (*xatu.DecoratedEvent, e afterAdditional := f.snapshot.After.GetAdditionalData(ctx) - additional.After = &xatu.ClientMeta_ForkChoiceSnapshot{ - RequestEpoch: afterAdditional.Snapshot.RequestEpoch, - RequestSlot: afterAdditional.Snapshot.RequestSlot, - RequestedAtSlotStartDiffMs: afterAdditional.Snapshot.RequestedAtSlotStartDiffMsV2.Value, - RequestedAtSlotStartDiffMsV2: &wrapperspb.UInt64Value{ - Value: afterAdditional.Snapshot.RequestedAtSlotStartDiffMsV2.Value, + additional.After = &xatu.ClientMeta_ForkChoiceSnapshotV2{ + RequestEpoch: afterAdditional.Snapshot.RequestEpoch, + RequestSlot: afterAdditional.Snapshot.RequestSlot, + RequestedAtSlotStartDiffMs: &wrapperspb.UInt64Value{ + Value: afterAdditional.Snapshot.RequestedAtSlotStartDiffMs.Value, }, - RequestDurationMs: afterAdditional.Snapshot.RequestDurationMsV2.Value, - RequestDurationMsV2: &wrapperspb.UInt64Value{ - Value: afterAdditional.Snapshot.RequestDurationMsV2.Value, + RequestDurationMs: &wrapperspb.UInt64Value{ + Value: afterAdditional.Snapshot.RequestDurationMs.Value, }, Timestamp: afterAdditional.Snapshot.Timestamp, } @@ -105,20 +101,20 @@ func (f *ForkChoiceReOrg) Decorate(ctx context.Context) (*xatu.DecoratedEvent, e decoratedEvent := &xatu.DecoratedEvent{ Event: &xatu.Event{ - Name: xatu.Event_BEACON_API_ETH_V1_DEBUG_FORK_CHOICE_REORG, + Name: xatu.Event_BEACON_API_ETH_V1_DEBUG_FORK_CHOICE_REORG_V2, DateTime: timestamppb.New(f.snapshot.ReOrgEventAt), Id: f.id.String(), }, Meta: &xatu.Meta{ Client: f.clientMeta, }, - Data: &xatu.DecoratedEvent_EthV1ForkChoiceReorg{ - EthV1ForkChoiceReorg: data, + Data: &xatu.DecoratedEvent_EthV1ForkChoiceReorgV2{ + EthV1ForkChoiceReorgV2: data, }, } - decoratedEvent.Meta.Client.AdditionalData = &xatu.ClientMeta_EthV1DebugForkChoiceReorg{ - EthV1DebugForkChoiceReorg: additional, + decoratedEvent.Meta.Client.AdditionalData = &xatu.ClientMeta_EthV1DebugForkChoiceReorgV2{ + EthV1DebugForkChoiceReorgV2: additional, } return decoratedEvent, nil diff --git a/pkg/sentry/event/beacon/eth/v1/events_attestation.go b/pkg/sentry/event/beacon/eth/v1/events_attestation.go index cae02770..bb6dd52b 100644 --- a/pkg/sentry/event/beacon/eth/v1/events_attestation.go +++ b/pkg/sentry/event/beacon/eth/v1/events_attestation.go @@ -31,7 +31,7 @@ type EventsAttestation struct { func NewEventsAttestation(log logrus.FieldLogger, event *phase0.Attestation, now time.Time, beacon *ethereum.BeaconNode, duplicateCache *ttlcache.Cache[string, time.Time], clientMeta *xatu.ClientMeta) *EventsAttestation { return &EventsAttestation{ - log: log.WithField("event", "BEACON_API_ETH_V1_EVENTS_ATTESTATION"), + log: log.WithField("event", "BEACON_API_ETH_V1_EVENTS_ATTESTATION_V2"), now: now, event: event, beacon: beacon, @@ -44,28 +44,26 @@ func NewEventsAttestation(log logrus.FieldLogger, event *phase0.Attestation, now func (e *EventsAttestation) Decorate(ctx context.Context) (*xatu.DecoratedEvent, error) { decoratedEvent := &xatu.DecoratedEvent{ Event: &xatu.Event{ - Name: xatu.Event_BEACON_API_ETH_V1_EVENTS_ATTESTATION, + Name: xatu.Event_BEACON_API_ETH_V1_EVENTS_ATTESTATION_V2, DateTime: timestamppb.New(e.now), Id: e.id.String(), }, Meta: &xatu.Meta{ Client: e.clientMeta, }, - Data: &xatu.DecoratedEvent_EthV1EventsAttestation{ - EthV1EventsAttestation: &xatuethv1.Attestation{ + Data: &xatu.DecoratedEvent_EthV1EventsAttestationV2{ + EthV1EventsAttestationV2: &xatuethv1.AttestationV2{ AggregationBits: xatuethv1.BytesToString(e.event.AggregationBits), - Data: &xatuethv1.AttestationData{ - Slot: uint64(e.event.Data.Slot), - SlotV2: &wrapperspb.UInt64Value{Value: uint64(e.event.Data.Slot)}, - Index: uint64(e.event.Data.Index), - IndexV2: &wrapperspb.UInt64Value{Value: uint64(e.event.Data.Index)}, + Data: &xatuethv1.AttestationDataV2{ + Slot: &wrapperspb.UInt64Value{Value: uint64(e.event.Data.Slot)}, + Index: &wrapperspb.UInt64Value{Value: uint64(e.event.Data.Index)}, BeaconBlockRoot: xatuethv1.RootAsString(e.event.Data.BeaconBlockRoot), - Source: &xatuethv1.Checkpoint{ - Epoch: uint64(e.event.Data.Source.Epoch), + Source: &xatuethv1.CheckpointV2{ + Epoch: &wrapperspb.UInt64Value{Value: uint64(e.event.Data.Source.Epoch)}, Root: xatuethv1.RootAsString(e.event.Data.Source.Root), }, - Target: &xatuethv1.Checkpoint{ - Epoch: uint64(e.event.Data.Target.Epoch), + Target: &xatuethv1.CheckpointV2{ + Epoch: &wrapperspb.UInt64Value{Value: uint64(e.event.Data.Target.Epoch)}, Root: xatuethv1.RootAsString(e.event.Data.Target.Root), }, }, @@ -78,8 +76,8 @@ func (e *EventsAttestation) Decorate(ctx context.Context) (*xatu.DecoratedEvent, if err != nil { e.log.WithError(err).Error("Failed to get extra attestation data") } else { - decoratedEvent.Meta.Client.AdditionalData = &xatu.ClientMeta_EthV1EventsAttestation{ - EthV1EventsAttestation: additionalData, + decoratedEvent.Meta.Client.AdditionalData = &xatu.ClientMeta_EthV1EventsAttestationV2{ + EthV1EventsAttestationV2: additionalData, } } @@ -110,47 +108,42 @@ func (e *EventsAttestation) ShouldIgnore(ctx context.Context) (bool, error) { return false, nil } -func (e *EventsAttestation) getAdditionalData(_ context.Context) (*xatu.ClientMeta_AdditionalEthV1EventsAttestationData, error) { - extra := &xatu.ClientMeta_AdditionalEthV1EventsAttestationData{} +func (e *EventsAttestation) getAdditionalData(_ context.Context) (*xatu.ClientMeta_AdditionalEthV1EventsAttestationV2Data, error) { + extra := &xatu.ClientMeta_AdditionalEthV1EventsAttestationV2Data{} attestionSlot := e.beacon.Metadata().Wallclock().Slots().FromNumber(uint64(e.event.Data.Slot)) epoch := e.beacon.Metadata().Wallclock().Epochs().FromSlot(uint64(e.event.Data.Slot)) - extra.Slot = &xatu.Slot{ - Number: attestionSlot.Number(), - NumberV2: &wrapperspb.UInt64Value{Value: attestionSlot.Number()}, + extra.Slot = &xatu.SlotV2{ + Number: &wrapperspb.UInt64Value{Value: attestionSlot.Number()}, StartDateTime: timestamppb.New(attestionSlot.TimeWindow().Start()), } - extra.Epoch = &xatu.Epoch{ - Number: epoch.Number(), - NumberV2: &wrapperspb.UInt64Value{Value: epoch.Number()}, + extra.Epoch = &xatu.EpochV2{ + Number: &wrapperspb.UInt64Value{Value: epoch.Number()}, StartDateTime: timestamppb.New(epoch.TimeWindow().Start()), } - extra.Propagation = &xatu.Propagation{ - SlotStartDiff: uint64(e.now.Sub(attestionSlot.TimeWindow().Start()).Milliseconds()), - SlotStartDiffV2: &wrapperspb.UInt64Value{ + extra.Propagation = &xatu.PropagationV2{ + SlotStartDiff: &wrapperspb.UInt64Value{ Value: uint64(e.now.Sub(attestionSlot.TimeWindow().Start()).Milliseconds()), }, } // Build out the target section targetEpoch := e.beacon.Metadata().Wallclock().Epochs().FromNumber(uint64(e.event.Data.Target.Epoch)) - extra.Target = &xatu.ClientMeta_AdditionalEthV1AttestationTargetData{ - Epoch: &xatu.Epoch{ - Number: targetEpoch.Number(), - NumberV2: &wrapperspb.UInt64Value{Value: targetEpoch.Number()}, + extra.Target = &xatu.ClientMeta_AdditionalEthV1AttestationTargetV2Data{ + Epoch: &xatu.EpochV2{ + Number: &wrapperspb.UInt64Value{Value: targetEpoch.Number()}, StartDateTime: timestamppb.New(targetEpoch.TimeWindow().Start()), }, } // Build out the source section sourceEpoch := e.beacon.Metadata().Wallclock().Epochs().FromNumber(uint64(e.event.Data.Source.Epoch)) - extra.Source = &xatu.ClientMeta_AdditionalEthV1AttestationSourceData{ - Epoch: &xatu.Epoch{ - Number: sourceEpoch.Number(), - NumberV2: &wrapperspb.UInt64Value{Value: sourceEpoch.Number()}, + extra.Source = &xatu.ClientMeta_AdditionalEthV1AttestationSourceV2Data{ + Epoch: &xatu.EpochV2{ + Number: &wrapperspb.UInt64Value{Value: sourceEpoch.Number()}, StartDateTime: timestamppb.New(sourceEpoch.TimeWindow().Start()), }, } @@ -166,11 +159,9 @@ func (e *EventsAttestation) getAdditionalData(_ context.Context) (*xatu.ClientMe position, ) if err == nil { - extra.AttestingValidator = &xatu.AttestingValidator{ - CommitteeIndex: position, - CommitteeIndexV2: &wrapperspb.UInt64Value{Value: position}, - Index: uint64(validatorIndex), - IndexV2: &wrapperspb.UInt64Value{Value: uint64(validatorIndex)}, + extra.AttestingValidator = &xatu.AttestingValidatorV2{ + CommitteeIndex: &wrapperspb.UInt64Value{Value: position}, + Index: &wrapperspb.UInt64Value{Value: uint64(validatorIndex)}, } } } diff --git a/pkg/sentry/event/beacon/eth/v1/events_block.go b/pkg/sentry/event/beacon/eth/v1/events_block.go index e091892f..e0d76f4b 100644 --- a/pkg/sentry/event/beacon/eth/v1/events_block.go +++ b/pkg/sentry/event/beacon/eth/v1/events_block.go @@ -31,7 +31,7 @@ type EventsBlock struct { func NewEventsBlock(log logrus.FieldLogger, event *eth2v1.BlockEvent, now time.Time, beacon *ethereum.BeaconNode, duplicateCache *ttlcache.Cache[string, time.Time], clientMeta *xatu.ClientMeta) *EventsBlock { return &EventsBlock{ - log: log.WithField("event", "BEACON_API_ETH_V1_EVENTS_BLOCK"), + log: log.WithField("event", "BEACON_API_ETH_V1_EVENTS_BLOCK_V2"), now: now, event: event, beacon: beacon, @@ -44,17 +44,16 @@ func NewEventsBlock(log logrus.FieldLogger, event *eth2v1.BlockEvent, now time.T func (e *EventsBlock) Decorate(ctx context.Context) (*xatu.DecoratedEvent, error) { decoratedEvent := &xatu.DecoratedEvent{ Event: &xatu.Event{ - Name: xatu.Event_BEACON_API_ETH_V1_EVENTS_BLOCK, + Name: xatu.Event_BEACON_API_ETH_V1_EVENTS_BLOCK_V2, DateTime: timestamppb.New(e.now), Id: e.id.String(), }, Meta: &xatu.Meta{ Client: e.clientMeta, }, - Data: &xatu.DecoratedEvent_EthV1EventsBlock{ - EthV1EventsBlock: &xatuethv1.EventBlock{ - Slot: uint64(e.event.Slot), - SlotV2: &wrapperspb.UInt64Value{Value: uint64(e.event.Slot)}, + Data: &xatu.DecoratedEvent_EthV1EventsBlockV2{ + EthV1EventsBlockV2: &xatuethv1.EventBlockV2{ + Slot: &wrapperspb.UInt64Value{Value: uint64(e.event.Slot)}, Block: xatuethv1.RootAsString(e.event.Block), ExecutionOptimistic: e.event.ExecutionOptimistic, }, @@ -65,8 +64,8 @@ func (e *EventsBlock) Decorate(ctx context.Context) (*xatu.DecoratedEvent, error if err != nil { e.log.WithError(err).Error("Failed to get extra block data") } else { - decoratedEvent.Meta.Client.AdditionalData = &xatu.ClientMeta_EthV1EventsBlock{ - EthV1EventsBlock: additionalData, + decoratedEvent.Meta.Client.AdditionalData = &xatu.ClientMeta_EthV1EventsBlockV2{ + EthV1EventsBlockV2: additionalData, } } @@ -97,27 +96,24 @@ func (e *EventsBlock) ShouldIgnore(ctx context.Context) (bool, error) { return false, nil } -func (e *EventsBlock) getAdditionalData(_ context.Context) (*xatu.ClientMeta_AdditionalEthV1EventsBlockData, error) { - extra := &xatu.ClientMeta_AdditionalEthV1EventsBlockData{} +func (e *EventsBlock) getAdditionalData(_ context.Context) (*xatu.ClientMeta_AdditionalEthV1EventsBlockV2Data, error) { + extra := &xatu.ClientMeta_AdditionalEthV1EventsBlockV2Data{} slot := e.beacon.Metadata().Wallclock().Slots().FromNumber(uint64(e.event.Slot)) epoch := e.beacon.Metadata().Wallclock().Epochs().FromSlot(uint64(e.event.Slot)) - extra.Slot = &xatu.Slot{ + extra.Slot = &xatu.SlotV2{ StartDateTime: timestamppb.New(slot.TimeWindow().Start()), - Number: uint64(e.event.Slot), - NumberV2: &wrapperspb.UInt64Value{Value: uint64(e.event.Slot)}, + Number: &wrapperspb.UInt64Value{Value: uint64(e.event.Slot)}, } - extra.Epoch = &xatu.Epoch{ - Number: epoch.Number(), - NumberV2: &wrapperspb.UInt64Value{Value: epoch.Number()}, + extra.Epoch = &xatu.EpochV2{ + Number: &wrapperspb.UInt64Value{Value: epoch.Number()}, StartDateTime: timestamppb.New(epoch.TimeWindow().Start()), } - extra.Propagation = &xatu.Propagation{ - SlotStartDiff: uint64(e.now.Sub(slot.TimeWindow().Start()).Milliseconds()), - SlotStartDiffV2: &wrapperspb.UInt64Value{ + extra.Propagation = &xatu.PropagationV2{ + SlotStartDiff: &wrapperspb.UInt64Value{ Value: uint64(e.now.Sub(slot.TimeWindow().Start()).Milliseconds()), }, } diff --git a/pkg/sentry/event/beacon/eth/v1/events_chain_reorg.go b/pkg/sentry/event/beacon/eth/v1/events_chain_reorg.go index 889ec676..a6a61d80 100644 --- a/pkg/sentry/event/beacon/eth/v1/events_chain_reorg.go +++ b/pkg/sentry/event/beacon/eth/v1/events_chain_reorg.go @@ -31,7 +31,7 @@ type EventsChainReorg struct { func NewEventsChainReorg(log logrus.FieldLogger, event *eth2v1.ChainReorgEvent, now time.Time, beacon *ethereum.BeaconNode, duplicateCache *ttlcache.Cache[string, time.Time], clientMeta *xatu.ClientMeta) *EventsChainReorg { return &EventsChainReorg{ - log: log.WithField("event", "BEACON_API_ETH_V1_EVENTS_CHAIN_REORG"), + log: log.WithField("event", "BEACON_API_ETH_V1_EVENTS_CHAIN_REORG_V2"), now: now, event: event, beacon: beacon, @@ -44,15 +44,15 @@ func NewEventsChainReorg(log logrus.FieldLogger, event *eth2v1.ChainReorgEvent, func (e *EventsChainReorg) Decorate(ctx context.Context) (*xatu.DecoratedEvent, error) { decoratedEvent := &xatu.DecoratedEvent{ Event: &xatu.Event{ - Name: xatu.Event_BEACON_API_ETH_V1_EVENTS_CHAIN_REORG, + Name: xatu.Event_BEACON_API_ETH_V1_EVENTS_CHAIN_REORG_V2, DateTime: timestamppb.New(e.now), Id: e.id.String(), }, Meta: &xatu.Meta{ Client: e.clientMeta, }, - Data: &xatu.DecoratedEvent_EthV1EventsChainReorg{ - EthV1EventsChainReorg: xatuethv1.NewReorgEventFromGoEth2ClientEvent(e.event), + Data: &xatu.DecoratedEvent_EthV1EventsChainReorgV2{ + EthV1EventsChainReorgV2: xatuethv1.NewReorgEventV2FromGoEth2ClientEvent(e.event), }, } @@ -60,8 +60,8 @@ func (e *EventsChainReorg) Decorate(ctx context.Context) (*xatu.DecoratedEvent, if err != nil { e.log.WithError(err).Error("Failed to get extra chain reorg data") } else { - decoratedEvent.Meta.Client.AdditionalData = &xatu.ClientMeta_EthV1EventsChainReorg{ - EthV1EventsChainReorg: additionalData, + decoratedEvent.Meta.Client.AdditionalData = &xatu.ClientMeta_EthV1EventsChainReorgV2{ + EthV1EventsChainReorgV2: additionalData, } } @@ -92,25 +92,23 @@ func (e *EventsChainReorg) ShouldIgnore(ctx context.Context) (bool, error) { return false, nil } -func (e *EventsChainReorg) getAdditionalData(_ context.Context) (*xatu.ClientMeta_AdditionalEthV1EventsChainReorgData, error) { - extra := &xatu.ClientMeta_AdditionalEthV1EventsChainReorgData{} +func (e *EventsChainReorg) getAdditionalData(_ context.Context) (*xatu.ClientMeta_AdditionalEthV1EventsChainReorgV2Data, error) { + extra := &xatu.ClientMeta_AdditionalEthV1EventsChainReorgV2Data{} slot := e.beacon.Metadata().Wallclock().Slots().FromNumber(uint64(e.event.Slot)) epoch := e.beacon.Metadata().Wallclock().Epochs().FromSlot(uint64(e.event.Slot)) - extra.Slot = &xatu.Slot{ + extra.Slot = &xatu.SlotV2{ StartDateTime: timestamppb.New(slot.TimeWindow().Start()), } - extra.Epoch = &xatu.Epoch{ - Number: epoch.Number(), - NumberV2: &wrapperspb.UInt64Value{Value: epoch.Number()}, + extra.Epoch = &xatu.EpochV2{ + Number: &wrapperspb.UInt64Value{Value: epoch.Number()}, StartDateTime: timestamppb.New(epoch.TimeWindow().Start()), } - extra.Propagation = &xatu.Propagation{ - SlotStartDiff: uint64(e.now.Sub(slot.TimeWindow().Start()).Milliseconds()), - SlotStartDiffV2: &wrapperspb.UInt64Value{ + extra.Propagation = &xatu.PropagationV2{ + SlotStartDiff: &wrapperspb.UInt64Value{ Value: uint64(e.now.Sub(slot.TimeWindow().Start()).Milliseconds()), }, } diff --git a/pkg/sentry/event/beacon/eth/v1/events_contribution_and_proof.go b/pkg/sentry/event/beacon/eth/v1/events_contribution_and_proof.go index 489cf573..68bed166 100644 --- a/pkg/sentry/event/beacon/eth/v1/events_contribution_and_proof.go +++ b/pkg/sentry/event/beacon/eth/v1/events_contribution_and_proof.go @@ -31,7 +31,7 @@ type EventsContributionAndProof struct { func NewEventsContributionAndProof(log logrus.FieldLogger, event *altair.SignedContributionAndProof, now time.Time, beacon *ethereum.BeaconNode, duplicateCache *ttlcache.Cache[string, time.Time], clientMeta *xatu.ClientMeta) *EventsContributionAndProof { return &EventsContributionAndProof{ - log: log.WithField("event", "BEACON_API_ETH_V1_EVENTS_CONTRIBUTION_AND_PROOF"), + log: log.WithField("event", "BEACON_API_ETH_V1_EVENTS_CONTRIBUTION_AND_PROOF_V2"), now: now, event: event, beacon: beacon, @@ -44,28 +44,25 @@ func NewEventsContributionAndProof(log logrus.FieldLogger, event *altair.SignedC func (e *EventsContributionAndProof) Decorate(ctx context.Context) (*xatu.DecoratedEvent, error) { decoratedEvent := &xatu.DecoratedEvent{ Event: &xatu.Event{ - Name: xatu.Event_BEACON_API_ETH_V1_EVENTS_CONTRIBUTION_AND_PROOF, + Name: xatu.Event_BEACON_API_ETH_V1_EVENTS_CONTRIBUTION_AND_PROOF_V2, DateTime: timestamppb.New(e.now), Id: e.id.String(), }, Meta: &xatu.Meta{ Client: e.clientMeta, }, - Data: &xatu.DecoratedEvent_EthV1EventsContributionAndProof{ - EthV1EventsContributionAndProof: &xatuethv1.EventContributionAndProof{ + Data: &xatu.DecoratedEvent_EthV1EventsContributionAndProofV2{ + EthV1EventsContributionAndProofV2: &xatuethv1.EventContributionAndProofV2{ Signature: xatuethv1.TrimmedString(xatuethv1.BLSSignatureToString(&e.event.Signature)), - Message: &xatuethv1.ContributionAndProof{ - AggregatorIndex: uint64(e.event.Message.AggregatorIndex), - AggregatorIndexV2: &wrapperspb.UInt64Value{Value: uint64(e.event.Message.AggregatorIndex)}, - SelectionProof: xatuethv1.TrimmedString(xatuethv1.BLSSignatureToString(&e.event.Message.SelectionProof)), - Contribution: &xatuethv1.SyncCommitteeContribution{ - Slot: uint64(e.event.Message.Contribution.Slot), - SlotV2: &wrapperspb.UInt64Value{Value: uint64(e.event.Message.Contribution.Slot)}, - SubcommitteeIndex: e.event.Message.Contribution.SubcommitteeIndex, - SubcommitteeIndexV2: &wrapperspb.UInt64Value{Value: e.event.Message.Contribution.SubcommitteeIndex}, - AggregationBits: xatuethv1.BytesToString(e.event.Message.Contribution.AggregationBits.Bytes()), - Signature: xatuethv1.TrimmedString(xatuethv1.BLSSignatureToString(&e.event.Message.Contribution.Signature)), - BeaconBlockRoot: xatuethv1.RootAsString(e.event.Message.Contribution.BeaconBlockRoot), + Message: &xatuethv1.ContributionAndProofV2{ + AggregatorIndex: &wrapperspb.UInt64Value{Value: uint64(e.event.Message.AggregatorIndex)}, + SelectionProof: xatuethv1.TrimmedString(xatuethv1.BLSSignatureToString(&e.event.Message.SelectionProof)), + Contribution: &xatuethv1.SyncCommitteeContributionV2{ + Slot: &wrapperspb.UInt64Value{Value: uint64(e.event.Message.Contribution.Slot)}, + SubcommitteeIndex: &wrapperspb.UInt64Value{Value: e.event.Message.Contribution.SubcommitteeIndex}, + AggregationBits: xatuethv1.BytesToString(e.event.Message.Contribution.AggregationBits.Bytes()), + Signature: xatuethv1.TrimmedString(xatuethv1.BLSSignatureToString(&e.event.Message.Contribution.Signature)), + BeaconBlockRoot: xatuethv1.RootAsString(e.event.Message.Contribution.BeaconBlockRoot), }, }, }, @@ -76,8 +73,8 @@ func (e *EventsContributionAndProof) Decorate(ctx context.Context) (*xatu.Decora if err != nil { e.log.WithError(err).Error("Failed to get extra contribution and proof data") } else { - decoratedEvent.Meta.Client.AdditionalData = &xatu.ClientMeta_EthV1EventsContributionAndProof{ - EthV1EventsContributionAndProof: additionalData, + decoratedEvent.Meta.Client.AdditionalData = &xatu.ClientMeta_EthV1EventsContributionAndProofV2{ + EthV1EventsContributionAndProofV2: additionalData, } } @@ -107,25 +104,22 @@ func (e *EventsContributionAndProof) ShouldIgnore(ctx context.Context) (bool, er return false, nil } -func (e *EventsContributionAndProof) getAdditionalData(_ context.Context) (*xatu.ClientMeta_AdditionalEthV1EventsContributionAndProofData, error) { +func (e *EventsContributionAndProof) getAdditionalData(_ context.Context) (*xatu.ClientMeta_AdditionalEthV1EventsContributionAndProofV2Data, error) { slot := e.beacon.Metadata().Wallclock().Slots().FromNumber(uint64(e.event.Message.Contribution.Slot)) epoch := e.beacon.Metadata().Wallclock().Epochs().FromNumber(uint64(e.event.Message.Contribution.Slot)) - extra := &xatu.ClientMeta_AdditionalEthV1EventsContributionAndProofData{ - Contribution: &xatu.ClientMeta_AdditionalEthV1EventsContributionAndProofContributionData{ - Slot: &xatu.Slot{ - Number: slot.Number(), - NumberV2: &wrapperspb.UInt64Value{Value: slot.Number()}, + extra := &xatu.ClientMeta_AdditionalEthV1EventsContributionAndProofV2Data{ + Contribution: &xatu.ClientMeta_AdditionalEthV1EventsContributionAndProofContributionV2Data{ + Slot: &xatu.SlotV2{ + Number: &wrapperspb.UInt64Value{Value: slot.Number()}, StartDateTime: timestamppb.New(slot.TimeWindow().Start()), }, - Epoch: &xatu.Epoch{ - Number: epoch.Number(), - NumberV2: &wrapperspb.UInt64Value{Value: epoch.Number()}, + Epoch: &xatu.EpochV2{ + Number: &wrapperspb.UInt64Value{Value: epoch.Number()}, StartDateTime: timestamppb.New(epoch.TimeWindow().Start()), }, - Propagation: &xatu.Propagation{ - SlotStartDiff: uint64(e.now.Sub(slot.TimeWindow().Start()).Milliseconds()), - SlotStartDiffV2: &wrapperspb.UInt64Value{ + Propagation: &xatu.PropagationV2{ + SlotStartDiff: &wrapperspb.UInt64Value{ Value: uint64(e.now.Sub(slot.TimeWindow().Start()).Milliseconds()), }, }, diff --git a/pkg/sentry/event/beacon/eth/v1/events_finalized_checkpoint.go b/pkg/sentry/event/beacon/eth/v1/events_finalized_checkpoint.go index 8979e6b8..af0aa734 100644 --- a/pkg/sentry/event/beacon/eth/v1/events_finalized_checkpoint.go +++ b/pkg/sentry/event/beacon/eth/v1/events_finalized_checkpoint.go @@ -31,7 +31,7 @@ type EventsFinalizedCheckpoint struct { func NewEventsFinalizedCheckpoint(log logrus.FieldLogger, event *eth2v1.FinalizedCheckpointEvent, now time.Time, beacon *ethereum.BeaconNode, duplicateCache *ttlcache.Cache[string, time.Time], clientMeta *xatu.ClientMeta) *EventsFinalizedCheckpoint { return &EventsFinalizedCheckpoint{ - log: log.WithField("event", "BEACON_API_ETH_V1_EVENTS_FINALIZED_CHECKPOINT"), + log: log.WithField("event", "BEACON_API_ETH_V1_EVENTS_FINALIZED_CHECKPOINT_V2"), now: now, event: event, beacon: beacon, @@ -44,19 +44,18 @@ func NewEventsFinalizedCheckpoint(log logrus.FieldLogger, event *eth2v1.Finalize func (e *EventsFinalizedCheckpoint) Decorate(ctx context.Context) (*xatu.DecoratedEvent, error) { decoratedEvent := &xatu.DecoratedEvent{ Event: &xatu.Event{ - Name: xatu.Event_BEACON_API_ETH_V1_EVENTS_FINALIZED_CHECKPOINT, + Name: xatu.Event_BEACON_API_ETH_V1_EVENTS_FINALIZED_CHECKPOINT_V2, DateTime: timestamppb.New(e.now), Id: e.id.String(), }, Meta: &xatu.Meta{ Client: e.clientMeta, }, - Data: &xatu.DecoratedEvent_EthV1EventsFinalizedCheckpoint{ - EthV1EventsFinalizedCheckpoint: &xatuethv1.EventFinalizedCheckpoint{ - Epoch: uint64(e.event.Epoch), - EpochV2: &wrapperspb.UInt64Value{Value: uint64(e.event.Epoch)}, - State: xatuethv1.RootAsString(e.event.State), - Block: xatuethv1.RootAsString(e.event.Block), + Data: &xatu.DecoratedEvent_EthV1EventsFinalizedCheckpointV2{ + EthV1EventsFinalizedCheckpointV2: &xatuethv1.EventFinalizedCheckpointV2{ + Epoch: &wrapperspb.UInt64Value{Value: uint64(e.event.Epoch)}, + State: xatuethv1.RootAsString(e.event.State), + Block: xatuethv1.RootAsString(e.event.Block), }, }, } @@ -65,8 +64,8 @@ func (e *EventsFinalizedCheckpoint) Decorate(ctx context.Context) (*xatu.Decorat if err != nil { e.log.WithError(err).Error("Failed to get extra finalized checkpoint data") } else { - decoratedEvent.Meta.Client.AdditionalData = &xatu.ClientMeta_EthV1EventsFinalizedCheckpoint{ - EthV1EventsFinalizedCheckpoint: additionalData, + decoratedEvent.Meta.Client.AdditionalData = &xatu.ClientMeta_EthV1EventsFinalizedCheckpointV2{ + EthV1EventsFinalizedCheckpointV2: additionalData, } } @@ -97,14 +96,13 @@ func (e *EventsFinalizedCheckpoint) ShouldIgnore(ctx context.Context) (bool, err return false, nil } -func (e *EventsFinalizedCheckpoint) getAdditionalData(_ context.Context) (*xatu.ClientMeta_AdditionalEthV1EventsFinalizedCheckpointData, error) { - extra := &xatu.ClientMeta_AdditionalEthV1EventsFinalizedCheckpointData{} +func (e *EventsFinalizedCheckpoint) getAdditionalData(_ context.Context) (*xatu.ClientMeta_AdditionalEthV1EventsFinalizedCheckpointV2Data, error) { + extra := &xatu.ClientMeta_AdditionalEthV1EventsFinalizedCheckpointV2Data{} epoch := e.beacon.Metadata().Wallclock().Epochs().FromNumber(uint64(e.event.Epoch)) - extra.Epoch = &xatu.Epoch{ - Number: epoch.Number(), - NumberV2: &wrapperspb.UInt64Value{Value: epoch.Number()}, + extra.Epoch = &xatu.EpochV2{ + Number: &wrapperspb.UInt64Value{Value: epoch.Number()}, StartDateTime: timestamppb.New(epoch.TimeWindow().Start()), } diff --git a/pkg/sentry/event/beacon/eth/v1/events_head.go b/pkg/sentry/event/beacon/eth/v1/events_head.go index f734c68d..01276a70 100644 --- a/pkg/sentry/event/beacon/eth/v1/events_head.go +++ b/pkg/sentry/event/beacon/eth/v1/events_head.go @@ -31,7 +31,7 @@ type EventsHead struct { func NewEventsHead(log logrus.FieldLogger, event *eth2v1.HeadEvent, now time.Time, beacon *ethereum.BeaconNode, duplicateCache *ttlcache.Cache[string, time.Time], clientMeta *xatu.ClientMeta) *EventsHead { return &EventsHead{ - log: log.WithField("event", "BEACON_API_ETH_V1_EVENTS_HEAD"), + log: log.WithField("event", "BEACON_API_ETH_V1_EVENTS_HEAD_V2"), now: now, event: event, beacon: beacon, @@ -44,17 +44,16 @@ func NewEventsHead(log logrus.FieldLogger, event *eth2v1.HeadEvent, now time.Tim func (e *EventsHead) Decorate(ctx context.Context) (*xatu.DecoratedEvent, error) { decoratedEvent := &xatu.DecoratedEvent{ Event: &xatu.Event{ - Name: xatu.Event_BEACON_API_ETH_V1_EVENTS_HEAD, + Name: xatu.Event_BEACON_API_ETH_V1_EVENTS_HEAD_V2, DateTime: timestamppb.New(e.now), Id: e.id.String(), }, Meta: &xatu.Meta{ Client: e.clientMeta, }, - Data: &xatu.DecoratedEvent_EthV1EventsHead{ - EthV1EventsHead: &xatuethv1.EventHead{ - Slot: uint64(e.event.Slot), - SlotV2: &wrapperspb.UInt64Value{Value: uint64(e.event.Slot)}, + Data: &xatu.DecoratedEvent_EthV1EventsHeadV2{ + EthV1EventsHeadV2: &xatuethv1.EventHeadV2{ + Slot: &wrapperspb.UInt64Value{Value: uint64(e.event.Slot)}, Block: xatuethv1.RootAsString(e.event.Block), State: xatuethv1.RootAsString(e.event.State), EpochTransition: e.event.EpochTransition, @@ -68,8 +67,8 @@ func (e *EventsHead) Decorate(ctx context.Context) (*xatu.DecoratedEvent, error) if err != nil { e.log.WithError(err).Error("Failed to get extra head data") } else { - decoratedEvent.Meta.Client.AdditionalData = &xatu.ClientMeta_EthV1EventsHead{ - EthV1EventsHead: additionalData, + decoratedEvent.Meta.Client.AdditionalData = &xatu.ClientMeta_EthV1EventsHeadV2{ + EthV1EventsHeadV2: additionalData, } } @@ -100,27 +99,25 @@ func (e *EventsHead) ShouldIgnore(ctx context.Context) (bool, error) { return false, nil } -func (e *EventsHead) getAdditionalData(_ context.Context) (*xatu.ClientMeta_AdditionalEthV1EventsHeadData, error) { - extra := &xatu.ClientMeta_AdditionalEthV1EventsHeadData{} +func (e *EventsHead) getAdditionalData(_ context.Context) (*xatu.ClientMeta_AdditionalEthV1EventsHeadV2Data, error) { + extra := &xatu.ClientMeta_AdditionalEthV1EventsHeadV2Data{} slot := e.beacon.Metadata().Wallclock().Slots().FromNumber(uint64(e.event.Slot)) epoch := e.beacon.Metadata().Wallclock().Epochs().FromSlot(uint64(e.event.Slot)) - extra.Slot = &xatu.Slot{ + extra.Slot = &xatu.SlotV2{ StartDateTime: timestamppb.New(slot.TimeWindow().Start()), } - extra.Epoch = &xatu.Epoch{ - Number: epoch.Number(), - NumberV2: &wrapperspb.UInt64Value{Value: epoch.Number()}, + extra.Epoch = &xatu.EpochV2{ + Number: &wrapperspb.UInt64Value{Value: epoch.Number()}, StartDateTime: timestamppb.New(epoch.TimeWindow().Start()), } - extra.Propagation = &xatu.Propagation{ - SlotStartDiffV2: &wrapperspb.UInt64Value{ + extra.Propagation = &xatu.PropagationV2{ + SlotStartDiff: &wrapperspb.UInt64Value{ Value: uint64(e.now.Sub(slot.TimeWindow().Start()).Milliseconds()), }, - SlotStartDiff: uint64(e.now.Sub(slot.TimeWindow().Start()).Milliseconds()), } return extra, nil diff --git a/pkg/sentry/event/beacon/eth/v1/events_voluntary_exit.go b/pkg/sentry/event/beacon/eth/v1/events_voluntary_exit.go index 03262361..0a71e7aa 100644 --- a/pkg/sentry/event/beacon/eth/v1/events_voluntary_exit.go +++ b/pkg/sentry/event/beacon/eth/v1/events_voluntary_exit.go @@ -31,7 +31,7 @@ type EventsVoluntaryExit struct { func NewEventsVoluntaryExit(log logrus.FieldLogger, event *phase0.SignedVoluntaryExit, now time.Time, beacon *ethereum.BeaconNode, duplicateCache *ttlcache.Cache[string, time.Time], clientMeta *xatu.ClientMeta) *EventsVoluntaryExit { return &EventsVoluntaryExit{ - log: log.WithField("event", "BEACON_API_ETH_V1_EVENTS_VOLUNTARY_EXIT"), + log: log.WithField("event", "BEACON_API_ETH_V1_EVENTS_VOLUNTARY_EXIT_V2"), now: now, event: event, beacon: beacon, @@ -44,26 +44,19 @@ func NewEventsVoluntaryExit(log logrus.FieldLogger, event *phase0.SignedVoluntar func (e *EventsVoluntaryExit) Decorate(ctx context.Context) (*xatu.DecoratedEvent, error) { decoratedEvent := &xatu.DecoratedEvent{ Event: &xatu.Event{ - Name: xatu.Event_BEACON_API_ETH_V1_EVENTS_VOLUNTARY_EXIT, + Name: xatu.Event_BEACON_API_ETH_V1_EVENTS_VOLUNTARY_EXIT_V2, DateTime: timestamppb.New(e.now), Id: e.id.String(), }, Meta: &xatu.Meta{ Client: e.clientMeta, }, - Data: &xatu.DecoratedEvent_EthV1EventsVoluntaryExit{ - EthV1EventsVoluntaryExit: &xatuethv1.EventVoluntaryExit{ - Epoch: uint64(e.event.Message.Epoch), // Deprecated: Use message.epoch instead. - ValidatorIndex: uint64(e.event.Message.ValidatorIndex), // Deprecated: Use message.validator_index instead. - + Data: &xatu.DecoratedEvent_EthV1EventsVoluntaryExitV2{ + EthV1EventsVoluntaryExitV2: &xatuethv1.EventVoluntaryExitV2{ Signature: e.event.Signature.String(), - - Message: &xatuethv1.EventVoluntaryExitMessage{ - Epoch: uint64(e.event.Message.Epoch), - ValidatorIndex: uint64(e.event.Message.ValidatorIndex), - - EpochV2: &wrapperspb.UInt64Value{Value: uint64(e.event.Message.Epoch)}, - ValidatorIndexV2: &wrapperspb.UInt64Value{Value: uint64(e.event.Message.ValidatorIndex)}, + Message: &xatuethv1.EventVoluntaryExitMessageV2{ + Epoch: &wrapperspb.UInt64Value{Value: uint64(e.event.Message.Epoch)}, + ValidatorIndex: &wrapperspb.UInt64Value{Value: uint64(e.event.Message.ValidatorIndex)}, }, }, }, @@ -73,8 +66,8 @@ func (e *EventsVoluntaryExit) Decorate(ctx context.Context) (*xatu.DecoratedEven if err != nil { e.log.WithError(err).Error("Failed to get extra voluntary exit data") } else { - decoratedEvent.Meta.Client.AdditionalData = &xatu.ClientMeta_EthV1EventsVoluntaryExit{ - EthV1EventsVoluntaryExit: additionalData, + decoratedEvent.Meta.Client.AdditionalData = &xatu.ClientMeta_EthV1EventsVoluntaryExitV2{ + EthV1EventsVoluntaryExitV2: additionalData, } } @@ -106,14 +99,13 @@ func (e *EventsVoluntaryExit) ShouldIgnore(ctx context.Context) (bool, error) { return false, nil } -func (e *EventsVoluntaryExit) getAdditionalData(_ context.Context) (*xatu.ClientMeta_AdditionalEthV1EventsVoluntaryExitData, error) { - extra := &xatu.ClientMeta_AdditionalEthV1EventsVoluntaryExitData{} +func (e *EventsVoluntaryExit) getAdditionalData(_ context.Context) (*xatu.ClientMeta_AdditionalEthV1EventsVoluntaryExitV2Data, error) { + extra := &xatu.ClientMeta_AdditionalEthV1EventsVoluntaryExitV2Data{} epoch := e.beacon.Metadata().Wallclock().Epochs().FromSlot(uint64(e.event.Message.Epoch)) - extra.Epoch = &xatu.Epoch{ - Number: epoch.Number(), - NumberV2: &wrapperspb.UInt64Value{Value: epoch.Number()}, + extra.Epoch = &xatu.EpochV2{ + Number: &wrapperspb.UInt64Value{Value: epoch.Number()}, StartDateTime: timestamppb.New(epoch.TimeWindow().Start()), } diff --git a/pkg/sentry/event/beacon/eth/v1/validator_attestation_data.go b/pkg/sentry/event/beacon/eth/v1/validator_attestation_data.go index f1274fc2..021d4924 100644 --- a/pkg/sentry/event/beacon/eth/v1/validator_attestation_data.go +++ b/pkg/sentry/event/beacon/eth/v1/validator_attestation_data.go @@ -33,7 +33,7 @@ type ValidatorAttestationDataSnapshot struct { func NewValidatorAttestationData(log logrus.FieldLogger, snapshot *ValidatorAttestationDataSnapshot, event *phase0.AttestationData, beacon *ethereum.BeaconNode, clientMeta *xatu.ClientMeta) *ValidatorAttestationData { return &ValidatorAttestationData{ - log: log.WithField("event", "BEACON_API_ETH_V1_VALIDATOR_ATTESTATION_DATA"), + log: log.WithField("event", "BEACON_API_ETH_V1_VALIDATOR_ATTESTATION_DATA_V2"), snapshot: snapshot, event: event, beacon: beacon, @@ -57,21 +57,17 @@ func (e *ValidatorAttestationData) Decorate(ctx context.Context) (*xatu.Decorate Client: e.clientMeta, }, Data: &xatu.DecoratedEvent_EthV1ValidatorAttestationData{ - EthV1ValidatorAttestationData: &v1.AttestationData{ - Slot: uint64(e.event.Slot), - Index: uint64(e.event.Index), - SlotV2: &wrapperspb.UInt64Value{Value: uint64(e.event.Slot)}, - IndexV2: &wrapperspb.UInt64Value{Value: uint64(e.event.Index)}, + EthV1ValidatorAttestationData: &v1.AttestationDataV2{ + Slot: &wrapperspb.UInt64Value{Value: uint64(e.event.Slot)}, + Index: &wrapperspb.UInt64Value{Value: uint64(e.event.Index)}, BeaconBlockRoot: v1.RootAsString(e.event.BeaconBlockRoot), - Source: &v1.Checkpoint{ - EpochV2: &wrapperspb.UInt64Value{Value: uint64(e.event.Source.Epoch)}, - Epoch: uint64(e.event.Source.Epoch), - Root: v1.RootAsString(e.event.Source.Root), + Source: &v1.CheckpointV2{ + Epoch: &wrapperspb.UInt64Value{Value: uint64(e.event.Source.Epoch)}, + Root: v1.RootAsString(e.event.Source.Root), }, - Target: &v1.Checkpoint{ - EpochV2: &wrapperspb.UInt64Value{Value: uint64(e.event.Target.Epoch)}, - Epoch: uint64(e.event.Target.Epoch), - Root: v1.RootAsString(e.event.Target.Root), + Target: &v1.CheckpointV2{ + Epoch: &wrapperspb.UInt64Value{Value: uint64(e.event.Target.Epoch)}, + Root: v1.RootAsString(e.event.Target.Root), }, }, }, @@ -103,13 +99,13 @@ func (e *ValidatorAttestationData) getAdditionalData(_ context.Context) (*xatu.C attestionSlot := e.beacon.Metadata().Wallclock().Slots().FromNumber(uint64(e.event.Slot)) epoch := e.beacon.Metadata().Wallclock().Epochs().FromSlot(uint64(e.event.Slot)) - extra.Slot = &xatu.Slot{ - Number: attestionSlot.Number(), + extra.Slot = &xatu.SlotV2{ + Number: &wrapperspb.UInt64Value{Value: attestionSlot.Number()}, StartDateTime: timestamppb.New(attestionSlot.TimeWindow().Start()), } - extra.Epoch = &xatu.Epoch{ - Number: epoch.Number(), + extra.Epoch = &xatu.EpochV2{ + Number: &wrapperspb.UInt64Value{Value: epoch.Number()}, StartDateTime: timestamppb.New(epoch.TimeWindow().Start()), } @@ -121,18 +117,18 @@ func (e *ValidatorAttestationData) getAdditionalData(_ context.Context) (*xatu.C // Build out the target section targetEpoch := e.beacon.Metadata().Wallclock().Epochs().FromNumber(uint64(e.event.Target.Epoch)) - extra.Target = &xatu.ClientMeta_AdditionalEthV1AttestationTargetData{ - Epoch: &xatu.Epoch{ - Number: targetEpoch.Number(), + extra.Target = &xatu.ClientMeta_AdditionalEthV1AttestationTargetV2Data{ + Epoch: &xatu.EpochV2{ + Number: &wrapperspb.UInt64Value{Value: targetEpoch.Number()}, StartDateTime: timestamppb.New(targetEpoch.TimeWindow().Start()), }, } // Build out the source section sourceEpoch := e.beacon.Metadata().Wallclock().Epochs().FromNumber(uint64(e.event.Source.Epoch)) - extra.Source = &xatu.ClientMeta_AdditionalEthV1AttestationSourceData{ - Epoch: &xatu.Epoch{ - Number: sourceEpoch.Number(), + extra.Source = &xatu.ClientMeta_AdditionalEthV1AttestationSourceV2Data{ + Epoch: &xatu.EpochV2{ + Number: &wrapperspb.UInt64Value{Value: sourceEpoch.Number()}, StartDateTime: timestamppb.New(sourceEpoch.TimeWindow().Start()), }, } diff --git a/pkg/sentry/event/beacon/eth/v2/beacon_block.go b/pkg/sentry/event/beacon/eth/v2/beacon_block.go index 979048d8..5955bf82 100644 --- a/pkg/sentry/event/beacon/eth/v2/beacon_block.go +++ b/pkg/sentry/event/beacon/eth/v2/beacon_block.go @@ -36,7 +36,7 @@ type BeaconBlock struct { func NewBeaconBlock(log logrus.FieldLogger, blockRoot string, event *spec.VersionedSignedBeaconBlock, now time.Time, beacon *ethereum.BeaconNode, duplicateCache *ttlcache.Cache[string, time.Time], clientMeta *xatu.ClientMeta) *BeaconBlock { return &BeaconBlock{ - log: log.WithField("event", "BEACON_API_ETH_V2_BEACON_BLOCK"), + log: log.WithField("event", "BEACON_API_ETH_V2_BEACON_BLOCK_V2"), now: now, blockRoot: blockRoot, event: event, @@ -48,7 +48,7 @@ func NewBeaconBlock(log logrus.FieldLogger, blockRoot string, event *spec.Versio } func (e *BeaconBlock) Decorate(ctx context.Context) (*xatu.DecoratedEvent, error) { - var data *xatuethv2.EventBlock + var data *xatuethv2.EventBlockV2 switch e.event.Version { case spec.DataVersionPhase0: @@ -65,15 +65,15 @@ func (e *BeaconBlock) Decorate(ctx context.Context) (*xatu.DecoratedEvent, error decoratedEvent := &xatu.DecoratedEvent{ Event: &xatu.Event{ - Name: xatu.Event_BEACON_API_ETH_V2_BEACON_BLOCK, + Name: xatu.Event_BEACON_API_ETH_V2_BEACON_BLOCK_V2, DateTime: timestamppb.New(e.now), Id: e.id.String(), }, Meta: &xatu.Meta{ Client: e.clientMeta, }, - Data: &xatu.DecoratedEvent_EthV2BeaconBlock{ - EthV2BeaconBlock: data, + Data: &xatu.DecoratedEvent_EthV2BeaconBlockV2{ + EthV2BeaconBlockV2: data, }, } @@ -81,8 +81,8 @@ func (e *BeaconBlock) Decorate(ctx context.Context) (*xatu.DecoratedEvent, error if err != nil { e.log.WithError(err).Error("Failed to get extra beacon block data") } else { - decoratedEvent.Meta.Client.AdditionalData = &xatu.ClientMeta_EthV2BeaconBlock{ - EthV2BeaconBlock: additionalData, + decoratedEvent.Meta.Client.AdditionalData = &xatu.ClientMeta_EthV2BeaconBlockV2{ + EthV2BeaconBlockV2: additionalData, } } @@ -326,39 +326,34 @@ func getBlsToExecutionChanges(data []*capella.SignedBLSToExecutionChange) []*xat return changes } -func getWithdrawals(data []*capella.Withdrawal) []*xatuethv1.Withdrawal { - withdrawals := []*xatuethv1.Withdrawal{} +func getWithdrawals(data []*capella.Withdrawal) []*xatuethv1.WithdrawalV2 { + withdrawals := []*xatuethv1.WithdrawalV2{} if data == nil { return withdrawals } for _, withdrawal := range data { - withdrawals = append(withdrawals, &xatuethv1.Withdrawal{ - Index: uint64(withdrawal.Index), - ValidatorIndex: uint64(withdrawal.ValidatorIndex), - Address: withdrawal.Address.String(), - Amount: uint64(withdrawal.Amount), - IndexV2: &wrapperspb.UInt64Value{Value: uint64(withdrawal.Index)}, - ValidatorIndexV2: &wrapperspb.UInt64Value{Value: uint64(withdrawal.ValidatorIndex)}, - AmountV2: &wrapperspb.UInt64Value{Value: uint64(withdrawal.Amount)}, + withdrawals = append(withdrawals, &xatuethv1.WithdrawalV2{ + Index: &wrapperspb.UInt64Value{Value: uint64(withdrawal.Index)}, + ValidatorIndex: &wrapperspb.UInt64Value{Value: uint64(withdrawal.ValidatorIndex)}, + Address: withdrawal.Address.String(), + Amount: &wrapperspb.UInt64Value{Value: uint64(withdrawal.Amount)}, }) } return withdrawals } -func (e *BeaconBlock) getPhase0Data() *xatuethv2.EventBlock { - return &xatuethv2.EventBlock{ +func (e *BeaconBlock) getPhase0Data() *xatuethv2.EventBlockV2 { + return &xatuethv2.EventBlockV2{ Version: xatuethv2.BlockVersion_PHASE0, - Message: &xatuethv2.EventBlock_Phase0Block{ - Phase0Block: &xatuethv1.BeaconBlock{ - Slot: uint64(e.event.Phase0.Message.Slot), - SlotV2: &wrapperspb.UInt64Value{Value: uint64(e.event.Phase0.Message.Slot)}, - ProposerIndex: uint64(e.event.Phase0.Message.ProposerIndex), - ProposerIndexV2: &wrapperspb.UInt64Value{Value: uint64(e.event.Phase0.Message.ProposerIndex)}, - ParentRoot: e.event.Phase0.Message.ParentRoot.String(), - StateRoot: e.event.Phase0.Message.StateRoot.String(), + Message: &xatuethv2.EventBlockV2_Phase0Block{ + Phase0Block: &xatuethv1.BeaconBlockV2{ + Slot: &wrapperspb.UInt64Value{Value: uint64(e.event.Phase0.Message.Slot)}, + ProposerIndex: &wrapperspb.UInt64Value{Value: uint64(e.event.Phase0.Message.ProposerIndex)}, + ParentRoot: e.event.Phase0.Message.ParentRoot.String(), + StateRoot: e.event.Phase0.Message.StateRoot.String(), Body: &xatuethv1.BeaconBlockBody{ RandaoReveal: e.event.Phase0.Message.Body.RANDAOReveal.String(), Eth1Data: &xatuethv1.Eth1Data{ @@ -379,18 +374,16 @@ func (e *BeaconBlock) getPhase0Data() *xatuethv2.EventBlock { } } -func (e *BeaconBlock) getAltairData() *xatuethv2.EventBlock { - return &xatuethv2.EventBlock{ +func (e *BeaconBlock) getAltairData() *xatuethv2.EventBlockV2 { + return &xatuethv2.EventBlockV2{ Version: xatuethv2.BlockVersion_ALTAIR, - Message: &xatuethv2.EventBlock_AltairBlock{ - AltairBlock: &xatuethv2.BeaconBlockAltair{ - Slot: uint64(e.event.Altair.Message.Slot), - SlotV2: &wrapperspb.UInt64Value{Value: uint64(e.event.Altair.Message.Slot)}, - ProposerIndex: uint64(e.event.Altair.Message.ProposerIndex), - ProposerIndexV2: &wrapperspb.UInt64Value{Value: uint64(e.event.Altair.Message.ProposerIndex)}, - ParentRoot: e.event.Altair.Message.ParentRoot.String(), - StateRoot: e.event.Altair.Message.StateRoot.String(), - Body: &xatuethv2.BeaconBlockBodyAltair{ + Message: &xatuethv2.EventBlockV2_AltairBlock{ + AltairBlock: &xatuethv2.BeaconBlockAltairV2{ + Slot: &wrapperspb.UInt64Value{Value: uint64(e.event.Altair.Message.Slot)}, + ProposerIndex: &wrapperspb.UInt64Value{Value: uint64(e.event.Altair.Message.ProposerIndex)}, + ParentRoot: e.event.Altair.Message.ParentRoot.String(), + StateRoot: e.event.Altair.Message.StateRoot.String(), + Body: &xatuethv2.BeaconBlockBodyAltairV2{ RandaoReveal: e.event.Altair.Message.Body.RANDAOReveal.String(), Eth1Data: &xatuethv1.Eth1Data{ DepositRoot: e.event.Altair.Message.Body.ETH1Data.DepositRoot.String(), @@ -414,18 +407,16 @@ func (e *BeaconBlock) getAltairData() *xatuethv2.EventBlock { } } -func (e *BeaconBlock) getBellatrixData() *xatuethv2.EventBlock { - return &xatuethv2.EventBlock{ +func (e *BeaconBlock) getBellatrixData() *xatuethv2.EventBlockV2 { + return &xatuethv2.EventBlockV2{ Version: xatuethv2.BlockVersion_BELLATRIX, - Message: &xatuethv2.EventBlock_BellatrixBlock{ - BellatrixBlock: &xatuethv2.BeaconBlockBellatrix{ - Slot: uint64(e.event.Bellatrix.Message.Slot), - SlotV2: &wrapperspb.UInt64Value{Value: uint64(e.event.Bellatrix.Message.Slot)}, - ProposerIndex: uint64(e.event.Bellatrix.Message.ProposerIndex), - ProposerIndexV2: &wrapperspb.UInt64Value{Value: uint64(e.event.Bellatrix.Message.ProposerIndex)}, - ParentRoot: e.event.Bellatrix.Message.ParentRoot.String(), - StateRoot: e.event.Bellatrix.Message.StateRoot.String(), - Body: &xatuethv2.BeaconBlockBodyBellatrix{ + Message: &xatuethv2.EventBlockV2_BellatrixBlock{ + BellatrixBlock: &xatuethv2.BeaconBlockBellatrixV2{ + Slot: &wrapperspb.UInt64Value{Value: uint64(e.event.Bellatrix.Message.Slot)}, + ProposerIndex: &wrapperspb.UInt64Value{Value: uint64(e.event.Bellatrix.Message.ProposerIndex)}, + ParentRoot: e.event.Bellatrix.Message.ParentRoot.String(), + StateRoot: e.event.Bellatrix.Message.StateRoot.String(), + Body: &xatuethv2.BeaconBlockBodyBellatrixV2{ RandaoReveal: e.event.Bellatrix.Message.Body.RANDAOReveal.String(), Eth1Data: &xatuethv1.Eth1Data{ DepositRoot: e.event.Bellatrix.Message.Body.ETH1Data.DepositRoot.String(), @@ -442,21 +433,17 @@ func (e *BeaconBlock) getBellatrixData() *xatuethv2.EventBlock { SyncCommitteeBits: fmt.Sprintf("0x%x", e.event.Bellatrix.Message.Body.SyncAggregate.SyncCommitteeBits), SyncCommitteeSignature: e.event.Bellatrix.Message.Body.SyncAggregate.SyncCommitteeSignature.String(), }, - ExecutionPayload: &xatuethv1.ExecutionPayload{ + ExecutionPayload: &xatuethv1.ExecutionPayloadV2{ ParentHash: e.event.Bellatrix.Message.Body.ExecutionPayload.ParentHash.String(), FeeRecipient: e.event.Bellatrix.Message.Body.ExecutionPayload.FeeRecipient.String(), StateRoot: fmt.Sprintf("0x%x", e.event.Bellatrix.Message.Body.ExecutionPayload.StateRoot[:]), ReceiptsRoot: fmt.Sprintf("0x%x", e.event.Bellatrix.Message.Body.ExecutionPayload.ReceiptsRoot[:]), LogsBloom: fmt.Sprintf("0x%x", e.event.Bellatrix.Message.Body.ExecutionPayload.LogsBloom[:]), PrevRandao: fmt.Sprintf("0x%x", e.event.Bellatrix.Message.Body.ExecutionPayload.PrevRandao[:]), - BlockNumber: e.event.Bellatrix.Message.Body.ExecutionPayload.BlockNumber, - BlockNumberV2: &wrapperspb.UInt64Value{Value: e.event.Bellatrix.Message.Body.ExecutionPayload.BlockNumber}, - GasLimit: e.event.Bellatrix.Message.Body.ExecutionPayload.GasLimit, - GasLimitV2: &wrapperspb.UInt64Value{Value: e.event.Bellatrix.Message.Body.ExecutionPayload.GasLimit}, - GasUsed: e.event.Bellatrix.Message.Body.ExecutionPayload.GasUsed, - GasUsedV2: &wrapperspb.UInt64Value{Value: e.event.Bellatrix.Message.Body.ExecutionPayload.GasUsed}, - Timestamp: e.event.Bellatrix.Message.Body.ExecutionPayload.Timestamp, - TimestampV2: &wrapperspb.UInt64Value{Value: e.event.Bellatrix.Message.Body.ExecutionPayload.Timestamp}, + BlockNumber: &wrapperspb.UInt64Value{Value: e.event.Bellatrix.Message.Body.ExecutionPayload.BlockNumber}, + GasLimit: &wrapperspb.UInt64Value{Value: e.event.Bellatrix.Message.Body.ExecutionPayload.GasLimit}, + GasUsed: &wrapperspb.UInt64Value{Value: e.event.Bellatrix.Message.Body.ExecutionPayload.GasUsed}, + Timestamp: &wrapperspb.UInt64Value{Value: e.event.Bellatrix.Message.Body.ExecutionPayload.Timestamp}, ExtraData: fmt.Sprintf("0x%x", e.event.Bellatrix.Message.Body.ExecutionPayload.ExtraData), BaseFeePerGas: fmt.Sprintf("0x%x", e.event.Bellatrix.Message.Body.ExecutionPayload.BaseFeePerGas[:]), BlockHash: e.event.Bellatrix.Message.Body.ExecutionPayload.BlockHash.String(), @@ -469,18 +456,16 @@ func (e *BeaconBlock) getBellatrixData() *xatuethv2.EventBlock { } } -func (e *BeaconBlock) getCapellaData() *xatuethv2.EventBlock { - return &xatuethv2.EventBlock{ +func (e *BeaconBlock) getCapellaData() *xatuethv2.EventBlockV2 { + return &xatuethv2.EventBlockV2{ Version: xatuethv2.BlockVersion_CAPELLA, - Message: &xatuethv2.EventBlock_CapellaBlock{ - CapellaBlock: &xatuethv2.BeaconBlockCapella{ - Slot: uint64(e.event.Capella.Message.Slot), - SlotV2: &wrapperspb.UInt64Value{Value: uint64(e.event.Capella.Message.Slot)}, - ProposerIndex: uint64(e.event.Capella.Message.ProposerIndex), - ProposerIndexV2: &wrapperspb.UInt64Value{Value: uint64(e.event.Capella.Message.ProposerIndex)}, - ParentRoot: e.event.Capella.Message.ParentRoot.String(), - StateRoot: e.event.Capella.Message.StateRoot.String(), - Body: &xatuethv2.BeaconBlockBodyCapella{ + Message: &xatuethv2.EventBlockV2_CapellaBlock{ + CapellaBlock: &xatuethv2.BeaconBlockCapellaV2{ + Slot: &wrapperspb.UInt64Value{Value: uint64(e.event.Capella.Message.Slot)}, + ProposerIndex: &wrapperspb.UInt64Value{Value: uint64(e.event.Capella.Message.ProposerIndex)}, + ParentRoot: e.event.Capella.Message.ParentRoot.String(), + StateRoot: e.event.Capella.Message.StateRoot.String(), + Body: &xatuethv2.BeaconBlockBodyCapellaV2{ RandaoReveal: e.event.Capella.Message.Body.RANDAOReveal.String(), Eth1Data: &xatuethv1.Eth1Data{ DepositRoot: e.event.Capella.Message.Body.ETH1Data.DepositRoot.String(), @@ -497,21 +482,17 @@ func (e *BeaconBlock) getCapellaData() *xatuethv2.EventBlock { SyncCommitteeBits: fmt.Sprintf("0x%x", e.event.Capella.Message.Body.SyncAggregate.SyncCommitteeBits), SyncCommitteeSignature: e.event.Capella.Message.Body.SyncAggregate.SyncCommitteeSignature.String(), }, - ExecutionPayload: &xatuethv1.ExecutionPayloadCapella{ + ExecutionPayload: &xatuethv1.ExecutionPayloadCapellaV2{ ParentHash: e.event.Capella.Message.Body.ExecutionPayload.ParentHash.String(), FeeRecipient: e.event.Capella.Message.Body.ExecutionPayload.FeeRecipient.String(), StateRoot: fmt.Sprintf("0x%x", e.event.Capella.Message.Body.ExecutionPayload.StateRoot[:]), ReceiptsRoot: fmt.Sprintf("0x%x", e.event.Capella.Message.Body.ExecutionPayload.ReceiptsRoot[:]), LogsBloom: fmt.Sprintf("0x%x", e.event.Capella.Message.Body.ExecutionPayload.LogsBloom[:]), PrevRandao: fmt.Sprintf("0x%x", e.event.Capella.Message.Body.ExecutionPayload.PrevRandao[:]), - BlockNumber: e.event.Capella.Message.Body.ExecutionPayload.BlockNumber, - BlockNumberV2: &wrapperspb.UInt64Value{Value: e.event.Capella.Message.Body.ExecutionPayload.BlockNumber}, - GasLimit: e.event.Capella.Message.Body.ExecutionPayload.GasLimit, - GasLimitV2: &wrapperspb.UInt64Value{Value: e.event.Capella.Message.Body.ExecutionPayload.GasLimit}, - GasUsed: e.event.Capella.Message.Body.ExecutionPayload.GasUsed, - GasUsedV2: &wrapperspb.UInt64Value{Value: e.event.Capella.Message.Body.ExecutionPayload.GasUsed}, - Timestamp: e.event.Capella.Message.Body.ExecutionPayload.Timestamp, - TimestampV2: &wrapperspb.UInt64Value{Value: e.event.Capella.Message.Body.ExecutionPayload.Timestamp}, + BlockNumber: &wrapperspb.UInt64Value{Value: e.event.Capella.Message.Body.ExecutionPayload.BlockNumber}, + GasLimit: &wrapperspb.UInt64Value{Value: e.event.Capella.Message.Body.ExecutionPayload.GasLimit}, + GasUsed: &wrapperspb.UInt64Value{Value: e.event.Capella.Message.Body.ExecutionPayload.GasUsed}, + Timestamp: &wrapperspb.UInt64Value{Value: e.event.Capella.Message.Body.ExecutionPayload.Timestamp}, ExtraData: fmt.Sprintf("0x%x", e.event.Capella.Message.Body.ExecutionPayload.ExtraData), BaseFeePerGas: fmt.Sprintf("0x%x", e.event.Capella.Message.Body.ExecutionPayload.BaseFeePerGas[:]), BlockHash: e.event.Capella.Message.Body.ExecutionPayload.BlockHash.String(), @@ -526,8 +507,8 @@ func (e *BeaconBlock) getCapellaData() *xatuethv2.EventBlock { } } -func (e *BeaconBlock) getAdditionalData(_ context.Context) (*xatu.ClientMeta_AdditionalEthV2BeaconBlockData, error) { - extra := &xatu.ClientMeta_AdditionalEthV2BeaconBlockData{} +func (e *BeaconBlock) getAdditionalData(_ context.Context) (*xatu.ClientMeta_AdditionalEthV2BeaconBlockV2Data, error) { + extra := &xatu.ClientMeta_AdditionalEthV2BeaconBlockV2Data{} slotI, err := e.event.Slot() if err != nil { @@ -537,15 +518,13 @@ func (e *BeaconBlock) getAdditionalData(_ context.Context) (*xatu.ClientMeta_Add slot := e.beacon.Metadata().Wallclock().Slots().FromNumber(uint64(slotI)) epoch := e.beacon.Metadata().Wallclock().Epochs().FromSlot(uint64(slotI)) - extra.Slot = &xatu.Slot{ + extra.Slot = &xatu.SlotV2{ StartDateTime: timestamppb.New(slot.TimeWindow().Start()), - Number: uint64(slotI), - NumberV2: &wrapperspb.UInt64Value{Value: uint64(slotI)}, + Number: &wrapperspb.UInt64Value{Value: uint64(slotI)}, } - extra.Epoch = &xatu.Epoch{ - Number: epoch.Number(), - NumberV2: &wrapperspb.UInt64Value{Value: epoch.Number()}, + extra.Epoch = &xatu.EpochV2{ + Number: &wrapperspb.UInt64Value{Value: epoch.Number()}, StartDateTime: timestamppb.New(epoch.TimeWindow().Start()), } @@ -572,11 +551,9 @@ func (e *BeaconBlock) getAdditionalData(_ context.Context) (*xatu.ClientMeta_Add } } - extra.TransactionsCount = uint64(txCount) - extra.TransactionsCountV2 = wrapperspb.UInt64(uint64(txCount)) + extra.TransactionsCount = wrapperspb.UInt64(uint64(txCount)) - extra.TransactionsTotalBytes = uint64(txSize) - extra.TransactionsTotalBytesV2 = wrapperspb.UInt64(uint64(txSize)) + extra.TransactionsTotalBytes = wrapperspb.UInt64(uint64(txSize)) return extra, nil } diff --git a/pkg/sentry/fork_choice.go b/pkg/sentry/fork_choice.go index 09ed9414..e3ee5783 100644 --- a/pkg/sentry/fork_choice.go +++ b/pkg/sentry/fork_choice.go @@ -56,7 +56,7 @@ func (s *Sentry) startForkChoiceSchedule(ctx context.Context) error { Before: nil, // May be nil After: after, ReOrgEventAt: now, - Event: xatuethv1.NewReorgEventFromGoEth2ClientEvent(chainReorg), + Event: xatuethv1.NewReorgEventV2FromGoEth2ClientEvent(chainReorg), } if validLatestForkChoice { diff --git a/pkg/sentry/sentry.go b/pkg/sentry/sentry.go index 8e9f9096..4760cb5c 100644 --- a/pkg/sentry/sentry.go +++ b/pkg/sentry/sentry.go @@ -30,7 +30,6 @@ import ( "github.com/google/uuid" "github.com/prometheus/client_golang/prometheus/promhttp" "github.com/sirupsen/logrus" - "google.golang.org/protobuf/types/known/wrapperspb" ) type Sentry struct { @@ -436,7 +435,6 @@ func (s *Sentry) createNewClientMeta(ctx context.Context) (*xatu.ClientMeta, err Implementation: xatu.Implementation, Os: runtime.GOOS, ClockDrift: uint64(s.clockDrift.Milliseconds()), - ClockDriftV2: &wrapperspb.UInt64Value{Value: uint64(s.clockDrift.Milliseconds())}, Ethereum: &xatu.ClientMeta_Ethereum{ Network: networkMeta, Execution: &xatu.ClientMeta_Ethereum_Execution{}, diff --git a/pkg/server/service/event-ingester/event/beacon/eth/v1/beacon_committee.go b/pkg/server/service/event-ingester/event/beacon/eth/v1/beacon_committee.go index 8bf916cf..c21f3198 100644 --- a/pkg/server/service/event-ingester/event/beacon/eth/v1/beacon_committee.go +++ b/pkg/server/service/event-ingester/event/beacon/eth/v1/beacon_committee.go @@ -25,7 +25,7 @@ func NewBeaconCommittee(log logrus.FieldLogger, event *xatu.DecoratedEvent) *Bea } func (b *BeaconCommittee) Type() string { - return EventsHeadType + return BeaconCommitteeType } func (b *BeaconCommittee) Validate(_ context.Context) error { diff --git a/pkg/server/service/event-ingester/event/beacon/eth/v1/debug_fork_choice.go b/pkg/server/service/event-ingester/event/beacon/eth/v1/debug_fork_choice.go index e9399592..3666f24d 100644 --- a/pkg/server/service/event-ingester/event/beacon/eth/v1/debug_fork_choice.go +++ b/pkg/server/service/event-ingester/event/beacon/eth/v1/debug_fork_choice.go @@ -25,7 +25,7 @@ func NewDebugForkChoice(log logrus.FieldLogger, event *xatu.DecoratedEvent) *Deb } func (b *DebugForkChoice) Type() string { - return EventsHeadType + return DebugForkChoiceType } func (b *DebugForkChoice) Validate(_ context.Context) error { diff --git a/pkg/server/service/event-ingester/event/beacon/eth/v1/debug_fork_choice_reorg.go b/pkg/server/service/event-ingester/event/beacon/eth/v1/debug_fork_choice_reorg.go index 2467964a..3d062111 100644 --- a/pkg/server/service/event-ingester/event/beacon/eth/v1/debug_fork_choice_reorg.go +++ b/pkg/server/service/event-ingester/event/beacon/eth/v1/debug_fork_choice_reorg.go @@ -25,7 +25,7 @@ func NewDebugForkChoiceReorg(log logrus.FieldLogger, event *xatu.DecoratedEvent) } func (b *DebugForkChoiceReorg) Type() string { - return EventsHeadType + return DebugForkChoiceReorgType } func (b *DebugForkChoiceReorg) Validate(_ context.Context) error { diff --git a/pkg/server/service/event-ingester/event/beacon/eth/v1/debug_fork_choice_reorg_v2.go b/pkg/server/service/event-ingester/event/beacon/eth/v1/debug_fork_choice_reorg_v2.go new file mode 100644 index 00000000..ca6f24ef --- /dev/null +++ b/pkg/server/service/event-ingester/event/beacon/eth/v1/debug_fork_choice_reorg_v2.go @@ -0,0 +1,46 @@ +package v1 + +import ( + "context" + "errors" + + "github.com/ethpandaops/xatu/pkg/proto/xatu" + "github.com/sirupsen/logrus" +) + +const ( + DebugForkChoiceReorgV2Type = "BEACON_API_ETH_V1_DEBUG_FORK_CHOICE_REORG_V2" +) + +type DebugForkChoiceReorgV2 struct { + log logrus.FieldLogger + event *xatu.DecoratedEvent +} + +func NewDebugForkChoiceReorgV2(log logrus.FieldLogger, event *xatu.DecoratedEvent) *DebugForkChoiceReorgV2 { + return &DebugForkChoiceReorgV2{ + log: log.WithField("event", DebugForkChoiceReorgV2Type), + event: event, + } +} + +func (b *DebugForkChoiceReorgV2) Type() string { + return DebugForkChoiceReorgV2Type +} + +func (b *DebugForkChoiceReorgV2) Validate(_ context.Context) error { + event, ok := b.event.GetData().(*xatu.DecoratedEvent_EthV1ForkChoiceReorgV2) + if !ok { + return errors.New("failed to cast event data") + } + + if event.EthV1ForkChoiceReorgV2.Before == nil && event.EthV1ForkChoiceReorgV2.After == nil { + return errors.New("both before and after fork choice snapshots are nil") + } + + return nil +} + +func (b *DebugForkChoiceReorgV2) Filter(_ context.Context) bool { + return false +} diff --git a/pkg/server/service/event-ingester/event/beacon/eth/v1/debug_fork_choice_v2.go b/pkg/server/service/event-ingester/event/beacon/eth/v1/debug_fork_choice_v2.go new file mode 100644 index 00000000..bf03aefd --- /dev/null +++ b/pkg/server/service/event-ingester/event/beacon/eth/v1/debug_fork_choice_v2.go @@ -0,0 +1,42 @@ +package v1 + +import ( + "context" + "errors" + + "github.com/ethpandaops/xatu/pkg/proto/xatu" + "github.com/sirupsen/logrus" +) + +const ( + DebugForkChoiceV2Type = "BEACON_API_ETH_V1_DEBUG_FORK_CHOICE_V2" +) + +type DebugForkChoiceV2 struct { + log logrus.FieldLogger + event *xatu.DecoratedEvent +} + +func NewDebugForkChoiceV2(log logrus.FieldLogger, event *xatu.DecoratedEvent) *DebugForkChoiceV2 { + return &DebugForkChoiceV2{ + log: log.WithField("event", DebugForkChoiceV2Type), + event: event, + } +} + +func (b *DebugForkChoiceV2) Type() string { + return DebugForkChoiceV2Type +} + +func (b *DebugForkChoiceV2) Validate(_ context.Context) error { + _, ok := b.event.GetData().(*xatu.DecoratedEvent_EthV1ForkChoiceV2) + if !ok { + return errors.New("failed to cast event data") + } + + return nil +} + +func (b *DebugForkChoiceV2) Filter(_ context.Context) bool { + return false +} diff --git a/pkg/server/service/event-ingester/event/beacon/eth/v1/events_attestation_v2.go b/pkg/server/service/event-ingester/event/beacon/eth/v1/events_attestation_v2.go new file mode 100644 index 00000000..d4d19436 --- /dev/null +++ b/pkg/server/service/event-ingester/event/beacon/eth/v1/events_attestation_v2.go @@ -0,0 +1,42 @@ +package v1 + +import ( + "context" + "errors" + + "github.com/ethpandaops/xatu/pkg/proto/xatu" + "github.com/sirupsen/logrus" +) + +const ( + EventsAttestationV2Type = "BEACON_API_ETH_V1_EVENTS_ATTESTATION_V2" +) + +type EventsAttestationV2 struct { + log logrus.FieldLogger + event *xatu.DecoratedEvent +} + +func NewEventsAttestationV2(log logrus.FieldLogger, event *xatu.DecoratedEvent) *EventsAttestationV2 { + return &EventsAttestationV2{ + log: log.WithField("event", EventsAttestationV2Type), + event: event, + } +} + +func (b *EventsAttestationV2) Type() string { + return EventsAttestationV2Type +} + +func (b *EventsAttestationV2) Validate(ctx context.Context) error { + _, ok := b.event.GetData().(*xatu.DecoratedEvent_EthV1EventsAttestationV2) + if !ok { + return errors.New("failed to cast event data") + } + + return nil +} + +func (b *EventsAttestationV2) Filter(ctx context.Context) bool { + return false +} diff --git a/pkg/server/service/event-ingester/event/beacon/eth/v1/events_block_v2.go b/pkg/server/service/event-ingester/event/beacon/eth/v1/events_block_v2.go new file mode 100644 index 00000000..b0e64513 --- /dev/null +++ b/pkg/server/service/event-ingester/event/beacon/eth/v1/events_block_v2.go @@ -0,0 +1,42 @@ +package v1 + +import ( + "context" + "errors" + + "github.com/ethpandaops/xatu/pkg/proto/xatu" + "github.com/sirupsen/logrus" +) + +const ( + EventsBlockV2Type = "BEACON_API_ETH_V1_EVENTS_BLOCK_V2" +) + +type EventsBlockV2 struct { + log logrus.FieldLogger + event *xatu.DecoratedEvent +} + +func NewEventsBlockV2(log logrus.FieldLogger, event *xatu.DecoratedEvent) *EventsBlockV2 { + return &EventsBlockV2{ + log: log.WithField("event", EventsBlockV2Type), + event: event, + } +} + +func (b *EventsBlockV2) Type() string { + return EventsBlockV2Type +} + +func (b *EventsBlockV2) Validate(ctx context.Context) error { + _, ok := b.event.GetData().(*xatu.DecoratedEvent_EthV1EventsBlockV2) + if !ok { + return errors.New("failed to cast event data") + } + + return nil +} + +func (b *EventsBlockV2) Filter(ctx context.Context) bool { + return false +} diff --git a/pkg/server/service/event-ingester/event/beacon/eth/v1/events_chain_reorg_v2.go b/pkg/server/service/event-ingester/event/beacon/eth/v1/events_chain_reorg_v2.go new file mode 100644 index 00000000..c5ceabff --- /dev/null +++ b/pkg/server/service/event-ingester/event/beacon/eth/v1/events_chain_reorg_v2.go @@ -0,0 +1,42 @@ +package v1 + +import ( + "context" + "errors" + + "github.com/ethpandaops/xatu/pkg/proto/xatu" + "github.com/sirupsen/logrus" +) + +const ( + EventsChainReorgV2Type = "BEACON_API_ETH_V1_EVENTS_CHAIN_REORG_V2" +) + +type EventsChainReorgV2 struct { + log logrus.FieldLogger + event *xatu.DecoratedEvent +} + +func NewEventsChainReorgV2(log logrus.FieldLogger, event *xatu.DecoratedEvent) *EventsChainReorgV2 { + return &EventsChainReorgV2{ + log: log.WithField("event", EventsChainReorgV2Type), + event: event, + } +} + +func (b *EventsChainReorgV2) Type() string { + return EventsChainReorgV2Type +} + +func (b *EventsChainReorgV2) Validate(ctx context.Context) error { + _, ok := b.event.GetData().(*xatu.DecoratedEvent_EthV1EventsChainReorgV2) + if !ok { + return errors.New("failed to cast event data") + } + + return nil +} + +func (b *EventsChainReorgV2) Filter(ctx context.Context) bool { + return false +} diff --git a/pkg/server/service/event-ingester/event/beacon/eth/v1/events_contribution_and_proof_v2.go b/pkg/server/service/event-ingester/event/beacon/eth/v1/events_contribution_and_proof_v2.go new file mode 100644 index 00000000..e349fb7c --- /dev/null +++ b/pkg/server/service/event-ingester/event/beacon/eth/v1/events_contribution_and_proof_v2.go @@ -0,0 +1,42 @@ +package v1 + +import ( + "context" + "errors" + + "github.com/ethpandaops/xatu/pkg/proto/xatu" + "github.com/sirupsen/logrus" +) + +const ( + EventsContributionAndProofV2Type = "BEACON_API_ETH_V1_EVENTS_CONTRIBUTION_AND_PROOF_V2" +) + +type EventsContributionAndProofV2 struct { + log logrus.FieldLogger + event *xatu.DecoratedEvent +} + +func NewEventsContributionAndProofV2(log logrus.FieldLogger, event *xatu.DecoratedEvent) *EventsContributionAndProofV2 { + return &EventsContributionAndProofV2{ + log: log.WithField("event", EventsContributionAndProofV2Type), + event: event, + } +} + +func (b *EventsContributionAndProofV2) Type() string { + return EventsContributionAndProofV2Type +} + +func (b *EventsContributionAndProofV2) Validate(ctx context.Context) error { + _, ok := b.event.GetData().(*xatu.DecoratedEvent_EthV1EventsContributionAndProofV2) + if !ok { + return errors.New("failed to cast event data") + } + + return nil +} + +func (b *EventsContributionAndProofV2) Filter(ctx context.Context) bool { + return false +} diff --git a/pkg/server/service/event-ingester/event/beacon/eth/v1/events_finalized_checkpoint_v2.go b/pkg/server/service/event-ingester/event/beacon/eth/v1/events_finalized_checkpoint_v2.go new file mode 100644 index 00000000..fd94f4f2 --- /dev/null +++ b/pkg/server/service/event-ingester/event/beacon/eth/v1/events_finalized_checkpoint_v2.go @@ -0,0 +1,42 @@ +package v1 + +import ( + "context" + "errors" + + "github.com/ethpandaops/xatu/pkg/proto/xatu" + "github.com/sirupsen/logrus" +) + +const ( + EventsFinalizedCheckpointV2Type = "BEACON_API_ETH_V1_EVENTS_FINALIZED_CHECKPOINT_V2" +) + +type EventsFinalizedCheckpointV2 struct { + log logrus.FieldLogger + event *xatu.DecoratedEvent +} + +func NewEventsFinalizedCheckpointV2(log logrus.FieldLogger, event *xatu.DecoratedEvent) *EventsFinalizedCheckpointV2 { + return &EventsFinalizedCheckpointV2{ + log: log.WithField("event", EventsFinalizedCheckpointV2Type), + event: event, + } +} + +func (b *EventsFinalizedCheckpointV2) Type() string { + return EventsFinalizedCheckpointV2Type +} + +func (b *EventsFinalizedCheckpointV2) Validate(ctx context.Context) error { + _, ok := b.event.GetData().(*xatu.DecoratedEvent_EthV1EventsFinalizedCheckpointV2) + if !ok { + return errors.New("failed to cast event data") + } + + return nil +} + +func (b *EventsFinalizedCheckpointV2) Filter(ctx context.Context) bool { + return false +} diff --git a/pkg/server/service/event-ingester/event/beacon/eth/v1/events_head_v2.go b/pkg/server/service/event-ingester/event/beacon/eth/v1/events_head_v2.go new file mode 100644 index 00000000..91ed64ec --- /dev/null +++ b/pkg/server/service/event-ingester/event/beacon/eth/v1/events_head_v2.go @@ -0,0 +1,42 @@ +package v1 + +import ( + "context" + "errors" + + "github.com/ethpandaops/xatu/pkg/proto/xatu" + "github.com/sirupsen/logrus" +) + +const ( + EventsHeadV2Type = "BEACON_API_ETH_V1_EVENTS_HEAD_V2" +) + +type EventsHeadV2 struct { + log logrus.FieldLogger + event *xatu.DecoratedEvent +} + +func NewEventsHeadV2(log logrus.FieldLogger, event *xatu.DecoratedEvent) *EventsHeadV2 { + return &EventsHeadV2{ + log: log.WithField("event", EventsHeadV2Type), + event: event, + } +} + +func (b *EventsHeadV2) Type() string { + return EventsHeadV2Type +} + +func (b *EventsHeadV2) Validate(ctx context.Context) error { + _, ok := b.event.GetData().(*xatu.DecoratedEvent_EthV1EventsHeadV2) + if !ok { + return errors.New("failed to cast event data") + } + + return nil +} + +func (b *EventsHeadV2) Filter(ctx context.Context) bool { + return false +} diff --git a/pkg/server/service/event-ingester/event/beacon/eth/v1/events_voluntary_exit_v2.go b/pkg/server/service/event-ingester/event/beacon/eth/v1/events_voluntary_exit_v2.go new file mode 100644 index 00000000..828718d6 --- /dev/null +++ b/pkg/server/service/event-ingester/event/beacon/eth/v1/events_voluntary_exit_v2.go @@ -0,0 +1,42 @@ +package v1 + +import ( + "context" + "errors" + + "github.com/ethpandaops/xatu/pkg/proto/xatu" + "github.com/sirupsen/logrus" +) + +const ( + EventsVoluntaryExitV2Type = "BEACON_API_ETH_V1_EVENTS_VOLUNTARY_EXIT_V2" +) + +type EventsVoluntaryExitV2 struct { + log logrus.FieldLogger + event *xatu.DecoratedEvent +} + +func NewEventsVoluntaryExitV2(log logrus.FieldLogger, event *xatu.DecoratedEvent) *EventsVoluntaryExitV2 { + return &EventsVoluntaryExitV2{ + log: log.WithField("event", EventsVoluntaryExitV2Type), + event: event, + } +} + +func (b *EventsVoluntaryExitV2) Type() string { + return EventsVoluntaryExitV2Type +} + +func (b *EventsVoluntaryExitV2) Validate(ctx context.Context) error { + _, ok := b.event.GetData().(*xatu.DecoratedEvent_EthV1EventsVoluntaryExitV2) + if !ok { + return errors.New("failed to cast event data") + } + + return nil +} + +func (b *EventsVoluntaryExitV2) Filter(ctx context.Context) bool { + return false +} diff --git a/pkg/server/service/event-ingester/event/beacon/eth/v1/validator_attestation_data.go b/pkg/server/service/event-ingester/event/beacon/eth/v1/validator_attestation_data.go index 99f2de02..14c70100 100644 --- a/pkg/server/service/event-ingester/event/beacon/eth/v1/validator_attestation_data.go +++ b/pkg/server/service/event-ingester/event/beacon/eth/v1/validator_attestation_data.go @@ -25,7 +25,7 @@ func NewValidatorAttestationData(log logrus.FieldLogger, event *xatu.DecoratedEv } func (b *ValidatorAttestationData) Type() string { - return EventsHeadType + return ValidatorAttestationDataType } func (b *ValidatorAttestationData) Validate(_ context.Context) error { diff --git a/pkg/server/service/event-ingester/event/beacon/eth/v2/beacon_block_v2.go b/pkg/server/service/event-ingester/event/beacon/eth/v2/beacon_block_v2.go new file mode 100644 index 00000000..5cdb8fab --- /dev/null +++ b/pkg/server/service/event-ingester/event/beacon/eth/v2/beacon_block_v2.go @@ -0,0 +1,103 @@ +package v2 + +import ( + "context" + "errors" + "fmt" + "time" + + v2 "github.com/ethpandaops/xatu/pkg/proto/eth/v2" + "github.com/ethpandaops/xatu/pkg/proto/xatu" + "github.com/ethpandaops/xatu/pkg/server/store" + "github.com/sirupsen/logrus" +) + +const ( + BeaconBlockV2Type = "BEACON_API_ETH_V2_BEACON_BLOCK_V2" +) + +type BeaconBlockV2 struct { + log logrus.FieldLogger + event *xatu.DecoratedEvent + + cache store.Cache +} + +func NewBeaconBlockV2(log logrus.FieldLogger, event *xatu.DecoratedEvent, cache store.Cache) *BeaconBlockV2 { + return &BeaconBlockV2{ + log: log.WithField("event", BeaconBlockV2Type), + event: event, + cache: cache, + } +} + +func (b *BeaconBlockV2) Type() string { + return BeaconBlockV2Type +} + +func (b *BeaconBlockV2) Validate(ctx context.Context) error { + _, ok := b.event.Data.(*xatu.DecoratedEvent_EthV2BeaconBlockV2) + if !ok { + return errors.New("failed to cast event data") + } + + return nil +} + +func (b *BeaconBlockV2) Filter(ctx context.Context) bool { + data, ok := b.event.Data.(*xatu.DecoratedEvent_EthV2BeaconBlockV2) + if !ok { + b.log.Error("failed to cast event data") + + return true + } + + additionalData, ok := b.event.Meta.Client.AdditionalData.(*xatu.ClientMeta_EthV2BeaconBlockV2) + if !ok { + b.log.Error("failed to cast client additional data") + + return true + } + + version := additionalData.EthV2BeaconBlockV2.GetVersion() + if version == "" { + b.log.Error("failed to get version") + + return true + } + + var hash string + + switch version { + case "phase0": + hash = data.EthV2BeaconBlockV2.Message.(*v2.EventBlockV2_Phase0Block).Phase0Block.StateRoot + case "altair": + hash = data.EthV2BeaconBlockV2.Message.(*v2.EventBlockV2_AltairBlock).AltairBlock.StateRoot + case "bellatrix": + hash = data.EthV2BeaconBlockV2.Message.(*v2.EventBlockV2_BellatrixBlock).BellatrixBlock.StateRoot + case "capella": + hash = data.EthV2BeaconBlockV2.Message.(*v2.EventBlockV2_CapellaBlock).CapellaBlock.StateRoot + default: + b.log.Error(fmt.Errorf("unknown version: %s", version)) + + return true + } + + if hash == "" { + b.log.Error("failed to get hash") + + return true + } + + key := "beacon_block" + ":" + hash + + _, retrieved, err := b.cache.GetOrSet(ctx, key, version, time.Minute*30) + if err != nil { + b.log.WithError(err).Error("failed to retrieve from cache") + + return true + } + + // If the block is already in the cache, filter it out + return retrieved +} diff --git a/pkg/server/service/event-ingester/event/event.go b/pkg/server/service/event-ingester/event/event.go index b8f6ba21..d94269af 100644 --- a/pkg/server/service/event-ingester/event/event.go +++ b/pkg/server/service/event-ingester/event/event.go @@ -16,20 +16,31 @@ import ( type Type string const ( - TypeUnknown Type = "unknown" - TypeBeaconETHV1EventsBlock Type = v1.EventsBlockType - TypeBeaconETHV1EventsChainReorg Type = v1.EventsChainReorgType - TypeBeaconETHV1EventsFinalizedCheckpoint Type = v1.EventsFinalizedCheckpointType - TypeBeaconETHV1EventsHead Type = v1.EventsHeadType - TypeBeaconETHV1EventsVoluntaryExit Type = v1.EventsVoluntaryExitType - TypeBeaconETHV1EventsAttestation Type = v1.EventsAttestationType - TypeBeaconETHV1EventsContributionAndProof Type = v1.EventsContributionAndProofType - TypeMempoolTransaction Type = mempool.TransactionType - TypeBeaconETHV2BeaconBlock Type = v2.BeaconBlockType - TypeDebugForkChoice Type = v1.DebugForkChoiceType - TypeDebugForkChoiceReorg Type = v1.DebugForkChoiceReorgType - TypeBeaconEthV1BeaconCommittee Type = v1.BeaconCommitteeType - TypeBeaconEthV1ValidatorAttestationData Type = v1.ValidatorAttestationDataType + TypeUnknown Type = "unknown" + TypeBeaconETHV1EventsBlock Type = v1.EventsBlockType + TypeBeaconETHV1EventsBlockV2 Type = v1.EventsBlockV2Type + TypeBeaconETHV1EventsChainReorg Type = v1.EventsChainReorgType + TypeBeaconETHV1EventsChainReorgV2 Type = v1.EventsChainReorgV2Type + TypeBeaconETHV1EventsFinalizedCheckpoint Type = v1.EventsFinalizedCheckpointType + TypeBeaconETHV1EventsFinalizedCheckpointV2 Type = v1.EventsFinalizedCheckpointV2Type + TypeBeaconETHV1EventsHead Type = v1.EventsHeadType + TypeBeaconETHV1EventsHeadV2 Type = v1.EventsHeadV2Type + TypeBeaconETHV1EventsVoluntaryExit Type = v1.EventsVoluntaryExitType + TypeBeaconETHV1EventsVoluntaryExitV2 Type = v1.EventsVoluntaryExitV2Type + TypeBeaconETHV1EventsAttestation Type = v1.EventsAttestationType + TypeBeaconETHV1EventsAttestationV2 Type = v1.EventsAttestationV2Type + TypeBeaconETHV1EventsContributionAndProof Type = v1.EventsContributionAndProofType + TypeBeaconETHV1EventsContributionAndProofV2 Type = v1.EventsContributionAndProofV2Type + TypeMempoolTransaction Type = mempool.TransactionType + TypeMempoolTransactionV2 Type = mempool.TransactionV2Type + TypeBeaconETHV2BeaconBlock Type = v2.BeaconBlockType + TypeBeaconETHV2BeaconBlockV2 Type = v2.BeaconBlockV2Type + TypeDebugForkChoice Type = v1.DebugForkChoiceType + TypeDebugForkChoiceV2 Type = v1.DebugForkChoiceV2Type + TypeDebugForkChoiceReorg Type = v1.DebugForkChoiceReorgType + TypeDebugForkChoiceReorgV2 Type = v1.DebugForkChoiceReorgV2Type + TypeBeaconEthV1BeaconCommittee Type = v1.BeaconCommitteeType + TypeBeaconEthV1ValidatorAttestationData Type = v1.ValidatorAttestationDataType ) type Event interface { @@ -46,26 +57,48 @@ func New(eventType Type, log logrus.FieldLogger, event *xatu.DecoratedEvent, cac switch eventType { case TypeBeaconETHV1EventsBlock: return v1.NewEventsBlock(log, event), nil + case TypeBeaconETHV1EventsBlockV2: + return v1.NewEventsBlockV2(log, event), nil case TypeBeaconETHV1EventsChainReorg: return v1.NewEventsChainReorg(log, event), nil + case TypeBeaconETHV1EventsChainReorgV2: + return v1.NewEventsChainReorgV2(log, event), nil case TypeBeaconETHV1EventsFinalizedCheckpoint: return v1.NewEventsFinalizedCheckpoint(log, event), nil + case TypeBeaconETHV1EventsFinalizedCheckpointV2: + return v1.NewEventsFinalizedCheckpointV2(log, event), nil case TypeBeaconETHV1EventsHead: return v1.NewEventsHead(log, event), nil + case TypeBeaconETHV1EventsHeadV2: + return v1.NewEventsHeadV2(log, event), nil case TypeBeaconETHV1EventsVoluntaryExit: return v1.NewEventsVoluntaryExit(log, event), nil + case TypeBeaconETHV1EventsVoluntaryExitV2: + return v1.NewEventsVoluntaryExitV2(log, event), nil case TypeBeaconETHV1EventsAttestation: return v1.NewEventsAttestation(log, event), nil + case TypeBeaconETHV1EventsAttestationV2: + return v1.NewEventsAttestationV2(log, event), nil case TypeBeaconETHV1EventsContributionAndProof: return v1.NewEventsContributionAndProof(log, event), nil + case TypeBeaconETHV1EventsContributionAndProofV2: + return v1.NewEventsContributionAndProofV2(log, event), nil case TypeMempoolTransaction: return mempool.NewTransaction(log, event), nil + case TypeMempoolTransactionV2: + return mempool.NewTransactionV2(log, event), nil case TypeBeaconETHV2BeaconBlock: return v2.NewBeaconBlock(log, event, cache), nil + case TypeBeaconETHV2BeaconBlockV2: + return v2.NewBeaconBlockV2(log, event, cache), nil case TypeDebugForkChoice: return v1.NewDebugForkChoice(log, event), nil + case TypeDebugForkChoiceV2: + return v1.NewDebugForkChoiceV2(log, event), nil case TypeDebugForkChoiceReorg: return v1.NewDebugForkChoiceReorg(log, event), nil + case TypeDebugForkChoiceReorgV2: + return v1.NewDebugForkChoiceReorgV2(log, event), nil case TypeBeaconEthV1BeaconCommittee: return v1.NewBeaconCommittee(log, event), nil case TypeBeaconEthV1ValidatorAttestationData: diff --git a/pkg/server/service/event-ingester/event/mempool/transaction_v2.go b/pkg/server/service/event-ingester/event/mempool/transaction_v2.go new file mode 100644 index 00000000..75073345 --- /dev/null +++ b/pkg/server/service/event-ingester/event/mempool/transaction_v2.go @@ -0,0 +1,42 @@ +package mempool + +import ( + "context" + "errors" + + "github.com/ethpandaops/xatu/pkg/proto/xatu" + "github.com/sirupsen/logrus" +) + +const ( + TransactionV2Type = "MEMPOOL_TRANSACTION_V2" +) + +type TransactionV2 struct { + log logrus.FieldLogger + event *xatu.DecoratedEvent +} + +func NewTransactionV2(log logrus.FieldLogger, event *xatu.DecoratedEvent) *TransactionV2 { + return &TransactionV2{ + log: log.WithField("event", TransactionV2Type), + event: event, + } +} + +func (b *TransactionV2) Type() string { + return TransactionV2Type +} + +func (b *TransactionV2) Validate(ctx context.Context) error { + _, ok := b.event.Data.(*xatu.DecoratedEvent_MempoolTransactionV2) + if !ok { + return errors.New("failed to cast event data") + } + + return nil +} + +func (b *TransactionV2) Filter(ctx context.Context) bool { + return false +}