diff --git a/pkg/loop/internal/median.go b/pkg/loop/internal/median.go index 093b7fdaf..9cf319c41 100644 --- a/pkg/loop/internal/median.go +++ b/pkg/loop/internal/median.go @@ -298,21 +298,6 @@ func (r *reportCodecServer) MaxReportLength(ctx context.Context, request *pb.Max return &pb.MaxReportLengthReply{Max: int64(l)}, nil } -var _ ChainReaderClient = (*chainReaderClient)(nil) - -type chainReaderClient struct { - grpc pb.ChainReaderClient -} - -var _ pb.ChainReaderServer = (*chainReaderServer)(nil) - -type chainReaderServer struct { - pb.UnimplementedChainReaderServer - impl types.ChainReader -} - -// TODO: implement GetLatestValue() etc. - var _ median.OnchainConfigCodec = (*onchainConfigCodecClient)(nil) type onchainConfigCodecClient struct { diff --git a/pkg/loop/internal/pb/median.pb.go b/pkg/loop/internal/pb/median.pb.go index 73b340d68..c0b693877 100644 --- a/pkg/loop/internal/pb/median.pb.go +++ b/pkg/loop/internal/pb/median.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 -// protoc v3.21.12 +// protoc v4.24.4 // source: median.proto package pb @@ -10,7 +10,6 @@ import ( protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" emptypb "google.golang.org/protobuf/types/known/emptypb" - timestamppb "google.golang.org/protobuf/types/known/timestamppb" reflect "reflect" sync "sync" ) @@ -550,236 +549,6 @@ func (x *MaxReportLengthReply) GetMax() int64 { return 0 } -type LatestTransmissionDetailsRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *LatestTransmissionDetailsRequest) Reset() { - *x = LatestTransmissionDetailsRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_median_proto_msgTypes[10] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *LatestTransmissionDetailsRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*LatestTransmissionDetailsRequest) ProtoMessage() {} - -func (x *LatestTransmissionDetailsRequest) ProtoReflect() protoreflect.Message { - mi := &file_median_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 LatestTransmissionDetailsRequest.ProtoReflect.Descriptor instead. -func (*LatestTransmissionDetailsRequest) Descriptor() ([]byte, []int) { - return file_median_proto_rawDescGZIP(), []int{10} -} - -// LatestTransmissionDetailsReply has return arguments for [github.com/smartcontractkit/libocr/offchainreporting2/reportingplugin/median.MedianContract.LatestTransmissionDetails]. -type LatestTransmissionDetailsReply struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ConfigDigest []byte `protobuf:"bytes,1,opt,name=configDigest,proto3" json:"configDigest,omitempty"` // [32]byte - Epoch uint32 `protobuf:"varint,2,opt,name=epoch,proto3" json:"epoch,omitempty"` - Round uint32 `protobuf:"varint,3,opt,name=round,proto3" json:"round,omitempty"` // uint8 - LatestAnswer *BigInt `protobuf:"bytes,4,opt,name=latestAnswer,proto3" json:"latestAnswer,omitempty"` - LatestTimestamp *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=latestTimestamp,proto3" json:"latestTimestamp,omitempty"` -} - -func (x *LatestTransmissionDetailsReply) Reset() { - *x = LatestTransmissionDetailsReply{} - if protoimpl.UnsafeEnabled { - mi := &file_median_proto_msgTypes[11] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *LatestTransmissionDetailsReply) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*LatestTransmissionDetailsReply) ProtoMessage() {} - -func (x *LatestTransmissionDetailsReply) ProtoReflect() protoreflect.Message { - mi := &file_median_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 LatestTransmissionDetailsReply.ProtoReflect.Descriptor instead. -func (*LatestTransmissionDetailsReply) Descriptor() ([]byte, []int) { - return file_median_proto_rawDescGZIP(), []int{11} -} - -func (x *LatestTransmissionDetailsReply) GetConfigDigest() []byte { - if x != nil { - return x.ConfigDigest - } - return nil -} - -func (x *LatestTransmissionDetailsReply) GetEpoch() uint32 { - if x != nil { - return x.Epoch - } - return 0 -} - -func (x *LatestTransmissionDetailsReply) GetRound() uint32 { - if x != nil { - return x.Round - } - return 0 -} - -func (x *LatestTransmissionDetailsReply) GetLatestAnswer() *BigInt { - if x != nil { - return x.LatestAnswer - } - return nil -} - -func (x *LatestTransmissionDetailsReply) GetLatestTimestamp() *timestamppb.Timestamp { - if x != nil { - return x.LatestTimestamp - } - return nil -} - -// LatestRoundRequestedRequest has arguments for [github.com/smartcontractkit/libocr/offchainreporting2/reportingplugin/median.MedianContract.LatestRoundRequested]. -type LatestRoundRequestedRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Lookback int64 `protobuf:"varint,1,opt,name=lookback,proto3" json:"lookback,omitempty"` // milliseconds -} - -func (x *LatestRoundRequestedRequest) Reset() { - *x = LatestRoundRequestedRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_median_proto_msgTypes[12] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *LatestRoundRequestedRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*LatestRoundRequestedRequest) ProtoMessage() {} - -func (x *LatestRoundRequestedRequest) ProtoReflect() protoreflect.Message { - mi := &file_median_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 LatestRoundRequestedRequest.ProtoReflect.Descriptor instead. -func (*LatestRoundRequestedRequest) Descriptor() ([]byte, []int) { - return file_median_proto_rawDescGZIP(), []int{12} -} - -func (x *LatestRoundRequestedRequest) GetLookback() int64 { - if x != nil { - return x.Lookback - } - return 0 -} - -// LatestRoundRequestedReply has return arguments for [github.com/smartcontractkit/libocr/offchainreporting2/reportingplugin/median.MedianContract.LatestRoundRequested]. -type LatestRoundRequestedReply struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ConfigDigest []byte `protobuf:"bytes,1,opt,name=configDigest,proto3" json:"configDigest,omitempty"` // [32]byte - Epoch uint32 `protobuf:"varint,2,opt,name=epoch,proto3" json:"epoch,omitempty"` - Round uint32 `protobuf:"varint,3,opt,name=round,proto3" json:"round,omitempty"` // uint8 -} - -func (x *LatestRoundRequestedReply) Reset() { - *x = LatestRoundRequestedReply{} - if protoimpl.UnsafeEnabled { - mi := &file_median_proto_msgTypes[13] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *LatestRoundRequestedReply) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*LatestRoundRequestedReply) ProtoMessage() {} - -func (x *LatestRoundRequestedReply) ProtoReflect() protoreflect.Message { - mi := &file_median_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 LatestRoundRequestedReply.ProtoReflect.Descriptor instead. -func (*LatestRoundRequestedReply) Descriptor() ([]byte, []int) { - return file_median_proto_rawDescGZIP(), []int{13} -} - -func (x *LatestRoundRequestedReply) GetConfigDigest() []byte { - if x != nil { - return x.ConfigDigest - } - return nil -} - -func (x *LatestRoundRequestedReply) GetEpoch() uint32 { - if x != nil { - return x.Epoch - } - return 0 -} - -func (x *LatestRoundRequestedReply) GetRound() uint32 { - if x != nil { - return x.Round - } - return 0 -} - // OnchainConfig represents [github.com/smartcontractkit/libocr/offchainreporting2/reportingplugin/median.OnchainConfig]. type OnchainConfig struct { state protoimpl.MessageState @@ -793,7 +562,7 @@ type OnchainConfig struct { func (x *OnchainConfig) Reset() { *x = OnchainConfig{} if protoimpl.UnsafeEnabled { - mi := &file_median_proto_msgTypes[14] + mi := &file_median_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -806,7 +575,7 @@ func (x *OnchainConfig) String() string { func (*OnchainConfig) ProtoMessage() {} func (x *OnchainConfig) ProtoReflect() protoreflect.Message { - mi := &file_median_proto_msgTypes[14] + mi := &file_median_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -819,7 +588,7 @@ func (x *OnchainConfig) ProtoReflect() protoreflect.Message { // Deprecated: Use OnchainConfig.ProtoReflect.Descriptor instead. func (*OnchainConfig) Descriptor() ([]byte, []int) { - return file_median_proto_rawDescGZIP(), []int{14} + return file_median_proto_rawDescGZIP(), []int{10} } func (x *OnchainConfig) GetMin() *BigInt { @@ -848,7 +617,7 @@ type EncodeRequest struct { func (x *EncodeRequest) Reset() { *x = EncodeRequest{} if protoimpl.UnsafeEnabled { - mi := &file_median_proto_msgTypes[15] + mi := &file_median_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -861,7 +630,7 @@ func (x *EncodeRequest) String() string { func (*EncodeRequest) ProtoMessage() {} func (x *EncodeRequest) ProtoReflect() protoreflect.Message { - mi := &file_median_proto_msgTypes[15] + mi := &file_median_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -874,7 +643,7 @@ func (x *EncodeRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use EncodeRequest.ProtoReflect.Descriptor instead. func (*EncodeRequest) Descriptor() ([]byte, []int) { - return file_median_proto_rawDescGZIP(), []int{15} + return file_median_proto_rawDescGZIP(), []int{11} } func (x *EncodeRequest) GetOnchainConfig() *OnchainConfig { @@ -896,7 +665,7 @@ type EncodeReply struct { func (x *EncodeReply) Reset() { *x = EncodeReply{} if protoimpl.UnsafeEnabled { - mi := &file_median_proto_msgTypes[16] + mi := &file_median_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -909,7 +678,7 @@ func (x *EncodeReply) String() string { func (*EncodeReply) ProtoMessage() {} func (x *EncodeReply) ProtoReflect() protoreflect.Message { - mi := &file_median_proto_msgTypes[16] + mi := &file_median_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -922,7 +691,7 @@ func (x *EncodeReply) ProtoReflect() protoreflect.Message { // Deprecated: Use EncodeReply.ProtoReflect.Descriptor instead. func (*EncodeReply) Descriptor() ([]byte, []int) { - return file_median_proto_rawDescGZIP(), []int{16} + return file_median_proto_rawDescGZIP(), []int{12} } func (x *EncodeReply) GetEncoded() []byte { @@ -944,7 +713,7 @@ type DecodeRequest struct { func (x *DecodeRequest) Reset() { *x = DecodeRequest{} if protoimpl.UnsafeEnabled { - mi := &file_median_proto_msgTypes[17] + mi := &file_median_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -957,7 +726,7 @@ func (x *DecodeRequest) String() string { func (*DecodeRequest) ProtoMessage() {} func (x *DecodeRequest) ProtoReflect() protoreflect.Message { - mi := &file_median_proto_msgTypes[17] + mi := &file_median_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -970,7 +739,7 @@ func (x *DecodeRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DecodeRequest.ProtoReflect.Descriptor instead. func (*DecodeRequest) Descriptor() ([]byte, []int) { - return file_median_proto_rawDescGZIP(), []int{17} + return file_median_proto_rawDescGZIP(), []int{13} } func (x *DecodeRequest) GetEncoded() []byte { @@ -992,7 +761,7 @@ type DecodeReply struct { func (x *DecodeReply) Reset() { *x = DecodeReply{} if protoimpl.UnsafeEnabled { - mi := &file_median_proto_msgTypes[18] + mi := &file_median_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1005,7 +774,7 @@ func (x *DecodeReply) String() string { func (*DecodeReply) ProtoMessage() {} func (x *DecodeReply) ProtoReflect() protoreflect.Message { - mi := &file_median_proto_msgTypes[18] + mi := &file_median_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1018,7 +787,7 @@ func (x *DecodeReply) ProtoReflect() protoreflect.Message { // Deprecated: Use DecodeReply.ProtoReflect.Descriptor instead. func (*DecodeReply) Descriptor() ([]byte, []int) { - return file_median_proto_rawDescGZIP(), []int{18} + return file_median_proto_rawDescGZIP(), []int{14} } func (x *DecodeReply) GetOnchainConfig() *OnchainConfig { @@ -1034,162 +803,119 @@ var file_median_proto_rawDesc = []byte{ 0x0a, 0x0c, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x04, 0x6c, 0x6f, 0x6f, 0x70, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x1a, 0x0d, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x22, 0xcb, 0x01, 0x0a, 0x17, 0x4e, 0x65, 0x77, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x6e, 0x46, - 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, - 0x10, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x49, - 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x6e, 0x50, - 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x49, 0x44, 0x12, 0x22, 0x0a, 0x0c, 0x64, 0x61, 0x74, - 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x0c, 0x64, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x44, 0x12, 0x40, 0x0a, - 0x1b, 0x6a, 0x75, 0x65, 0x6c, 0x73, 0x50, 0x65, 0x72, 0x46, 0x65, 0x65, 0x43, 0x6f, 0x69, 0x6e, - 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x1b, 0x6a, 0x75, 0x65, 0x6c, 0x73, 0x50, 0x65, 0x72, 0x46, 0x65, 0x65, 0x43, - 0x6f, 0x69, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x44, 0x12, - 0x1e, 0x0a, 0x0a, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4c, 0x6f, 0x67, 0x49, 0x44, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4c, 0x6f, 0x67, 0x49, 0x44, 0x22, - 0x53, 0x0a, 0x15, 0x4e, 0x65, 0x77, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x6e, 0x46, 0x61, 0x63, 0x74, - 0x6f, 0x72, 0x79, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x3a, 0x0a, 0x18, 0x72, 0x65, 0x70, 0x6f, - 0x72, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x46, 0x61, 0x63, 0x74, 0x6f, - 0x72, 0x79, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x18, 0x72, 0x65, 0x70, 0x6f, - 0x72, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x46, 0x61, 0x63, 0x74, 0x6f, - 0x72, 0x79, 0x49, 0x44, 0x22, 0x2c, 0x0a, 0x10, 0x53, 0x61, 0x76, 0x65, 0x45, 0x72, 0x72, 0x6f, - 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x22, 0xb3, 0x01, 0x0a, 0x1b, 0x50, 0x61, 0x72, 0x73, 0x65, 0x64, 0x41, 0x74, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x64, 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x12, 0x22, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x0c, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x42, 0x69, 0x67, 0x49, 0x6e, 0x74, 0x52, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x12, 0x36, 0x0a, 0x0f, 0x6a, 0x75, 0x6c, 0x65, 0x73, 0x50, 0x65, 0x72, - 0x46, 0x65, 0x65, 0x43, 0x6f, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, - 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x42, 0x69, 0x67, 0x49, 0x6e, 0x74, 0x52, 0x0f, 0x6a, 0x75, 0x6c, - 0x65, 0x73, 0x50, 0x65, 0x72, 0x46, 0x65, 0x65, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, - 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, - 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x22, 0x5b, 0x0a, 0x12, 0x42, 0x75, 0x69, 0x6c, - 0x64, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x45, - 0x0a, 0x0c, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x50, 0x61, 0x72, 0x73, - 0x65, 0x64, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x64, 0x4f, 0x62, 0x73, 0x65, - 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x2a, 0x0a, 0x10, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x65, - 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x70, - 0x6f, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x72, 0x65, 0x70, 0x6f, 0x72, - 0x74, 0x22, 0x31, 0x0a, 0x17, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x6e, 0x46, 0x72, 0x6f, 0x6d, 0x52, - 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, - 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x72, 0x65, - 0x70, 0x6f, 0x72, 0x74, 0x22, 0x3d, 0x0a, 0x15, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x6e, 0x46, 0x72, - 0x6f, 0x6d, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x24, 0x0a, - 0x06, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, - 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x42, 0x69, 0x67, 0x49, 0x6e, 0x74, 0x52, 0x06, 0x6d, 0x65, 0x64, - 0x69, 0x61, 0x6e, 0x22, 0x26, 0x0a, 0x16, 0x4d, 0x61, 0x78, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, - 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0c, 0x0a, - 0x01, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x01, 0x6e, 0x22, 0x28, 0x0a, 0x14, 0x4d, - 0x61, 0x78, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x52, 0x65, - 0x70, 0x6c, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x61, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x03, 0x6d, 0x61, 0x78, 0x22, 0x22, 0x0a, 0x20, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x54, - 0x72, 0x61, 0x6e, 0x73, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, - 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xe8, 0x01, 0x0a, 0x1e, 0x4c, 0x61, - 0x74, 0x65, 0x73, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x22, 0x0a, 0x0c, - 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0c, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, - 0x12, 0x14, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x30, 0x0a, 0x0c, - 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, + 0x6f, 0x1a, 0x0d, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x22, 0xcb, 0x01, 0x0a, 0x17, 0x4e, 0x65, 0x77, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x6e, 0x46, 0x61, + 0x63, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x10, + 0x6d, 0x65, 0x64, 0x69, 0x61, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x49, 0x44, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x6e, 0x50, 0x72, + 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x49, 0x44, 0x12, 0x22, 0x0a, 0x0c, 0x64, 0x61, 0x74, 0x61, + 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, + 0x64, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x44, 0x12, 0x40, 0x0a, 0x1b, + 0x6a, 0x75, 0x65, 0x6c, 0x73, 0x50, 0x65, 0x72, 0x46, 0x65, 0x65, 0x43, 0x6f, 0x69, 0x6e, 0x44, + 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x1b, 0x6a, 0x75, 0x65, 0x6c, 0x73, 0x50, 0x65, 0x72, 0x46, 0x65, 0x65, 0x43, 0x6f, + 0x69, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x44, 0x12, 0x1e, + 0x0a, 0x0a, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4c, 0x6f, 0x67, 0x49, 0x44, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x0a, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4c, 0x6f, 0x67, 0x49, 0x44, 0x22, 0x53, + 0x0a, 0x15, 0x4e, 0x65, 0x77, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x6e, 0x46, 0x61, 0x63, 0x74, 0x6f, + 0x72, 0x79, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x3a, 0x0a, 0x18, 0x72, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x69, 0x6e, 0x67, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, + 0x79, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x18, 0x72, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x69, 0x6e, 0x67, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, + 0x79, 0x49, 0x44, 0x22, 0x2c, 0x0a, 0x10, 0x53, 0x61, 0x76, 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x22, 0xb3, 0x01, 0x0a, 0x1b, 0x50, 0x61, 0x72, 0x73, 0x65, 0x64, 0x41, 0x74, 0x74, 0x72, + 0x69, 0x62, 0x75, 0x74, 0x65, 0x64, 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, + 0x22, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, + 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x42, 0x69, 0x67, 0x49, 0x6e, 0x74, 0x52, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x12, 0x36, 0x0a, 0x0f, 0x6a, 0x75, 0x6c, 0x65, 0x73, 0x50, 0x65, 0x72, 0x46, + 0x65, 0x65, 0x43, 0x6f, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x6c, + 0x6f, 0x6f, 0x70, 0x2e, 0x42, 0x69, 0x67, 0x49, 0x6e, 0x74, 0x52, 0x0f, 0x6a, 0x75, 0x6c, 0x65, + 0x73, 0x50, 0x65, 0x72, 0x46, 0x65, 0x65, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x6f, + 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6f, + 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x22, 0x5b, 0x0a, 0x12, 0x42, 0x75, 0x69, 0x6c, 0x64, + 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, + 0x0c, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x50, 0x61, 0x72, 0x73, 0x65, + 0x64, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x64, 0x4f, 0x62, 0x73, 0x65, 0x72, + 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x2a, 0x0a, 0x10, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x22, 0x31, 0x0a, 0x17, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x6e, 0x46, 0x72, 0x6f, 0x6d, 0x52, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x72, + 0x65, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x72, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x22, 0x3d, 0x0a, 0x15, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x6e, 0x46, 0x72, 0x6f, + 0x6d, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x24, 0x0a, 0x06, + 0x6d, 0x65, 0x64, 0x69, 0x61, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x6c, + 0x6f, 0x6f, 0x70, 0x2e, 0x42, 0x69, 0x67, 0x49, 0x6e, 0x74, 0x52, 0x06, 0x6d, 0x65, 0x64, 0x69, + 0x61, 0x6e, 0x22, 0x26, 0x0a, 0x16, 0x4d, 0x61, 0x78, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, + 0x65, 0x6e, 0x67, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0c, 0x0a, 0x01, + 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x01, 0x6e, 0x22, 0x28, 0x0a, 0x14, 0x4d, 0x61, + 0x78, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x52, 0x65, 0x70, + 0x6c, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x61, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x03, 0x6d, 0x61, 0x78, 0x22, 0x4f, 0x0a, 0x0d, 0x4f, 0x6e, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1e, 0x0a, 0x03, 0x6d, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x42, 0x69, 0x67, 0x49, 0x6e, 0x74, + 0x52, 0x03, 0x6d, 0x69, 0x6e, 0x12, 0x1e, 0x0a, 0x03, 0x6d, 0x61, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x42, 0x69, 0x67, 0x49, 0x6e, 0x74, - 0x52, 0x0c, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x12, 0x44, - 0x0a, 0x0f, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x54, 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, 0x0f, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x22, 0x39, 0x0a, 0x1b, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x52, 0x6f, - 0x75, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x6f, 0x6b, 0x62, 0x61, 0x63, 0x6b, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x6c, 0x6f, 0x6f, 0x6b, 0x62, 0x61, 0x63, 0x6b, 0x22, - 0x6b, 0x0a, 0x19, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x22, 0x0a, 0x0c, - 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0c, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, - 0x12, 0x14, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x22, 0x4f, 0x0a, 0x0d, - 0x4f, 0x6e, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1e, 0x0a, - 0x03, 0x6d, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x6c, 0x6f, 0x6f, - 0x70, 0x2e, 0x42, 0x69, 0x67, 0x49, 0x6e, 0x74, 0x52, 0x03, 0x6d, 0x69, 0x6e, 0x12, 0x1e, 0x0a, - 0x03, 0x6d, 0x61, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x6c, 0x6f, 0x6f, - 0x70, 0x2e, 0x42, 0x69, 0x67, 0x49, 0x6e, 0x74, 0x52, 0x03, 0x6d, 0x61, 0x78, 0x22, 0x4a, 0x0a, - 0x0d, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x39, - 0x0a, 0x0d, 0x6f, 0x6e, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x4f, 0x6e, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0d, 0x6f, 0x6e, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x27, 0x0a, 0x0b, 0x45, 0x6e, 0x63, - 0x6f, 0x64, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x63, 0x6f, - 0x64, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x65, 0x6e, 0x63, 0x6f, 0x64, - 0x65, 0x64, 0x22, 0x29, 0x0a, 0x0d, 0x44, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x64, 0x22, 0x48, 0x0a, - 0x0b, 0x44, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x39, 0x0a, 0x0d, - 0x6f, 0x6e, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x4f, 0x6e, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0d, 0x6f, 0x6e, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x32, 0x60, 0x0a, 0x0c, 0x50, 0x6c, 0x75, 0x67, 0x69, - 0x6e, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x6e, 0x12, 0x50, 0x0a, 0x10, 0x4e, 0x65, 0x77, 0x4d, 0x65, - 0x64, 0x69, 0x61, 0x6e, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x1d, 0x2e, 0x6c, 0x6f, - 0x6f, 0x70, 0x2e, 0x4e, 0x65, 0x77, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x6e, 0x46, 0x61, 0x63, 0x74, - 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x6c, 0x6f, 0x6f, - 0x70, 0x2e, 0x4e, 0x65, 0x77, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x6e, 0x46, 0x61, 0x63, 0x74, 0x6f, - 0x72, 0x79, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x32, 0x49, 0x0a, 0x08, 0x45, 0x72, 0x72, - 0x6f, 0x72, 0x4c, 0x6f, 0x67, 0x12, 0x3d, 0x0a, 0x09, 0x53, 0x61, 0x76, 0x65, 0x45, 0x72, 0x72, - 0x6f, 0x72, 0x12, 0x16, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x53, 0x61, 0x76, 0x65, 0x45, 0x72, - 0x72, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, - 0x74, 0x79, 0x22, 0x00, 0x32, 0xf1, 0x01, 0x0a, 0x0b, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x43, - 0x6f, 0x64, 0x65, 0x63, 0x12, 0x41, 0x0a, 0x0b, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x65, 0x70, - 0x6f, 0x72, 0x74, 0x12, 0x18, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, - 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, - 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, - 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x50, 0x0a, 0x10, 0x4d, 0x65, 0x64, 0x69, 0x61, - 0x6e, 0x46, 0x72, 0x6f, 0x6d, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x1d, 0x2e, 0x6c, 0x6f, - 0x6f, 0x70, 0x2e, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x6e, 0x46, 0x72, 0x6f, 0x6d, 0x52, 0x65, 0x70, - 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x6c, 0x6f, 0x6f, - 0x70, 0x2e, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x6e, 0x46, 0x72, 0x6f, 0x6d, 0x52, 0x65, 0x70, 0x6f, - 0x72, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x4d, 0x0a, 0x0f, 0x4d, 0x61, 0x78, - 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x1c, 0x2e, 0x6c, - 0x6f, 0x6f, 0x70, 0x2e, 0x4d, 0x61, 0x78, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x65, 0x6e, - 0x67, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x6c, 0x6f, 0x6f, - 0x70, 0x2e, 0x4d, 0x61, 0x78, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x65, 0x6e, 0x67, 0x74, - 0x68, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x32, 0xdb, 0x01, 0x0a, 0x0e, 0x4d, 0x65, 0x64, - 0x69, 0x61, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x12, 0x6b, 0x0a, 0x19, 0x4c, - 0x61, 0x74, 0x65, 0x73, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x26, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, - 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6d, 0x69, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x24, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x54, 0x72, - 0x61, 0x6e, 0x73, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, - 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x5c, 0x0a, 0x14, 0x4c, 0x61, 0x74, 0x65, - 0x73, 0x74, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, - 0x12, 0x21, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x52, 0x6f, - 0x75, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x4c, 0x61, 0x74, 0x65, 0x73, - 0x74, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x52, - 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x32, 0x7c, 0x0a, 0x12, 0x4f, 0x6e, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x43, 0x6f, 0x64, 0x65, 0x63, 0x12, 0x32, 0x0a, 0x06, - 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x13, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x45, 0x6e, - 0x63, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x11, 0x2e, 0x6c, 0x6f, - 0x6f, 0x70, 0x2e, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, - 0x12, 0x32, 0x0a, 0x06, 0x44, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x13, 0x2e, 0x6c, 0x6f, 0x6f, - 0x70, 0x2e, 0x44, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x11, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x44, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x70, - 0x6c, 0x79, 0x22, 0x00, 0x42, 0x42, 0x5a, 0x40, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, - 0x6f, 0x6d, 0x2f, 0x73, 0x6d, 0x61, 0x72, 0x74, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, - 0x6b, 0x69, 0x74, 0x2f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x6b, 0x2d, 0x72, 0x65, - 0x6c, 0x61, 0x79, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x6c, 0x6f, 0x6f, 0x70, 0x2f, 0x69, 0x6e, 0x74, - 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x52, 0x03, 0x6d, 0x61, 0x78, 0x22, 0x4a, 0x0a, 0x0d, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x0d, 0x6f, 0x6e, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, + 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x4f, 0x6e, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x52, 0x0d, 0x6f, 0x6e, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x22, 0x27, 0x0a, 0x0b, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, + 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0c, 0x52, 0x07, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x64, 0x22, 0x29, 0x0a, 0x0d, 0x44, 0x65, + 0x63, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x65, + 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x65, 0x6e, + 0x63, 0x6f, 0x64, 0x65, 0x64, 0x22, 0x48, 0x0a, 0x0b, 0x44, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x52, + 0x65, 0x70, 0x6c, 0x79, 0x12, 0x39, 0x0a, 0x0d, 0x6f, 0x6e, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6c, 0x6f, + 0x6f, 0x70, 0x2e, 0x4f, 0x6e, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x52, 0x0d, 0x6f, 0x6e, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x32, + 0x60, 0x0a, 0x0c, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x6e, 0x12, + 0x50, 0x0a, 0x10, 0x4e, 0x65, 0x77, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x6e, 0x46, 0x61, 0x63, 0x74, + 0x6f, 0x72, 0x79, 0x12, 0x1d, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x4e, 0x65, 0x77, 0x4d, 0x65, + 0x64, 0x69, 0x61, 0x6e, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x4e, 0x65, 0x77, 0x4d, 0x65, 0x64, + 0x69, 0x61, 0x6e, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, + 0x00, 0x32, 0x49, 0x0a, 0x08, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x4c, 0x6f, 0x67, 0x12, 0x3d, 0x0a, + 0x09, 0x53, 0x61, 0x76, 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x16, 0x2e, 0x6c, 0x6f, 0x6f, + 0x70, 0x2e, 0x53, 0x61, 0x76, 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x32, 0xf1, 0x01, 0x0a, + 0x0b, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x63, 0x12, 0x41, 0x0a, 0x0b, + 0x42, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x18, 0x2e, 0x6c, 0x6f, + 0x6f, 0x70, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x42, 0x75, 0x69, + 0x6c, 0x64, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, + 0x50, 0x0a, 0x10, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x6e, 0x46, 0x72, 0x6f, 0x6d, 0x52, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x12, 0x1d, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x4d, 0x65, 0x64, 0x69, 0x61, + 0x6e, 0x46, 0x72, 0x6f, 0x6d, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x6e, + 0x46, 0x72, 0x6f, 0x6d, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, + 0x00, 0x12, 0x4d, 0x0a, 0x0f, 0x4d, 0x61, 0x78, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x65, + 0x6e, 0x67, 0x74, 0x68, 0x12, 0x1c, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x4d, 0x61, 0x78, 0x52, + 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x4d, 0x61, 0x78, 0x52, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, + 0x32, 0x7c, 0x0a, 0x12, 0x4f, 0x6e, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x43, 0x6f, 0x64, 0x65, 0x63, 0x12, 0x32, 0x0a, 0x06, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x65, + 0x12, 0x13, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x11, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x45, 0x6e, 0x63, + 0x6f, 0x64, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x32, 0x0a, 0x06, 0x44, 0x65, + 0x63, 0x6f, 0x64, 0x65, 0x12, 0x13, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x44, 0x65, 0x63, 0x6f, + 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x11, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, + 0x2e, 0x44, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x42, 0x42, + 0x5a, 0x40, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6d, 0x61, + 0x72, 0x74, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x6b, 0x69, 0x74, 0x2f, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x6b, 0x2d, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x2f, 0x70, 0x6b, + 0x67, 0x2f, 0x6c, 0x6f, 0x6f, 0x70, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, + 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -1204,65 +930,54 @@ func file_median_proto_rawDescGZIP() []byte { return file_median_proto_rawDescData } -var file_median_proto_msgTypes = make([]protoimpl.MessageInfo, 19) +var file_median_proto_msgTypes = make([]protoimpl.MessageInfo, 15) var file_median_proto_goTypes = []interface{}{ - (*NewMedianFactoryRequest)(nil), // 0: loop.NewMedianFactoryRequest - (*NewMedianFactoryReply)(nil), // 1: loop.NewMedianFactoryReply - (*SaveErrorRequest)(nil), // 2: loop.SaveErrorRequest - (*ParsedAttributedObservation)(nil), // 3: loop.ParsedAttributedObservation - (*BuildReportRequest)(nil), // 4: loop.BuildReportRequest - (*BuildReportReply)(nil), // 5: loop.BuildReportReply - (*MedianFromReportRequest)(nil), // 6: loop.MedianFromReportRequest - (*MedianFromReportReply)(nil), // 7: loop.MedianFromReportReply - (*MaxReportLengthRequest)(nil), // 8: loop.MaxReportLengthRequest - (*MaxReportLengthReply)(nil), // 9: loop.MaxReportLengthReply - (*LatestTransmissionDetailsRequest)(nil), // 10: loop.LatestTransmissionDetailsRequest - (*LatestTransmissionDetailsReply)(nil), // 11: loop.LatestTransmissionDetailsReply - (*LatestRoundRequestedRequest)(nil), // 12: loop.LatestRoundRequestedRequest - (*LatestRoundRequestedReply)(nil), // 13: loop.LatestRoundRequestedReply - (*OnchainConfig)(nil), // 14: loop.OnchainConfig - (*EncodeRequest)(nil), // 15: loop.EncodeRequest - (*EncodeReply)(nil), // 16: loop.EncodeReply - (*DecodeRequest)(nil), // 17: loop.DecodeRequest - (*DecodeReply)(nil), // 18: loop.DecodeReply - (*BigInt)(nil), // 19: loop.BigInt - (*timestamppb.Timestamp)(nil), // 20: google.protobuf.Timestamp - (*emptypb.Empty)(nil), // 21: google.protobuf.Empty + (*NewMedianFactoryRequest)(nil), // 0: loop.NewMedianFactoryRequest + (*NewMedianFactoryReply)(nil), // 1: loop.NewMedianFactoryReply + (*SaveErrorRequest)(nil), // 2: loop.SaveErrorRequest + (*ParsedAttributedObservation)(nil), // 3: loop.ParsedAttributedObservation + (*BuildReportRequest)(nil), // 4: loop.BuildReportRequest + (*BuildReportReply)(nil), // 5: loop.BuildReportReply + (*MedianFromReportRequest)(nil), // 6: loop.MedianFromReportRequest + (*MedianFromReportReply)(nil), // 7: loop.MedianFromReportReply + (*MaxReportLengthRequest)(nil), // 8: loop.MaxReportLengthRequest + (*MaxReportLengthReply)(nil), // 9: loop.MaxReportLengthReply + (*OnchainConfig)(nil), // 10: loop.OnchainConfig + (*EncodeRequest)(nil), // 11: loop.EncodeRequest + (*EncodeReply)(nil), // 12: loop.EncodeReply + (*DecodeRequest)(nil), // 13: loop.DecodeRequest + (*DecodeReply)(nil), // 14: loop.DecodeReply + (*BigInt)(nil), // 15: loop.BigInt + (*emptypb.Empty)(nil), // 16: google.protobuf.Empty } var file_median_proto_depIdxs = []int32{ - 19, // 0: loop.ParsedAttributedObservation.value:type_name -> loop.BigInt - 19, // 1: loop.ParsedAttributedObservation.julesPerFeeCoin:type_name -> loop.BigInt + 15, // 0: loop.ParsedAttributedObservation.value:type_name -> loop.BigInt + 15, // 1: loop.ParsedAttributedObservation.julesPerFeeCoin:type_name -> loop.BigInt 3, // 2: loop.BuildReportRequest.observations:type_name -> loop.ParsedAttributedObservation - 19, // 3: loop.MedianFromReportReply.median:type_name -> loop.BigInt - 19, // 4: loop.LatestTransmissionDetailsReply.latestAnswer:type_name -> loop.BigInt - 20, // 5: loop.LatestTransmissionDetailsReply.latestTimestamp:type_name -> google.protobuf.Timestamp - 19, // 6: loop.OnchainConfig.min:type_name -> loop.BigInt - 19, // 7: loop.OnchainConfig.max:type_name -> loop.BigInt - 14, // 8: loop.EncodeRequest.onchainConfig:type_name -> loop.OnchainConfig - 14, // 9: loop.DecodeReply.onchainConfig:type_name -> loop.OnchainConfig - 0, // 10: loop.PluginMedian.NewMedianFactory:input_type -> loop.NewMedianFactoryRequest - 2, // 11: loop.ErrorLog.SaveError:input_type -> loop.SaveErrorRequest - 4, // 12: loop.ReportCodec.BuildReport:input_type -> loop.BuildReportRequest - 6, // 13: loop.ReportCodec.MedianFromReport:input_type -> loop.MedianFromReportRequest - 8, // 14: loop.ReportCodec.MaxReportLength:input_type -> loop.MaxReportLengthRequest - 10, // 15: loop.MedianContract.LatestTransmissionDetails:input_type -> loop.LatestTransmissionDetailsRequest - 12, // 16: loop.MedianContract.LatestRoundRequested:input_type -> loop.LatestRoundRequestedRequest - 15, // 17: loop.OnchainConfigCodec.Encode:input_type -> loop.EncodeRequest - 17, // 18: loop.OnchainConfigCodec.Decode:input_type -> loop.DecodeRequest - 1, // 19: loop.PluginMedian.NewMedianFactory:output_type -> loop.NewMedianFactoryReply - 21, // 20: loop.ErrorLog.SaveError:output_type -> google.protobuf.Empty - 5, // 21: loop.ReportCodec.BuildReport:output_type -> loop.BuildReportReply - 7, // 22: loop.ReportCodec.MedianFromReport:output_type -> loop.MedianFromReportReply - 9, // 23: loop.ReportCodec.MaxReportLength:output_type -> loop.MaxReportLengthReply - 11, // 24: loop.MedianContract.LatestTransmissionDetails:output_type -> loop.LatestTransmissionDetailsReply - 13, // 25: loop.MedianContract.LatestRoundRequested:output_type -> loop.LatestRoundRequestedReply - 16, // 26: loop.OnchainConfigCodec.Encode:output_type -> loop.EncodeReply - 18, // 27: loop.OnchainConfigCodec.Decode:output_type -> loop.DecodeReply - 19, // [19:28] is the sub-list for method output_type - 10, // [10:19] 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 + 15, // 3: loop.MedianFromReportReply.median:type_name -> loop.BigInt + 15, // 4: loop.OnchainConfig.min:type_name -> loop.BigInt + 15, // 5: loop.OnchainConfig.max:type_name -> loop.BigInt + 10, // 6: loop.EncodeRequest.onchainConfig:type_name -> loop.OnchainConfig + 10, // 7: loop.DecodeReply.onchainConfig:type_name -> loop.OnchainConfig + 0, // 8: loop.PluginMedian.NewMedianFactory:input_type -> loop.NewMedianFactoryRequest + 2, // 9: loop.ErrorLog.SaveError:input_type -> loop.SaveErrorRequest + 4, // 10: loop.ReportCodec.BuildReport:input_type -> loop.BuildReportRequest + 6, // 11: loop.ReportCodec.MedianFromReport:input_type -> loop.MedianFromReportRequest + 8, // 12: loop.ReportCodec.MaxReportLength:input_type -> loop.MaxReportLengthRequest + 11, // 13: loop.OnchainConfigCodec.Encode:input_type -> loop.EncodeRequest + 13, // 14: loop.OnchainConfigCodec.Decode:input_type -> loop.DecodeRequest + 1, // 15: loop.PluginMedian.NewMedianFactory:output_type -> loop.NewMedianFactoryReply + 16, // 16: loop.ErrorLog.SaveError:output_type -> google.protobuf.Empty + 5, // 17: loop.ReportCodec.BuildReport:output_type -> loop.BuildReportReply + 7, // 18: loop.ReportCodec.MedianFromReport:output_type -> loop.MedianFromReportReply + 9, // 19: loop.ReportCodec.MaxReportLength:output_type -> loop.MaxReportLengthReply + 12, // 20: loop.OnchainConfigCodec.Encode:output_type -> loop.EncodeReply + 14, // 21: loop.OnchainConfigCodec.Decode:output_type -> loop.DecodeReply + 15, // [15:22] is the sub-list for method output_type + 8, // [8:15] 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 } func init() { file_median_proto_init() } @@ -1393,54 +1108,6 @@ func file_median_proto_init() { } } file_median_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LatestTransmissionDetailsRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_median_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LatestTransmissionDetailsReply); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_median_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LatestRoundRequestedRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_median_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LatestRoundRequestedReply); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_median_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OnchainConfig); i { case 0: return &v.state @@ -1452,7 +1119,7 @@ func file_median_proto_init() { return nil } } - file_median_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + file_median_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*EncodeRequest); i { case 0: return &v.state @@ -1464,7 +1131,7 @@ func file_median_proto_init() { return nil } } - file_median_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + file_median_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*EncodeReply); i { case 0: return &v.state @@ -1476,7 +1143,7 @@ func file_median_proto_init() { return nil } } - file_median_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + file_median_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DecodeRequest); i { case 0: return &v.state @@ -1488,7 +1155,7 @@ func file_median_proto_init() { return nil } } - file_median_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + file_median_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DecodeReply); i { case 0: return &v.state @@ -1507,9 +1174,9 @@ func file_median_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_median_proto_rawDesc, NumEnums: 0, - NumMessages: 19, + NumMessages: 15, NumExtensions: 0, - NumServices: 5, + NumServices: 4, }, GoTypes: file_median_proto_goTypes, DependencyIndexes: file_median_proto_depIdxs, diff --git a/pkg/loop/internal/pb/median_grpc.pb.go b/pkg/loop/internal/pb/median_grpc.pb.go index 61515c1f9..781af9fc0 100644 --- a/pkg/loop/internal/pb/median_grpc.pb.go +++ b/pkg/loop/internal/pb/median_grpc.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.3.0 -// - protoc v3.21.12 +// - protoc-gen-go-grpc v1.2.0 +// - protoc v4.24.4 // source: median.proto package pb @@ -19,10 +19,6 @@ import ( // Requires gRPC-Go v1.32.0 or later. const _ = grpc.SupportPackageIsVersion7 -const ( - PluginMedian_NewMedianFactory_FullMethodName = "/loop.PluginMedian/NewMedianFactory" -) - // PluginMedianClient is the client API for PluginMedian service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. @@ -40,7 +36,7 @@ func NewPluginMedianClient(cc grpc.ClientConnInterface) PluginMedianClient { func (c *pluginMedianClient) NewMedianFactory(ctx context.Context, in *NewMedianFactoryRequest, opts ...grpc.CallOption) (*NewMedianFactoryReply, error) { out := new(NewMedianFactoryReply) - err := c.cc.Invoke(ctx, PluginMedian_NewMedianFactory_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/loop.PluginMedian/NewMedianFactory", in, out, opts...) if err != nil { return nil, err } @@ -85,7 +81,7 @@ func _PluginMedian_NewMedianFactory_Handler(srv interface{}, ctx context.Context } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: PluginMedian_NewMedianFactory_FullMethodName, + FullMethod: "/loop.PluginMedian/NewMedianFactory", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(PluginMedianServer).NewMedianFactory(ctx, req.(*NewMedianFactoryRequest)) @@ -109,10 +105,6 @@ var PluginMedian_ServiceDesc = grpc.ServiceDesc{ Metadata: "median.proto", } -const ( - ErrorLog_SaveError_FullMethodName = "/loop.ErrorLog/SaveError" -) - // ErrorLogClient is the client API for ErrorLog service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. @@ -130,7 +122,7 @@ func NewErrorLogClient(cc grpc.ClientConnInterface) ErrorLogClient { func (c *errorLogClient) SaveError(ctx context.Context, in *SaveErrorRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { out := new(emptypb.Empty) - err := c.cc.Invoke(ctx, ErrorLog_SaveError_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/loop.ErrorLog/SaveError", in, out, opts...) if err != nil { return nil, err } @@ -175,7 +167,7 @@ func _ErrorLog_SaveError_Handler(srv interface{}, ctx context.Context, dec func( } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: ErrorLog_SaveError_FullMethodName, + FullMethod: "/loop.ErrorLog/SaveError", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ErrorLogServer).SaveError(ctx, req.(*SaveErrorRequest)) @@ -199,12 +191,6 @@ var ErrorLog_ServiceDesc = grpc.ServiceDesc{ Metadata: "median.proto", } -const ( - ReportCodec_BuildReport_FullMethodName = "/loop.ReportCodec/BuildReport" - ReportCodec_MedianFromReport_FullMethodName = "/loop.ReportCodec/MedianFromReport" - ReportCodec_MaxReportLength_FullMethodName = "/loop.ReportCodec/MaxReportLength" -) - // ReportCodecClient is the client API for ReportCodec service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. @@ -224,7 +210,7 @@ func NewReportCodecClient(cc grpc.ClientConnInterface) ReportCodecClient { func (c *reportCodecClient) BuildReport(ctx context.Context, in *BuildReportRequest, opts ...grpc.CallOption) (*BuildReportReply, error) { out := new(BuildReportReply) - err := c.cc.Invoke(ctx, ReportCodec_BuildReport_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/loop.ReportCodec/BuildReport", in, out, opts...) if err != nil { return nil, err } @@ -233,7 +219,7 @@ func (c *reportCodecClient) BuildReport(ctx context.Context, in *BuildReportRequ func (c *reportCodecClient) MedianFromReport(ctx context.Context, in *MedianFromReportRequest, opts ...grpc.CallOption) (*MedianFromReportReply, error) { out := new(MedianFromReportReply) - err := c.cc.Invoke(ctx, ReportCodec_MedianFromReport_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/loop.ReportCodec/MedianFromReport", in, out, opts...) if err != nil { return nil, err } @@ -242,7 +228,7 @@ func (c *reportCodecClient) MedianFromReport(ctx context.Context, in *MedianFrom func (c *reportCodecClient) MaxReportLength(ctx context.Context, in *MaxReportLengthRequest, opts ...grpc.CallOption) (*MaxReportLengthReply, error) { out := new(MaxReportLengthReply) - err := c.cc.Invoke(ctx, ReportCodec_MaxReportLength_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/loop.ReportCodec/MaxReportLength", in, out, opts...) if err != nil { return nil, err } @@ -295,7 +281,7 @@ func _ReportCodec_BuildReport_Handler(srv interface{}, ctx context.Context, dec } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: ReportCodec_BuildReport_FullMethodName, + FullMethod: "/loop.ReportCodec/BuildReport", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ReportCodecServer).BuildReport(ctx, req.(*BuildReportRequest)) @@ -313,7 +299,7 @@ func _ReportCodec_MedianFromReport_Handler(srv interface{}, ctx context.Context, } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: ReportCodec_MedianFromReport_FullMethodName, + FullMethod: "/loop.ReportCodec/MedianFromReport", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ReportCodecServer).MedianFromReport(ctx, req.(*MedianFromReportRequest)) @@ -331,7 +317,7 @@ func _ReportCodec_MaxReportLength_Handler(srv interface{}, ctx context.Context, } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: ReportCodec_MaxReportLength_FullMethodName, + FullMethod: "/loop.ReportCodec/MaxReportLength", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ReportCodecServer).MaxReportLength(ctx, req.(*MaxReportLengthRequest)) @@ -363,138 +349,6 @@ var ReportCodec_ServiceDesc = grpc.ServiceDesc{ Metadata: "median.proto", } -const ( - MedianContract_LatestTransmissionDetails_FullMethodName = "/loop.MedianContract/LatestTransmissionDetails" - MedianContract_LatestRoundRequested_FullMethodName = "/loop.MedianContract/LatestRoundRequested" -) - -// MedianContractClient is the client API for MedianContract service. -// -// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. -type MedianContractClient interface { - LatestTransmissionDetails(ctx context.Context, in *LatestTransmissionDetailsRequest, opts ...grpc.CallOption) (*LatestTransmissionDetailsReply, error) - LatestRoundRequested(ctx context.Context, in *LatestRoundRequestedRequest, opts ...grpc.CallOption) (*LatestRoundRequestedReply, error) -} - -type medianContractClient struct { - cc grpc.ClientConnInterface -} - -func NewMedianContractClient(cc grpc.ClientConnInterface) MedianContractClient { - return &medianContractClient{cc} -} - -func (c *medianContractClient) LatestTransmissionDetails(ctx context.Context, in *LatestTransmissionDetailsRequest, opts ...grpc.CallOption) (*LatestTransmissionDetailsReply, error) { - out := new(LatestTransmissionDetailsReply) - err := c.cc.Invoke(ctx, MedianContract_LatestTransmissionDetails_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *medianContractClient) LatestRoundRequested(ctx context.Context, in *LatestRoundRequestedRequest, opts ...grpc.CallOption) (*LatestRoundRequestedReply, error) { - out := new(LatestRoundRequestedReply) - err := c.cc.Invoke(ctx, MedianContract_LatestRoundRequested_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -// MedianContractServer is the server API for MedianContract service. -// All implementations must embed UnimplementedMedianContractServer -// for forward compatibility -type MedianContractServer interface { - LatestTransmissionDetails(context.Context, *LatestTransmissionDetailsRequest) (*LatestTransmissionDetailsReply, error) - LatestRoundRequested(context.Context, *LatestRoundRequestedRequest) (*LatestRoundRequestedReply, error) - mustEmbedUnimplementedMedianContractServer() -} - -// UnimplementedMedianContractServer must be embedded to have forward compatible implementations. -type UnimplementedMedianContractServer struct { -} - -func (UnimplementedMedianContractServer) LatestTransmissionDetails(context.Context, *LatestTransmissionDetailsRequest) (*LatestTransmissionDetailsReply, error) { - return nil, status.Errorf(codes.Unimplemented, "method LatestTransmissionDetails not implemented") -} -func (UnimplementedMedianContractServer) LatestRoundRequested(context.Context, *LatestRoundRequestedRequest) (*LatestRoundRequestedReply, error) { - return nil, status.Errorf(codes.Unimplemented, "method LatestRoundRequested not implemented") -} -func (UnimplementedMedianContractServer) mustEmbedUnimplementedMedianContractServer() {} - -// UnsafeMedianContractServer may be embedded to opt out of forward compatibility for this service. -// Use of this interface is not recommended, as added methods to MedianContractServer will -// result in compilation errors. -type UnsafeMedianContractServer interface { - mustEmbedUnimplementedMedianContractServer() -} - -func RegisterMedianContractServer(s grpc.ServiceRegistrar, srv MedianContractServer) { - s.RegisterService(&MedianContract_ServiceDesc, srv) -} - -func _MedianContract_LatestTransmissionDetails_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(LatestTransmissionDetailsRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(MedianContractServer).LatestTransmissionDetails(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: MedianContract_LatestTransmissionDetails_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MedianContractServer).LatestTransmissionDetails(ctx, req.(*LatestTransmissionDetailsRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _MedianContract_LatestRoundRequested_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(LatestRoundRequestedRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(MedianContractServer).LatestRoundRequested(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: MedianContract_LatestRoundRequested_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MedianContractServer).LatestRoundRequested(ctx, req.(*LatestRoundRequestedRequest)) - } - return interceptor(ctx, in, info, handler) -} - -// MedianContract_ServiceDesc is the grpc.ServiceDesc for MedianContract service. -// It's only intended for direct use with grpc.RegisterService, -// and not to be introspected or modified (even as a copy) -var MedianContract_ServiceDesc = grpc.ServiceDesc{ - ServiceName: "loop.MedianContract", - HandlerType: (*MedianContractServer)(nil), - Methods: []grpc.MethodDesc{ - { - MethodName: "LatestTransmissionDetails", - Handler: _MedianContract_LatestTransmissionDetails_Handler, - }, - { - MethodName: "LatestRoundRequested", - Handler: _MedianContract_LatestRoundRequested_Handler, - }, - }, - Streams: []grpc.StreamDesc{}, - Metadata: "median.proto", -} - -const ( - OnchainConfigCodec_Encode_FullMethodName = "/loop.OnchainConfigCodec/Encode" - OnchainConfigCodec_Decode_FullMethodName = "/loop.OnchainConfigCodec/Decode" -) - // OnchainConfigCodecClient is the client API for OnchainConfigCodec service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. @@ -513,7 +367,7 @@ func NewOnchainConfigCodecClient(cc grpc.ClientConnInterface) OnchainConfigCodec func (c *onchainConfigCodecClient) Encode(ctx context.Context, in *EncodeRequest, opts ...grpc.CallOption) (*EncodeReply, error) { out := new(EncodeReply) - err := c.cc.Invoke(ctx, OnchainConfigCodec_Encode_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/loop.OnchainConfigCodec/Encode", in, out, opts...) if err != nil { return nil, err } @@ -522,7 +376,7 @@ func (c *onchainConfigCodecClient) Encode(ctx context.Context, in *EncodeRequest func (c *onchainConfigCodecClient) Decode(ctx context.Context, in *DecodeRequest, opts ...grpc.CallOption) (*DecodeReply, error) { out := new(DecodeReply) - err := c.cc.Invoke(ctx, OnchainConfigCodec_Decode_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/loop.OnchainConfigCodec/Decode", in, out, opts...) if err != nil { return nil, err } @@ -571,7 +425,7 @@ func _OnchainConfigCodec_Encode_Handler(srv interface{}, ctx context.Context, de } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: OnchainConfigCodec_Encode_FullMethodName, + FullMethod: "/loop.OnchainConfigCodec/Encode", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(OnchainConfigCodecServer).Encode(ctx, req.(*EncodeRequest)) @@ -589,7 +443,7 @@ func _OnchainConfigCodec_Decode_Handler(srv interface{}, ctx context.Context, de } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: OnchainConfigCodec_Decode_FullMethodName, + FullMethod: "/loop.OnchainConfigCodec/Decode", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(OnchainConfigCodecServer).Decode(ctx, req.(*DecodeRequest)) diff --git a/pkg/loop/internal/pb/relayer.pb.go b/pkg/loop/internal/pb/relayer.pb.go index 1d230b3f9..81ab4ea80 100644 --- a/pkg/loop/internal/pb/relayer.pb.go +++ b/pkg/loop/internal/pb/relayer.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 -// protoc v3.21.12 +// protoc v4.24.4 // source: relayer.proto package pb @@ -2372,6 +2372,415 @@ func (x *FromAccountReply) GetAccount() string { return "" } +// TODO +type RegisterEventFilterRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *RegisterEventFilterRequest) Reset() { + *x = RegisterEventFilterRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_relayer_proto_msgTypes[44] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RegisterEventFilterRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RegisterEventFilterRequest) ProtoMessage() {} + +func (x *RegisterEventFilterRequest) ProtoReflect() protoreflect.Message { + mi := &file_relayer_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 RegisterEventFilterRequest.ProtoReflect.Descriptor instead. +func (*RegisterEventFilterRequest) Descriptor() ([]byte, []int) { + return file_relayer_proto_rawDescGZIP(), []int{44} +} + +// TODO +type RegisterEventFilterReply struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *RegisterEventFilterReply) Reset() { + *x = RegisterEventFilterReply{} + if protoimpl.UnsafeEnabled { + mi := &file_relayer_proto_msgTypes[45] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RegisterEventFilterReply) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RegisterEventFilterReply) ProtoMessage() {} + +func (x *RegisterEventFilterReply) ProtoReflect() protoreflect.Message { + mi := &file_relayer_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 RegisterEventFilterReply.ProtoReflect.Descriptor instead. +func (*RegisterEventFilterReply) Descriptor() ([]byte, []int) { + return file_relayer_proto_rawDescGZIP(), []int{45} +} + +// TODO +type UnregisterEventFilterRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *UnregisterEventFilterRequest) Reset() { + *x = UnregisterEventFilterRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_relayer_proto_msgTypes[46] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UnregisterEventFilterRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UnregisterEventFilterRequest) ProtoMessage() {} + +func (x *UnregisterEventFilterRequest) ProtoReflect() protoreflect.Message { + mi := &file_relayer_proto_msgTypes[46] + 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 UnregisterEventFilterRequest.ProtoReflect.Descriptor instead. +func (*UnregisterEventFilterRequest) Descriptor() ([]byte, []int) { + return file_relayer_proto_rawDescGZIP(), []int{46} +} + +// TODO +type UnregisterEventFilterReply struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *UnregisterEventFilterReply) Reset() { + *x = UnregisterEventFilterReply{} + if protoimpl.UnsafeEnabled { + mi := &file_relayer_proto_msgTypes[47] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UnregisterEventFilterReply) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UnregisterEventFilterReply) ProtoMessage() {} + +func (x *UnregisterEventFilterReply) ProtoReflect() protoreflect.Message { + mi := &file_relayer_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 UnregisterEventFilterReply.ProtoReflect.Descriptor instead. +func (*UnregisterEventFilterReply) Descriptor() ([]byte, []int) { + return file_relayer_proto_rawDescGZIP(), []int{47} +} + +// TODO +type QueryEventsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *QueryEventsRequest) Reset() { + *x = QueryEventsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_relayer_proto_msgTypes[48] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryEventsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryEventsRequest) ProtoMessage() {} + +func (x *QueryEventsRequest) ProtoReflect() protoreflect.Message { + mi := &file_relayer_proto_msgTypes[48] + 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 QueryEventsRequest.ProtoReflect.Descriptor instead. +func (*QueryEventsRequest) Descriptor() ([]byte, []int) { + return file_relayer_proto_rawDescGZIP(), []int{48} +} + +// TODO +type QueryEventsReply struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *QueryEventsReply) Reset() { + *x = QueryEventsReply{} + if protoimpl.UnsafeEnabled { + mi := &file_relayer_proto_msgTypes[49] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryEventsReply) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryEventsReply) ProtoMessage() {} + +func (x *QueryEventsReply) ProtoReflect() protoreflect.Message { + mi := &file_relayer_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 QueryEventsReply.ProtoReflect.Descriptor instead. +func (*QueryEventsReply) Descriptor() ([]byte, []int) { + return file_relayer_proto_rawDescGZIP(), []int{49} +} + +// GetLatestValueRequest has arguments for [github.com/smartcontractkit/chainlink-relay/pkg/types.ChainReader.GetLatestValue]. +type GetLatestValueRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Bc *BoundContract `protobuf:"bytes,1,opt,name=bc,proto3" json:"bc,omitempty"` + Method string `protobuf:"bytes,2,opt,name=method,proto3" json:"method,omitempty"` + Params string `protobuf:"bytes,3,opt,name=params,proto3" json:"params,omitempty"` + ReturnVal string `protobuf:"bytes,4,opt,name=returnVal,proto3" json:"returnVal,omitempty"` +} + +func (x *GetLatestValueRequest) Reset() { + *x = GetLatestValueRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_relayer_proto_msgTypes[50] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetLatestValueRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetLatestValueRequest) ProtoMessage() {} + +func (x *GetLatestValueRequest) ProtoReflect() protoreflect.Message { + mi := &file_relayer_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 GetLatestValueRequest.ProtoReflect.Descriptor instead. +func (*GetLatestValueRequest) Descriptor() ([]byte, []int) { + return file_relayer_proto_rawDescGZIP(), []int{50} +} + +func (x *GetLatestValueRequest) GetBc() *BoundContract { + if x != nil { + return x.Bc + } + return nil +} + +func (x *GetLatestValueRequest) GetMethod() string { + if x != nil { + return x.Method + } + return "" +} + +func (x *GetLatestValueRequest) GetParams() string { + if x != nil { + return x.Params + } + return "" +} + +func (x *GetLatestValueRequest) GetReturnVal() string { + if x != nil { + return x.ReturnVal + } + return "" +} + +// GetLatestValueReply has return arguments for [github.com/smartcontractkit/chainlink-relay/pkg/types.ChainReader.GetLatestValue]. +type GetLatestValueReply struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *GetLatestValueReply) Reset() { + *x = GetLatestValueReply{} + if protoimpl.UnsafeEnabled { + mi := &file_relayer_proto_msgTypes[51] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetLatestValueReply) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetLatestValueReply) ProtoMessage() {} + +func (x *GetLatestValueReply) ProtoReflect() protoreflect.Message { + mi := &file_relayer_proto_msgTypes[51] + 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 GetLatestValueReply.ProtoReflect.Descriptor instead. +func (*GetLatestValueReply) Descriptor() ([]byte, []int) { + return file_relayer_proto_rawDescGZIP(), []int{51} +} + +// BoundContract represents a [github.com/smartcontractkit/chainlink-relay/pkg/types.BoundContract]. +type BoundContract struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + Pending bool `protobuf:"varint,3,opt,name=pending,proto3" json:"pending,omitempty"` +} + +func (x *BoundContract) Reset() { + *x = BoundContract{} + if protoimpl.UnsafeEnabled { + mi := &file_relayer_proto_msgTypes[52] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BoundContract) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BoundContract) ProtoMessage() {} + +func (x *BoundContract) ProtoReflect() protoreflect.Message { + mi := &file_relayer_proto_msgTypes[52] + 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 BoundContract.ProtoReflect.Descriptor instead. +func (*BoundContract) Descriptor() ([]byte, []int) { + return file_relayer_proto_rawDescGZIP(), []int{52} +} + +func (x *BoundContract) GetAddress() string { + if x != nil { + return x.Address + } + return "" +} + +func (x *BoundContract) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *BoundContract) GetPending() bool { + if x != nil { + return x.Pending + } + return false +} + // NameReply has return arguments for [github.com/smartcontractkit/chainlink-relay/pkg/types.Service.Name]. type NameReply struct { state protoimpl.MessageState @@ -2384,7 +2793,7 @@ type NameReply struct { func (x *NameReply) Reset() { *x = NameReply{} if protoimpl.UnsafeEnabled { - mi := &file_relayer_proto_msgTypes[44] + mi := &file_relayer_proto_msgTypes[53] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2397,7 +2806,7 @@ func (x *NameReply) String() string { func (*NameReply) ProtoMessage() {} func (x *NameReply) ProtoReflect() protoreflect.Message { - mi := &file_relayer_proto_msgTypes[44] + mi := &file_relayer_proto_msgTypes[53] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2410,7 +2819,7 @@ func (x *NameReply) ProtoReflect() protoreflect.Message { // Deprecated: Use NameReply.ProtoReflect.Descriptor instead. func (*NameReply) Descriptor() ([]byte, []int) { - return file_relayer_proto_rawDescGZIP(), []int{44} + return file_relayer_proto_rawDescGZIP(), []int{53} } func (x *NameReply) GetName() string { @@ -2432,7 +2841,7 @@ type HealthReportReply struct { func (x *HealthReportReply) Reset() { *x = HealthReportReply{} if protoimpl.UnsafeEnabled { - mi := &file_relayer_proto_msgTypes[45] + mi := &file_relayer_proto_msgTypes[54] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2445,7 +2854,7 @@ func (x *HealthReportReply) String() string { func (*HealthReportReply) ProtoMessage() {} func (x *HealthReportReply) ProtoReflect() protoreflect.Message { - mi := &file_relayer_proto_msgTypes[45] + mi := &file_relayer_proto_msgTypes[54] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2458,7 +2867,7 @@ func (x *HealthReportReply) ProtoReflect() protoreflect.Message { // Deprecated: Use HealthReportReply.ProtoReflect.Descriptor instead. func (*HealthReportReply) Descriptor() ([]byte, []int) { - return file_relayer_proto_rawDescGZIP(), []int{45} + return file_relayer_proto_rawDescGZIP(), []int{54} } func (x *HealthReportReply) GetHealthReport() map[string]string { @@ -2481,7 +2890,7 @@ type BigInt struct { func (x *BigInt) Reset() { *x = BigInt{} if protoimpl.UnsafeEnabled { - mi := &file_relayer_proto_msgTypes[46] + mi := &file_relayer_proto_msgTypes[55] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2494,7 +2903,7 @@ func (x *BigInt) String() string { func (*BigInt) ProtoMessage() {} func (x *BigInt) ProtoReflect() protoreflect.Message { - mi := &file_relayer_proto_msgTypes[46] + mi := &file_relayer_proto_msgTypes[55] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2507,7 +2916,7 @@ func (x *BigInt) ProtoReflect() protoreflect.Message { // Deprecated: Use BigInt.ProtoReflect.Descriptor instead. func (*BigInt) Descriptor() ([]byte, []int) { - return file_relayer_proto_rawDescGZIP(), []int{46} + return file_relayer_proto_rawDescGZIP(), []int{55} } func (x *BigInt) GetNegative() bool { @@ -2536,7 +2945,7 @@ type StarknetSignature struct { func (x *StarknetSignature) Reset() { *x = StarknetSignature{} if protoimpl.UnsafeEnabled { - mi := &file_relayer_proto_msgTypes[47] + mi := &file_relayer_proto_msgTypes[56] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2549,7 +2958,7 @@ func (x *StarknetSignature) String() string { func (*StarknetSignature) ProtoMessage() {} func (x *StarknetSignature) ProtoReflect() protoreflect.Message { - mi := &file_relayer_proto_msgTypes[47] + mi := &file_relayer_proto_msgTypes[56] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2562,7 +2971,7 @@ func (x *StarknetSignature) ProtoReflect() protoreflect.Message { // Deprecated: Use StarknetSignature.ProtoReflect.Descriptor instead. func (*StarknetSignature) Descriptor() ([]byte, []int) { - return file_relayer_proto_rawDescGZIP(), []int{47} + return file_relayer_proto_rawDescGZIP(), []int{56} } func (x *StarknetSignature) GetX() *BigInt { @@ -2590,7 +2999,7 @@ type StarknetMessageHash struct { func (x *StarknetMessageHash) Reset() { *x = StarknetMessageHash{} if protoimpl.UnsafeEnabled { - mi := &file_relayer_proto_msgTypes[48] + mi := &file_relayer_proto_msgTypes[57] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2603,7 +3012,7 @@ func (x *StarknetMessageHash) String() string { func (*StarknetMessageHash) ProtoMessage() {} func (x *StarknetMessageHash) ProtoReflect() protoreflect.Message { - mi := &file_relayer_proto_msgTypes[48] + mi := &file_relayer_proto_msgTypes[57] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2616,7 +3025,7 @@ func (x *StarknetMessageHash) ProtoReflect() protoreflect.Message { // Deprecated: Use StarknetMessageHash.ProtoReflect.Descriptor instead. func (*StarknetMessageHash) Descriptor() ([]byte, []int) { - return file_relayer_proto_rawDescGZIP(), []int{48} + return file_relayer_proto_rawDescGZIP(), []int{57} } func (x *StarknetMessageHash) GetHash() *BigInt { @@ -2857,146 +3266,194 @@ var file_relayer_proto_rawDesc = []byte{ 0x73, 0x74, 0x22, 0x2c, 0x0a, 0x10, 0x46, 0x72, 0x6f, 0x6d, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x22, 0x1f, 0x0a, 0x09, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x12, 0x0a, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x22, 0xa3, 0x01, 0x0a, 0x11, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x52, 0x65, 0x70, 0x6f, - 0x72, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x4d, 0x0a, 0x0c, 0x68, 0x65, 0x61, 0x6c, 0x74, - 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, - 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, - 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x52, 0x65, 0x70, - 0x6f, 0x72, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, - 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x1a, 0x3f, 0x0a, 0x11, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, - 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 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, 0x3a, 0x0a, 0x06, 0x42, 0x69, 0x67, 0x49, 0x6e, - 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x65, 0x67, 0x61, 0x74, 0x69, 0x76, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x08, 0x6e, 0x65, 0x67, 0x61, 0x74, 0x69, 0x76, 0x65, 0x12, 0x14, 0x0a, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x22, 0x4b, 0x0a, 0x11, 0x53, 0x74, 0x61, 0x72, 0x6b, 0x6e, 0x65, 0x74, 0x53, - 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x1a, 0x0a, 0x01, 0x78, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x42, 0x69, 0x67, 0x49, 0x6e, - 0x74, 0x52, 0x01, 0x78, 0x12, 0x1a, 0x0a, 0x01, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x0c, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x42, 0x69, 0x67, 0x49, 0x6e, 0x74, 0x52, 0x01, 0x79, - 0x22, 0x37, 0x0a, 0x13, 0x53, 0x74, 0x61, 0x72, 0x6b, 0x6e, 0x65, 0x74, 0x4d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x48, 0x61, 0x73, 0x68, 0x12, 0x20, 0x0a, 0x04, 0x68, 0x61, 0x73, 0x68, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x42, 0x69, 0x67, - 0x49, 0x6e, 0x74, 0x52, 0x04, 0x68, 0x61, 0x73, 0x68, 0x32, 0x4f, 0x0a, 0x0d, 0x50, 0x6c, 0x75, - 0x67, 0x69, 0x6e, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x3e, 0x0a, 0x0a, 0x4e, 0x65, - 0x77, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x17, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, - 0x4e, 0x65, 0x77, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x15, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x4e, 0x65, 0x77, 0x52, 0x65, 0x6c, 0x61, - 0x79, 0x65, 0x72, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x32, 0x73, 0x0a, 0x08, 0x4b, 0x65, - 0x79, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x12, 0x39, 0x0a, 0x08, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x13, 0x2e, 0x6c, 0x6f, 0x6f, - 0x70, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, - 0x00, 0x12, 0x2c, 0x0a, 0x04, 0x53, 0x69, 0x67, 0x6e, 0x12, 0x11, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, - 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0f, 0x2e, 0x6c, - 0x6f, 0x6f, 0x70, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x32, - 0x96, 0x04, 0x0a, 0x07, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x53, 0x0a, 0x11, 0x4e, - 0x65, 0x77, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, - 0x12, 0x1e, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x4e, 0x65, 0x77, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x1c, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x4e, 0x65, 0x77, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, - 0x12, 0x53, 0x0a, 0x11, 0x4e, 0x65, 0x77, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x6e, 0x50, 0x72, 0x6f, - 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x1e, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x4e, 0x65, 0x77, - 0x4d, 0x65, 0x64, 0x69, 0x61, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x4e, 0x65, 0x77, - 0x4d, 0x65, 0x64, 0x69, 0x61, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, - 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x56, 0x0a, 0x12, 0x4e, 0x65, 0x77, 0x4d, 0x65, 0x72, 0x63, - 0x75, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x1f, 0x2e, 0x6c, 0x6f, + 0x22, 0x1c, 0x0a, 0x1a, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x1a, + 0x0a, 0x18, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x46, + 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x1e, 0x0a, 0x1c, 0x55, 0x6e, + 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x46, 0x69, 0x6c, + 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x1c, 0x0a, 0x1a, 0x55, 0x6e, + 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x46, 0x69, 0x6c, + 0x74, 0x65, 0x72, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x14, 0x0a, 0x12, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x12, + 0x0a, 0x10, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x70, + 0x6c, 0x79, 0x22, 0x8a, 0x01, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x02, + 0x62, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, + 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x02, 0x62, + 0x63, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, + 0x61, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, + 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x56, 0x61, 0x6c, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x56, 0x61, 0x6c, 0x22, + 0x15, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x57, 0x0a, 0x0d, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x43, + 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x22, + 0x1f, 0x0a, 0x09, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x12, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x22, 0xa3, 0x01, 0x0a, 0x11, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x4d, 0x0a, 0x0c, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, + 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x6c, + 0x6f, 0x6f, 0x70, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x52, 0x65, 0x70, 0x6c, 0x79, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x52, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x52, + 0x65, 0x70, 0x6f, 0x72, 0x74, 0x1a, 0x3f, 0x0a, 0x11, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x52, + 0x65, 0x70, 0x6f, 0x72, 0x74, 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, 0x3a, 0x0a, 0x06, 0x42, 0x69, 0x67, 0x49, 0x6e, 0x74, + 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x65, 0x67, 0x61, 0x74, 0x69, 0x76, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x08, 0x6e, 0x65, 0x67, 0x61, 0x74, 0x69, 0x76, 0x65, 0x12, 0x14, 0x0a, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x22, 0x4b, 0x0a, 0x11, 0x53, 0x74, 0x61, 0x72, 0x6b, 0x6e, 0x65, 0x74, 0x53, 0x69, + 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x1a, 0x0a, 0x01, 0x78, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x42, 0x69, 0x67, 0x49, 0x6e, 0x74, + 0x52, 0x01, 0x78, 0x12, 0x1a, 0x0a, 0x01, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, + 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x42, 0x69, 0x67, 0x49, 0x6e, 0x74, 0x52, 0x01, 0x79, 0x22, + 0x37, 0x0a, 0x13, 0x53, 0x74, 0x61, 0x72, 0x6b, 0x6e, 0x65, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x48, 0x61, 0x73, 0x68, 0x12, 0x20, 0x0a, 0x04, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x42, 0x69, 0x67, 0x49, + 0x6e, 0x74, 0x52, 0x04, 0x68, 0x61, 0x73, 0x68, 0x32, 0x4f, 0x0a, 0x0d, 0x50, 0x6c, 0x75, 0x67, + 0x69, 0x6e, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x3e, 0x0a, 0x0a, 0x4e, 0x65, 0x77, + 0x52, 0x65, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x17, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x4e, + 0x65, 0x77, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x15, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x4e, 0x65, 0x77, 0x52, 0x65, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x32, 0x73, 0x0a, 0x08, 0x4b, 0x65, 0x79, + 0x73, 0x74, 0x6f, 0x72, 0x65, 0x12, 0x39, 0x0a, 0x08, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x13, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, + 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, + 0x12, 0x2c, 0x0a, 0x04, 0x53, 0x69, 0x67, 0x6e, 0x12, 0x11, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, + 0x53, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0f, 0x2e, 0x6c, 0x6f, + 0x6f, 0x70, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x32, 0x96, + 0x04, 0x0a, 0x07, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x53, 0x0a, 0x11, 0x4e, 0x65, + 0x77, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, + 0x1e, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x4e, 0x65, 0x77, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x1c, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x4e, 0x65, 0x77, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, + 0x53, 0x0a, 0x11, 0x4e, 0x65, 0x77, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x6e, 0x50, 0x72, 0x6f, 0x76, + 0x69, 0x64, 0x65, 0x72, 0x12, 0x1e, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x4e, 0x65, 0x77, 0x4d, + 0x65, 0x64, 0x69, 0x61, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x4e, 0x65, 0x77, 0x4d, + 0x65, 0x64, 0x69, 0x61, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x70, + 0x6c, 0x79, 0x22, 0x00, 0x12, 0x56, 0x0a, 0x12, 0x4e, 0x65, 0x77, 0x4d, 0x65, 0x72, 0x63, 0x75, + 0x72, 0x79, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x1f, 0x2e, 0x6c, 0x6f, 0x6f, + 0x70, 0x2e, 0x4e, 0x65, 0x77, 0x4d, 0x65, 0x72, 0x63, 0x75, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x76, + 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x4e, 0x65, 0x77, 0x4d, 0x65, 0x72, 0x63, 0x75, 0x72, 0x79, 0x50, 0x72, 0x6f, - 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x6c, - 0x6f, 0x6f, 0x70, 0x2e, 0x4e, 0x65, 0x77, 0x4d, 0x65, 0x72, 0x63, 0x75, 0x72, 0x79, 0x50, 0x72, - 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x41, 0x0a, - 0x0b, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x18, 0x2e, 0x6c, - 0x6f, 0x6f, 0x70, 0x2e, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x43, 0x68, - 0x61, 0x69, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, - 0x12, 0x47, 0x0a, 0x0d, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, - 0x73, 0x12, 0x1a, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, - 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x65, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x44, 0x0a, 0x0c, 0x4e, 0x6f, 0x64, - 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x12, 0x19, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, - 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x4e, 0x6f, 0x64, 0x65, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, - 0x37, 0x0a, 0x06, 0x53, 0x65, 0x6e, 0x64, 0x54, 0x78, 0x12, 0x13, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, - 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x54, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x32, 0x43, 0x0a, 0x0a, 0x44, 0x61, 0x74, 0x61, - 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x35, 0x0a, 0x07, 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, - 0x65, 0x12, 0x14, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x12, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x4f, - 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x32, 0xb6, 0x01, - 0x0a, 0x16, 0x4f, 0x66, 0x66, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, 0x65, 0x72, 0x12, 0x44, 0x0a, 0x0c, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, 0x12, 0x19, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x56, - 0x0a, 0x12, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, 0x50, 0x72, - 0x65, 0x66, 0x69, 0x78, 0x12, 0x1f, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x43, 0x6f, 0x6e, 0x66, + 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x41, 0x0a, 0x0b, + 0x43, 0x68, 0x61, 0x69, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x18, 0x2e, 0x6c, 0x6f, + 0x6f, 0x70, 0x2e, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x43, 0x68, 0x61, + 0x69, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, + 0x47, 0x0a, 0x0d, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, + 0x12, 0x1a, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x6c, + 0x6f, 0x6f, 0x70, 0x2e, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, + 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x44, 0x0a, 0x0c, 0x4e, 0x6f, 0x64, 0x65, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x12, 0x19, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, + 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x37, + 0x0a, 0x06, 0x53, 0x65, 0x6e, 0x64, 0x54, 0x78, 0x12, 0x13, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, + 0x53, 0x65, 0x6e, 0x64, 0x54, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x32, 0x43, 0x0a, 0x0a, 0x44, 0x61, 0x74, 0x61, 0x53, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x35, 0x0a, 0x07, 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, + 0x12, 0x14, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x12, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x4f, 0x62, + 0x73, 0x65, 0x72, 0x76, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x32, 0xb6, 0x01, 0x0a, + 0x16, 0x4f, 0x66, 0x66, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, + 0x69, 0x67, 0x65, 0x73, 0x74, 0x65, 0x72, 0x12, 0x44, 0x0a, 0x0c, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, 0x12, 0x19, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x56, 0x0a, + 0x12, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, 0x50, 0x72, 0x65, + 0x66, 0x69, 0x78, 0x12, 0x1f, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x52, - 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x32, 0x8d, 0x02, 0x0a, 0x15, 0x43, 0x6f, 0x6e, 0x74, 0x72, - 0x61, 0x63, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x65, 0x72, - 0x12, 0x59, 0x0a, 0x13, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x20, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x4c, - 0x61, 0x74, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x65, 0x74, 0x61, 0x69, - 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, - 0x2e, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x65, 0x74, - 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x44, 0x0a, 0x0c, 0x4c, - 0x61, 0x74, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x19, 0x2e, 0x6c, 0x6f, - 0x6f, 0x70, 0x2e, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x4c, 0x61, - 0x74, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, - 0x00, 0x12, 0x53, 0x0a, 0x11, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, - 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x1e, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x4c, 0x61, - 0x74, 0x65, 0x73, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x4c, 0x61, - 0x74, 0x65, 0x73, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x52, - 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x32, 0x82, 0x02, 0x0a, 0x13, 0x43, 0x6f, 0x6e, 0x74, 0x72, - 0x61, 0x63, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x72, 0x12, 0x38, - 0x0a, 0x08, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6d, 0x69, 0x74, 0x12, 0x15, 0x2e, 0x6c, 0x6f, 0x6f, - 0x70, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x13, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6d, 0x69, - 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x6e, 0x0a, 0x1a, 0x4c, 0x61, 0x74, 0x65, - 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, 0x41, 0x6e, - 0x64, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x27, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x4c, 0x61, - 0x74, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, - 0x41, 0x6e, 0x64, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x25, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, 0x41, 0x6e, 0x64, 0x45, 0x70, 0x6f, 0x63, - 0x68, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x41, 0x0a, 0x0b, 0x46, 0x72, 0x6f, 0x6d, - 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x18, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x46, - 0x72, 0x6f, 0x6d, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x16, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x46, 0x72, 0x6f, 0x6d, 0x41, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x32, 0xf5, 0x01, 0x0a, 0x07, - 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x31, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, - 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x0f, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x4e, - 0x61, 0x6d, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x39, 0x0a, 0x05, 0x43, 0x6c, - 0x6f, 0x73, 0x65, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x16, 0x2e, 0x67, 0x6f, + 0x70, 0x6c, 0x79, 0x22, 0x00, 0x32, 0x8d, 0x02, 0x0a, 0x15, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, + 0x63, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x65, 0x72, 0x12, + 0x59, 0x0a, 0x13, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x20, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x4c, 0x61, + 0x74, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, + 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x44, 0x0a, 0x0c, 0x4c, 0x61, + 0x74, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x19, 0x2e, 0x6c, 0x6f, 0x6f, + 0x70, 0x2e, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x4c, 0x61, 0x74, + 0x65, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, + 0x12, 0x53, 0x0a, 0x11, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, + 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x1e, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x4c, 0x61, 0x74, + 0x65, 0x73, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x4c, 0x61, 0x74, + 0x65, 0x73, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x52, 0x65, + 0x70, 0x6c, 0x79, 0x22, 0x00, 0x32, 0x82, 0x02, 0x0a, 0x13, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, + 0x63, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x72, 0x12, 0x38, 0x0a, + 0x08, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6d, 0x69, 0x74, 0x12, 0x15, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, + 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x13, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6d, 0x69, 0x74, + 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x6e, 0x0a, 0x1a, 0x4c, 0x61, 0x74, 0x65, 0x73, + 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, 0x41, 0x6e, 0x64, + 0x45, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x27, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x4c, 0x61, 0x74, + 0x65, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, 0x41, + 0x6e, 0x64, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, + 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, 0x41, 0x6e, 0x64, 0x45, 0x70, 0x6f, 0x63, 0x68, + 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x41, 0x0a, 0x0b, 0x46, 0x72, 0x6f, 0x6d, 0x41, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x18, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x46, 0x72, + 0x6f, 0x6d, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x16, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x46, 0x72, 0x6f, 0x6d, 0x41, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x32, 0xd6, 0x02, 0x0a, 0x0b, 0x43, + 0x68, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x59, 0x0a, 0x13, 0x52, 0x65, + 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, + 0x72, 0x12, 0x20, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, + 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, + 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x65, + 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x5d, 0x0a, 0x15, 0x55, 0x6e, 0x72, 0x65, 0x67, 0x69, 0x73, + 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x22, + 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x55, 0x6e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, + 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x65, 0x70, + 0x6c, 0x79, 0x22, 0x00, 0x12, 0x41, 0x0a, 0x0b, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x73, 0x12, 0x18, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, + 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, + 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x4a, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x4c, 0x61, + 0x74, 0x65, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1b, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, + 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x47, 0x65, + 0x74, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x70, 0x6c, + 0x79, 0x22, 0x00, 0x32, 0xf5, 0x01, 0x0a, 0x07, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, + 0x31, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, + 0x0f, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, + 0x22, 0x00, 0x12, 0x39, 0x0a, 0x05, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, - 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x39, 0x0a, 0x05, 0x52, 0x65, 0x61, 0x64, 0x79, 0x12, 0x16, + 0x70, 0x74, 0x79, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x39, 0x0a, + 0x05, 0x52, 0x65, 0x61, 0x64, 0x79, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, - 0x12, 0x41, 0x0a, 0x0c, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, - 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x17, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, - 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x70, 0x6c, - 0x79, 0x22, 0x00, 0x42, 0x42, 0x5a, 0x40, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, - 0x6d, 0x2f, 0x73, 0x6d, 0x61, 0x72, 0x74, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x6b, - 0x69, 0x74, 0x2f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x6b, 0x2d, 0x72, 0x65, 0x6c, - 0x61, 0x79, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x6c, 0x6f, 0x6f, 0x70, 0x2f, 0x69, 0x6e, 0x74, 0x65, - 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x41, 0x0a, 0x0c, 0x48, 0x65, 0x61, 0x6c, + 0x74, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, + 0x1a, 0x17, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x52, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x42, 0x42, 0x5a, 0x40, 0x67, + 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6d, 0x61, 0x72, 0x74, 0x63, + 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x6b, 0x69, 0x74, 0x2f, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x6c, 0x69, 0x6e, 0x6b, 0x2d, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x6c, + 0x6f, 0x6f, 0x70, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x70, 0x62, 0x62, + 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -3011,7 +3468,7 @@ func file_relayer_proto_rawDescGZIP() []byte { return file_relayer_proto_rawDescData } -var file_relayer_proto_msgTypes = make([]protoimpl.MessageInfo, 50) +var file_relayer_proto_msgTypes = make([]protoimpl.MessageInfo, 59) var file_relayer_proto_goTypes = []interface{}{ (*NewRelayerRequest)(nil), // 0: loop.NewRelayerRequest (*NewRelayerReply)(nil), // 1: loop.NewRelayerReply @@ -3057,13 +3514,22 @@ var file_relayer_proto_goTypes = []interface{}{ (*LatestConfigDigestAndEpochReply)(nil), // 41: loop.LatestConfigDigestAndEpochReply (*FromAccountRequest)(nil), // 42: loop.FromAccountRequest (*FromAccountReply)(nil), // 43: loop.FromAccountReply - (*NameReply)(nil), // 44: loop.NameReply - (*HealthReportReply)(nil), // 45: loop.HealthReportReply - (*BigInt)(nil), // 46: loop.BigInt - (*StarknetSignature)(nil), // 47: loop.StarknetSignature - (*StarknetMessageHash)(nil), // 48: loop.StarknetMessageHash - nil, // 49: loop.HealthReportReply.HealthReportEntry - (*emptypb.Empty)(nil), // 50: google.protobuf.Empty + (*RegisterEventFilterRequest)(nil), // 44: loop.RegisterEventFilterRequest + (*RegisterEventFilterReply)(nil), // 45: loop.RegisterEventFilterReply + (*UnregisterEventFilterRequest)(nil), // 46: loop.UnregisterEventFilterRequest + (*UnregisterEventFilterReply)(nil), // 47: loop.UnregisterEventFilterReply + (*QueryEventsRequest)(nil), // 48: loop.QueryEventsRequest + (*QueryEventsReply)(nil), // 49: loop.QueryEventsReply + (*GetLatestValueRequest)(nil), // 50: loop.GetLatestValueRequest + (*GetLatestValueReply)(nil), // 51: loop.GetLatestValueReply + (*BoundContract)(nil), // 52: loop.BoundContract + (*NameReply)(nil), // 53: loop.NameReply + (*HealthReportReply)(nil), // 54: loop.HealthReportReply + (*BigInt)(nil), // 55: loop.BigInt + (*StarknetSignature)(nil), // 56: loop.StarknetSignature + (*StarknetMessageHash)(nil), // 57: loop.StarknetMessageHash + nil, // 58: loop.HealthReportReply.HealthReportEntry + (*emptypb.Empty)(nil), // 59: google.protobuf.Empty } var file_relayer_proto_depIdxs = []int32{ 5, // 0: loop.NewConfigProviderRequest.relayArgs:type_name -> loop.RelayArgs @@ -3074,69 +3540,78 @@ var file_relayer_proto_depIdxs = []int32{ 17, // 5: loop.ChainStatusReply.chain:type_name -> loop.ChainStatus 17, // 6: loop.ChainStatusesReply.chains:type_name -> loop.ChainStatus 20, // 7: loop.NodeStatusesReply.nodes:type_name -> loop.NodeStatus - 46, // 8: loop.SendTxRequest.amount:type_name -> loop.BigInt + 55, // 8: loop.SendTxRequest.amount:type_name -> loop.BigInt 35, // 9: loop.ObserveRequest.reportTimestamp:type_name -> loop.ReportTimestamp - 46, // 10: loop.ObserveReply.value:type_name -> loop.BigInt + 55, // 10: loop.ObserveReply.value:type_name -> loop.BigInt 24, // 11: loop.ConfigDigestRequest.contractConfig:type_name -> loop.ContractConfig 24, // 12: loop.LatestConfigReply.contractConfig:type_name -> loop.ContractConfig 35, // 13: loop.ReportContext.reportTimestamp:type_name -> loop.ReportTimestamp 36, // 14: loop.TransmitRequest.reportContext:type_name -> loop.ReportContext 37, // 15: loop.TransmitRequest.attributedOnchainSignatures:type_name -> loop.AttributedOnchainSignature - 49, // 16: loop.HealthReportReply.healthReport:type_name -> loop.HealthReportReply.HealthReportEntry - 46, // 17: loop.StarknetSignature.x:type_name -> loop.BigInt - 46, // 18: loop.StarknetSignature.y:type_name -> loop.BigInt - 46, // 19: loop.StarknetMessageHash.hash:type_name -> loop.BigInt - 0, // 20: loop.PluginRelayer.NewRelayer:input_type -> loop.NewRelayerRequest - 50, // 21: loop.Keystore.Accounts:input_type -> google.protobuf.Empty - 3, // 22: loop.Keystore.Sign:input_type -> loop.SignRequest - 7, // 23: loop.Relayer.NewConfigProvider:input_type -> loop.NewConfigProviderRequest - 9, // 24: loop.Relayer.NewMedianProvider:input_type -> loop.NewMedianProviderRequest - 11, // 25: loop.Relayer.NewMercuryProvider:input_type -> loop.NewMercuryProviderRequest - 13, // 26: loop.Relayer.ChainStatus:input_type -> loop.ChainStatusRequest - 15, // 27: loop.Relayer.ChainStatuses:input_type -> loop.ChainStatusesRequest - 18, // 28: loop.Relayer.NodeStatuses:input_type -> loop.NodeStatusesRequest - 21, // 29: loop.Relayer.SendTx:input_type -> loop.SendTxRequest - 22, // 30: loop.DataSource.Observe:input_type -> loop.ObserveRequest - 25, // 31: loop.OffchainConfigDigester.ConfigDigest:input_type -> loop.ConfigDigestRequest - 27, // 32: loop.OffchainConfigDigester.ConfigDigestPrefix:input_type -> loop.ConfigDigestPrefixRequest - 29, // 33: loop.ContractConfigTracker.LatestConfigDetails:input_type -> loop.LatestConfigDetailsRequest - 31, // 34: loop.ContractConfigTracker.LatestConfig:input_type -> loop.LatestConfigRequest - 33, // 35: loop.ContractConfigTracker.LatestBlockHeight:input_type -> loop.LatestBlockHeightRequest - 38, // 36: loop.ContractTransmitter.Transmit:input_type -> loop.TransmitRequest - 40, // 37: loop.ContractTransmitter.LatestConfigDigestAndEpoch:input_type -> loop.LatestConfigDigestAndEpochRequest - 42, // 38: loop.ContractTransmitter.FromAccount:input_type -> loop.FromAccountRequest - 50, // 39: loop.Service.Name:input_type -> google.protobuf.Empty - 50, // 40: loop.Service.Close:input_type -> google.protobuf.Empty - 50, // 41: loop.Service.Ready:input_type -> google.protobuf.Empty - 50, // 42: loop.Service.HealthReport:input_type -> google.protobuf.Empty - 1, // 43: loop.PluginRelayer.NewRelayer:output_type -> loop.NewRelayerReply - 2, // 44: loop.Keystore.Accounts:output_type -> loop.AccountsReply - 4, // 45: loop.Keystore.Sign:output_type -> loop.SignReply - 8, // 46: loop.Relayer.NewConfigProvider:output_type -> loop.NewConfigProviderReply - 10, // 47: loop.Relayer.NewMedianProvider:output_type -> loop.NewMedianProviderReply - 12, // 48: loop.Relayer.NewMercuryProvider:output_type -> loop.NewMercuryProviderReply - 14, // 49: loop.Relayer.ChainStatus:output_type -> loop.ChainStatusReply - 16, // 50: loop.Relayer.ChainStatuses:output_type -> loop.ChainStatusesReply - 19, // 51: loop.Relayer.NodeStatuses:output_type -> loop.NodeStatusesReply - 50, // 52: loop.Relayer.SendTx:output_type -> google.protobuf.Empty - 23, // 53: loop.DataSource.Observe:output_type -> loop.ObserveReply - 26, // 54: loop.OffchainConfigDigester.ConfigDigest:output_type -> loop.ConfigDigestReply - 28, // 55: loop.OffchainConfigDigester.ConfigDigestPrefix:output_type -> loop.ConfigDigestPrefixReply - 30, // 56: loop.ContractConfigTracker.LatestConfigDetails:output_type -> loop.LatestConfigDetailsReply - 32, // 57: loop.ContractConfigTracker.LatestConfig:output_type -> loop.LatestConfigReply - 34, // 58: loop.ContractConfigTracker.LatestBlockHeight:output_type -> loop.LatestBlockHeightReply - 39, // 59: loop.ContractTransmitter.Transmit:output_type -> loop.TransmitReply - 41, // 60: loop.ContractTransmitter.LatestConfigDigestAndEpoch:output_type -> loop.LatestConfigDigestAndEpochReply - 43, // 61: loop.ContractTransmitter.FromAccount:output_type -> loop.FromAccountReply - 44, // 62: loop.Service.Name:output_type -> loop.NameReply - 50, // 63: loop.Service.Close:output_type -> google.protobuf.Empty - 50, // 64: loop.Service.Ready:output_type -> google.protobuf.Empty - 45, // 65: loop.Service.HealthReport:output_type -> loop.HealthReportReply - 43, // [43:66] is the sub-list for method output_type - 20, // [20:43] 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 + 52, // 16: loop.GetLatestValueRequest.bc:type_name -> loop.BoundContract + 58, // 17: loop.HealthReportReply.healthReport:type_name -> loop.HealthReportReply.HealthReportEntry + 55, // 18: loop.StarknetSignature.x:type_name -> loop.BigInt + 55, // 19: loop.StarknetSignature.y:type_name -> loop.BigInt + 55, // 20: loop.StarknetMessageHash.hash:type_name -> loop.BigInt + 0, // 21: loop.PluginRelayer.NewRelayer:input_type -> loop.NewRelayerRequest + 59, // 22: loop.Keystore.Accounts:input_type -> google.protobuf.Empty + 3, // 23: loop.Keystore.Sign:input_type -> loop.SignRequest + 7, // 24: loop.Relayer.NewConfigProvider:input_type -> loop.NewConfigProviderRequest + 9, // 25: loop.Relayer.NewMedianProvider:input_type -> loop.NewMedianProviderRequest + 11, // 26: loop.Relayer.NewMercuryProvider:input_type -> loop.NewMercuryProviderRequest + 13, // 27: loop.Relayer.ChainStatus:input_type -> loop.ChainStatusRequest + 15, // 28: loop.Relayer.ChainStatuses:input_type -> loop.ChainStatusesRequest + 18, // 29: loop.Relayer.NodeStatuses:input_type -> loop.NodeStatusesRequest + 21, // 30: loop.Relayer.SendTx:input_type -> loop.SendTxRequest + 22, // 31: loop.DataSource.Observe:input_type -> loop.ObserveRequest + 25, // 32: loop.OffchainConfigDigester.ConfigDigest:input_type -> loop.ConfigDigestRequest + 27, // 33: loop.OffchainConfigDigester.ConfigDigestPrefix:input_type -> loop.ConfigDigestPrefixRequest + 29, // 34: loop.ContractConfigTracker.LatestConfigDetails:input_type -> loop.LatestConfigDetailsRequest + 31, // 35: loop.ContractConfigTracker.LatestConfig:input_type -> loop.LatestConfigRequest + 33, // 36: loop.ContractConfigTracker.LatestBlockHeight:input_type -> loop.LatestBlockHeightRequest + 38, // 37: loop.ContractTransmitter.Transmit:input_type -> loop.TransmitRequest + 40, // 38: loop.ContractTransmitter.LatestConfigDigestAndEpoch:input_type -> loop.LatestConfigDigestAndEpochRequest + 42, // 39: loop.ContractTransmitter.FromAccount:input_type -> loop.FromAccountRequest + 44, // 40: loop.ChainReader.RegisterEventFilter:input_type -> loop.RegisterEventFilterRequest + 46, // 41: loop.ChainReader.UnregisterEventFilter:input_type -> loop.UnregisterEventFilterRequest + 48, // 42: loop.ChainReader.QueryEvents:input_type -> loop.QueryEventsRequest + 50, // 43: loop.ChainReader.GetLatestValue:input_type -> loop.GetLatestValueRequest + 59, // 44: loop.Service.Name:input_type -> google.protobuf.Empty + 59, // 45: loop.Service.Close:input_type -> google.protobuf.Empty + 59, // 46: loop.Service.Ready:input_type -> google.protobuf.Empty + 59, // 47: loop.Service.HealthReport:input_type -> google.protobuf.Empty + 1, // 48: loop.PluginRelayer.NewRelayer:output_type -> loop.NewRelayerReply + 2, // 49: loop.Keystore.Accounts:output_type -> loop.AccountsReply + 4, // 50: loop.Keystore.Sign:output_type -> loop.SignReply + 8, // 51: loop.Relayer.NewConfigProvider:output_type -> loop.NewConfigProviderReply + 10, // 52: loop.Relayer.NewMedianProvider:output_type -> loop.NewMedianProviderReply + 12, // 53: loop.Relayer.NewMercuryProvider:output_type -> loop.NewMercuryProviderReply + 14, // 54: loop.Relayer.ChainStatus:output_type -> loop.ChainStatusReply + 16, // 55: loop.Relayer.ChainStatuses:output_type -> loop.ChainStatusesReply + 19, // 56: loop.Relayer.NodeStatuses:output_type -> loop.NodeStatusesReply + 59, // 57: loop.Relayer.SendTx:output_type -> google.protobuf.Empty + 23, // 58: loop.DataSource.Observe:output_type -> loop.ObserveReply + 26, // 59: loop.OffchainConfigDigester.ConfigDigest:output_type -> loop.ConfigDigestReply + 28, // 60: loop.OffchainConfigDigester.ConfigDigestPrefix:output_type -> loop.ConfigDigestPrefixReply + 30, // 61: loop.ContractConfigTracker.LatestConfigDetails:output_type -> loop.LatestConfigDetailsReply + 32, // 62: loop.ContractConfigTracker.LatestConfig:output_type -> loop.LatestConfigReply + 34, // 63: loop.ContractConfigTracker.LatestBlockHeight:output_type -> loop.LatestBlockHeightReply + 39, // 64: loop.ContractTransmitter.Transmit:output_type -> loop.TransmitReply + 41, // 65: loop.ContractTransmitter.LatestConfigDigestAndEpoch:output_type -> loop.LatestConfigDigestAndEpochReply + 43, // 66: loop.ContractTransmitter.FromAccount:output_type -> loop.FromAccountReply + 45, // 67: loop.ChainReader.RegisterEventFilter:output_type -> loop.RegisterEventFilterReply + 45, // 68: loop.ChainReader.UnregisterEventFilter:output_type -> loop.RegisterEventFilterReply + 49, // 69: loop.ChainReader.QueryEvents:output_type -> loop.QueryEventsReply + 51, // 70: loop.ChainReader.GetLatestValue:output_type -> loop.GetLatestValueReply + 53, // 71: loop.Service.Name:output_type -> loop.NameReply + 59, // 72: loop.Service.Close:output_type -> google.protobuf.Empty + 59, // 73: loop.Service.Ready:output_type -> google.protobuf.Empty + 54, // 74: loop.Service.HealthReport:output_type -> loop.HealthReportReply + 48, // [48:75] is the sub-list for method output_type + 21, // [21:48] 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_relayer_proto_init() } @@ -3674,7 +4149,7 @@ func file_relayer_proto_init() { } } file_relayer_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NameReply); i { + switch v := v.(*RegisterEventFilterRequest); i { case 0: return &v.state case 1: @@ -3686,7 +4161,7 @@ func file_relayer_proto_init() { } } file_relayer_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*HealthReportReply); i { + switch v := v.(*RegisterEventFilterReply); i { case 0: return &v.state case 1: @@ -3698,7 +4173,7 @@ func file_relayer_proto_init() { } } file_relayer_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BigInt); i { + switch v := v.(*UnregisterEventFilterRequest); i { case 0: return &v.state case 1: @@ -3710,7 +4185,7 @@ func file_relayer_proto_init() { } } file_relayer_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*StarknetSignature); i { + switch v := v.(*UnregisterEventFilterReply); i { case 0: return &v.state case 1: @@ -3722,6 +4197,114 @@ func file_relayer_proto_init() { } } file_relayer_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QueryEventsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_relayer_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QueryEventsReply); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_relayer_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetLatestValueRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_relayer_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetLatestValueReply); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_relayer_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BoundContract); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_relayer_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*NameReply); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_relayer_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*HealthReportReply); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_relayer_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BigInt); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_relayer_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StarknetSignature); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_relayer_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StarknetMessageHash); i { case 0: return &v.state @@ -3740,9 +4323,9 @@ func file_relayer_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_relayer_proto_rawDesc, NumEnums: 0, - NumMessages: 50, + NumMessages: 59, NumExtensions: 0, - NumServices: 8, + NumServices: 9, }, GoTypes: file_relayer_proto_goTypes, DependencyIndexes: file_relayer_proto_depIdxs, diff --git a/pkg/loop/internal/pb/relayer_grpc.pb.go b/pkg/loop/internal/pb/relayer_grpc.pb.go index 2f3096aa2..685bdc09e 100644 --- a/pkg/loop/internal/pb/relayer_grpc.pb.go +++ b/pkg/loop/internal/pb/relayer_grpc.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.3.0 -// - protoc v3.21.12 +// - protoc-gen-go-grpc v1.2.0 +// - protoc v4.24.4 // source: relayer.proto package pb @@ -19,10 +19,6 @@ import ( // Requires gRPC-Go v1.32.0 or later. const _ = grpc.SupportPackageIsVersion7 -const ( - PluginRelayer_NewRelayer_FullMethodName = "/loop.PluginRelayer/NewRelayer" -) - // PluginRelayerClient is the client API for PluginRelayer service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. @@ -40,7 +36,7 @@ func NewPluginRelayerClient(cc grpc.ClientConnInterface) PluginRelayerClient { func (c *pluginRelayerClient) NewRelayer(ctx context.Context, in *NewRelayerRequest, opts ...grpc.CallOption) (*NewRelayerReply, error) { out := new(NewRelayerReply) - err := c.cc.Invoke(ctx, PluginRelayer_NewRelayer_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/loop.PluginRelayer/NewRelayer", in, out, opts...) if err != nil { return nil, err } @@ -85,7 +81,7 @@ func _PluginRelayer_NewRelayer_Handler(srv interface{}, ctx context.Context, dec } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: PluginRelayer_NewRelayer_FullMethodName, + FullMethod: "/loop.PluginRelayer/NewRelayer", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(PluginRelayerServer).NewRelayer(ctx, req.(*NewRelayerRequest)) @@ -109,11 +105,6 @@ var PluginRelayer_ServiceDesc = grpc.ServiceDesc{ Metadata: "relayer.proto", } -const ( - Keystore_Accounts_FullMethodName = "/loop.Keystore/Accounts" - Keystore_Sign_FullMethodName = "/loop.Keystore/Sign" -) - // KeystoreClient is the client API for Keystore service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. @@ -132,7 +123,7 @@ func NewKeystoreClient(cc grpc.ClientConnInterface) KeystoreClient { func (c *keystoreClient) Accounts(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*AccountsReply, error) { out := new(AccountsReply) - err := c.cc.Invoke(ctx, Keystore_Accounts_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/loop.Keystore/Accounts", in, out, opts...) if err != nil { return nil, err } @@ -141,7 +132,7 @@ func (c *keystoreClient) Accounts(ctx context.Context, in *emptypb.Empty, opts . func (c *keystoreClient) Sign(ctx context.Context, in *SignRequest, opts ...grpc.CallOption) (*SignReply, error) { out := new(SignReply) - err := c.cc.Invoke(ctx, Keystore_Sign_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/loop.Keystore/Sign", in, out, opts...) if err != nil { return nil, err } @@ -190,7 +181,7 @@ func _Keystore_Accounts_Handler(srv interface{}, ctx context.Context, dec func(i } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Keystore_Accounts_FullMethodName, + FullMethod: "/loop.Keystore/Accounts", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(KeystoreServer).Accounts(ctx, req.(*emptypb.Empty)) @@ -208,7 +199,7 @@ func _Keystore_Sign_Handler(srv interface{}, ctx context.Context, dec func(inter } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Keystore_Sign_FullMethodName, + FullMethod: "/loop.Keystore/Sign", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(KeystoreServer).Sign(ctx, req.(*SignRequest)) @@ -236,16 +227,6 @@ var Keystore_ServiceDesc = grpc.ServiceDesc{ Metadata: "relayer.proto", } -const ( - Relayer_NewConfigProvider_FullMethodName = "/loop.Relayer/NewConfigProvider" - Relayer_NewMedianProvider_FullMethodName = "/loop.Relayer/NewMedianProvider" - Relayer_NewMercuryProvider_FullMethodName = "/loop.Relayer/NewMercuryProvider" - Relayer_ChainStatus_FullMethodName = "/loop.Relayer/ChainStatus" - Relayer_ChainStatuses_FullMethodName = "/loop.Relayer/ChainStatuses" - Relayer_NodeStatuses_FullMethodName = "/loop.Relayer/NodeStatuses" - Relayer_SendTx_FullMethodName = "/loop.Relayer/SendTx" -) - // RelayerClient is the client API for Relayer service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. @@ -269,7 +250,7 @@ func NewRelayerClient(cc grpc.ClientConnInterface) RelayerClient { func (c *relayerClient) NewConfigProvider(ctx context.Context, in *NewConfigProviderRequest, opts ...grpc.CallOption) (*NewConfigProviderReply, error) { out := new(NewConfigProviderReply) - err := c.cc.Invoke(ctx, Relayer_NewConfigProvider_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/loop.Relayer/NewConfigProvider", in, out, opts...) if err != nil { return nil, err } @@ -278,7 +259,7 @@ func (c *relayerClient) NewConfigProvider(ctx context.Context, in *NewConfigProv func (c *relayerClient) NewMedianProvider(ctx context.Context, in *NewMedianProviderRequest, opts ...grpc.CallOption) (*NewMedianProviderReply, error) { out := new(NewMedianProviderReply) - err := c.cc.Invoke(ctx, Relayer_NewMedianProvider_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/loop.Relayer/NewMedianProvider", in, out, opts...) if err != nil { return nil, err } @@ -287,7 +268,7 @@ func (c *relayerClient) NewMedianProvider(ctx context.Context, in *NewMedianProv func (c *relayerClient) NewMercuryProvider(ctx context.Context, in *NewMercuryProviderRequest, opts ...grpc.CallOption) (*NewMercuryProviderReply, error) { out := new(NewMercuryProviderReply) - err := c.cc.Invoke(ctx, Relayer_NewMercuryProvider_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/loop.Relayer/NewMercuryProvider", in, out, opts...) if err != nil { return nil, err } @@ -296,7 +277,7 @@ func (c *relayerClient) NewMercuryProvider(ctx context.Context, in *NewMercuryPr func (c *relayerClient) ChainStatus(ctx context.Context, in *ChainStatusRequest, opts ...grpc.CallOption) (*ChainStatusReply, error) { out := new(ChainStatusReply) - err := c.cc.Invoke(ctx, Relayer_ChainStatus_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/loop.Relayer/ChainStatus", in, out, opts...) if err != nil { return nil, err } @@ -305,7 +286,7 @@ func (c *relayerClient) ChainStatus(ctx context.Context, in *ChainStatusRequest, func (c *relayerClient) ChainStatuses(ctx context.Context, in *ChainStatusesRequest, opts ...grpc.CallOption) (*ChainStatusesReply, error) { out := new(ChainStatusesReply) - err := c.cc.Invoke(ctx, Relayer_ChainStatuses_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/loop.Relayer/ChainStatuses", in, out, opts...) if err != nil { return nil, err } @@ -314,7 +295,7 @@ func (c *relayerClient) ChainStatuses(ctx context.Context, in *ChainStatusesRequ func (c *relayerClient) NodeStatuses(ctx context.Context, in *NodeStatusesRequest, opts ...grpc.CallOption) (*NodeStatusesReply, error) { out := new(NodeStatusesReply) - err := c.cc.Invoke(ctx, Relayer_NodeStatuses_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/loop.Relayer/NodeStatuses", in, out, opts...) if err != nil { return nil, err } @@ -323,7 +304,7 @@ func (c *relayerClient) NodeStatuses(ctx context.Context, in *NodeStatusesReques func (c *relayerClient) SendTx(ctx context.Context, in *SendTxRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { out := new(emptypb.Empty) - err := c.cc.Invoke(ctx, Relayer_SendTx_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/loop.Relayer/SendTx", in, out, opts...) if err != nil { return nil, err } @@ -392,7 +373,7 @@ func _Relayer_NewConfigProvider_Handler(srv interface{}, ctx context.Context, de } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Relayer_NewConfigProvider_FullMethodName, + FullMethod: "/loop.Relayer/NewConfigProvider", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(RelayerServer).NewConfigProvider(ctx, req.(*NewConfigProviderRequest)) @@ -410,7 +391,7 @@ func _Relayer_NewMedianProvider_Handler(srv interface{}, ctx context.Context, de } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Relayer_NewMedianProvider_FullMethodName, + FullMethod: "/loop.Relayer/NewMedianProvider", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(RelayerServer).NewMedianProvider(ctx, req.(*NewMedianProviderRequest)) @@ -428,7 +409,7 @@ func _Relayer_NewMercuryProvider_Handler(srv interface{}, ctx context.Context, d } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Relayer_NewMercuryProvider_FullMethodName, + FullMethod: "/loop.Relayer/NewMercuryProvider", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(RelayerServer).NewMercuryProvider(ctx, req.(*NewMercuryProviderRequest)) @@ -446,7 +427,7 @@ func _Relayer_ChainStatus_Handler(srv interface{}, ctx context.Context, dec func } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Relayer_ChainStatus_FullMethodName, + FullMethod: "/loop.Relayer/ChainStatus", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(RelayerServer).ChainStatus(ctx, req.(*ChainStatusRequest)) @@ -464,7 +445,7 @@ func _Relayer_ChainStatuses_Handler(srv interface{}, ctx context.Context, dec fu } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Relayer_ChainStatuses_FullMethodName, + FullMethod: "/loop.Relayer/ChainStatuses", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(RelayerServer).ChainStatuses(ctx, req.(*ChainStatusesRequest)) @@ -482,7 +463,7 @@ func _Relayer_NodeStatuses_Handler(srv interface{}, ctx context.Context, dec fun } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Relayer_NodeStatuses_FullMethodName, + FullMethod: "/loop.Relayer/NodeStatuses", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(RelayerServer).NodeStatuses(ctx, req.(*NodeStatusesRequest)) @@ -500,7 +481,7 @@ func _Relayer_SendTx_Handler(srv interface{}, ctx context.Context, dec func(inte } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Relayer_SendTx_FullMethodName, + FullMethod: "/loop.Relayer/SendTx", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(RelayerServer).SendTx(ctx, req.(*SendTxRequest)) @@ -548,10 +529,6 @@ var Relayer_ServiceDesc = grpc.ServiceDesc{ Metadata: "relayer.proto", } -const ( - DataSource_Observe_FullMethodName = "/loop.DataSource/Observe" -) - // DataSourceClient is the client API for DataSource service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. @@ -569,7 +546,7 @@ func NewDataSourceClient(cc grpc.ClientConnInterface) DataSourceClient { func (c *dataSourceClient) Observe(ctx context.Context, in *ObserveRequest, opts ...grpc.CallOption) (*ObserveReply, error) { out := new(ObserveReply) - err := c.cc.Invoke(ctx, DataSource_Observe_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/loop.DataSource/Observe", in, out, opts...) if err != nil { return nil, err } @@ -614,7 +591,7 @@ func _DataSource_Observe_Handler(srv interface{}, ctx context.Context, dec func( } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: DataSource_Observe_FullMethodName, + FullMethod: "/loop.DataSource/Observe", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(DataSourceServer).Observe(ctx, req.(*ObserveRequest)) @@ -638,11 +615,6 @@ var DataSource_ServiceDesc = grpc.ServiceDesc{ Metadata: "relayer.proto", } -const ( - OffchainConfigDigester_ConfigDigest_FullMethodName = "/loop.OffchainConfigDigester/ConfigDigest" - OffchainConfigDigester_ConfigDigestPrefix_FullMethodName = "/loop.OffchainConfigDigester/ConfigDigestPrefix" -) - // OffchainConfigDigesterClient is the client API for OffchainConfigDigester service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. @@ -661,7 +633,7 @@ func NewOffchainConfigDigesterClient(cc grpc.ClientConnInterface) OffchainConfig func (c *offchainConfigDigesterClient) ConfigDigest(ctx context.Context, in *ConfigDigestRequest, opts ...grpc.CallOption) (*ConfigDigestReply, error) { out := new(ConfigDigestReply) - err := c.cc.Invoke(ctx, OffchainConfigDigester_ConfigDigest_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/loop.OffchainConfigDigester/ConfigDigest", in, out, opts...) if err != nil { return nil, err } @@ -670,7 +642,7 @@ func (c *offchainConfigDigesterClient) ConfigDigest(ctx context.Context, in *Con func (c *offchainConfigDigesterClient) ConfigDigestPrefix(ctx context.Context, in *ConfigDigestPrefixRequest, opts ...grpc.CallOption) (*ConfigDigestPrefixReply, error) { out := new(ConfigDigestPrefixReply) - err := c.cc.Invoke(ctx, OffchainConfigDigester_ConfigDigestPrefix_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/loop.OffchainConfigDigester/ConfigDigestPrefix", in, out, opts...) if err != nil { return nil, err } @@ -720,7 +692,7 @@ func _OffchainConfigDigester_ConfigDigest_Handler(srv interface{}, ctx context.C } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: OffchainConfigDigester_ConfigDigest_FullMethodName, + FullMethod: "/loop.OffchainConfigDigester/ConfigDigest", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(OffchainConfigDigesterServer).ConfigDigest(ctx, req.(*ConfigDigestRequest)) @@ -738,7 +710,7 @@ func _OffchainConfigDigester_ConfigDigestPrefix_Handler(srv interface{}, ctx con } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: OffchainConfigDigester_ConfigDigestPrefix_FullMethodName, + FullMethod: "/loop.OffchainConfigDigester/ConfigDigestPrefix", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(OffchainConfigDigesterServer).ConfigDigestPrefix(ctx, req.(*ConfigDigestPrefixRequest)) @@ -766,12 +738,6 @@ var OffchainConfigDigester_ServiceDesc = grpc.ServiceDesc{ Metadata: "relayer.proto", } -const ( - ContractConfigTracker_LatestConfigDetails_FullMethodName = "/loop.ContractConfigTracker/LatestConfigDetails" - ContractConfigTracker_LatestConfig_FullMethodName = "/loop.ContractConfigTracker/LatestConfig" - ContractConfigTracker_LatestBlockHeight_FullMethodName = "/loop.ContractConfigTracker/LatestBlockHeight" -) - // ContractConfigTrackerClient is the client API for ContractConfigTracker service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. @@ -791,7 +757,7 @@ func NewContractConfigTrackerClient(cc grpc.ClientConnInterface) ContractConfigT func (c *contractConfigTrackerClient) LatestConfigDetails(ctx context.Context, in *LatestConfigDetailsRequest, opts ...grpc.CallOption) (*LatestConfigDetailsReply, error) { out := new(LatestConfigDetailsReply) - err := c.cc.Invoke(ctx, ContractConfigTracker_LatestConfigDetails_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/loop.ContractConfigTracker/LatestConfigDetails", in, out, opts...) if err != nil { return nil, err } @@ -800,7 +766,7 @@ func (c *contractConfigTrackerClient) LatestConfigDetails(ctx context.Context, i func (c *contractConfigTrackerClient) LatestConfig(ctx context.Context, in *LatestConfigRequest, opts ...grpc.CallOption) (*LatestConfigReply, error) { out := new(LatestConfigReply) - err := c.cc.Invoke(ctx, ContractConfigTracker_LatestConfig_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/loop.ContractConfigTracker/LatestConfig", in, out, opts...) if err != nil { return nil, err } @@ -809,7 +775,7 @@ func (c *contractConfigTrackerClient) LatestConfig(ctx context.Context, in *Late func (c *contractConfigTrackerClient) LatestBlockHeight(ctx context.Context, in *LatestBlockHeightRequest, opts ...grpc.CallOption) (*LatestBlockHeightReply, error) { out := new(LatestBlockHeightReply) - err := c.cc.Invoke(ctx, ContractConfigTracker_LatestBlockHeight_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/loop.ContractConfigTracker/LatestBlockHeight", in, out, opts...) if err != nil { return nil, err } @@ -862,7 +828,7 @@ func _ContractConfigTracker_LatestConfigDetails_Handler(srv interface{}, ctx con } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: ContractConfigTracker_LatestConfigDetails_FullMethodName, + FullMethod: "/loop.ContractConfigTracker/LatestConfigDetails", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ContractConfigTrackerServer).LatestConfigDetails(ctx, req.(*LatestConfigDetailsRequest)) @@ -880,7 +846,7 @@ func _ContractConfigTracker_LatestConfig_Handler(srv interface{}, ctx context.Co } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: ContractConfigTracker_LatestConfig_FullMethodName, + FullMethod: "/loop.ContractConfigTracker/LatestConfig", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ContractConfigTrackerServer).LatestConfig(ctx, req.(*LatestConfigRequest)) @@ -898,7 +864,7 @@ func _ContractConfigTracker_LatestBlockHeight_Handler(srv interface{}, ctx conte } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: ContractConfigTracker_LatestBlockHeight_FullMethodName, + FullMethod: "/loop.ContractConfigTracker/LatestBlockHeight", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ContractConfigTrackerServer).LatestBlockHeight(ctx, req.(*LatestBlockHeightRequest)) @@ -930,12 +896,6 @@ var ContractConfigTracker_ServiceDesc = grpc.ServiceDesc{ Metadata: "relayer.proto", } -const ( - ContractTransmitter_Transmit_FullMethodName = "/loop.ContractTransmitter/Transmit" - ContractTransmitter_LatestConfigDigestAndEpoch_FullMethodName = "/loop.ContractTransmitter/LatestConfigDigestAndEpoch" - ContractTransmitter_FromAccount_FullMethodName = "/loop.ContractTransmitter/FromAccount" -) - // ContractTransmitterClient is the client API for ContractTransmitter service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. @@ -955,7 +915,7 @@ func NewContractTransmitterClient(cc grpc.ClientConnInterface) ContractTransmitt func (c *contractTransmitterClient) Transmit(ctx context.Context, in *TransmitRequest, opts ...grpc.CallOption) (*TransmitReply, error) { out := new(TransmitReply) - err := c.cc.Invoke(ctx, ContractTransmitter_Transmit_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/loop.ContractTransmitter/Transmit", in, out, opts...) if err != nil { return nil, err } @@ -964,7 +924,7 @@ func (c *contractTransmitterClient) Transmit(ctx context.Context, in *TransmitRe func (c *contractTransmitterClient) LatestConfigDigestAndEpoch(ctx context.Context, in *LatestConfigDigestAndEpochRequest, opts ...grpc.CallOption) (*LatestConfigDigestAndEpochReply, error) { out := new(LatestConfigDigestAndEpochReply) - err := c.cc.Invoke(ctx, ContractTransmitter_LatestConfigDigestAndEpoch_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/loop.ContractTransmitter/LatestConfigDigestAndEpoch", in, out, opts...) if err != nil { return nil, err } @@ -973,7 +933,7 @@ func (c *contractTransmitterClient) LatestConfigDigestAndEpoch(ctx context.Conte func (c *contractTransmitterClient) FromAccount(ctx context.Context, in *FromAccountRequest, opts ...grpc.CallOption) (*FromAccountReply, error) { out := new(FromAccountReply) - err := c.cc.Invoke(ctx, ContractTransmitter_FromAccount_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/loop.ContractTransmitter/FromAccount", in, out, opts...) if err != nil { return nil, err } @@ -1026,7 +986,7 @@ func _ContractTransmitter_Transmit_Handler(srv interface{}, ctx context.Context, } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: ContractTransmitter_Transmit_FullMethodName, + FullMethod: "/loop.ContractTransmitter/Transmit", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ContractTransmitterServer).Transmit(ctx, req.(*TransmitRequest)) @@ -1044,7 +1004,7 @@ func _ContractTransmitter_LatestConfigDigestAndEpoch_Handler(srv interface{}, ct } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: ContractTransmitter_LatestConfigDigestAndEpoch_FullMethodName, + FullMethod: "/loop.ContractTransmitter/LatestConfigDigestAndEpoch", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ContractTransmitterServer).LatestConfigDigestAndEpoch(ctx, req.(*LatestConfigDigestAndEpochRequest)) @@ -1062,7 +1022,7 @@ func _ContractTransmitter_FromAccount_Handler(srv interface{}, ctx context.Conte } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: ContractTransmitter_FromAccount_FullMethodName, + FullMethod: "/loop.ContractTransmitter/FromAccount", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ContractTransmitterServer).FromAccount(ctx, req.(*FromAccountRequest)) @@ -1094,12 +1054,199 @@ var ContractTransmitter_ServiceDesc = grpc.ServiceDesc{ Metadata: "relayer.proto", } -const ( - Service_Name_FullMethodName = "/loop.Service/Name" - Service_Close_FullMethodName = "/loop.Service/Close" - Service_Ready_FullMethodName = "/loop.Service/Ready" - Service_HealthReport_FullMethodName = "/loop.Service/HealthReport" -) +// ChainReaderClient is the client API for ChainReader service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type ChainReaderClient interface { + RegisterEventFilter(ctx context.Context, in *RegisterEventFilterRequest, opts ...grpc.CallOption) (*RegisterEventFilterReply, error) + UnregisterEventFilter(ctx context.Context, in *UnregisterEventFilterRequest, opts ...grpc.CallOption) (*RegisterEventFilterReply, error) + QueryEvents(ctx context.Context, in *QueryEventsRequest, opts ...grpc.CallOption) (*QueryEventsReply, error) + GetLatestValue(ctx context.Context, in *GetLatestValueRequest, opts ...grpc.CallOption) (*GetLatestValueReply, error) +} + +type chainReaderClient struct { + cc grpc.ClientConnInterface +} + +func NewChainReaderClient(cc grpc.ClientConnInterface) ChainReaderClient { + return &chainReaderClient{cc} +} + +func (c *chainReaderClient) RegisterEventFilter(ctx context.Context, in *RegisterEventFilterRequest, opts ...grpc.CallOption) (*RegisterEventFilterReply, error) { + out := new(RegisterEventFilterReply) + err := c.cc.Invoke(ctx, "/loop.ChainReader/RegisterEventFilter", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *chainReaderClient) UnregisterEventFilter(ctx context.Context, in *UnregisterEventFilterRequest, opts ...grpc.CallOption) (*RegisterEventFilterReply, error) { + out := new(RegisterEventFilterReply) + err := c.cc.Invoke(ctx, "/loop.ChainReader/UnregisterEventFilter", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *chainReaderClient) QueryEvents(ctx context.Context, in *QueryEventsRequest, opts ...grpc.CallOption) (*QueryEventsReply, error) { + out := new(QueryEventsReply) + err := c.cc.Invoke(ctx, "/loop.ChainReader/QueryEvents", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *chainReaderClient) GetLatestValue(ctx context.Context, in *GetLatestValueRequest, opts ...grpc.CallOption) (*GetLatestValueReply, error) { + out := new(GetLatestValueReply) + err := c.cc.Invoke(ctx, "/loop.ChainReader/GetLatestValue", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// ChainReaderServer is the server API for ChainReader service. +// All implementations must embed UnimplementedChainReaderServer +// for forward compatibility +type ChainReaderServer interface { + RegisterEventFilter(context.Context, *RegisterEventFilterRequest) (*RegisterEventFilterReply, error) + UnregisterEventFilter(context.Context, *UnregisterEventFilterRequest) (*RegisterEventFilterReply, error) + QueryEvents(context.Context, *QueryEventsRequest) (*QueryEventsReply, error) + GetLatestValue(context.Context, *GetLatestValueRequest) (*GetLatestValueReply, error) + mustEmbedUnimplementedChainReaderServer() +} + +// UnimplementedChainReaderServer must be embedded to have forward compatible implementations. +type UnimplementedChainReaderServer struct { +} + +func (UnimplementedChainReaderServer) RegisterEventFilter(context.Context, *RegisterEventFilterRequest) (*RegisterEventFilterReply, error) { + return nil, status.Errorf(codes.Unimplemented, "method RegisterEventFilter not implemented") +} +func (UnimplementedChainReaderServer) UnregisterEventFilter(context.Context, *UnregisterEventFilterRequest) (*RegisterEventFilterReply, error) { + return nil, status.Errorf(codes.Unimplemented, "method UnregisterEventFilter not implemented") +} +func (UnimplementedChainReaderServer) QueryEvents(context.Context, *QueryEventsRequest) (*QueryEventsReply, error) { + return nil, status.Errorf(codes.Unimplemented, "method QueryEvents not implemented") +} +func (UnimplementedChainReaderServer) GetLatestValue(context.Context, *GetLatestValueRequest) (*GetLatestValueReply, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetLatestValue not implemented") +} +func (UnimplementedChainReaderServer) mustEmbedUnimplementedChainReaderServer() {} + +// UnsafeChainReaderServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to ChainReaderServer will +// result in compilation errors. +type UnsafeChainReaderServer interface { + mustEmbedUnimplementedChainReaderServer() +} + +func RegisterChainReaderServer(s grpc.ServiceRegistrar, srv ChainReaderServer) { + s.RegisterService(&ChainReader_ServiceDesc, srv) +} + +func _ChainReader_RegisterEventFilter_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(RegisterEventFilterRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ChainReaderServer).RegisterEventFilter(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/loop.ChainReader/RegisterEventFilter", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ChainReaderServer).RegisterEventFilter(ctx, req.(*RegisterEventFilterRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ChainReader_UnregisterEventFilter_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UnregisterEventFilterRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ChainReaderServer).UnregisterEventFilter(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/loop.ChainReader/UnregisterEventFilter", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ChainReaderServer).UnregisterEventFilter(ctx, req.(*UnregisterEventFilterRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ChainReader_QueryEvents_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryEventsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ChainReaderServer).QueryEvents(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/loop.ChainReader/QueryEvents", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ChainReaderServer).QueryEvents(ctx, req.(*QueryEventsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ChainReader_GetLatestValue_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetLatestValueRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ChainReaderServer).GetLatestValue(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/loop.ChainReader/GetLatestValue", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ChainReaderServer).GetLatestValue(ctx, req.(*GetLatestValueRequest)) + } + return interceptor(ctx, in, info, handler) +} + +// ChainReader_ServiceDesc is the grpc.ServiceDesc for ChainReader service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var ChainReader_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "loop.ChainReader", + HandlerType: (*ChainReaderServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "RegisterEventFilter", + Handler: _ChainReader_RegisterEventFilter_Handler, + }, + { + MethodName: "UnregisterEventFilter", + Handler: _ChainReader_UnregisterEventFilter_Handler, + }, + { + MethodName: "QueryEvents", + Handler: _ChainReader_QueryEvents_Handler, + }, + { + MethodName: "GetLatestValue", + Handler: _ChainReader_GetLatestValue_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "relayer.proto", +} // ServiceClient is the client API for Service service. // @@ -1121,7 +1268,7 @@ func NewServiceClient(cc grpc.ClientConnInterface) ServiceClient { func (c *serviceClient) Name(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*NameReply, error) { out := new(NameReply) - err := c.cc.Invoke(ctx, Service_Name_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/loop.Service/Name", in, out, opts...) if err != nil { return nil, err } @@ -1130,7 +1277,7 @@ func (c *serviceClient) Name(ctx context.Context, in *emptypb.Empty, opts ...grp func (c *serviceClient) Close(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*emptypb.Empty, error) { out := new(emptypb.Empty) - err := c.cc.Invoke(ctx, Service_Close_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/loop.Service/Close", in, out, opts...) if err != nil { return nil, err } @@ -1139,7 +1286,7 @@ func (c *serviceClient) Close(ctx context.Context, in *emptypb.Empty, opts ...gr func (c *serviceClient) Ready(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*emptypb.Empty, error) { out := new(emptypb.Empty) - err := c.cc.Invoke(ctx, Service_Ready_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/loop.Service/Ready", in, out, opts...) if err != nil { return nil, err } @@ -1148,7 +1295,7 @@ func (c *serviceClient) Ready(ctx context.Context, in *emptypb.Empty, opts ...gr func (c *serviceClient) HealthReport(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*HealthReportReply, error) { out := new(HealthReportReply) - err := c.cc.Invoke(ctx, Service_HealthReport_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/loop.Service/HealthReport", in, out, opts...) if err != nil { return nil, err } @@ -1205,7 +1352,7 @@ func _Service_Name_Handler(srv interface{}, ctx context.Context, dec func(interf } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Service_Name_FullMethodName, + FullMethod: "/loop.Service/Name", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ServiceServer).Name(ctx, req.(*emptypb.Empty)) @@ -1223,7 +1370,7 @@ func _Service_Close_Handler(srv interface{}, ctx context.Context, dec func(inter } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Service_Close_FullMethodName, + FullMethod: "/loop.Service/Close", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ServiceServer).Close(ctx, req.(*emptypb.Empty)) @@ -1241,7 +1388,7 @@ func _Service_Ready_Handler(srv interface{}, ctx context.Context, dec func(inter } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Service_Ready_FullMethodName, + FullMethod: "/loop.Service/Ready", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ServiceServer).Ready(ctx, req.(*emptypb.Empty)) @@ -1259,7 +1406,7 @@ func _Service_HealthReport_Handler(srv interface{}, ctx context.Context, dec fun } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Service_HealthReport_FullMethodName, + FullMethod: "/loop.Service/HealthReport", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ServiceServer).HealthReport(ctx, req.(*emptypb.Empty)) diff --git a/pkg/loop/internal/pb/reporting.pb.go b/pkg/loop/internal/pb/reporting.pb.go index 1fb7e4b1f..4245aeeae 100644 --- a/pkg/loop/internal/pb/reporting.pb.go +++ b/pkg/loop/internal/pb/reporting.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 -// protoc v3.21.12 +// protoc v4.24.4 // source: reporting.proto package pb diff --git a/pkg/loop/internal/pb/reporting_grpc.pb.go b/pkg/loop/internal/pb/reporting_grpc.pb.go index b7520830c..5dced7eb0 100644 --- a/pkg/loop/internal/pb/reporting_grpc.pb.go +++ b/pkg/loop/internal/pb/reporting_grpc.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.3.0 -// - protoc v3.21.12 +// - protoc-gen-go-grpc v1.2.0 +// - protoc v4.24.4 // source: reporting.proto package pb @@ -19,10 +19,6 @@ import ( // Requires gRPC-Go v1.32.0 or later. const _ = grpc.SupportPackageIsVersion7 -const ( - ReportingPluginFactory_NewReportingPlugin_FullMethodName = "/loop.ReportingPluginFactory/NewReportingPlugin" -) - // ReportingPluginFactoryClient is the client API for ReportingPluginFactory service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. @@ -40,7 +36,7 @@ func NewReportingPluginFactoryClient(cc grpc.ClientConnInterface) ReportingPlugi func (c *reportingPluginFactoryClient) NewReportingPlugin(ctx context.Context, in *NewReportingPluginRequest, opts ...grpc.CallOption) (*NewReportingPluginReply, error) { out := new(NewReportingPluginReply) - err := c.cc.Invoke(ctx, ReportingPluginFactory_NewReportingPlugin_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/loop.ReportingPluginFactory/NewReportingPlugin", in, out, opts...) if err != nil { return nil, err } @@ -86,7 +82,7 @@ func _ReportingPluginFactory_NewReportingPlugin_Handler(srv interface{}, ctx con } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: ReportingPluginFactory_NewReportingPlugin_FullMethodName, + FullMethod: "/loop.ReportingPluginFactory/NewReportingPlugin", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ReportingPluginFactoryServer).NewReportingPlugin(ctx, req.(*NewReportingPluginRequest)) @@ -110,15 +106,6 @@ var ReportingPluginFactory_ServiceDesc = grpc.ServiceDesc{ Metadata: "reporting.proto", } -const ( - ReportingPlugin_Query_FullMethodName = "/loop.ReportingPlugin/Query" - ReportingPlugin_Observation_FullMethodName = "/loop.ReportingPlugin/Observation" - ReportingPlugin_Report_FullMethodName = "/loop.ReportingPlugin/Report" - ReportingPlugin_ShouldAcceptFinalizedReport_FullMethodName = "/loop.ReportingPlugin/ShouldAcceptFinalizedReport" - ReportingPlugin_ShouldTransmitAcceptedReport_FullMethodName = "/loop.ReportingPlugin/ShouldTransmitAcceptedReport" - ReportingPlugin_Close_FullMethodName = "/loop.ReportingPlugin/Close" -) - // ReportingPluginClient is the client API for ReportingPlugin service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. @@ -141,7 +128,7 @@ func NewReportingPluginClient(cc grpc.ClientConnInterface) ReportingPluginClient func (c *reportingPluginClient) Query(ctx context.Context, in *QueryRequest, opts ...grpc.CallOption) (*QueryReply, error) { out := new(QueryReply) - err := c.cc.Invoke(ctx, ReportingPlugin_Query_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/loop.ReportingPlugin/Query", in, out, opts...) if err != nil { return nil, err } @@ -150,7 +137,7 @@ func (c *reportingPluginClient) Query(ctx context.Context, in *QueryRequest, opt func (c *reportingPluginClient) Observation(ctx context.Context, in *ObservationRequest, opts ...grpc.CallOption) (*ObservationReply, error) { out := new(ObservationReply) - err := c.cc.Invoke(ctx, ReportingPlugin_Observation_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/loop.ReportingPlugin/Observation", in, out, opts...) if err != nil { return nil, err } @@ -159,7 +146,7 @@ func (c *reportingPluginClient) Observation(ctx context.Context, in *Observation func (c *reportingPluginClient) Report(ctx context.Context, in *ReportRequest, opts ...grpc.CallOption) (*ReportReply, error) { out := new(ReportReply) - err := c.cc.Invoke(ctx, ReportingPlugin_Report_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/loop.ReportingPlugin/Report", in, out, opts...) if err != nil { return nil, err } @@ -168,7 +155,7 @@ func (c *reportingPluginClient) Report(ctx context.Context, in *ReportRequest, o func (c *reportingPluginClient) ShouldAcceptFinalizedReport(ctx context.Context, in *ShouldAcceptFinalizedReportRequest, opts ...grpc.CallOption) (*ShouldAcceptFinalizedReportReply, error) { out := new(ShouldAcceptFinalizedReportReply) - err := c.cc.Invoke(ctx, ReportingPlugin_ShouldAcceptFinalizedReport_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/loop.ReportingPlugin/ShouldAcceptFinalizedReport", in, out, opts...) if err != nil { return nil, err } @@ -177,7 +164,7 @@ func (c *reportingPluginClient) ShouldAcceptFinalizedReport(ctx context.Context, func (c *reportingPluginClient) ShouldTransmitAcceptedReport(ctx context.Context, in *ShouldTransmitAcceptedReportRequest, opts ...grpc.CallOption) (*ShouldTransmitAcceptedReportReply, error) { out := new(ShouldTransmitAcceptedReportReply) - err := c.cc.Invoke(ctx, ReportingPlugin_ShouldTransmitAcceptedReport_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/loop.ReportingPlugin/ShouldTransmitAcceptedReport", in, out, opts...) if err != nil { return nil, err } @@ -186,7 +173,7 @@ func (c *reportingPluginClient) ShouldTransmitAcceptedReport(ctx context.Context func (c *reportingPluginClient) Close(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*emptypb.Empty, error) { out := new(emptypb.Empty) - err := c.cc.Invoke(ctx, ReportingPlugin_Close_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/loop.ReportingPlugin/Close", in, out, opts...) if err != nil { return nil, err } @@ -251,7 +238,7 @@ func _ReportingPlugin_Query_Handler(srv interface{}, ctx context.Context, dec fu } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: ReportingPlugin_Query_FullMethodName, + FullMethod: "/loop.ReportingPlugin/Query", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ReportingPluginServer).Query(ctx, req.(*QueryRequest)) @@ -269,7 +256,7 @@ func _ReportingPlugin_Observation_Handler(srv interface{}, ctx context.Context, } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: ReportingPlugin_Observation_FullMethodName, + FullMethod: "/loop.ReportingPlugin/Observation", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ReportingPluginServer).Observation(ctx, req.(*ObservationRequest)) @@ -287,7 +274,7 @@ func _ReportingPlugin_Report_Handler(srv interface{}, ctx context.Context, dec f } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: ReportingPlugin_Report_FullMethodName, + FullMethod: "/loop.ReportingPlugin/Report", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ReportingPluginServer).Report(ctx, req.(*ReportRequest)) @@ -305,7 +292,7 @@ func _ReportingPlugin_ShouldAcceptFinalizedReport_Handler(srv interface{}, ctx c } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: ReportingPlugin_ShouldAcceptFinalizedReport_FullMethodName, + FullMethod: "/loop.ReportingPlugin/ShouldAcceptFinalizedReport", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ReportingPluginServer).ShouldAcceptFinalizedReport(ctx, req.(*ShouldAcceptFinalizedReportRequest)) @@ -323,7 +310,7 @@ func _ReportingPlugin_ShouldTransmitAcceptedReport_Handler(srv interface{}, ctx } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: ReportingPlugin_ShouldTransmitAcceptedReport_FullMethodName, + FullMethod: "/loop.ReportingPlugin/ShouldTransmitAcceptedReport", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ReportingPluginServer).ShouldTransmitAcceptedReport(ctx, req.(*ShouldTransmitAcceptedReportRequest)) @@ -341,7 +328,7 @@ func _ReportingPlugin_Close_Handler(srv interface{}, ctx context.Context, dec fu } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: ReportingPlugin_Close_FullMethodName, + FullMethod: "/loop.ReportingPlugin/Close", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ReportingPluginServer).Close(ctx, req.(*emptypb.Empty)) diff --git a/pkg/loop/internal/provider.go b/pkg/loop/internal/provider.go index 531b8cc1d..076391199 100644 --- a/pkg/loop/internal/provider.go +++ b/pkg/loop/internal/provider.go @@ -9,6 +9,7 @@ import ( libocr "github.com/smartcontractkit/libocr/offchainreporting2plus/types" "github.com/smartcontractkit/chainlink-relay/pkg/loop/internal/pb" + "github.com/smartcontractkit/chainlink-relay/pkg/types" ) var _ libocr.ContractTransmitter = (*contractTransmitterClient)(nil) @@ -120,3 +121,36 @@ func (c *contractTransmitterServer) FromAccount(ctx context.Context, request *pb } return &pb.FromAccountReply{Account: string(a)}, nil } + +var _ ChainReaderClient = (*chainReaderClient)(nil) + +type chainReaderClient struct { + *brokerExt + grpc pb.ChainReaderClient +} + +func (c *chainReaderClient) GetLatestValue(ctx context.Context) (string, error) { + ctx, cancel := c.stopCtx() + defer cancel() + + reply, err := c.grpc.FromAccount(ctx, &pb.FromAccountRequest{}) + if err != nil { + return "", err + } + return libocr.Account(reply.Account), nil +} + +var _ pb.ChainReaderServer = (*chainReaderServer)(nil) + +type chainReaderServer struct { + pb.UnimplementedChainReaderServer + impl types.ChainReader +} + +func (c *chainReaderServer) GetLatestValue(ctx context.Context, request *pb.GetLatestValueRequest) (*pb.GetLatestValueReply, error) { + retVal, err := c.impl.GetLatestValue() + if err != nil { + return nil, err + } + return &pb.GetLatestValueReply{retVal}, nil +}