diff --git a/CHANGELOG.md b/CHANGELOG.md index fbfd53b..aadff6d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +## 0.4.0 + +- Added support for protocol version 8. + ## 0.3.0 - Added support for protocol version 7. diff --git a/concordium-grpc-api b/concordium-grpc-api index 88183a8..6a7435f 160000 --- a/concordium-grpc-api +++ b/concordium-grpc-api @@ -1 +1 @@ -Subproject commit 88183a8f5e0a3208f4da65d46e0c56d7ec5f14f7 +Subproject commit 6a7435f5079c7840a95bd11540e5a6b54503d2b9 diff --git a/v2/pb/health.pb.go b/v2/pb/health.pb.go index c5249fd..feb3d0c 100644 --- a/v2/pb/health.pb.go +++ b/v2/pb/health.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.34.2 -// protoc v5.27.1 +// protoc-gen-go v1.36.4 +// protoc v5.28.3 // source: v2/concordium/health.proto package pb @@ -11,6 +11,7 @@ import ( protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" + unsafe "unsafe" ) const ( @@ -23,18 +24,16 @@ const ( // Parameters to the node health query. The default message gives a good // default. type NodeHealthRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *NodeHealthRequest) Reset() { *x = NodeHealthRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_health_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_health_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *NodeHealthRequest) String() string { @@ -45,7 +44,7 @@ func (*NodeHealthRequest) ProtoMessage() {} func (x *NodeHealthRequest) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_health_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -63,18 +62,16 @@ func (*NodeHealthRequest) Descriptor() ([]byte, []int) { // Response to the health check. A return code of "OK" is used for success, and // errors are handled via RPC status codes type NodeHealthResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *NodeHealthResponse) Reset() { *x = NodeHealthResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_health_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_health_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *NodeHealthResponse) String() string { @@ -85,7 +82,7 @@ func (*NodeHealthResponse) ProtoMessage() {} func (x *NodeHealthResponse) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_health_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -102,7 +99,7 @@ func (*NodeHealthResponse) Descriptor() ([]byte, []int) { var File_v2_concordium_health_proto protoreflect.FileDescriptor -var file_v2_concordium_health_proto_rawDesc = []byte{ +var file_v2_concordium_health_proto_rawDesc = string([]byte{ 0x0a, 0x1a, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x11, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x22, @@ -119,16 +116,16 @@ var file_v2_concordium_health_proto_rawDesc = []byte{ 0x6c, 0x74, 0x68, 0x50, 0x01, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0xaa, 0x02, 0x11, 0x43, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -} +}) var ( file_v2_concordium_health_proto_rawDescOnce sync.Once - file_v2_concordium_health_proto_rawDescData = file_v2_concordium_health_proto_rawDesc + file_v2_concordium_health_proto_rawDescData []byte ) func file_v2_concordium_health_proto_rawDescGZIP() []byte { file_v2_concordium_health_proto_rawDescOnce.Do(func() { - file_v2_concordium_health_proto_rawDescData = protoimpl.X.CompressGZIP(file_v2_concordium_health_proto_rawDescData) + file_v2_concordium_health_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_v2_concordium_health_proto_rawDesc), len(file_v2_concordium_health_proto_rawDesc))) }) return file_v2_concordium_health_proto_rawDescData } @@ -153,37 +150,11 @@ func file_v2_concordium_health_proto_init() { if File_v2_concordium_health_proto != nil { return } - if !protoimpl.UnsafeEnabled { - file_v2_concordium_health_proto_msgTypes[0].Exporter = func(v any, i int) any { - switch v := v.(*NodeHealthRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_health_proto_msgTypes[1].Exporter = func(v any, i int) any { - switch v := v.(*NodeHealthResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_v2_concordium_health_proto_rawDesc, + RawDescriptor: unsafe.Slice(unsafe.StringData(file_v2_concordium_health_proto_rawDesc), len(file_v2_concordium_health_proto_rawDesc)), NumEnums: 0, NumMessages: 2, NumExtensions: 0, @@ -194,7 +165,6 @@ func file_v2_concordium_health_proto_init() { MessageInfos: file_v2_concordium_health_proto_msgTypes, }.Build() File_v2_concordium_health_proto = out.File - file_v2_concordium_health_proto_rawDesc = nil file_v2_concordium_health_proto_goTypes = nil file_v2_concordium_health_proto_depIdxs = nil } diff --git a/v2/pb/health_grpc.pb.go b/v2/pb/health_grpc.pb.go index f76e0c5..5cb21f4 100644 --- a/v2/pb/health_grpc.pb.go +++ b/v2/pb/health_grpc.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: // - protoc-gen-go-grpc v1.5.1 -// - protoc v5.27.1 +// - protoc v5.28.3 // source: v2/concordium/health.proto package pb diff --git a/v2/pb/service.pb.go b/v2/pb/service.pb.go index 7c086ca..69b922e 100644 --- a/v2/pb/service.pb.go +++ b/v2/pb/service.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.34.2 -// protoc v5.27.1 +// protoc-gen-go v1.36.4 +// protoc v5.28.3 // source: v2/concordium/service.proto package pb @@ -10,6 +10,7 @@ import ( protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" + unsafe "unsafe" ) const ( @@ -21,12 +22,12 @@ const ( var File_v2_concordium_service_proto protoreflect.FileDescriptor -var file_v2_concordium_service_proto_rawDesc = []byte{ +var file_v2_concordium_service_proto_rawDesc = string([]byte{ 0x0a, 0x1b, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0d, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x1a, 0x19, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2f, 0x74, 0x79, 0x70, 0x65, - 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0xd4, 0x24, 0x0a, 0x07, 0x51, 0x75, 0x65, 0x72, + 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0xb0, 0x28, 0x0a, 0x07, 0x51, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x12, 0x44, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x12, 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1f, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, @@ -220,177 +221,211 @@ var file_v2_concordium_service_proto_rawDesc = []byte{ 0x49, 0x6e, 0x70, 0x75, 0x74, 0x1a, 0x28, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x4e, 0x65, 0x78, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, - 0x4b, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x45, 0x61, 0x72, 0x6c, 0x69, - 0x65, 0x73, 0x74, 0x57, 0x69, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x16, 0x2e, 0x63, 0x6f, 0x6e, - 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x61, 0x6b, 0x65, 0x72, - 0x49, 0x64, 0x1a, 0x18, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, - 0x76, 0x32, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x36, 0x0a, 0x08, - 0x53, 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x12, 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, - 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x14, + 0x5d, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x52, + 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x1d, + 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, + 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x1a, 0x1d, 0x2e, + 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x30, 0x01, 0x12, 0x55, + 0x0a, 0x13, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6f, 0x6c, 0x64, 0x6f, 0x77, 0x6e, 0x41, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, + 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x49, + 0x6e, 0x70, 0x75, 0x74, 0x1a, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, + 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x65, 0x6e, 0x64, + 0x69, 0x6e, 0x67, 0x30, 0x01, 0x12, 0x56, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x50, 0x72, 0x65, 0x43, + 0x6f, 0x6f, 0x6c, 0x64, 0x6f, 0x77, 0x6e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, + 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, + 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x1a, 0x1b, + 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x30, 0x01, 0x12, 0x59, 0x0a, + 0x19, 0x47, 0x65, 0x74, 0x50, 0x72, 0x65, 0x50, 0x72, 0x65, 0x43, 0x6f, 0x6f, 0x6c, 0x64, 0x6f, + 0x77, 0x6e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, + 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, + 0x48, 0x61, 0x73, 0x68, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x1a, 0x1b, 0x2e, 0x63, 0x6f, 0x6e, 0x63, + 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x30, 0x01, 0x12, 0x4b, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x42, + 0x61, 0x6b, 0x65, 0x72, 0x45, 0x61, 0x72, 0x6c, 0x69, 0x65, 0x73, 0x74, 0x57, 0x69, 0x6e, 0x54, + 0x69, 0x6d, 0x65, 0x12, 0x16, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, + 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x49, 0x64, 0x1a, 0x18, 0x2e, 0x63, 0x6f, + 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x36, 0x0a, 0x08, 0x53, 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, + 0x6e, 0x12, 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, + 0x32, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, + 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x43, 0x0a, + 0x0b, 0x50, 0x65, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x2e, 0x63, + 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x70, 0x53, + 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x1a, 0x14, 0x2e, 0x63, + 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6d, 0x70, + 0x74, 0x79, 0x12, 0x46, 0x0a, 0x0e, 0x50, 0x65, 0x65, 0x72, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, + 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x70, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x41, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x1a, 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, + 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x42, 0x0a, 0x0e, 0x47, 0x65, + 0x74, 0x42, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x50, 0x65, 0x65, 0x72, 0x73, 0x12, 0x14, 0x2e, 0x63, + 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6d, 0x70, + 0x74, 0x79, 0x1a, 0x1a, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, + 0x76, 0x32, 0x2e, 0x42, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x50, 0x65, 0x65, 0x72, 0x73, 0x12, 0x39, + 0x0a, 0x07, 0x42, 0x61, 0x6e, 0x50, 0x65, 0x65, 0x72, 0x12, 0x18, 0x2e, 0x63, 0x6f, 0x6e, 0x63, + 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x54, 0x6f, + 0x42, 0x61, 0x6e, 0x1a, 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, + 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x3c, 0x0a, 0x09, 0x55, 0x6e, 0x62, + 0x61, 0x6e, 0x50, 0x65, 0x65, 0x72, 0x12, 0x19, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, + 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x50, 0x65, 0x65, + 0x72, 0x1a, 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, + 0x32, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x3d, 0x0a, 0x09, 0x44, 0x75, 0x6d, 0x70, 0x53, + 0x74, 0x61, 0x72, 0x74, 0x12, 0x1a, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, + 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x75, 0x6d, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, + 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x36, 0x0a, 0x08, 0x44, 0x75, 0x6d, 0x70, 0x53, 0x74, + 0x6f, 0x70, 0x12, 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, + 0x76, 0x32, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, + 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x3e, + 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x50, 0x65, 0x65, 0x72, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, - 0x6d, 0x70, 0x74, 0x79, 0x12, 0x43, 0x0a, 0x0b, 0x50, 0x65, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x6e, - 0x65, 0x63, 0x74, 0x12, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, - 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x70, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x41, 0x64, 0x64, 0x72, - 0x65, 0x73, 0x73, 0x1a, 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, - 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x46, 0x0a, 0x0e, 0x50, 0x65, 0x65, - 0x72, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x2e, 0x63, 0x6f, - 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x70, 0x53, 0x6f, - 0x63, 0x6b, 0x65, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x1a, 0x14, 0x2e, 0x63, 0x6f, - 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6d, 0x70, 0x74, - 0x79, 0x12, 0x42, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x42, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x50, 0x65, - 0x65, 0x72, 0x73, 0x12, 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, - 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1a, 0x2e, 0x63, 0x6f, 0x6e, 0x63, - 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x61, 0x6e, 0x6e, 0x65, 0x64, - 0x50, 0x65, 0x65, 0x72, 0x73, 0x12, 0x39, 0x0a, 0x07, 0x42, 0x61, 0x6e, 0x50, 0x65, 0x65, 0x72, - 0x12, 0x18, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, - 0x2e, 0x50, 0x65, 0x65, 0x72, 0x54, 0x6f, 0x42, 0x61, 0x6e, 0x1a, 0x14, 0x2e, 0x63, 0x6f, 0x6e, - 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, - 0x12, 0x3c, 0x0a, 0x09, 0x55, 0x6e, 0x62, 0x61, 0x6e, 0x50, 0x65, 0x65, 0x72, 0x12, 0x19, 0x2e, - 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x61, - 0x6e, 0x6e, 0x65, 0x64, 0x50, 0x65, 0x65, 0x72, 0x1a, 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, - 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x3d, - 0x0a, 0x09, 0x44, 0x75, 0x6d, 0x70, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x1a, 0x2e, 0x63, 0x6f, - 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x75, 0x6d, 0x70, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, - 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x36, 0x0a, - 0x08, 0x44, 0x75, 0x6d, 0x70, 0x53, 0x74, 0x6f, 0x70, 0x12, 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x63, - 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, - 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, - 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x3e, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x50, 0x65, 0x65, 0x72, - 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, - 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x18, 0x2e, 0x63, 0x6f, - 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x65, 0x65, 0x72, - 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3c, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x64, 0x65, - 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, - 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x17, 0x2e, 0x63, 0x6f, 0x6e, - 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x49, - 0x6e, 0x66, 0x6f, 0x12, 0x54, 0x0a, 0x0d, 0x53, 0x65, 0x6e, 0x64, 0x42, 0x6c, 0x6f, 0x63, 0x6b, - 0x49, 0x74, 0x65, 0x6d, 0x12, 0x23, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, - 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x74, - 0x65, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, - 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x61, 0x73, 0x68, 0x12, 0x70, 0x0a, 0x1d, 0x47, 0x65, 0x74, - 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x53, 0x69, 0x67, 0x6e, 0x48, 0x61, 0x73, 0x68, 0x12, 0x24, 0x2e, 0x63, 0x6f, 0x6e, - 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x72, 0x65, 0x41, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x1a, 0x29, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, - 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x53, 0x69, 0x67, 0x6e, 0x48, 0x61, 0x73, 0x68, 0x12, 0x58, 0x0a, 0x17, 0x47, - 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x50, 0x61, 0x72, 0x61, - 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, - 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, - 0x49, 0x6e, 0x70, 0x75, 0x74, 0x1a, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, - 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, - 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x65, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, - 0x6b, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x75, 0x6d, - 0x6d, 0x61, 0x72, 0x79, 0x12, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, - 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x49, 0x6e, - 0x70, 0x75, 0x74, 0x1a, 0x27, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, - 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x4a, 0x0a, 0x0d, - 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1d, 0x2e, + 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x18, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, + 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3c, + 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x14, 0x2e, + 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6d, + 0x70, 0x74, 0x79, 0x1a, 0x17, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, + 0x2e, 0x76, 0x32, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x54, 0x0a, 0x0d, + 0x53, 0x65, 0x6e, 0x64, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x23, 0x2e, + 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x65, + 0x6e, 0x64, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, + 0x76, 0x32, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x61, + 0x73, 0x68, 0x12, 0x70, 0x0a, 0x1d, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x69, 0x67, 0x6e, 0x48, + 0x61, 0x73, 0x68, 0x12, 0x24, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, + 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x72, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x72, + 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x29, 0x2e, 0x63, 0x6f, 0x6e, 0x63, + 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x69, 0x67, 0x6e, + 0x48, 0x61, 0x73, 0x68, 0x12, 0x58, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, + 0x43, 0x68, 0x61, 0x69, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, + 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, + 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x1a, 0x1e, + 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x43, + 0x68, 0x61, 0x69, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x65, + 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, + 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, - 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x1a, 0x18, 0x2e, 0x63, + 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x1a, 0x27, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x6f, - 0x63, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x30, 0x01, 0x12, 0x5e, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x42, - 0x61, 0x6b, 0x65, 0x72, 0x73, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x50, 0x65, 0x72, 0x69, 0x6f, - 0x64, 0x12, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, - 0x32, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x49, 0x6e, 0x70, 0x75, 0x74, - 0x1a, 0x24, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, - 0x2e, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x50, 0x65, 0x72, 0x69, - 0x6f, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x30, 0x01, 0x12, 0x57, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x42, - 0x6c, 0x6f, 0x63, 0x6b, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, - 0x12, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, - 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x1a, - 0x20, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, - 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, - 0x73, 0x12, 0x53, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x57, 0x69, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x42, - 0x61, 0x6b, 0x65, 0x72, 0x73, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x1b, 0x2e, 0x63, 0x6f, 0x6e, - 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, - 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x57, 0x69, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x42, - 0x61, 0x6b, 0x65, 0x72, 0x30, 0x01, 0x12, 0x4b, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x46, 0x69, 0x72, - 0x73, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x1b, 0x2e, 0x63, - 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x70, 0x6f, - 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x63, 0x6f, 0x6e, 0x63, + 0x63, 0x6b, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x75, + 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x4a, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, + 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, + 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, + 0x49, 0x6e, 0x70, 0x75, 0x74, 0x1a, 0x18, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, + 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x30, + 0x01, 0x12, 0x5e, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x73, 0x52, 0x65, + 0x77, 0x61, 0x72, 0x64, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x12, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, + 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, + 0x48, 0x61, 0x73, 0x68, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x1a, 0x24, 0x2e, 0x63, 0x6f, 0x6e, 0x63, + 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x52, + 0x65, 0x77, 0x61, 0x72, 0x64, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x30, + 0x01, 0x12, 0x57, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x43, 0x65, 0x72, + 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x12, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, - 0x61, 0x73, 0x68, 0x12, 0x49, 0x0a, 0x06, 0x44, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x12, 0x1c, 0x2e, - 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x72, - 0x79, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x63, 0x6f, - 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x72, 0x79, 0x52, - 0x75, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x28, 0x01, 0x30, 0x01, 0x42, 0x35, - 0x0a, 0x16, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, - 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x32, 0x50, 0x01, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, - 0xaa, 0x02, 0x12, 0x43, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x47, 0x72, - 0x70, 0x63, 0x2e, 0x56, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -} + 0x61, 0x73, 0x68, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x1a, 0x20, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, + 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x43, 0x65, + 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x12, 0x53, 0x0a, 0x15, 0x47, 0x65, + 0x74, 0x57, 0x69, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x73, 0x45, 0x70, + 0x6f, 0x63, 0x68, 0x12, 0x1b, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, + 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x1b, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, + 0x2e, 0x57, 0x69, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x30, 0x01, 0x12, + 0x4b, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x46, 0x69, 0x72, 0x73, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, + 0x45, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x1b, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, + 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, + 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x12, 0x71, 0x0a, 0x1a, + 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x44, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2b, 0x2e, 0x63, 0x6f, 0x6e, + 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6e, 0x73, 0x65, + 0x6e, 0x73, 0x75, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x51, 0x75, 0x65, 0x72, 0x79, 0x1a, 0x26, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, + 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, + 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, + 0x49, 0x0a, 0x06, 0x44, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x12, 0x1c, 0x2e, 0x63, 0x6f, 0x6e, 0x63, + 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x72, 0x79, 0x52, 0x75, 0x6e, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, + 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x28, 0x01, 0x30, 0x01, 0x42, 0x35, 0x0a, 0x16, 0x63, 0x6f, + 0x6d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x67, 0x72, 0x70, + 0x63, 0x2e, 0x76, 0x32, 0x50, 0x01, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0xaa, 0x02, 0x12, 0x43, + 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x2e, 0x56, + 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +}) var file_v2_concordium_service_proto_goTypes = []any{ - (*Empty)(nil), // 0: concordium.v2.Empty - (*AccountInfoRequest)(nil), // 1: concordium.v2.AccountInfoRequest - (*BlockHashInput)(nil), // 2: concordium.v2.BlockHashInput - (*AncestorsRequest)(nil), // 3: concordium.v2.AncestorsRequest - (*ModuleSourceRequest)(nil), // 4: concordium.v2.ModuleSourceRequest - (*InstanceInfoRequest)(nil), // 5: concordium.v2.InstanceInfoRequest - (*InstanceStateLookupRequest)(nil), // 6: concordium.v2.InstanceStateLookupRequest - (*AccountAddress)(nil), // 7: concordium.v2.AccountAddress - (*TransactionHash)(nil), // 8: concordium.v2.TransactionHash - (*PoolInfoRequest)(nil), // 9: concordium.v2.PoolInfoRequest - (*BlocksAtHeightRequest)(nil), // 10: concordium.v2.BlocksAtHeightRequest - (*InvokeInstanceRequest)(nil), // 11: concordium.v2.InvokeInstanceRequest - (*GetPoolDelegatorsRequest)(nil), // 12: concordium.v2.GetPoolDelegatorsRequest - (*BakerId)(nil), // 13: concordium.v2.BakerId - (*IpSocketAddress)(nil), // 14: concordium.v2.IpSocketAddress - (*PeerToBan)(nil), // 15: concordium.v2.PeerToBan - (*BannedPeer)(nil), // 16: concordium.v2.BannedPeer - (*DumpRequest)(nil), // 17: concordium.v2.DumpRequest - (*SendBlockItemRequest)(nil), // 18: concordium.v2.SendBlockItemRequest - (*PreAccountTransaction)(nil), // 19: concordium.v2.PreAccountTransaction - (*EpochRequest)(nil), // 20: concordium.v2.EpochRequest - (*DryRunRequest)(nil), // 21: concordium.v2.DryRunRequest - (*ArrivedBlockInfo)(nil), // 22: concordium.v2.ArrivedBlockInfo - (*FinalizedBlockInfo)(nil), // 23: concordium.v2.FinalizedBlockInfo - (*AccountInfo)(nil), // 24: concordium.v2.AccountInfo - (*ModuleRef)(nil), // 25: concordium.v2.ModuleRef - (*BlockHash)(nil), // 26: concordium.v2.BlockHash - (*VersionedModuleSource)(nil), // 27: concordium.v2.VersionedModuleSource - (*ContractAddress)(nil), // 28: concordium.v2.ContractAddress - (*InstanceInfo)(nil), // 29: concordium.v2.InstanceInfo - (*InstanceStateKVPair)(nil), // 30: concordium.v2.InstanceStateKVPair - (*InstanceStateValueAtKey)(nil), // 31: concordium.v2.InstanceStateValueAtKey - (*NextAccountSequenceNumber)(nil), // 32: concordium.v2.NextAccountSequenceNumber - (*ConsensusInfo)(nil), // 33: concordium.v2.ConsensusInfo - (*BlockItemStatus)(nil), // 34: concordium.v2.BlockItemStatus - (*CryptographicParameters)(nil), // 35: concordium.v2.CryptographicParameters - (*BlockInfo)(nil), // 36: concordium.v2.BlockInfo - (*PoolInfoResponse)(nil), // 37: concordium.v2.PoolInfoResponse - (*PassiveDelegationInfo)(nil), // 38: concordium.v2.PassiveDelegationInfo - (*BlocksAtHeightResponse)(nil), // 39: concordium.v2.BlocksAtHeightResponse - (*TokenomicsInfo)(nil), // 40: concordium.v2.TokenomicsInfo - (*InvokeInstanceResponse)(nil), // 41: concordium.v2.InvokeInstanceResponse - (*DelegatorInfo)(nil), // 42: concordium.v2.DelegatorInfo - (*DelegatorRewardPeriodInfo)(nil), // 43: concordium.v2.DelegatorRewardPeriodInfo - (*Branch)(nil), // 44: concordium.v2.Branch - (*ElectionInfo)(nil), // 45: concordium.v2.ElectionInfo - (*IpInfo)(nil), // 46: concordium.v2.IpInfo - (*ArInfo)(nil), // 47: concordium.v2.ArInfo - (*BlockItemSummary)(nil), // 48: concordium.v2.BlockItemSummary - (*BlockSpecialEvent)(nil), // 49: concordium.v2.BlockSpecialEvent - (*PendingUpdate)(nil), // 50: concordium.v2.PendingUpdate - (*NextUpdateSequenceNumbers)(nil), // 51: concordium.v2.NextUpdateSequenceNumbers - (*Timestamp)(nil), // 52: concordium.v2.Timestamp - (*BannedPeers)(nil), // 53: concordium.v2.BannedPeers - (*PeersInfo)(nil), // 54: concordium.v2.PeersInfo - (*NodeInfo)(nil), // 55: concordium.v2.NodeInfo - (*AccountTransactionSignHash)(nil), // 56: concordium.v2.AccountTransactionSignHash - (*ChainParameters)(nil), // 57: concordium.v2.ChainParameters - (*BlockFinalizationSummary)(nil), // 58: concordium.v2.BlockFinalizationSummary - (*BlockItem)(nil), // 59: concordium.v2.BlockItem - (*BakerRewardPeriodInfo)(nil), // 60: concordium.v2.BakerRewardPeriodInfo - (*BlockCertificates)(nil), // 61: concordium.v2.BlockCertificates - (*WinningBaker)(nil), // 62: concordium.v2.WinningBaker - (*DryRunResponse)(nil), // 63: concordium.v2.DryRunResponse + (*Empty)(nil), // 0: concordium.v2.Empty + (*AccountInfoRequest)(nil), // 1: concordium.v2.AccountInfoRequest + (*BlockHashInput)(nil), // 2: concordium.v2.BlockHashInput + (*AncestorsRequest)(nil), // 3: concordium.v2.AncestorsRequest + (*ModuleSourceRequest)(nil), // 4: concordium.v2.ModuleSourceRequest + (*InstanceInfoRequest)(nil), // 5: concordium.v2.InstanceInfoRequest + (*InstanceStateLookupRequest)(nil), // 6: concordium.v2.InstanceStateLookupRequest + (*AccountAddress)(nil), // 7: concordium.v2.AccountAddress + (*TransactionHash)(nil), // 8: concordium.v2.TransactionHash + (*PoolInfoRequest)(nil), // 9: concordium.v2.PoolInfoRequest + (*BlocksAtHeightRequest)(nil), // 10: concordium.v2.BlocksAtHeightRequest + (*InvokeInstanceRequest)(nil), // 11: concordium.v2.InvokeInstanceRequest + (*GetPoolDelegatorsRequest)(nil), // 12: concordium.v2.GetPoolDelegatorsRequest + (*BakerId)(nil), // 13: concordium.v2.BakerId + (*IpSocketAddress)(nil), // 14: concordium.v2.IpSocketAddress + (*PeerToBan)(nil), // 15: concordium.v2.PeerToBan + (*BannedPeer)(nil), // 16: concordium.v2.BannedPeer + (*DumpRequest)(nil), // 17: concordium.v2.DumpRequest + (*SendBlockItemRequest)(nil), // 18: concordium.v2.SendBlockItemRequest + (*PreAccountTransaction)(nil), // 19: concordium.v2.PreAccountTransaction + (*EpochRequest)(nil), // 20: concordium.v2.EpochRequest + (*ConsensusDetailedStatusQuery)(nil), // 21: concordium.v2.ConsensusDetailedStatusQuery + (*DryRunRequest)(nil), // 22: concordium.v2.DryRunRequest + (*ArrivedBlockInfo)(nil), // 23: concordium.v2.ArrivedBlockInfo + (*FinalizedBlockInfo)(nil), // 24: concordium.v2.FinalizedBlockInfo + (*AccountInfo)(nil), // 25: concordium.v2.AccountInfo + (*ModuleRef)(nil), // 26: concordium.v2.ModuleRef + (*BlockHash)(nil), // 27: concordium.v2.BlockHash + (*VersionedModuleSource)(nil), // 28: concordium.v2.VersionedModuleSource + (*ContractAddress)(nil), // 29: concordium.v2.ContractAddress + (*InstanceInfo)(nil), // 30: concordium.v2.InstanceInfo + (*InstanceStateKVPair)(nil), // 31: concordium.v2.InstanceStateKVPair + (*InstanceStateValueAtKey)(nil), // 32: concordium.v2.InstanceStateValueAtKey + (*NextAccountSequenceNumber)(nil), // 33: concordium.v2.NextAccountSequenceNumber + (*ConsensusInfo)(nil), // 34: concordium.v2.ConsensusInfo + (*BlockItemStatus)(nil), // 35: concordium.v2.BlockItemStatus + (*CryptographicParameters)(nil), // 36: concordium.v2.CryptographicParameters + (*BlockInfo)(nil), // 37: concordium.v2.BlockInfo + (*PoolInfoResponse)(nil), // 38: concordium.v2.PoolInfoResponse + (*PassiveDelegationInfo)(nil), // 39: concordium.v2.PassiveDelegationInfo + (*BlocksAtHeightResponse)(nil), // 40: concordium.v2.BlocksAtHeightResponse + (*TokenomicsInfo)(nil), // 41: concordium.v2.TokenomicsInfo + (*InvokeInstanceResponse)(nil), // 42: concordium.v2.InvokeInstanceResponse + (*DelegatorInfo)(nil), // 43: concordium.v2.DelegatorInfo + (*DelegatorRewardPeriodInfo)(nil), // 44: concordium.v2.DelegatorRewardPeriodInfo + (*Branch)(nil), // 45: concordium.v2.Branch + (*ElectionInfo)(nil), // 46: concordium.v2.ElectionInfo + (*IpInfo)(nil), // 47: concordium.v2.IpInfo + (*ArInfo)(nil), // 48: concordium.v2.ArInfo + (*BlockItemSummary)(nil), // 49: concordium.v2.BlockItemSummary + (*BlockSpecialEvent)(nil), // 50: concordium.v2.BlockSpecialEvent + (*PendingUpdate)(nil), // 51: concordium.v2.PendingUpdate + (*NextUpdateSequenceNumbers)(nil), // 52: concordium.v2.NextUpdateSequenceNumbers + (*AccountPending)(nil), // 53: concordium.v2.AccountPending + (*AccountIndex)(nil), // 54: concordium.v2.AccountIndex + (*Timestamp)(nil), // 55: concordium.v2.Timestamp + (*BannedPeers)(nil), // 56: concordium.v2.BannedPeers + (*PeersInfo)(nil), // 57: concordium.v2.PeersInfo + (*NodeInfo)(nil), // 58: concordium.v2.NodeInfo + (*AccountTransactionSignHash)(nil), // 59: concordium.v2.AccountTransactionSignHash + (*ChainParameters)(nil), // 60: concordium.v2.ChainParameters + (*BlockFinalizationSummary)(nil), // 61: concordium.v2.BlockFinalizationSummary + (*BlockItem)(nil), // 62: concordium.v2.BlockItem + (*BakerRewardPeriodInfo)(nil), // 63: concordium.v2.BakerRewardPeriodInfo + (*BlockCertificates)(nil), // 64: concordium.v2.BlockCertificates + (*WinningBaker)(nil), // 65: concordium.v2.WinningBaker + (*ConsensusDetailedStatus)(nil), // 66: concordium.v2.ConsensusDetailedStatus + (*DryRunResponse)(nil), // 67: concordium.v2.DryRunResponse } var file_v2_concordium_service_proto_depIdxs = []int32{ 0, // 0: concordium.v2.Queries.GetBlocks:input_type -> concordium.v2.Empty @@ -428,85 +463,95 @@ var file_v2_concordium_service_proto_depIdxs = []int32{ 2, // 32: concordium.v2.Queries.GetBlockSpecialEvents:input_type -> concordium.v2.BlockHashInput 2, // 33: concordium.v2.Queries.GetBlockPendingUpdates:input_type -> concordium.v2.BlockHashInput 2, // 34: concordium.v2.Queries.GetNextUpdateSequenceNumbers:input_type -> concordium.v2.BlockHashInput - 13, // 35: concordium.v2.Queries.GetBakerEarliestWinTime:input_type -> concordium.v2.BakerId - 0, // 36: concordium.v2.Queries.Shutdown:input_type -> concordium.v2.Empty - 14, // 37: concordium.v2.Queries.PeerConnect:input_type -> concordium.v2.IpSocketAddress - 14, // 38: concordium.v2.Queries.PeerDisconnect:input_type -> concordium.v2.IpSocketAddress - 0, // 39: concordium.v2.Queries.GetBannedPeers:input_type -> concordium.v2.Empty - 15, // 40: concordium.v2.Queries.BanPeer:input_type -> concordium.v2.PeerToBan - 16, // 41: concordium.v2.Queries.UnbanPeer:input_type -> concordium.v2.BannedPeer - 17, // 42: concordium.v2.Queries.DumpStart:input_type -> concordium.v2.DumpRequest - 0, // 43: concordium.v2.Queries.DumpStop:input_type -> concordium.v2.Empty - 0, // 44: concordium.v2.Queries.GetPeersInfo:input_type -> concordium.v2.Empty - 0, // 45: concordium.v2.Queries.GetNodeInfo:input_type -> concordium.v2.Empty - 18, // 46: concordium.v2.Queries.SendBlockItem:input_type -> concordium.v2.SendBlockItemRequest - 19, // 47: concordium.v2.Queries.GetAccountTransactionSignHash:input_type -> concordium.v2.PreAccountTransaction - 2, // 48: concordium.v2.Queries.GetBlockChainParameters:input_type -> concordium.v2.BlockHashInput - 2, // 49: concordium.v2.Queries.GetBlockFinalizationSummary:input_type -> concordium.v2.BlockHashInput - 2, // 50: concordium.v2.Queries.GetBlockItems:input_type -> concordium.v2.BlockHashInput - 2, // 51: concordium.v2.Queries.GetBakersRewardPeriod:input_type -> concordium.v2.BlockHashInput - 2, // 52: concordium.v2.Queries.GetBlockCertificates:input_type -> concordium.v2.BlockHashInput - 20, // 53: concordium.v2.Queries.GetWinningBakersEpoch:input_type -> concordium.v2.EpochRequest - 20, // 54: concordium.v2.Queries.GetFirstBlockEpoch:input_type -> concordium.v2.EpochRequest - 21, // 55: concordium.v2.Queries.DryRun:input_type -> concordium.v2.DryRunRequest - 22, // 56: concordium.v2.Queries.GetBlocks:output_type -> concordium.v2.ArrivedBlockInfo - 23, // 57: concordium.v2.Queries.GetFinalizedBlocks:output_type -> concordium.v2.FinalizedBlockInfo - 24, // 58: concordium.v2.Queries.GetAccountInfo:output_type -> concordium.v2.AccountInfo - 7, // 59: concordium.v2.Queries.GetAccountList:output_type -> concordium.v2.AccountAddress - 25, // 60: concordium.v2.Queries.GetModuleList:output_type -> concordium.v2.ModuleRef - 26, // 61: concordium.v2.Queries.GetAncestors:output_type -> concordium.v2.BlockHash - 27, // 62: concordium.v2.Queries.GetModuleSource:output_type -> concordium.v2.VersionedModuleSource - 28, // 63: concordium.v2.Queries.GetInstanceList:output_type -> concordium.v2.ContractAddress - 29, // 64: concordium.v2.Queries.GetInstanceInfo:output_type -> concordium.v2.InstanceInfo - 30, // 65: concordium.v2.Queries.GetInstanceState:output_type -> concordium.v2.InstanceStateKVPair - 31, // 66: concordium.v2.Queries.InstanceStateLookup:output_type -> concordium.v2.InstanceStateValueAtKey - 32, // 67: concordium.v2.Queries.GetNextAccountSequenceNumber:output_type -> concordium.v2.NextAccountSequenceNumber - 33, // 68: concordium.v2.Queries.GetConsensusInfo:output_type -> concordium.v2.ConsensusInfo - 34, // 69: concordium.v2.Queries.GetBlockItemStatus:output_type -> concordium.v2.BlockItemStatus - 35, // 70: concordium.v2.Queries.GetCryptographicParameters:output_type -> concordium.v2.CryptographicParameters - 36, // 71: concordium.v2.Queries.GetBlockInfo:output_type -> concordium.v2.BlockInfo - 13, // 72: concordium.v2.Queries.GetBakerList:output_type -> concordium.v2.BakerId - 37, // 73: concordium.v2.Queries.GetPoolInfo:output_type -> concordium.v2.PoolInfoResponse - 38, // 74: concordium.v2.Queries.GetPassiveDelegationInfo:output_type -> concordium.v2.PassiveDelegationInfo - 39, // 75: concordium.v2.Queries.GetBlocksAtHeight:output_type -> concordium.v2.BlocksAtHeightResponse - 40, // 76: concordium.v2.Queries.GetTokenomicsInfo:output_type -> concordium.v2.TokenomicsInfo - 41, // 77: concordium.v2.Queries.InvokeInstance:output_type -> concordium.v2.InvokeInstanceResponse - 42, // 78: concordium.v2.Queries.GetPoolDelegators:output_type -> concordium.v2.DelegatorInfo - 43, // 79: concordium.v2.Queries.GetPoolDelegatorsRewardPeriod:output_type -> concordium.v2.DelegatorRewardPeriodInfo - 42, // 80: concordium.v2.Queries.GetPassiveDelegators:output_type -> concordium.v2.DelegatorInfo - 43, // 81: concordium.v2.Queries.GetPassiveDelegatorsRewardPeriod:output_type -> concordium.v2.DelegatorRewardPeriodInfo - 44, // 82: concordium.v2.Queries.GetBranches:output_type -> concordium.v2.Branch - 45, // 83: concordium.v2.Queries.GetElectionInfo:output_type -> concordium.v2.ElectionInfo - 46, // 84: concordium.v2.Queries.GetIdentityProviders:output_type -> concordium.v2.IpInfo - 47, // 85: concordium.v2.Queries.GetAnonymityRevokers:output_type -> concordium.v2.ArInfo - 8, // 86: concordium.v2.Queries.GetAccountNonFinalizedTransactions:output_type -> concordium.v2.TransactionHash - 48, // 87: concordium.v2.Queries.GetBlockTransactionEvents:output_type -> concordium.v2.BlockItemSummary - 49, // 88: concordium.v2.Queries.GetBlockSpecialEvents:output_type -> concordium.v2.BlockSpecialEvent - 50, // 89: concordium.v2.Queries.GetBlockPendingUpdates:output_type -> concordium.v2.PendingUpdate - 51, // 90: concordium.v2.Queries.GetNextUpdateSequenceNumbers:output_type -> concordium.v2.NextUpdateSequenceNumbers - 52, // 91: concordium.v2.Queries.GetBakerEarliestWinTime:output_type -> concordium.v2.Timestamp - 0, // 92: concordium.v2.Queries.Shutdown:output_type -> concordium.v2.Empty - 0, // 93: concordium.v2.Queries.PeerConnect:output_type -> concordium.v2.Empty - 0, // 94: concordium.v2.Queries.PeerDisconnect:output_type -> concordium.v2.Empty - 53, // 95: concordium.v2.Queries.GetBannedPeers:output_type -> concordium.v2.BannedPeers - 0, // 96: concordium.v2.Queries.BanPeer:output_type -> concordium.v2.Empty - 0, // 97: concordium.v2.Queries.UnbanPeer:output_type -> concordium.v2.Empty - 0, // 98: concordium.v2.Queries.DumpStart:output_type -> concordium.v2.Empty - 0, // 99: concordium.v2.Queries.DumpStop:output_type -> concordium.v2.Empty - 54, // 100: concordium.v2.Queries.GetPeersInfo:output_type -> concordium.v2.PeersInfo - 55, // 101: concordium.v2.Queries.GetNodeInfo:output_type -> concordium.v2.NodeInfo - 8, // 102: concordium.v2.Queries.SendBlockItem:output_type -> concordium.v2.TransactionHash - 56, // 103: concordium.v2.Queries.GetAccountTransactionSignHash:output_type -> concordium.v2.AccountTransactionSignHash - 57, // 104: concordium.v2.Queries.GetBlockChainParameters:output_type -> concordium.v2.ChainParameters - 58, // 105: concordium.v2.Queries.GetBlockFinalizationSummary:output_type -> concordium.v2.BlockFinalizationSummary - 59, // 106: concordium.v2.Queries.GetBlockItems:output_type -> concordium.v2.BlockItem - 60, // 107: concordium.v2.Queries.GetBakersRewardPeriod:output_type -> concordium.v2.BakerRewardPeriodInfo - 61, // 108: concordium.v2.Queries.GetBlockCertificates:output_type -> concordium.v2.BlockCertificates - 62, // 109: concordium.v2.Queries.GetWinningBakersEpoch:output_type -> concordium.v2.WinningBaker - 26, // 110: concordium.v2.Queries.GetFirstBlockEpoch:output_type -> concordium.v2.BlockHash - 63, // 111: concordium.v2.Queries.DryRun:output_type -> concordium.v2.DryRunResponse - 56, // [56:112] is the sub-list for method output_type - 0, // [0:56] is the sub-list for method input_type + 2, // 35: concordium.v2.Queries.GetScheduledReleaseAccounts:input_type -> concordium.v2.BlockHashInput + 2, // 36: concordium.v2.Queries.GetCooldownAccounts:input_type -> concordium.v2.BlockHashInput + 2, // 37: concordium.v2.Queries.GetPreCooldownAccounts:input_type -> concordium.v2.BlockHashInput + 2, // 38: concordium.v2.Queries.GetPrePreCooldownAccounts:input_type -> concordium.v2.BlockHashInput + 13, // 39: concordium.v2.Queries.GetBakerEarliestWinTime:input_type -> concordium.v2.BakerId + 0, // 40: concordium.v2.Queries.Shutdown:input_type -> concordium.v2.Empty + 14, // 41: concordium.v2.Queries.PeerConnect:input_type -> concordium.v2.IpSocketAddress + 14, // 42: concordium.v2.Queries.PeerDisconnect:input_type -> concordium.v2.IpSocketAddress + 0, // 43: concordium.v2.Queries.GetBannedPeers:input_type -> concordium.v2.Empty + 15, // 44: concordium.v2.Queries.BanPeer:input_type -> concordium.v2.PeerToBan + 16, // 45: concordium.v2.Queries.UnbanPeer:input_type -> concordium.v2.BannedPeer + 17, // 46: concordium.v2.Queries.DumpStart:input_type -> concordium.v2.DumpRequest + 0, // 47: concordium.v2.Queries.DumpStop:input_type -> concordium.v2.Empty + 0, // 48: concordium.v2.Queries.GetPeersInfo:input_type -> concordium.v2.Empty + 0, // 49: concordium.v2.Queries.GetNodeInfo:input_type -> concordium.v2.Empty + 18, // 50: concordium.v2.Queries.SendBlockItem:input_type -> concordium.v2.SendBlockItemRequest + 19, // 51: concordium.v2.Queries.GetAccountTransactionSignHash:input_type -> concordium.v2.PreAccountTransaction + 2, // 52: concordium.v2.Queries.GetBlockChainParameters:input_type -> concordium.v2.BlockHashInput + 2, // 53: concordium.v2.Queries.GetBlockFinalizationSummary:input_type -> concordium.v2.BlockHashInput + 2, // 54: concordium.v2.Queries.GetBlockItems:input_type -> concordium.v2.BlockHashInput + 2, // 55: concordium.v2.Queries.GetBakersRewardPeriod:input_type -> concordium.v2.BlockHashInput + 2, // 56: concordium.v2.Queries.GetBlockCertificates:input_type -> concordium.v2.BlockHashInput + 20, // 57: concordium.v2.Queries.GetWinningBakersEpoch:input_type -> concordium.v2.EpochRequest + 20, // 58: concordium.v2.Queries.GetFirstBlockEpoch:input_type -> concordium.v2.EpochRequest + 21, // 59: concordium.v2.Queries.GetConsensusDetailedStatus:input_type -> concordium.v2.ConsensusDetailedStatusQuery + 22, // 60: concordium.v2.Queries.DryRun:input_type -> concordium.v2.DryRunRequest + 23, // 61: concordium.v2.Queries.GetBlocks:output_type -> concordium.v2.ArrivedBlockInfo + 24, // 62: concordium.v2.Queries.GetFinalizedBlocks:output_type -> concordium.v2.FinalizedBlockInfo + 25, // 63: concordium.v2.Queries.GetAccountInfo:output_type -> concordium.v2.AccountInfo + 7, // 64: concordium.v2.Queries.GetAccountList:output_type -> concordium.v2.AccountAddress + 26, // 65: concordium.v2.Queries.GetModuleList:output_type -> concordium.v2.ModuleRef + 27, // 66: concordium.v2.Queries.GetAncestors:output_type -> concordium.v2.BlockHash + 28, // 67: concordium.v2.Queries.GetModuleSource:output_type -> concordium.v2.VersionedModuleSource + 29, // 68: concordium.v2.Queries.GetInstanceList:output_type -> concordium.v2.ContractAddress + 30, // 69: concordium.v2.Queries.GetInstanceInfo:output_type -> concordium.v2.InstanceInfo + 31, // 70: concordium.v2.Queries.GetInstanceState:output_type -> concordium.v2.InstanceStateKVPair + 32, // 71: concordium.v2.Queries.InstanceStateLookup:output_type -> concordium.v2.InstanceStateValueAtKey + 33, // 72: concordium.v2.Queries.GetNextAccountSequenceNumber:output_type -> concordium.v2.NextAccountSequenceNumber + 34, // 73: concordium.v2.Queries.GetConsensusInfo:output_type -> concordium.v2.ConsensusInfo + 35, // 74: concordium.v2.Queries.GetBlockItemStatus:output_type -> concordium.v2.BlockItemStatus + 36, // 75: concordium.v2.Queries.GetCryptographicParameters:output_type -> concordium.v2.CryptographicParameters + 37, // 76: concordium.v2.Queries.GetBlockInfo:output_type -> concordium.v2.BlockInfo + 13, // 77: concordium.v2.Queries.GetBakerList:output_type -> concordium.v2.BakerId + 38, // 78: concordium.v2.Queries.GetPoolInfo:output_type -> concordium.v2.PoolInfoResponse + 39, // 79: concordium.v2.Queries.GetPassiveDelegationInfo:output_type -> concordium.v2.PassiveDelegationInfo + 40, // 80: concordium.v2.Queries.GetBlocksAtHeight:output_type -> concordium.v2.BlocksAtHeightResponse + 41, // 81: concordium.v2.Queries.GetTokenomicsInfo:output_type -> concordium.v2.TokenomicsInfo + 42, // 82: concordium.v2.Queries.InvokeInstance:output_type -> concordium.v2.InvokeInstanceResponse + 43, // 83: concordium.v2.Queries.GetPoolDelegators:output_type -> concordium.v2.DelegatorInfo + 44, // 84: concordium.v2.Queries.GetPoolDelegatorsRewardPeriod:output_type -> concordium.v2.DelegatorRewardPeriodInfo + 43, // 85: concordium.v2.Queries.GetPassiveDelegators:output_type -> concordium.v2.DelegatorInfo + 44, // 86: concordium.v2.Queries.GetPassiveDelegatorsRewardPeriod:output_type -> concordium.v2.DelegatorRewardPeriodInfo + 45, // 87: concordium.v2.Queries.GetBranches:output_type -> concordium.v2.Branch + 46, // 88: concordium.v2.Queries.GetElectionInfo:output_type -> concordium.v2.ElectionInfo + 47, // 89: concordium.v2.Queries.GetIdentityProviders:output_type -> concordium.v2.IpInfo + 48, // 90: concordium.v2.Queries.GetAnonymityRevokers:output_type -> concordium.v2.ArInfo + 8, // 91: concordium.v2.Queries.GetAccountNonFinalizedTransactions:output_type -> concordium.v2.TransactionHash + 49, // 92: concordium.v2.Queries.GetBlockTransactionEvents:output_type -> concordium.v2.BlockItemSummary + 50, // 93: concordium.v2.Queries.GetBlockSpecialEvents:output_type -> concordium.v2.BlockSpecialEvent + 51, // 94: concordium.v2.Queries.GetBlockPendingUpdates:output_type -> concordium.v2.PendingUpdate + 52, // 95: concordium.v2.Queries.GetNextUpdateSequenceNumbers:output_type -> concordium.v2.NextUpdateSequenceNumbers + 53, // 96: concordium.v2.Queries.GetScheduledReleaseAccounts:output_type -> concordium.v2.AccountPending + 53, // 97: concordium.v2.Queries.GetCooldownAccounts:output_type -> concordium.v2.AccountPending + 54, // 98: concordium.v2.Queries.GetPreCooldownAccounts:output_type -> concordium.v2.AccountIndex + 54, // 99: concordium.v2.Queries.GetPrePreCooldownAccounts:output_type -> concordium.v2.AccountIndex + 55, // 100: concordium.v2.Queries.GetBakerEarliestWinTime:output_type -> concordium.v2.Timestamp + 0, // 101: concordium.v2.Queries.Shutdown:output_type -> concordium.v2.Empty + 0, // 102: concordium.v2.Queries.PeerConnect:output_type -> concordium.v2.Empty + 0, // 103: concordium.v2.Queries.PeerDisconnect:output_type -> concordium.v2.Empty + 56, // 104: concordium.v2.Queries.GetBannedPeers:output_type -> concordium.v2.BannedPeers + 0, // 105: concordium.v2.Queries.BanPeer:output_type -> concordium.v2.Empty + 0, // 106: concordium.v2.Queries.UnbanPeer:output_type -> concordium.v2.Empty + 0, // 107: concordium.v2.Queries.DumpStart:output_type -> concordium.v2.Empty + 0, // 108: concordium.v2.Queries.DumpStop:output_type -> concordium.v2.Empty + 57, // 109: concordium.v2.Queries.GetPeersInfo:output_type -> concordium.v2.PeersInfo + 58, // 110: concordium.v2.Queries.GetNodeInfo:output_type -> concordium.v2.NodeInfo + 8, // 111: concordium.v2.Queries.SendBlockItem:output_type -> concordium.v2.TransactionHash + 59, // 112: concordium.v2.Queries.GetAccountTransactionSignHash:output_type -> concordium.v2.AccountTransactionSignHash + 60, // 113: concordium.v2.Queries.GetBlockChainParameters:output_type -> concordium.v2.ChainParameters + 61, // 114: concordium.v2.Queries.GetBlockFinalizationSummary:output_type -> concordium.v2.BlockFinalizationSummary + 62, // 115: concordium.v2.Queries.GetBlockItems:output_type -> concordium.v2.BlockItem + 63, // 116: concordium.v2.Queries.GetBakersRewardPeriod:output_type -> concordium.v2.BakerRewardPeriodInfo + 64, // 117: concordium.v2.Queries.GetBlockCertificates:output_type -> concordium.v2.BlockCertificates + 65, // 118: concordium.v2.Queries.GetWinningBakersEpoch:output_type -> concordium.v2.WinningBaker + 27, // 119: concordium.v2.Queries.GetFirstBlockEpoch:output_type -> concordium.v2.BlockHash + 66, // 120: concordium.v2.Queries.GetConsensusDetailedStatus:output_type -> concordium.v2.ConsensusDetailedStatus + 67, // 121: concordium.v2.Queries.DryRun:output_type -> concordium.v2.DryRunResponse + 61, // [61:122] is the sub-list for method output_type + 0, // [0:61] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name @@ -522,7 +567,7 @@ func file_v2_concordium_service_proto_init() { out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_v2_concordium_service_proto_rawDesc, + RawDescriptor: unsafe.Slice(unsafe.StringData(file_v2_concordium_service_proto_rawDesc), len(file_v2_concordium_service_proto_rawDesc)), NumEnums: 0, NumMessages: 0, NumExtensions: 0, @@ -532,7 +577,6 @@ func file_v2_concordium_service_proto_init() { DependencyIndexes: file_v2_concordium_service_proto_depIdxs, }.Build() File_v2_concordium_service_proto = out.File - file_v2_concordium_service_proto_rawDesc = nil file_v2_concordium_service_proto_goTypes = nil file_v2_concordium_service_proto_depIdxs = nil } diff --git a/v2/pb/service_grpc.pb.go b/v2/pb/service_grpc.pb.go index cbf9d0a..8729447 100644 --- a/v2/pb/service_grpc.pb.go +++ b/v2/pb/service_grpc.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: // - protoc-gen-go-grpc v1.5.1 -// - protoc v5.27.1 +// - protoc v5.28.3 // source: v2/concordium/service.proto package pb @@ -54,6 +54,10 @@ const ( Queries_GetBlockSpecialEvents_FullMethodName = "/concordium.v2.Queries/GetBlockSpecialEvents" Queries_GetBlockPendingUpdates_FullMethodName = "/concordium.v2.Queries/GetBlockPendingUpdates" Queries_GetNextUpdateSequenceNumbers_FullMethodName = "/concordium.v2.Queries/GetNextUpdateSequenceNumbers" + Queries_GetScheduledReleaseAccounts_FullMethodName = "/concordium.v2.Queries/GetScheduledReleaseAccounts" + Queries_GetCooldownAccounts_FullMethodName = "/concordium.v2.Queries/GetCooldownAccounts" + Queries_GetPreCooldownAccounts_FullMethodName = "/concordium.v2.Queries/GetPreCooldownAccounts" + Queries_GetPrePreCooldownAccounts_FullMethodName = "/concordium.v2.Queries/GetPrePreCooldownAccounts" Queries_GetBakerEarliestWinTime_FullMethodName = "/concordium.v2.Queries/GetBakerEarliestWinTime" Queries_Shutdown_FullMethodName = "/concordium.v2.Queries/Shutdown" Queries_PeerConnect_FullMethodName = "/concordium.v2.Queries/PeerConnect" @@ -74,6 +78,7 @@ const ( Queries_GetBlockCertificates_FullMethodName = "/concordium.v2.Queries/GetBlockCertificates" Queries_GetWinningBakersEpoch_FullMethodName = "/concordium.v2.Queries/GetWinningBakersEpoch" Queries_GetFirstBlockEpoch_FullMethodName = "/concordium.v2.Queries/GetFirstBlockEpoch" + Queries_GetConsensusDetailedStatus_FullMethodName = "/concordium.v2.Queries/GetConsensusDetailedStatus" Queries_DryRun_FullMethodName = "/concordium.v2.Queries/DryRun" ) @@ -198,6 +203,23 @@ type QueriesClient interface { GetBlockPendingUpdates(ctx context.Context, in *BlockHashInput, opts ...grpc.CallOption) (grpc.ServerStreamingClient[PendingUpdate], error) // Get next available sequence numbers for updating chain parameters after a given block. GetNextUpdateSequenceNumbers(ctx context.Context, in *BlockHashInput, opts ...grpc.CallOption) (*NextUpdateSequenceNumbers, error) + // Get all accounts that have scheduled releases, with the timestamp of the first pending + // scheduled release for that account. (Note, this only identifies accounts by index, and + // only indicates the first pending release for each account.) + GetScheduledReleaseAccounts(ctx context.Context, in *BlockHashInput, opts ...grpc.CallOption) (grpc.ServerStreamingClient[AccountPending], error) + // Get all accounts that have stake in cooldown, with the timestamp of the first pending + // cooldown expiry for each account. (Note, this only identifies accounts by index, + // and only indicates the first pending cooldown for each account.) + // Prior to protocol version 7, the resulting stream will always be empty. + GetCooldownAccounts(ctx context.Context, in *BlockHashInput, opts ...grpc.CallOption) (grpc.ServerStreamingClient[AccountPending], error) + // Get all accounts that have stake in pre-cooldown. + // (This only identifies accounts by index.) + // Prior to protocol version 7, the resulting stream will always be empty. + GetPreCooldownAccounts(ctx context.Context, in *BlockHashInput, opts ...grpc.CallOption) (grpc.ServerStreamingClient[AccountIndex], error) + // Get all accounts that have stake in pre-pre-cooldown. + // (This only identifies accounts by index.) + // Prior to protocol version 7, the resulting stream will always be empty. + GetPrePreCooldownAccounts(ctx context.Context, in *BlockHashInput, opts ...grpc.CallOption) (grpc.ServerStreamingClient[AccountIndex], error) // Get the projected earliest time at which a particular baker will be required to bake a block. // If the current consensus version is 0, this returns the status 'Unavailable', as the endpoint // is only supported by consensus version 1. @@ -243,8 +265,8 @@ type QueriesClient interface { // Only enabled if the node was built with the `network_dump` feature. // Returns a GRPC error if the network dump failed to be stopped. DumpStop(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*Empty, error) - // / Get a list of the peers that the node is connected to - // / and assoicated network related information for each peer. + // Get a list of the peers that the node is connected to + // and assoicated network related information for each peer. GetPeersInfo(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*PeersInfo, error) // Get information about the node. // The `NodeInfo` includes information of @@ -297,8 +319,7 @@ type QueriesClient interface { // The following error cases are possible: // - `NOT_FOUND` if the query specifies an unknown block. // - `UNAVAILABLE` if the query is for an epoch that is not finalized in the current genesis - // - // / index, or is for a future genesis index. + // index, or is for a future genesis index. // - `INVALID_ARGUMENT` if the query is for an epoch that is not finalized for a past genesis // index. // - `INVALID_ARGUMENT` if the query is for a genesis index at consensus version 0. @@ -316,6 +337,13 @@ type QueriesClient interface { // - `INVALID_ARGUMENT` if the input `EpochRequest` is malformed. // - `UNIMPLEMENTED` if the endpoint is disabled on the node. GetFirstBlockEpoch(ctx context.Context, in *EpochRequest, opts ...grpc.CallOption) (*BlockHash, error) + // Get the detailed status of the consensus. This is only available for consensus version 1. + // + // The following error cases are possible: + // - `NOT_FOUND` if the query specifies an unknown genesis index. + // - `INVALID_ARGUMENT` if the query specifies a genesis index at consensus version 0. + // - `UNIMPLEMENTED` if the endpoint is disabled on the node. + GetConsensusDetailedStatus(ctx context.Context, in *ConsensusDetailedStatusQuery, opts ...grpc.CallOption) (*ConsensusDetailedStatus, error) // Dry run a series of transactions and operations on a state derived from a specified block. // The server should send a single `DryRunResponse` for each `DryRunRequest` received, unless // the call fails with an error status code. If a request produces a `DryRunErrorResponse`, then @@ -867,6 +895,82 @@ func (c *queriesClient) GetNextUpdateSequenceNumbers(ctx context.Context, in *Bl return out, nil } +func (c *queriesClient) GetScheduledReleaseAccounts(ctx context.Context, in *BlockHashInput, opts ...grpc.CallOption) (grpc.ServerStreamingClient[AccountPending], error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + stream, err := c.cc.NewStream(ctx, &Queries_ServiceDesc.Streams[18], Queries_GetScheduledReleaseAccounts_FullMethodName, cOpts...) + if err != nil { + return nil, err + } + x := &grpc.GenericClientStream[BlockHashInput, AccountPending]{ClientStream: stream} + if err := x.ClientStream.SendMsg(in); err != nil { + return nil, err + } + if err := x.ClientStream.CloseSend(); err != nil { + return nil, err + } + return x, nil +} + +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type Queries_GetScheduledReleaseAccountsClient = grpc.ServerStreamingClient[AccountPending] + +func (c *queriesClient) GetCooldownAccounts(ctx context.Context, in *BlockHashInput, opts ...grpc.CallOption) (grpc.ServerStreamingClient[AccountPending], error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + stream, err := c.cc.NewStream(ctx, &Queries_ServiceDesc.Streams[19], Queries_GetCooldownAccounts_FullMethodName, cOpts...) + if err != nil { + return nil, err + } + x := &grpc.GenericClientStream[BlockHashInput, AccountPending]{ClientStream: stream} + if err := x.ClientStream.SendMsg(in); err != nil { + return nil, err + } + if err := x.ClientStream.CloseSend(); err != nil { + return nil, err + } + return x, nil +} + +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type Queries_GetCooldownAccountsClient = grpc.ServerStreamingClient[AccountPending] + +func (c *queriesClient) GetPreCooldownAccounts(ctx context.Context, in *BlockHashInput, opts ...grpc.CallOption) (grpc.ServerStreamingClient[AccountIndex], error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + stream, err := c.cc.NewStream(ctx, &Queries_ServiceDesc.Streams[20], Queries_GetPreCooldownAccounts_FullMethodName, cOpts...) + if err != nil { + return nil, err + } + x := &grpc.GenericClientStream[BlockHashInput, AccountIndex]{ClientStream: stream} + if err := x.ClientStream.SendMsg(in); err != nil { + return nil, err + } + if err := x.ClientStream.CloseSend(); err != nil { + return nil, err + } + return x, nil +} + +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type Queries_GetPreCooldownAccountsClient = grpc.ServerStreamingClient[AccountIndex] + +func (c *queriesClient) GetPrePreCooldownAccounts(ctx context.Context, in *BlockHashInput, opts ...grpc.CallOption) (grpc.ServerStreamingClient[AccountIndex], error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + stream, err := c.cc.NewStream(ctx, &Queries_ServiceDesc.Streams[21], Queries_GetPrePreCooldownAccounts_FullMethodName, cOpts...) + if err != nil { + return nil, err + } + x := &grpc.GenericClientStream[BlockHashInput, AccountIndex]{ClientStream: stream} + if err := x.ClientStream.SendMsg(in); err != nil { + return nil, err + } + if err := x.ClientStream.CloseSend(); err != nil { + return nil, err + } + return x, nil +} + +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type Queries_GetPrePreCooldownAccountsClient = grpc.ServerStreamingClient[AccountIndex] + func (c *queriesClient) GetBakerEarliestWinTime(ctx context.Context, in *BakerId, opts ...grpc.CallOption) (*Timestamp, error) { cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(Timestamp) @@ -1019,7 +1123,7 @@ func (c *queriesClient) GetBlockFinalizationSummary(ctx context.Context, in *Blo func (c *queriesClient) GetBlockItems(ctx context.Context, in *BlockHashInput, opts ...grpc.CallOption) (grpc.ServerStreamingClient[BlockItem], error) { cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) - stream, err := c.cc.NewStream(ctx, &Queries_ServiceDesc.Streams[18], Queries_GetBlockItems_FullMethodName, cOpts...) + stream, err := c.cc.NewStream(ctx, &Queries_ServiceDesc.Streams[22], Queries_GetBlockItems_FullMethodName, cOpts...) if err != nil { return nil, err } @@ -1038,7 +1142,7 @@ type Queries_GetBlockItemsClient = grpc.ServerStreamingClient[BlockItem] func (c *queriesClient) GetBakersRewardPeriod(ctx context.Context, in *BlockHashInput, opts ...grpc.CallOption) (grpc.ServerStreamingClient[BakerRewardPeriodInfo], error) { cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) - stream, err := c.cc.NewStream(ctx, &Queries_ServiceDesc.Streams[19], Queries_GetBakersRewardPeriod_FullMethodName, cOpts...) + stream, err := c.cc.NewStream(ctx, &Queries_ServiceDesc.Streams[23], Queries_GetBakersRewardPeriod_FullMethodName, cOpts...) if err != nil { return nil, err } @@ -1067,7 +1171,7 @@ func (c *queriesClient) GetBlockCertificates(ctx context.Context, in *BlockHashI func (c *queriesClient) GetWinningBakersEpoch(ctx context.Context, in *EpochRequest, opts ...grpc.CallOption) (grpc.ServerStreamingClient[WinningBaker], error) { cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) - stream, err := c.cc.NewStream(ctx, &Queries_ServiceDesc.Streams[20], Queries_GetWinningBakersEpoch_FullMethodName, cOpts...) + stream, err := c.cc.NewStream(ctx, &Queries_ServiceDesc.Streams[24], Queries_GetWinningBakersEpoch_FullMethodName, cOpts...) if err != nil { return nil, err } @@ -1094,9 +1198,19 @@ func (c *queriesClient) GetFirstBlockEpoch(ctx context.Context, in *EpochRequest return out, nil } +func (c *queriesClient) GetConsensusDetailedStatus(ctx context.Context, in *ConsensusDetailedStatusQuery, opts ...grpc.CallOption) (*ConsensusDetailedStatus, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(ConsensusDetailedStatus) + err := c.cc.Invoke(ctx, Queries_GetConsensusDetailedStatus_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *queriesClient) DryRun(ctx context.Context, opts ...grpc.CallOption) (grpc.BidiStreamingClient[DryRunRequest, DryRunResponse], error) { cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) - stream, err := c.cc.NewStream(ctx, &Queries_ServiceDesc.Streams[21], Queries_DryRun_FullMethodName, cOpts...) + stream, err := c.cc.NewStream(ctx, &Queries_ServiceDesc.Streams[25], Queries_DryRun_FullMethodName, cOpts...) if err != nil { return nil, err } @@ -1228,6 +1342,23 @@ type QueriesServer interface { GetBlockPendingUpdates(*BlockHashInput, grpc.ServerStreamingServer[PendingUpdate]) error // Get next available sequence numbers for updating chain parameters after a given block. GetNextUpdateSequenceNumbers(context.Context, *BlockHashInput) (*NextUpdateSequenceNumbers, error) + // Get all accounts that have scheduled releases, with the timestamp of the first pending + // scheduled release for that account. (Note, this only identifies accounts by index, and + // only indicates the first pending release for each account.) + GetScheduledReleaseAccounts(*BlockHashInput, grpc.ServerStreamingServer[AccountPending]) error + // Get all accounts that have stake in cooldown, with the timestamp of the first pending + // cooldown expiry for each account. (Note, this only identifies accounts by index, + // and only indicates the first pending cooldown for each account.) + // Prior to protocol version 7, the resulting stream will always be empty. + GetCooldownAccounts(*BlockHashInput, grpc.ServerStreamingServer[AccountPending]) error + // Get all accounts that have stake in pre-cooldown. + // (This only identifies accounts by index.) + // Prior to protocol version 7, the resulting stream will always be empty. + GetPreCooldownAccounts(*BlockHashInput, grpc.ServerStreamingServer[AccountIndex]) error + // Get all accounts that have stake in pre-pre-cooldown. + // (This only identifies accounts by index.) + // Prior to protocol version 7, the resulting stream will always be empty. + GetPrePreCooldownAccounts(*BlockHashInput, grpc.ServerStreamingServer[AccountIndex]) error // Get the projected earliest time at which a particular baker will be required to bake a block. // If the current consensus version is 0, this returns the status 'Unavailable', as the endpoint // is only supported by consensus version 1. @@ -1273,8 +1404,8 @@ type QueriesServer interface { // Only enabled if the node was built with the `network_dump` feature. // Returns a GRPC error if the network dump failed to be stopped. DumpStop(context.Context, *Empty) (*Empty, error) - // / Get a list of the peers that the node is connected to - // / and assoicated network related information for each peer. + // Get a list of the peers that the node is connected to + // and assoicated network related information for each peer. GetPeersInfo(context.Context, *Empty) (*PeersInfo, error) // Get information about the node. // The `NodeInfo` includes information of @@ -1327,8 +1458,7 @@ type QueriesServer interface { // The following error cases are possible: // - `NOT_FOUND` if the query specifies an unknown block. // - `UNAVAILABLE` if the query is for an epoch that is not finalized in the current genesis - // - // / index, or is for a future genesis index. + // index, or is for a future genesis index. // - `INVALID_ARGUMENT` if the query is for an epoch that is not finalized for a past genesis // index. // - `INVALID_ARGUMENT` if the query is for a genesis index at consensus version 0. @@ -1346,6 +1476,13 @@ type QueriesServer interface { // - `INVALID_ARGUMENT` if the input `EpochRequest` is malformed. // - `UNIMPLEMENTED` if the endpoint is disabled on the node. GetFirstBlockEpoch(context.Context, *EpochRequest) (*BlockHash, error) + // Get the detailed status of the consensus. This is only available for consensus version 1. + // + // The following error cases are possible: + // - `NOT_FOUND` if the query specifies an unknown genesis index. + // - `INVALID_ARGUMENT` if the query specifies a genesis index at consensus version 0. + // - `UNIMPLEMENTED` if the endpoint is disabled on the node. + GetConsensusDetailedStatus(context.Context, *ConsensusDetailedStatusQuery) (*ConsensusDetailedStatus, error) // Dry run a series of transactions and operations on a state derived from a specified block. // The server should send a single `DryRunResponse` for each `DryRunRequest` received, unless // the call fails with an error status code. If a request produces a `DryRunErrorResponse`, then @@ -1490,6 +1627,18 @@ func (UnimplementedQueriesServer) GetBlockPendingUpdates(*BlockHashInput, grpc.S func (UnimplementedQueriesServer) GetNextUpdateSequenceNumbers(context.Context, *BlockHashInput) (*NextUpdateSequenceNumbers, error) { return nil, status.Errorf(codes.Unimplemented, "method GetNextUpdateSequenceNumbers not implemented") } +func (UnimplementedQueriesServer) GetScheduledReleaseAccounts(*BlockHashInput, grpc.ServerStreamingServer[AccountPending]) error { + return status.Errorf(codes.Unimplemented, "method GetScheduledReleaseAccounts not implemented") +} +func (UnimplementedQueriesServer) GetCooldownAccounts(*BlockHashInput, grpc.ServerStreamingServer[AccountPending]) error { + return status.Errorf(codes.Unimplemented, "method GetCooldownAccounts not implemented") +} +func (UnimplementedQueriesServer) GetPreCooldownAccounts(*BlockHashInput, grpc.ServerStreamingServer[AccountIndex]) error { + return status.Errorf(codes.Unimplemented, "method GetPreCooldownAccounts not implemented") +} +func (UnimplementedQueriesServer) GetPrePreCooldownAccounts(*BlockHashInput, grpc.ServerStreamingServer[AccountIndex]) error { + return status.Errorf(codes.Unimplemented, "method GetPrePreCooldownAccounts not implemented") +} func (UnimplementedQueriesServer) GetBakerEarliestWinTime(context.Context, *BakerId) (*Timestamp, error) { return nil, status.Errorf(codes.Unimplemented, "method GetBakerEarliestWinTime not implemented") } @@ -1550,6 +1699,9 @@ func (UnimplementedQueriesServer) GetWinningBakersEpoch(*EpochRequest, grpc.Serv func (UnimplementedQueriesServer) GetFirstBlockEpoch(context.Context, *EpochRequest) (*BlockHash, error) { return nil, status.Errorf(codes.Unimplemented, "method GetFirstBlockEpoch not implemented") } +func (UnimplementedQueriesServer) GetConsensusDetailedStatus(context.Context, *ConsensusDetailedStatusQuery) (*ConsensusDetailedStatus, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetConsensusDetailedStatus not implemented") +} func (UnimplementedQueriesServer) DryRun(grpc.BidiStreamingServer[DryRunRequest, DryRunResponse]) error { return status.Errorf(codes.Unimplemented, "method DryRun not implemented") } @@ -2078,6 +2230,50 @@ func _Queries_GetNextUpdateSequenceNumbers_Handler(srv interface{}, ctx context. return interceptor(ctx, in, info, handler) } +func _Queries_GetScheduledReleaseAccounts_Handler(srv interface{}, stream grpc.ServerStream) error { + m := new(BlockHashInput) + if err := stream.RecvMsg(m); err != nil { + return err + } + return srv.(QueriesServer).GetScheduledReleaseAccounts(m, &grpc.GenericServerStream[BlockHashInput, AccountPending]{ServerStream: stream}) +} + +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type Queries_GetScheduledReleaseAccountsServer = grpc.ServerStreamingServer[AccountPending] + +func _Queries_GetCooldownAccounts_Handler(srv interface{}, stream grpc.ServerStream) error { + m := new(BlockHashInput) + if err := stream.RecvMsg(m); err != nil { + return err + } + return srv.(QueriesServer).GetCooldownAccounts(m, &grpc.GenericServerStream[BlockHashInput, AccountPending]{ServerStream: stream}) +} + +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type Queries_GetCooldownAccountsServer = grpc.ServerStreamingServer[AccountPending] + +func _Queries_GetPreCooldownAccounts_Handler(srv interface{}, stream grpc.ServerStream) error { + m := new(BlockHashInput) + if err := stream.RecvMsg(m); err != nil { + return err + } + return srv.(QueriesServer).GetPreCooldownAccounts(m, &grpc.GenericServerStream[BlockHashInput, AccountIndex]{ServerStream: stream}) +} + +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type Queries_GetPreCooldownAccountsServer = grpc.ServerStreamingServer[AccountIndex] + +func _Queries_GetPrePreCooldownAccounts_Handler(srv interface{}, stream grpc.ServerStream) error { + m := new(BlockHashInput) + if err := stream.RecvMsg(m); err != nil { + return err + } + return srv.(QueriesServer).GetPrePreCooldownAccounts(m, &grpc.GenericServerStream[BlockHashInput, AccountIndex]{ServerStream: stream}) +} + +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type Queries_GetPrePreCooldownAccountsServer = grpc.ServerStreamingServer[AccountIndex] + func _Queries_GetBakerEarliestWinTime_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(BakerId) if err := dec(in); err != nil { @@ -2417,6 +2613,24 @@ func _Queries_GetFirstBlockEpoch_Handler(srv interface{}, ctx context.Context, d return interceptor(ctx, in, info, handler) } +func _Queries_GetConsensusDetailedStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ConsensusDetailedStatusQuery) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueriesServer).GetConsensusDetailedStatus(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Queries_GetConsensusDetailedStatus_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueriesServer).GetConsensusDetailedStatus(ctx, req.(*ConsensusDetailedStatusQuery)) + } + return interceptor(ctx, in, info, handler) +} + func _Queries_DryRun_Handler(srv interface{}, stream grpc.ServerStream) error { return srv.(QueriesServer).DryRun(&grpc.GenericServerStream[DryRunRequest, DryRunResponse]{ServerStream: stream}) } @@ -2567,6 +2781,10 @@ var Queries_ServiceDesc = grpc.ServiceDesc{ MethodName: "GetFirstBlockEpoch", Handler: _Queries_GetFirstBlockEpoch_Handler, }, + { + MethodName: "GetConsensusDetailedStatus", + Handler: _Queries_GetConsensusDetailedStatus_Handler, + }, }, Streams: []grpc.StreamDesc{ { @@ -2659,6 +2877,26 @@ var Queries_ServiceDesc = grpc.ServiceDesc{ Handler: _Queries_GetBlockPendingUpdates_Handler, ServerStreams: true, }, + { + StreamName: "GetScheduledReleaseAccounts", + Handler: _Queries_GetScheduledReleaseAccounts_Handler, + ServerStreams: true, + }, + { + StreamName: "GetCooldownAccounts", + Handler: _Queries_GetCooldownAccounts_Handler, + ServerStreams: true, + }, + { + StreamName: "GetPreCooldownAccounts", + Handler: _Queries_GetPreCooldownAccounts_Handler, + ServerStreams: true, + }, + { + StreamName: "GetPrePreCooldownAccounts", + Handler: _Queries_GetPrePreCooldownAccounts_Handler, + ServerStreams: true, + }, { StreamName: "GetBlockItems", Handler: _Queries_GetBlockItems_Handler, diff --git a/v2/pb/types.pb.go b/v2/pb/types.pb.go index df7d233..5967972 100644 --- a/v2/pb/types.pb.go +++ b/v2/pb/types.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.34.2 -// protoc v5.27.1 +// protoc-gen-go v1.36.4 +// protoc v5.28.3 // source: v2/concordium/types.proto package pb @@ -11,6 +11,7 @@ import ( protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" + unsafe "unsafe" ) const ( @@ -190,6 +191,7 @@ const ( UpdateType_UPDATE_MIN_BLOCK_TIME UpdateType = 17 UpdateType_UPDATE_BLOCK_ENERGY_LIMIT UpdateType = 18 UpdateType_UPDATE_FINALIZATION_COMMITTEE_PARAMETERS UpdateType = 19 + UpdateType_UPDATE_VALIDATOR_SCORE_PARAMETERS UpdateType = 20 ) // Enum value maps for UpdateType. @@ -215,6 +217,7 @@ var ( 17: "UPDATE_MIN_BLOCK_TIME", 18: "UPDATE_BLOCK_ENERGY_LIMIT", 19: "UPDATE_FINALIZATION_COMMITTEE_PARAMETERS", + 20: "UPDATE_VALIDATOR_SCORE_PARAMETERS", } UpdateType_value = map[string]int32{ "UPDATE_PROTOCOL": 0, @@ -237,6 +240,7 @@ var ( "UPDATE_MIN_BLOCK_TIME": 17, "UPDATE_BLOCK_ENERGY_LIMIT": 18, "UPDATE_FINALIZATION_COMMITTEE_PARAMETERS": 19, + "UPDATE_VALIDATOR_SCORE_PARAMETERS": 20, } ) @@ -382,6 +386,7 @@ const ( ProtocolVersion_PROTOCOL_VERSION_5 ProtocolVersion = 4 ProtocolVersion_PROTOCOL_VERSION_6 ProtocolVersion = 5 ProtocolVersion_PROTOCOL_VERSION_7 ProtocolVersion = 6 + ProtocolVersion_PROTOCOL_VERSION_8 ProtocolVersion = 7 ) // Enum value maps for ProtocolVersion. @@ -394,6 +399,7 @@ var ( 4: "PROTOCOL_VERSION_5", 5: "PROTOCOL_VERSION_6", 6: "PROTOCOL_VERSION_7", + 7: "PROTOCOL_VERSION_8", } ProtocolVersion_value = map[string]int32{ "PROTOCOL_VERSION_1": 0, @@ -403,6 +409,7 @@ var ( "PROTOCOL_VERSION_5": 4, "PROTOCOL_VERSION_6": 5, "PROTOCOL_VERSION_7": 6, + "PROTOCOL_VERSION_8": 7, } ) @@ -554,7 +561,7 @@ func (x PeersInfo_Peer_CatchupStatus) Number() protoreflect.EnumNumber { // Deprecated: Use PeersInfo_Peer_CatchupStatus.Descriptor instead. func (PeersInfo_Peer_CatchupStatus) EnumDescriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{166, 0, 0} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{167, 0, 0} } // The committee information of a node configured with @@ -613,23 +620,21 @@ func (x NodeInfo_BakerConsensusInfo_PassiveCommitteeInfo) Number() protoreflect. // Deprecated: Use NodeInfo_BakerConsensusInfo_PassiveCommitteeInfo.Descriptor instead. func (NodeInfo_BakerConsensusInfo_PassiveCommitteeInfo) EnumDescriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{167, 1, 0} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{168, 1, 0} } // A message that contains no information. type Empty struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *Empty) Reset() { *x = Empty{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *Empty) String() string { @@ -640,7 +645,7 @@ func (*Empty) ProtoMessage() {} func (x *Empty) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -657,20 +662,17 @@ func (*Empty) Descriptor() ([]byte, []int) { // Hash of a block. This is always 32 bytes long. type BlockHash struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Value []byte `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` unknownFields protoimpl.UnknownFields - - Value []byte `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` + sizeCache protoimpl.SizeCache } func (x *BlockHash) Reset() { *x = BlockHash{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *BlockHash) String() string { @@ -681,7 +683,7 @@ func (*BlockHash) ProtoMessage() {} func (x *BlockHash) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -705,20 +707,17 @@ func (x *BlockHash) GetValue() []byte { // A SHA256 hash. This is always 32 bytes long. type Sha256Hash struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Value []byte `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` unknownFields protoimpl.UnknownFields - - Value []byte `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` + sizeCache protoimpl.SizeCache } func (x *Sha256Hash) Reset() { *x = Sha256Hash{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *Sha256Hash) String() string { @@ -729,7 +728,7 @@ func (*Sha256Hash) ProtoMessage() {} func (x *Sha256Hash) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[2] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -753,20 +752,17 @@ func (x *Sha256Hash) GetValue() []byte { // Hash of a transaction. This is always 32 bytes long. type TransactionHash struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Value []byte `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` unknownFields protoimpl.UnknownFields - - Value []byte `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` + sizeCache protoimpl.SizeCache } func (x *TransactionHash) Reset() { *x = TransactionHash{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TransactionHash) String() string { @@ -777,7 +773,7 @@ func (*TransactionHash) ProtoMessage() {} func (x *TransactionHash) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[3] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -801,20 +797,17 @@ func (x *TransactionHash) GetValue() []byte { // Hash of the state after some block. This is always 32 bytes long. type StateHash struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Value []byte `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` unknownFields protoimpl.UnknownFields - - Value []byte `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` + sizeCache protoimpl.SizeCache } func (x *StateHash) Reset() { *x = StateHash{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *StateHash) String() string { @@ -825,7 +818,7 @@ func (*StateHash) ProtoMessage() {} func (x *StateHash) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[4] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -851,20 +844,17 @@ func (x *StateHash) GetValue() []byte { // since the genesis block. In particular, the chain genesis block has absolute // height 0. type AbsoluteBlockHeight struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Value uint64 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"` unknownFields protoimpl.UnknownFields - - Value uint64 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"` + sizeCache protoimpl.SizeCache } func (x *AbsoluteBlockHeight) Reset() { *x = AbsoluteBlockHeight{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *AbsoluteBlockHeight) String() string { @@ -875,7 +865,7 @@ func (*AbsoluteBlockHeight) ProtoMessage() {} func (x *AbsoluteBlockHeight) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[5] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -900,20 +890,17 @@ func (x *AbsoluteBlockHeight) GetValue() uint64 { // The height of a block relative to the last genesis. This differs from the // absolute block height in that it counts height from the last protocol update. type BlockHeight struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Value uint64 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"` unknownFields protoimpl.UnknownFields - - Value uint64 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"` + sizeCache protoimpl.SizeCache } func (x *BlockHeight) Reset() { *x = BlockHeight{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[6] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *BlockHeight) String() string { @@ -924,7 +911,7 @@ func (*BlockHeight) ProtoMessage() {} func (x *BlockHeight) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[6] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -948,20 +935,17 @@ func (x *BlockHeight) GetValue() uint64 { // The ID of a baker, which is the index of its account. type BakerId struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Value uint64 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"` unknownFields protoimpl.UnknownFields - - Value uint64 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"` + sizeCache protoimpl.SizeCache } func (x *BakerId) Reset() { *x = BakerId{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[7] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *BakerId) String() string { @@ -972,7 +956,7 @@ func (*BakerId) ProtoMessage() {} func (x *BakerId) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[7] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -997,20 +981,17 @@ func (x *BakerId) GetValue() uint64 { // Index of the account in the account table. These are assigned sequentially // in the order of creation of accounts. The first account has index 0. type AccountIndex struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Value uint64 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"` unknownFields protoimpl.UnknownFields - - Value uint64 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"` + sizeCache protoimpl.SizeCache } func (x *AccountIndex) Reset() { *x = AccountIndex{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[8] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *AccountIndex) String() string { @@ -1021,7 +1002,7 @@ func (*AccountIndex) ProtoMessage() {} func (x *AccountIndex) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[8] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1045,20 +1026,17 @@ func (x *AccountIndex) GetValue() uint64 { // A smart contract module reference. This is always 32 bytes long. type ModuleRef struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Value []byte `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` unknownFields protoimpl.UnknownFields - - Value []byte `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` + sizeCache protoimpl.SizeCache } func (x *ModuleRef) Reset() { *x = ModuleRef{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[9] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ModuleRef) String() string { @@ -1069,7 +1047,7 @@ func (*ModuleRef) ProtoMessage() {} func (x *ModuleRef) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[9] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1093,24 +1071,21 @@ func (x *ModuleRef) GetValue() []byte { // Source bytes of a versioned smart contract module. type VersionedModuleSource struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Module: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Module: // // *VersionedModuleSource_V0 // *VersionedModuleSource_V1 - Module isVersionedModuleSource_Module `protobuf_oneof:"module"` + Module isVersionedModuleSource_Module `protobuf_oneof:"module"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *VersionedModuleSource) Reset() { *x = VersionedModuleSource{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[10] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *VersionedModuleSource) String() string { @@ -1121,7 +1096,7 @@ func (*VersionedModuleSource) ProtoMessage() {} func (x *VersionedModuleSource) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[10] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1136,23 +1111,27 @@ func (*VersionedModuleSource) Descriptor() ([]byte, []int) { return file_v2_concordium_types_proto_rawDescGZIP(), []int{10} } -func (m *VersionedModuleSource) GetModule() isVersionedModuleSource_Module { - if m != nil { - return m.Module +func (x *VersionedModuleSource) GetModule() isVersionedModuleSource_Module { + if x != nil { + return x.Module } return nil } func (x *VersionedModuleSource) GetV0() *VersionedModuleSource_ModuleSourceV0 { - if x, ok := x.GetModule().(*VersionedModuleSource_V0); ok { - return x.V0 + if x != nil { + if x, ok := x.Module.(*VersionedModuleSource_V0); ok { + return x.V0 + } } return nil } func (x *VersionedModuleSource) GetV1() *VersionedModuleSource_ModuleSourceV1 { - if x, ok := x.GetModule().(*VersionedModuleSource_V1); ok { - return x.V1 + if x != nil { + if x, ok := x.Module.(*VersionedModuleSource_V1); ok { + return x.V1 + } } return nil } @@ -1175,20 +1154,17 @@ func (*VersionedModuleSource_V1) isVersionedModuleSource_Module() {} // Unix timestamp in milliseconds. type Timestamp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Value uint64 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"` unknownFields protoimpl.UnknownFields - - Value uint64 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"` + sizeCache protoimpl.SizeCache } func (x *Timestamp) Reset() { *x = Timestamp{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[11] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *Timestamp) String() string { @@ -1199,7 +1175,7 @@ func (*Timestamp) ProtoMessage() {} func (x *Timestamp) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[11] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1223,25 +1199,22 @@ func (x *Timestamp) GetValue() uint64 { // An individual release of a locked balance. type Release struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Effective time of the release in milliseconds since unix epoch. Timestamp *Timestamp `protobuf:"bytes,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"` // Amount to be released. Amount *Amount `protobuf:"bytes,2,opt,name=amount,proto3" json:"amount,omitempty"` // List of transaction hashes that contribute a balance to this release. - Transactions []*TransactionHash `protobuf:"bytes,3,rep,name=transactions,proto3" json:"transactions,omitempty"` + Transactions []*TransactionHash `protobuf:"bytes,3,rep,name=transactions,proto3" json:"transactions,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *Release) Reset() { *x = Release{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[12] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *Release) String() string { @@ -1252,7 +1225,7 @@ func (*Release) ProtoMessage() {} func (x *Release) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[12] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1290,23 +1263,20 @@ func (x *Release) GetTransactions() []*TransactionHash { // A new individual release. Part of a single transfer with schedule transaction. type NewRelease struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Effective time of the release in milliseconds since unix epoch. Timestamp *Timestamp `protobuf:"bytes,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"` // Amount to be released. - Amount *Amount `protobuf:"bytes,2,opt,name=amount,proto3" json:"amount,omitempty"` + Amount *Amount `protobuf:"bytes,2,opt,name=amount,proto3" json:"amount,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *NewRelease) Reset() { *x = NewRelease{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[13] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *NewRelease) String() string { @@ -1317,7 +1287,7 @@ func (*NewRelease) ProtoMessage() {} func (x *NewRelease) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[13] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1349,23 +1319,20 @@ func (x *NewRelease) GetAmount() *Amount { // State of the account's release schedule. This is the balance of the account // that is owned by the account, but cannot be used until the release point. type ReleaseSchedule struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Total amount locked in the release schedule. Total *Amount `protobuf:"bytes,1,opt,name=total,proto3" json:"total,omitempty"` // A list of releases, ordered by increasing timestamp. - Schedules []*Release `protobuf:"bytes,2,rep,name=schedules,proto3" json:"schedules,omitempty"` + Schedules []*Release `protobuf:"bytes,2,rep,name=schedules,proto3" json:"schedules,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ReleaseSchedule) Reset() { *x = ReleaseSchedule{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[14] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ReleaseSchedule) String() string { @@ -1376,7 +1343,7 @@ func (*ReleaseSchedule) ProtoMessage() {} func (x *ReleaseSchedule) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[14] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1411,20 +1378,17 @@ func (x *ReleaseSchedule) GetSchedules() []*Release { // represented as a byte array. // Always 192 bytes. type EncryptedAmount struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Value []byte `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` unknownFields protoimpl.UnknownFields - - Value []byte `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` + sizeCache protoimpl.SizeCache } func (x *EncryptedAmount) Reset() { *x = EncryptedAmount{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[15] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *EncryptedAmount) String() string { @@ -1435,7 +1399,7 @@ func (*EncryptedAmount) ProtoMessage() {} func (x *EncryptedAmount) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[15] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1458,10 +1422,7 @@ func (x *EncryptedAmount) GetValue() []byte { } type EncryptedBalance struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Encrypted amount that is a result of this account's actions. // In particular this list includes the aggregate of // @@ -1488,15 +1449,15 @@ type EncryptedBalance struct { // of incoming amounts on the accounts, which is currently 32. After // that aggregation kicks in. IncomingAmounts []*EncryptedAmount `protobuf:"bytes,5,rep,name=incoming_amounts,json=incomingAmounts,proto3" json:"incoming_amounts,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *EncryptedBalance) Reset() { *x = EncryptedBalance{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[16] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *EncryptedBalance) String() string { @@ -1507,7 +1468,7 @@ func (*EncryptedBalance) ProtoMessage() {} func (x *EncryptedBalance) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[16] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1559,24 +1520,21 @@ func (x *EncryptedBalance) GetIncomingAmounts() []*EncryptedAmount { // Entity to which the account delegates a portion of its stake. type DelegationTarget struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Target: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Target: // // *DelegationTarget_Passive // *DelegationTarget_Baker - Target isDelegationTarget_Target `protobuf_oneof:"target"` + Target isDelegationTarget_Target `protobuf_oneof:"target"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *DelegationTarget) Reset() { *x = DelegationTarget{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[17] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *DelegationTarget) String() string { @@ -1587,7 +1545,7 @@ func (*DelegationTarget) ProtoMessage() {} func (x *DelegationTarget) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[17] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1602,23 +1560,27 @@ func (*DelegationTarget) Descriptor() ([]byte, []int) { return file_v2_concordium_types_proto_rawDescGZIP(), []int{17} } -func (m *DelegationTarget) GetTarget() isDelegationTarget_Target { - if m != nil { - return m.Target +func (x *DelegationTarget) GetTarget() isDelegationTarget_Target { + if x != nil { + return x.Target } return nil } func (x *DelegationTarget) GetPassive() *Empty { - if x, ok := x.GetTarget().(*DelegationTarget_Passive); ok { - return x.Passive + if x != nil { + if x, ok := x.Target.(*DelegationTarget_Passive); ok { + return x.Passive + } } return nil } func (x *DelegationTarget) GetBaker() *BakerId { - if x, ok := x.GetTarget().(*DelegationTarget_Baker); ok { - return x.Baker + if x != nil { + if x, ok := x.Target.(*DelegationTarget_Baker); ok { + return x.Baker + } } return nil } @@ -1643,20 +1605,17 @@ func (*DelegationTarget_Baker) isDelegationTarget_Target() {} // Baker's public key used to check whether they won the lottery or not. type BakerElectionVerifyKey struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Value []byte `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` unknownFields protoimpl.UnknownFields - - Value []byte `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` + sizeCache protoimpl.SizeCache } func (x *BakerElectionVerifyKey) Reset() { *x = BakerElectionVerifyKey{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[18] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *BakerElectionVerifyKey) String() string { @@ -1667,7 +1626,7 @@ func (*BakerElectionVerifyKey) ProtoMessage() {} func (x *BakerElectionVerifyKey) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[18] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1692,20 +1651,17 @@ func (x *BakerElectionVerifyKey) GetValue() []byte { // Baker's public key used to check that they are indeed the ones who // produced the block. type BakerSignatureVerifyKey struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Value []byte `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` unknownFields protoimpl.UnknownFields - - Value []byte `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` + sizeCache protoimpl.SizeCache } func (x *BakerSignatureVerifyKey) Reset() { *x = BakerSignatureVerifyKey{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[19] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *BakerSignatureVerifyKey) String() string { @@ -1716,7 +1672,7 @@ func (*BakerSignatureVerifyKey) ProtoMessage() {} func (x *BakerSignatureVerifyKey) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[19] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1742,20 +1698,17 @@ func (x *BakerSignatureVerifyKey) GetValue() []byte { // This is only used if the baker has sufficient stake to participate in // finalization. type BakerAggregationVerifyKey struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Value []byte `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` unknownFields protoimpl.UnknownFields - - Value []byte `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` + sizeCache protoimpl.SizeCache } func (x *BakerAggregationVerifyKey) Reset() { *x = BakerAggregationVerifyKey{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[20] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *BakerAggregationVerifyKey) String() string { @@ -1766,7 +1719,7 @@ func (*BakerAggregationVerifyKey) ProtoMessage() {} func (x *BakerAggregationVerifyKey) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[20] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1790,10 +1743,7 @@ func (x *BakerAggregationVerifyKey) GetValue() []byte { // Information about a baker. type BakerInfo struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Identity of the baker. This is actually the account index of // the account controlling the baker. BakerId *BakerId `protobuf:"bytes,1,opt,name=baker_id,json=bakerId,proto3" json:"baker_id,omitempty"` @@ -1806,15 +1756,15 @@ type BakerInfo struct { // This is only used if the baker has sufficient stake to participate in // finalization. AggregationKey *BakerAggregationVerifyKey `protobuf:"bytes,4,opt,name=aggregation_key,json=aggregationKey,proto3" json:"aggregation_key,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *BakerInfo) Reset() { *x = BakerInfo{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[21] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *BakerInfo) String() string { @@ -1825,7 +1775,7 @@ func (*BakerInfo) ProtoMessage() {} func (x *BakerInfo) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[21] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1870,24 +1820,21 @@ func (x *BakerInfo) GetAggregationKey() *BakerAggregationVerifyKey { // Pending change to the stake either of a baker or delegator. type StakePendingChange struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Change: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Change: // // *StakePendingChange_Reduce_ // *StakePendingChange_Remove - Change isStakePendingChange_Change `protobuf_oneof:"change"` + Change isStakePendingChange_Change `protobuf_oneof:"change"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *StakePendingChange) Reset() { *x = StakePendingChange{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[22] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *StakePendingChange) String() string { @@ -1898,7 +1845,7 @@ func (*StakePendingChange) ProtoMessage() {} func (x *StakePendingChange) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[22] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1913,23 +1860,27 @@ func (*StakePendingChange) Descriptor() ([]byte, []int) { return file_v2_concordium_types_proto_rawDescGZIP(), []int{22} } -func (m *StakePendingChange) GetChange() isStakePendingChange_Change { - if m != nil { - return m.Change +func (x *StakePendingChange) GetChange() isStakePendingChange_Change { + if x != nil { + return x.Change } return nil } func (x *StakePendingChange) GetReduce() *StakePendingChange_Reduce { - if x, ok := x.GetChange().(*StakePendingChange_Reduce_); ok { - return x.Reduce + if x != nil { + if x, ok := x.Change.(*StakePendingChange_Reduce_); ok { + return x.Reduce + } } return nil } func (x *StakePendingChange) GetRemove() *Timestamp { - if x, ok := x.GetChange().(*StakePendingChange_Remove); ok { - return x.Remove + if x != nil { + if x, ok := x.Change.(*StakePendingChange_Remove); ok { + return x.Remove + } } return nil } @@ -1954,21 +1905,18 @@ func (*StakePendingChange_Remove) isStakePendingChange_Change() {} // A fraction of an amount with a precision of `1/100_000`. type AmountFraction struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Must not exceed 100000. PartsPerHundredThousand uint32 `protobuf:"varint,1,opt,name=parts_per_hundred_thousand,json=partsPerHundredThousand,proto3" json:"parts_per_hundred_thousand,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *AmountFraction) Reset() { *x = AmountFraction{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[23] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *AmountFraction) String() string { @@ -1979,7 +1927,7 @@ func (*AmountFraction) ProtoMessage() {} func (x *AmountFraction) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[23] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2003,25 +1951,22 @@ func (x *AmountFraction) GetPartsPerHundredThousand() uint32 { // Distribution of the rewards for the particular pool. type CommissionRates struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Fraction of finalization rewards charged by the pool owner. Finalization *AmountFraction `protobuf:"bytes,1,opt,name=finalization,proto3" json:"finalization,omitempty"` // Fraction of baking rewards charged by the pool owner. Baking *AmountFraction `protobuf:"bytes,2,opt,name=baking,proto3" json:"baking,omitempty"` // Fraction of transaction rewards charged by the pool owner. - Transaction *AmountFraction `protobuf:"bytes,3,opt,name=transaction,proto3" json:"transaction,omitempty"` + Transaction *AmountFraction `protobuf:"bytes,3,opt,name=transaction,proto3" json:"transaction,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *CommissionRates) Reset() { *x = CommissionRates{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[24] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *CommissionRates) String() string { @@ -2032,7 +1977,7 @@ func (*CommissionRates) ProtoMessage() {} func (x *CommissionRates) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[24] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2071,25 +2016,22 @@ func (x *CommissionRates) GetTransaction() *AmountFraction { // Additional information about a baking pool. // This information is added with the introduction of delegation. type BakerPoolInfo struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Whether the pool allows delegators. OpenStatus OpenStatus `protobuf:"varint,1,opt,name=open_status,json=openStatus,proto3,enum=concordium.v2.OpenStatus" json:"open_status,omitempty"` // The URL that links to the metadata about the pool. Url string `protobuf:"bytes,2,opt,name=url,proto3" json:"url,omitempty"` // The commission rates charged by the pool owner. CommissionRates *CommissionRates `protobuf:"bytes,3,opt,name=commission_rates,json=commissionRates,proto3" json:"commission_rates,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *BakerPoolInfo) Reset() { *x = BakerPoolInfo{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[25] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *BakerPoolInfo) String() string { @@ -2100,7 +2042,7 @@ func (*BakerPoolInfo) ProtoMessage() {} func (x *BakerPoolInfo) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[25] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2139,24 +2081,21 @@ func (x *BakerPoolInfo) GetCommissionRates() *CommissionRates { // Information about the account stake, if the account is either a baker or a // delegator. type AccountStakingInfo struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to StakingInfo: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to StakingInfo: // // *AccountStakingInfo_Baker_ // *AccountStakingInfo_Delegator_ - StakingInfo isAccountStakingInfo_StakingInfo `protobuf_oneof:"staking_info"` + StakingInfo isAccountStakingInfo_StakingInfo `protobuf_oneof:"staking_info"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *AccountStakingInfo) Reset() { *x = AccountStakingInfo{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[26] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *AccountStakingInfo) String() string { @@ -2167,7 +2106,7 @@ func (*AccountStakingInfo) ProtoMessage() {} func (x *AccountStakingInfo) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[26] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2182,23 +2121,27 @@ func (*AccountStakingInfo) Descriptor() ([]byte, []int) { return file_v2_concordium_types_proto_rawDescGZIP(), []int{26} } -func (m *AccountStakingInfo) GetStakingInfo() isAccountStakingInfo_StakingInfo { - if m != nil { - return m.StakingInfo +func (x *AccountStakingInfo) GetStakingInfo() isAccountStakingInfo_StakingInfo { + if x != nil { + return x.StakingInfo } return nil } func (x *AccountStakingInfo) GetBaker() *AccountStakingInfo_Baker { - if x, ok := x.GetStakingInfo().(*AccountStakingInfo_Baker_); ok { - return x.Baker + if x != nil { + if x, ok := x.StakingInfo.(*AccountStakingInfo_Baker_); ok { + return x.Baker + } } return nil } func (x *AccountStakingInfo) GetDelegator() *AccountStakingInfo_Delegator { - if x, ok := x.GetStakingInfo().(*AccountStakingInfo_Delegator_); ok { - return x.Delegator + if x != nil { + if x, ok := x.StakingInfo.(*AccountStakingInfo_Delegator_); ok { + return x.Delegator + } } return nil } @@ -2224,21 +2167,18 @@ func (*AccountStakingInfo_Delegator_) isAccountStakingInfo_StakingInfo() {} // A sequence number that determines the ordering of transactions from the // account. The minimum sequence number is 1. type SequenceNumber struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The sequence number. - Value uint64 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"` + Value uint64 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SequenceNumber) Reset() { *x = SequenceNumber{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[27] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[27] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SequenceNumber) String() string { @@ -2249,7 +2189,7 @@ func (*SequenceNumber) ProtoMessage() {} func (x *SequenceNumber) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[27] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2275,21 +2215,18 @@ func (x *SequenceNumber) GetValue() uint64 { // Equivalent to `SequenceNumber` for account transactions. // Update sequence numbers are per update type and the minimum value is 1. type UpdateSequenceNumber struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The sequence number. - Value uint64 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"` + Value uint64 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *UpdateSequenceNumber) Reset() { *x = UpdateSequenceNumber{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[28] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[28] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *UpdateSequenceNumber) String() string { @@ -2300,7 +2237,7 @@ func (*UpdateSequenceNumber) ProtoMessage() {} func (x *UpdateSequenceNumber) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[28] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2324,20 +2261,17 @@ func (x *UpdateSequenceNumber) GetValue() uint64 { // An amount of microCCD. type Amount struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Value uint64 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"` unknownFields protoimpl.UnknownFields - - Value uint64 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"` + sizeCache protoimpl.SizeCache } func (x *Amount) Reset() { *x = Amount{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[29] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[29] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *Amount) String() string { @@ -2348,7 +2282,7 @@ func (*Amount) ProtoMessage() {} func (x *Amount) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[29] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2372,20 +2306,17 @@ func (x *Amount) GetValue() uint64 { // Index of a credential on an account. type CredentialIndex struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Value uint32 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"` unknownFields protoimpl.UnknownFields - - Value uint32 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"` + sizeCache protoimpl.SizeCache } func (x *CredentialIndex) Reset() { *x = CredentialIndex{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[30] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[30] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *CredentialIndex) String() string { @@ -2396,7 +2327,7 @@ func (*CredentialIndex) ProtoMessage() {} func (x *CredentialIndex) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[30] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2420,20 +2351,17 @@ func (x *CredentialIndex) GetValue() uint32 { // The number of signatures required to sign. type SignatureThreshold struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Value uint32 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"` unknownFields protoimpl.UnknownFields - - Value uint32 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"` + sizeCache protoimpl.SizeCache } func (x *SignatureThreshold) Reset() { *x = SignatureThreshold{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[31] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[31] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SignatureThreshold) String() string { @@ -2444,7 +2372,7 @@ func (*SignatureThreshold) ProtoMessage() {} func (x *SignatureThreshold) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[31] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2468,20 +2396,17 @@ func (x *SignatureThreshold) GetValue() uint32 { // The number of credentials required to sign an account transaction. type AccountThreshold struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Value uint32 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"` unknownFields protoimpl.UnknownFields - - Value uint32 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"` + sizeCache protoimpl.SizeCache } func (x *AccountThreshold) Reset() { *x = AccountThreshold{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[32] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[32] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *AccountThreshold) String() string { @@ -2492,7 +2417,7 @@ func (*AccountThreshold) ProtoMessage() {} func (x *AccountThreshold) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[32] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2516,20 +2441,17 @@ func (x *AccountThreshold) GetValue() uint32 { // An account encryption key. Always 96 bytes. type EncryptionKey struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Value []byte `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` unknownFields protoimpl.UnknownFields - - Value []byte `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` + sizeCache protoimpl.SizeCache } func (x *EncryptionKey) Reset() { *x = EncryptionKey{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[33] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[33] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *EncryptionKey) String() string { @@ -2540,7 +2462,7 @@ func (*EncryptionKey) ProtoMessage() {} func (x *EncryptionKey) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[33] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2564,20 +2486,17 @@ func (x *EncryptionKey) GetValue() []byte { // An address of an account. Always 32 bytes. type AccountAddress struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Value []byte `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` unknownFields protoimpl.UnknownFields - - Value []byte `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` + sizeCache protoimpl.SizeCache } func (x *AccountAddress) Reset() { *x = AccountAddress{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[34] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[34] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *AccountAddress) String() string { @@ -2588,7 +2507,7 @@ func (*AccountAddress) ProtoMessage() {} func (x *AccountAddress) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[34] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2612,24 +2531,21 @@ func (x *AccountAddress) GetValue() []byte { // An address of either a contract or an account. type Address struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Type: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Type: // // *Address_Account // *Address_Contract - Type isAddress_Type `protobuf_oneof:"type"` + Type isAddress_Type `protobuf_oneof:"type"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *Address) Reset() { *x = Address{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[35] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[35] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *Address) String() string { @@ -2640,7 +2556,7 @@ func (*Address) ProtoMessage() {} func (x *Address) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[35] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2655,23 +2571,27 @@ func (*Address) Descriptor() ([]byte, []int) { return file_v2_concordium_types_proto_rawDescGZIP(), []int{35} } -func (m *Address) GetType() isAddress_Type { - if m != nil { - return m.Type +func (x *Address) GetType() isAddress_Type { + if x != nil { + return x.Type } return nil } func (x *Address) GetAccount() *AccountAddress { - if x, ok := x.GetType().(*Address_Account); ok { - return x.Account + if x != nil { + if x, ok := x.Type.(*Address_Account); ok { + return x.Account + } } return nil } func (x *Address) GetContract() *ContractAddress { - if x, ok := x.GetType().(*Address_Contract); ok { - return x.Contract + if x != nil { + if x, ok := x.Type.(*Address_Contract); ok { + return x.Contract + } } return nil } @@ -2694,23 +2614,20 @@ func (*Address_Contract) isAddress_Type() {} // A public key used to verify transaction signatures from an account. type AccountVerifyKey struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Key: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Key: // // *AccountVerifyKey_Ed25519Key - Key isAccountVerifyKey_Key `protobuf_oneof:"key"` + Key isAccountVerifyKey_Key `protobuf_oneof:"key"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *AccountVerifyKey) Reset() { *x = AccountVerifyKey{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[36] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[36] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *AccountVerifyKey) String() string { @@ -2721,7 +2638,7 @@ func (*AccountVerifyKey) ProtoMessage() {} func (x *AccountVerifyKey) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[36] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2736,16 +2653,18 @@ func (*AccountVerifyKey) Descriptor() ([]byte, []int) { return file_v2_concordium_types_proto_rawDescGZIP(), []int{36} } -func (m *AccountVerifyKey) GetKey() isAccountVerifyKey_Key { - if m != nil { - return m.Key +func (x *AccountVerifyKey) GetKey() isAccountVerifyKey_Key { + if x != nil { + return x.Key } return nil } func (x *AccountVerifyKey) GetEd25519Key() []byte { - if x, ok := x.GetKey().(*AccountVerifyKey_Ed25519Key); ok { - return x.Ed25519Key + if x != nil { + if x, ok := x.Key.(*AccountVerifyKey_Ed25519Key); ok { + return x.Ed25519Key + } } return nil } @@ -2762,21 +2681,18 @@ func (*AccountVerifyKey_Ed25519Key) isAccountVerifyKey_Key() {} // Public keys of a single credential. type CredentialPublicKeys struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Keys map[uint32]*AccountVerifyKey `protobuf:"bytes,1,rep,name=keys,proto3" json:"keys,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + Threshold *SignatureThreshold `protobuf:"bytes,2,opt,name=threshold,proto3" json:"threshold,omitempty"` unknownFields protoimpl.UnknownFields - - Keys map[uint32]*AccountVerifyKey `protobuf:"bytes,1,rep,name=keys,proto3" json:"keys,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` - Threshold *SignatureThreshold `protobuf:"bytes,2,opt,name=threshold,proto3" json:"threshold,omitempty"` + sizeCache protoimpl.SizeCache } func (x *CredentialPublicKeys) Reset() { *x = CredentialPublicKeys{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[37] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[37] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *CredentialPublicKeys) String() string { @@ -2787,7 +2703,7 @@ func (*CredentialPublicKeys) ProtoMessage() {} func (x *CredentialPublicKeys) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[37] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2819,20 +2735,17 @@ func (x *CredentialPublicKeys) GetThreshold() *SignatureThreshold { // A registration ID of a credential, derived from the secret PRF key and a // nonce. This is always 48 bytes long. type CredentialRegistrationId struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Value []byte `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` unknownFields protoimpl.UnknownFields - - Value []byte `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` + sizeCache protoimpl.SizeCache } func (x *CredentialRegistrationId) Reset() { *x = CredentialRegistrationId{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[38] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[38] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *CredentialRegistrationId) String() string { @@ -2843,7 +2756,7 @@ func (*CredentialRegistrationId) ProtoMessage() {} func (x *CredentialRegistrationId) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[38] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2868,20 +2781,17 @@ func (x *CredentialRegistrationId) GetValue() []byte { // An index of the identity provider that identifies them uniquely in the // context of a specific chain. type IdentityProviderIdentity struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Value uint32 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"` unknownFields protoimpl.UnknownFields - - Value uint32 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"` + sizeCache protoimpl.SizeCache } func (x *IdentityProviderIdentity) Reset() { *x = IdentityProviderIdentity{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[39] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[39] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *IdentityProviderIdentity) String() string { @@ -2892,7 +2802,7 @@ func (*IdentityProviderIdentity) ProtoMessage() {} func (x *IdentityProviderIdentity) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[39] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2916,21 +2826,18 @@ func (x *IdentityProviderIdentity) GetValue() uint32 { // Representation of the pair of a year and month. type YearMonth struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Year uint32 `protobuf:"varint,1,opt,name=year,proto3" json:"year,omitempty"` + Month uint32 `protobuf:"varint,2,opt,name=month,proto3" json:"month,omitempty"` unknownFields protoimpl.UnknownFields - - Year uint32 `protobuf:"varint,1,opt,name=year,proto3" json:"year,omitempty"` - Month uint32 `protobuf:"varint,2,opt,name=month,proto3" json:"month,omitempty"` + sizeCache protoimpl.SizeCache } func (x *YearMonth) Reset() { *x = YearMonth{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[40] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[40] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *YearMonth) String() string { @@ -2941,7 +2848,7 @@ func (*YearMonth) ProtoMessage() {} func (x *YearMonth) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[40] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2972,10 +2879,7 @@ func (x *YearMonth) GetMonth() uint32 { // Policy on a credential. type Policy struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The year and month when the identity object from which the credential is // derived was created. CreatedAt *YearMonth `protobuf:"bytes,1,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` @@ -2985,16 +2889,16 @@ type Policy struct { // Mapping from attribute tags to attribute values. Attribute tags are always // representable in a single `u8`, attribute values are never more than 31 // bytes in length. - Attributes map[uint32][]byte `protobuf:"bytes,3,rep,name=attributes,proto3" json:"attributes,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + Attributes map[uint32][]byte `protobuf:"bytes,3,rep,name=attributes,proto3" json:"attributes,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *Policy) Reset() { *x = Policy{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[41] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[41] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *Policy) String() string { @@ -3005,7 +2909,7 @@ func (*Policy) ProtoMessage() {} func (x *Policy) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[41] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3043,10 +2947,7 @@ func (x *Policy) GetAttributes() map[uint32][]byte { // Values contained in an initial credential. type InitialCredentialValues struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Public keys of the credential. Keys *CredentialPublicKeys `protobuf:"bytes,1,opt,name=keys,proto3" json:"keys,omitempty"` // Its registration ID. @@ -3055,16 +2956,16 @@ type InitialCredentialValues struct { // credential is derived. IpId *IdentityProviderIdentity `protobuf:"bytes,3,opt,name=ip_id,json=ipId,proto3" json:"ip_id,omitempty"` // Policy of this credential. - Policy *Policy `protobuf:"bytes,4,opt,name=policy,proto3" json:"policy,omitempty"` + Policy *Policy `protobuf:"bytes,4,opt,name=policy,proto3" json:"policy,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *InitialCredentialValues) Reset() { *x = InitialCredentialValues{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[42] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[42] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *InitialCredentialValues) String() string { @@ -3075,7 +2976,7 @@ func (*InitialCredentialValues) ProtoMessage() {} func (x *InitialCredentialValues) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[42] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3121,21 +3022,18 @@ func (x *InitialCredentialValues) GetPolicy() *Policy { // Data relating to a single anonymity revoker sent by the account holder to // the chain. type ChainArData struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Share of the encryption of IdCredPub. EncIdCredPubShare []byte `protobuf:"bytes,1,opt,name=enc_id_cred_pub_share,json=encIdCredPubShare,proto3" json:"enc_id_cred_pub_share,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ChainArData) Reset() { *x = ChainArData{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[43] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[43] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ChainArData) String() string { @@ -3146,7 +3044,7 @@ func (*ChainArData) ProtoMessage() {} func (x *ChainArData) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[43] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3171,20 +3069,17 @@ func (x *ChainArData) GetEncIdCredPubShare() []byte { // The number of anonymity revokers needed to revoke anonymity of a credential // holder. type ArThreshold struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Value uint32 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"` unknownFields protoimpl.UnknownFields - - Value uint32 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"` + sizeCache protoimpl.SizeCache } func (x *ArThreshold) Reset() { *x = ArThreshold{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[44] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[44] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ArThreshold) String() string { @@ -3195,7 +3090,7 @@ func (*ArThreshold) ProtoMessage() {} func (x *ArThreshold) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[44] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3220,20 +3115,17 @@ func (x *ArThreshold) GetValue() uint32 { // A single commitment in the G1 group of the BLS curve. This is always 48 bytes // in length. type Commitment struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Value []byte `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` unknownFields protoimpl.UnknownFields - - Value []byte `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` + sizeCache protoimpl.SizeCache } func (x *Commitment) Reset() { *x = Commitment{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[45] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[45] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *Commitment) String() string { @@ -3244,7 +3136,7 @@ func (*Commitment) ProtoMessage() {} func (x *Commitment) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[45] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3268,10 +3160,7 @@ func (x *Commitment) GetValue() []byte { // Commitments that are part of a normal credential. type CredentialCommitments struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Commitment to the PRF key. Prf *Commitment `protobuf:"bytes,1,opt,name=prf,proto3" json:"prf,omitempty"` // Commitment to the counter used to generate the credential registration id. @@ -3280,20 +3169,20 @@ type CredentialCommitments struct { // of credentials that may be created from the identity object. MaxAccounts *Commitment `protobuf:"bytes,3,opt,name=max_accounts,json=maxAccounts,proto3" json:"max_accounts,omitempty"` // Commitments to the attributes which have not been revealed in the policy. - Attributes map[uint32]*Commitment `protobuf:"bytes,4,rep,name=attributes,proto3" json:"attributes,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + Attributes map[uint32]*Commitment `protobuf:"bytes,4,rep,name=attributes,proto3" json:"attributes,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` // List of commitments to the coefficients of the sharing polynomial. This // polynomial is used in a shared encryption of `id_cred_pub` among the // anonymity revokers. IdCredSecSharingCoeff []*Commitment `protobuf:"bytes,5,rep,name=id_cred_sec_sharing_coeff,json=idCredSecSharingCoeff,proto3" json:"id_cred_sec_sharing_coeff,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *CredentialCommitments) Reset() { *x = CredentialCommitments{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[46] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[46] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *CredentialCommitments) String() string { @@ -3304,7 +3193,7 @@ func (*CredentialCommitments) ProtoMessage() {} func (x *CredentialCommitments) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[46] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3356,10 +3245,7 @@ func (x *CredentialCommitments) GetIdCredSecSharingCoeff() []*Commitment { // Values contained in a normal (non-initial) credential. type NormalCredentialValues struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Public keys of the credential. Keys *CredentialPublicKeys `protobuf:"bytes,1,opt,name=keys,proto3" json:"keys,omitempty"` // Its registration ID. @@ -3373,18 +3259,18 @@ type NormalCredentialValues struct { // anonymity of the credential holder. ArThreshold *ArThreshold `protobuf:"bytes,5,opt,name=ar_threshold,json=arThreshold,proto3" json:"ar_threshold,omitempty"` // Mapping from anonymity revoker identities to revocation data for the given anonymity revoker. - ArData map[uint32]*ChainArData `protobuf:"bytes,6,rep,name=ar_data,json=arData,proto3" json:"ar_data,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + ArData map[uint32]*ChainArData `protobuf:"bytes,6,rep,name=ar_data,json=arData,proto3" json:"ar_data,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` // Commitments to attributes which have not been revealed. - Commitments *CredentialCommitments `protobuf:"bytes,7,opt,name=commitments,proto3" json:"commitments,omitempty"` + Commitments *CredentialCommitments `protobuf:"bytes,7,opt,name=commitments,proto3" json:"commitments,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *NormalCredentialValues) Reset() { *x = NormalCredentialValues{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[47] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[47] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *NormalCredentialValues) String() string { @@ -3395,7 +3281,7 @@ func (*NormalCredentialValues) ProtoMessage() {} func (x *NormalCredentialValues) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[47] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3461,24 +3347,21 @@ func (x *NormalCredentialValues) GetCommitments() *CredentialCommitments { // Credential that is part of an account. type AccountCredential struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to CredentialValues: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to CredentialValues: // // *AccountCredential_Initial // *AccountCredential_Normal CredentialValues isAccountCredential_CredentialValues `protobuf_oneof:"credential_values"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *AccountCredential) Reset() { *x = AccountCredential{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[48] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[48] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *AccountCredential) String() string { @@ -3489,7 +3372,7 @@ func (*AccountCredential) ProtoMessage() {} func (x *AccountCredential) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[48] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3504,23 +3387,27 @@ func (*AccountCredential) Descriptor() ([]byte, []int) { return file_v2_concordium_types_proto_rawDescGZIP(), []int{48} } -func (m *AccountCredential) GetCredentialValues() isAccountCredential_CredentialValues { - if m != nil { - return m.CredentialValues +func (x *AccountCredential) GetCredentialValues() isAccountCredential_CredentialValues { + if x != nil { + return x.CredentialValues } return nil } func (x *AccountCredential) GetInitial() *InitialCredentialValues { - if x, ok := x.GetCredentialValues().(*AccountCredential_Initial); ok { - return x.Initial + if x != nil { + if x, ok := x.CredentialValues.(*AccountCredential_Initial); ok { + return x.Initial + } } return nil } func (x *AccountCredential) GetNormal() *NormalCredentialValues { - if x, ok := x.GetCredentialValues().(*AccountCredential_Normal); ok { - return x.Normal + if x != nil { + if x, ok := x.CredentialValues.(*AccountCredential_Normal); ok { + return x.Normal + } } return nil } @@ -3542,10 +3429,7 @@ func (*AccountCredential_Initial) isAccountCredential_CredentialValues() {} func (*AccountCredential_Normal) isAccountCredential_CredentialValues() {} type Cooldown struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The time in milliseconds since the Unix epoch when the cooldown period // ends. EndTime *Timestamp `protobuf:"bytes,1,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` @@ -3553,16 +3437,16 @@ type Cooldown struct { // cooldown period. Amount *Amount `protobuf:"bytes,2,opt,name=amount,proto3" json:"amount,omitempty"` // The status of the cooldown. - Status Cooldown_CooldownStatus `protobuf:"varint,3,opt,name=status,proto3,enum=concordium.v2.Cooldown_CooldownStatus" json:"status,omitempty"` + Status Cooldown_CooldownStatus `protobuf:"varint,3,opt,name=status,proto3,enum=concordium.v2.Cooldown_CooldownStatus" json:"status,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *Cooldown) Reset() { *x = Cooldown{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[49] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[49] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *Cooldown) String() string { @@ -3573,7 +3457,7 @@ func (*Cooldown) ProtoMessage() {} func (x *Cooldown) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[49] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3611,10 +3495,7 @@ func (x *Cooldown) GetStatus() Cooldown_CooldownStatus { // Information about the account at a particular point in time. type AccountInfo struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Next sequence number to be used for transactions signed from this account. SequenceNumber *SequenceNumber `protobuf:"bytes,1,opt,name=sequence_number,json=sequenceNumber,proto3" json:"sequence_number,omitempty"` // Current (unencrypted) balance of the account. @@ -3626,7 +3507,7 @@ type AccountInfo struct { // This includes public keys that can sign for the given credentials, as // well as any revealed attributes. This map always contains a credential // with index 0. - Creds map[uint32]*AccountCredential `protobuf:"bytes,4,rep,name=creds,proto3" json:"creds,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + Creds map[uint32]*AccountCredential `protobuf:"bytes,4,rep,name=creds,proto3" json:"creds,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` // Lower bound on how many credentials must sign any given transaction from // this account. Threshold *AccountThreshold `protobuf:"bytes,5,opt,name=threshold,proto3" json:"threshold,omitempty"` @@ -3657,15 +3538,15 @@ type AccountInfo struct { // the total amount that is actively staked or in cooldown (inactive stake). // This was introduced in node version 7.0. AvailableBalance *Amount `protobuf:"bytes,12,opt,name=available_balance,json=availableBalance,proto3" json:"available_balance,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *AccountInfo) Reset() { *x = AccountInfo{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[50] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[50] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *AccountInfo) String() string { @@ -3676,7 +3557,7 @@ func (*AccountInfo) ProtoMessage() {} func (x *AccountInfo) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[50] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3777,11 +3658,8 @@ func (x *AccountInfo) GetAvailableBalance() *Amount { // Input to queries which take a block as a parameter. type BlockHashInput struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to BlockHashInput: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to BlockHashInput: // // *BlockHashInput_Best // *BlockHashInput_LastFinal @@ -3789,15 +3667,15 @@ type BlockHashInput struct { // *BlockHashInput_AbsoluteHeight // *BlockHashInput_RelativeHeight_ BlockHashInput isBlockHashInput_BlockHashInput `protobuf_oneof:"block_hash_input"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *BlockHashInput) Reset() { *x = BlockHashInput{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[51] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[51] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *BlockHashInput) String() string { @@ -3808,7 +3686,7 @@ func (*BlockHashInput) ProtoMessage() {} func (x *BlockHashInput) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[51] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3823,44 +3701,54 @@ func (*BlockHashInput) Descriptor() ([]byte, []int) { return file_v2_concordium_types_proto_rawDescGZIP(), []int{51} } -func (m *BlockHashInput) GetBlockHashInput() isBlockHashInput_BlockHashInput { - if m != nil { - return m.BlockHashInput +func (x *BlockHashInput) GetBlockHashInput() isBlockHashInput_BlockHashInput { + if x != nil { + return x.BlockHashInput } return nil } func (x *BlockHashInput) GetBest() *Empty { - if x, ok := x.GetBlockHashInput().(*BlockHashInput_Best); ok { - return x.Best + if x != nil { + if x, ok := x.BlockHashInput.(*BlockHashInput_Best); ok { + return x.Best + } } return nil } func (x *BlockHashInput) GetLastFinal() *Empty { - if x, ok := x.GetBlockHashInput().(*BlockHashInput_LastFinal); ok { - return x.LastFinal + if x != nil { + if x, ok := x.BlockHashInput.(*BlockHashInput_LastFinal); ok { + return x.LastFinal + } } return nil } func (x *BlockHashInput) GetGiven() *BlockHash { - if x, ok := x.GetBlockHashInput().(*BlockHashInput_Given); ok { - return x.Given + if x != nil { + if x, ok := x.BlockHashInput.(*BlockHashInput_Given); ok { + return x.Given + } } return nil } func (x *BlockHashInput) GetAbsoluteHeight() *AbsoluteBlockHeight { - if x, ok := x.GetBlockHashInput().(*BlockHashInput_AbsoluteHeight); ok { - return x.AbsoluteHeight + if x != nil { + if x, ok := x.BlockHashInput.(*BlockHashInput_AbsoluteHeight); ok { + return x.AbsoluteHeight + } } return nil } func (x *BlockHashInput) GetRelativeHeight() *BlockHashInput_RelativeHeight { - if x, ok := x.GetBlockHashInput().(*BlockHashInput_RelativeHeight_); ok { - return x.RelativeHeight + if x != nil { + if x, ok := x.BlockHashInput.(*BlockHashInput_RelativeHeight_); ok { + return x.RelativeHeight + } } return nil } @@ -3906,24 +3794,21 @@ func (*BlockHashInput_RelativeHeight_) isBlockHashInput_BlockHashInput() {} // Input to queries which take an epoch as a parameter. type EpochRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to EpochRequestInput: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to EpochRequestInput: // // *EpochRequest_RelativeEpoch_ // *EpochRequest_BlockHash EpochRequestInput isEpochRequest_EpochRequestInput `protobuf_oneof:"epoch_request_input"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *EpochRequest) Reset() { *x = EpochRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[52] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[52] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *EpochRequest) String() string { @@ -3934,7 +3819,7 @@ func (*EpochRequest) ProtoMessage() {} func (x *EpochRequest) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[52] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3949,23 +3834,27 @@ func (*EpochRequest) Descriptor() ([]byte, []int) { return file_v2_concordium_types_proto_rawDescGZIP(), []int{52} } -func (m *EpochRequest) GetEpochRequestInput() isEpochRequest_EpochRequestInput { - if m != nil { - return m.EpochRequestInput +func (x *EpochRequest) GetEpochRequestInput() isEpochRequest_EpochRequestInput { + if x != nil { + return x.EpochRequestInput } return nil } func (x *EpochRequest) GetRelativeEpoch() *EpochRequest_RelativeEpoch { - if x, ok := x.GetEpochRequestInput().(*EpochRequest_RelativeEpoch_); ok { - return x.RelativeEpoch + if x != nil { + if x, ok := x.EpochRequestInput.(*EpochRequest_RelativeEpoch_); ok { + return x.RelativeEpoch + } } return nil } func (x *EpochRequest) GetBlockHash() *BlockHashInput { - if x, ok := x.GetEpochRequestInput().(*EpochRequest_BlockHash); ok { - return x.BlockHash + if x != nil { + if x, ok := x.EpochRequestInput.(*EpochRequest_BlockHash); ok { + return x.BlockHash + } } return nil } @@ -3990,25 +3879,22 @@ func (*EpochRequest_BlockHash) isEpochRequest_EpochRequestInput() {} // Input to queries which take an account as a parameter. type AccountIdentifierInput struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to AccountIdentifierInput: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to AccountIdentifierInput: // // *AccountIdentifierInput_Address // *AccountIdentifierInput_CredId // *AccountIdentifierInput_AccountIndex AccountIdentifierInput isAccountIdentifierInput_AccountIdentifierInput `protobuf_oneof:"account_identifier_input"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *AccountIdentifierInput) Reset() { *x = AccountIdentifierInput{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[53] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[53] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *AccountIdentifierInput) String() string { @@ -4019,7 +3905,7 @@ func (*AccountIdentifierInput) ProtoMessage() {} func (x *AccountIdentifierInput) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[53] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -4034,30 +3920,36 @@ func (*AccountIdentifierInput) Descriptor() ([]byte, []int) { return file_v2_concordium_types_proto_rawDescGZIP(), []int{53} } -func (m *AccountIdentifierInput) GetAccountIdentifierInput() isAccountIdentifierInput_AccountIdentifierInput { - if m != nil { - return m.AccountIdentifierInput +func (x *AccountIdentifierInput) GetAccountIdentifierInput() isAccountIdentifierInput_AccountIdentifierInput { + if x != nil { + return x.AccountIdentifierInput } return nil } func (x *AccountIdentifierInput) GetAddress() *AccountAddress { - if x, ok := x.GetAccountIdentifierInput().(*AccountIdentifierInput_Address); ok { - return x.Address + if x != nil { + if x, ok := x.AccountIdentifierInput.(*AccountIdentifierInput_Address); ok { + return x.Address + } } return nil } func (x *AccountIdentifierInput) GetCredId() *CredentialRegistrationId { - if x, ok := x.GetAccountIdentifierInput().(*AccountIdentifierInput_CredId); ok { - return x.CredId + if x != nil { + if x, ok := x.AccountIdentifierInput.(*AccountIdentifierInput_CredId); ok { + return x.CredId + } } return nil } func (x *AccountIdentifierInput) GetAccountIndex() *AccountIndex { - if x, ok := x.GetAccountIdentifierInput().(*AccountIdentifierInput_AccountIndex); ok { - return x.AccountIndex + if x != nil { + if x, ok := x.AccountIdentifierInput.(*AccountIdentifierInput_AccountIndex); ok { + return x.AccountIndex + } } return nil } @@ -4089,23 +3981,20 @@ func (*AccountIdentifierInput_AccountIndex) isAccountIdentifierInput_AccountIden // Request for account information. type AccountInfoRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Block in which to query the account information. BlockHash *BlockHashInput `protobuf:"bytes,1,opt,name=block_hash,json=blockHash,proto3" json:"block_hash,omitempty"` // Specification of the account. AccountIdentifier *AccountIdentifierInput `protobuf:"bytes,2,opt,name=account_identifier,json=accountIdentifier,proto3" json:"account_identifier,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *AccountInfoRequest) Reset() { *x = AccountInfoRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[54] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[54] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *AccountInfoRequest) String() string { @@ -4116,7 +4005,7 @@ func (*AccountInfoRequest) ProtoMessage() {} func (x *AccountInfoRequest) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[54] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -4147,23 +4036,20 @@ func (x *AccountInfoRequest) GetAccountIdentifier() *AccountIdentifierInput { // Information about a finalized block that is part of the streaming response. type FinalizedBlockInfo struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Hash of the block. Hash *BlockHash `protobuf:"bytes,1,opt,name=hash,proto3" json:"hash,omitempty"` // Absolute height of the block, height 0 is the genesis block. - Height *AbsoluteBlockHeight `protobuf:"bytes,2,opt,name=height,proto3" json:"height,omitempty"` + Height *AbsoluteBlockHeight `protobuf:"bytes,2,opt,name=height,proto3" json:"height,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *FinalizedBlockInfo) Reset() { *x = FinalizedBlockInfo{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[55] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[55] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *FinalizedBlockInfo) String() string { @@ -4174,7 +4060,7 @@ func (*FinalizedBlockInfo) ProtoMessage() {} func (x *FinalizedBlockInfo) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[55] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -4205,23 +4091,20 @@ func (x *FinalizedBlockInfo) GetHeight() *AbsoluteBlockHeight { // Request the ancestors for the given block. type AncestorsRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The block to get ancestors of. BlockHash *BlockHashInput `protobuf:"bytes,1,opt,name=block_hash,json=blockHash,proto3" json:"block_hash,omitempty"` // The maximum number of ancestors returned. - Amount uint64 `protobuf:"varint,2,opt,name=amount,proto3" json:"amount,omitempty"` + Amount uint64 `protobuf:"varint,2,opt,name=amount,proto3" json:"amount,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *AncestorsRequest) Reset() { *x = AncestorsRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[56] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[56] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *AncestorsRequest) String() string { @@ -4232,7 +4115,7 @@ func (*AncestorsRequest) ProtoMessage() {} func (x *AncestorsRequest) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[56] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -4263,23 +4146,20 @@ func (x *AncestorsRequest) GetAmount() uint64 { // Request for getting the source of a smart contract module. type ModuleSourceRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The block to be used for the query. BlockHash *BlockHashInput `protobuf:"bytes,1,opt,name=block_hash,json=blockHash,proto3" json:"block_hash,omitempty"` // The reference of the module. - ModuleRef *ModuleRef `protobuf:"bytes,2,opt,name=module_ref,json=moduleRef,proto3" json:"module_ref,omitempty"` + ModuleRef *ModuleRef `protobuf:"bytes,2,opt,name=module_ref,json=moduleRef,proto3" json:"module_ref,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ModuleSourceRequest) Reset() { *x = ModuleSourceRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[57] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[57] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ModuleSourceRequest) String() string { @@ -4290,7 +4170,7 @@ func (*ModuleSourceRequest) ProtoMessage() {} func (x *ModuleSourceRequest) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[57] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -4321,24 +4201,21 @@ func (x *ModuleSourceRequest) GetModuleRef() *ModuleRef { // Address of a smart contract instance. type ContractAddress struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The index of the smart contract. Index uint64 `protobuf:"varint,1,opt,name=index,proto3" json:"index,omitempty"` // The subindex of the smart contract instance. // Currently not used, so it is always 0. - Subindex uint64 `protobuf:"varint,2,opt,name=subindex,proto3" json:"subindex,omitempty"` + Subindex uint64 `protobuf:"varint,2,opt,name=subindex,proto3" json:"subindex,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ContractAddress) Reset() { *x = ContractAddress{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[58] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[58] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ContractAddress) String() string { @@ -4349,7 +4226,7 @@ func (*ContractAddress) ProtoMessage() {} func (x *ContractAddress) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[58] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -4380,23 +4257,20 @@ func (x *ContractAddress) GetSubindex() uint64 { // Request for getting information about a smart contract instance. type InstanceInfoRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The block to be used for the query. BlockHash *BlockHashInput `protobuf:"bytes,1,opt,name=block_hash,json=blockHash,proto3" json:"block_hash,omitempty"` // The address of the smart contract instance. - Address *ContractAddress `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"` + Address *ContractAddress `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *InstanceInfoRequest) Reset() { *x = InstanceInfoRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[59] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[59] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *InstanceInfoRequest) String() string { @@ -4407,7 +4281,7 @@ func (*InstanceInfoRequest) ProtoMessage() {} func (x *InstanceInfoRequest) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[59] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -4438,26 +4312,23 @@ func (x *InstanceInfoRequest) GetAddress() *ContractAddress { // Information about a smart contract instance. type InstanceInfo struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The information depends on the smart contract version used by the instance. // - // Types that are assignable to Version: + // Types that are valid to be assigned to Version: // // *InstanceInfo_V0_ // *InstanceInfo_V1_ - Version isInstanceInfo_Version `protobuf_oneof:"version"` + Version isInstanceInfo_Version `protobuf_oneof:"version"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *InstanceInfo) Reset() { *x = InstanceInfo{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[60] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[60] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *InstanceInfo) String() string { @@ -4468,7 +4339,7 @@ func (*InstanceInfo) ProtoMessage() {} func (x *InstanceInfo) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[60] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -4483,23 +4354,27 @@ func (*InstanceInfo) Descriptor() ([]byte, []int) { return file_v2_concordium_types_proto_rawDescGZIP(), []int{60} } -func (m *InstanceInfo) GetVersion() isInstanceInfo_Version { - if m != nil { - return m.Version +func (x *InstanceInfo) GetVersion() isInstanceInfo_Version { + if x != nil { + return x.Version } return nil } func (x *InstanceInfo) GetV0() *InstanceInfo_V0 { - if x, ok := x.GetVersion().(*InstanceInfo_V0_); ok { - return x.V0 + if x != nil { + if x, ok := x.Version.(*InstanceInfo_V0_); ok { + return x.V0 + } } return nil } func (x *InstanceInfo) GetV1() *InstanceInfo_V1 { - if x, ok := x.GetVersion().(*InstanceInfo_V1_); ok { - return x.V1 + if x != nil { + if x, ok := x.Version.(*InstanceInfo_V1_); ok { + return x.V1 + } } return nil } @@ -4522,21 +4397,18 @@ func (*InstanceInfo_V1_) isInstanceInfo_Version() {} // A smart contract instance key-value pair. type InstanceStateKVPair struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Key []byte `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` + Value []byte `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` unknownFields protoimpl.UnknownFields - - Key []byte `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` - Value []byte `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` + sizeCache protoimpl.SizeCache } func (x *InstanceStateKVPair) Reset() { *x = InstanceStateKVPair{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[61] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[61] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *InstanceStateKVPair) String() string { @@ -4547,7 +4419,7 @@ func (*InstanceStateKVPair) ProtoMessage() {} func (x *InstanceStateKVPair) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[61] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -4578,25 +4450,22 @@ func (x *InstanceStateKVPair) GetValue() []byte { // Request for a specific key of a smart contract instance state. type InstanceStateLookupRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The block to be used for the query. BlockHash *BlockHashInput `protobuf:"bytes,1,opt,name=block_hash,json=blockHash,proto3" json:"block_hash,omitempty"` // The address of the smart contract instance. Address *ContractAddress `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"` // Key to look up. If the instance is a V0 instance then this will not be used. - Key []byte `protobuf:"bytes,3,opt,name=key,proto3" json:"key,omitempty"` + Key []byte `protobuf:"bytes,3,opt,name=key,proto3" json:"key,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *InstanceStateLookupRequest) Reset() { *x = InstanceStateLookupRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[62] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[62] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *InstanceStateLookupRequest) String() string { @@ -4607,7 +4476,7 @@ func (*InstanceStateLookupRequest) ProtoMessage() {} func (x *InstanceStateLookupRequest) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[62] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -4646,20 +4515,17 @@ func (x *InstanceStateLookupRequest) GetKey() []byte { // Value at the requested key of a smart contract instance state. For V0 // contracts this will always be the entire state of the contract. type InstanceStateValueAtKey struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Value []byte `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` unknownFields protoimpl.UnknownFields - - Value []byte `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` + sizeCache protoimpl.SizeCache } func (x *InstanceStateValueAtKey) Reset() { *x = InstanceStateValueAtKey{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[63] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[63] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *InstanceStateValueAtKey) String() string { @@ -4670,7 +4536,7 @@ func (*InstanceStateValueAtKey) ProtoMessage() {} func (x *InstanceStateValueAtKey) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[63] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -4696,20 +4562,17 @@ func (x *InstanceStateValueAtKey) GetValue() []byte { // `.`. It must only consist of atmost 100 ASCII // alphanumeric or punctuation characters, and must contain a '.'. type ReceiveName struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Value string `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` unknownFields protoimpl.UnknownFields - - Value string `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` + sizeCache protoimpl.SizeCache } func (x *ReceiveName) Reset() { *x = ReceiveName{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[64] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[64] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ReceiveName) String() string { @@ -4720,7 +4583,7 @@ func (*ReceiveName) ProtoMessage() {} func (x *ReceiveName) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[64] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -4747,20 +4610,17 @@ func (x *ReceiveName) GetValue() string { // or punctuation characters, must not contain a '.' and must start with // 'init_'. type InitName struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Value string `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` unknownFields protoimpl.UnknownFields - - Value string `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` + sizeCache protoimpl.SizeCache } func (x *InitName) Reset() { *x = InitName{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[65] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[65] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *InitName) String() string { @@ -4771,7 +4631,7 @@ func (*InitName) ProtoMessage() {} func (x *InitName) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[65] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -4795,20 +4655,17 @@ func (x *InitName) GetValue() string { // Parameter to a smart contract initialization or invocation. type Parameter struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Value []byte `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` unknownFields protoimpl.UnknownFields - - Value []byte `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` + sizeCache protoimpl.SizeCache } func (x *Parameter) Reset() { *x = Parameter{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[66] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[66] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *Parameter) String() string { @@ -4819,7 +4676,7 @@ func (*Parameter) ProtoMessage() {} func (x *Parameter) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[66] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -4843,20 +4700,17 @@ func (x *Parameter) GetValue() []byte { // A smart contract v0 state. type ContractStateV0 struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Value []byte `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` unknownFields protoimpl.UnknownFields - - Value []byte `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` + sizeCache protoimpl.SizeCache } func (x *ContractStateV0) Reset() { *x = ContractStateV0{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[67] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[67] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ContractStateV0) String() string { @@ -4867,7 +4721,7 @@ func (*ContractStateV0) ProtoMessage() {} func (x *ContractStateV0) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[67] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -4891,25 +4745,22 @@ func (x *ContractStateV0) GetValue() []byte { // Status of a block item known to the node. type BlockItemStatus struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Status: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Status: // // *BlockItemStatus_Received // *BlockItemStatus_Committed_ // *BlockItemStatus_Finalized_ - Status isBlockItemStatus_Status `protobuf_oneof:"status"` + Status isBlockItemStatus_Status `protobuf_oneof:"status"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *BlockItemStatus) Reset() { *x = BlockItemStatus{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[68] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[68] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *BlockItemStatus) String() string { @@ -4920,7 +4771,7 @@ func (*BlockItemStatus) ProtoMessage() {} func (x *BlockItemStatus) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[68] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -4935,30 +4786,36 @@ func (*BlockItemStatus) Descriptor() ([]byte, []int) { return file_v2_concordium_types_proto_rawDescGZIP(), []int{68} } -func (m *BlockItemStatus) GetStatus() isBlockItemStatus_Status { - if m != nil { - return m.Status +func (x *BlockItemStatus) GetStatus() isBlockItemStatus_Status { + if x != nil { + return x.Status } return nil } func (x *BlockItemStatus) GetReceived() *Empty { - if x, ok := x.GetStatus().(*BlockItemStatus_Received); ok { - return x.Received + if x != nil { + if x, ok := x.Status.(*BlockItemStatus_Received); ok { + return x.Received + } } return nil } func (x *BlockItemStatus) GetCommitted() *BlockItemStatus_Committed { - if x, ok := x.GetStatus().(*BlockItemStatus_Committed_); ok { - return x.Committed + if x != nil { + if x, ok := x.Status.(*BlockItemStatus_Committed_); ok { + return x.Committed + } } return nil } func (x *BlockItemStatus) GetFinalized() *BlockItemStatus_Finalized { - if x, ok := x.GetStatus().(*BlockItemStatus_Finalized_); ok { - return x.Finalized + if x != nil { + if x, ok := x.Status.(*BlockItemStatus_Finalized_); ok { + return x.Finalized + } } return nil } @@ -4993,23 +4850,20 @@ func (*BlockItemStatus_Finalized_) isBlockItemStatus_Status() {} // A block item summary together with a block hash. Used in BlockItemStatus. type BlockItemSummaryInBlock struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The block hash. BlockHash *BlockHash `protobuf:"bytes,1,opt,name=block_hash,json=blockHash,proto3" json:"block_hash,omitempty"` // The block item summary. - Outcome *BlockItemSummary `protobuf:"bytes,2,opt,name=outcome,proto3" json:"outcome,omitempty"` + Outcome *BlockItemSummary `protobuf:"bytes,2,opt,name=outcome,proto3" json:"outcome,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *BlockItemSummaryInBlock) Reset() { *x = BlockItemSummaryInBlock{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[69] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[69] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *BlockItemSummaryInBlock) String() string { @@ -5020,7 +4874,7 @@ func (*BlockItemSummaryInBlock) ProtoMessage() {} func (x *BlockItemSummaryInBlock) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[69] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -5052,20 +4906,17 @@ func (x *BlockItemSummaryInBlock) GetOutcome() *BlockItemSummary { // Energy is used to count exact execution cost. // This cost is then converted to CCD amounts. type Energy struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Value uint64 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"` unknownFields protoimpl.UnknownFields - - Value uint64 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"` + sizeCache protoimpl.SizeCache } func (x *Energy) Reset() { *x = Energy{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[70] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[70] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *Energy) String() string { @@ -5076,7 +4927,7 @@ func (*Energy) ProtoMessage() {} func (x *Energy) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[70] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -5100,20 +4951,17 @@ func (x *Energy) GetValue() uint64 { // A number representing a slot for baking a block. type Slot struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Value uint64 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"` unknownFields protoimpl.UnknownFields - - Value uint64 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"` + sizeCache protoimpl.SizeCache } func (x *Slot) Reset() { *x = Slot{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[71] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[71] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *Slot) String() string { @@ -5124,7 +4972,7 @@ func (*Slot) ProtoMessage() {} func (x *Slot) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[71] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -5148,23 +4996,20 @@ func (x *Slot) GetValue() uint64 { // The response for getNextAccountSequenceNumber. type NextAccountSequenceNumber struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The best guess for the available account sequence number. SequenceNumber *SequenceNumber `protobuf:"bytes,1,opt,name=sequence_number,json=sequenceNumber,proto3" json:"sequence_number,omitempty"` // Whether the guess relies on any non-finalized transactions. If true all of the relevant transactions are finalized. - AllFinal bool `protobuf:"varint,2,opt,name=all_final,json=allFinal,proto3" json:"all_final,omitempty"` + AllFinal bool `protobuf:"varint,2,opt,name=all_final,json=allFinal,proto3" json:"all_final,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *NextAccountSequenceNumber) Reset() { *x = NextAccountSequenceNumber{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[72] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[72] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *NextAccountSequenceNumber) String() string { @@ -5175,7 +5020,7 @@ func (*NextAccountSequenceNumber) ProtoMessage() {} func (x *NextAccountSequenceNumber) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[72] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -5206,20 +5051,17 @@ func (x *NextAccountSequenceNumber) GetAllFinal() bool { // A duration of milliseconds. type Duration struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Value uint64 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"` unknownFields protoimpl.UnknownFields - - Value uint64 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"` + sizeCache protoimpl.SizeCache } func (x *Duration) Reset() { *x = Duration{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[73] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[73] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *Duration) String() string { @@ -5230,7 +5072,7 @@ func (*Duration) ProtoMessage() {} func (x *Duration) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[73] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -5256,11 +5098,8 @@ func (x *Duration) GetValue() uint64 { // block, but the desired action was not achieved. The only effect of a // rejected transaction is payment. type RejectReason struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Reason: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Reason: // // *RejectReason_ModuleNotWf // *RejectReason_ModuleHashAlreadyExists @@ -5316,16 +5155,16 @@ type RejectReason struct { // *RejectReason_StakeOverMaximumThresholdForPool // *RejectReason_PoolWouldBecomeOverDelegated // *RejectReason_PoolClosed - Reason isRejectReason_Reason `protobuf_oneof:"reason"` + Reason isRejectReason_Reason `protobuf_oneof:"reason"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *RejectReason) Reset() { *x = RejectReason{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[74] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[74] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RejectReason) String() string { @@ -5336,7 +5175,7 @@ func (*RejectReason) ProtoMessage() {} func (x *RejectReason) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[74] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -5351,387 +5190,495 @@ func (*RejectReason) Descriptor() ([]byte, []int) { return file_v2_concordium_types_proto_rawDescGZIP(), []int{74} } -func (m *RejectReason) GetReason() isRejectReason_Reason { - if m != nil { - return m.Reason +func (x *RejectReason) GetReason() isRejectReason_Reason { + if x != nil { + return x.Reason } return nil } func (x *RejectReason) GetModuleNotWf() *Empty { - if x, ok := x.GetReason().(*RejectReason_ModuleNotWf); ok { - return x.ModuleNotWf + if x != nil { + if x, ok := x.Reason.(*RejectReason_ModuleNotWf); ok { + return x.ModuleNotWf + } } return nil } func (x *RejectReason) GetModuleHashAlreadyExists() *ModuleRef { - if x, ok := x.GetReason().(*RejectReason_ModuleHashAlreadyExists); ok { - return x.ModuleHashAlreadyExists + if x != nil { + if x, ok := x.Reason.(*RejectReason_ModuleHashAlreadyExists); ok { + return x.ModuleHashAlreadyExists + } } return nil } func (x *RejectReason) GetInvalidAccountReference() *AccountAddress { - if x, ok := x.GetReason().(*RejectReason_InvalidAccountReference); ok { - return x.InvalidAccountReference + if x != nil { + if x, ok := x.Reason.(*RejectReason_InvalidAccountReference); ok { + return x.InvalidAccountReference + } } return nil } func (x *RejectReason) GetInvalidInitMethod() *RejectReason_InvalidInitMethod { - if x, ok := x.GetReason().(*RejectReason_InvalidInitMethod_); ok { - return x.InvalidInitMethod + if x != nil { + if x, ok := x.Reason.(*RejectReason_InvalidInitMethod_); ok { + return x.InvalidInitMethod + } } return nil } func (x *RejectReason) GetInvalidReceiveMethod() *RejectReason_InvalidReceiveMethod { - if x, ok := x.GetReason().(*RejectReason_InvalidReceiveMethod_); ok { - return x.InvalidReceiveMethod + if x != nil { + if x, ok := x.Reason.(*RejectReason_InvalidReceiveMethod_); ok { + return x.InvalidReceiveMethod + } } return nil } func (x *RejectReason) GetInvalidModuleReference() *ModuleRef { - if x, ok := x.GetReason().(*RejectReason_InvalidModuleReference); ok { - return x.InvalidModuleReference + if x != nil { + if x, ok := x.Reason.(*RejectReason_InvalidModuleReference); ok { + return x.InvalidModuleReference + } } return nil } func (x *RejectReason) GetInvalidContractAddress() *ContractAddress { - if x, ok := x.GetReason().(*RejectReason_InvalidContractAddress); ok { - return x.InvalidContractAddress + if x != nil { + if x, ok := x.Reason.(*RejectReason_InvalidContractAddress); ok { + return x.InvalidContractAddress + } } return nil } func (x *RejectReason) GetRuntimeFailure() *Empty { - if x, ok := x.GetReason().(*RejectReason_RuntimeFailure); ok { - return x.RuntimeFailure + if x != nil { + if x, ok := x.Reason.(*RejectReason_RuntimeFailure); ok { + return x.RuntimeFailure + } } return nil } func (x *RejectReason) GetAmountTooLarge() *RejectReason_AmountTooLarge { - if x, ok := x.GetReason().(*RejectReason_AmountTooLarge_); ok { - return x.AmountTooLarge + if x != nil { + if x, ok := x.Reason.(*RejectReason_AmountTooLarge_); ok { + return x.AmountTooLarge + } } return nil } func (x *RejectReason) GetSerializationFailure() *Empty { - if x, ok := x.GetReason().(*RejectReason_SerializationFailure); ok { - return x.SerializationFailure + if x != nil { + if x, ok := x.Reason.(*RejectReason_SerializationFailure); ok { + return x.SerializationFailure + } } return nil } func (x *RejectReason) GetOutOfEnergy() *Empty { - if x, ok := x.GetReason().(*RejectReason_OutOfEnergy); ok { - return x.OutOfEnergy + if x != nil { + if x, ok := x.Reason.(*RejectReason_OutOfEnergy); ok { + return x.OutOfEnergy + } } return nil } func (x *RejectReason) GetRejectedInit() *RejectReason_RejectedInit { - if x, ok := x.GetReason().(*RejectReason_RejectedInit_); ok { - return x.RejectedInit + if x != nil { + if x, ok := x.Reason.(*RejectReason_RejectedInit_); ok { + return x.RejectedInit + } } return nil } func (x *RejectReason) GetRejectedReceive() *RejectReason_RejectedReceive { - if x, ok := x.GetReason().(*RejectReason_RejectedReceive_); ok { - return x.RejectedReceive + if x != nil { + if x, ok := x.Reason.(*RejectReason_RejectedReceive_); ok { + return x.RejectedReceive + } } return nil } func (x *RejectReason) GetInvalidProof() *Empty { - if x, ok := x.GetReason().(*RejectReason_InvalidProof); ok { - return x.InvalidProof + if x != nil { + if x, ok := x.Reason.(*RejectReason_InvalidProof); ok { + return x.InvalidProof + } } return nil } func (x *RejectReason) GetAlreadyABaker() *BakerId { - if x, ok := x.GetReason().(*RejectReason_AlreadyABaker); ok { - return x.AlreadyABaker + if x != nil { + if x, ok := x.Reason.(*RejectReason_AlreadyABaker); ok { + return x.AlreadyABaker + } } return nil } func (x *RejectReason) GetNotABaker() *AccountAddress { - if x, ok := x.GetReason().(*RejectReason_NotABaker); ok { - return x.NotABaker + if x != nil { + if x, ok := x.Reason.(*RejectReason_NotABaker); ok { + return x.NotABaker + } } return nil } func (x *RejectReason) GetInsufficientBalanceForBakerStake() *Empty { - if x, ok := x.GetReason().(*RejectReason_InsufficientBalanceForBakerStake); ok { - return x.InsufficientBalanceForBakerStake + if x != nil { + if x, ok := x.Reason.(*RejectReason_InsufficientBalanceForBakerStake); ok { + return x.InsufficientBalanceForBakerStake + } } return nil } func (x *RejectReason) GetStakeUnderMinimumThresholdForBaking() *Empty { - if x, ok := x.GetReason().(*RejectReason_StakeUnderMinimumThresholdForBaking); ok { - return x.StakeUnderMinimumThresholdForBaking + if x != nil { + if x, ok := x.Reason.(*RejectReason_StakeUnderMinimumThresholdForBaking); ok { + return x.StakeUnderMinimumThresholdForBaking + } } return nil } func (x *RejectReason) GetBakerInCooldown() *Empty { - if x, ok := x.GetReason().(*RejectReason_BakerInCooldown); ok { - return x.BakerInCooldown + if x != nil { + if x, ok := x.Reason.(*RejectReason_BakerInCooldown); ok { + return x.BakerInCooldown + } } return nil } func (x *RejectReason) GetDuplicateAggregationKey() *BakerAggregationVerifyKey { - if x, ok := x.GetReason().(*RejectReason_DuplicateAggregationKey); ok { - return x.DuplicateAggregationKey + if x != nil { + if x, ok := x.Reason.(*RejectReason_DuplicateAggregationKey); ok { + return x.DuplicateAggregationKey + } } return nil } func (x *RejectReason) GetNonExistentCredentialId() *Empty { - if x, ok := x.GetReason().(*RejectReason_NonExistentCredentialId); ok { - return x.NonExistentCredentialId + if x != nil { + if x, ok := x.Reason.(*RejectReason_NonExistentCredentialId); ok { + return x.NonExistentCredentialId + } } return nil } func (x *RejectReason) GetKeyIndexAlreadyInUse() *Empty { - if x, ok := x.GetReason().(*RejectReason_KeyIndexAlreadyInUse); ok { - return x.KeyIndexAlreadyInUse + if x != nil { + if x, ok := x.Reason.(*RejectReason_KeyIndexAlreadyInUse); ok { + return x.KeyIndexAlreadyInUse + } } return nil } func (x *RejectReason) GetInvalidAccountThreshold() *Empty { - if x, ok := x.GetReason().(*RejectReason_InvalidAccountThreshold); ok { - return x.InvalidAccountThreshold + if x != nil { + if x, ok := x.Reason.(*RejectReason_InvalidAccountThreshold); ok { + return x.InvalidAccountThreshold + } } return nil } func (x *RejectReason) GetInvalidCredentialKeySignThreshold() *Empty { - if x, ok := x.GetReason().(*RejectReason_InvalidCredentialKeySignThreshold); ok { - return x.InvalidCredentialKeySignThreshold + if x != nil { + if x, ok := x.Reason.(*RejectReason_InvalidCredentialKeySignThreshold); ok { + return x.InvalidCredentialKeySignThreshold + } } return nil } func (x *RejectReason) GetInvalidEncryptedAmountTransferProof() *Empty { - if x, ok := x.GetReason().(*RejectReason_InvalidEncryptedAmountTransferProof); ok { - return x.InvalidEncryptedAmountTransferProof + if x != nil { + if x, ok := x.Reason.(*RejectReason_InvalidEncryptedAmountTransferProof); ok { + return x.InvalidEncryptedAmountTransferProof + } } return nil } func (x *RejectReason) GetInvalidTransferToPublicProof() *Empty { - if x, ok := x.GetReason().(*RejectReason_InvalidTransferToPublicProof); ok { - return x.InvalidTransferToPublicProof + if x != nil { + if x, ok := x.Reason.(*RejectReason_InvalidTransferToPublicProof); ok { + return x.InvalidTransferToPublicProof + } } return nil } func (x *RejectReason) GetEncryptedAmountSelfTransfer() *AccountAddress { - if x, ok := x.GetReason().(*RejectReason_EncryptedAmountSelfTransfer); ok { - return x.EncryptedAmountSelfTransfer + if x != nil { + if x, ok := x.Reason.(*RejectReason_EncryptedAmountSelfTransfer); ok { + return x.EncryptedAmountSelfTransfer + } } return nil } func (x *RejectReason) GetInvalidIndexOnEncryptedTransfer() *Empty { - if x, ok := x.GetReason().(*RejectReason_InvalidIndexOnEncryptedTransfer); ok { - return x.InvalidIndexOnEncryptedTransfer + if x != nil { + if x, ok := x.Reason.(*RejectReason_InvalidIndexOnEncryptedTransfer); ok { + return x.InvalidIndexOnEncryptedTransfer + } } return nil } func (x *RejectReason) GetZeroScheduledAmount() *Empty { - if x, ok := x.GetReason().(*RejectReason_ZeroScheduledAmount); ok { - return x.ZeroScheduledAmount + if x != nil { + if x, ok := x.Reason.(*RejectReason_ZeroScheduledAmount); ok { + return x.ZeroScheduledAmount + } } return nil } func (x *RejectReason) GetNonIncreasingSchedule() *Empty { - if x, ok := x.GetReason().(*RejectReason_NonIncreasingSchedule); ok { - return x.NonIncreasingSchedule + if x != nil { + if x, ok := x.Reason.(*RejectReason_NonIncreasingSchedule); ok { + return x.NonIncreasingSchedule + } } return nil } func (x *RejectReason) GetFirstScheduledReleaseExpired() *Empty { - if x, ok := x.GetReason().(*RejectReason_FirstScheduledReleaseExpired); ok { - return x.FirstScheduledReleaseExpired + if x != nil { + if x, ok := x.Reason.(*RejectReason_FirstScheduledReleaseExpired); ok { + return x.FirstScheduledReleaseExpired + } } return nil } func (x *RejectReason) GetScheduledSelfTransfer() *AccountAddress { - if x, ok := x.GetReason().(*RejectReason_ScheduledSelfTransfer); ok { - return x.ScheduledSelfTransfer + if x != nil { + if x, ok := x.Reason.(*RejectReason_ScheduledSelfTransfer); ok { + return x.ScheduledSelfTransfer + } } return nil } func (x *RejectReason) GetInvalidCredentials() *Empty { - if x, ok := x.GetReason().(*RejectReason_InvalidCredentials); ok { - return x.InvalidCredentials + if x != nil { + if x, ok := x.Reason.(*RejectReason_InvalidCredentials); ok { + return x.InvalidCredentials + } } return nil } func (x *RejectReason) GetDuplicateCredIds() *RejectReason_DuplicateCredIds { - if x, ok := x.GetReason().(*RejectReason_DuplicateCredIds_); ok { - return x.DuplicateCredIds + if x != nil { + if x, ok := x.Reason.(*RejectReason_DuplicateCredIds_); ok { + return x.DuplicateCredIds + } } return nil } func (x *RejectReason) GetNonExistentCredIds() *RejectReason_NonExistentCredIds { - if x, ok := x.GetReason().(*RejectReason_NonExistentCredIds_); ok { - return x.NonExistentCredIds + if x != nil { + if x, ok := x.Reason.(*RejectReason_NonExistentCredIds_); ok { + return x.NonExistentCredIds + } } return nil } func (x *RejectReason) GetRemoveFirstCredential() *Empty { - if x, ok := x.GetReason().(*RejectReason_RemoveFirstCredential); ok { - return x.RemoveFirstCredential + if x != nil { + if x, ok := x.Reason.(*RejectReason_RemoveFirstCredential); ok { + return x.RemoveFirstCredential + } } return nil } func (x *RejectReason) GetCredentialHolderDidNotSign() *Empty { - if x, ok := x.GetReason().(*RejectReason_CredentialHolderDidNotSign); ok { - return x.CredentialHolderDidNotSign + if x != nil { + if x, ok := x.Reason.(*RejectReason_CredentialHolderDidNotSign); ok { + return x.CredentialHolderDidNotSign + } } return nil } func (x *RejectReason) GetNotAllowedMultipleCredentials() *Empty { - if x, ok := x.GetReason().(*RejectReason_NotAllowedMultipleCredentials); ok { - return x.NotAllowedMultipleCredentials + if x != nil { + if x, ok := x.Reason.(*RejectReason_NotAllowedMultipleCredentials); ok { + return x.NotAllowedMultipleCredentials + } } return nil } func (x *RejectReason) GetNotAllowedToReceiveEncrypted() *Empty { - if x, ok := x.GetReason().(*RejectReason_NotAllowedToReceiveEncrypted); ok { - return x.NotAllowedToReceiveEncrypted + if x != nil { + if x, ok := x.Reason.(*RejectReason_NotAllowedToReceiveEncrypted); ok { + return x.NotAllowedToReceiveEncrypted + } } return nil } func (x *RejectReason) GetNotAllowedToHandleEncrypted() *Empty { - if x, ok := x.GetReason().(*RejectReason_NotAllowedToHandleEncrypted); ok { - return x.NotAllowedToHandleEncrypted + if x != nil { + if x, ok := x.Reason.(*RejectReason_NotAllowedToHandleEncrypted); ok { + return x.NotAllowedToHandleEncrypted + } } return nil } func (x *RejectReason) GetMissingBakerAddParameters() *Empty { - if x, ok := x.GetReason().(*RejectReason_MissingBakerAddParameters); ok { - return x.MissingBakerAddParameters + if x != nil { + if x, ok := x.Reason.(*RejectReason_MissingBakerAddParameters); ok { + return x.MissingBakerAddParameters + } } return nil } func (x *RejectReason) GetFinalizationRewardCommissionNotInRange() *Empty { - if x, ok := x.GetReason().(*RejectReason_FinalizationRewardCommissionNotInRange); ok { - return x.FinalizationRewardCommissionNotInRange + if x != nil { + if x, ok := x.Reason.(*RejectReason_FinalizationRewardCommissionNotInRange); ok { + return x.FinalizationRewardCommissionNotInRange + } } return nil } func (x *RejectReason) GetBakingRewardCommissionNotInRange() *Empty { - if x, ok := x.GetReason().(*RejectReason_BakingRewardCommissionNotInRange); ok { - return x.BakingRewardCommissionNotInRange + if x != nil { + if x, ok := x.Reason.(*RejectReason_BakingRewardCommissionNotInRange); ok { + return x.BakingRewardCommissionNotInRange + } } return nil } func (x *RejectReason) GetTransactionFeeCommissionNotInRange() *Empty { - if x, ok := x.GetReason().(*RejectReason_TransactionFeeCommissionNotInRange); ok { - return x.TransactionFeeCommissionNotInRange + if x != nil { + if x, ok := x.Reason.(*RejectReason_TransactionFeeCommissionNotInRange); ok { + return x.TransactionFeeCommissionNotInRange + } } return nil } func (x *RejectReason) GetAlreadyADelegator() *Empty { - if x, ok := x.GetReason().(*RejectReason_AlreadyADelegator); ok { - return x.AlreadyADelegator + if x != nil { + if x, ok := x.Reason.(*RejectReason_AlreadyADelegator); ok { + return x.AlreadyADelegator + } } return nil } func (x *RejectReason) GetInsufficientBalanceForDelegationStake() *Empty { - if x, ok := x.GetReason().(*RejectReason_InsufficientBalanceForDelegationStake); ok { - return x.InsufficientBalanceForDelegationStake + if x != nil { + if x, ok := x.Reason.(*RejectReason_InsufficientBalanceForDelegationStake); ok { + return x.InsufficientBalanceForDelegationStake + } } return nil } func (x *RejectReason) GetMissingDelegationAddParameters() *Empty { - if x, ok := x.GetReason().(*RejectReason_MissingDelegationAddParameters); ok { - return x.MissingDelegationAddParameters + if x != nil { + if x, ok := x.Reason.(*RejectReason_MissingDelegationAddParameters); ok { + return x.MissingDelegationAddParameters + } } return nil } func (x *RejectReason) GetInsufficientDelegationStake() *Empty { - if x, ok := x.GetReason().(*RejectReason_InsufficientDelegationStake); ok { - return x.InsufficientDelegationStake + if x != nil { + if x, ok := x.Reason.(*RejectReason_InsufficientDelegationStake); ok { + return x.InsufficientDelegationStake + } } return nil } func (x *RejectReason) GetDelegatorInCooldown() *Empty { - if x, ok := x.GetReason().(*RejectReason_DelegatorInCooldown); ok { - return x.DelegatorInCooldown + if x != nil { + if x, ok := x.Reason.(*RejectReason_DelegatorInCooldown); ok { + return x.DelegatorInCooldown + } } return nil } func (x *RejectReason) GetNotADelegator() *AccountAddress { - if x, ok := x.GetReason().(*RejectReason_NotADelegator); ok { - return x.NotADelegator + if x != nil { + if x, ok := x.Reason.(*RejectReason_NotADelegator); ok { + return x.NotADelegator + } } return nil } func (x *RejectReason) GetDelegationTargetNotABaker() *BakerId { - if x, ok := x.GetReason().(*RejectReason_DelegationTargetNotABaker); ok { - return x.DelegationTargetNotABaker + if x != nil { + if x, ok := x.Reason.(*RejectReason_DelegationTargetNotABaker); ok { + return x.DelegationTargetNotABaker + } } return nil } func (x *RejectReason) GetStakeOverMaximumThresholdForPool() *Empty { - if x, ok := x.GetReason().(*RejectReason_StakeOverMaximumThresholdForPool); ok { - return x.StakeOverMaximumThresholdForPool + if x != nil { + if x, ok := x.Reason.(*RejectReason_StakeOverMaximumThresholdForPool); ok { + return x.StakeOverMaximumThresholdForPool + } } return nil } func (x *RejectReason) GetPoolWouldBecomeOverDelegated() *Empty { - if x, ok := x.GetReason().(*RejectReason_PoolWouldBecomeOverDelegated); ok { - return x.PoolWouldBecomeOverDelegated + if x != nil { + if x, ok := x.Reason.(*RejectReason_PoolWouldBecomeOverDelegated); ok { + return x.PoolWouldBecomeOverDelegated + } } return nil } func (x *RejectReason) GetPoolClosed() *Empty { - if x, ok := x.GetReason().(*RejectReason_PoolClosed); ok { - return x.PoolClosed + if x != nil { + if x, ok := x.Reason.(*RejectReason_PoolClosed); ok { + return x.PoolClosed + } } return nil } @@ -6139,10 +6086,7 @@ func (*RejectReason_PoolClosed) isRejectReason_Reason() {} // Data generated as part of initializing a single contract instance. type ContractInitializedEvent struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Contract version. ContractVersion ContractVersion `protobuf:"varint,1,opt,name=contract_version,json=contractVersion,proto3,enum=concordium.v2.ContractVersion" json:"contract_version,omitempty"` // Module with the source code of the contract. @@ -6155,15 +6099,17 @@ type ContractInitializedEvent struct { InitName *InitName `protobuf:"bytes,5,opt,name=init_name,json=initName,proto3" json:"init_name,omitempty"` // Any contract events that might have been genereated by the contract initialization. Events []*ContractEvent `protobuf:"bytes,6,rep,name=events,proto3" json:"events,omitempty"` + // The parameter passed to the initializer. + Parameter *Parameter `protobuf:"bytes,7,opt,name=parameter,proto3" json:"parameter,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ContractInitializedEvent) Reset() { *x = ContractInitializedEvent{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[75] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[75] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ContractInitializedEvent) String() string { @@ -6174,7 +6120,7 @@ func (*ContractInitializedEvent) ProtoMessage() {} func (x *ContractInitializedEvent) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[75] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -6231,22 +6177,26 @@ func (x *ContractInitializedEvent) GetEvents() []*ContractEvent { return nil } +func (x *ContractInitializedEvent) GetParameter() *Parameter { + if x != nil { + return x.Parameter + } + return nil +} + // An event generated by a smart contract. type ContractEvent struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Value []byte `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` unknownFields protoimpl.UnknownFields - - Value []byte `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` + sizeCache protoimpl.SizeCache } func (x *ContractEvent) Reset() { *x = ContractEvent{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[76] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[76] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ContractEvent) String() string { @@ -6257,7 +6207,7 @@ func (*ContractEvent) ProtoMessage() {} func (x *ContractEvent) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[76] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -6283,10 +6233,7 @@ func (x *ContractEvent) GetValue() []byte { // In general a single Update transaction will // generate one or more of these events, together with possibly some transfers. type InstanceUpdatedEvent struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Contract version. ContractVersion ContractVersion `protobuf:"varint,1,opt,name=contract_version,json=contractVersion,proto3,enum=concordium.v2.ContractVersion" json:"contract_version,omitempty"` // Address of the affected instance. @@ -6301,16 +6248,16 @@ type InstanceUpdatedEvent struct { // The name of the method that was executed. ReceiveName *ReceiveName `protobuf:"bytes,6,opt,name=receive_name,json=receiveName,proto3" json:"receive_name,omitempty"` // Any contract events that might have been generated by the contract execution. - Events []*ContractEvent `protobuf:"bytes,7,rep,name=events,proto3" json:"events,omitempty"` + Events []*ContractEvent `protobuf:"bytes,7,rep,name=events,proto3" json:"events,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *InstanceUpdatedEvent) Reset() { *x = InstanceUpdatedEvent{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[77] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[77] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *InstanceUpdatedEvent) String() string { @@ -6321,7 +6268,7 @@ func (*InstanceUpdatedEvent) ProtoMessage() {} func (x *InstanceUpdatedEvent) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[77] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -6388,27 +6335,24 @@ func (x *InstanceUpdatedEvent) GetEvents() []*ContractEvent { // Effects produced by successful smart contract invocations. // A single invocation will produce a sequence of these effects. type ContractTraceElement struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Element: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Element: // // *ContractTraceElement_Updated // *ContractTraceElement_Transferred_ // *ContractTraceElement_Interrupted_ // *ContractTraceElement_Resumed_ // *ContractTraceElement_Upgraded_ - Element isContractTraceElement_Element `protobuf_oneof:"element"` + Element isContractTraceElement_Element `protobuf_oneof:"element"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ContractTraceElement) Reset() { *x = ContractTraceElement{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[78] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[78] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ContractTraceElement) String() string { @@ -6419,7 +6363,7 @@ func (*ContractTraceElement) ProtoMessage() {} func (x *ContractTraceElement) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[78] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -6434,44 +6378,54 @@ func (*ContractTraceElement) Descriptor() ([]byte, []int) { return file_v2_concordium_types_proto_rawDescGZIP(), []int{78} } -func (m *ContractTraceElement) GetElement() isContractTraceElement_Element { - if m != nil { - return m.Element +func (x *ContractTraceElement) GetElement() isContractTraceElement_Element { + if x != nil { + return x.Element } return nil } func (x *ContractTraceElement) GetUpdated() *InstanceUpdatedEvent { - if x, ok := x.GetElement().(*ContractTraceElement_Updated); ok { - return x.Updated + if x != nil { + if x, ok := x.Element.(*ContractTraceElement_Updated); ok { + return x.Updated + } } return nil } func (x *ContractTraceElement) GetTransferred() *ContractTraceElement_Transferred { - if x, ok := x.GetElement().(*ContractTraceElement_Transferred_); ok { - return x.Transferred + if x != nil { + if x, ok := x.Element.(*ContractTraceElement_Transferred_); ok { + return x.Transferred + } } return nil } func (x *ContractTraceElement) GetInterrupted() *ContractTraceElement_Interrupted { - if x, ok := x.GetElement().(*ContractTraceElement_Interrupted_); ok { - return x.Interrupted + if x != nil { + if x, ok := x.Element.(*ContractTraceElement_Interrupted_); ok { + return x.Interrupted + } } return nil } func (x *ContractTraceElement) GetResumed() *ContractTraceElement_Resumed { - if x, ok := x.GetElement().(*ContractTraceElement_Resumed_); ok { - return x.Resumed + if x != nil { + if x, ok := x.Element.(*ContractTraceElement_Resumed_); ok { + return x.Resumed + } } return nil } func (x *ContractTraceElement) GetUpgraded() *ContractTraceElement_Upgraded { - if x, ok := x.GetElement().(*ContractTraceElement_Upgraded_); ok { - return x.Upgraded + if x != nil { + if x, ok := x.Element.(*ContractTraceElement_Upgraded_); ok { + return x.Upgraded + } } return nil } @@ -6518,10 +6472,7 @@ func (*ContractTraceElement_Upgraded_) isContractTraceElement_Element() {} // Result of a successful change of baker keys. type BakerKeysEvent struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // ID of the baker whose keys were changed. BakerId *BakerId `protobuf:"bytes,1,opt,name=baker_id,json=bakerId,proto3" json:"baker_id,omitempty"` // Account address of the baker. @@ -6533,15 +6484,15 @@ type BakerKeysEvent struct { ElectionKey *BakerElectionVerifyKey `protobuf:"bytes,4,opt,name=election_key,json=electionKey,proto3" json:"election_key,omitempty"` // The new public key for verifying finalization records. AggregationKey *BakerAggregationVerifyKey `protobuf:"bytes,5,opt,name=aggregation_key,json=aggregationKey,proto3" json:"aggregation_key,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *BakerKeysEvent) Reset() { *x = BakerKeysEvent{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[79] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[79] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *BakerKeysEvent) String() string { @@ -6552,7 +6503,7 @@ func (*BakerKeysEvent) ProtoMessage() {} func (x *BakerKeysEvent) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[79] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -6604,20 +6555,17 @@ func (x *BakerKeysEvent) GetAggregationKey() *BakerAggregationVerifyKey { // A memo which can be included as part of a transfer. Max size is 256 bytes. type Memo struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Value []byte `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` unknownFields protoimpl.UnknownFields - - Value []byte `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` + sizeCache protoimpl.SizeCache } func (x *Memo) Reset() { *x = Memo{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[80] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[80] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *Memo) String() string { @@ -6628,7 +6576,7 @@ func (*Memo) ProtoMessage() {} func (x *Memo) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[80] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -6651,26 +6599,23 @@ func (x *Memo) GetValue() []byte { } type BakerStakeUpdatedData struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Affected baker. BakerId *BakerId `protobuf:"bytes,1,opt,name=baker_id,json=bakerId,proto3" json:"baker_id,omitempty"` // New stake. NewStake *Amount `protobuf:"bytes,2,opt,name=new_stake,json=newStake,proto3" json:"new_stake,omitempty"` // A boolean which indicates whether it increased // (`true`) or decreased (`false`). - Increased bool `protobuf:"varint,3,opt,name=increased,proto3" json:"increased,omitempty"` + Increased bool `protobuf:"varint,3,opt,name=increased,proto3" json:"increased,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *BakerStakeUpdatedData) Reset() { *x = BakerStakeUpdatedData{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[81] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[81] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *BakerStakeUpdatedData) String() string { @@ -6681,7 +6626,7 @@ func (*BakerStakeUpdatedData) ProtoMessage() {} func (x *BakerStakeUpdatedData) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[81] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -6719,10 +6664,7 @@ func (x *BakerStakeUpdatedData) GetIncreased() bool { // Event generated when one or more encrypted amounts are consumed from the account. type EncryptedAmountRemovedEvent struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The affected account. Account *AccountAddress `protobuf:"bytes,1,opt,name=account,proto3" json:"account,omitempty"` // The new self encrypted amount on the affected account. @@ -6730,16 +6672,16 @@ type EncryptedAmountRemovedEvent struct { // The input encrypted amount that was removed. InputAmount *EncryptedAmount `protobuf:"bytes,3,opt,name=input_amount,json=inputAmount,proto3" json:"input_amount,omitempty"` // The index indicating which amounts were used. - UpToIndex uint64 `protobuf:"varint,4,opt,name=up_to_index,json=upToIndex,proto3" json:"up_to_index,omitempty"` + UpToIndex uint64 `protobuf:"varint,4,opt,name=up_to_index,json=upToIndex,proto3" json:"up_to_index,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *EncryptedAmountRemovedEvent) Reset() { *x = EncryptedAmountRemovedEvent{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[82] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[82] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *EncryptedAmountRemovedEvent) String() string { @@ -6750,7 +6692,7 @@ func (*EncryptedAmountRemovedEvent) ProtoMessage() {} func (x *EncryptedAmountRemovedEvent) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[82] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -6795,25 +6737,22 @@ func (x *EncryptedAmountRemovedEvent) GetUpToIndex() uint64 { // Event generated when an account receives a new encrypted amount. type NewEncryptedAmountEvent struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The account onto which the amount was added. Receiver *AccountAddress `protobuf:"bytes,1,opt,name=receiver,proto3" json:"receiver,omitempty"` // The index the amount was assigned. NewIndex uint64 `protobuf:"varint,2,opt,name=new_index,json=newIndex,proto3" json:"new_index,omitempty"` // The encrypted amount that was added. EncryptedAmount *EncryptedAmount `protobuf:"bytes,3,opt,name=encrypted_amount,json=encryptedAmount,proto3" json:"encrypted_amount,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *NewEncryptedAmountEvent) Reset() { *x = NewEncryptedAmountEvent{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[83] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[83] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *NewEncryptedAmountEvent) String() string { @@ -6824,7 +6763,7 @@ func (*NewEncryptedAmountEvent) ProtoMessage() {} func (x *NewEncryptedAmountEvent) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[83] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -6861,25 +6800,22 @@ func (x *NewEncryptedAmountEvent) GetEncryptedAmount() *EncryptedAmount { } type EncryptedSelfAmountAddedEvent struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The affected account. Account *AccountAddress `protobuf:"bytes,1,opt,name=account,proto3" json:"account,omitempty"` // The new self encrypted amount of the account. NewAmount *EncryptedAmount `protobuf:"bytes,2,opt,name=new_amount,json=newAmount,proto3" json:"new_amount,omitempty"` // The amount that was transferred from public to encrypted balance. - Amount *Amount `protobuf:"bytes,3,opt,name=amount,proto3" json:"amount,omitempty"` + Amount *Amount `protobuf:"bytes,3,opt,name=amount,proto3" json:"amount,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *EncryptedSelfAmountAddedEvent) Reset() { *x = EncryptedSelfAmountAddedEvent{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[84] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[84] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *EncryptedSelfAmountAddedEvent) String() string { @@ -6890,7 +6826,7 @@ func (*EncryptedSelfAmountAddedEvent) ProtoMessage() {} func (x *EncryptedSelfAmountAddedEvent) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[84] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -6928,20 +6864,17 @@ func (x *EncryptedSelfAmountAddedEvent) GetAmount() *Amount { // Data registered on the chain with a register data transaction. type RegisteredData struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Value []byte `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` unknownFields protoimpl.UnknownFields - - Value []byte `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` + sizeCache protoimpl.SizeCache } func (x *RegisteredData) Reset() { *x = RegisteredData{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[85] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[85] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RegisteredData) String() string { @@ -6952,7 +6885,7 @@ func (*RegisteredData) ProtoMessage() {} func (x *RegisteredData) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[85] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -6976,11 +6909,8 @@ func (x *RegisteredData) GetValue() []byte { // Events that may result from the ConfigureBaker transaction. type BakerEvent struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Event: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Event: // // *BakerEvent_BakerAdded_ // *BakerEvent_BakerRemoved @@ -6994,16 +6924,18 @@ type BakerEvent struct { // *BakerEvent_BakerSetBakingRewardCommission_ // *BakerEvent_BakerSetFinalizationRewardCommission_ // *BakerEvent_DelegationRemoved_ - Event isBakerEvent_Event `protobuf_oneof:"event"` + // *BakerEvent_BakerSuspended_ + // *BakerEvent_BakerResumed_ + Event isBakerEvent_Event `protobuf_oneof:"event"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *BakerEvent) Reset() { *x = BakerEvent{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[86] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[86] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *BakerEvent) String() string { @@ -7014,7 +6946,7 @@ func (*BakerEvent) ProtoMessage() {} func (x *BakerEvent) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[86] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -7029,93 +6961,135 @@ func (*BakerEvent) Descriptor() ([]byte, []int) { return file_v2_concordium_types_proto_rawDescGZIP(), []int{86} } -func (m *BakerEvent) GetEvent() isBakerEvent_Event { - if m != nil { - return m.Event +func (x *BakerEvent) GetEvent() isBakerEvent_Event { + if x != nil { + return x.Event } return nil } func (x *BakerEvent) GetBakerAdded() *BakerEvent_BakerAdded { - if x, ok := x.GetEvent().(*BakerEvent_BakerAdded_); ok { - return x.BakerAdded + if x != nil { + if x, ok := x.Event.(*BakerEvent_BakerAdded_); ok { + return x.BakerAdded + } } return nil } func (x *BakerEvent) GetBakerRemoved() *BakerId { - if x, ok := x.GetEvent().(*BakerEvent_BakerRemoved); ok { - return x.BakerRemoved + if x != nil { + if x, ok := x.Event.(*BakerEvent_BakerRemoved); ok { + return x.BakerRemoved + } } return nil } func (x *BakerEvent) GetBakerStakeIncreased() *BakerEvent_BakerStakeIncreased { - if x, ok := x.GetEvent().(*BakerEvent_BakerStakeIncreased_); ok { - return x.BakerStakeIncreased + if x != nil { + if x, ok := x.Event.(*BakerEvent_BakerStakeIncreased_); ok { + return x.BakerStakeIncreased + } } return nil } func (x *BakerEvent) GetBakerStakeDecreased() *BakerEvent_BakerStakeDecreased { - if x, ok := x.GetEvent().(*BakerEvent_BakerStakeDecreased_); ok { - return x.BakerStakeDecreased + if x != nil { + if x, ok := x.Event.(*BakerEvent_BakerStakeDecreased_); ok { + return x.BakerStakeDecreased + } } return nil } func (x *BakerEvent) GetBakerRestakeEarningsUpdated() *BakerEvent_BakerRestakeEarningsUpdated { - if x, ok := x.GetEvent().(*BakerEvent_BakerRestakeEarningsUpdated_); ok { - return x.BakerRestakeEarningsUpdated + if x != nil { + if x, ok := x.Event.(*BakerEvent_BakerRestakeEarningsUpdated_); ok { + return x.BakerRestakeEarningsUpdated + } } return nil } func (x *BakerEvent) GetBakerKeysUpdated() *BakerKeysEvent { - if x, ok := x.GetEvent().(*BakerEvent_BakerKeysUpdated); ok { - return x.BakerKeysUpdated + if x != nil { + if x, ok := x.Event.(*BakerEvent_BakerKeysUpdated); ok { + return x.BakerKeysUpdated + } } return nil } func (x *BakerEvent) GetBakerSetOpenStatus() *BakerEvent_BakerSetOpenStatus { - if x, ok := x.GetEvent().(*BakerEvent_BakerSetOpenStatus_); ok { - return x.BakerSetOpenStatus + if x != nil { + if x, ok := x.Event.(*BakerEvent_BakerSetOpenStatus_); ok { + return x.BakerSetOpenStatus + } } return nil } func (x *BakerEvent) GetBakerSetMetadataUrl() *BakerEvent_BakerSetMetadataUrl { - if x, ok := x.GetEvent().(*BakerEvent_BakerSetMetadataUrl_); ok { - return x.BakerSetMetadataUrl + if x != nil { + if x, ok := x.Event.(*BakerEvent_BakerSetMetadataUrl_); ok { + return x.BakerSetMetadataUrl + } } return nil } func (x *BakerEvent) GetBakerSetTransactionFeeCommission() *BakerEvent_BakerSetTransactionFeeCommission { - if x, ok := x.GetEvent().(*BakerEvent_BakerSetTransactionFeeCommission_); ok { - return x.BakerSetTransactionFeeCommission + if x != nil { + if x, ok := x.Event.(*BakerEvent_BakerSetTransactionFeeCommission_); ok { + return x.BakerSetTransactionFeeCommission + } } return nil } func (x *BakerEvent) GetBakerSetBakingRewardCommission() *BakerEvent_BakerSetBakingRewardCommission { - if x, ok := x.GetEvent().(*BakerEvent_BakerSetBakingRewardCommission_); ok { - return x.BakerSetBakingRewardCommission + if x != nil { + if x, ok := x.Event.(*BakerEvent_BakerSetBakingRewardCommission_); ok { + return x.BakerSetBakingRewardCommission + } } return nil } func (x *BakerEvent) GetBakerSetFinalizationRewardCommission() *BakerEvent_BakerSetFinalizationRewardCommission { - if x, ok := x.GetEvent().(*BakerEvent_BakerSetFinalizationRewardCommission_); ok { - return x.BakerSetFinalizationRewardCommission + if x != nil { + if x, ok := x.Event.(*BakerEvent_BakerSetFinalizationRewardCommission_); ok { + return x.BakerSetFinalizationRewardCommission + } } return nil } func (x *BakerEvent) GetDelegationRemoved() *BakerEvent_DelegationRemoved { - if x, ok := x.GetEvent().(*BakerEvent_DelegationRemoved_); ok { - return x.DelegationRemoved + if x != nil { + if x, ok := x.Event.(*BakerEvent_DelegationRemoved_); ok { + return x.DelegationRemoved + } + } + return nil +} + +func (x *BakerEvent) GetBakerSuspended() *BakerEvent_BakerSuspended { + if x != nil { + if x, ok := x.Event.(*BakerEvent_BakerSuspended_); ok { + return x.BakerSuspended + } + } + return nil +} + +func (x *BakerEvent) GetBakerResumed() *BakerEvent_BakerResumed { + if x != nil { + if x, ok := x.Event.(*BakerEvent_BakerResumed_); ok { + return x.BakerResumed + } } return nil } @@ -7184,6 +7158,16 @@ type BakerEvent_DelegationRemoved_ struct { DelegationRemoved *BakerEvent_DelegationRemoved `protobuf:"bytes,12,opt,name=delegation_removed,json=delegationRemoved,proto3,oneof"` } +type BakerEvent_BakerSuspended_ struct { + // The baker's account has been suspended. + BakerSuspended *BakerEvent_BakerSuspended `protobuf:"bytes,13,opt,name=baker_suspended,json=bakerSuspended,proto3,oneof"` +} + +type BakerEvent_BakerResumed_ struct { + // The baker's account has been suspended. + BakerResumed *BakerEvent_BakerResumed `protobuf:"bytes,14,opt,name=baker_resumed,json=bakerResumed,proto3,oneof"` +} + func (*BakerEvent_BakerAdded_) isBakerEvent_Event() {} func (*BakerEvent_BakerRemoved) isBakerEvent_Event() {} @@ -7208,22 +7192,23 @@ func (*BakerEvent_BakerSetFinalizationRewardCommission_) isBakerEvent_Event() {} func (*BakerEvent_DelegationRemoved_) isBakerEvent_Event() {} +func (*BakerEvent_BakerSuspended_) isBakerEvent_Event() {} + +func (*BakerEvent_BakerResumed_) isBakerEvent_Event() {} + // The identifier for a delegator. type DelegatorId struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Id *AccountIndex `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` unknownFields protoimpl.UnknownFields - - Id *AccountIndex `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + sizeCache protoimpl.SizeCache } func (x *DelegatorId) Reset() { *x = DelegatorId{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[87] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[87] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *DelegatorId) String() string { @@ -7234,7 +7219,7 @@ func (*DelegatorId) ProtoMessage() {} func (x *DelegatorId) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[87] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -7257,11 +7242,8 @@ func (x *DelegatorId) GetId() *AccountIndex { } type DelegationEvent struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Event: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Event: // // *DelegationEvent_DelegationStakeIncreased_ // *DelegationEvent_DelegationStakeDecreased_ @@ -7270,16 +7252,16 @@ type DelegationEvent struct { // *DelegationEvent_DelegationAdded // *DelegationEvent_DelegationRemoved // *DelegationEvent_BakerRemoved_ - Event isDelegationEvent_Event `protobuf_oneof:"event"` + Event isDelegationEvent_Event `protobuf_oneof:"event"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *DelegationEvent) Reset() { *x = DelegationEvent{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[88] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[88] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *DelegationEvent) String() string { @@ -7290,7 +7272,7 @@ func (*DelegationEvent) ProtoMessage() {} func (x *DelegationEvent) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[88] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -7305,58 +7287,72 @@ func (*DelegationEvent) Descriptor() ([]byte, []int) { return file_v2_concordium_types_proto_rawDescGZIP(), []int{88} } -func (m *DelegationEvent) GetEvent() isDelegationEvent_Event { - if m != nil { - return m.Event +func (x *DelegationEvent) GetEvent() isDelegationEvent_Event { + if x != nil { + return x.Event } return nil } func (x *DelegationEvent) GetDelegationStakeIncreased() *DelegationEvent_DelegationStakeIncreased { - if x, ok := x.GetEvent().(*DelegationEvent_DelegationStakeIncreased_); ok { - return x.DelegationStakeIncreased + if x != nil { + if x, ok := x.Event.(*DelegationEvent_DelegationStakeIncreased_); ok { + return x.DelegationStakeIncreased + } } return nil } func (x *DelegationEvent) GetDelegationStakeDecreased() *DelegationEvent_DelegationStakeDecreased { - if x, ok := x.GetEvent().(*DelegationEvent_DelegationStakeDecreased_); ok { - return x.DelegationStakeDecreased + if x != nil { + if x, ok := x.Event.(*DelegationEvent_DelegationStakeDecreased_); ok { + return x.DelegationStakeDecreased + } } return nil } func (x *DelegationEvent) GetDelegationSetRestakeEarnings() *DelegationEvent_DelegationSetRestakeEarnings { - if x, ok := x.GetEvent().(*DelegationEvent_DelegationSetRestakeEarnings_); ok { - return x.DelegationSetRestakeEarnings + if x != nil { + if x, ok := x.Event.(*DelegationEvent_DelegationSetRestakeEarnings_); ok { + return x.DelegationSetRestakeEarnings + } } return nil } func (x *DelegationEvent) GetDelegationSetDelegationTarget() *DelegationEvent_DelegationSetDelegationTarget { - if x, ok := x.GetEvent().(*DelegationEvent_DelegationSetDelegationTarget_); ok { - return x.DelegationSetDelegationTarget + if x != nil { + if x, ok := x.Event.(*DelegationEvent_DelegationSetDelegationTarget_); ok { + return x.DelegationSetDelegationTarget + } } return nil } func (x *DelegationEvent) GetDelegationAdded() *DelegatorId { - if x, ok := x.GetEvent().(*DelegationEvent_DelegationAdded); ok { - return x.DelegationAdded + if x != nil { + if x, ok := x.Event.(*DelegationEvent_DelegationAdded); ok { + return x.DelegationAdded + } } return nil } func (x *DelegationEvent) GetDelegationRemoved() *DelegatorId { - if x, ok := x.GetEvent().(*DelegationEvent_DelegationRemoved); ok { - return x.DelegationRemoved + if x != nil { + if x, ok := x.Event.(*DelegationEvent_DelegationRemoved); ok { + return x.DelegationRemoved + } } return nil } func (x *DelegationEvent) GetBakerRemoved() *DelegationEvent_BakerRemoved { - if x, ok := x.GetEvent().(*DelegationEvent_BakerRemoved_); ok { - return x.BakerRemoved + if x != nil { + if x, ok := x.Event.(*DelegationEvent_BakerRemoved_); ok { + return x.BakerRemoved + } } return nil } @@ -7417,11 +7413,8 @@ func (*DelegationEvent_BakerRemoved_) isDelegationEvent_Event() {} // Effects of an account transaction. All variants except `None` // correspond to a unique transaction that was successful. type AccountTransactionEffects struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Effect: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Effect: // // *AccountTransactionEffects_None_ // *AccountTransactionEffects_ModuleDeployed @@ -7442,16 +7435,16 @@ type AccountTransactionEffects struct { // *AccountTransactionEffects_DataRegistered // *AccountTransactionEffects_BakerConfigured_ // *AccountTransactionEffects_DelegationConfigured_ - Effect isAccountTransactionEffects_Effect `protobuf_oneof:"effect"` + Effect isAccountTransactionEffects_Effect `protobuf_oneof:"effect"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *AccountTransactionEffects) Reset() { *x = AccountTransactionEffects{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[89] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[89] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *AccountTransactionEffects) String() string { @@ -7462,7 +7455,7 @@ func (*AccountTransactionEffects) ProtoMessage() {} func (x *AccountTransactionEffects) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[89] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -7477,142 +7470,180 @@ func (*AccountTransactionEffects) Descriptor() ([]byte, []int) { return file_v2_concordium_types_proto_rawDescGZIP(), []int{89} } -func (m *AccountTransactionEffects) GetEffect() isAccountTransactionEffects_Effect { - if m != nil { - return m.Effect +func (x *AccountTransactionEffects) GetEffect() isAccountTransactionEffects_Effect { + if x != nil { + return x.Effect } return nil } func (x *AccountTransactionEffects) GetNone() *AccountTransactionEffects_None { - if x, ok := x.GetEffect().(*AccountTransactionEffects_None_); ok { - return x.None + if x != nil { + if x, ok := x.Effect.(*AccountTransactionEffects_None_); ok { + return x.None + } } return nil } func (x *AccountTransactionEffects) GetModuleDeployed() *ModuleRef { - if x, ok := x.GetEffect().(*AccountTransactionEffects_ModuleDeployed); ok { - return x.ModuleDeployed + if x != nil { + if x, ok := x.Effect.(*AccountTransactionEffects_ModuleDeployed); ok { + return x.ModuleDeployed + } } return nil } func (x *AccountTransactionEffects) GetContractInitialized() *ContractInitializedEvent { - if x, ok := x.GetEffect().(*AccountTransactionEffects_ContractInitialized); ok { - return x.ContractInitialized + if x != nil { + if x, ok := x.Effect.(*AccountTransactionEffects_ContractInitialized); ok { + return x.ContractInitialized + } } return nil } func (x *AccountTransactionEffects) GetContractUpdateIssued() *AccountTransactionEffects_ContractUpdateIssued { - if x, ok := x.GetEffect().(*AccountTransactionEffects_ContractUpdateIssued_); ok { - return x.ContractUpdateIssued + if x != nil { + if x, ok := x.Effect.(*AccountTransactionEffects_ContractUpdateIssued_); ok { + return x.ContractUpdateIssued + } } return nil } func (x *AccountTransactionEffects) GetAccountTransfer() *AccountTransactionEffects_AccountTransfer { - if x, ok := x.GetEffect().(*AccountTransactionEffects_AccountTransfer_); ok { - return x.AccountTransfer + if x != nil { + if x, ok := x.Effect.(*AccountTransactionEffects_AccountTransfer_); ok { + return x.AccountTransfer + } } return nil } func (x *AccountTransactionEffects) GetBakerAdded() *BakerEvent_BakerAdded { - if x, ok := x.GetEffect().(*AccountTransactionEffects_BakerAdded); ok { - return x.BakerAdded + if x != nil { + if x, ok := x.Effect.(*AccountTransactionEffects_BakerAdded); ok { + return x.BakerAdded + } } return nil } func (x *AccountTransactionEffects) GetBakerRemoved() *BakerId { - if x, ok := x.GetEffect().(*AccountTransactionEffects_BakerRemoved); ok { - return x.BakerRemoved + if x != nil { + if x, ok := x.Effect.(*AccountTransactionEffects_BakerRemoved); ok { + return x.BakerRemoved + } } return nil } func (x *AccountTransactionEffects) GetBakerStakeUpdated() *AccountTransactionEffects_BakerStakeUpdated { - if x, ok := x.GetEffect().(*AccountTransactionEffects_BakerStakeUpdated_); ok { - return x.BakerStakeUpdated + if x != nil { + if x, ok := x.Effect.(*AccountTransactionEffects_BakerStakeUpdated_); ok { + return x.BakerStakeUpdated + } } return nil } func (x *AccountTransactionEffects) GetBakerRestakeEarningsUpdated() *BakerEvent_BakerRestakeEarningsUpdated { - if x, ok := x.GetEffect().(*AccountTransactionEffects_BakerRestakeEarningsUpdated); ok { - return x.BakerRestakeEarningsUpdated + if x != nil { + if x, ok := x.Effect.(*AccountTransactionEffects_BakerRestakeEarningsUpdated); ok { + return x.BakerRestakeEarningsUpdated + } } return nil } func (x *AccountTransactionEffects) GetBakerKeysUpdated() *BakerKeysEvent { - if x, ok := x.GetEffect().(*AccountTransactionEffects_BakerKeysUpdated); ok { - return x.BakerKeysUpdated + if x != nil { + if x, ok := x.Effect.(*AccountTransactionEffects_BakerKeysUpdated); ok { + return x.BakerKeysUpdated + } } return nil } func (x *AccountTransactionEffects) GetEncryptedAmountTransferred() *AccountTransactionEffects_EncryptedAmountTransferred { - if x, ok := x.GetEffect().(*AccountTransactionEffects_EncryptedAmountTransferred_); ok { - return x.EncryptedAmountTransferred + if x != nil { + if x, ok := x.Effect.(*AccountTransactionEffects_EncryptedAmountTransferred_); ok { + return x.EncryptedAmountTransferred + } } return nil } func (x *AccountTransactionEffects) GetTransferredToEncrypted() *EncryptedSelfAmountAddedEvent { - if x, ok := x.GetEffect().(*AccountTransactionEffects_TransferredToEncrypted); ok { - return x.TransferredToEncrypted + if x != nil { + if x, ok := x.Effect.(*AccountTransactionEffects_TransferredToEncrypted); ok { + return x.TransferredToEncrypted + } } return nil } func (x *AccountTransactionEffects) GetTransferredToPublic() *AccountTransactionEffects_TransferredToPublic { - if x, ok := x.GetEffect().(*AccountTransactionEffects_TransferredToPublic_); ok { - return x.TransferredToPublic + if x != nil { + if x, ok := x.Effect.(*AccountTransactionEffects_TransferredToPublic_); ok { + return x.TransferredToPublic + } } return nil } func (x *AccountTransactionEffects) GetTransferredWithSchedule() *AccountTransactionEffects_TransferredWithSchedule { - if x, ok := x.GetEffect().(*AccountTransactionEffects_TransferredWithSchedule_); ok { - return x.TransferredWithSchedule + if x != nil { + if x, ok := x.Effect.(*AccountTransactionEffects_TransferredWithSchedule_); ok { + return x.TransferredWithSchedule + } } return nil } func (x *AccountTransactionEffects) GetCredentialKeysUpdated() *CredentialRegistrationId { - if x, ok := x.GetEffect().(*AccountTransactionEffects_CredentialKeysUpdated); ok { - return x.CredentialKeysUpdated + if x != nil { + if x, ok := x.Effect.(*AccountTransactionEffects_CredentialKeysUpdated); ok { + return x.CredentialKeysUpdated + } } return nil } func (x *AccountTransactionEffects) GetCredentialsUpdated() *AccountTransactionEffects_CredentialsUpdated { - if x, ok := x.GetEffect().(*AccountTransactionEffects_CredentialsUpdated_); ok { - return x.CredentialsUpdated + if x != nil { + if x, ok := x.Effect.(*AccountTransactionEffects_CredentialsUpdated_); ok { + return x.CredentialsUpdated + } } return nil } func (x *AccountTransactionEffects) GetDataRegistered() *RegisteredData { - if x, ok := x.GetEffect().(*AccountTransactionEffects_DataRegistered); ok { - return x.DataRegistered + if x != nil { + if x, ok := x.Effect.(*AccountTransactionEffects_DataRegistered); ok { + return x.DataRegistered + } } return nil } func (x *AccountTransactionEffects) GetBakerConfigured() *AccountTransactionEffects_BakerConfigured { - if x, ok := x.GetEffect().(*AccountTransactionEffects_BakerConfigured_); ok { - return x.BakerConfigured + if x != nil { + if x, ok := x.Effect.(*AccountTransactionEffects_BakerConfigured_); ok { + return x.BakerConfigured + } } return nil } func (x *AccountTransactionEffects) GetDelegationConfigured() *AccountTransactionEffects_DelegationConfigured { - if x, ok := x.GetEffect().(*AccountTransactionEffects_DelegationConfigured_); ok { - return x.DelegationConfigured + if x != nil { + if x, ok := x.Effect.(*AccountTransactionEffects_DelegationConfigured_); ok { + return x.DelegationConfigured + } } return nil } @@ -7758,20 +7789,17 @@ func (*AccountTransactionEffects_DelegationConfigured_) isAccountTransactionEffe // Election difficulty parameter. type ElectionDifficulty struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Value *AmountFraction `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` unknownFields protoimpl.UnknownFields - - Value *AmountFraction `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` + sizeCache protoimpl.SizeCache } func (x *ElectionDifficulty) Reset() { *x = ElectionDifficulty{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[90] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[90] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ElectionDifficulty) String() string { @@ -7782,7 +7810,7 @@ func (*ElectionDifficulty) ProtoMessage() {} func (x *ElectionDifficulty) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[90] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -7806,25 +7834,22 @@ func (x *ElectionDifficulty) GetValue() *AmountFraction { // Parameters that determine timeouts in the consensus protocol used from protocol version 6. type TimeoutParameters struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The base value for triggering a timeout TimeoutBase *Duration `protobuf:"bytes,1,opt,name=timeout_base,json=timeoutBase,proto3" json:"timeout_base,omitempty"` // Factor for increasing the timeout. Must be greater than 1. TimeoutIncrease *Ratio `protobuf:"bytes,2,opt,name=timeout_increase,json=timeoutIncrease,proto3" json:"timeout_increase,omitempty"` // Factor for decreasing the timeout. Must be between 0 and 1. TimeoutDecrease *Ratio `protobuf:"bytes,3,opt,name=timeout_decrease,json=timeoutDecrease,proto3" json:"timeout_decrease,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *TimeoutParameters) Reset() { *x = TimeoutParameters{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[91] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[91] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TimeoutParameters) String() string { @@ -7835,7 +7860,7 @@ func (*TimeoutParameters) ProtoMessage() {} func (x *TimeoutParameters) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[91] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -7873,10 +7898,7 @@ func (x *TimeoutParameters) GetTimeoutDecrease() *Ratio { // Finalization committee parameters used from protocol version 6 type FinalizationCommitteeParameters struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The minimum size of a finalization committee before `finalizer_relative_stake_threshold` takes effect. MinimumFinalizers uint32 `protobuf:"varint,1,opt,name=minimum_finalizers,json=minimumFinalizers,proto3" json:"minimum_finalizers,omitempty"` // The maximum size of a finalization committee. @@ -7884,15 +7906,15 @@ type FinalizationCommitteeParameters struct { // The threshold for determining the stake required for being eligible the finalization committee. // The amount is given by `total stake in pools * finalizer_relative_stake_threshold` FinalizerRelativeStakeThreshold *AmountFraction `protobuf:"bytes,3,opt,name=finalizer_relative_stake_threshold,json=finalizerRelativeStakeThreshold,proto3" json:"finalizer_relative_stake_threshold,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *FinalizationCommitteeParameters) Reset() { *x = FinalizationCommitteeParameters{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[92] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[92] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *FinalizationCommitteeParameters) String() string { @@ -7903,7 +7925,7 @@ func (*FinalizationCommitteeParameters) ProtoMessage() {} func (x *FinalizationCommitteeParameters) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[92] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -7939,27 +7961,69 @@ func (x *FinalizationCommitteeParameters) GetFinalizerRelativeStakeThreshold() * return nil } +type ValidatorScoreParameters struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The maximal number of missed rounds before a validator gets suspended. + MaximumMissedRounds uint64 `protobuf:"varint,1,opt,name=maximum_missed_rounds,json=maximumMissedRounds,proto3" json:"maximum_missed_rounds,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ValidatorScoreParameters) Reset() { + *x = ValidatorScoreParameters{} + mi := &file_v2_concordium_types_proto_msgTypes[93] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ValidatorScoreParameters) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ValidatorScoreParameters) ProtoMessage() {} + +func (x *ValidatorScoreParameters) ProtoReflect() protoreflect.Message { + mi := &file_v2_concordium_types_proto_msgTypes[93] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ValidatorScoreParameters.ProtoReflect.Descriptor instead. +func (*ValidatorScoreParameters) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{93} +} + +func (x *ValidatorScoreParameters) GetMaximumMissedRounds() uint64 { + if x != nil { + return x.MaximumMissedRounds + } + return 0 +} + // Parameters for the consensus protocol used from protocol version 6. type ConsensusParametersV1 struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Parameters controlling round timeouts. TimeoutParameters *TimeoutParameters `protobuf:"bytes,1,opt,name=timeout_parameters,json=timeoutParameters,proto3" json:"timeout_parameters,omitempty"` // Minimum time interval between blocks. MinBlockTime *Duration `protobuf:"bytes,2,opt,name=min_block_time,json=minBlockTime,proto3" json:"min_block_time,omitempty"` // Maximum energy allowed per block. BlockEnergyLimit *Energy `protobuf:"bytes,3,opt,name=block_energy_limit,json=blockEnergyLimit,proto3" json:"block_energy_limit,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ConsensusParametersV1) Reset() { *x = ConsensusParametersV1{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[93] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[94] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ConsensusParametersV1) String() string { @@ -7969,8 +8033,8 @@ func (x *ConsensusParametersV1) String() string { func (*ConsensusParametersV1) ProtoMessage() {} func (x *ConsensusParametersV1) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[93] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[94] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -7982,7 +8046,7 @@ func (x *ConsensusParametersV1) ProtoReflect() protoreflect.Message { // Deprecated: Use ConsensusParametersV1.ProtoReflect.Descriptor instead. func (*ConsensusParametersV1) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{93} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{94} } func (x *ConsensusParametersV1) GetTimeoutParameters() *TimeoutParameters { @@ -8008,20 +8072,17 @@ func (x *ConsensusParametersV1) GetBlockEnergyLimit() *Energy { // Represents an exchange rate. type ExchangeRate struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Value *Ratio `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` unknownFields protoimpl.UnknownFields - - Value *Ratio `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` + sizeCache protoimpl.SizeCache } func (x *ExchangeRate) Reset() { *x = ExchangeRate{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[94] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[95] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ExchangeRate) String() string { @@ -8031,8 +8092,8 @@ func (x *ExchangeRate) String() string { func (*ExchangeRate) ProtoMessage() {} func (x *ExchangeRate) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[94] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[95] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -8044,7 +8105,7 @@ func (x *ExchangeRate) ProtoReflect() protoreflect.Message { // Deprecated: Use ExchangeRate.ProtoReflect.Descriptor instead. func (*ExchangeRate) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{94} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{95} } func (x *ExchangeRate) GetValue() *Ratio { @@ -8056,23 +8117,20 @@ func (x *ExchangeRate) GetValue() *Ratio { // Represents a ratio, i.e., 'numerator / denominator'. type Ratio struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The numerator. Numerator uint64 `protobuf:"varint,1,opt,name=numerator,proto3" json:"numerator,omitempty"` // The denominator. - Denominator uint64 `protobuf:"varint,2,opt,name=denominator,proto3" json:"denominator,omitempty"` + Denominator uint64 `protobuf:"varint,2,opt,name=denominator,proto3" json:"denominator,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *Ratio) Reset() { *x = Ratio{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[95] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[96] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *Ratio) String() string { @@ -8082,8 +8140,8 @@ func (x *Ratio) String() string { func (*Ratio) ProtoMessage() {} func (x *Ratio) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[95] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[96] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -8095,7 +8153,7 @@ func (x *Ratio) ProtoReflect() protoreflect.Message { // Deprecated: Use Ratio.ProtoReflect.Descriptor instead. func (*Ratio) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{95} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{96} } func (x *Ratio) GetNumerator() uint64 { @@ -8114,20 +8172,17 @@ func (x *Ratio) GetDenominator() uint64 { // A public key used for chain updates. type UpdatePublicKey struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Value []byte `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` unknownFields protoimpl.UnknownFields - - Value []byte `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` + sizeCache protoimpl.SizeCache } func (x *UpdatePublicKey) Reset() { *x = UpdatePublicKey{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[96] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[97] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *UpdatePublicKey) String() string { @@ -8137,8 +8192,8 @@ func (x *UpdatePublicKey) String() string { func (*UpdatePublicKey) ProtoMessage() {} func (x *UpdatePublicKey) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[96] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[97] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -8150,7 +8205,7 @@ func (x *UpdatePublicKey) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdatePublicKey.ProtoReflect.Descriptor instead. func (*UpdatePublicKey) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{96} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{97} } func (x *UpdatePublicKey) GetValue() []byte { @@ -8162,21 +8217,18 @@ func (x *UpdatePublicKey) GetValue() []byte { // The threshold for how many UpdatePublicKeys are need to make a certain chain update. type UpdateKeysThreshold struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Is ensured to be within between 1 and 2^16. - Value uint32 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"` + Value uint32 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *UpdateKeysThreshold) Reset() { *x = UpdateKeysThreshold{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[97] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[98] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *UpdateKeysThreshold) String() string { @@ -8186,8 +8238,8 @@ func (x *UpdateKeysThreshold) String() string { func (*UpdateKeysThreshold) ProtoMessage() {} func (x *UpdateKeysThreshold) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[97] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[98] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -8199,7 +8251,7 @@ func (x *UpdateKeysThreshold) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateKeysThreshold.ProtoReflect.Descriptor instead. func (*UpdateKeysThreshold) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{97} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{98} } func (x *UpdateKeysThreshold) GetValue() uint32 { @@ -8211,20 +8263,17 @@ func (x *UpdateKeysThreshold) GetValue() uint32 { // Index of a key in an authorizations update payload. type UpdateKeysIndex struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Value uint32 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"` unknownFields protoimpl.UnknownFields - - Value uint32 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"` + sizeCache protoimpl.SizeCache } func (x *UpdateKeysIndex) Reset() { *x = UpdateKeysIndex{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[98] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[99] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *UpdateKeysIndex) String() string { @@ -8234,8 +8283,8 @@ func (x *UpdateKeysIndex) String() string { func (*UpdateKeysIndex) ProtoMessage() {} func (x *UpdateKeysIndex) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[98] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[99] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -8247,7 +8296,7 @@ func (x *UpdateKeysIndex) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateKeysIndex.ProtoReflect.Descriptor instead. func (*UpdateKeysIndex) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{98} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{99} } func (x *UpdateKeysIndex) GetValue() uint32 { @@ -8259,23 +8308,20 @@ func (x *UpdateKeysIndex) GetValue() uint32 { // Represents root or level 1 keys. type HigherLevelKeys struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The keys. Keys []*UpdatePublicKey `protobuf:"bytes,1,rep,name=keys,proto3" json:"keys,omitempty"` // The number of keys needed to make a chain update. - Threshold *UpdateKeysThreshold `protobuf:"bytes,2,opt,name=threshold,proto3" json:"threshold,omitempty"` + Threshold *UpdateKeysThreshold `protobuf:"bytes,2,opt,name=threshold,proto3" json:"threshold,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *HigherLevelKeys) Reset() { *x = HigherLevelKeys{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[99] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[100] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *HigherLevelKeys) String() string { @@ -8285,8 +8331,8 @@ func (x *HigherLevelKeys) String() string { func (*HigherLevelKeys) ProtoMessage() {} func (x *HigherLevelKeys) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[99] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[100] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -8298,7 +8344,7 @@ func (x *HigherLevelKeys) ProtoReflect() protoreflect.Message { // Deprecated: Use HigherLevelKeys.ProtoReflect.Descriptor instead. func (*HigherLevelKeys) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{99} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{100} } func (x *HigherLevelKeys) GetKeys() []*UpdatePublicKey { @@ -8319,23 +8365,20 @@ func (x *HigherLevelKeys) GetThreshold() *UpdateKeysThreshold { // to make chain update of a specific type. The threshold defines the minimum number of allowed keys needed // to make the actual update. type AccessStructure struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Unique indexes into the set of keys in AuthorizationV0. AccessPublicKeys []*UpdateKeysIndex `protobuf:"bytes,1,rep,name=access_public_keys,json=accessPublicKeys,proto3" json:"access_public_keys,omitempty"` // Number of keys requred to authorize an update. AccessThreshold *UpdateKeysThreshold `protobuf:"bytes,2,opt,name=access_threshold,json=accessThreshold,proto3" json:"access_threshold,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *AccessStructure) Reset() { *x = AccessStructure{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[100] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[101] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *AccessStructure) String() string { @@ -8345,8 +8388,8 @@ func (x *AccessStructure) String() string { func (*AccessStructure) ProtoMessage() {} func (x *AccessStructure) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[100] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[101] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -8358,7 +8401,7 @@ func (x *AccessStructure) ProtoReflect() protoreflect.Message { // Deprecated: Use AccessStructure.ProtoReflect.Descriptor instead. func (*AccessStructure) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{100} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{101} } func (x *AccessStructure) GetAccessPublicKeys() []*UpdateKeysIndex { @@ -8379,10 +8422,7 @@ func (x *AccessStructure) GetAccessThreshold() *UpdateKeysThreshold { // determining which keys are authorized for which update types. // This is the payload of an update to authorization. type AuthorizationsV0 struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The set of keys authorized for chain updates. Keys []*UpdatePublicKey `protobuf:"bytes,1,rep,name=keys,proto3" json:"keys,omitempty"` // New emergency keys. @@ -8411,15 +8451,15 @@ type AuthorizationsV0 struct { AddAnonymityRevoker *AccessStructure `protobuf:"bytes,12,opt,name=add_anonymity_revoker,json=addAnonymityRevoker,proto3" json:"add_anonymity_revoker,omitempty"` // Access structure for adding new identity providers. AddIdentityProvider *AccessStructure `protobuf:"bytes,13,opt,name=add_identity_provider,json=addIdentityProvider,proto3" json:"add_identity_provider,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *AuthorizationsV0) Reset() { *x = AuthorizationsV0{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[101] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[102] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *AuthorizationsV0) String() string { @@ -8429,8 +8469,8 @@ func (x *AuthorizationsV0) String() string { func (*AuthorizationsV0) ProtoMessage() {} func (x *AuthorizationsV0) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[101] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[102] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -8442,7 +8482,7 @@ func (x *AuthorizationsV0) ProtoReflect() protoreflect.Message { // Deprecated: Use AuthorizationsV0.ProtoReflect.Descriptor instead. func (*AuthorizationsV0) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{101} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{102} } func (x *AuthorizationsV0) GetKeys() []*UpdatePublicKey { @@ -8540,24 +8580,21 @@ func (x *AuthorizationsV0) GetAddIdentityProvider() *AccessStructure { // determining which keys are authorized for which update types. // This is the payload of an update to authorization. type AuthorizationsV1 struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - V0 *AuthorizationsV0 `protobuf:"bytes,1,opt,name=v0,proto3" json:"v0,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + V0 *AuthorizationsV0 `protobuf:"bytes,1,opt,name=v0,proto3" json:"v0,omitempty"` // Access structure for updating the cooldown periods related to baking and delegation. ParameterCooldown *AccessStructure `protobuf:"bytes,2,opt,name=parameter_cooldown,json=parameterCooldown,proto3" json:"parameter_cooldown,omitempty"` // Access structure for updating the length of the reward period. ParameterTime *AccessStructure `protobuf:"bytes,3,opt,name=parameter_time,json=parameterTime,proto3" json:"parameter_time,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *AuthorizationsV1) Reset() { *x = AuthorizationsV1{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[102] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[103] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *AuthorizationsV1) String() string { @@ -8567,8 +8604,8 @@ func (x *AuthorizationsV1) String() string { func (*AuthorizationsV1) ProtoMessage() {} func (x *AuthorizationsV1) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[102] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[103] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -8580,7 +8617,7 @@ func (x *AuthorizationsV1) ProtoReflect() protoreflect.Message { // Deprecated: Use AuthorizationsV1.ProtoReflect.Descriptor instead. func (*AuthorizationsV1) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{102} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{103} } func (x *AuthorizationsV1) GetV0() *AuthorizationsV0 { @@ -8607,25 +8644,22 @@ func (x *AuthorizationsV1) GetParameterTime() *AccessStructure { // Description either of an anonymity revoker or identity provider. // Metadata that should be visible on the chain. type Description struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The name. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // A link to more information about the anonymity revoker or identity provider. Url string `protobuf:"bytes,2,opt,name=url,proto3" json:"url,omitempty"` // A free form description of the revoker or provider. - Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` + Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *Description) Reset() { *x = Description{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[103] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[104] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *Description) String() string { @@ -8635,8 +8669,8 @@ func (x *Description) String() string { func (*Description) ProtoMessage() {} func (x *Description) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[103] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[104] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -8648,7 +8682,7 @@ func (x *Description) ProtoReflect() protoreflect.Message { // Deprecated: Use Description.ProtoReflect.Descriptor instead. func (*Description) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{103} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{104} } func (x *Description) GetName() string { @@ -8675,25 +8709,22 @@ func (x *Description) GetDescription() string { // Information on a single anonymity revoker help by the identity provider. // Typically an identity provider will hold more than one. type ArInfo struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Unique identifier of the anonymity revoker. Identity *ArInfo_ArIdentity `protobuf:"bytes,1,opt,name=identity,proto3" json:"identity,omitempty"` // Description of the anonymity revoker. Description *Description `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` // Elgamal encryption key of the anonymity revoker. - PublicKey *ArInfo_ArPublicKey `protobuf:"bytes,3,opt,name=public_key,json=publicKey,proto3" json:"public_key,omitempty"` + PublicKey *ArInfo_ArPublicKey `protobuf:"bytes,3,opt,name=public_key,json=publicKey,proto3" json:"public_key,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ArInfo) Reset() { *x = ArInfo{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[104] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[105] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ArInfo) String() string { @@ -8703,8 +8734,8 @@ func (x *ArInfo) String() string { func (*ArInfo) ProtoMessage() {} func (x *ArInfo) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[104] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[105] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -8716,7 +8747,7 @@ func (x *ArInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use ArInfo.ProtoReflect.Descriptor instead. func (*ArInfo) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{104} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{105} } func (x *ArInfo) GetIdentity() *ArInfo_ArIdentity { @@ -8744,20 +8775,17 @@ func (x *ArInfo) GetPublicKey() *ArInfo_ArPublicKey { // In credential deployments, and other interactions with the chain this is // used to identify which identity provider is meant. type IpIdentity struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Value uint32 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"` unknownFields protoimpl.UnknownFields - - Value uint32 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"` + sizeCache protoimpl.SizeCache } func (x *IpIdentity) Reset() { *x = IpIdentity{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[105] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[106] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *IpIdentity) String() string { @@ -8767,8 +8795,8 @@ func (x *IpIdentity) String() string { func (*IpIdentity) ProtoMessage() {} func (x *IpIdentity) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[105] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[106] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -8780,7 +8808,7 @@ func (x *IpIdentity) ProtoReflect() protoreflect.Message { // Deprecated: Use IpIdentity.ProtoReflect.Descriptor instead. func (*IpIdentity) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{105} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{106} } func (x *IpIdentity) GetValue() uint32 { @@ -8792,10 +8820,7 @@ func (x *IpIdentity) GetValue() uint32 { // Public information about an identity provider. type IpInfo struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Unique identifier of the identity provider. Identity *IpIdentity `protobuf:"bytes,1,opt,name=identity,proto3" json:"identity,omitempty"` // Description of the identity provider. @@ -8803,16 +8828,16 @@ type IpInfo struct { // Pointcheval-Sanders public key of the identity provider. VerifyKey *IpInfo_IpVerifyKey `protobuf:"bytes,3,opt,name=verify_key,json=verifyKey,proto3" json:"verify_key,omitempty"` // Ed25519 public key of the identity provider. - CdiVerifyKey *IpInfo_IpCdiVerifyKey `protobuf:"bytes,4,opt,name=cdi_verify_key,json=cdiVerifyKey,proto3" json:"cdi_verify_key,omitempty"` + CdiVerifyKey *IpInfo_IpCdiVerifyKey `protobuf:"bytes,4,opt,name=cdi_verify_key,json=cdiVerifyKey,proto3" json:"cdi_verify_key,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *IpInfo) Reset() { *x = IpInfo{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[106] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[107] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *IpInfo) String() string { @@ -8822,8 +8847,8 @@ func (x *IpInfo) String() string { func (*IpInfo) ProtoMessage() {} func (x *IpInfo) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[106] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[107] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -8835,7 +8860,7 @@ func (x *IpInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use IpInfo.ProtoReflect.Descriptor instead. func (*IpInfo) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{106} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{107} } func (x *IpInfo) GetIdentity() *IpIdentity { @@ -8868,20 +8893,17 @@ func (x *IpInfo) GetCdiVerifyKey() *IpInfo_IpCdiVerifyKey { // A duration in seconds. type DurationSeconds struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Value uint64 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"` unknownFields protoimpl.UnknownFields - - Value uint64 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"` + sizeCache protoimpl.SizeCache } func (x *DurationSeconds) Reset() { *x = DurationSeconds{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[107] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[108] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *DurationSeconds) String() string { @@ -8891,8 +8913,8 @@ func (x *DurationSeconds) String() string { func (*DurationSeconds) ProtoMessage() {} func (x *DurationSeconds) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[107] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[108] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -8904,7 +8926,7 @@ func (x *DurationSeconds) ProtoReflect() protoreflect.Message { // Deprecated: Use DurationSeconds.ProtoReflect.Descriptor instead. func (*DurationSeconds) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{107} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{108} } func (x *DurationSeconds) GetValue() uint64 { @@ -8916,21 +8938,18 @@ func (x *DurationSeconds) GetValue() uint64 { // Inclusive range of amount fractions. type InclusiveRangeAmountFraction struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Min *AmountFraction `protobuf:"bytes,1,opt,name=min,proto3" json:"min,omitempty"` + Max_ *AmountFraction `protobuf:"bytes,2,opt,name=max_,json=max,proto3" json:"max_,omitempty"` unknownFields protoimpl.UnknownFields - - Min *AmountFraction `protobuf:"bytes,1,opt,name=min,proto3" json:"min,omitempty"` - Max_ *AmountFraction `protobuf:"bytes,2,opt,name=max_,json=max,proto3" json:"max_,omitempty"` + sizeCache protoimpl.SizeCache } func (x *InclusiveRangeAmountFraction) Reset() { *x = InclusiveRangeAmountFraction{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[108] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[109] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *InclusiveRangeAmountFraction) String() string { @@ -8940,8 +8959,8 @@ func (x *InclusiveRangeAmountFraction) String() string { func (*InclusiveRangeAmountFraction) ProtoMessage() {} func (x *InclusiveRangeAmountFraction) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[108] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[109] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -8953,7 +8972,7 @@ func (x *InclusiveRangeAmountFraction) ProtoReflect() protoreflect.Message { // Deprecated: Use InclusiveRangeAmountFraction.ProtoReflect.Descriptor instead. func (*InclusiveRangeAmountFraction) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{108} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{109} } func (x *InclusiveRangeAmountFraction) GetMin() *AmountFraction { @@ -8972,25 +8991,22 @@ func (x *InclusiveRangeAmountFraction) GetMax_() *AmountFraction { // Ranges of allowed commission values that pools may choose from. type CommissionRanges struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The range of allowed finalization commissions. Finalization *InclusiveRangeAmountFraction `protobuf:"bytes,1,opt,name=finalization,proto3" json:"finalization,omitempty"` // The range of allowed baker commissions. Baking *InclusiveRangeAmountFraction `protobuf:"bytes,2,opt,name=baking,proto3" json:"baking,omitempty"` // The range of allowed transaction commissions. - Transaction *InclusiveRangeAmountFraction `protobuf:"bytes,3,opt,name=transaction,proto3" json:"transaction,omitempty"` + Transaction *InclusiveRangeAmountFraction `protobuf:"bytes,3,opt,name=transaction,proto3" json:"transaction,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *CommissionRanges) Reset() { *x = CommissionRanges{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[109] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[110] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *CommissionRanges) String() string { @@ -9000,8 +9016,8 @@ func (x *CommissionRanges) String() string { func (*CommissionRanges) ProtoMessage() {} func (x *CommissionRanges) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[109] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[110] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -9013,7 +9029,7 @@ func (x *CommissionRanges) ProtoReflect() protoreflect.Message { // Deprecated: Use CommissionRanges.ProtoReflect.Descriptor instead. func (*CommissionRanges) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{109} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{110} } func (x *CommissionRanges) GetFinalization() *InclusiveRangeAmountFraction { @@ -9040,20 +9056,17 @@ func (x *CommissionRanges) GetTransaction() *InclusiveRangeAmountFraction { // A bound on the relative share of the total staked capital that a baker can // have as its stake. This is required to be greater than 0. type CapitalBound struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Value *AmountFraction `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` unknownFields protoimpl.UnknownFields - - Value *AmountFraction `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` + sizeCache protoimpl.SizeCache } func (x *CapitalBound) Reset() { *x = CapitalBound{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[110] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[111] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *CapitalBound) String() string { @@ -9063,8 +9076,8 @@ func (x *CapitalBound) String() string { func (*CapitalBound) ProtoMessage() {} func (x *CapitalBound) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[110] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[111] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -9076,7 +9089,7 @@ func (x *CapitalBound) ProtoReflect() protoreflect.Message { // Deprecated: Use CapitalBound.ProtoReflect.Descriptor instead. func (*CapitalBound) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{110} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{111} } func (x *CapitalBound) GetValue() *AmountFraction { @@ -9088,20 +9101,17 @@ func (x *CapitalBound) GetValue() *AmountFraction { // A leverage factor. type LeverageFactor struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Value *Ratio `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` unknownFields protoimpl.UnknownFields - - Value *Ratio `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` + sizeCache protoimpl.SizeCache } func (x *LeverageFactor) Reset() { *x = LeverageFactor{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[111] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[112] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *LeverageFactor) String() string { @@ -9111,8 +9121,8 @@ func (x *LeverageFactor) String() string { func (*LeverageFactor) ProtoMessage() {} func (x *LeverageFactor) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[111] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[112] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -9124,7 +9134,7 @@ func (x *LeverageFactor) ProtoReflect() protoreflect.Message { // Deprecated: Use LeverageFactor.ProtoReflect.Descriptor instead. func (*LeverageFactor) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{111} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{112} } func (x *LeverageFactor) GetValue() *Ratio { @@ -9136,20 +9146,17 @@ func (x *LeverageFactor) GetValue() *Ratio { // A chain epoch. type Epoch struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Value uint64 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"` unknownFields protoimpl.UnknownFields - - Value uint64 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"` + sizeCache protoimpl.SizeCache } func (x *Epoch) Reset() { *x = Epoch{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[112] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[113] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *Epoch) String() string { @@ -9159,8 +9166,8 @@ func (x *Epoch) String() string { func (*Epoch) ProtoMessage() {} func (x *Epoch) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[112] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[113] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -9172,7 +9179,7 @@ func (x *Epoch) ProtoReflect() protoreflect.Message { // Deprecated: Use Epoch.ProtoReflect.Descriptor instead. func (*Epoch) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{112} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{113} } func (x *Epoch) GetValue() uint64 { @@ -9184,20 +9191,17 @@ func (x *Epoch) GetValue() uint64 { // A round. type Round struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Value uint64 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"` unknownFields protoimpl.UnknownFields - - Value uint64 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"` + sizeCache protoimpl.SizeCache } func (x *Round) Reset() { *x = Round{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[113] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[114] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *Round) String() string { @@ -9207,8 +9211,8 @@ func (x *Round) String() string { func (*Round) ProtoMessage() {} func (x *Round) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[113] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[114] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -9220,7 +9224,7 @@ func (x *Round) ProtoReflect() protoreflect.Message { // Deprecated: Use Round.ProtoReflect.Descriptor instead. func (*Round) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{113} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{114} } func (x *Round) GetValue() uint64 { @@ -9233,20 +9237,17 @@ func (x *Round) GetValue() uint64 { // Length of a reward period in epochs. // Must always be a strictly positive number. type RewardPeriodLength struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Value *Epoch `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` unknownFields protoimpl.UnknownFields - - Value *Epoch `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` + sizeCache protoimpl.SizeCache } func (x *RewardPeriodLength) Reset() { *x = RewardPeriodLength{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[114] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[115] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RewardPeriodLength) String() string { @@ -9256,8 +9257,8 @@ func (x *RewardPeriodLength) String() string { func (*RewardPeriodLength) ProtoMessage() {} func (x *RewardPeriodLength) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[114] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[115] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -9269,7 +9270,7 @@ func (x *RewardPeriodLength) ProtoReflect() protoreflect.Message { // Deprecated: Use RewardPeriodLength.ProtoReflect.Descriptor instead. func (*RewardPeriodLength) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{114} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{115} } func (x *RewardPeriodLength) GetValue() *Epoch { @@ -9282,22 +9283,19 @@ func (x *RewardPeriodLength) GetValue() *Epoch { // A minting rate of CCD. // The value is `mantissa * 10^(-exponent)`. type MintRate struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Mantissa uint32 `protobuf:"varint,1,opt,name=mantissa,proto3" json:"mantissa,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + Mantissa uint32 `protobuf:"varint,1,opt,name=mantissa,proto3" json:"mantissa,omitempty"` // This will never exceed 255 and can thus be stored in a single byte. - Exponent uint32 `protobuf:"varint,2,opt,name=exponent,proto3" json:"exponent,omitempty"` + Exponent uint32 `protobuf:"varint,2,opt,name=exponent,proto3" json:"exponent,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *MintRate) Reset() { *x = MintRate{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[115] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[116] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *MintRate) String() string { @@ -9307,8 +9305,8 @@ func (x *MintRate) String() string { func (*MintRate) ProtoMessage() {} func (x *MintRate) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[115] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[116] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -9320,7 +9318,7 @@ func (x *MintRate) ProtoReflect() protoreflect.Message { // Deprecated: Use MintRate.ProtoReflect.Descriptor instead. func (*MintRate) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{115} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{116} } func (x *MintRate) GetMantissa() uint32 { @@ -9338,25 +9336,22 @@ func (x *MintRate) GetExponent() uint32 { } type CooldownParametersCpv1 struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Number of seconds that pool owners must cooldown // when reducing their equity capital or closing the pool. PoolOwnerCooldown *DurationSeconds `protobuf:"bytes,1,opt,name=pool_owner_cooldown,json=poolOwnerCooldown,proto3" json:"pool_owner_cooldown,omitempty"` // Number of seconds that a delegator must cooldown // when reducing their delegated stake. DelegatorCooldown *DurationSeconds `protobuf:"bytes,2,opt,name=delegator_cooldown,json=delegatorCooldown,proto3" json:"delegator_cooldown,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *CooldownParametersCpv1) Reset() { *x = CooldownParametersCpv1{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[116] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[117] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *CooldownParametersCpv1) String() string { @@ -9366,8 +9361,8 @@ func (x *CooldownParametersCpv1) String() string { func (*CooldownParametersCpv1) ProtoMessage() {} func (x *CooldownParametersCpv1) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[116] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[117] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -9379,7 +9374,7 @@ func (x *CooldownParametersCpv1) ProtoReflect() protoreflect.Message { // Deprecated: Use CooldownParametersCpv1.ProtoReflect.Descriptor instead. func (*CooldownParametersCpv1) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{116} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{117} } func (x *CooldownParametersCpv1) GetPoolOwnerCooldown() *DurationSeconds { @@ -9398,10 +9393,7 @@ func (x *CooldownParametersCpv1) GetDelegatorCooldown() *DurationSeconds { // Parameters related to staking pools. type PoolParametersCpv1 struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Fraction of finalization rewards charged by the passive delegation. PassiveFinalizationCommission *AmountFraction `protobuf:"bytes,1,opt,name=passive_finalization_commission,json=passiveFinalizationCommission,proto3" json:"passive_finalization_commission,omitempty"` // Fraction of baking rewards charged by the passive delegation. @@ -9418,15 +9410,15 @@ type PoolParametersCpv1 struct { // The maximum leverage that a baker can have as a ratio of total stake // to equity capital. LeverageBound *LeverageFactor `protobuf:"bytes,7,opt,name=leverage_bound,json=leverageBound,proto3" json:"leverage_bound,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *PoolParametersCpv1) Reset() { *x = PoolParametersCpv1{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[117] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[118] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *PoolParametersCpv1) String() string { @@ -9436,8 +9428,8 @@ func (x *PoolParametersCpv1) String() string { func (*PoolParametersCpv1) ProtoMessage() {} func (x *PoolParametersCpv1) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[117] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[118] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -9449,7 +9441,7 @@ func (x *PoolParametersCpv1) ProtoReflect() protoreflect.Message { // Deprecated: Use PoolParametersCpv1.ProtoReflect.Descriptor instead. func (*PoolParametersCpv1) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{117} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{118} } func (x *PoolParametersCpv1) GetPassiveFinalizationCommission() *AmountFraction { @@ -9505,21 +9497,18 @@ func (x *PoolParametersCpv1) GetLeverageBound() *LeverageFactor { // the reward period length and the mint rate per payday. These are coupled as // a change to either affects the overall rate of minting. type TimeParametersCpv1 struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - RewardPeriodLength *RewardPeriodLength `protobuf:"bytes,1,opt,name=reward_period_length,json=rewardPeriodLength,proto3" json:"reward_period_length,omitempty"` - MintPerPayday *MintRate `protobuf:"bytes,2,opt,name=mint_per_payday,json=mintPerPayday,proto3" json:"mint_per_payday,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + RewardPeriodLength *RewardPeriodLength `protobuf:"bytes,1,opt,name=reward_period_length,json=rewardPeriodLength,proto3" json:"reward_period_length,omitempty"` + MintPerPayday *MintRate `protobuf:"bytes,2,opt,name=mint_per_payday,json=mintPerPayday,proto3" json:"mint_per_payday,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *TimeParametersCpv1) Reset() { *x = TimeParametersCpv1{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[118] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[119] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TimeParametersCpv1) String() string { @@ -9529,8 +9518,8 @@ func (x *TimeParametersCpv1) String() string { func (*TimeParametersCpv1) ProtoMessage() {} func (x *TimeParametersCpv1) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[118] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[119] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -9542,7 +9531,7 @@ func (x *TimeParametersCpv1) ProtoReflect() protoreflect.Message { // Deprecated: Use TimeParametersCpv1.ProtoReflect.Descriptor instead. func (*TimeParametersCpv1) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{118} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{119} } func (x *TimeParametersCpv1) GetRewardPeriodLength() *RewardPeriodLength { @@ -9561,21 +9550,18 @@ func (x *TimeParametersCpv1) GetMintPerPayday() *MintRate { // Mint distribution payload as it looks in protocol version 4 and onward. type MintDistributionCpv1 struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - BakingReward *AmountFraction `protobuf:"bytes,1,opt,name=baking_reward,json=bakingReward,proto3" json:"baking_reward,omitempty"` - FinalizationReward *AmountFraction `protobuf:"bytes,2,opt,name=finalization_reward,json=finalizationReward,proto3" json:"finalization_reward,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + BakingReward *AmountFraction `protobuf:"bytes,1,opt,name=baking_reward,json=bakingReward,proto3" json:"baking_reward,omitempty"` + FinalizationReward *AmountFraction `protobuf:"bytes,2,opt,name=finalization_reward,json=finalizationReward,proto3" json:"finalization_reward,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *MintDistributionCpv1) Reset() { *x = MintDistributionCpv1{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[119] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[120] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *MintDistributionCpv1) String() string { @@ -9585,8 +9571,8 @@ func (x *MintDistributionCpv1) String() string { func (*MintDistributionCpv1) ProtoMessage() {} func (x *MintDistributionCpv1) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[119] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[120] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -9598,7 +9584,7 @@ func (x *MintDistributionCpv1) ProtoReflect() protoreflect.Message { // Deprecated: Use MintDistributionCpv1.ProtoReflect.Descriptor instead. func (*MintDistributionCpv1) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{119} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{120} } func (x *MintDistributionCpv1) GetBakingReward() *AmountFraction { @@ -9616,10 +9602,7 @@ func (x *MintDistributionCpv1) GetFinalizationReward() *AmountFraction { } type ProtocolUpdate struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // A brief message about the update. Message_ string `protobuf:"bytes,1,opt,name=message_,json=message,proto3" json:"message_,omitempty"` // A URL of a document describing the update. @@ -9628,15 +9611,15 @@ type ProtocolUpdate struct { SpecificationHash *Sha256Hash `protobuf:"bytes,3,opt,name=specificationHash,proto3" json:"specificationHash,omitempty"` // Auxiliary data whose interpretation is defined by the new specification. SpecificationAuxiliaryData []byte `protobuf:"bytes,4,opt,name=specification_auxiliary_data,json=specificationAuxiliaryData,proto3" json:"specification_auxiliary_data,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ProtocolUpdate) Reset() { *x = ProtocolUpdate{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[120] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[121] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ProtocolUpdate) String() string { @@ -9646,8 +9629,8 @@ func (x *ProtocolUpdate) String() string { func (*ProtocolUpdate) ProtoMessage() {} func (x *ProtocolUpdate) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[120] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[121] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -9659,7 +9642,7 @@ func (x *ProtocolUpdate) ProtoReflect() protoreflect.Message { // Deprecated: Use ProtocolUpdate.ProtoReflect.Descriptor instead. func (*ProtocolUpdate) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{120} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{121} } func (x *ProtocolUpdate) GetMessage_() string { @@ -9695,25 +9678,22 @@ func (x *ProtocolUpdate) GetSpecificationAuxiliaryData() []byte { // baking_reward + finalization_reward <= 1. The remaining amount is the // platform development charge. type MintDistributionCpv0 struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Mint rate per slot. MintPerSlot *MintRate `protobuf:"bytes,1,opt,name=mint_per_slot,json=mintPerSlot,proto3" json:"mint_per_slot,omitempty"` // The fraction of newly created CCD allocated to baker rewards. BakingReward *AmountFraction `protobuf:"bytes,2,opt,name=baking_reward,json=bakingReward,proto3" json:"baking_reward,omitempty"` // The fraction of newly created CCD allocated to finalization rewards. FinalizationReward *AmountFraction `protobuf:"bytes,3,opt,name=finalization_reward,json=finalizationReward,proto3" json:"finalization_reward,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *MintDistributionCpv0) Reset() { *x = MintDistributionCpv0{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[121] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[122] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *MintDistributionCpv0) String() string { @@ -9723,8 +9703,8 @@ func (x *MintDistributionCpv0) String() string { func (*MintDistributionCpv0) ProtoMessage() {} func (x *MintDistributionCpv0) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[121] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[122] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -9736,7 +9716,7 @@ func (x *MintDistributionCpv0) ProtoReflect() protoreflect.Message { // Deprecated: Use MintDistributionCpv0.ProtoReflect.Descriptor instead. func (*MintDistributionCpv0) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{121} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{122} } func (x *MintDistributionCpv0) GetMintPerSlot() *MintRate { @@ -9762,23 +9742,20 @@ func (x *MintDistributionCpv0) GetFinalizationReward() *AmountFraction { // Parameters determining the distribution of transaction fees. type TransactionFeeDistribution struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The fraction allocated to the baker. Baker *AmountFraction `protobuf:"bytes,1,opt,name=baker,proto3" json:"baker,omitempty"` // The fraction allocated to the GAS account. - GasAccount *AmountFraction `protobuf:"bytes,2,opt,name=gas_account,json=gasAccount,proto3" json:"gas_account,omitempty"` + GasAccount *AmountFraction `protobuf:"bytes,2,opt,name=gas_account,json=gasAccount,proto3" json:"gas_account,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *TransactionFeeDistribution) Reset() { *x = TransactionFeeDistribution{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[122] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[123] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TransactionFeeDistribution) String() string { @@ -9788,8 +9765,8 @@ func (x *TransactionFeeDistribution) String() string { func (*TransactionFeeDistribution) ProtoMessage() {} func (x *TransactionFeeDistribution) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[122] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[123] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -9801,7 +9778,7 @@ func (x *TransactionFeeDistribution) ProtoReflect() protoreflect.Message { // Deprecated: Use TransactionFeeDistribution.ProtoReflect.Descriptor instead. func (*TransactionFeeDistribution) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{122} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{123} } func (x *TransactionFeeDistribution) GetBaker() *AmountFraction { @@ -9820,10 +9797,7 @@ func (x *TransactionFeeDistribution) GetGasAccount() *AmountFraction { // Distribution of gas rewards for chain parameters version 0 and 1. type GasRewards struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The fraction paid to the baker. Baker *AmountFraction `protobuf:"bytes,1,opt,name=baker,proto3" json:"baker,omitempty"` // Fraction paid for including a finalization proof in a block. @@ -9831,16 +9805,16 @@ type GasRewards struct { // Fraction paid for including each account creation transaction in a block. AccountCreation *AmountFraction `protobuf:"bytes,3,opt,name=account_creation,json=accountCreation,proto3" json:"account_creation,omitempty"` // Fraction paid for including an update transaction in a block. - ChainUpdate *AmountFraction `protobuf:"bytes,4,opt,name=chain_update,json=chainUpdate,proto3" json:"chain_update,omitempty"` + ChainUpdate *AmountFraction `protobuf:"bytes,4,opt,name=chain_update,json=chainUpdate,proto3" json:"chain_update,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *GasRewards) Reset() { *x = GasRewards{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[123] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[124] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *GasRewards) String() string { @@ -9850,8 +9824,8 @@ func (x *GasRewards) String() string { func (*GasRewards) ProtoMessage() {} func (x *GasRewards) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[123] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[124] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -9863,7 +9837,7 @@ func (x *GasRewards) ProtoReflect() protoreflect.Message { // Deprecated: Use GasRewards.ProtoReflect.Descriptor instead. func (*GasRewards) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{123} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{124} } func (x *GasRewards) GetBaker() *AmountFraction { @@ -9896,25 +9870,22 @@ func (x *GasRewards) GetChainUpdate() *AmountFraction { // Distribution of gas rewards for chain parameters version 2. type GasRewardsCpv2 struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The fraction paid to the baker. Baker *AmountFraction `protobuf:"bytes,1,opt,name=baker,proto3" json:"baker,omitempty"` // Fraction paid for including each account creation transaction in a block. AccountCreation *AmountFraction `protobuf:"bytes,3,opt,name=account_creation,json=accountCreation,proto3" json:"account_creation,omitempty"` // Fraction paid for including an update transaction in a block. - ChainUpdate *AmountFraction `protobuf:"bytes,4,opt,name=chain_update,json=chainUpdate,proto3" json:"chain_update,omitempty"` + ChainUpdate *AmountFraction `protobuf:"bytes,4,opt,name=chain_update,json=chainUpdate,proto3" json:"chain_update,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *GasRewardsCpv2) Reset() { *x = GasRewardsCpv2{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[124] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[125] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *GasRewardsCpv2) String() string { @@ -9924,8 +9895,8 @@ func (x *GasRewardsCpv2) String() string { func (*GasRewardsCpv2) ProtoMessage() {} func (x *GasRewardsCpv2) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[124] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[125] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -9937,7 +9908,7 @@ func (x *GasRewardsCpv2) ProtoReflect() protoreflect.Message { // Deprecated: Use GasRewardsCpv2.ProtoReflect.Descriptor instead. func (*GasRewardsCpv2) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{124} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{125} } func (x *GasRewardsCpv2) GetBaker() *AmountFraction { @@ -9964,21 +9935,18 @@ func (x *GasRewardsCpv2) GetChainUpdate() *AmountFraction { // Minimum stake needed to become a baker. This only applies to protocol version // 1-3. type BakerStakeThreshold struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Minimum threshold required for registering as a baker. BakerStakeThreshold *Amount `protobuf:"bytes,1,opt,name=baker_stake_threshold,json=bakerStakeThreshold,proto3" json:"baker_stake_threshold,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *BakerStakeThreshold) Reset() { *x = BakerStakeThreshold{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[125] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[126] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *BakerStakeThreshold) String() string { @@ -9988,8 +9956,8 @@ func (x *BakerStakeThreshold) String() string { func (*BakerStakeThreshold) ProtoMessage() {} func (x *BakerStakeThreshold) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[125] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[126] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -10001,7 +9969,7 @@ func (x *BakerStakeThreshold) ProtoReflect() protoreflect.Message { // Deprecated: Use BakerStakeThreshold.ProtoReflect.Descriptor instead. func (*BakerStakeThreshold) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{125} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{126} } func (x *BakerStakeThreshold) GetBakerStakeThreshold() *Amount { @@ -10014,26 +9982,23 @@ func (x *BakerStakeThreshold) GetBakerStakeThreshold() *Amount { // Root updates are the highest kind of key updates. They can update every other set of keys, // even themselves. They can only be performed by Root level keys. type RootUpdate struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to UpdateType: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to UpdateType: // // *RootUpdate_RootKeysUpdate // *RootUpdate_Level_1KeysUpdate // *RootUpdate_Level_2KeysUpdateV0 // *RootUpdate_Level_2KeysUpdateV1 - UpdateType isRootUpdate_UpdateType `protobuf_oneof:"update_type"` + UpdateType isRootUpdate_UpdateType `protobuf_oneof:"update_type"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *RootUpdate) Reset() { *x = RootUpdate{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[126] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[127] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RootUpdate) String() string { @@ -10043,8 +10008,8 @@ func (x *RootUpdate) String() string { func (*RootUpdate) ProtoMessage() {} func (x *RootUpdate) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[126] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[127] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -10056,40 +10021,48 @@ func (x *RootUpdate) ProtoReflect() protoreflect.Message { // Deprecated: Use RootUpdate.ProtoReflect.Descriptor instead. func (*RootUpdate) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{126} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{127} } -func (m *RootUpdate) GetUpdateType() isRootUpdate_UpdateType { - if m != nil { - return m.UpdateType +func (x *RootUpdate) GetUpdateType() isRootUpdate_UpdateType { + if x != nil { + return x.UpdateType } return nil } func (x *RootUpdate) GetRootKeysUpdate() *HigherLevelKeys { - if x, ok := x.GetUpdateType().(*RootUpdate_RootKeysUpdate); ok { - return x.RootKeysUpdate + if x != nil { + if x, ok := x.UpdateType.(*RootUpdate_RootKeysUpdate); ok { + return x.RootKeysUpdate + } } return nil } func (x *RootUpdate) GetLevel_1KeysUpdate() *HigherLevelKeys { - if x, ok := x.GetUpdateType().(*RootUpdate_Level_1KeysUpdate); ok { - return x.Level_1KeysUpdate + if x != nil { + if x, ok := x.UpdateType.(*RootUpdate_Level_1KeysUpdate); ok { + return x.Level_1KeysUpdate + } } return nil } func (x *RootUpdate) GetLevel_2KeysUpdateV0() *AuthorizationsV0 { - if x, ok := x.GetUpdateType().(*RootUpdate_Level_2KeysUpdateV0); ok { - return x.Level_2KeysUpdateV0 + if x != nil { + if x, ok := x.UpdateType.(*RootUpdate_Level_2KeysUpdateV0); ok { + return x.Level_2KeysUpdateV0 + } } return nil } func (x *RootUpdate) GetLevel_2KeysUpdateV1() *AuthorizationsV1 { - if x, ok := x.GetUpdateType().(*RootUpdate_Level_2KeysUpdateV1); ok { - return x.Level_2KeysUpdateV1 + if x != nil { + if x, ok := x.UpdateType.(*RootUpdate_Level_2KeysUpdateV1); ok { + return x.Level_2KeysUpdateV1 + } } return nil } @@ -10129,25 +10102,22 @@ func (*RootUpdate_Level_2KeysUpdateV1) isRootUpdate_UpdateType() {} // Level 1 updates are the intermediate update kind. // They can update themselves or level 2 keys. They can only be performed by level 1 keys. type Level1Update struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to UpdateType: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to UpdateType: // // *Level1Update_Level_1KeysUpdate // *Level1Update_Level_2KeysUpdateV0 // *Level1Update_Level_2KeysUpdateV1 - UpdateType isLevel1Update_UpdateType `protobuf_oneof:"update_type"` + UpdateType isLevel1Update_UpdateType `protobuf_oneof:"update_type"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *Level1Update) Reset() { *x = Level1Update{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[127] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[128] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *Level1Update) String() string { @@ -10157,8 +10127,8 @@ func (x *Level1Update) String() string { func (*Level1Update) ProtoMessage() {} func (x *Level1Update) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[127] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[128] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -10170,33 +10140,39 @@ func (x *Level1Update) ProtoReflect() protoreflect.Message { // Deprecated: Use Level1Update.ProtoReflect.Descriptor instead. func (*Level1Update) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{127} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{128} } -func (m *Level1Update) GetUpdateType() isLevel1Update_UpdateType { - if m != nil { - return m.UpdateType +func (x *Level1Update) GetUpdateType() isLevel1Update_UpdateType { + if x != nil { + return x.UpdateType } return nil } func (x *Level1Update) GetLevel_1KeysUpdate() *HigherLevelKeys { - if x, ok := x.GetUpdateType().(*Level1Update_Level_1KeysUpdate); ok { - return x.Level_1KeysUpdate + if x != nil { + if x, ok := x.UpdateType.(*Level1Update_Level_1KeysUpdate); ok { + return x.Level_1KeysUpdate + } } return nil } func (x *Level1Update) GetLevel_2KeysUpdateV0() *AuthorizationsV0 { - if x, ok := x.GetUpdateType().(*Level1Update_Level_2KeysUpdateV0); ok { - return x.Level_2KeysUpdateV0 + if x != nil { + if x, ok := x.UpdateType.(*Level1Update_Level_2KeysUpdateV0); ok { + return x.Level_2KeysUpdateV0 + } } return nil } func (x *Level1Update) GetLevel_2KeysUpdateV1() *AuthorizationsV1 { - if x, ok := x.GetUpdateType().(*Level1Update_Level_2KeysUpdateV1); ok { - return x.Level_2KeysUpdateV1 + if x != nil { + if x, ok := x.UpdateType.(*Level1Update_Level_2KeysUpdateV1); ok { + return x.Level_2KeysUpdateV1 + } } return nil } @@ -10228,11 +10204,8 @@ func (*Level1Update_Level_2KeysUpdateV1) isLevel1Update_UpdateType() {} // The payload of a chain update. type UpdatePayload struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Payload: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Payload: // // *UpdatePayload_ProtocolUpdate // *UpdatePayload_ElectionDifficultyUpdate @@ -10256,16 +10229,17 @@ type UpdatePayload struct { // *UpdatePayload_MinBlockTimeUpdate // *UpdatePayload_BlockEnergyLimitUpdate // *UpdatePayload_FinalizationCommitteeParametersUpdate - Payload isUpdatePayload_Payload `protobuf_oneof:"payload"` + // *UpdatePayload_ValidatorScoreParametersUpdate + Payload isUpdatePayload_Payload `protobuf_oneof:"payload"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *UpdatePayload) Reset() { *x = UpdatePayload{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[128] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[129] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *UpdatePayload) String() string { @@ -10275,8 +10249,8 @@ func (x *UpdatePayload) String() string { func (*UpdatePayload) ProtoMessage() {} func (x *UpdatePayload) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[128] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[129] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -10288,166 +10262,219 @@ func (x *UpdatePayload) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdatePayload.ProtoReflect.Descriptor instead. func (*UpdatePayload) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{128} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{129} } -func (m *UpdatePayload) GetPayload() isUpdatePayload_Payload { - if m != nil { - return m.Payload +func (x *UpdatePayload) GetPayload() isUpdatePayload_Payload { + if x != nil { + return x.Payload } return nil } func (x *UpdatePayload) GetProtocolUpdate() *ProtocolUpdate { - if x, ok := x.GetPayload().(*UpdatePayload_ProtocolUpdate); ok { - return x.ProtocolUpdate + if x != nil { + if x, ok := x.Payload.(*UpdatePayload_ProtocolUpdate); ok { + return x.ProtocolUpdate + } } return nil } func (x *UpdatePayload) GetElectionDifficultyUpdate() *ElectionDifficulty { - if x, ok := x.GetPayload().(*UpdatePayload_ElectionDifficultyUpdate); ok { - return x.ElectionDifficultyUpdate + if x != nil { + if x, ok := x.Payload.(*UpdatePayload_ElectionDifficultyUpdate); ok { + return x.ElectionDifficultyUpdate + } } return nil } func (x *UpdatePayload) GetEuroPerEnergyUpdate() *ExchangeRate { - if x, ok := x.GetPayload().(*UpdatePayload_EuroPerEnergyUpdate); ok { - return x.EuroPerEnergyUpdate + if x != nil { + if x, ok := x.Payload.(*UpdatePayload_EuroPerEnergyUpdate); ok { + return x.EuroPerEnergyUpdate + } } return nil } func (x *UpdatePayload) GetMicroCcdPerEuroUpdate() *ExchangeRate { - if x, ok := x.GetPayload().(*UpdatePayload_MicroCcdPerEuroUpdate); ok { - return x.MicroCcdPerEuroUpdate + if x != nil { + if x, ok := x.Payload.(*UpdatePayload_MicroCcdPerEuroUpdate); ok { + return x.MicroCcdPerEuroUpdate + } } return nil } func (x *UpdatePayload) GetFoundationAccountUpdate() *AccountAddress { - if x, ok := x.GetPayload().(*UpdatePayload_FoundationAccountUpdate); ok { - return x.FoundationAccountUpdate + if x != nil { + if x, ok := x.Payload.(*UpdatePayload_FoundationAccountUpdate); ok { + return x.FoundationAccountUpdate + } } return nil } func (x *UpdatePayload) GetMintDistributionUpdate() *MintDistributionCpv0 { - if x, ok := x.GetPayload().(*UpdatePayload_MintDistributionUpdate); ok { - return x.MintDistributionUpdate + if x != nil { + if x, ok := x.Payload.(*UpdatePayload_MintDistributionUpdate); ok { + return x.MintDistributionUpdate + } } return nil } func (x *UpdatePayload) GetTransactionFeeDistributionUpdate() *TransactionFeeDistribution { - if x, ok := x.GetPayload().(*UpdatePayload_TransactionFeeDistributionUpdate); ok { - return x.TransactionFeeDistributionUpdate + if x != nil { + if x, ok := x.Payload.(*UpdatePayload_TransactionFeeDistributionUpdate); ok { + return x.TransactionFeeDistributionUpdate + } } return nil } func (x *UpdatePayload) GetGasRewardsUpdate() *GasRewards { - if x, ok := x.GetPayload().(*UpdatePayload_GasRewardsUpdate); ok { - return x.GasRewardsUpdate + if x != nil { + if x, ok := x.Payload.(*UpdatePayload_GasRewardsUpdate); ok { + return x.GasRewardsUpdate + } } return nil } func (x *UpdatePayload) GetBakerStakeThresholdUpdate() *BakerStakeThreshold { - if x, ok := x.GetPayload().(*UpdatePayload_BakerStakeThresholdUpdate); ok { - return x.BakerStakeThresholdUpdate + if x != nil { + if x, ok := x.Payload.(*UpdatePayload_BakerStakeThresholdUpdate); ok { + return x.BakerStakeThresholdUpdate + } } return nil } func (x *UpdatePayload) GetRootUpdate() *RootUpdate { - if x, ok := x.GetPayload().(*UpdatePayload_RootUpdate); ok { - return x.RootUpdate + if x != nil { + if x, ok := x.Payload.(*UpdatePayload_RootUpdate); ok { + return x.RootUpdate + } } return nil } func (x *UpdatePayload) GetLevel_1Update() *Level1Update { - if x, ok := x.GetPayload().(*UpdatePayload_Level_1Update); ok { - return x.Level_1Update + if x != nil { + if x, ok := x.Payload.(*UpdatePayload_Level_1Update); ok { + return x.Level_1Update + } } return nil } func (x *UpdatePayload) GetAddAnonymityRevokerUpdate() *ArInfo { - if x, ok := x.GetPayload().(*UpdatePayload_AddAnonymityRevokerUpdate); ok { - return x.AddAnonymityRevokerUpdate + if x != nil { + if x, ok := x.Payload.(*UpdatePayload_AddAnonymityRevokerUpdate); ok { + return x.AddAnonymityRevokerUpdate + } } return nil } func (x *UpdatePayload) GetAddIdentityProviderUpdate() *IpInfo { - if x, ok := x.GetPayload().(*UpdatePayload_AddIdentityProviderUpdate); ok { - return x.AddIdentityProviderUpdate + if x != nil { + if x, ok := x.Payload.(*UpdatePayload_AddIdentityProviderUpdate); ok { + return x.AddIdentityProviderUpdate + } } return nil } func (x *UpdatePayload) GetCooldownParametersCpv_1Update() *CooldownParametersCpv1 { - if x, ok := x.GetPayload().(*UpdatePayload_CooldownParametersCpv_1Update); ok { - return x.CooldownParametersCpv_1Update + if x != nil { + if x, ok := x.Payload.(*UpdatePayload_CooldownParametersCpv_1Update); ok { + return x.CooldownParametersCpv_1Update + } } return nil } func (x *UpdatePayload) GetPoolParametersCpv_1Update() *PoolParametersCpv1 { - if x, ok := x.GetPayload().(*UpdatePayload_PoolParametersCpv_1Update); ok { - return x.PoolParametersCpv_1Update - } + if x != nil { + if x, ok := x.Payload.(*UpdatePayload_PoolParametersCpv_1Update); ok { + return x.PoolParametersCpv_1Update + } + } return nil } func (x *UpdatePayload) GetTimeParametersCpv_1Update() *TimeParametersCpv1 { - if x, ok := x.GetPayload().(*UpdatePayload_TimeParametersCpv_1Update); ok { - return x.TimeParametersCpv_1Update + if x != nil { + if x, ok := x.Payload.(*UpdatePayload_TimeParametersCpv_1Update); ok { + return x.TimeParametersCpv_1Update + } } return nil } func (x *UpdatePayload) GetMintDistributionCpv_1Update() *MintDistributionCpv1 { - if x, ok := x.GetPayload().(*UpdatePayload_MintDistributionCpv_1Update); ok { - return x.MintDistributionCpv_1Update + if x != nil { + if x, ok := x.Payload.(*UpdatePayload_MintDistributionCpv_1Update); ok { + return x.MintDistributionCpv_1Update + } } return nil } func (x *UpdatePayload) GetGasRewardsCpv_2Update() *GasRewardsCpv2 { - if x, ok := x.GetPayload().(*UpdatePayload_GasRewardsCpv_2Update); ok { - return x.GasRewardsCpv_2Update + if x != nil { + if x, ok := x.Payload.(*UpdatePayload_GasRewardsCpv_2Update); ok { + return x.GasRewardsCpv_2Update + } } return nil } func (x *UpdatePayload) GetTimeoutParametersUpdate() *TimeoutParameters { - if x, ok := x.GetPayload().(*UpdatePayload_TimeoutParametersUpdate); ok { - return x.TimeoutParametersUpdate + if x != nil { + if x, ok := x.Payload.(*UpdatePayload_TimeoutParametersUpdate); ok { + return x.TimeoutParametersUpdate + } } return nil } func (x *UpdatePayload) GetMinBlockTimeUpdate() *Duration { - if x, ok := x.GetPayload().(*UpdatePayload_MinBlockTimeUpdate); ok { - return x.MinBlockTimeUpdate + if x != nil { + if x, ok := x.Payload.(*UpdatePayload_MinBlockTimeUpdate); ok { + return x.MinBlockTimeUpdate + } } return nil } func (x *UpdatePayload) GetBlockEnergyLimitUpdate() *Energy { - if x, ok := x.GetPayload().(*UpdatePayload_BlockEnergyLimitUpdate); ok { - return x.BlockEnergyLimitUpdate + if x != nil { + if x, ok := x.Payload.(*UpdatePayload_BlockEnergyLimitUpdate); ok { + return x.BlockEnergyLimitUpdate + } } return nil } func (x *UpdatePayload) GetFinalizationCommitteeParametersUpdate() *FinalizationCommitteeParameters { - if x, ok := x.GetPayload().(*UpdatePayload_FinalizationCommitteeParametersUpdate); ok { - return x.FinalizationCommitteeParametersUpdate + if x != nil { + if x, ok := x.Payload.(*UpdatePayload_FinalizationCommitteeParametersUpdate); ok { + return x.FinalizationCommitteeParametersUpdate + } + } + return nil +} + +func (x *UpdatePayload) GetValidatorScoreParametersUpdate() *ValidatorScoreParameters { + if x != nil { + if x, ok := x.Payload.(*UpdatePayload_ValidatorScoreParametersUpdate); ok { + return x.ValidatorScoreParametersUpdate + } } return nil } @@ -10566,6 +10593,11 @@ type UpdatePayload_FinalizationCommitteeParametersUpdate struct { FinalizationCommitteeParametersUpdate *FinalizationCommitteeParameters `protobuf:"bytes,22,opt,name=finalization_committee_parameters_update,json=finalizationCommitteeParametersUpdate,proto3,oneof"` } +type UpdatePayload_ValidatorScoreParametersUpdate struct { + // Validator score parameters (chain parameters version 3) + ValidatorScoreParametersUpdate *ValidatorScoreParameters `protobuf:"bytes,23,opt,name=validator_score_parameters_update,json=validatorScoreParametersUpdate,proto3,oneof"` +} + func (*UpdatePayload_ProtocolUpdate) isUpdatePayload_Payload() {} func (*UpdatePayload_ElectionDifficultyUpdate) isUpdatePayload_Payload() {} @@ -10610,27 +10642,26 @@ func (*UpdatePayload_BlockEnergyLimitUpdate) isUpdatePayload_Payload() {} func (*UpdatePayload_FinalizationCommitteeParametersUpdate) isUpdatePayload_Payload() {} +func (*UpdatePayload_ValidatorScoreParametersUpdate) isUpdatePayload_Payload() {} + // Details about an account transaction. type AccountTransactionDetails struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The cost of the transaction. Paid by the sender. Cost *Amount `protobuf:"bytes,1,opt,name=cost,proto3" json:"cost,omitempty"` // The sender of the transaction. Sender *AccountAddress `protobuf:"bytes,2,opt,name=sender,proto3" json:"sender,omitempty"` // The effects of the transaction. - Effects *AccountTransactionEffects `protobuf:"bytes,3,opt,name=effects,proto3" json:"effects,omitempty"` + Effects *AccountTransactionEffects `protobuf:"bytes,3,opt,name=effects,proto3" json:"effects,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *AccountTransactionDetails) Reset() { *x = AccountTransactionDetails{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[129] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[130] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *AccountTransactionDetails) String() string { @@ -10640,8 +10671,8 @@ func (x *AccountTransactionDetails) String() string { func (*AccountTransactionDetails) ProtoMessage() {} func (x *AccountTransactionDetails) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[129] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[130] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -10653,7 +10684,7 @@ func (x *AccountTransactionDetails) ProtoReflect() protoreflect.Message { // Deprecated: Use AccountTransactionDetails.ProtoReflect.Descriptor instead. func (*AccountTransactionDetails) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{129} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{130} } func (x *AccountTransactionDetails) GetCost() *Amount { @@ -10681,25 +10712,22 @@ func (x *AccountTransactionDetails) GetEffects() *AccountTransactionEffects { // ever get a response for them if the account is created, hence no failure // cases. type AccountCreationDetails struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Whether this is an initial or normal account. CredentialType CredentialType `protobuf:"varint,1,opt,name=credential_type,json=credentialType,proto3,enum=concordium.v2.CredentialType" json:"credential_type,omitempty"` // Address of the newly created account. Address *AccountAddress `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"` // Credential registration ID of the first credential. - RegId *CredentialRegistrationId `protobuf:"bytes,3,opt,name=reg_id,json=regId,proto3" json:"reg_id,omitempty"` + RegId *CredentialRegistrationId `protobuf:"bytes,3,opt,name=reg_id,json=regId,proto3" json:"reg_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *AccountCreationDetails) Reset() { *x = AccountCreationDetails{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[130] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[131] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *AccountCreationDetails) String() string { @@ -10709,8 +10737,8 @@ func (x *AccountCreationDetails) String() string { func (*AccountCreationDetails) ProtoMessage() {} func (x *AccountCreationDetails) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[130] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[131] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -10722,7 +10750,7 @@ func (x *AccountCreationDetails) ProtoReflect() protoreflect.Message { // Deprecated: Use AccountCreationDetails.ProtoReflect.Descriptor instead. func (*AccountCreationDetails) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{130} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{131} } func (x *AccountCreationDetails) GetCredentialType() CredentialType { @@ -10748,20 +10776,17 @@ func (x *AccountCreationDetails) GetRegId() *CredentialRegistrationId { // Transaction time specified as seconds since unix epoch. type TransactionTime struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Value uint64 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"` unknownFields protoimpl.UnknownFields - - Value uint64 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"` + sizeCache protoimpl.SizeCache } func (x *TransactionTime) Reset() { *x = TransactionTime{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[131] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[132] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TransactionTime) String() string { @@ -10771,8 +10796,8 @@ func (x *TransactionTime) String() string { func (*TransactionTime) ProtoMessage() {} func (x *TransactionTime) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[131] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[132] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -10784,7 +10809,7 @@ func (x *TransactionTime) ProtoReflect() protoreflect.Message { // Deprecated: Use TransactionTime.ProtoReflect.Descriptor instead. func (*TransactionTime) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{131} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{132} } func (x *TransactionTime) GetValue() uint64 { @@ -10798,23 +10823,20 @@ func (x *TransactionTime) GetValue() uint64 { // response for them if the update is successfully enqueued, hence no failure // cases. type UpdateDetails struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The time at which the update will be effective. EffectiveTime *TransactionTime `protobuf:"bytes,1,opt,name=effective_time,json=effectiveTime,proto3" json:"effective_time,omitempty"` // The paylaod for the update. - Payload *UpdatePayload `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"` + Payload *UpdatePayload `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *UpdateDetails) Reset() { *x = UpdateDetails{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[132] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[133] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *UpdateDetails) String() string { @@ -10824,8 +10846,8 @@ func (x *UpdateDetails) String() string { func (*UpdateDetails) ProtoMessage() {} func (x *UpdateDetails) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[132] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[133] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -10837,7 +10859,7 @@ func (x *UpdateDetails) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateDetails.ProtoReflect.Descriptor instead. func (*UpdateDetails) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{132} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{133} } func (x *UpdateDetails) GetEffectiveTime() *TransactionTime { @@ -10857,10 +10879,7 @@ func (x *UpdateDetails) GetPayload() *UpdatePayload { // Summary of the outcome of a block item in structured form. // The summary determines which transaction type it was. type BlockItemSummary struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Index of the transaction in the block where it is included. Index *BlockItemSummary_TransactionIndex `protobuf:"bytes,1,opt,name=index,proto3" json:"index,omitempty"` // The amount of NRG the transaction cost. @@ -10869,21 +10888,21 @@ type BlockItemSummary struct { Hash *TransactionHash `protobuf:"bytes,3,opt,name=hash,proto3" json:"hash,omitempty"` // Details that are specific to different transaction types. // - // Types that are assignable to Details: + // Types that are valid to be assigned to Details: // // *BlockItemSummary_AccountTransaction // *BlockItemSummary_AccountCreation // *BlockItemSummary_Update - Details isBlockItemSummary_Details `protobuf_oneof:"details"` + Details isBlockItemSummary_Details `protobuf_oneof:"details"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *BlockItemSummary) Reset() { *x = BlockItemSummary{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[133] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[134] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *BlockItemSummary) String() string { @@ -10893,8 +10912,8 @@ func (x *BlockItemSummary) String() string { func (*BlockItemSummary) ProtoMessage() {} func (x *BlockItemSummary) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[133] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[134] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -10906,7 +10925,7 @@ func (x *BlockItemSummary) ProtoReflect() protoreflect.Message { // Deprecated: Use BlockItemSummary.ProtoReflect.Descriptor instead. func (*BlockItemSummary) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{133} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{134} } func (x *BlockItemSummary) GetIndex() *BlockItemSummary_TransactionIndex { @@ -10930,30 +10949,36 @@ func (x *BlockItemSummary) GetHash() *TransactionHash { return nil } -func (m *BlockItemSummary) GetDetails() isBlockItemSummary_Details { - if m != nil { - return m.Details +func (x *BlockItemSummary) GetDetails() isBlockItemSummary_Details { + if x != nil { + return x.Details } return nil } func (x *BlockItemSummary) GetAccountTransaction() *AccountTransactionDetails { - if x, ok := x.GetDetails().(*BlockItemSummary_AccountTransaction); ok { - return x.AccountTransaction + if x != nil { + if x, ok := x.Details.(*BlockItemSummary_AccountTransaction); ok { + return x.AccountTransaction + } } return nil } func (x *BlockItemSummary) GetAccountCreation() *AccountCreationDetails { - if x, ok := x.GetDetails().(*BlockItemSummary_AccountCreation); ok { - return x.AccountCreation + if x != nil { + if x, ok := x.Details.(*BlockItemSummary_AccountCreation); ok { + return x.AccountCreation + } } return nil } func (x *BlockItemSummary) GetUpdate() *UpdateDetails { - if x, ok := x.GetDetails().(*BlockItemSummary_Update); ok { - return x.Update + if x != nil { + if x, ok := x.Details.(*BlockItemSummary_Update); ok { + return x.Update + } } return nil } @@ -10988,20 +11013,17 @@ func (*BlockItemSummary_Update) isBlockItemSummary_Details() {} // specified in the previous field, but it always increments the genesis // index. type GenesisIndex struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Value uint32 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"` unknownFields protoimpl.UnknownFields - - Value uint32 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"` + sizeCache protoimpl.SizeCache } func (x *GenesisIndex) Reset() { *x = GenesisIndex{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[134] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[135] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *GenesisIndex) String() string { @@ -11011,8 +11033,8 @@ func (x *GenesisIndex) String() string { func (*GenesisIndex) ProtoMessage() {} func (x *GenesisIndex) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[134] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[135] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -11024,7 +11046,7 @@ func (x *GenesisIndex) ProtoReflect() protoreflect.Message { // Deprecated: Use GenesisIndex.ProtoReflect.Descriptor instead. func (*GenesisIndex) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{134} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{135} } func (x *GenesisIndex) GetValue() uint32 { @@ -11036,10 +11058,7 @@ func (x *GenesisIndex) GetValue() uint32 { // The response for GetConsensusInfo. type ConsensusInfo struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Hash of the current best block. BestBlock *BlockHash `protobuf:"bytes,1,opt,name=best_block,json=bestBlock,proto3" json:"best_block,omitempty"` // Hash of the (original) genesis block. @@ -11113,15 +11132,15 @@ type ConsensusInfo struct { // The first block in the epoch with timestamp at least this is considered to be the trigger block // for the epoch transition. Present from protocol version 6. TriggerBlockTime *Timestamp `protobuf:"bytes,34,opt,name=trigger_block_time,json=triggerBlockTime,proto3,oneof" json:"trigger_block_time,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ConsensusInfo) Reset() { *x = ConsensusInfo{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[135] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[136] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ConsensusInfo) String() string { @@ -11131,8 +11150,8 @@ func (x *ConsensusInfo) String() string { func (*ConsensusInfo) ProtoMessage() {} func (x *ConsensusInfo) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[135] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[136] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -11144,7 +11163,7 @@ func (x *ConsensusInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use ConsensusInfo.ProtoReflect.Descriptor instead. func (*ConsensusInfo) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{135} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{136} } func (x *ConsensusInfo) GetBestBlock() *BlockHash { @@ -11387,23 +11406,20 @@ func (x *ConsensusInfo) GetTriggerBlockTime() *Timestamp { // Information about an arrived block that is part of the streaming response. type ArrivedBlockInfo struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Hash of the block. Hash *BlockHash `protobuf:"bytes,1,opt,name=hash,proto3" json:"hash,omitempty"` // Absolute height of the block, height 0 is the genesis block. - Height *AbsoluteBlockHeight `protobuf:"bytes,2,opt,name=height,proto3" json:"height,omitempty"` + Height *AbsoluteBlockHeight `protobuf:"bytes,2,opt,name=height,proto3" json:"height,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ArrivedBlockInfo) Reset() { *x = ArrivedBlockInfo{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[136] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[137] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ArrivedBlockInfo) String() string { @@ -11413,8 +11429,8 @@ func (x *ArrivedBlockInfo) String() string { func (*ArrivedBlockInfo) ProtoMessage() {} func (x *ArrivedBlockInfo) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[136] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[137] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -11426,7 +11442,7 @@ func (x *ArrivedBlockInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use ArrivedBlockInfo.ProtoReflect.Descriptor instead. func (*ArrivedBlockInfo) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{136} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{137} } func (x *ArrivedBlockInfo) GetHash() *BlockHash { @@ -11445,10 +11461,7 @@ func (x *ArrivedBlockInfo) GetHeight() *AbsoluteBlockHeight { // The response for GetCryptographicParameters. type CryptographicParameters struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // A free-form string used to distinguish between different chains even if they share other parameters. GenesisString string `protobuf:"bytes,1,opt,name=genesis_string,json=genesisString,proto3" json:"genesis_string,omitempty"` // Generators for the bulletproofs. @@ -11458,15 +11471,15 @@ type CryptographicParameters struct { // The account holder uses this commitment key to generate commitments to values in the attribute list. // It is a serialized pair of group elements in the G1 group of the BLS12-381 curve. OnChainCommitmentKey []byte `protobuf:"bytes,3,opt,name=on_chain_commitment_key,json=onChainCommitmentKey,proto3" json:"on_chain_commitment_key,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *CryptographicParameters) Reset() { *x = CryptographicParameters{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[137] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[138] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *CryptographicParameters) String() string { @@ -11476,8 +11489,8 @@ func (x *CryptographicParameters) String() string { func (*CryptographicParameters) ProtoMessage() {} func (x *CryptographicParameters) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[137] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[138] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -11489,7 +11502,7 @@ func (x *CryptographicParameters) ProtoReflect() protoreflect.Message { // Deprecated: Use CryptographicParameters.ProtoReflect.Descriptor instead. func (*CryptographicParameters) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{137} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{138} } func (x *CryptographicParameters) GetGenesisString() string { @@ -11515,10 +11528,7 @@ func (x *CryptographicParameters) GetOnChainCommitmentKey() []byte { // The response for GetBlockInfo. type BlockInfo struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Hash of the block. Hash *BlockHash `protobuf:"bytes,1,opt,name=hash,proto3" json:"hash,omitempty"` // Absolute height of the block, height 0 is the genesis block. @@ -11558,16 +11568,16 @@ type BlockInfo struct { // Block round. Present from protocol version 6. Round *Round `protobuf:"bytes,18,opt,name=round,proto3,oneof" json:"round,omitempty"` // Block epoch. Present from protocol version 6. - Epoch *Epoch `protobuf:"bytes,19,opt,name=epoch,proto3,oneof" json:"epoch,omitempty"` + Epoch *Epoch `protobuf:"bytes,19,opt,name=epoch,proto3,oneof" json:"epoch,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *BlockInfo) Reset() { *x = BlockInfo{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[138] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[139] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *BlockInfo) String() string { @@ -11577,8 +11587,8 @@ func (x *BlockInfo) String() string { func (*BlockInfo) ProtoMessage() {} func (x *BlockInfo) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[138] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[139] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -11590,7 +11600,7 @@ func (x *BlockInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use BlockInfo.ProtoReflect.Descriptor instead. func (*BlockInfo) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{138} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{139} } func (x *BlockInfo) GetHash() *BlockHash { @@ -11728,23 +11738,20 @@ func (x *BlockInfo) GetEpoch() *Epoch { // Request for GetPoolInfo. type PoolInfoRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Block in which to query the pool information. BlockHash *BlockHashInput `protobuf:"bytes,1,opt,name=block_hash,json=blockHash,proto3" json:"block_hash,omitempty"` // The 'BakerId' of the pool owner. - Baker *BakerId `protobuf:"bytes,2,opt,name=baker,proto3" json:"baker,omitempty"` + Baker *BakerId `protobuf:"bytes,2,opt,name=baker,proto3" json:"baker,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *PoolInfoRequest) Reset() { *x = PoolInfoRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[139] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[140] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *PoolInfoRequest) String() string { @@ -11754,8 +11761,8 @@ func (x *PoolInfoRequest) String() string { func (*PoolInfoRequest) ProtoMessage() {} func (x *PoolInfoRequest) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[139] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[140] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -11767,7 +11774,7 @@ func (x *PoolInfoRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use PoolInfoRequest.ProtoReflect.Descriptor instead. func (*PoolInfoRequest) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{139} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{140} } func (x *PoolInfoRequest) GetBlockHash() *BlockHashInput { @@ -11786,24 +11793,21 @@ func (x *PoolInfoRequest) GetBaker() *BakerId { // A pending change to a baker pool. type PoolPendingChange struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Change: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Change: // // *PoolPendingChange_Reduce_ // *PoolPendingChange_Remove_ - Change isPoolPendingChange_Change `protobuf_oneof:"change"` + Change isPoolPendingChange_Change `protobuf_oneof:"change"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *PoolPendingChange) Reset() { *x = PoolPendingChange{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[140] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[141] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *PoolPendingChange) String() string { @@ -11813,8 +11817,8 @@ func (x *PoolPendingChange) String() string { func (*PoolPendingChange) ProtoMessage() {} func (x *PoolPendingChange) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[140] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[141] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -11826,26 +11830,30 @@ func (x *PoolPendingChange) ProtoReflect() protoreflect.Message { // Deprecated: Use PoolPendingChange.ProtoReflect.Descriptor instead. func (*PoolPendingChange) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{140} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{141} } -func (m *PoolPendingChange) GetChange() isPoolPendingChange_Change { - if m != nil { - return m.Change +func (x *PoolPendingChange) GetChange() isPoolPendingChange_Change { + if x != nil { + return x.Change } return nil } func (x *PoolPendingChange) GetReduce() *PoolPendingChange_Reduce { - if x, ok := x.GetChange().(*PoolPendingChange_Reduce_); ok { - return x.Reduce + if x != nil { + if x, ok := x.Change.(*PoolPendingChange_Reduce_); ok { + return x.Reduce + } } return nil } func (x *PoolPendingChange) GetRemove() *PoolPendingChange_Remove { - if x, ok := x.GetChange().(*PoolPendingChange_Remove_); ok { - return x.Remove + if x != nil { + if x, ok := x.Change.(*PoolPendingChange_Remove_); ok { + return x.Remove + } } return nil } @@ -11868,10 +11876,7 @@ func (*PoolPendingChange_Remove_) isPoolPendingChange_Change() {} // Information about a baker pool in the current reward period. type PoolCurrentPaydayInfo struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The number of blocks baked in the current reward period. BlocksBaked uint64 `protobuf:"varint,1,opt,name=blocks_baked,json=blocksBaked,proto3" json:"blocks_baked,omitempty"` // Whether the baker has contributed a finalization proof in the current reward period. @@ -11888,15 +11893,21 @@ type PoolCurrentPaydayInfo struct { DelegatedCapital *Amount `protobuf:"bytes,7,opt,name=delegated_capital,json=delegatedCapital,proto3" json:"delegated_capital,omitempty"` // The commission rates that apply for the current reward period. CommissionRates *CommissionRates `protobuf:"bytes,8,opt,name=commission_rates,json=commissionRates,proto3" json:"commission_rates,omitempty"` + // A flag indicating whether the pool owner is primed for suspension. + // Absent if the protocol version does not support validator suspension. + IsPrimedForSuspension *bool `protobuf:"varint,9,opt,name=is_primed_for_suspension,json=isPrimedForSuspension,proto3,oneof" json:"is_primed_for_suspension,omitempty"` + // The number of missed rounds in the current reward period. + // Absent if the protocol version does not support validator suspension. + MissedRounds *uint64 `protobuf:"varint,10,opt,name=missed_rounds,json=missedRounds,proto3,oneof" json:"missed_rounds,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *PoolCurrentPaydayInfo) Reset() { *x = PoolCurrentPaydayInfo{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[141] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[142] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *PoolCurrentPaydayInfo) String() string { @@ -11906,8 +11917,8 @@ func (x *PoolCurrentPaydayInfo) String() string { func (*PoolCurrentPaydayInfo) ProtoMessage() {} func (x *PoolCurrentPaydayInfo) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[141] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[142] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -11919,7 +11930,7 @@ func (x *PoolCurrentPaydayInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use PoolCurrentPaydayInfo.ProtoReflect.Descriptor instead. func (*PoolCurrentPaydayInfo) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{141} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{142} } func (x *PoolCurrentPaydayInfo) GetBlocksBaked() uint64 { @@ -11978,6 +11989,20 @@ func (x *PoolCurrentPaydayInfo) GetCommissionRates() *CommissionRates { return nil } +func (x *PoolCurrentPaydayInfo) GetIsPrimedForSuspension() bool { + if x != nil && x.IsPrimedForSuspension != nil { + return *x.IsPrimedForSuspension + } + return false +} + +func (x *PoolCurrentPaydayInfo) GetMissedRounds() uint64 { + if x != nil && x.MissedRounds != nil { + return *x.MissedRounds + } + return 0 +} + // Type for the response of GetPoolInfo. // Contains information about a given pool at the end of a given block. // From protocol version 7, pool removal has immediate effect, however, the @@ -11987,10 +12012,7 @@ func (x *PoolCurrentPaydayInfo) GetCommissionRates() *CommissionRates { // `pool_info` fields will all be absent. The `equity_pending_change` field // will also be absent, as stake changes are immediate. type PoolInfoResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The 'BakerId' of the pool owner. Baker *BakerId `protobuf:"bytes,1,opt,name=baker,proto3" json:"baker,omitempty"` // The account address of the pool owner. @@ -12012,15 +12034,18 @@ type PoolInfoResponse struct { CurrentPaydayInfo *PoolCurrentPaydayInfo `protobuf:"bytes,8,opt,name=current_payday_info,json=currentPaydayInfo,proto3,oneof" json:"current_payday_info,omitempty"` // Total capital staked across all pools, including passive delegation. AllPoolTotalCapital *Amount `protobuf:"bytes,9,opt,name=all_pool_total_capital,json=allPoolTotalCapital,proto3" json:"all_pool_total_capital,omitempty"` + // A flag indicating whether the pool owner is suspended. + // Absent if the protocol version does not support validator suspension or the pool is removed. + IsSuspended *bool `protobuf:"varint,10,opt,name=is_suspended,json=isSuspended,proto3,oneof" json:"is_suspended,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *PoolInfoResponse) Reset() { *x = PoolInfoResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[142] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[143] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *PoolInfoResponse) String() string { @@ -12030,8 +12055,8 @@ func (x *PoolInfoResponse) String() string { func (*PoolInfoResponse) ProtoMessage() {} func (x *PoolInfoResponse) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[142] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[143] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -12043,7 +12068,7 @@ func (x *PoolInfoResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use PoolInfoResponse.ProtoReflect.Descriptor instead. func (*PoolInfoResponse) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{142} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{143} } func (x *PoolInfoResponse) GetBaker() *BakerId { @@ -12109,13 +12134,17 @@ func (x *PoolInfoResponse) GetAllPoolTotalCapital() *Amount { return nil } +func (x *PoolInfoResponse) GetIsSuspended() bool { + if x != nil && x.IsSuspended != nil { + return *x.IsSuspended + } + return false +} + // Type for the response of GetPassiveDelegationInfo. // Contains information about passive delegators at the end of a given block. type PassiveDelegationInfo struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The total capital delegated passively. DelegatedCapital *Amount `protobuf:"bytes,1,opt,name=delegated_capital,json=delegatedCapital,proto3" json:"delegated_capital,omitempty"` // The passive delegation commission rates. @@ -12126,15 +12155,15 @@ type PassiveDelegationInfo struct { CurrentPaydayDelegatedCapital *Amount `protobuf:"bytes,4,opt,name=current_payday_delegated_capital,json=currentPaydayDelegatedCapital,proto3" json:"current_payday_delegated_capital,omitempty"` // Total capital staked across all pools, including passive delegation. AllPoolTotalCapital *Amount `protobuf:"bytes,5,opt,name=all_pool_total_capital,json=allPoolTotalCapital,proto3" json:"all_pool_total_capital,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *PassiveDelegationInfo) Reset() { *x = PassiveDelegationInfo{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[143] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[144] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *PassiveDelegationInfo) String() string { @@ -12144,8 +12173,8 @@ func (x *PassiveDelegationInfo) String() string { func (*PassiveDelegationInfo) ProtoMessage() {} func (x *PassiveDelegationInfo) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[143] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[144] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -12157,7 +12186,7 @@ func (x *PassiveDelegationInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use PassiveDelegationInfo.ProtoReflect.Descriptor instead. func (*PassiveDelegationInfo) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{143} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{144} } func (x *PassiveDelegationInfo) GetDelegatedCapital() *Amount { @@ -12197,24 +12226,21 @@ func (x *PassiveDelegationInfo) GetAllPoolTotalCapital() *Amount { // Request for GetBlocksAtHeight. type BlocksAtHeightRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to BlocksAtHeight: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to BlocksAtHeight: // // *BlocksAtHeightRequest_Absolute_ // *BlocksAtHeightRequest_Relative_ BlocksAtHeight isBlocksAtHeightRequest_BlocksAtHeight `protobuf_oneof:"blocks_at_height"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *BlocksAtHeightRequest) Reset() { *x = BlocksAtHeightRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[144] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[145] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *BlocksAtHeightRequest) String() string { @@ -12224,8 +12250,8 @@ func (x *BlocksAtHeightRequest) String() string { func (*BlocksAtHeightRequest) ProtoMessage() {} func (x *BlocksAtHeightRequest) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[144] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[145] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -12237,26 +12263,30 @@ func (x *BlocksAtHeightRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use BlocksAtHeightRequest.ProtoReflect.Descriptor instead. func (*BlocksAtHeightRequest) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{144} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{145} } -func (m *BlocksAtHeightRequest) GetBlocksAtHeight() isBlocksAtHeightRequest_BlocksAtHeight { - if m != nil { - return m.BlocksAtHeight +func (x *BlocksAtHeightRequest) GetBlocksAtHeight() isBlocksAtHeightRequest_BlocksAtHeight { + if x != nil { + return x.BlocksAtHeight } return nil } func (x *BlocksAtHeightRequest) GetAbsolute() *BlocksAtHeightRequest_Absolute { - if x, ok := x.GetBlocksAtHeight().(*BlocksAtHeightRequest_Absolute_); ok { - return x.Absolute + if x != nil { + if x, ok := x.BlocksAtHeight.(*BlocksAtHeightRequest_Absolute_); ok { + return x.Absolute + } } return nil } func (x *BlocksAtHeightRequest) GetRelative() *BlocksAtHeightRequest_Relative { - if x, ok := x.GetBlocksAtHeight().(*BlocksAtHeightRequest_Relative_); ok { - return x.Relative + if x != nil { + if x, ok := x.BlocksAtHeight.(*BlocksAtHeightRequest_Relative_); ok { + return x.Relative + } } return nil } @@ -12279,21 +12309,18 @@ func (*BlocksAtHeightRequest_Relative_) isBlocksAtHeightRequest_BlocksAtHeight() // Response for GetBlocksAtHeight. type BlocksAtHeightResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Live blocks at the given height. - Blocks []*BlockHash `protobuf:"bytes,1,rep,name=blocks,proto3" json:"blocks,omitempty"` + Blocks []*BlockHash `protobuf:"bytes,1,rep,name=blocks,proto3" json:"blocks,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *BlocksAtHeightResponse) Reset() { *x = BlocksAtHeightResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[145] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[146] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *BlocksAtHeightResponse) String() string { @@ -12303,8 +12330,8 @@ func (x *BlocksAtHeightResponse) String() string { func (*BlocksAtHeightResponse) ProtoMessage() {} func (x *BlocksAtHeightResponse) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[145] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[146] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -12316,7 +12343,7 @@ func (x *BlocksAtHeightResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use BlocksAtHeightResponse.ProtoReflect.Descriptor instead. func (*BlocksAtHeightResponse) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{145} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{146} } func (x *BlocksAtHeightResponse) GetBlocks() []*BlockHash { @@ -12329,24 +12356,21 @@ func (x *BlocksAtHeightResponse) GetBlocks() []*BlockHash { // Type for the response of GetTokenomicsInfo. // Contains information related to tokenomics at the end of a given block. type TokenomicsInfo struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Tokenomics: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Tokenomics: // // *TokenomicsInfo_V0_ // *TokenomicsInfo_V1_ - Tokenomics isTokenomicsInfo_Tokenomics `protobuf_oneof:"tokenomics"` + Tokenomics isTokenomicsInfo_Tokenomics `protobuf_oneof:"tokenomics"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *TokenomicsInfo) Reset() { *x = TokenomicsInfo{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[146] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[147] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TokenomicsInfo) String() string { @@ -12356,8 +12380,8 @@ func (x *TokenomicsInfo) String() string { func (*TokenomicsInfo) ProtoMessage() {} func (x *TokenomicsInfo) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[146] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[147] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -12369,26 +12393,30 @@ func (x *TokenomicsInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use TokenomicsInfo.ProtoReflect.Descriptor instead. func (*TokenomicsInfo) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{146} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{147} } -func (m *TokenomicsInfo) GetTokenomics() isTokenomicsInfo_Tokenomics { - if m != nil { - return m.Tokenomics +func (x *TokenomicsInfo) GetTokenomics() isTokenomicsInfo_Tokenomics { + if x != nil { + return x.Tokenomics } return nil } func (x *TokenomicsInfo) GetV0() *TokenomicsInfo_V0 { - if x, ok := x.GetTokenomics().(*TokenomicsInfo_V0_); ok { - return x.V0 + if x != nil { + if x, ok := x.Tokenomics.(*TokenomicsInfo_V0_); ok { + return x.V0 + } } return nil } func (x *TokenomicsInfo) GetV1() *TokenomicsInfo_V1 { - if x, ok := x.GetTokenomics().(*TokenomicsInfo_V1_); ok { - return x.V1 + if x != nil { + if x, ok := x.Tokenomics.(*TokenomicsInfo_V1_); ok { + return x.V1 + } } return nil } @@ -12411,10 +12439,7 @@ func (*TokenomicsInfo_V1_) isTokenomicsInfo_Tokenomics() {} // Request for InvokeInstance. type InvokeInstanceRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Block to invoke the contract. The invocation will be at the end of the given block. BlockHash *BlockHashInput `protobuf:"bytes,1,opt,name=block_hash,json=blockHash,proto3" json:"block_hash,omitempty"` // Invoker of the contract. If this is not supplied then the contract will be @@ -12433,16 +12458,16 @@ type InvokeInstanceRequest struct { // And what amount of energy to allow for execution. This cannot exceed // `100_000_000_000`, but in practice it should be much less. The maximum // block energy is typically in the range of a few million. - Energy *Energy `protobuf:"bytes,7,opt,name=energy,proto3" json:"energy,omitempty"` + Energy *Energy `protobuf:"bytes,7,opt,name=energy,proto3" json:"energy,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *InvokeInstanceRequest) Reset() { *x = InvokeInstanceRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[147] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[148] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *InvokeInstanceRequest) String() string { @@ -12452,8 +12477,8 @@ func (x *InvokeInstanceRequest) String() string { func (*InvokeInstanceRequest) ProtoMessage() {} func (x *InvokeInstanceRequest) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[147] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[148] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -12465,7 +12490,7 @@ func (x *InvokeInstanceRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use InvokeInstanceRequest.ProtoReflect.Descriptor instead. func (*InvokeInstanceRequest) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{147} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{148} } func (x *InvokeInstanceRequest) GetBlockHash() *BlockHashInput { @@ -12519,24 +12544,21 @@ func (x *InvokeInstanceRequest) GetEnergy() *Energy { // Response type for InvokeInstance. type InvokeInstanceResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Result: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Result: // // *InvokeInstanceResponse_Success_ // *InvokeInstanceResponse_Failure_ - Result isInvokeInstanceResponse_Result `protobuf_oneof:"result"` + Result isInvokeInstanceResponse_Result `protobuf_oneof:"result"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *InvokeInstanceResponse) Reset() { *x = InvokeInstanceResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[148] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[149] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *InvokeInstanceResponse) String() string { @@ -12546,8 +12568,8 @@ func (x *InvokeInstanceResponse) String() string { func (*InvokeInstanceResponse) ProtoMessage() {} func (x *InvokeInstanceResponse) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[148] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[149] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -12559,26 +12581,30 @@ func (x *InvokeInstanceResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use InvokeInstanceResponse.ProtoReflect.Descriptor instead. func (*InvokeInstanceResponse) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{148} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{149} } -func (m *InvokeInstanceResponse) GetResult() isInvokeInstanceResponse_Result { - if m != nil { - return m.Result +func (x *InvokeInstanceResponse) GetResult() isInvokeInstanceResponse_Result { + if x != nil { + return x.Result } return nil } func (x *InvokeInstanceResponse) GetSuccess() *InvokeInstanceResponse_Success { - if x, ok := x.GetResult().(*InvokeInstanceResponse_Success_); ok { - return x.Success + if x != nil { + if x, ok := x.Result.(*InvokeInstanceResponse_Success_); ok { + return x.Success + } } return nil } func (x *InvokeInstanceResponse) GetFailure() *InvokeInstanceResponse_Failure { - if x, ok := x.GetResult().(*InvokeInstanceResponse_Failure_); ok { - return x.Failure + if x != nil { + if x, ok := x.Result.(*InvokeInstanceResponse_Failure_); ok { + return x.Failure + } } return nil } @@ -12601,23 +12627,20 @@ func (*InvokeInstanceResponse_Failure_) isInvokeInstanceResponse_Result() {} // Request for GetPoolDelegators and GetPoolDelegatorsRewardPeriod. type GetPoolDelegatorsRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Block in which to query the delegators. BlockHash *BlockHashInput `protobuf:"bytes,1,opt,name=block_hash,json=blockHash,proto3" json:"block_hash,omitempty"` // The 'BakerId' of the pool owner. - Baker *BakerId `protobuf:"bytes,2,opt,name=baker,proto3" json:"baker,omitempty"` + Baker *BakerId `protobuf:"bytes,2,opt,name=baker,proto3" json:"baker,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *GetPoolDelegatorsRequest) Reset() { *x = GetPoolDelegatorsRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[149] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[150] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *GetPoolDelegatorsRequest) String() string { @@ -12627,8 +12650,8 @@ func (x *GetPoolDelegatorsRequest) String() string { func (*GetPoolDelegatorsRequest) ProtoMessage() {} func (x *GetPoolDelegatorsRequest) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[149] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[150] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -12640,7 +12663,7 @@ func (x *GetPoolDelegatorsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetPoolDelegatorsRequest.ProtoReflect.Descriptor instead. func (*GetPoolDelegatorsRequest) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{149} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{150} } func (x *GetPoolDelegatorsRequest) GetBlockHash() *BlockHashInput { @@ -12659,25 +12682,22 @@ func (x *GetPoolDelegatorsRequest) GetBaker() *BakerId { // Stream item for GetPoolDelegators and GetPassiveDelegators. type DelegatorInfo struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The delegator account address. Account *AccountAddress `protobuf:"bytes,1,opt,name=account,proto3" json:"account,omitempty"` // The amount of stake currently staked to the pool. Stake *Amount `protobuf:"bytes,2,opt,name=stake,proto3" json:"stake,omitempty"` // Pending change to the current stake of the delegator. PendingChange *StakePendingChange `protobuf:"bytes,3,opt,name=pending_change,json=pendingChange,proto3,oneof" json:"pending_change,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *DelegatorInfo) Reset() { *x = DelegatorInfo{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[150] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[151] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *DelegatorInfo) String() string { @@ -12687,8 +12707,8 @@ func (x *DelegatorInfo) String() string { func (*DelegatorInfo) ProtoMessage() {} func (x *DelegatorInfo) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[150] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[151] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -12700,7 +12720,7 @@ func (x *DelegatorInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use DelegatorInfo.ProtoReflect.Descriptor instead. func (*DelegatorInfo) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{150} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{151} } func (x *DelegatorInfo) GetAccount() *AccountAddress { @@ -12726,23 +12746,20 @@ func (x *DelegatorInfo) GetPendingChange() *StakePendingChange { // Stream item for GetPoolDelegatorsRewardPeriod and GetPassiveDelegatorsRewardPeriod. type DelegatorRewardPeriodInfo struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The delegator account address. Account *AccountAddress `protobuf:"bytes,1,opt,name=account,proto3" json:"account,omitempty"` // The amount of stake currently staked to the pool. - Stake *Amount `protobuf:"bytes,2,opt,name=stake,proto3" json:"stake,omitempty"` + Stake *Amount `protobuf:"bytes,2,opt,name=stake,proto3" json:"stake,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *DelegatorRewardPeriodInfo) Reset() { *x = DelegatorRewardPeriodInfo{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[151] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[152] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *DelegatorRewardPeriodInfo) String() string { @@ -12752,8 +12769,8 @@ func (x *DelegatorRewardPeriodInfo) String() string { func (*DelegatorRewardPeriodInfo) ProtoMessage() {} func (x *DelegatorRewardPeriodInfo) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[151] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[152] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -12765,7 +12782,7 @@ func (x *DelegatorRewardPeriodInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use DelegatorRewardPeriodInfo.ProtoReflect.Descriptor instead. func (*DelegatorRewardPeriodInfo) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{151} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{152} } func (x *DelegatorRewardPeriodInfo) GetAccount() *AccountAddress { @@ -12784,23 +12801,20 @@ func (x *DelegatorRewardPeriodInfo) GetStake() *Amount { // Response type for GetBranches. type Branch struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The hash of the block. BlockHash *BlockHash `protobuf:"bytes,1,opt,name=block_hash,json=blockHash,proto3" json:"block_hash,omitempty"` // Further blocks branching of this block. - Children []*Branch `protobuf:"bytes,2,rep,name=children,proto3" json:"children,omitempty"` + Children []*Branch `protobuf:"bytes,2,rep,name=children,proto3" json:"children,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *Branch) Reset() { *x = Branch{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[152] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[153] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *Branch) String() string { @@ -12810,8 +12824,8 @@ func (x *Branch) String() string { func (*Branch) ProtoMessage() {} func (x *Branch) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[152] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[153] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -12823,7 +12837,7 @@ func (x *Branch) ProtoReflect() protoreflect.Message { // Deprecated: Use Branch.ProtoReflect.Descriptor instead. func (*Branch) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{152} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{153} } func (x *Branch) GetBlockHash() *BlockHash { @@ -12844,20 +12858,17 @@ func (x *Branch) GetChildren() []*Branch { // epoch to make sure that bakers cannot predict too far in the future when // they will win the right to bake blocks. type LeadershipElectionNonce struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Value []byte `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` unknownFields protoimpl.UnknownFields - - Value []byte `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` + sizeCache protoimpl.SizeCache } func (x *LeadershipElectionNonce) Reset() { *x = LeadershipElectionNonce{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[153] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[154] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *LeadershipElectionNonce) String() string { @@ -12867,8 +12878,8 @@ func (x *LeadershipElectionNonce) String() string { func (*LeadershipElectionNonce) ProtoMessage() {} func (x *LeadershipElectionNonce) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[153] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[154] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -12880,7 +12891,7 @@ func (x *LeadershipElectionNonce) ProtoReflect() protoreflect.Message { // Deprecated: Use LeadershipElectionNonce.ProtoReflect.Descriptor instead. func (*LeadershipElectionNonce) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{153} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{154} } func (x *LeadershipElectionNonce) GetValue() []byte { @@ -12893,25 +12904,22 @@ func (x *LeadershipElectionNonce) GetValue() []byte { // Response type for GetElectionInfo. // Contains information related to baker election for a perticular block. type ElectionInfo struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Baking lottery election difficulty. Present only in protocol versions 1-5. ElectionDifficulty *ElectionDifficulty `protobuf:"bytes,1,opt,name=election_difficulty,json=electionDifficulty,proto3,oneof" json:"election_difficulty,omitempty"` // Current leadership election nonce for the lottery. ElectionNonce *LeadershipElectionNonce `protobuf:"bytes,2,opt,name=election_nonce,json=electionNonce,proto3" json:"election_nonce,omitempty"` // List of the currently eligible bakers. BakerElectionInfo []*ElectionInfo_Baker `protobuf:"bytes,3,rep,name=baker_election_info,json=bakerElectionInfo,proto3" json:"baker_election_info,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ElectionInfo) Reset() { *x = ElectionInfo{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[154] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[155] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ElectionInfo) String() string { @@ -12921,8 +12929,8 @@ func (x *ElectionInfo) String() string { func (*ElectionInfo) ProtoMessage() {} func (x *ElectionInfo) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[154] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[155] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -12934,7 +12942,7 @@ func (x *ElectionInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use ElectionInfo.ProtoReflect.Descriptor instead. func (*ElectionInfo) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{154} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{155} } func (x *ElectionInfo) GetElectionDifficulty() *ElectionDifficulty { @@ -12961,11 +12969,8 @@ func (x *ElectionInfo) GetBakerElectionInfo() []*ElectionInfo_Baker { // A protocol generated event that is not directly caused by a transaction. This // includes minting new CCD, rewarding different bakers and delegators, etc. type BlockSpecialEvent struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Event: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Event: // // *BlockSpecialEvent_BakingRewards_ // *BlockSpecialEvent_Mint_ @@ -12975,16 +12980,18 @@ type BlockSpecialEvent struct { // *BlockSpecialEvent_PaydayAccountReward_ // *BlockSpecialEvent_BlockAccrueReward_ // *BlockSpecialEvent_PaydayPoolReward_ - Event isBlockSpecialEvent_Event `protobuf_oneof:"event"` + // *BlockSpecialEvent_ValidatorSuspended_ + // *BlockSpecialEvent_ValidatorPrimedForSuspension_ + Event isBlockSpecialEvent_Event `protobuf_oneof:"event"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *BlockSpecialEvent) Reset() { *x = BlockSpecialEvent{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[155] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[156] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *BlockSpecialEvent) String() string { @@ -12994,8 +13001,8 @@ func (x *BlockSpecialEvent) String() string { func (*BlockSpecialEvent) ProtoMessage() {} func (x *BlockSpecialEvent) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[155] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[156] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -13007,68 +13014,102 @@ func (x *BlockSpecialEvent) ProtoReflect() protoreflect.Message { // Deprecated: Use BlockSpecialEvent.ProtoReflect.Descriptor instead. func (*BlockSpecialEvent) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{155} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{156} } -func (m *BlockSpecialEvent) GetEvent() isBlockSpecialEvent_Event { - if m != nil { - return m.Event +func (x *BlockSpecialEvent) GetEvent() isBlockSpecialEvent_Event { + if x != nil { + return x.Event } return nil } func (x *BlockSpecialEvent) GetBakingRewards() *BlockSpecialEvent_BakingRewards { - if x, ok := x.GetEvent().(*BlockSpecialEvent_BakingRewards_); ok { - return x.BakingRewards + if x != nil { + if x, ok := x.Event.(*BlockSpecialEvent_BakingRewards_); ok { + return x.BakingRewards + } } return nil } func (x *BlockSpecialEvent) GetMint() *BlockSpecialEvent_Mint { - if x, ok := x.GetEvent().(*BlockSpecialEvent_Mint_); ok { - return x.Mint + if x != nil { + if x, ok := x.Event.(*BlockSpecialEvent_Mint_); ok { + return x.Mint + } } return nil } func (x *BlockSpecialEvent) GetFinalizationRewards() *BlockSpecialEvent_FinalizationRewards { - if x, ok := x.GetEvent().(*BlockSpecialEvent_FinalizationRewards_); ok { - return x.FinalizationRewards + if x != nil { + if x, ok := x.Event.(*BlockSpecialEvent_FinalizationRewards_); ok { + return x.FinalizationRewards + } } return nil } func (x *BlockSpecialEvent) GetBlockReward() *BlockSpecialEvent_BlockReward { - if x, ok := x.GetEvent().(*BlockSpecialEvent_BlockReward_); ok { - return x.BlockReward + if x != nil { + if x, ok := x.Event.(*BlockSpecialEvent_BlockReward_); ok { + return x.BlockReward + } } return nil } func (x *BlockSpecialEvent) GetPaydayFoundationReward() *BlockSpecialEvent_PaydayFoundationReward { - if x, ok := x.GetEvent().(*BlockSpecialEvent_PaydayFoundationReward_); ok { - return x.PaydayFoundationReward + if x != nil { + if x, ok := x.Event.(*BlockSpecialEvent_PaydayFoundationReward_); ok { + return x.PaydayFoundationReward + } } return nil } func (x *BlockSpecialEvent) GetPaydayAccountReward() *BlockSpecialEvent_PaydayAccountReward { - if x, ok := x.GetEvent().(*BlockSpecialEvent_PaydayAccountReward_); ok { - return x.PaydayAccountReward + if x != nil { + if x, ok := x.Event.(*BlockSpecialEvent_PaydayAccountReward_); ok { + return x.PaydayAccountReward + } } return nil } func (x *BlockSpecialEvent) GetBlockAccrueReward() *BlockSpecialEvent_BlockAccrueReward { - if x, ok := x.GetEvent().(*BlockSpecialEvent_BlockAccrueReward_); ok { - return x.BlockAccrueReward + if x != nil { + if x, ok := x.Event.(*BlockSpecialEvent_BlockAccrueReward_); ok { + return x.BlockAccrueReward + } } return nil } func (x *BlockSpecialEvent) GetPaydayPoolReward() *BlockSpecialEvent_PaydayPoolReward { - if x, ok := x.GetEvent().(*BlockSpecialEvent_PaydayPoolReward_); ok { - return x.PaydayPoolReward + if x != nil { + if x, ok := x.Event.(*BlockSpecialEvent_PaydayPoolReward_); ok { + return x.PaydayPoolReward + } + } + return nil +} + +func (x *BlockSpecialEvent) GetValidatorSuspended() *BlockSpecialEvent_ValidatorSuspended { + if x != nil { + if x, ok := x.Event.(*BlockSpecialEvent_ValidatorSuspended_); ok { + return x.ValidatorSuspended + } + } + return nil +} + +func (x *BlockSpecialEvent) GetValidatorPrimedForSuspension() *BlockSpecialEvent_ValidatorPrimedForSuspension { + if x != nil { + if x, ok := x.Event.(*BlockSpecialEvent_ValidatorPrimedForSuspension_); ok { + return x.ValidatorPrimedForSuspension + } } return nil } @@ -13109,6 +13150,14 @@ type BlockSpecialEvent_PaydayPoolReward_ struct { PaydayPoolReward *BlockSpecialEvent_PaydayPoolReward `protobuf:"bytes,8,opt,name=payday_pool_reward,json=paydayPoolReward,proto3,oneof"` } +type BlockSpecialEvent_ValidatorSuspended_ struct { + ValidatorSuspended *BlockSpecialEvent_ValidatorSuspended `protobuf:"bytes,9,opt,name=validator_suspended,json=validatorSuspended,proto3,oneof"` +} + +type BlockSpecialEvent_ValidatorPrimedForSuspension_ struct { + ValidatorPrimedForSuspension *BlockSpecialEvent_ValidatorPrimedForSuspension `protobuf:"bytes,10,opt,name=validator_primed_for_suspension,json=validatorPrimedForSuspension,proto3,oneof"` +} + func (*BlockSpecialEvent_BakingRewards_) isBlockSpecialEvent_Event() {} func (*BlockSpecialEvent_Mint_) isBlockSpecialEvent_Event() {} @@ -13125,17 +13174,18 @@ func (*BlockSpecialEvent_BlockAccrueReward_) isBlockSpecialEvent_Event() {} func (*BlockSpecialEvent_PaydayPoolReward_) isBlockSpecialEvent_Event() {} +func (*BlockSpecialEvent_ValidatorSuspended_) isBlockSpecialEvent_Event() {} + +func (*BlockSpecialEvent_ValidatorPrimedForSuspension_) isBlockSpecialEvent_Event() {} + // A pending update. type PendingUpdate struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The effective time of the update. EffectiveTime *TransactionTime `protobuf:"bytes,1,opt,name=effective_time,json=effectiveTime,proto3" json:"effective_time,omitempty"` // The effect of the update. // - // Types that are assignable to Effect: + // Types that are valid to be assigned to Effect: // // *PendingUpdate_RootKeys // *PendingUpdate_Level1Keys @@ -13161,16 +13211,17 @@ type PendingUpdate struct { // *PendingUpdate_MinBlockTime // *PendingUpdate_BlockEnergyLimit // *PendingUpdate_FinalizationCommitteeParameters - Effect isPendingUpdate_Effect `protobuf_oneof:"effect"` + // *PendingUpdate_ValidatorScoreParameters + Effect isPendingUpdate_Effect `protobuf_oneof:"effect"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *PendingUpdate) Reset() { *x = PendingUpdate{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[156] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[157] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *PendingUpdate) String() string { @@ -13180,8 +13231,8 @@ func (x *PendingUpdate) String() string { func (*PendingUpdate) ProtoMessage() {} func (x *PendingUpdate) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[156] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[157] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -13193,7 +13244,7 @@ func (x *PendingUpdate) ProtoReflect() protoreflect.Message { // Deprecated: Use PendingUpdate.ProtoReflect.Descriptor instead. func (*PendingUpdate) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{156} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{157} } func (x *PendingUpdate) GetEffectiveTime() *TransactionTime { @@ -13203,177 +13254,234 @@ func (x *PendingUpdate) GetEffectiveTime() *TransactionTime { return nil } -func (m *PendingUpdate) GetEffect() isPendingUpdate_Effect { - if m != nil { - return m.Effect +func (x *PendingUpdate) GetEffect() isPendingUpdate_Effect { + if x != nil { + return x.Effect } return nil } func (x *PendingUpdate) GetRootKeys() *HigherLevelKeys { - if x, ok := x.GetEffect().(*PendingUpdate_RootKeys); ok { - return x.RootKeys + if x != nil { + if x, ok := x.Effect.(*PendingUpdate_RootKeys); ok { + return x.RootKeys + } } return nil } func (x *PendingUpdate) GetLevel1Keys() *HigherLevelKeys { - if x, ok := x.GetEffect().(*PendingUpdate_Level1Keys); ok { - return x.Level1Keys + if x != nil { + if x, ok := x.Effect.(*PendingUpdate_Level1Keys); ok { + return x.Level1Keys + } } return nil } func (x *PendingUpdate) GetLevel2KeysCpv_0() *AuthorizationsV0 { - if x, ok := x.GetEffect().(*PendingUpdate_Level2KeysCpv_0); ok { - return x.Level2KeysCpv_0 + if x != nil { + if x, ok := x.Effect.(*PendingUpdate_Level2KeysCpv_0); ok { + return x.Level2KeysCpv_0 + } } return nil } func (x *PendingUpdate) GetLevel2KeysCpv_1() *AuthorizationsV1 { - if x, ok := x.GetEffect().(*PendingUpdate_Level2KeysCpv_1); ok { - return x.Level2KeysCpv_1 + if x != nil { + if x, ok := x.Effect.(*PendingUpdate_Level2KeysCpv_1); ok { + return x.Level2KeysCpv_1 + } } return nil } func (x *PendingUpdate) GetProtocol() *ProtocolUpdate { - if x, ok := x.GetEffect().(*PendingUpdate_Protocol); ok { - return x.Protocol + if x != nil { + if x, ok := x.Effect.(*PendingUpdate_Protocol); ok { + return x.Protocol + } } return nil } func (x *PendingUpdate) GetElectionDifficulty() *ElectionDifficulty { - if x, ok := x.GetEffect().(*PendingUpdate_ElectionDifficulty); ok { - return x.ElectionDifficulty + if x != nil { + if x, ok := x.Effect.(*PendingUpdate_ElectionDifficulty); ok { + return x.ElectionDifficulty + } } return nil } func (x *PendingUpdate) GetEuroPerEnergy() *ExchangeRate { - if x, ok := x.GetEffect().(*PendingUpdate_EuroPerEnergy); ok { - return x.EuroPerEnergy + if x != nil { + if x, ok := x.Effect.(*PendingUpdate_EuroPerEnergy); ok { + return x.EuroPerEnergy + } } return nil } func (x *PendingUpdate) GetMicroCcdPerEuro() *ExchangeRate { - if x, ok := x.GetEffect().(*PendingUpdate_MicroCcdPerEuro); ok { - return x.MicroCcdPerEuro + if x != nil { + if x, ok := x.Effect.(*PendingUpdate_MicroCcdPerEuro); ok { + return x.MicroCcdPerEuro + } } return nil } func (x *PendingUpdate) GetFoundationAccount() *AccountAddress { - if x, ok := x.GetEffect().(*PendingUpdate_FoundationAccount); ok { - return x.FoundationAccount + if x != nil { + if x, ok := x.Effect.(*PendingUpdate_FoundationAccount); ok { + return x.FoundationAccount + } } return nil } func (x *PendingUpdate) GetMintDistributionCpv_0() *MintDistributionCpv0 { - if x, ok := x.GetEffect().(*PendingUpdate_MintDistributionCpv_0); ok { - return x.MintDistributionCpv_0 + if x != nil { + if x, ok := x.Effect.(*PendingUpdate_MintDistributionCpv_0); ok { + return x.MintDistributionCpv_0 + } } return nil } func (x *PendingUpdate) GetMintDistributionCpv_1() *MintDistributionCpv1 { - if x, ok := x.GetEffect().(*PendingUpdate_MintDistributionCpv_1); ok { - return x.MintDistributionCpv_1 + if x != nil { + if x, ok := x.Effect.(*PendingUpdate_MintDistributionCpv_1); ok { + return x.MintDistributionCpv_1 + } } return nil } func (x *PendingUpdate) GetTransactionFeeDistribution() *TransactionFeeDistribution { - if x, ok := x.GetEffect().(*PendingUpdate_TransactionFeeDistribution); ok { - return x.TransactionFeeDistribution + if x != nil { + if x, ok := x.Effect.(*PendingUpdate_TransactionFeeDistribution); ok { + return x.TransactionFeeDistribution + } } return nil } func (x *PendingUpdate) GetGasRewards() *GasRewards { - if x, ok := x.GetEffect().(*PendingUpdate_GasRewards); ok { - return x.GasRewards + if x != nil { + if x, ok := x.Effect.(*PendingUpdate_GasRewards); ok { + return x.GasRewards + } } return nil } func (x *PendingUpdate) GetPoolParametersCpv_0() *BakerStakeThreshold { - if x, ok := x.GetEffect().(*PendingUpdate_PoolParametersCpv_0); ok { - return x.PoolParametersCpv_0 + if x != nil { + if x, ok := x.Effect.(*PendingUpdate_PoolParametersCpv_0); ok { + return x.PoolParametersCpv_0 + } } return nil } func (x *PendingUpdate) GetPoolParametersCpv_1() *PoolParametersCpv1 { - if x, ok := x.GetEffect().(*PendingUpdate_PoolParametersCpv_1); ok { - return x.PoolParametersCpv_1 + if x != nil { + if x, ok := x.Effect.(*PendingUpdate_PoolParametersCpv_1); ok { + return x.PoolParametersCpv_1 + } } return nil } func (x *PendingUpdate) GetAddAnonymityRevoker() *ArInfo { - if x, ok := x.GetEffect().(*PendingUpdate_AddAnonymityRevoker); ok { - return x.AddAnonymityRevoker + if x != nil { + if x, ok := x.Effect.(*PendingUpdate_AddAnonymityRevoker); ok { + return x.AddAnonymityRevoker + } } return nil } func (x *PendingUpdate) GetAddIdentityProvider() *IpInfo { - if x, ok := x.GetEffect().(*PendingUpdate_AddIdentityProvider); ok { - return x.AddIdentityProvider + if x != nil { + if x, ok := x.Effect.(*PendingUpdate_AddIdentityProvider); ok { + return x.AddIdentityProvider + } } return nil } func (x *PendingUpdate) GetCooldownParameters() *CooldownParametersCpv1 { - if x, ok := x.GetEffect().(*PendingUpdate_CooldownParameters); ok { - return x.CooldownParameters + if x != nil { + if x, ok := x.Effect.(*PendingUpdate_CooldownParameters); ok { + return x.CooldownParameters + } } return nil } func (x *PendingUpdate) GetTimeParameters() *TimeParametersCpv1 { - if x, ok := x.GetEffect().(*PendingUpdate_TimeParameters); ok { - return x.TimeParameters + if x != nil { + if x, ok := x.Effect.(*PendingUpdate_TimeParameters); ok { + return x.TimeParameters + } } return nil } func (x *PendingUpdate) GetGasRewardsCpv_2() *GasRewardsCpv2 { - if x, ok := x.GetEffect().(*PendingUpdate_GasRewardsCpv_2); ok { - return x.GasRewardsCpv_2 + if x != nil { + if x, ok := x.Effect.(*PendingUpdate_GasRewardsCpv_2); ok { + return x.GasRewardsCpv_2 + } } return nil } func (x *PendingUpdate) GetTimeoutParameters() *TimeoutParameters { - if x, ok := x.GetEffect().(*PendingUpdate_TimeoutParameters); ok { - return x.TimeoutParameters + if x != nil { + if x, ok := x.Effect.(*PendingUpdate_TimeoutParameters); ok { + return x.TimeoutParameters + } } return nil } func (x *PendingUpdate) GetMinBlockTime() *Duration { - if x, ok := x.GetEffect().(*PendingUpdate_MinBlockTime); ok { - return x.MinBlockTime + if x != nil { + if x, ok := x.Effect.(*PendingUpdate_MinBlockTime); ok { + return x.MinBlockTime + } } return nil } func (x *PendingUpdate) GetBlockEnergyLimit() *Energy { - if x, ok := x.GetEffect().(*PendingUpdate_BlockEnergyLimit); ok { - return x.BlockEnergyLimit + if x != nil { + if x, ok := x.Effect.(*PendingUpdate_BlockEnergyLimit); ok { + return x.BlockEnergyLimit + } } return nil } func (x *PendingUpdate) GetFinalizationCommitteeParameters() *FinalizationCommitteeParameters { - if x, ok := x.GetEffect().(*PendingUpdate_FinalizationCommitteeParameters); ok { - return x.FinalizationCommitteeParameters + if x != nil { + if x, ok := x.Effect.(*PendingUpdate_FinalizationCommitteeParameters); ok { + return x.FinalizationCommitteeParameters + } + } + return nil +} + +func (x *PendingUpdate) GetValidatorScoreParameters() *ValidatorScoreParameters { + if x != nil { + if x, ok := x.Effect.(*PendingUpdate_ValidatorScoreParameters); ok { + return x.ValidatorScoreParameters + } } return nil } @@ -13502,6 +13610,11 @@ type PendingUpdate_FinalizationCommitteeParameters struct { FinalizationCommitteeParameters *FinalizationCommitteeParameters `protobuf:"bytes,25,opt,name=finalization_committee_parameters,json=finalizationCommitteeParameters,proto3,oneof"` } +type PendingUpdate_ValidatorScoreParameters struct { + // Updates to the validator score parameters for chain parameters version 3. + ValidatorScoreParameters *ValidatorScoreParameters `protobuf:"bytes,26,opt,name=validator_score_parameters,json=validatorScoreParameters,proto3,oneof"` +} + func (*PendingUpdate_RootKeys) isPendingUpdate_Effect() {} func (*PendingUpdate_Level1Keys) isPendingUpdate_Effect() {} @@ -13550,12 +13663,11 @@ func (*PendingUpdate_BlockEnergyLimit) isPendingUpdate_Effect() {} func (*PendingUpdate_FinalizationCommitteeParameters) isPendingUpdate_Effect() {} +func (*PendingUpdate_ValidatorScoreParameters) isPendingUpdate_Effect() {} + // The response for `GetNextUpdateSequenceNumbers`. type NextUpdateSequenceNumbers struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Updates to the root keys. RootKeys *SequenceNumber `protobuf:"bytes,1,opt,name=root_keys,json=rootKeys,proto3" json:"root_keys,omitempty"` // Updates to the level 1 keys. @@ -13596,15 +13708,17 @@ type NextUpdateSequenceNumbers struct { BlockEnergyLimit *SequenceNumber `protobuf:"bytes,19,opt,name=block_energy_limit,json=blockEnergyLimit,proto3" json:"block_energy_limit,omitempty"` // Updates to the finalization committee parameters FinalizationCommitteeParameters *SequenceNumber `protobuf:"bytes,20,opt,name=finalization_committee_parameters,json=finalizationCommitteeParameters,proto3" json:"finalization_committee_parameters,omitempty"` + // Updates to the validator score parameters for chain parameters version 3. + ValidatorScoreParameters *SequenceNumber `protobuf:"bytes,21,opt,name=validator_score_parameters,json=validatorScoreParameters,proto3" json:"validator_score_parameters,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *NextUpdateSequenceNumbers) Reset() { *x = NextUpdateSequenceNumbers{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[157] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[158] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *NextUpdateSequenceNumbers) String() string { @@ -13614,8 +13728,8 @@ func (x *NextUpdateSequenceNumbers) String() string { func (*NextUpdateSequenceNumbers) ProtoMessage() {} func (x *NextUpdateSequenceNumbers) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[157] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[158] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -13627,7 +13741,7 @@ func (x *NextUpdateSequenceNumbers) ProtoReflect() protoreflect.Message { // Deprecated: Use NextUpdateSequenceNumbers.ProtoReflect.Descriptor instead. func (*NextUpdateSequenceNumbers) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{157} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{158} } func (x *NextUpdateSequenceNumbers) GetRootKeys() *SequenceNumber { @@ -13770,23 +13884,27 @@ func (x *NextUpdateSequenceNumbers) GetFinalizationCommitteeParameters() *Sequen return nil } +func (x *NextUpdateSequenceNumbers) GetValidatorScoreParameters() *SequenceNumber { + if x != nil { + return x.ValidatorScoreParameters + } + return nil +} + // A request to send a new block item to the chain. // An IP address type IpAddress struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Value string `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` unknownFields protoimpl.UnknownFields - - Value string `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` + sizeCache protoimpl.SizeCache } func (x *IpAddress) Reset() { *x = IpAddress{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[158] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[159] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *IpAddress) String() string { @@ -13796,8 +13914,8 @@ func (x *IpAddress) String() string { func (*IpAddress) ProtoMessage() {} func (x *IpAddress) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[158] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[159] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -13809,7 +13927,7 @@ func (x *IpAddress) ProtoReflect() protoreflect.Message { // Deprecated: Use IpAddress.ProtoReflect.Descriptor instead. func (*IpAddress) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{158} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{159} } func (x *IpAddress) GetValue() string { @@ -13823,20 +13941,17 @@ func (x *IpAddress) GetValue() string { // Valid port numbers are expected thus // the value is expected to be in the range (0..u16::MAX). type Port struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Value uint32 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"` unknownFields protoimpl.UnknownFields - - Value uint32 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"` + sizeCache protoimpl.SizeCache } func (x *Port) Reset() { *x = Port{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[159] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[160] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *Port) String() string { @@ -13846,8 +13961,8 @@ func (x *Port) String() string { func (*Port) ProtoMessage() {} func (x *Port) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[159] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[160] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -13859,7 +13974,7 @@ func (x *Port) ProtoReflect() protoreflect.Message { // Deprecated: Use Port.ProtoReflect.Descriptor instead. func (*Port) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{159} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{160} } func (x *Port) GetValue() uint32 { @@ -13872,21 +13987,18 @@ func (x *Port) GetValue() uint32 { // A socket address consisting of // an IP + port. type IpSocketAddress struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Ip *IpAddress `protobuf:"bytes,1,opt,name=ip,proto3" json:"ip,omitempty"` + Port *Port `protobuf:"bytes,2,opt,name=port,proto3" json:"port,omitempty"` unknownFields protoimpl.UnknownFields - - Ip *IpAddress `protobuf:"bytes,1,opt,name=ip,proto3" json:"ip,omitempty"` - Port *Port `protobuf:"bytes,2,opt,name=port,proto3" json:"port,omitempty"` + sizeCache protoimpl.SizeCache } func (x *IpSocketAddress) Reset() { *x = IpSocketAddress{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[160] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[161] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *IpSocketAddress) String() string { @@ -13896,8 +14008,8 @@ func (x *IpSocketAddress) String() string { func (*IpSocketAddress) ProtoMessage() {} func (x *IpSocketAddress) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[160] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[161] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -13909,7 +14021,7 @@ func (x *IpSocketAddress) ProtoReflect() protoreflect.Message { // Deprecated: Use IpSocketAddress.ProtoReflect.Descriptor instead. func (*IpSocketAddress) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{160} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{161} } func (x *IpSocketAddress) GetIp() *IpAddress { @@ -13933,20 +14045,17 @@ func (x *IpSocketAddress) GetPort() *Port { // Note. There is no authenticity of the peer id and // as such it is only used for logging purposes. type PeerId struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Value string `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` unknownFields protoimpl.UnknownFields - - Value string `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` + sizeCache protoimpl.SizeCache } func (x *PeerId) Reset() { *x = PeerId{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[161] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[162] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *PeerId) String() string { @@ -13956,8 +14065,8 @@ func (x *PeerId) String() string { func (*PeerId) ProtoMessage() {} func (x *PeerId) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[161] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[162] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -13969,7 +14078,7 @@ func (x *PeerId) ProtoReflect() protoreflect.Message { // Deprecated: Use PeerId.ProtoReflect.Descriptor instead. func (*PeerId) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{161} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{162} } func (x *PeerId) GetValue() string { @@ -13981,21 +14090,18 @@ func (x *PeerId) GetValue() string { // A banned peer type BannedPeer struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The IP address of the banned peer. - IpAddress *IpAddress `protobuf:"bytes,1,opt,name=ip_address,json=ipAddress,proto3" json:"ip_address,omitempty"` + IpAddress *IpAddress `protobuf:"bytes,1,opt,name=ip_address,json=ipAddress,proto3" json:"ip_address,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *BannedPeer) Reset() { *x = BannedPeer{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[162] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[163] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *BannedPeer) String() string { @@ -14005,8 +14111,8 @@ func (x *BannedPeer) String() string { func (*BannedPeer) ProtoMessage() {} func (x *BannedPeer) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[162] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[163] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -14018,7 +14124,7 @@ func (x *BannedPeer) ProtoReflect() protoreflect.Message { // Deprecated: Use BannedPeer.ProtoReflect.Descriptor instead. func (*BannedPeer) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{162} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{163} } func (x *BannedPeer) GetIpAddress() *IpAddress { @@ -14031,20 +14137,17 @@ func (x *BannedPeer) GetIpAddress() *IpAddress { // The banned peers given by // their IP addresses. type BannedPeers struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Peers []*BannedPeer `protobuf:"bytes,1,rep,name=peers,proto3" json:"peers,omitempty"` unknownFields protoimpl.UnknownFields - - Peers []*BannedPeer `protobuf:"bytes,1,rep,name=peers,proto3" json:"peers,omitempty"` + sizeCache protoimpl.SizeCache } func (x *BannedPeers) Reset() { *x = BannedPeers{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[163] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[164] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *BannedPeers) String() string { @@ -14054,8 +14157,8 @@ func (x *BannedPeers) String() string { func (*BannedPeers) ProtoMessage() {} func (x *BannedPeers) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[163] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[164] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -14067,7 +14170,7 @@ func (x *BannedPeers) ProtoReflect() protoreflect.Message { // Deprecated: Use BannedPeers.ProtoReflect.Descriptor instead. func (*BannedPeers) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{163} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{164} } func (x *BannedPeers) GetPeers() []*BannedPeer { @@ -14081,20 +14184,17 @@ func (x *BannedPeers) GetPeers() []*BannedPeer { // Note. This will ban all peers located behind the // specified IP even though they are using different ports. type PeerToBan struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + IpAddress *IpAddress `protobuf:"bytes,1,opt,name=ip_address,json=ipAddress,proto3" json:"ip_address,omitempty"` unknownFields protoimpl.UnknownFields - - IpAddress *IpAddress `protobuf:"bytes,1,opt,name=ip_address,json=ipAddress,proto3" json:"ip_address,omitempty"` + sizeCache protoimpl.SizeCache } func (x *PeerToBan) Reset() { *x = PeerToBan{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[164] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[165] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *PeerToBan) String() string { @@ -14104,8 +14204,8 @@ func (x *PeerToBan) String() string { func (*PeerToBan) ProtoMessage() {} func (x *PeerToBan) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[164] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[165] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -14117,7 +14217,7 @@ func (x *PeerToBan) ProtoReflect() protoreflect.Message { // Deprecated: Use PeerToBan.ProtoReflect.Descriptor instead. func (*PeerToBan) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{164} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{165} } func (x *PeerToBan) GetIpAddress() *IpAddress { @@ -14129,24 +14229,21 @@ func (x *PeerToBan) GetIpAddress() *IpAddress { // Request to enable dumping of network packages. type DumpRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Which file to dump the packages into. // Requires a valid path. File string `protobuf:"bytes,1,opt,name=file,proto3" json:"file,omitempty"` // Whether the node should dump raw packages. - Raw bool `protobuf:"varint,2,opt,name=raw,proto3" json:"raw,omitempty"` + Raw bool `protobuf:"varint,2,opt,name=raw,proto3" json:"raw,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *DumpRequest) Reset() { *x = DumpRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[165] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[166] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *DumpRequest) String() string { @@ -14156,8 +14253,8 @@ func (x *DumpRequest) String() string { func (*DumpRequest) ProtoMessage() {} func (x *DumpRequest) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[165] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[166] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -14169,7 +14266,7 @@ func (x *DumpRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DumpRequest.ProtoReflect.Descriptor instead. func (*DumpRequest) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{165} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{166} } func (x *DumpRequest) GetFile() string { @@ -14188,20 +14285,17 @@ func (x *DumpRequest) GetRaw() bool { // Peers and their associated network related statistics type PeersInfo struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Peers []*PeersInfo_Peer `protobuf:"bytes,1,rep,name=peers,proto3" json:"peers,omitempty"` unknownFields protoimpl.UnknownFields - - Peers []*PeersInfo_Peer `protobuf:"bytes,1,rep,name=peers,proto3" json:"peers,omitempty"` + sizeCache protoimpl.SizeCache } func (x *PeersInfo) Reset() { *x = PeersInfo{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[166] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[167] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *PeersInfo) String() string { @@ -14211,8 +14305,8 @@ func (x *PeersInfo) String() string { func (*PeersInfo) ProtoMessage() {} func (x *PeersInfo) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[166] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[167] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -14224,7 +14318,7 @@ func (x *PeersInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use PeersInfo.ProtoReflect.Descriptor instead. func (*PeersInfo) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{166} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{167} } func (x *PeersInfo) GetPeers() []*PeersInfo_Peer { @@ -14238,10 +14332,7 @@ func (x *PeersInfo) GetPeers() []*PeersInfo_Peer { // Contains various information of the // enquired node. type NodeInfo struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The version of the node. PeerVersion string `protobuf:"bytes,1,opt,name=peer_version,json=peerVersion,proto3" json:"peer_version,omitempty"` // local time of the node. @@ -14253,20 +14344,20 @@ type NodeInfo struct { NetworkInfo *NodeInfo_NetworkInfo `protobuf:"bytes,5,opt,name=network_info,json=networkInfo,proto3" json:"network_info,omitempty"` // Details of the node. // - // Types that are assignable to Details: + // Types that are valid to be assigned to Details: // // *NodeInfo_Bootstrapper // *NodeInfo_Node_ - Details isNodeInfo_Details `protobuf_oneof:"details"` + Details isNodeInfo_Details `protobuf_oneof:"details"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *NodeInfo) Reset() { *x = NodeInfo{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[167] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[168] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *NodeInfo) String() string { @@ -14276,8 +14367,8 @@ func (x *NodeInfo) String() string { func (*NodeInfo) ProtoMessage() {} func (x *NodeInfo) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[167] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[168] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -14289,7 +14380,7 @@ func (x *NodeInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use NodeInfo.ProtoReflect.Descriptor instead. func (*NodeInfo) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{167} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{168} } func (x *NodeInfo) GetPeerVersion() string { @@ -14320,23 +14411,27 @@ func (x *NodeInfo) GetNetworkInfo() *NodeInfo_NetworkInfo { return nil } -func (m *NodeInfo) GetDetails() isNodeInfo_Details { - if m != nil { - return m.Details +func (x *NodeInfo) GetDetails() isNodeInfo_Details { + if x != nil { + return x.Details } return nil } func (x *NodeInfo) GetBootstrapper() *Empty { - if x, ok := x.GetDetails().(*NodeInfo_Bootstrapper); ok { - return x.Bootstrapper + if x != nil { + if x, ok := x.Details.(*NodeInfo_Bootstrapper); ok { + return x.Bootstrapper + } } return nil } func (x *NodeInfo) GetNode() *NodeInfo_Node { - if x, ok := x.GetDetails().(*NodeInfo_Node_); ok { - return x.Node + if x != nil { + if x, ok := x.Details.(*NodeInfo_Node_); ok { + return x.Node + } } return nil } @@ -14361,25 +14456,22 @@ func (*NodeInfo_Bootstrapper) isNodeInfo_Details() {} func (*NodeInfo_Node_) isNodeInfo_Details() {} type SendBlockItemRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to BlockItem: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to BlockItem: // // *SendBlockItemRequest_AccountTransaction // *SendBlockItemRequest_CredentialDeployment // *SendBlockItemRequest_UpdateInstruction - BlockItem isSendBlockItemRequest_BlockItem `protobuf_oneof:"block_item"` + BlockItem isSendBlockItemRequest_BlockItem `protobuf_oneof:"block_item"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SendBlockItemRequest) Reset() { *x = SendBlockItemRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[168] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[169] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SendBlockItemRequest) String() string { @@ -14389,8 +14481,8 @@ func (x *SendBlockItemRequest) String() string { func (*SendBlockItemRequest) ProtoMessage() {} func (x *SendBlockItemRequest) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[168] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[169] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -14402,33 +14494,39 @@ func (x *SendBlockItemRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SendBlockItemRequest.ProtoReflect.Descriptor instead. func (*SendBlockItemRequest) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{168} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{169} } -func (m *SendBlockItemRequest) GetBlockItem() isSendBlockItemRequest_BlockItem { - if m != nil { - return m.BlockItem +func (x *SendBlockItemRequest) GetBlockItem() isSendBlockItemRequest_BlockItem { + if x != nil { + return x.BlockItem } return nil } func (x *SendBlockItemRequest) GetAccountTransaction() *AccountTransaction { - if x, ok := x.GetBlockItem().(*SendBlockItemRequest_AccountTransaction); ok { - return x.AccountTransaction + if x != nil { + if x, ok := x.BlockItem.(*SendBlockItemRequest_AccountTransaction); ok { + return x.AccountTransaction + } } return nil } func (x *SendBlockItemRequest) GetCredentialDeployment() *CredentialDeployment { - if x, ok := x.GetBlockItem().(*SendBlockItemRequest_CredentialDeployment); ok { - return x.CredentialDeployment + if x != nil { + if x, ok := x.BlockItem.(*SendBlockItemRequest_CredentialDeployment); ok { + return x.CredentialDeployment + } } return nil } func (x *SendBlockItemRequest) GetUpdateInstruction() *UpdateInstruction { - if x, ok := x.GetBlockItem().(*SendBlockItemRequest_UpdateInstruction); ok { - return x.UpdateInstruction + if x != nil { + if x, ok := x.BlockItem.(*SendBlockItemRequest_UpdateInstruction); ok { + return x.UpdateInstruction + } } return nil } @@ -14465,26 +14563,23 @@ func (*SendBlockItemRequest_UpdateInstruction) isSendBlockItemRequest_BlockItem( // directly by the sender. Instead, bakers are rewarded by the protocol for // including them. type CredentialDeployment struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - MessageExpiry *TransactionTime `protobuf:"bytes,1,opt,name=message_expiry,json=messageExpiry,proto3" json:"message_expiry,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + MessageExpiry *TransactionTime `protobuf:"bytes,1,opt,name=message_expiry,json=messageExpiry,proto3" json:"message_expiry,omitempty"` // The credential to be added. // - // Types that are assignable to Payload: + // Types that are valid to be assigned to Payload: // // *CredentialDeployment_RawPayload - Payload isCredentialDeployment_Payload `protobuf_oneof:"payload"` + Payload isCredentialDeployment_Payload `protobuf_oneof:"payload"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *CredentialDeployment) Reset() { *x = CredentialDeployment{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[169] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[170] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *CredentialDeployment) String() string { @@ -14494,8 +14589,8 @@ func (x *CredentialDeployment) String() string { func (*CredentialDeployment) ProtoMessage() {} func (x *CredentialDeployment) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[169] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[170] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -14507,7 +14602,7 @@ func (x *CredentialDeployment) ProtoReflect() protoreflect.Message { // Deprecated: Use CredentialDeployment.ProtoReflect.Descriptor instead. func (*CredentialDeployment) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{169} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{170} } func (x *CredentialDeployment) GetMessageExpiry() *TransactionTime { @@ -14517,16 +14612,18 @@ func (x *CredentialDeployment) GetMessageExpiry() *TransactionTime { return nil } -func (m *CredentialDeployment) GetPayload() isCredentialDeployment_Payload { - if m != nil { - return m.Payload +func (x *CredentialDeployment) GetPayload() isCredentialDeployment_Payload { + if x != nil { + return x.Payload } return nil } func (x *CredentialDeployment) GetRawPayload() []byte { - if x, ok := x.GetPayload().(*CredentialDeployment_RawPayload); ok { - return x.RawPayload + if x != nil { + if x, ok := x.Payload.(*CredentialDeployment_RawPayload); ok { + return x.RawPayload + } } return nil } @@ -14546,20 +14643,17 @@ func (*CredentialDeployment_RawPayload) isCredentialDeployment_Payload() {} // A single signature. Used when sending block items to a node with // `SendBlockItem`. type Signature struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Value []byte `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` unknownFields protoimpl.UnknownFields - - Value []byte `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` + sizeCache protoimpl.SizeCache } func (x *Signature) Reset() { *x = Signature{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[170] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[171] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *Signature) String() string { @@ -14569,8 +14663,8 @@ func (x *Signature) String() string { func (*Signature) ProtoMessage() {} func (x *Signature) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[170] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[171] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -14582,7 +14676,7 @@ func (x *Signature) ProtoReflect() protoreflect.Message { // Deprecated: Use Signature.ProtoReflect.Descriptor instead. func (*Signature) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{170} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{171} } func (x *Signature) GetValue() []byte { @@ -14595,20 +14689,17 @@ func (x *Signature) GetValue() []byte { // A signature on an update instruction. // The type `UpdateKeysIndex` is not used directly, as messages cannot be keys in maps. type SignatureMap struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Signatures map[uint32]*Signature `protobuf:"bytes,1,rep,name=signatures,proto3" json:"signatures,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` unknownFields protoimpl.UnknownFields - - Signatures map[uint32]*Signature `protobuf:"bytes,1,rep,name=signatures,proto3" json:"signatures,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + sizeCache protoimpl.SizeCache } func (x *SignatureMap) Reset() { *x = SignatureMap{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[171] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[172] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SignatureMap) String() string { @@ -14618,8 +14709,8 @@ func (x *SignatureMap) String() string { func (*SignatureMap) ProtoMessage() {} func (x *SignatureMap) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[171] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[172] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -14631,7 +14722,7 @@ func (x *SignatureMap) ProtoReflect() protoreflect.Message { // Deprecated: Use SignatureMap.ProtoReflect.Descriptor instead. func (*SignatureMap) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{171} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{172} } func (x *SignatureMap) GetSignatures() map[uint32]*Signature { @@ -14645,20 +14736,17 @@ func (x *SignatureMap) GetSignatures() map[uint32]*Signature { // Needed because protobuf doesn't allow nested maps directly. // The keys in the SignatureMap must not exceed 2^8. type AccountSignatureMap struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Signatures map[uint32]*Signature `protobuf:"bytes,1,rep,name=signatures,proto3" json:"signatures,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` unknownFields protoimpl.UnknownFields - - Signatures map[uint32]*Signature `protobuf:"bytes,1,rep,name=signatures,proto3" json:"signatures,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + sizeCache protoimpl.SizeCache } func (x *AccountSignatureMap) Reset() { *x = AccountSignatureMap{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[172] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[173] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *AccountSignatureMap) String() string { @@ -14668,8 +14756,8 @@ func (x *AccountSignatureMap) String() string { func (*AccountSignatureMap) ProtoMessage() {} func (x *AccountSignatureMap) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[172] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[173] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -14681,7 +14769,7 @@ func (x *AccountSignatureMap) ProtoReflect() protoreflect.Message { // Deprecated: Use AccountSignatureMap.ProtoReflect.Descriptor instead. func (*AccountSignatureMap) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{172} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{173} } func (x *AccountSignatureMap) GetSignatures() map[uint32]*Signature { @@ -14692,23 +14780,20 @@ func (x *AccountSignatureMap) GetSignatures() map[uint32]*Signature { } type AccountTransactionSignature struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // A map from `CredentialIndex` to `SignatureMap`s. // The type `CredentialIndex` is not used directly, as messages cannot be keys in maps. // The map cannot contain more than 2^8 signatures. - Signatures map[uint32]*AccountSignatureMap `protobuf:"bytes,1,rep,name=signatures,proto3" json:"signatures,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + Signatures map[uint32]*AccountSignatureMap `protobuf:"bytes,1,rep,name=signatures,proto3" json:"signatures,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *AccountTransactionSignature) Reset() { *x = AccountTransactionSignature{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[173] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[174] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *AccountTransactionSignature) String() string { @@ -14718,8 +14803,8 @@ func (x *AccountTransactionSignature) String() string { func (*AccountTransactionSignature) ProtoMessage() {} func (x *AccountTransactionSignature) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[173] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[174] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -14731,7 +14816,7 @@ func (x *AccountTransactionSignature) ProtoReflect() protoreflect.Message { // Deprecated: Use AccountTransactionSignature.ProtoReflect.Descriptor instead. func (*AccountTransactionSignature) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{173} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{174} } func (x *AccountTransactionSignature) GetSignatures() map[uint32]*AccountSignatureMap { @@ -14744,10 +14829,7 @@ func (x *AccountTransactionSignature) GetSignatures() map[uint32]*AccountSignatu // Header of an account transaction that contains basic data to check whether // the sender and the transaction are valid. The header is shared by all transaction types. type AccountTransactionHeader struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Sender of the transaction. Sender *AccountAddress `protobuf:"bytes,1,opt,name=sender,proto3" json:"sender,omitempty"` // Sequence number of the transaction. @@ -14755,16 +14837,16 @@ type AccountTransactionHeader struct { // Maximum amount of energy the transaction can take to execute. EnergyAmount *Energy `protobuf:"bytes,3,opt,name=energy_amount,json=energyAmount,proto3" json:"energy_amount,omitempty"` // Latest time the transaction can included in a block. - Expiry *TransactionTime `protobuf:"bytes,5,opt,name=expiry,proto3" json:"expiry,omitempty"` + Expiry *TransactionTime `protobuf:"bytes,5,opt,name=expiry,proto3" json:"expiry,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *AccountTransactionHeader) Reset() { *x = AccountTransactionHeader{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[174] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[175] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *AccountTransactionHeader) String() string { @@ -14774,8 +14856,8 @@ func (x *AccountTransactionHeader) String() string { func (*AccountTransactionHeader) ProtoMessage() {} func (x *AccountTransactionHeader) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[174] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[175] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -14787,7 +14869,7 @@ func (x *AccountTransactionHeader) ProtoReflect() protoreflect.Message { // Deprecated: Use AccountTransactionHeader.ProtoReflect.Descriptor instead. func (*AccountTransactionHeader) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{174} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{175} } func (x *AccountTransactionHeader) GetSender() *AccountAddress { @@ -14820,10 +14902,7 @@ func (x *AccountTransactionHeader) GetExpiry() *TransactionTime { // Data required to initialize a new contract instance. type InitContractPayload struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Amount of CCD to send to the instance. Amount *Amount `protobuf:"bytes,1,opt,name=amount,proto3" json:"amount,omitempty"` // Reference to the module from which the instance will be created. @@ -14832,16 +14911,16 @@ type InitContractPayload struct { // `init_name`. InitName *InitName `protobuf:"bytes,3,opt,name=init_name,json=initName,proto3" json:"init_name,omitempty"` // Parameter to call the `init` of the contract with. - Parameter *Parameter `protobuf:"bytes,4,opt,name=parameter,proto3" json:"parameter,omitempty"` + Parameter *Parameter `protobuf:"bytes,4,opt,name=parameter,proto3" json:"parameter,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *InitContractPayload) Reset() { *x = InitContractPayload{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[175] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[176] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *InitContractPayload) String() string { @@ -14851,8 +14930,8 @@ func (x *InitContractPayload) String() string { func (*InitContractPayload) ProtoMessage() {} func (x *InitContractPayload) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[175] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[176] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -14864,7 +14943,7 @@ func (x *InitContractPayload) ProtoReflect() protoreflect.Message { // Deprecated: Use InitContractPayload.ProtoReflect.Descriptor instead. func (*InitContractPayload) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{175} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{176} } func (x *InitContractPayload) GetAmount() *Amount { @@ -14897,10 +14976,7 @@ func (x *InitContractPayload) GetParameter() *Parameter { // Data required to update a contract instance. type UpdateContractPayload struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Amount of CCD to send to the instance. Amount *Amount `protobuf:"bytes,1,opt,name=amount,proto3" json:"amount,omitempty"` // Address of the instance to update. @@ -14909,16 +14985,16 @@ type UpdateContractPayload struct { // This is expected to be in the format `contractName.entrypointName`. ReceiveName *ReceiveName `protobuf:"bytes,3,opt,name=receive_name,json=receiveName,proto3" json:"receive_name,omitempty"` // Parameter to pass to the entrypoint. - Parameter *Parameter `protobuf:"bytes,4,opt,name=parameter,proto3" json:"parameter,omitempty"` + Parameter *Parameter `protobuf:"bytes,4,opt,name=parameter,proto3" json:"parameter,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *UpdateContractPayload) Reset() { *x = UpdateContractPayload{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[176] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[177] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *UpdateContractPayload) String() string { @@ -14928,8 +15004,8 @@ func (x *UpdateContractPayload) String() string { func (*UpdateContractPayload) ProtoMessage() {} func (x *UpdateContractPayload) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[176] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[177] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -14941,7 +15017,7 @@ func (x *UpdateContractPayload) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateContractPayload.ProtoReflect.Descriptor instead. func (*UpdateContractPayload) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{176} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{177} } func (x *UpdateContractPayload) GetAmount() *Amount { @@ -14974,23 +15050,20 @@ func (x *UpdateContractPayload) GetParameter() *Parameter { // Payload of a transfer between two accounts. type TransferPayload struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Amount of CCD to send. Amount *Amount `protobuf:"bytes,1,opt,name=amount,proto3" json:"amount,omitempty"` // Receiver address. - Receiver *AccountAddress `protobuf:"bytes,2,opt,name=receiver,proto3" json:"receiver,omitempty"` + Receiver *AccountAddress `protobuf:"bytes,2,opt,name=receiver,proto3" json:"receiver,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *TransferPayload) Reset() { *x = TransferPayload{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[177] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[178] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TransferPayload) String() string { @@ -15000,8 +15073,8 @@ func (x *TransferPayload) String() string { func (*TransferPayload) ProtoMessage() {} func (x *TransferPayload) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[177] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[178] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -15013,7 +15086,7 @@ func (x *TransferPayload) ProtoReflect() protoreflect.Message { // Deprecated: Use TransferPayload.ProtoReflect.Descriptor instead. func (*TransferPayload) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{177} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{178} } func (x *TransferPayload) GetAmount() *Amount { @@ -15032,25 +15105,22 @@ func (x *TransferPayload) GetReceiver() *AccountAddress { // Payload of a transfer between two accounts with a memo. type TransferWithMemoPayload struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Amount of CCD to send. Amount *Amount `protobuf:"bytes,1,opt,name=amount,proto3" json:"amount,omitempty"` // Receiver address. Receiver *AccountAddress `protobuf:"bytes,2,opt,name=receiver,proto3" json:"receiver,omitempty"` // Memo to include with the transfer. - Memo *Memo `protobuf:"bytes,3,opt,name=memo,proto3" json:"memo,omitempty"` + Memo *Memo `protobuf:"bytes,3,opt,name=memo,proto3" json:"memo,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *TransferWithMemoPayload) Reset() { *x = TransferWithMemoPayload{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[178] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[179] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TransferWithMemoPayload) String() string { @@ -15060,8 +15130,8 @@ func (x *TransferWithMemoPayload) String() string { func (*TransferWithMemoPayload) ProtoMessage() {} func (x *TransferWithMemoPayload) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[178] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[179] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -15073,7 +15143,7 @@ func (x *TransferWithMemoPayload) ProtoReflect() protoreflect.Message { // Deprecated: Use TransferWithMemoPayload.ProtoReflect.Descriptor instead. func (*TransferWithMemoPayload) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{178} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{179} } func (x *TransferWithMemoPayload) GetAmount() *Amount { @@ -15099,11 +15169,8 @@ func (x *TransferWithMemoPayload) GetMemo() *Memo { // The payload for an account transaction. type AccountTransactionPayload struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Payload: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Payload: // // *AccountTransactionPayload_RawPayload // *AccountTransactionPayload_DeployModule @@ -15112,16 +15179,16 @@ type AccountTransactionPayload struct { // *AccountTransactionPayload_Transfer // *AccountTransactionPayload_TransferWithMemo // *AccountTransactionPayload_RegisterData - Payload isAccountTransactionPayload_Payload `protobuf_oneof:"payload"` + Payload isAccountTransactionPayload_Payload `protobuf_oneof:"payload"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *AccountTransactionPayload) Reset() { *x = AccountTransactionPayload{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[179] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[180] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *AccountTransactionPayload) String() string { @@ -15131,8 +15198,8 @@ func (x *AccountTransactionPayload) String() string { func (*AccountTransactionPayload) ProtoMessage() {} func (x *AccountTransactionPayload) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[179] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[180] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -15144,61 +15211,75 @@ func (x *AccountTransactionPayload) ProtoReflect() protoreflect.Message { // Deprecated: Use AccountTransactionPayload.ProtoReflect.Descriptor instead. func (*AccountTransactionPayload) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{179} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{180} } -func (m *AccountTransactionPayload) GetPayload() isAccountTransactionPayload_Payload { - if m != nil { - return m.Payload +func (x *AccountTransactionPayload) GetPayload() isAccountTransactionPayload_Payload { + if x != nil { + return x.Payload } return nil } func (x *AccountTransactionPayload) GetRawPayload() []byte { - if x, ok := x.GetPayload().(*AccountTransactionPayload_RawPayload); ok { - return x.RawPayload + if x != nil { + if x, ok := x.Payload.(*AccountTransactionPayload_RawPayload); ok { + return x.RawPayload + } } return nil } func (x *AccountTransactionPayload) GetDeployModule() *VersionedModuleSource { - if x, ok := x.GetPayload().(*AccountTransactionPayload_DeployModule); ok { - return x.DeployModule + if x != nil { + if x, ok := x.Payload.(*AccountTransactionPayload_DeployModule); ok { + return x.DeployModule + } } return nil } func (x *AccountTransactionPayload) GetInitContract() *InitContractPayload { - if x, ok := x.GetPayload().(*AccountTransactionPayload_InitContract); ok { - return x.InitContract + if x != nil { + if x, ok := x.Payload.(*AccountTransactionPayload_InitContract); ok { + return x.InitContract + } } return nil } func (x *AccountTransactionPayload) GetUpdateContract() *UpdateContractPayload { - if x, ok := x.GetPayload().(*AccountTransactionPayload_UpdateContract); ok { - return x.UpdateContract + if x != nil { + if x, ok := x.Payload.(*AccountTransactionPayload_UpdateContract); ok { + return x.UpdateContract + } } return nil } func (x *AccountTransactionPayload) GetTransfer() *TransferPayload { - if x, ok := x.GetPayload().(*AccountTransactionPayload_Transfer); ok { - return x.Transfer + if x != nil { + if x, ok := x.Payload.(*AccountTransactionPayload_Transfer); ok { + return x.Transfer + } } return nil } func (x *AccountTransactionPayload) GetTransferWithMemo() *TransferWithMemoPayload { - if x, ok := x.GetPayload().(*AccountTransactionPayload_TransferWithMemo); ok { - return x.TransferWithMemo + if x != nil { + if x, ok := x.Payload.(*AccountTransactionPayload_TransferWithMemo); ok { + return x.TransferWithMemo + } } return nil } func (x *AccountTransactionPayload) GetRegisterData() *RegisteredData { - if x, ok := x.GetPayload().(*AccountTransactionPayload_RegisterData); ok { - return x.RegisterData + if x != nil { + if x, ok := x.Payload.(*AccountTransactionPayload_RegisterData); ok { + return x.RegisterData + } } return nil } @@ -15255,21 +15336,18 @@ func (*AccountTransactionPayload_RegisterData) isAccountTransactionPayload_Paylo // An unsigned account transaction. This is used with the // `GetTransactionSignHash` endpoint to obtain the message to sign. type PreAccountTransaction struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Header *AccountTransactionHeader `protobuf:"bytes,1,opt,name=header,proto3" json:"header,omitempty"` + Payload *AccountTransactionPayload `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"` unknownFields protoimpl.UnknownFields - - Header *AccountTransactionHeader `protobuf:"bytes,1,opt,name=header,proto3" json:"header,omitempty"` - Payload *AccountTransactionPayload `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"` + sizeCache protoimpl.SizeCache } func (x *PreAccountTransaction) Reset() { *x = PreAccountTransaction{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[180] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[181] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *PreAccountTransaction) String() string { @@ -15279,8 +15357,8 @@ func (x *PreAccountTransaction) String() string { func (*PreAccountTransaction) ProtoMessage() {} func (x *PreAccountTransaction) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[180] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[181] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -15292,7 +15370,7 @@ func (x *PreAccountTransaction) ProtoReflect() protoreflect.Message { // Deprecated: Use PreAccountTransaction.ProtoReflect.Descriptor instead. func (*PreAccountTransaction) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{180} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{181} } func (x *PreAccountTransaction) GetHeader() *AccountTransactionHeader { @@ -15312,22 +15390,19 @@ func (x *PreAccountTransaction) GetPayload() *AccountTransactionPayload { // Account transactions are messages which are signed and paid for by the sender // account. type AccountTransaction struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Signature *AccountTransactionSignature `protobuf:"bytes,1,opt,name=signature,proto3" json:"signature,omitempty"` + Header *AccountTransactionHeader `protobuf:"bytes,2,opt,name=header,proto3" json:"header,omitempty"` + Payload *AccountTransactionPayload `protobuf:"bytes,3,opt,name=payload,proto3" json:"payload,omitempty"` unknownFields protoimpl.UnknownFields - - Signature *AccountTransactionSignature `protobuf:"bytes,1,opt,name=signature,proto3" json:"signature,omitempty"` - Header *AccountTransactionHeader `protobuf:"bytes,2,opt,name=header,proto3" json:"header,omitempty"` - Payload *AccountTransactionPayload `protobuf:"bytes,3,opt,name=payload,proto3" json:"payload,omitempty"` + sizeCache protoimpl.SizeCache } func (x *AccountTransaction) Reset() { *x = AccountTransaction{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[181] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[182] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *AccountTransaction) String() string { @@ -15337,8 +15412,8 @@ func (x *AccountTransaction) String() string { func (*AccountTransaction) ProtoMessage() {} func (x *AccountTransaction) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[181] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[182] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -15350,7 +15425,7 @@ func (x *AccountTransaction) ProtoReflect() protoreflect.Message { // Deprecated: Use AccountTransaction.ProtoReflect.Descriptor instead. func (*AccountTransaction) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{181} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{182} } func (x *AccountTransaction) GetSignature() *AccountTransactionSignature { @@ -15375,22 +15450,19 @@ func (x *AccountTransaction) GetPayload() *AccountTransactionPayload { } type UpdateInstructionHeader struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - SequenceNumber *UpdateSequenceNumber `protobuf:"bytes,1,opt,name=sequence_number,json=sequenceNumber,proto3" json:"sequence_number,omitempty"` - EffectiveTime *TransactionTime `protobuf:"bytes,2,opt,name=effective_time,json=effectiveTime,proto3" json:"effective_time,omitempty"` - Timeout *TransactionTime `protobuf:"bytes,3,opt,name=timeout,proto3" json:"timeout,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + SequenceNumber *UpdateSequenceNumber `protobuf:"bytes,1,opt,name=sequence_number,json=sequenceNumber,proto3" json:"sequence_number,omitempty"` + EffectiveTime *TransactionTime `protobuf:"bytes,2,opt,name=effective_time,json=effectiveTime,proto3" json:"effective_time,omitempty"` + Timeout *TransactionTime `protobuf:"bytes,3,opt,name=timeout,proto3" json:"timeout,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *UpdateInstructionHeader) Reset() { *x = UpdateInstructionHeader{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[182] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[183] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *UpdateInstructionHeader) String() string { @@ -15400,8 +15472,8 @@ func (x *UpdateInstructionHeader) String() string { func (*UpdateInstructionHeader) ProtoMessage() {} func (x *UpdateInstructionHeader) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[182] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[183] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -15413,7 +15485,7 @@ func (x *UpdateInstructionHeader) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateInstructionHeader.ProtoReflect.Descriptor instead. func (*UpdateInstructionHeader) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{182} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{183} } func (x *UpdateInstructionHeader) GetSequenceNumber() *UpdateSequenceNumber { @@ -15439,23 +15511,20 @@ func (x *UpdateInstructionHeader) GetTimeout() *TransactionTime { // The payload for an UpdateInstruction. type UpdateInstructionPayload struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Payload: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Payload: // // *UpdateInstructionPayload_RawPayload - Payload isUpdateInstructionPayload_Payload `protobuf_oneof:"payload"` + Payload isUpdateInstructionPayload_Payload `protobuf_oneof:"payload"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *UpdateInstructionPayload) Reset() { *x = UpdateInstructionPayload{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[183] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[184] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *UpdateInstructionPayload) String() string { @@ -15465,8 +15534,8 @@ func (x *UpdateInstructionPayload) String() string { func (*UpdateInstructionPayload) ProtoMessage() {} func (x *UpdateInstructionPayload) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[183] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[184] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -15478,19 +15547,21 @@ func (x *UpdateInstructionPayload) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateInstructionPayload.ProtoReflect.Descriptor instead. func (*UpdateInstructionPayload) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{183} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{184} } -func (m *UpdateInstructionPayload) GetPayload() isUpdateInstructionPayload_Payload { - if m != nil { - return m.Payload +func (x *UpdateInstructionPayload) GetPayload() isUpdateInstructionPayload_Payload { + if x != nil { + return x.Payload } return nil } func (x *UpdateInstructionPayload) GetRawPayload() []byte { - if x, ok := x.GetPayload().(*UpdateInstructionPayload_RawPayload); ok { - return x.RawPayload + if x != nil { + if x, ok := x.Payload.(*UpdateInstructionPayload_RawPayload); ok { + return x.RawPayload + } } return nil } @@ -15507,23 +15578,20 @@ type UpdateInstructionPayload_RawPayload struct { func (*UpdateInstructionPayload_RawPayload) isUpdateInstructionPayload_Payload() {} type UpdateInstruction struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // A map from `UpdateKeysIndex` to `Signature`. Keys must not exceed 2^16. - Signatures *SignatureMap `protobuf:"bytes,1,opt,name=signatures,proto3" json:"signatures,omitempty"` - Header *UpdateInstructionHeader `protobuf:"bytes,2,opt,name=header,proto3" json:"header,omitempty"` - Payload *UpdateInstructionPayload `protobuf:"bytes,3,opt,name=payload,proto3" json:"payload,omitempty"` + Signatures *SignatureMap `protobuf:"bytes,1,opt,name=signatures,proto3" json:"signatures,omitempty"` + Header *UpdateInstructionHeader `protobuf:"bytes,2,opt,name=header,proto3" json:"header,omitempty"` + Payload *UpdateInstructionPayload `protobuf:"bytes,3,opt,name=payload,proto3" json:"payload,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *UpdateInstruction) Reset() { *x = UpdateInstruction{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[184] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[185] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *UpdateInstruction) String() string { @@ -15533,8 +15601,8 @@ func (x *UpdateInstruction) String() string { func (*UpdateInstruction) ProtoMessage() {} func (x *UpdateInstruction) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[184] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[185] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -15546,7 +15614,7 @@ func (x *UpdateInstruction) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateInstruction.ProtoReflect.Descriptor instead. func (*UpdateInstruction) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{184} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{185} } func (x *UpdateInstruction) GetSignatures() *SignatureMap { @@ -15573,20 +15641,17 @@ func (x *UpdateInstruction) GetPayload() *UpdateInstructionPayload { // Signature on an account transaction is defined to be the signature on the // hash of the `PreAccountTransaction`. type AccountTransactionSignHash struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Value []byte `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` unknownFields protoimpl.UnknownFields - - Value []byte `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` + sizeCache protoimpl.SizeCache } func (x *AccountTransactionSignHash) Reset() { *x = AccountTransactionSignHash{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[185] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[186] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *AccountTransactionSignHash) String() string { @@ -15596,8 +15661,8 @@ func (x *AccountTransactionSignHash) String() string { func (*AccountTransactionSignHash) ProtoMessage() {} func (x *AccountTransactionSignHash) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[185] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[186] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -15609,7 +15674,7 @@ func (x *AccountTransactionSignHash) ProtoReflect() protoreflect.Message { // Deprecated: Use AccountTransactionSignHash.ProtoReflect.Descriptor instead. func (*AccountTransactionSignHash) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{185} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{186} } func (x *AccountTransactionSignHash) GetValue() []byte { @@ -15622,20 +15687,17 @@ func (x *AccountTransactionSignHash) GetValue() []byte { // The number of credential deployments allowed in a block. This in effect // determines the number of accounts that can be created in a block. type CredentialsPerBlockLimit struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Value uint32 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"` unknownFields protoimpl.UnknownFields - - Value uint32 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"` + sizeCache protoimpl.SizeCache } func (x *CredentialsPerBlockLimit) Reset() { *x = CredentialsPerBlockLimit{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[186] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[187] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *CredentialsPerBlockLimit) String() string { @@ -15645,8 +15707,8 @@ func (x *CredentialsPerBlockLimit) String() string { func (*CredentialsPerBlockLimit) ProtoMessage() {} func (x *CredentialsPerBlockLimit) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[186] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[187] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -15658,7 +15720,7 @@ func (x *CredentialsPerBlockLimit) ProtoReflect() protoreflect.Message { // Deprecated: Use CredentialsPerBlockLimit.ProtoReflect.Descriptor instead. func (*CredentialsPerBlockLimit) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{186} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{187} } func (x *CredentialsPerBlockLimit) GetValue() uint32 { @@ -15670,10 +15732,7 @@ func (x *CredentialsPerBlockLimit) GetValue() uint32 { // Updatable chain parameters that apply to protocol versions 1-3. type ChainParametersV0 struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Election difficulty for consensus lottery. ElectionDifficulty *ElectionDifficulty `protobuf:"bytes,1,opt,name=election_difficulty,json=electionDifficulty,proto3" json:"election_difficulty,omitempty"` // Euro per energy exchange rate. @@ -15700,16 +15759,16 @@ type ChainParametersV0 struct { // Keys allowed to do level1 updates; Level1Keys *HigherLevelKeys `protobuf:"bytes,12,opt,name=level1_keys,json=level1Keys,proto3" json:"level1_keys,omitempty"` // Keys allowed to do parameter updates. - Level2Keys *AuthorizationsV0 `protobuf:"bytes,13,opt,name=level2_keys,json=level2Keys,proto3" json:"level2_keys,omitempty"` + Level2Keys *AuthorizationsV0 `protobuf:"bytes,13,opt,name=level2_keys,json=level2Keys,proto3" json:"level2_keys,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ChainParametersV0) Reset() { *x = ChainParametersV0{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[187] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[188] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ChainParametersV0) String() string { @@ -15719,8 +15778,8 @@ func (x *ChainParametersV0) String() string { func (*ChainParametersV0) ProtoMessage() {} func (x *ChainParametersV0) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[187] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[188] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -15732,7 +15791,7 @@ func (x *ChainParametersV0) ProtoReflect() protoreflect.Message { // Deprecated: Use ChainParametersV0.ProtoReflect.Descriptor instead. func (*ChainParametersV0) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{187} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{188} } func (x *ChainParametersV0) GetElectionDifficulty() *ElectionDifficulty { @@ -15828,10 +15887,7 @@ func (x *ChainParametersV0) GetLevel2Keys() *AuthorizationsV0 { // Updatable chain parameters that apply to protocol versions 4-5. type ChainParametersV1 struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Election difficulty for consensus lottery. ElectionDifficulty *ElectionDifficulty `protobuf:"bytes,1,opt,name=election_difficulty,json=electionDifficulty,proto3" json:"election_difficulty,omitempty"` // Euro per energy exchange rate. @@ -15862,16 +15918,16 @@ type ChainParametersV1 struct { // Keys allowed to do level1 updates; Level1Keys *HigherLevelKeys `protobuf:"bytes,13,opt,name=level1_keys,json=level1Keys,proto3" json:"level1_keys,omitempty"` // Keys allowed to do parameter updates. - Level2Keys *AuthorizationsV1 `protobuf:"bytes,14,opt,name=level2_keys,json=level2Keys,proto3" json:"level2_keys,omitempty"` + Level2Keys *AuthorizationsV1 `protobuf:"bytes,14,opt,name=level2_keys,json=level2Keys,proto3" json:"level2_keys,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ChainParametersV1) Reset() { *x = ChainParametersV1{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[188] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[189] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ChainParametersV1) String() string { @@ -15881,8 +15937,8 @@ func (x *ChainParametersV1) String() string { func (*ChainParametersV1) ProtoMessage() {} func (x *ChainParametersV1) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[188] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[189] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -15894,7 +15950,7 @@ func (x *ChainParametersV1) ProtoReflect() protoreflect.Message { // Deprecated: Use ChainParametersV1.ProtoReflect.Descriptor instead. func (*ChainParametersV1) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{188} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{189} } func (x *ChainParametersV1) GetElectionDifficulty() *ElectionDifficulty { @@ -15997,10 +16053,7 @@ func (x *ChainParametersV1) GetLevel2Keys() *AuthorizationsV1 { // Updatable chain parameters that apply to protocol versions 6. type ChainParametersV2 struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Consensus parameters. ConsensusParameters *ConsensusParametersV1 `protobuf:"bytes,1,opt,name=consensus_parameters,json=consensusParameters,proto3" json:"consensus_parameters,omitempty"` // Euro per energy exchange rate. @@ -16034,15 +16087,15 @@ type ChainParametersV2 struct { Level2Keys *AuthorizationsV1 `protobuf:"bytes,14,opt,name=level2_keys,json=level2Keys,proto3" json:"level2_keys,omitempty"` // Finalization committee parameters FinalizationCommitteeParameters *FinalizationCommitteeParameters `protobuf:"bytes,15,opt,name=finalization_committee_parameters,json=finalizationCommitteeParameters,proto3" json:"finalization_committee_parameters,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ChainParametersV2) Reset() { *x = ChainParametersV2{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[189] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[190] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ChainParametersV2) String() string { @@ -16052,8 +16105,8 @@ func (x *ChainParametersV2) String() string { func (*ChainParametersV2) ProtoMessage() {} func (x *ChainParametersV2) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[189] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[190] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -16065,7 +16118,7 @@ func (x *ChainParametersV2) ProtoReflect() protoreflect.Message { // Deprecated: Use ChainParametersV2.ProtoReflect.Descriptor instead. func (*ChainParametersV2) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{189} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{190} } func (x *ChainParametersV2) GetConsensusParameters() *ConsensusParametersV1 { @@ -16173,39 +16226,221 @@ func (x *ChainParametersV2) GetFinalizationCommitteeParameters() *FinalizationCo return nil } -// Chain parameters. -type ChainParameters struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Parameters: - // - // *ChainParameters_V0 - // *ChainParameters_V1 - // *ChainParameters_V2 - Parameters isChainParameters_Parameters `protobuf_oneof:"parameters"` +// Updatable chain parameters that apply to protocol versions 8. +type ChainParametersV3 struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Consensus parameters. + ConsensusParameters *ConsensusParametersV1 `protobuf:"bytes,1,opt,name=consensus_parameters,json=consensusParameters,proto3" json:"consensus_parameters,omitempty"` + // Euro per energy exchange rate. + EuroPerEnergy *ExchangeRate `protobuf:"bytes,2,opt,name=euro_per_energy,json=euroPerEnergy,proto3" json:"euro_per_energy,omitempty"` + // Micro CCD per euro exchange rate. + MicroCcdPerEuro *ExchangeRate `protobuf:"bytes,3,opt,name=micro_ccd_per_euro,json=microCcdPerEuro,proto3" json:"micro_ccd_per_euro,omitempty"` + // Extra number of epochs before reduction in stake, or baker + // deregistration is completed. + CooldownParameters *CooldownParametersCpv1 `protobuf:"bytes,4,opt,name=cooldown_parameters,json=cooldownParameters,proto3" json:"cooldown_parameters,omitempty"` + // Current time parameters. + // The time parameters indicates the mint rate and the + // reward period length, i.e. the time between paydays. + TimeParameters *TimeParametersCpv1 `protobuf:"bytes,5,opt,name=time_parameters,json=timeParameters,proto3" json:"time_parameters,omitempty"` + // The limit for the number of account creations in a block. + AccountCreationLimit *CredentialsPerBlockLimit `protobuf:"bytes,6,opt,name=account_creation_limit,json=accountCreationLimit,proto3" json:"account_creation_limit,omitempty"` + // Current mint distribution + MintDistribution *MintDistributionCpv1 `protobuf:"bytes,7,opt,name=mint_distribution,json=mintDistribution,proto3" json:"mint_distribution,omitempty"` + // Current transaction fee distribution. + TransactionFeeDistribution *TransactionFeeDistribution `protobuf:"bytes,8,opt,name=transaction_fee_distribution,json=transactionFeeDistribution,proto3" json:"transaction_fee_distribution,omitempty"` + // Current gas reward parameters. + GasRewards *GasRewardsCpv2 `protobuf:"bytes,9,opt,name=gas_rewards,json=gasRewards,proto3" json:"gas_rewards,omitempty"` + // The foundation account. + FoundationAccount *AccountAddress `protobuf:"bytes,10,opt,name=foundation_account,json=foundationAccount,proto3" json:"foundation_account,omitempty"` + // Parameters governing baking pools and their commissions. + PoolParameters *PoolParametersCpv1 `protobuf:"bytes,11,opt,name=pool_parameters,json=poolParameters,proto3" json:"pool_parameters,omitempty"` + // Keys allowed to do root updates. + RootKeys *HigherLevelKeys `protobuf:"bytes,12,opt,name=root_keys,json=rootKeys,proto3" json:"root_keys,omitempty"` + // Keys allowed to do level1 updates; + Level1Keys *HigherLevelKeys `protobuf:"bytes,13,opt,name=level1_keys,json=level1Keys,proto3" json:"level1_keys,omitempty"` + // Keys allowed to do parameter updates. + Level2Keys *AuthorizationsV1 `protobuf:"bytes,14,opt,name=level2_keys,json=level2Keys,proto3" json:"level2_keys,omitempty"` + // Finalization committee parameters + FinalizationCommitteeParameters *FinalizationCommitteeParameters `protobuf:"bytes,15,opt,name=finalization_committee_parameters,json=finalizationCommitteeParameters,proto3" json:"finalization_committee_parameters,omitempty"` + // Validator score parameters + ValidatorScoreParameters *ValidatorScoreParameters `protobuf:"bytes,16,opt,name=validator_score_parameters,json=validatorScoreParameters,proto3" json:"validator_score_parameters,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } -func (x *ChainParameters) Reset() { - *x = ChainParameters{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[190] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (x *ChainParametersV3) Reset() { + *x = ChainParametersV3{} + mi := &file_v2_concordium_types_proto_msgTypes[191] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } -func (x *ChainParameters) String() string { +func (x *ChainParametersV3) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ChainParameters) ProtoMessage() {} +func (*ChainParametersV3) ProtoMessage() {} -func (x *ChainParameters) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[190] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) +func (x *ChainParametersV3) ProtoReflect() protoreflect.Message { + mi := &file_v2_concordium_types_proto_msgTypes[191] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ChainParametersV3.ProtoReflect.Descriptor instead. +func (*ChainParametersV3) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{191} +} + +func (x *ChainParametersV3) GetConsensusParameters() *ConsensusParametersV1 { + if x != nil { + return x.ConsensusParameters + } + return nil +} + +func (x *ChainParametersV3) GetEuroPerEnergy() *ExchangeRate { + if x != nil { + return x.EuroPerEnergy + } + return nil +} + +func (x *ChainParametersV3) GetMicroCcdPerEuro() *ExchangeRate { + if x != nil { + return x.MicroCcdPerEuro + } + return nil +} + +func (x *ChainParametersV3) GetCooldownParameters() *CooldownParametersCpv1 { + if x != nil { + return x.CooldownParameters + } + return nil +} + +func (x *ChainParametersV3) GetTimeParameters() *TimeParametersCpv1 { + if x != nil { + return x.TimeParameters + } + return nil +} + +func (x *ChainParametersV3) GetAccountCreationLimit() *CredentialsPerBlockLimit { + if x != nil { + return x.AccountCreationLimit + } + return nil +} + +func (x *ChainParametersV3) GetMintDistribution() *MintDistributionCpv1 { + if x != nil { + return x.MintDistribution + } + return nil +} + +func (x *ChainParametersV3) GetTransactionFeeDistribution() *TransactionFeeDistribution { + if x != nil { + return x.TransactionFeeDistribution + } + return nil +} + +func (x *ChainParametersV3) GetGasRewards() *GasRewardsCpv2 { + if x != nil { + return x.GasRewards + } + return nil +} + +func (x *ChainParametersV3) GetFoundationAccount() *AccountAddress { + if x != nil { + return x.FoundationAccount + } + return nil +} + +func (x *ChainParametersV3) GetPoolParameters() *PoolParametersCpv1 { + if x != nil { + return x.PoolParameters + } + return nil +} + +func (x *ChainParametersV3) GetRootKeys() *HigherLevelKeys { + if x != nil { + return x.RootKeys + } + return nil +} + +func (x *ChainParametersV3) GetLevel1Keys() *HigherLevelKeys { + if x != nil { + return x.Level1Keys + } + return nil +} + +func (x *ChainParametersV3) GetLevel2Keys() *AuthorizationsV1 { + if x != nil { + return x.Level2Keys + } + return nil +} + +func (x *ChainParametersV3) GetFinalizationCommitteeParameters() *FinalizationCommitteeParameters { + if x != nil { + return x.FinalizationCommitteeParameters + } + return nil +} + +func (x *ChainParametersV3) GetValidatorScoreParameters() *ValidatorScoreParameters { + if x != nil { + return x.ValidatorScoreParameters + } + return nil +} + +// Chain parameters. +type ChainParameters struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Parameters: + // + // *ChainParameters_V0 + // *ChainParameters_V1 + // *ChainParameters_V2 + // *ChainParameters_V3 + Parameters isChainParameters_Parameters `protobuf_oneof:"parameters"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ChainParameters) Reset() { + *x = ChainParameters{} + mi := &file_v2_concordium_types_proto_msgTypes[192] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ChainParameters) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ChainParameters) ProtoMessage() {} + +func (x *ChainParameters) ProtoReflect() protoreflect.Message { + mi := &file_v2_concordium_types_proto_msgTypes[192] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } @@ -16216,33 +16451,48 @@ func (x *ChainParameters) ProtoReflect() protoreflect.Message { // Deprecated: Use ChainParameters.ProtoReflect.Descriptor instead. func (*ChainParameters) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{190} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{192} } -func (m *ChainParameters) GetParameters() isChainParameters_Parameters { - if m != nil { - return m.Parameters +func (x *ChainParameters) GetParameters() isChainParameters_Parameters { + if x != nil { + return x.Parameters } return nil } func (x *ChainParameters) GetV0() *ChainParametersV0 { - if x, ok := x.GetParameters().(*ChainParameters_V0); ok { - return x.V0 + if x != nil { + if x, ok := x.Parameters.(*ChainParameters_V0); ok { + return x.V0 + } } return nil } func (x *ChainParameters) GetV1() *ChainParametersV1 { - if x, ok := x.GetParameters().(*ChainParameters_V1); ok { - return x.V1 + if x != nil { + if x, ok := x.Parameters.(*ChainParameters_V1); ok { + return x.V1 + } } return nil } func (x *ChainParameters) GetV2() *ChainParametersV2 { - if x, ok := x.GetParameters().(*ChainParameters_V2); ok { - return x.V2 + if x != nil { + if x, ok := x.Parameters.(*ChainParameters_V2); ok { + return x.V2 + } + } + return nil +} + +func (x *ChainParameters) GetV3() *ChainParametersV3 { + if x != nil { + if x, ok := x.Parameters.(*ChainParameters_V3); ok { + return x.V3 + } } return nil } @@ -16262,37 +16512,41 @@ type ChainParameters_V1 struct { } type ChainParameters_V2 struct { - // Chain parameters that apply when the block is a protocol version 6- block. + // Chain parameters that apply when the block is a protocol version 6-7 block. V2 *ChainParametersV2 `protobuf:"bytes,3,opt,name=v2,proto3,oneof"` } +type ChainParameters_V3 struct { + // Chain parameters that apply when the block is a protocol version 8- block. + V3 *ChainParametersV3 `protobuf:"bytes,4,opt,name=v3,proto3,oneof"` +} + func (*ChainParameters_V0) isChainParameters_Parameters() {} func (*ChainParameters_V1) isChainParameters_Parameters() {} func (*ChainParameters_V2) isChainParameters_Parameters() {} +func (*ChainParameters_V3) isChainParameters_Parameters() {} + // Details about a finalizer for the finalization round. type FinalizationSummaryParty struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Baker ID. Every finalizer is in particular a baker. Baker *BakerId `protobuf:"bytes,1,opt,name=baker,proto3" json:"baker,omitempty"` // The weight of the finalizer in the committee. This is an "absolute" weight. Weight uint64 `protobuf:"varint,2,opt,name=weight,proto3" json:"weight,omitempty"` // Whether the finalizer's signature was present on the particular finalization record. - Signed bool `protobuf:"varint,3,opt,name=signed,proto3" json:"signed,omitempty"` + Signed bool `protobuf:"varint,3,opt,name=signed,proto3" json:"signed,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *FinalizationSummaryParty) Reset() { *x = FinalizationSummaryParty{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[191] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[193] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *FinalizationSummaryParty) String() string { @@ -16302,8 +16556,8 @@ func (x *FinalizationSummaryParty) String() string { func (*FinalizationSummaryParty) ProtoMessage() {} func (x *FinalizationSummaryParty) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[191] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[193] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -16315,7 +16569,7 @@ func (x *FinalizationSummaryParty) ProtoReflect() protoreflect.Message { // Deprecated: Use FinalizationSummaryParty.ProtoReflect.Descriptor instead. func (*FinalizationSummaryParty) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{191} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{193} } func (x *FinalizationSummaryParty) GetBaker() *BakerId { @@ -16342,20 +16596,17 @@ func (x *FinalizationSummaryParty) GetSigned() bool { // Index of the finalization round. This increases on each successfully // completed finalization. type FinalizationIndex struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Value uint64 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"` unknownFields protoimpl.UnknownFields - - Value uint64 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"` + sizeCache protoimpl.SizeCache } func (x *FinalizationIndex) Reset() { *x = FinalizationIndex{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[192] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[194] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *FinalizationIndex) String() string { @@ -16365,8 +16616,8 @@ func (x *FinalizationIndex) String() string { func (*FinalizationIndex) ProtoMessage() {} func (x *FinalizationIndex) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[192] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[194] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -16378,7 +16629,7 @@ func (x *FinalizationIndex) ProtoReflect() protoreflect.Message { // Deprecated: Use FinalizationIndex.ProtoReflect.Descriptor instead. func (*FinalizationIndex) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{192} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{194} } func (x *FinalizationIndex) GetValue() uint64 { @@ -16390,10 +16641,7 @@ func (x *FinalizationIndex) GetValue() uint64 { // Details about a finalization record included in a block. type FinalizationSummary struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Block that was finalized by the finalization record. Block *BlockHash `protobuf:"bytes,1,opt,name=block,proto3" json:"block,omitempty"` // Index of the finalization round that finalized the block. @@ -16402,16 +16650,16 @@ type FinalizationSummary struct { Delay *BlockHeight `protobuf:"bytes,3,opt,name=delay,proto3" json:"delay,omitempty"` // List of all finalizers with information about whether they signed the // finalization record or not. - Finalizers []*FinalizationSummaryParty `protobuf:"bytes,4,rep,name=finalizers,proto3" json:"finalizers,omitempty"` + Finalizers []*FinalizationSummaryParty `protobuf:"bytes,4,rep,name=finalizers,proto3" json:"finalizers,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *FinalizationSummary) Reset() { *x = FinalizationSummary{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[193] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[195] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *FinalizationSummary) String() string { @@ -16421,8 +16669,8 @@ func (x *FinalizationSummary) String() string { func (*FinalizationSummary) ProtoMessage() {} func (x *FinalizationSummary) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[193] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[195] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -16434,7 +16682,7 @@ func (x *FinalizationSummary) ProtoReflect() protoreflect.Message { // Deprecated: Use FinalizationSummary.ProtoReflect.Descriptor instead. func (*FinalizationSummary) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{193} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{195} } func (x *FinalizationSummary) GetBlock() *BlockHash { @@ -16467,24 +16715,21 @@ func (x *FinalizationSummary) GetFinalizers() []*FinalizationSummaryParty { // Finalization summary that may or may not be part of the block. type BlockFinalizationSummary struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Summary: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Summary: // // *BlockFinalizationSummary_None // *BlockFinalizationSummary_Record - Summary isBlockFinalizationSummary_Summary `protobuf_oneof:"summary"` + Summary isBlockFinalizationSummary_Summary `protobuf_oneof:"summary"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *BlockFinalizationSummary) Reset() { *x = BlockFinalizationSummary{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[194] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[196] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *BlockFinalizationSummary) String() string { @@ -16494,8 +16739,8 @@ func (x *BlockFinalizationSummary) String() string { func (*BlockFinalizationSummary) ProtoMessage() {} func (x *BlockFinalizationSummary) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[194] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[196] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -16507,26 +16752,30 @@ func (x *BlockFinalizationSummary) ProtoReflect() protoreflect.Message { // Deprecated: Use BlockFinalizationSummary.ProtoReflect.Descriptor instead. func (*BlockFinalizationSummary) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{194} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{196} } -func (m *BlockFinalizationSummary) GetSummary() isBlockFinalizationSummary_Summary { - if m != nil { - return m.Summary +func (x *BlockFinalizationSummary) GetSummary() isBlockFinalizationSummary_Summary { + if x != nil { + return x.Summary } return nil } func (x *BlockFinalizationSummary) GetNone() *Empty { - if x, ok := x.GetSummary().(*BlockFinalizationSummary_None); ok { - return x.None + if x != nil { + if x, ok := x.Summary.(*BlockFinalizationSummary_None); ok { + return x.None + } } return nil } func (x *BlockFinalizationSummary) GetRecord() *FinalizationSummary { - if x, ok := x.GetSummary().(*BlockFinalizationSummary_Record); ok { - return x.Record + if x != nil { + if x, ok := x.Summary.(*BlockFinalizationSummary_Record); ok { + return x.Record + } } return nil } @@ -16550,27 +16799,24 @@ func (*BlockFinalizationSummary_None) isBlockFinalizationSummary_Summary() {} func (*BlockFinalizationSummary_Record) isBlockFinalizationSummary_Summary() {} type BlockItem struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The hash of the block item that identifies it to the chain. Hash *TransactionHash `protobuf:"bytes,1,opt,name=hash,proto3" json:"hash,omitempty"` - // Types that are assignable to BlockItem: + // Types that are valid to be assigned to BlockItem: // // *BlockItem_AccountTransaction // *BlockItem_CredentialDeployment // *BlockItem_UpdateInstruction - BlockItem isBlockItem_BlockItem `protobuf_oneof:"block_item"` + BlockItem isBlockItem_BlockItem `protobuf_oneof:"block_item"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *BlockItem) Reset() { *x = BlockItem{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[195] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[197] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *BlockItem) String() string { @@ -16580,8 +16826,8 @@ func (x *BlockItem) String() string { func (*BlockItem) ProtoMessage() {} func (x *BlockItem) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[195] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[197] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -16593,7 +16839,7 @@ func (x *BlockItem) ProtoReflect() protoreflect.Message { // Deprecated: Use BlockItem.ProtoReflect.Descriptor instead. func (*BlockItem) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{195} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{197} } func (x *BlockItem) GetHash() *TransactionHash { @@ -16603,30 +16849,36 @@ func (x *BlockItem) GetHash() *TransactionHash { return nil } -func (m *BlockItem) GetBlockItem() isBlockItem_BlockItem { - if m != nil { - return m.BlockItem +func (x *BlockItem) GetBlockItem() isBlockItem_BlockItem { + if x != nil { + return x.BlockItem } return nil } func (x *BlockItem) GetAccountTransaction() *AccountTransaction { - if x, ok := x.GetBlockItem().(*BlockItem_AccountTransaction); ok { - return x.AccountTransaction + if x != nil { + if x, ok := x.BlockItem.(*BlockItem_AccountTransaction); ok { + return x.AccountTransaction + } } return nil } func (x *BlockItem) GetCredentialDeployment() *CredentialDeployment { - if x, ok := x.GetBlockItem().(*BlockItem_CredentialDeployment); ok { - return x.CredentialDeployment + if x != nil { + if x, ok := x.BlockItem.(*BlockItem_CredentialDeployment); ok { + return x.CredentialDeployment + } } return nil } func (x *BlockItem) GetUpdateInstruction() *UpdateInstruction { - if x, ok := x.GetBlockItem().(*BlockItem_UpdateInstruction); ok { - return x.UpdateInstruction + if x != nil { + if x, ok := x.BlockItem.(*BlockItem_UpdateInstruction); ok { + return x.UpdateInstruction + } } return nil } @@ -16662,10 +16914,7 @@ func (*BlockItem_UpdateInstruction) isBlockItem_BlockItem() {} // Information about a particular baker with respect to // the current reward period. type BakerRewardPeriodInfo struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The baker id and public keys for the baker. Baker *BakerInfo `protobuf:"bytes,1,opt,name=baker,proto3" json:"baker,omitempty"` // The effective stake of the baker for the consensus protocol. @@ -16678,16 +16927,16 @@ type BakerRewardPeriodInfo struct { // The total amount of capital delegated to this baker pool. DelegatedCapital *Amount `protobuf:"bytes,5,opt,name=delegated_capital,json=delegatedCapital,proto3" json:"delegated_capital,omitempty"` // Whether the baker is a finalizer or not. - IsFinalizer bool `protobuf:"varint,6,opt,name=is_finalizer,json=isFinalizer,proto3" json:"is_finalizer,omitempty"` + IsFinalizer bool `protobuf:"varint,6,opt,name=is_finalizer,json=isFinalizer,proto3" json:"is_finalizer,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *BakerRewardPeriodInfo) Reset() { *x = BakerRewardPeriodInfo{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[196] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[198] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *BakerRewardPeriodInfo) String() string { @@ -16697,8 +16946,8 @@ func (x *BakerRewardPeriodInfo) String() string { func (*BakerRewardPeriodInfo) ProtoMessage() {} func (x *BakerRewardPeriodInfo) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[196] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[198] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -16710,7 +16959,7 @@ func (x *BakerRewardPeriodInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use BakerRewardPeriodInfo.ProtoReflect.Descriptor instead. func (*BakerRewardPeriodInfo) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{196} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{198} } func (x *BakerRewardPeriodInfo) GetBaker() *BakerInfo { @@ -16755,24 +17004,21 @@ func (x *BakerRewardPeriodInfo) GetIsFinalizer() bool { return false } -// The signature of a 'QuorumCertificate'. +// The signature of a 'QuorumCertificate' or 'QuorumMessage'. type QuorumSignature struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The bytes representing the raw aggregate signature. // The bytes have a fixed length of 48 bytes. - Value []byte `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` + Value []byte `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *QuorumSignature) Reset() { *x = QuorumSignature{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[197] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[199] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *QuorumSignature) String() string { @@ -16782,8 +17028,8 @@ func (x *QuorumSignature) String() string { func (*QuorumSignature) ProtoMessage() {} func (x *QuorumSignature) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[197] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[199] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -16795,7 +17041,7 @@ func (x *QuorumSignature) ProtoReflect() protoreflect.Message { // Deprecated: Use QuorumSignature.ProtoReflect.Descriptor instead. func (*QuorumSignature) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{197} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{199} } func (x *QuorumSignature) GetValue() []byte { @@ -16810,10 +17056,7 @@ func (x *QuorumSignature) GetValue() []byte { // A block must be certified before it will be part of the // authorative part of the chain. type QuorumCertificate struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The hash of the block that the quorum certificate refers to. BlockHash *BlockHash `protobuf:"bytes,1,opt,name=block_hash,json=blockHash,proto3" json:"block_hash,omitempty"` // The round of the block. @@ -16826,16 +17069,16 @@ type QuorumCertificate struct { // i.e., the ones who have contributed to the 'aggregate_siganture'. // The finalizers are identified by their baker id as this is stable // across protocols and epochs. - Signatories []*BakerId `protobuf:"bytes,5,rep,name=signatories,proto3" json:"signatories,omitempty"` + Signatories []*BakerId `protobuf:"bytes,5,rep,name=signatories,proto3" json:"signatories,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *QuorumCertificate) Reset() { *x = QuorumCertificate{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[198] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[200] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *QuorumCertificate) String() string { @@ -16845,8 +17088,8 @@ func (x *QuorumCertificate) String() string { func (*QuorumCertificate) ProtoMessage() {} func (x *QuorumCertificate) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[198] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[200] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -16858,7 +17101,7 @@ func (x *QuorumCertificate) ProtoReflect() protoreflect.Message { // Deprecated: Use QuorumCertificate.ProtoReflect.Descriptor instead. func (*QuorumCertificate) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{198} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{200} } func (x *QuorumCertificate) GetBlockHash() *BlockHash { @@ -16900,24 +17143,21 @@ func (x *QuorumCertificate) GetSignatories() []*BakerId { // to the list of finalizers (identified by their 'BakerId') that signed // off the round. type FinalizerRound struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The round that was signed off. Round *Round `protobuf:"bytes,1,opt,name=round,proto3" json:"round,omitempty"` // The finalizers (identified by their 'BakerId' that // signed off the in 'round'. - Finalizers []*BakerId `protobuf:"bytes,2,rep,name=finalizers,proto3" json:"finalizers,omitempty"` + Finalizers []*BakerId `protobuf:"bytes,2,rep,name=finalizers,proto3" json:"finalizers,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *FinalizerRound) Reset() { *x = FinalizerRound{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[199] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[201] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *FinalizerRound) String() string { @@ -16927,8 +17167,8 @@ func (x *FinalizerRound) String() string { func (*FinalizerRound) ProtoMessage() {} func (x *FinalizerRound) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[199] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[201] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -16940,7 +17180,7 @@ func (x *FinalizerRound) ProtoReflect() protoreflect.Message { // Deprecated: Use FinalizerRound.ProtoReflect.Descriptor instead. func (*FinalizerRound) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{199} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{201} } func (x *FinalizerRound) GetRound() *Round { @@ -16959,22 +17199,19 @@ func (x *FinalizerRound) GetFinalizers() []*BakerId { // The signature of a 'TimeoutCertificate'. type TimeoutSignature struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The bytes representing the raw aggregate signature. // The bytes have a fixed length of 48 bytes. - Value []byte `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` + Value []byte `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *TimeoutSignature) Reset() { *x = TimeoutSignature{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[200] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[202] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TimeoutSignature) String() string { @@ -16984,8 +17221,8 @@ func (x *TimeoutSignature) String() string { func (*TimeoutSignature) ProtoMessage() {} func (x *TimeoutSignature) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[200] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[202] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -16997,7 +17234,7 @@ func (x *TimeoutSignature) ProtoReflect() protoreflect.Message { // Deprecated: Use TimeoutSignature.ProtoReflect.Descriptor instead. func (*TimeoutSignature) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{200} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{202} } func (x *TimeoutSignature) GetValue() []byte { @@ -17012,10 +17249,7 @@ func (x *TimeoutSignature) GetValue() []byte { // thus making it possible for the protocol to proceed to the // next round. type TimeoutCertificate struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The round that timed out. Round *Round `protobuf:"bytes,1,opt,name=round,proto3" json:"round,omitempty"` // The minimum epoch of which signatures are included @@ -17030,15 +17264,15 @@ type TimeoutCertificate struct { // The aggregated signature by the finalization committee that witnessed // the 'round' timed out. AggregateSignature *TimeoutSignature `protobuf:"bytes,5,opt,name=aggregate_signature,json=aggregateSignature,proto3" json:"aggregate_signature,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *TimeoutCertificate) Reset() { *x = TimeoutCertificate{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[201] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[203] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TimeoutCertificate) String() string { @@ -17048,8 +17282,8 @@ func (x *TimeoutCertificate) String() string { func (*TimeoutCertificate) ProtoMessage() {} func (x *TimeoutCertificate) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[201] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[203] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -17061,7 +17295,7 @@ func (x *TimeoutCertificate) ProtoReflect() protoreflect.Message { // Deprecated: Use TimeoutCertificate.ProtoReflect.Descriptor instead. func (*TimeoutCertificate) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{201} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{203} } func (x *TimeoutCertificate) GetRound() *Round { @@ -17103,22 +17337,19 @@ func (x *TimeoutCertificate) GetAggregateSignature() *TimeoutSignature { // a 'EpochFinalizationEntry' is the immediate successor of // the finalized block. type SuccessorProof struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The proof represented as raw bytes. // The bytes have a fixed length of 32 bytes. - Value []byte `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` + Value []byte `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SuccessorProof) Reset() { *x = SuccessorProof{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[202] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[204] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SuccessorProof) String() string { @@ -17128,8 +17359,8 @@ func (x *SuccessorProof) String() string { func (*SuccessorProof) ProtoMessage() {} func (x *SuccessorProof) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[202] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[204] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -17141,7 +17372,7 @@ func (x *SuccessorProof) ProtoReflect() protoreflect.Message { // Deprecated: Use SuccessorProof.ProtoReflect.Descriptor instead. func (*SuccessorProof) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{202} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{204} } func (x *SuccessorProof) GetValue() []byte { @@ -17156,10 +17387,7 @@ func (x *SuccessorProof) GetValue() []byte { // I.e. the 'EpochFinalizationEntry' is present if and only if // the block is the first block of a new 'Epoch'. type EpochFinalizationEntry struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The quorum certificate for the finalized block. FinalizedQc *QuorumCertificate `protobuf:"bytes,1,opt,name=finalized_qc,json=finalizedQc,proto3" json:"finalized_qc,omitempty"` // The quorum certificate for the block that finalizes @@ -17168,15 +17396,15 @@ type EpochFinalizationEntry struct { // A proof that the successor block is an immediate // successor of the finalized block. SuccessorProof *SuccessorProof `protobuf:"bytes,3,opt,name=successor_proof,json=successorProof,proto3" json:"successor_proof,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *EpochFinalizationEntry) Reset() { *x = EpochFinalizationEntry{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[203] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[205] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *EpochFinalizationEntry) String() string { @@ -17186,8 +17414,8 @@ func (x *EpochFinalizationEntry) String() string { func (*EpochFinalizationEntry) ProtoMessage() {} func (x *EpochFinalizationEntry) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[203] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[205] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -17199,7 +17427,7 @@ func (x *EpochFinalizationEntry) ProtoReflect() protoreflect.Message { // Deprecated: Use EpochFinalizationEntry.ProtoReflect.Descriptor instead. func (*EpochFinalizationEntry) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{203} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{205} } func (x *EpochFinalizationEntry) GetFinalizedQc() *QuorumCertificate { @@ -17226,10 +17454,7 @@ func (x *EpochFinalizationEntry) GetSuccessorProof() *SuccessorProof { // Certificates for a block for protocols supporting // ConcordiumBFT. type BlockCertificates struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The quorum certificate. Is present if and only if the block is // not a genesis block. QuorumCertificate *QuorumCertificate `protobuf:"bytes,1,opt,name=quorum_certificate,json=quorumCertificate,proto3,oneof" json:"quorum_certificate,omitempty"` @@ -17239,15 +17464,15 @@ type BlockCertificates struct { // The epoch finalization entry. Is present only if the block initiates // a new epoch. EpochFinalizationEntry *EpochFinalizationEntry `protobuf:"bytes,3,opt,name=epoch_finalization_entry,json=epochFinalizationEntry,proto3,oneof" json:"epoch_finalization_entry,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *BlockCertificates) Reset() { *x = BlockCertificates{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[204] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[206] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *BlockCertificates) String() string { @@ -17257,8 +17482,8 @@ func (x *BlockCertificates) String() string { func (*BlockCertificates) ProtoMessage() {} func (x *BlockCertificates) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[204] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[206] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -17270,7 +17495,7 @@ func (x *BlockCertificates) ProtoReflect() protoreflect.Message { // Deprecated: Use BlockCertificates.ProtoReflect.Descriptor instead. func (*BlockCertificates) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{204} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{206} } func (x *BlockCertificates) GetQuorumCertificate() *QuorumCertificate { @@ -17296,25 +17521,22 @@ func (x *BlockCertificates) GetEpochFinalizationEntry() *EpochFinalizationEntry // Details of which baker won the lottery in a given round in consensus version 1. type WinningBaker struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The round number. Round *Round `protobuf:"bytes,1,opt,name=round,proto3" json:"round,omitempty"` // The baker that won the round. Winner *BakerId `protobuf:"bytes,2,opt,name=winner,proto3" json:"winner,omitempty"` // True if the baker produced a block in this round on the finalized chain, and False otherwise. - Present bool `protobuf:"varint,3,opt,name=present,proto3" json:"present,omitempty"` + Present bool `protobuf:"varint,3,opt,name=present,proto3" json:"present,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *WinningBaker) Reset() { *x = WinningBaker{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[205] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[207] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *WinningBaker) String() string { @@ -17324,8 +17546,8 @@ func (x *WinningBaker) String() string { func (*WinningBaker) ProtoMessage() {} func (x *WinningBaker) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[205] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[207] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -17337,7 +17559,7 @@ func (x *WinningBaker) ProtoReflect() protoreflect.Message { // Deprecated: Use WinningBaker.ProtoReflect.Descriptor instead. func (*WinningBaker) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{205} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{207} } func (x *WinningBaker) GetRound() *Round { @@ -17365,25 +17587,22 @@ func (x *WinningBaker) GetPresent() bool { // `load_block_state`: any other operation will be met with `NoState` until a // state is successfully loaded. type DryRunRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Request: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Request: // // *DryRunRequest_LoadBlockState // *DryRunRequest_StateQuery // *DryRunRequest_StateOperation - Request isDryRunRequest_Request `protobuf_oneof:"request"` + Request isDryRunRequest_Request `protobuf_oneof:"request"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *DryRunRequest) Reset() { *x = DryRunRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[206] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[208] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *DryRunRequest) String() string { @@ -17393,8 +17612,8 @@ func (x *DryRunRequest) String() string { func (*DryRunRequest) ProtoMessage() {} func (x *DryRunRequest) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[206] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[208] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -17406,33 +17625,39 @@ func (x *DryRunRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DryRunRequest.ProtoReflect.Descriptor instead. func (*DryRunRequest) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{206} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{208} } -func (m *DryRunRequest) GetRequest() isDryRunRequest_Request { - if m != nil { - return m.Request +func (x *DryRunRequest) GetRequest() isDryRunRequest_Request { + if x != nil { + return x.Request } return nil } func (x *DryRunRequest) GetLoadBlockState() *BlockHashInput { - if x, ok := x.GetRequest().(*DryRunRequest_LoadBlockState); ok { - return x.LoadBlockState + if x != nil { + if x, ok := x.Request.(*DryRunRequest_LoadBlockState); ok { + return x.LoadBlockState + } } return nil } func (x *DryRunRequest) GetStateQuery() *DryRunStateQuery { - if x, ok := x.GetRequest().(*DryRunRequest_StateQuery); ok { - return x.StateQuery + if x != nil { + if x, ok := x.Request.(*DryRunRequest_StateQuery); ok { + return x.StateQuery + } } return nil } func (x *DryRunRequest) GetStateOperation() *DryRunStateOperation { - if x, ok := x.GetRequest().(*DryRunRequest_StateOperation); ok { - return x.StateOperation + if x != nil { + if x, ok := x.Request.(*DryRunRequest_StateOperation); ok { + return x.StateOperation + } } return nil } @@ -17468,25 +17693,22 @@ func (*DryRunRequest_StateOperation) isDryRunRequest_Request() {} // Run a query as part of a dry run. Queries do not update the block state. type DryRunStateQuery struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Query: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Query: // // *DryRunStateQuery_GetAccountInfo // *DryRunStateQuery_GetInstanceInfo // *DryRunStateQuery_InvokeInstance - Query isDryRunStateQuery_Query `protobuf_oneof:"query"` + Query isDryRunStateQuery_Query `protobuf_oneof:"query"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *DryRunStateQuery) Reset() { *x = DryRunStateQuery{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[207] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[209] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *DryRunStateQuery) String() string { @@ -17496,8 +17718,8 @@ func (x *DryRunStateQuery) String() string { func (*DryRunStateQuery) ProtoMessage() {} func (x *DryRunStateQuery) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[207] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[209] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -17509,33 +17731,39 @@ func (x *DryRunStateQuery) ProtoReflect() protoreflect.Message { // Deprecated: Use DryRunStateQuery.ProtoReflect.Descriptor instead. func (*DryRunStateQuery) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{207} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{209} } -func (m *DryRunStateQuery) GetQuery() isDryRunStateQuery_Query { - if m != nil { - return m.Query +func (x *DryRunStateQuery) GetQuery() isDryRunStateQuery_Query { + if x != nil { + return x.Query } return nil } func (x *DryRunStateQuery) GetGetAccountInfo() *AccountIdentifierInput { - if x, ok := x.GetQuery().(*DryRunStateQuery_GetAccountInfo); ok { - return x.GetAccountInfo + if x != nil { + if x, ok := x.Query.(*DryRunStateQuery_GetAccountInfo); ok { + return x.GetAccountInfo + } } return nil } func (x *DryRunStateQuery) GetGetInstanceInfo() *ContractAddress { - if x, ok := x.GetQuery().(*DryRunStateQuery_GetInstanceInfo); ok { - return x.GetInstanceInfo + if x != nil { + if x, ok := x.Query.(*DryRunStateQuery_GetInstanceInfo); ok { + return x.GetInstanceInfo + } } return nil } func (x *DryRunStateQuery) GetInvokeInstance() *DryRunInvokeInstance { - if x, ok := x.GetQuery().(*DryRunStateQuery_InvokeInstance); ok { - return x.InvokeInstance + if x != nil { + if x, ok := x.Query.(*DryRunStateQuery_InvokeInstance); ok { + return x.InvokeInstance + } } return nil } @@ -17575,10 +17803,7 @@ func (*DryRunStateQuery_InvokeInstance) isDryRunStateQuery_Query() {} // Invoke an entrypoint on a smart contract instance. type DryRunInvokeInstance struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Invoker of the contract. If this is not supplied then the contract will be // invoked by an account with address 0, no credentials and sufficient amount // of CCD to cover the transfer amount. If given, the relevant address (either @@ -17594,16 +17819,16 @@ type DryRunInvokeInstance struct { Parameter *Parameter `protobuf:"bytes,5,opt,name=parameter,proto3" json:"parameter,omitempty"` // The maximum energy to allow for the invocation. Note that the node imposes an energy // quota that is enforced in addition to this limit. - Energy *Energy `protobuf:"bytes,6,opt,name=energy,proto3" json:"energy,omitempty"` + Energy *Energy `protobuf:"bytes,6,opt,name=energy,proto3" json:"energy,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *DryRunInvokeInstance) Reset() { *x = DryRunInvokeInstance{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[208] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[210] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *DryRunInvokeInstance) String() string { @@ -17613,8 +17838,8 @@ func (x *DryRunInvokeInstance) String() string { func (*DryRunInvokeInstance) ProtoMessage() {} func (x *DryRunInvokeInstance) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[208] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[210] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -17626,7 +17851,7 @@ func (x *DryRunInvokeInstance) ProtoReflect() protoreflect.Message { // Deprecated: Use DryRunInvokeInstance.ProtoReflect.Descriptor instead. func (*DryRunInvokeInstance) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{208} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{210} } func (x *DryRunInvokeInstance) GetInvoker() *Address { @@ -17673,25 +17898,22 @@ func (x *DryRunInvokeInstance) GetEnergy() *Energy { // An operation that can update the state as part of a dry run. type DryRunStateOperation struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Operation: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Operation: // // *DryRunStateOperation_SetTimestamp // *DryRunStateOperation_MintToAccount // *DryRunStateOperation_RunTransaction - Operation isDryRunStateOperation_Operation `protobuf_oneof:"operation"` + Operation isDryRunStateOperation_Operation `protobuf_oneof:"operation"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *DryRunStateOperation) Reset() { *x = DryRunStateOperation{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[209] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[211] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *DryRunStateOperation) String() string { @@ -17701,8 +17923,8 @@ func (x *DryRunStateOperation) String() string { func (*DryRunStateOperation) ProtoMessage() {} func (x *DryRunStateOperation) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[209] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[211] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -17714,33 +17936,39 @@ func (x *DryRunStateOperation) ProtoReflect() protoreflect.Message { // Deprecated: Use DryRunStateOperation.ProtoReflect.Descriptor instead. func (*DryRunStateOperation) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{209} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{211} } -func (m *DryRunStateOperation) GetOperation() isDryRunStateOperation_Operation { - if m != nil { - return m.Operation +func (x *DryRunStateOperation) GetOperation() isDryRunStateOperation_Operation { + if x != nil { + return x.Operation } return nil } func (x *DryRunStateOperation) GetSetTimestamp() *Timestamp { - if x, ok := x.GetOperation().(*DryRunStateOperation_SetTimestamp); ok { - return x.SetTimestamp + if x != nil { + if x, ok := x.Operation.(*DryRunStateOperation_SetTimestamp); ok { + return x.SetTimestamp + } } return nil } func (x *DryRunStateOperation) GetMintToAccount() *DryRunMintToAccount { - if x, ok := x.GetOperation().(*DryRunStateOperation_MintToAccount); ok { - return x.MintToAccount + if x != nil { + if x, ok := x.Operation.(*DryRunStateOperation_MintToAccount); ok { + return x.MintToAccount + } } return nil } func (x *DryRunStateOperation) GetRunTransaction() *DryRunTransaction { - if x, ok := x.GetOperation().(*DryRunStateOperation_RunTransaction); ok { - return x.RunTransaction + if x != nil { + if x, ok := x.Operation.(*DryRunStateOperation_RunTransaction); ok { + return x.RunTransaction + } } return nil } @@ -17781,23 +18009,20 @@ func (*DryRunStateOperation_RunTransaction) isDryRunStateOperation_Operation() { // Mint a specified amount and credit it to the specified account as part of a dry run. type DryRunMintToAccount struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The account to mint to. Account *AccountAddress `protobuf:"bytes,1,opt,name=account,proto3" json:"account,omitempty"` // The amount to mint and credit to the account. - Amount *Amount `protobuf:"bytes,2,opt,name=amount,proto3" json:"amount,omitempty"` + Amount *Amount `protobuf:"bytes,2,opt,name=amount,proto3" json:"amount,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *DryRunMintToAccount) Reset() { *x = DryRunMintToAccount{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[210] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[212] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *DryRunMintToAccount) String() string { @@ -17807,8 +18032,8 @@ func (x *DryRunMintToAccount) String() string { func (*DryRunMintToAccount) ProtoMessage() {} func (x *DryRunMintToAccount) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[210] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[212] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -17820,7 +18045,7 @@ func (x *DryRunMintToAccount) ProtoReflect() protoreflect.Message { // Deprecated: Use DryRunMintToAccount.ProtoReflect.Descriptor instead. func (*DryRunMintToAccount) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{210} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{212} } func (x *DryRunMintToAccount) GetAccount() *AccountAddress { @@ -17839,10 +18064,7 @@ func (x *DryRunMintToAccount) GetAmount() *Amount { // Dry run an account transaction type DryRunTransaction struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The account to use as the sender of the transaction. Sender *AccountAddress `protobuf:"bytes,1,opt,name=sender,proto3" json:"sender,omitempty"` // The energy limit set for executing the transaction. @@ -17861,16 +18083,16 @@ type DryRunTransaction struct { // // Note that the signature thresholds are not checked as part of the dry run. Duplicated // signatures are only counted once. - Signatures []*DryRunSignature `protobuf:"bytes,4,rep,name=signatures,proto3" json:"signatures,omitempty"` + Signatures []*DryRunSignature `protobuf:"bytes,4,rep,name=signatures,proto3" json:"signatures,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *DryRunTransaction) Reset() { *x = DryRunTransaction{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[211] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[213] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *DryRunTransaction) String() string { @@ -17880,8 +18102,8 @@ func (x *DryRunTransaction) String() string { func (*DryRunTransaction) ProtoMessage() {} func (x *DryRunTransaction) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[211] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[213] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -17893,7 +18115,7 @@ func (x *DryRunTransaction) ProtoReflect() protoreflect.Message { // Deprecated: Use DryRunTransaction.ProtoReflect.Descriptor instead. func (*DryRunTransaction) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{211} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{213} } func (x *DryRunTransaction) GetSender() *AccountAddress { @@ -17928,23 +18150,20 @@ func (x *DryRunTransaction) GetSignatures() []*DryRunSignature { // and key that is presumed to have signed the transaction. No actual cryptographic signature is // included. type DryRunSignature struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Credential index. Must not exceed 255. Credential uint32 `protobuf:"varint,1,opt,name=credential,proto3" json:"credential,omitempty"` // Key index. Must not exceed 255. - Key uint32 `protobuf:"varint,2,opt,name=key,proto3" json:"key,omitempty"` + Key uint32 `protobuf:"varint,2,opt,name=key,proto3" json:"key,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *DryRunSignature) Reset() { *x = DryRunSignature{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[212] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[214] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *DryRunSignature) String() string { @@ -17954,8 +18173,8 @@ func (x *DryRunSignature) String() string { func (*DryRunSignature) ProtoMessage() {} func (x *DryRunSignature) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[212] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[214] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -17967,7 +18186,7 @@ func (x *DryRunSignature) ProtoReflect() protoreflect.Message { // Deprecated: Use DryRunSignature.ProtoReflect.Descriptor instead. func (*DryRunSignature) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{212} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{214} } func (x *DryRunSignature) GetCredential() uint32 { @@ -17986,26 +18205,23 @@ func (x *DryRunSignature) GetKey() uint32 { // A response to a `DryRunRequest`. type DryRunResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Response: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Response: // // *DryRunResponse_Error // *DryRunResponse_Success Response isDryRunResponse_Response `protobuf_oneof:"response"` // The remaining available energy quota after the dry run operation. QuotaRemaining *Energy `protobuf:"bytes,3,opt,name=quota_remaining,json=quotaRemaining,proto3" json:"quota_remaining,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *DryRunResponse) Reset() { *x = DryRunResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[213] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[215] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *DryRunResponse) String() string { @@ -18015,8 +18231,8 @@ func (x *DryRunResponse) String() string { func (*DryRunResponse) ProtoMessage() {} func (x *DryRunResponse) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[213] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[215] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -18028,26 +18244,30 @@ func (x *DryRunResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use DryRunResponse.ProtoReflect.Descriptor instead. func (*DryRunResponse) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{213} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{215} } -func (m *DryRunResponse) GetResponse() isDryRunResponse_Response { - if m != nil { - return m.Response +func (x *DryRunResponse) GetResponse() isDryRunResponse_Response { + if x != nil { + return x.Response } return nil } func (x *DryRunResponse) GetError() *DryRunErrorResponse { - if x, ok := x.GetResponse().(*DryRunResponse_Error); ok { - return x.Error + if x != nil { + if x, ok := x.Response.(*DryRunResponse_Error); ok { + return x.Error + } } return nil } func (x *DryRunResponse) GetSuccess() *DryRunSuccessResponse { - if x, ok := x.GetResponse().(*DryRunResponse_Success); ok { - return x.Success + if x != nil { + if x, ok := x.Response.(*DryRunResponse_Success); ok { + return x.Success + } } return nil } @@ -18078,11 +18298,8 @@ func (*DryRunResponse_Error) isDryRunResponse_Response() {} func (*DryRunResponse_Success) isDryRunResponse_Response() {} type DryRunErrorResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Error: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Error: // // *DryRunErrorResponse_NoState_ // *DryRunErrorResponse_BlockNotFound_ @@ -18092,16 +18309,16 @@ type DryRunErrorResponse struct { // *DryRunErrorResponse_BalanceInsufficient_ // *DryRunErrorResponse_EnergyInsufficient_ // *DryRunErrorResponse_InvokeFailed - Error isDryRunErrorResponse_Error `protobuf_oneof:"error"` + Error isDryRunErrorResponse_Error `protobuf_oneof:"error"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *DryRunErrorResponse) Reset() { *x = DryRunErrorResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[214] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[216] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *DryRunErrorResponse) String() string { @@ -18111,8 +18328,8 @@ func (x *DryRunErrorResponse) String() string { func (*DryRunErrorResponse) ProtoMessage() {} func (x *DryRunErrorResponse) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[214] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[216] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -18124,68 +18341,84 @@ func (x *DryRunErrorResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use DryRunErrorResponse.ProtoReflect.Descriptor instead. func (*DryRunErrorResponse) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{214} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{216} } -func (m *DryRunErrorResponse) GetError() isDryRunErrorResponse_Error { - if m != nil { - return m.Error +func (x *DryRunErrorResponse) GetError() isDryRunErrorResponse_Error { + if x != nil { + return x.Error } return nil } func (x *DryRunErrorResponse) GetNoState() *DryRunErrorResponse_NoState { - if x, ok := x.GetError().(*DryRunErrorResponse_NoState_); ok { - return x.NoState + if x != nil { + if x, ok := x.Error.(*DryRunErrorResponse_NoState_); ok { + return x.NoState + } } return nil } func (x *DryRunErrorResponse) GetBlockNotFound() *DryRunErrorResponse_BlockNotFound { - if x, ok := x.GetError().(*DryRunErrorResponse_BlockNotFound_); ok { - return x.BlockNotFound + if x != nil { + if x, ok := x.Error.(*DryRunErrorResponse_BlockNotFound_); ok { + return x.BlockNotFound + } } return nil } func (x *DryRunErrorResponse) GetAccountNotFound() *DryRunErrorResponse_AccountNotFound { - if x, ok := x.GetError().(*DryRunErrorResponse_AccountNotFound_); ok { - return x.AccountNotFound + if x != nil { + if x, ok := x.Error.(*DryRunErrorResponse_AccountNotFound_); ok { + return x.AccountNotFound + } } return nil } func (x *DryRunErrorResponse) GetInstanceNotFound() *DryRunErrorResponse_InstanceNotFound { - if x, ok := x.GetError().(*DryRunErrorResponse_InstanceNotFound_); ok { - return x.InstanceNotFound + if x != nil { + if x, ok := x.Error.(*DryRunErrorResponse_InstanceNotFound_); ok { + return x.InstanceNotFound + } } return nil } func (x *DryRunErrorResponse) GetAmountOverLimit() *DryRunErrorResponse_AmountOverLimit { - if x, ok := x.GetError().(*DryRunErrorResponse_AmountOverLimit_); ok { - return x.AmountOverLimit + if x != nil { + if x, ok := x.Error.(*DryRunErrorResponse_AmountOverLimit_); ok { + return x.AmountOverLimit + } } return nil } func (x *DryRunErrorResponse) GetBalanceInsufficient() *DryRunErrorResponse_BalanceInsufficient { - if x, ok := x.GetError().(*DryRunErrorResponse_BalanceInsufficient_); ok { - return x.BalanceInsufficient + if x != nil { + if x, ok := x.Error.(*DryRunErrorResponse_BalanceInsufficient_); ok { + return x.BalanceInsufficient + } } return nil } func (x *DryRunErrorResponse) GetEnergyInsufficient() *DryRunErrorResponse_EnergyInsufficient { - if x, ok := x.GetError().(*DryRunErrorResponse_EnergyInsufficient_); ok { - return x.EnergyInsufficient + if x != nil { + if x, ok := x.Error.(*DryRunErrorResponse_EnergyInsufficient_); ok { + return x.EnergyInsufficient + } } return nil } func (x *DryRunErrorResponse) GetInvokeFailed() *DryRunErrorResponse_InvokeFailure { - if x, ok := x.GetError().(*DryRunErrorResponse_InvokeFailed); ok { - return x.InvokeFailed + if x != nil { + if x, ok := x.Error.(*DryRunErrorResponse_InvokeFailed); ok { + return x.InvokeFailed + } } return nil } @@ -18260,11 +18493,8 @@ func (*DryRunErrorResponse_InvokeFailed) isDryRunErrorResponse_Error() {} // The dry run operation completed successfully. type DryRunSuccessResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Response: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Response: // // *DryRunSuccessResponse_BlockStateLoaded_ // *DryRunSuccessResponse_AccountInfo @@ -18273,16 +18503,16 @@ type DryRunSuccessResponse struct { // *DryRunSuccessResponse_TimestampSet_ // *DryRunSuccessResponse_MintedToAccount_ // *DryRunSuccessResponse_TransactionExecuted_ - Response isDryRunSuccessResponse_Response `protobuf_oneof:"response"` + Response isDryRunSuccessResponse_Response `protobuf_oneof:"response"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *DryRunSuccessResponse) Reset() { *x = DryRunSuccessResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[215] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_v2_concordium_types_proto_msgTypes[217] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *DryRunSuccessResponse) String() string { @@ -18292,8 +18522,8 @@ func (x *DryRunSuccessResponse) String() string { func (*DryRunSuccessResponse) ProtoMessage() {} func (x *DryRunSuccessResponse) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[215] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_v2_concordium_types_proto_msgTypes[217] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -18305,61 +18535,75 @@ func (x *DryRunSuccessResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use DryRunSuccessResponse.ProtoReflect.Descriptor instead. func (*DryRunSuccessResponse) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{215} + return file_v2_concordium_types_proto_rawDescGZIP(), []int{217} } -func (m *DryRunSuccessResponse) GetResponse() isDryRunSuccessResponse_Response { - if m != nil { - return m.Response +func (x *DryRunSuccessResponse) GetResponse() isDryRunSuccessResponse_Response { + if x != nil { + return x.Response } return nil } func (x *DryRunSuccessResponse) GetBlockStateLoaded() *DryRunSuccessResponse_BlockStateLoaded { - if x, ok := x.GetResponse().(*DryRunSuccessResponse_BlockStateLoaded_); ok { - return x.BlockStateLoaded + if x != nil { + if x, ok := x.Response.(*DryRunSuccessResponse_BlockStateLoaded_); ok { + return x.BlockStateLoaded + } } return nil } func (x *DryRunSuccessResponse) GetAccountInfo() *AccountInfo { - if x, ok := x.GetResponse().(*DryRunSuccessResponse_AccountInfo); ok { - return x.AccountInfo + if x != nil { + if x, ok := x.Response.(*DryRunSuccessResponse_AccountInfo); ok { + return x.AccountInfo + } } return nil } func (x *DryRunSuccessResponse) GetInstanceInfo() *InstanceInfo { - if x, ok := x.GetResponse().(*DryRunSuccessResponse_InstanceInfo); ok { - return x.InstanceInfo + if x != nil { + if x, ok := x.Response.(*DryRunSuccessResponse_InstanceInfo); ok { + return x.InstanceInfo + } } return nil } func (x *DryRunSuccessResponse) GetInvokeSucceeded() *DryRunSuccessResponse_InvokeSuccess { - if x, ok := x.GetResponse().(*DryRunSuccessResponse_InvokeSucceeded); ok { - return x.InvokeSucceeded + if x != nil { + if x, ok := x.Response.(*DryRunSuccessResponse_InvokeSucceeded); ok { + return x.InvokeSucceeded + } } return nil } func (x *DryRunSuccessResponse) GetTimestampSet() *DryRunSuccessResponse_TimestampSet { - if x, ok := x.GetResponse().(*DryRunSuccessResponse_TimestampSet_); ok { - return x.TimestampSet + if x != nil { + if x, ok := x.Response.(*DryRunSuccessResponse_TimestampSet_); ok { + return x.TimestampSet + } } return nil } func (x *DryRunSuccessResponse) GetMintedToAccount() *DryRunSuccessResponse_MintedToAccount { - if x, ok := x.GetResponse().(*DryRunSuccessResponse_MintedToAccount_); ok { - return x.MintedToAccount + if x != nil { + if x, ok := x.Response.(*DryRunSuccessResponse_MintedToAccount_); ok { + return x.MintedToAccount + } } return nil } func (x *DryRunSuccessResponse) GetTransactionExecuted() *DryRunSuccessResponse_TransactionExecuted { - if x, ok := x.GetResponse().(*DryRunSuccessResponse_TransactionExecuted_); ok { - return x.TransactionExecuted + if x != nil { + if x, ok := x.Response.(*DryRunSuccessResponse_TransactionExecuted_); ok { + return x.TransactionExecuted + } } return nil } @@ -18424,33 +18668,30 @@ func (*DryRunSuccessResponse_MintedToAccount_) isDryRunSuccessResponse_Response( func (*DryRunSuccessResponse_TransactionExecuted_) isDryRunSuccessResponse_Response() {} -// Source bytes of a smart contract v0 module. -type VersionedModuleSource_ModuleSourceV0 struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache +// The index of a particular finalizer in the finalization committee. +type FinalizerIndex struct { + state protoimpl.MessageState `protogen:"open.v1"` + Value uint32 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"` unknownFields protoimpl.UnknownFields - - Value []byte `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` + sizeCache protoimpl.SizeCache } -func (x *VersionedModuleSource_ModuleSourceV0) Reset() { - *x = VersionedModuleSource_ModuleSourceV0{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[216] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (x *FinalizerIndex) Reset() { + *x = FinalizerIndex{} + mi := &file_v2_concordium_types_proto_msgTypes[218] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } -func (x *VersionedModuleSource_ModuleSourceV0) String() string { +func (x *FinalizerIndex) String() string { return protoimpl.X.MessageStringOf(x) } -func (*VersionedModuleSource_ModuleSourceV0) ProtoMessage() {} +func (*FinalizerIndex) ProtoMessage() {} -func (x *VersionedModuleSource_ModuleSourceV0) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[216] - if protoimpl.UnsafeEnabled && x != nil { +func (x *FinalizerIndex) ProtoReflect() protoreflect.Message { + mi := &file_v2_concordium_types_proto_msgTypes[218] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -18460,45 +18701,51 @@ func (x *VersionedModuleSource_ModuleSourceV0) ProtoReflect() protoreflect.Messa return mi.MessageOf(x) } -// Deprecated: Use VersionedModuleSource_ModuleSourceV0.ProtoReflect.Descriptor instead. -func (*VersionedModuleSource_ModuleSourceV0) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{10, 0} +// Deprecated: Use FinalizerIndex.ProtoReflect.Descriptor instead. +func (*FinalizerIndex) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{218} } -func (x *VersionedModuleSource_ModuleSourceV0) GetValue() []byte { +func (x *FinalizerIndex) GetValue() uint32 { if x != nil { return x.Value } - return nil + return 0 } -// Source bytes of a smart contract v1 module. -type VersionedModuleSource_ModuleSourceV1 struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache +// The message that is multicast by a finalizer when validating and signing a block. +type QuorumMessage struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Signature on the relevant quorum signature message. + Signature *QuorumSignature `protobuf:"bytes,1,opt,name=signature,proto3" json:"signature,omitempty"` + // Hash of the block that is signed. + Block *BlockHash `protobuf:"bytes,2,opt,name=block,proto3" json:"block,omitempty"` + // Index of the finalizer signing the message. + Finalizer *FinalizerIndex `protobuf:"bytes,3,opt,name=finalizer,proto3" json:"finalizer,omitempty"` + // Round of the block. + Round *Round `protobuf:"bytes,4,opt,name=round,proto3" json:"round,omitempty"` + // Epoch of the block. + Epoch *Epoch `protobuf:"bytes,5,opt,name=epoch,proto3" json:"epoch,omitempty"` unknownFields protoimpl.UnknownFields - - Value []byte `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` + sizeCache protoimpl.SizeCache } -func (x *VersionedModuleSource_ModuleSourceV1) Reset() { - *x = VersionedModuleSource_ModuleSourceV1{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[217] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (x *QuorumMessage) Reset() { + *x = QuorumMessage{} + mi := &file_v2_concordium_types_proto_msgTypes[219] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } -func (x *VersionedModuleSource_ModuleSourceV1) String() string { +func (x *QuorumMessage) String() string { return protoimpl.X.MessageStringOf(x) } -func (*VersionedModuleSource_ModuleSourceV1) ProtoMessage() {} +func (*QuorumMessage) ProtoMessage() {} -func (x *VersionedModuleSource_ModuleSourceV1) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[217] - if protoimpl.UnsafeEnabled && x != nil { +func (x *QuorumMessage) ProtoReflect() protoreflect.Message { + mi := &file_v2_concordium_types_proto_msgTypes[219] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -18508,111 +18755,81 @@ func (x *VersionedModuleSource_ModuleSourceV1) ProtoReflect() protoreflect.Messa return mi.MessageOf(x) } -// Deprecated: Use VersionedModuleSource_ModuleSourceV1.ProtoReflect.Descriptor instead. -func (*VersionedModuleSource_ModuleSourceV1) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{10, 1} +// Deprecated: Use QuorumMessage.ProtoReflect.Descriptor instead. +func (*QuorumMessage) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{219} } -func (x *VersionedModuleSource_ModuleSourceV1) GetValue() []byte { +func (x *QuorumMessage) GetSignature() *QuorumSignature { if x != nil { - return x.Value + return x.Signature } return nil } -type StakePendingChange_Reduce struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - NewStake *Amount `protobuf:"bytes,1,opt,name=new_stake,json=newStake,proto3" json:"new_stake,omitempty"` - // Unix timestamp in milliseconds when the change takes effect. - EffectiveTime *Timestamp `protobuf:"bytes,2,opt,name=effective_time,json=effectiveTime,proto3" json:"effective_time,omitempty"` -} - -func (x *StakePendingChange_Reduce) Reset() { - *x = StakePendingChange_Reduce{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[218] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *QuorumMessage) GetBlock() *BlockHash { + if x != nil { + return x.Block } + return nil } -func (x *StakePendingChange_Reduce) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*StakePendingChange_Reduce) ProtoMessage() {} - -func (x *StakePendingChange_Reduce) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[218] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *QuorumMessage) GetFinalizer() *FinalizerIndex { + if x != nil { + return x.Finalizer } - return mi.MessageOf(x) -} - -// Deprecated: Use StakePendingChange_Reduce.ProtoReflect.Descriptor instead. -func (*StakePendingChange_Reduce) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{22, 0} + return nil } -func (x *StakePendingChange_Reduce) GetNewStake() *Amount { +func (x *QuorumMessage) GetRound() *Round { if x != nil { - return x.NewStake + return x.Round } return nil } -func (x *StakePendingChange_Reduce) GetEffectiveTime() *Timestamp { +func (x *QuorumMessage) GetEpoch() *Epoch { if x != nil { - return x.EffectiveTime + return x.Epoch } return nil } -type AccountStakingInfo_Baker struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache +type RawQuorumCertificate struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The hash of the block that the quorum certificate refers to. + BlockHash *BlockHash `protobuf:"bytes,1,opt,name=block_hash,json=blockHash,proto3" json:"block_hash,omitempty"` + // The round of the block. + Round *Round `protobuf:"bytes,2,opt,name=round,proto3" json:"round,omitempty"` + // The epoch of the block. + Epoch *Epoch `protobuf:"bytes,3,opt,name=epoch,proto3" json:"epoch,omitempty"` + // The aggregated signature by the finalization committee on the block. + AggregateSignature *QuorumSignature `protobuf:"bytes,4,opt,name=aggregate_signature,json=aggregateSignature,proto3" json:"aggregate_signature,omitempty"` + // A list of the finalizers that formed the quorum certificate + // i.e., the ones who have contributed to the 'aggregate_signature'. + // The finalizers are identified by their finalizer index, which refers to the + // finalization committee for the epoch. + Signatories []*FinalizerIndex `protobuf:"bytes,5,rep,name=signatories,proto3" json:"signatories,omitempty"` unknownFields protoimpl.UnknownFields - - // Amount staked at present. - StakedAmount *Amount `protobuf:"bytes,1,opt,name=staked_amount,json=stakedAmount,proto3" json:"staked_amount,omitempty"` - // A flag indicating whether rewards paid to the baker are automatically - // restaked or not. - RestakeEarnings bool `protobuf:"varint,2,opt,name=restake_earnings,json=restakeEarnings,proto3" json:"restake_earnings,omitempty"` - // Information about the baker that is staking. - BakerInfo *BakerInfo `protobuf:"bytes,3,opt,name=baker_info,json=bakerInfo,proto3" json:"baker_info,omitempty"` - // If present, any pending change to the delegated stake. - PendingChange *StakePendingChange `protobuf:"bytes,4,opt,name=pending_change,json=pendingChange,proto3,oneof" json:"pending_change,omitempty"` - // Present if the account is currently a baker, i.e., it is in the baking - // committee of the current epoch. - PoolInfo *BakerPoolInfo `protobuf:"bytes,5,opt,name=pool_info,json=poolInfo,proto3,oneof" json:"pool_info,omitempty"` + sizeCache protoimpl.SizeCache } -func (x *AccountStakingInfo_Baker) Reset() { - *x = AccountStakingInfo_Baker{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[219] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (x *RawQuorumCertificate) Reset() { + *x = RawQuorumCertificate{} + mi := &file_v2_concordium_types_proto_msgTypes[220] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } -func (x *AccountStakingInfo_Baker) String() string { +func (x *RawQuorumCertificate) String() string { return protoimpl.X.MessageStringOf(x) } -func (*AccountStakingInfo_Baker) ProtoMessage() {} +func (*RawQuorumCertificate) ProtoMessage() {} -func (x *AccountStakingInfo_Baker) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[219] - if protoimpl.UnsafeEnabled && x != nil { +func (x *RawQuorumCertificate) ProtoReflect() protoreflect.Message { + mi := &file_v2_concordium_types_proto_msgTypes[220] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -18622,79 +18839,71 @@ func (x *AccountStakingInfo_Baker) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use AccountStakingInfo_Baker.ProtoReflect.Descriptor instead. -func (*AccountStakingInfo_Baker) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{26, 0} +// Deprecated: Use RawQuorumCertificate.ProtoReflect.Descriptor instead. +func (*RawQuorumCertificate) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{220} } -func (x *AccountStakingInfo_Baker) GetStakedAmount() *Amount { +func (x *RawQuorumCertificate) GetBlockHash() *BlockHash { if x != nil { - return x.StakedAmount + return x.BlockHash } return nil } -func (x *AccountStakingInfo_Baker) GetRestakeEarnings() bool { +func (x *RawQuorumCertificate) GetRound() *Round { if x != nil { - return x.RestakeEarnings + return x.Round } - return false + return nil } -func (x *AccountStakingInfo_Baker) GetBakerInfo() *BakerInfo { +func (x *RawQuorumCertificate) GetEpoch() *Epoch { if x != nil { - return x.BakerInfo + return x.Epoch } return nil } -func (x *AccountStakingInfo_Baker) GetPendingChange() *StakePendingChange { +func (x *RawQuorumCertificate) GetAggregateSignature() *QuorumSignature { if x != nil { - return x.PendingChange + return x.AggregateSignature } return nil } -func (x *AccountStakingInfo_Baker) GetPoolInfo() *BakerPoolInfo { +func (x *RawQuorumCertificate) GetSignatories() []*FinalizerIndex { if x != nil { - return x.PoolInfo + return x.Signatories } return nil } -type AccountStakingInfo_Delegator struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache +// A (non-aggregate) signature of a validator. This is used to sign blocks produced by +// the validator as well as some finalization messages. +type BlockSignature struct { + state protoimpl.MessageState `protogen:"open.v1"` + Value []byte `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` unknownFields protoimpl.UnknownFields - - // The amount that the account delegates. - StakedAmount *Amount `protobuf:"bytes,1,opt,name=staked_amount,json=stakedAmount,proto3" json:"staked_amount,omitempty"` - // Whether the earnings are automatically added to the staked amount. - RestakeEarnings bool `protobuf:"varint,2,opt,name=restake_earnings,json=restakeEarnings,proto3" json:"restake_earnings,omitempty"` - // The entity to which the account delegates. - Target *DelegationTarget `protobuf:"bytes,3,opt,name=target,proto3" json:"target,omitempty"` - // If present, any pending change to the delegated stake. - PendingChange *StakePendingChange `protobuf:"bytes,4,opt,name=pending_change,json=pendingChange,proto3,oneof" json:"pending_change,omitempty"` + sizeCache protoimpl.SizeCache } -func (x *AccountStakingInfo_Delegator) Reset() { - *x = AccountStakingInfo_Delegator{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[220] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (x *BlockSignature) Reset() { + *x = BlockSignature{} + mi := &file_v2_concordium_types_proto_msgTypes[221] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } -func (x *AccountStakingInfo_Delegator) String() string { +func (x *BlockSignature) String() string { return protoimpl.X.MessageStringOf(x) } -func (*AccountStakingInfo_Delegator) ProtoMessage() {} +func (*BlockSignature) ProtoMessage() {} -func (x *AccountStakingInfo_Delegator) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[220] - if protoimpl.UnsafeEnabled && x != nil { +func (x *BlockSignature) ProtoReflect() protoreflect.Message { + mi := &file_v2_concordium_types_proto_msgTypes[221] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -18704,72 +18913,54 @@ func (x *AccountStakingInfo_Delegator) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use AccountStakingInfo_Delegator.ProtoReflect.Descriptor instead. -func (*AccountStakingInfo_Delegator) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{26, 1} -} - -func (x *AccountStakingInfo_Delegator) GetStakedAmount() *Amount { - if x != nil { - return x.StakedAmount - } - return nil -} - -func (x *AccountStakingInfo_Delegator) GetRestakeEarnings() bool { - if x != nil { - return x.RestakeEarnings - } - return false -} - -func (x *AccountStakingInfo_Delegator) GetTarget() *DelegationTarget { - if x != nil { - return x.Target - } - return nil +// Deprecated: Use BlockSignature.ProtoReflect.Descriptor instead. +func (*BlockSignature) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{221} } -func (x *AccountStakingInfo_Delegator) GetPendingChange() *StakePendingChange { +func (x *BlockSignature) GetValue() []byte { if x != nil { - return x.PendingChange + return x.Value } return nil } -// Request using a relative block height. -type BlockHashInput_RelativeHeight struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Genesis index to start from. - GenesisIndex *GenesisIndex `protobuf:"bytes,1,opt,name=genesis_index,json=genesisIndex,proto3" json:"genesis_index,omitempty"` - // Height starting from the genesis block at the genesis index. - Height *BlockHeight `protobuf:"bytes,2,opt,name=height,proto3" json:"height,omitempty"` - // Whether to return results only from the specified genesis index (`true`), - // or allow results from more recent genesis indices as well (`false`). - Restrict bool `protobuf:"varint,3,opt,name=restrict,proto3" json:"restrict,omitempty"` +// A timeout message including the sender's signature. +type TimeoutMessage struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Index of the finalizer signing the message. + Finalizer *FinalizerIndex `protobuf:"bytes,1,opt,name=finalizer,proto3" json:"finalizer,omitempty"` + // Round which timed out. + Round *Round `protobuf:"bytes,2,opt,name=round,proto3" json:"round,omitempty"` + // Current epoch number of the finalizer sending the timeout message. + // This can be different from the epoch of the quorum certificate. + Epoch *Epoch `protobuf:"bytes,3,opt,name=epoch,proto3" json:"epoch,omitempty"` + // Highest quorum certificate known to the finalizer at the time of timeout. + QuorumCertificate *RawQuorumCertificate `protobuf:"bytes,4,opt,name=quorum_certificate,json=quorumCertificate,proto3" json:"quorum_certificate,omitempty"` + // Signature on the appropriate timeout signature message. + Signature *TimeoutSignature `protobuf:"bytes,5,opt,name=signature,proto3" json:"signature,omitempty"` + // Signature of the finalizer on the timeout message as a whole. + MessageSignature *BlockSignature `protobuf:"bytes,6,opt,name=message_signature,json=messageSignature,proto3" json:"message_signature,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } -func (x *BlockHashInput_RelativeHeight) Reset() { - *x = BlockHashInput_RelativeHeight{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[226] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (x *TimeoutMessage) Reset() { + *x = TimeoutMessage{} + mi := &file_v2_concordium_types_proto_msgTypes[222] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } -func (x *BlockHashInput_RelativeHeight) String() string { +func (x *TimeoutMessage) String() string { return protoimpl.X.MessageStringOf(x) } -func (*BlockHashInput_RelativeHeight) ProtoMessage() {} +func (*TimeoutMessage) ProtoMessage() {} -func (x *BlockHashInput_RelativeHeight) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[226] - if protoimpl.UnsafeEnabled && x != nil { +func (x *TimeoutMessage) ProtoReflect() protoreflect.Message { + mi := &file_v2_concordium_types_proto_msgTypes[222] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -18779,63 +18970,80 @@ func (x *BlockHashInput_RelativeHeight) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use BlockHashInput_RelativeHeight.ProtoReflect.Descriptor instead. -func (*BlockHashInput_RelativeHeight) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{51, 0} +// Deprecated: Use TimeoutMessage.ProtoReflect.Descriptor instead. +func (*TimeoutMessage) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{222} } -func (x *BlockHashInput_RelativeHeight) GetGenesisIndex() *GenesisIndex { +func (x *TimeoutMessage) GetFinalizer() *FinalizerIndex { if x != nil { - return x.GenesisIndex + return x.Finalizer } return nil } -func (x *BlockHashInput_RelativeHeight) GetHeight() *BlockHeight { +func (x *TimeoutMessage) GetRound() *Round { if x != nil { - return x.Height + return x.Round } return nil } -func (x *BlockHashInput_RelativeHeight) GetRestrict() bool { +func (x *TimeoutMessage) GetEpoch() *Epoch { if x != nil { - return x.Restrict + return x.Epoch } - return false + return nil } -// Request an epoch by number at a given genesis index. -type EpochRequest_RelativeEpoch struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +func (x *TimeoutMessage) GetQuorumCertificate() *RawQuorumCertificate { + if x != nil { + return x.QuorumCertificate + } + return nil +} - // The genesis index to query at. The query is restricted to this genesis index, and - // will not return results for other indices even if the epoch number is out of bounds. - GenesisIndex *GenesisIndex `protobuf:"bytes,1,opt,name=genesis_index,json=genesisIndex,proto3" json:"genesis_index,omitempty"` - // The epoch number to query at. - Epoch *Epoch `protobuf:"bytes,2,opt,name=epoch,proto3" json:"epoch,omitempty"` +func (x *TimeoutMessage) GetSignature() *TimeoutSignature { + if x != nil { + return x.Signature + } + return nil } -func (x *EpochRequest_RelativeEpoch) Reset() { - *x = EpochRequest_RelativeEpoch{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[227] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *TimeoutMessage) GetMessageSignature() *BlockSignature { + if x != nil { + return x.MessageSignature } + return nil } -func (x *EpochRequest_RelativeEpoch) String() string { +type RawFinalizerRound struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The round that was signed off. + Round *Round `protobuf:"bytes,1,opt,name=round,proto3" json:"round,omitempty"` + // The finalizers (identified by their 'FinalizerIndex') that + // signed off in 'round'. + Finalizers []*FinalizerIndex `protobuf:"bytes,2,rep,name=finalizers,proto3" json:"finalizers,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RawFinalizerRound) Reset() { + *x = RawFinalizerRound{} + mi := &file_v2_concordium_types_proto_msgTypes[223] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RawFinalizerRound) String() string { return protoimpl.X.MessageStringOf(x) } -func (*EpochRequest_RelativeEpoch) ProtoMessage() {} +func (*RawFinalizerRound) ProtoMessage() {} -func (x *EpochRequest_RelativeEpoch) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[227] - if protoimpl.UnsafeEnabled && x != nil { +func (x *RawFinalizerRound) ProtoReflect() protoreflect.Message { + mi := &file_v2_concordium_types_proto_msgTypes[223] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -18845,63 +19053,65 @@ func (x *EpochRequest_RelativeEpoch) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use EpochRequest_RelativeEpoch.ProtoReflect.Descriptor instead. -func (*EpochRequest_RelativeEpoch) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{52, 0} +// Deprecated: Use RawFinalizerRound.ProtoReflect.Descriptor instead. +func (*RawFinalizerRound) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{223} } -func (x *EpochRequest_RelativeEpoch) GetGenesisIndex() *GenesisIndex { +func (x *RawFinalizerRound) GetRound() *Round { if x != nil { - return x.GenesisIndex + return x.Round } return nil } -func (x *EpochRequest_RelativeEpoch) GetEpoch() *Epoch { +func (x *RawFinalizerRound) GetFinalizers() []*FinalizerIndex { if x != nil { - return x.Epoch + return x.Finalizers } return nil } -// Version 0 smart contract instance information. -type InstanceInfo_V0 struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The state of the instance. - Model *ContractStateV0 `protobuf:"bytes,1,opt,name=model,proto3" json:"model,omitempty"` - // The account address which deployed the instance. - Owner *AccountAddress `protobuf:"bytes,2,opt,name=owner,proto3" json:"owner,omitempty"` - // The amount of CCD tokens in the balance of the instance. - Amount *Amount `protobuf:"bytes,3,opt,name=amount,proto3" json:"amount,omitempty"` - // A list of endpoints exposed by the instance. - Methods []*ReceiveName `protobuf:"bytes,4,rep,name=methods,proto3" json:"methods,omitempty"` - // The name of the smart contract of the instance. - Name *InitName `protobuf:"bytes,5,opt,name=name,proto3" json:"name,omitempty"` - // The module reference for the smart contract module of the instance. - SourceModule *ModuleRef `protobuf:"bytes,6,opt,name=source_module,json=sourceModule,proto3" json:"source_module,omitempty"` +// A timeout certificate is the certificate that the +// finalization committee issues when a round times out, +// thus making it possible for the protocol to proceed to the +// next round. +type RawTimeoutCertificate struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The round that timed out. + Round *Round `protobuf:"bytes,1,opt,name=round,proto3" json:"round,omitempty"` + // The minimum epoch of which signatures are included + // in the 'aggregate_signature'. + MinEpoch *Epoch `protobuf:"bytes,2,opt,name=min_epoch,json=minEpoch,proto3" json:"min_epoch,omitempty"` + // The rounds of which finalizers have their best + // QCs in the 'min_epoch'. + QcRoundsFirstEpoch []*RawFinalizerRound `protobuf:"bytes,3,rep,name=qc_rounds_first_epoch,json=qcRoundsFirstEpoch,proto3" json:"qc_rounds_first_epoch,omitempty"` + // The rounds of which finalizers have their best + // QCs in the epoch 'min_epoch' + 1. + QcRoundsSecondEpoch []*RawFinalizerRound `protobuf:"bytes,4,rep,name=qc_rounds_second_epoch,json=qcRoundsSecondEpoch,proto3" json:"qc_rounds_second_epoch,omitempty"` + // The aggregated signature by the finalization committee that witnessed + // the 'round' timed out. + AggregateSignature *TimeoutSignature `protobuf:"bytes,5,opt,name=aggregate_signature,json=aggregateSignature,proto3" json:"aggregate_signature,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } -func (x *InstanceInfo_V0) Reset() { - *x = InstanceInfo_V0{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[228] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (x *RawTimeoutCertificate) Reset() { + *x = RawTimeoutCertificate{} + mi := &file_v2_concordium_types_proto_msgTypes[224] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } -func (x *InstanceInfo_V0) String() string { +func (x *RawTimeoutCertificate) String() string { return protoimpl.X.MessageStringOf(x) } -func (*InstanceInfo_V0) ProtoMessage() {} +func (*RawTimeoutCertificate) ProtoMessage() {} -func (x *InstanceInfo_V0) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[228] - if protoimpl.UnsafeEnabled && x != nil { +func (x *RawTimeoutCertificate) ProtoReflect() protoreflect.Message { + mi := &file_v2_concordium_types_proto_msgTypes[224] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -18911,89 +19121,77 @@ func (x *InstanceInfo_V0) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use InstanceInfo_V0.ProtoReflect.Descriptor instead. -func (*InstanceInfo_V0) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{60, 0} -} - -func (x *InstanceInfo_V0) GetModel() *ContractStateV0 { - if x != nil { - return x.Model - } - return nil +// Deprecated: Use RawTimeoutCertificate.ProtoReflect.Descriptor instead. +func (*RawTimeoutCertificate) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{224} } -func (x *InstanceInfo_V0) GetOwner() *AccountAddress { +func (x *RawTimeoutCertificate) GetRound() *Round { if x != nil { - return x.Owner + return x.Round } return nil } -func (x *InstanceInfo_V0) GetAmount() *Amount { +func (x *RawTimeoutCertificate) GetMinEpoch() *Epoch { if x != nil { - return x.Amount + return x.MinEpoch } return nil } -func (x *InstanceInfo_V0) GetMethods() []*ReceiveName { +func (x *RawTimeoutCertificate) GetQcRoundsFirstEpoch() []*RawFinalizerRound { if x != nil { - return x.Methods + return x.QcRoundsFirstEpoch } return nil } -func (x *InstanceInfo_V0) GetName() *InitName { +func (x *RawTimeoutCertificate) GetQcRoundsSecondEpoch() []*RawFinalizerRound { if x != nil { - return x.Name + return x.QcRoundsSecondEpoch } return nil } -func (x *InstanceInfo_V0) GetSourceModule() *ModuleRef { +func (x *RawTimeoutCertificate) GetAggregateSignature() *TimeoutSignature { if x != nil { - return x.SourceModule + return x.AggregateSignature } return nil } -// Version 1 smart contract instance information. -type InstanceInfo_V1 struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache +type PersistentRoundStatus struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The last signed quorum message by the node. + LastSignedQuorumMessage *QuorumMessage `protobuf:"bytes,1,opt,name=last_signed_quorum_message,json=lastSignedQuorumMessage,proto3,oneof" json:"last_signed_quorum_message,omitempty"` + // The last signed timeout message by the node. + LastSignedTimeoutMessage *TimeoutMessage `protobuf:"bytes,2,opt,name=last_signed_timeout_message,json=lastSignedTimeoutMessage,proto3,oneof" json:"last_signed_timeout_message,omitempty"` + // The last round the node baked in. + LastBakedRound *Round `protobuf:"bytes,3,opt,name=last_baked_round,json=lastBakedRound,proto3" json:"last_baked_round,omitempty"` + // The latest timeout certificate seen by the node. May be absent if the node has seen a + // quorum certificate for a more recent round. + LatestTimeout *RawTimeoutCertificate `protobuf:"bytes,4,opt,name=latest_timeout,json=latestTimeout,proto3,oneof" json:"latest_timeout,omitempty"` unknownFields protoimpl.UnknownFields - - // The account address which deployed the instance. - Owner *AccountAddress `protobuf:"bytes,2,opt,name=owner,proto3" json:"owner,omitempty"` - // The amount of CCD tokens in the balance of the instance. - Amount *Amount `protobuf:"bytes,3,opt,name=amount,proto3" json:"amount,omitempty"` - // A list of endpoints exposed by the instance. - Methods []*ReceiveName `protobuf:"bytes,4,rep,name=methods,proto3" json:"methods,omitempty"` - // The name of the smart contract of the instance. - Name *InitName `protobuf:"bytes,5,opt,name=name,proto3" json:"name,omitempty"` - // The module reference for the smart contract module of the instance. - SourceModule *ModuleRef `protobuf:"bytes,6,opt,name=source_module,json=sourceModule,proto3" json:"source_module,omitempty"` + sizeCache protoimpl.SizeCache } -func (x *InstanceInfo_V1) Reset() { - *x = InstanceInfo_V1{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[229] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (x *PersistentRoundStatus) Reset() { + *x = PersistentRoundStatus{} + mi := &file_v2_concordium_types_proto_msgTypes[225] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } -func (x *InstanceInfo_V1) String() string { +func (x *PersistentRoundStatus) String() string { return protoimpl.X.MessageStringOf(x) } -func (*InstanceInfo_V1) ProtoMessage() {} +func (*PersistentRoundStatus) ProtoMessage() {} -func (x *InstanceInfo_V1) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[229] - if protoimpl.UnsafeEnabled && x != nil { +func (x *PersistentRoundStatus) ProtoReflect() protoreflect.Message { + mi := &file_v2_concordium_types_proto_msgTypes[225] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -19003,72 +19201,65 @@ func (x *InstanceInfo_V1) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use InstanceInfo_V1.ProtoReflect.Descriptor instead. -func (*InstanceInfo_V1) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{60, 1} -} - -func (x *InstanceInfo_V1) GetOwner() *AccountAddress { - if x != nil { - return x.Owner - } - return nil +// Deprecated: Use PersistentRoundStatus.ProtoReflect.Descriptor instead. +func (*PersistentRoundStatus) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{225} } -func (x *InstanceInfo_V1) GetAmount() *Amount { +func (x *PersistentRoundStatus) GetLastSignedQuorumMessage() *QuorumMessage { if x != nil { - return x.Amount + return x.LastSignedQuorumMessage } return nil } -func (x *InstanceInfo_V1) GetMethods() []*ReceiveName { +func (x *PersistentRoundStatus) GetLastSignedTimeoutMessage() *TimeoutMessage { if x != nil { - return x.Methods + return x.LastSignedTimeoutMessage } return nil } -func (x *InstanceInfo_V1) GetName() *InitName { +func (x *PersistentRoundStatus) GetLastBakedRound() *Round { if x != nil { - return x.Name + return x.LastBakedRound } return nil } -func (x *InstanceInfo_V1) GetSourceModule() *ModuleRef { +func (x *PersistentRoundStatus) GetLatestTimeout() *RawTimeoutCertificate { if x != nil { - return x.SourceModule + return x.LatestTimeout } return nil } -type BlockItemStatus_Committed struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Outcomes []*BlockItemSummaryInBlock `protobuf:"bytes,1,rep,name=outcomes,proto3" json:"outcomes,omitempty"` +type RoundTimeout struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Timeout certificate for the round that timed out. + TimeoutCertificate *RawTimeoutCertificate `protobuf:"bytes,1,opt,name=timeout_certificate,json=timeoutCertificate,proto3" json:"timeout_certificate,omitempty"` + // The highest known quorum certificate when the round timed out. + QuorumCertificate *RawQuorumCertificate `protobuf:"bytes,2,opt,name=quorum_certificate,json=quorumCertificate,proto3" json:"quorum_certificate,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } -func (x *BlockItemStatus_Committed) Reset() { - *x = BlockItemStatus_Committed{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[230] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (x *RoundTimeout) Reset() { + *x = RoundTimeout{} + mi := &file_v2_concordium_types_proto_msgTypes[226] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } -func (x *BlockItemStatus_Committed) String() string { +func (x *RoundTimeout) String() string { return protoimpl.X.MessageStringOf(x) } -func (*BlockItemStatus_Committed) ProtoMessage() {} +func (*RoundTimeout) ProtoMessage() {} -func (x *BlockItemStatus_Committed) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[230] - if protoimpl.UnsafeEnabled && x != nil { +func (x *RoundTimeout) ProtoReflect() protoreflect.Message { + mi := &file_v2_concordium_types_proto_msgTypes[226] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -19078,44 +19269,55 @@ func (x *BlockItemStatus_Committed) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use BlockItemStatus_Committed.ProtoReflect.Descriptor instead. -func (*BlockItemStatus_Committed) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{68, 0} +// Deprecated: Use RoundTimeout.ProtoReflect.Descriptor instead. +func (*RoundTimeout) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{226} } -func (x *BlockItemStatus_Committed) GetOutcomes() []*BlockItemSummaryInBlock { +func (x *RoundTimeout) GetTimeoutCertificate() *RawTimeoutCertificate { if x != nil { - return x.Outcomes + return x.TimeoutCertificate } return nil } -type BlockItemStatus_Finalized struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +func (x *RoundTimeout) GetQuorumCertificate() *RawQuorumCertificate { + if x != nil { + return x.QuorumCertificate + } + return nil +} - Outcome *BlockItemSummaryInBlock `protobuf:"bytes,1,opt,name=outcome,proto3" json:"outcome,omitempty"` +type RawFinalizationEntry struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The quorum certificate for the finalized block. + FinalizedQc *RawQuorumCertificate `protobuf:"bytes,1,opt,name=finalized_qc,json=finalizedQc,proto3" json:"finalized_qc,omitempty"` + // The quorum certificate for the block that finalizes + // the block that 'finalized_qc' points to. + SuccessorQc *RawQuorumCertificate `protobuf:"bytes,2,opt,name=successor_qc,json=successorQc,proto3" json:"successor_qc,omitempty"` + // A proof that the successor block is an immediate + // successor of the finalized block. + SuccessorProof *SuccessorProof `protobuf:"bytes,3,opt,name=successor_proof,json=successorProof,proto3" json:"successor_proof,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } -func (x *BlockItemStatus_Finalized) Reset() { - *x = BlockItemStatus_Finalized{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[231] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (x *RawFinalizationEntry) Reset() { + *x = RawFinalizationEntry{} + mi := &file_v2_concordium_types_proto_msgTypes[227] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } -func (x *BlockItemStatus_Finalized) String() string { +func (x *RawFinalizationEntry) String() string { return protoimpl.X.MessageStringOf(x) } -func (*BlockItemStatus_Finalized) ProtoMessage() {} +func (*RawFinalizationEntry) ProtoMessage() {} -func (x *BlockItemStatus_Finalized) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[231] - if protoimpl.UnsafeEnabled && x != nil { +func (x *RawFinalizationEntry) ProtoReflect() protoreflect.Message { + mi := &file_v2_concordium_types_proto_msgTypes[227] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -19125,45 +19327,80 @@ func (x *BlockItemStatus_Finalized) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use BlockItemStatus_Finalized.ProtoReflect.Descriptor instead. -func (*BlockItemStatus_Finalized) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{68, 1} +// Deprecated: Use RawFinalizationEntry.ProtoReflect.Descriptor instead. +func (*RawFinalizationEntry) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{227} } -func (x *BlockItemStatus_Finalized) GetOutcome() *BlockItemSummaryInBlock { +func (x *RawFinalizationEntry) GetFinalizedQc() *RawQuorumCertificate { if x != nil { - return x.Outcome + return x.FinalizedQc } return nil } -type RejectReason_InvalidInitMethod struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ModuleRef *ModuleRef `protobuf:"bytes,1,opt,name=module_ref,json=moduleRef,proto3" json:"module_ref,omitempty"` - InitName *InitName `protobuf:"bytes,2,opt,name=init_name,json=initName,proto3" json:"init_name,omitempty"` +func (x *RawFinalizationEntry) GetSuccessorQc() *RawQuorumCertificate { + if x != nil { + return x.SuccessorQc + } + return nil } -func (x *RejectReason_InvalidInitMethod) Reset() { - *x = RejectReason_InvalidInitMethod{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[232] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *RawFinalizationEntry) GetSuccessorProof() *SuccessorProof { + if x != nil { + return x.SuccessorProof } + return nil } -func (x *RejectReason_InvalidInitMethod) String() string { +// The current round status. +type RoundStatus struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The current round from the perspective of the node. + // This should always be higher than the round of the highest certified block. + // If the previous round did not timeout, it should be one more than the round of + // the `highest_certified_block`. Otherwise, it should be one more than the round of + // the `previous_round_timeout`. + CurrentRound *Round `protobuf:"bytes,1,opt,name=current_round,json=currentRound,proto3" json:"current_round,omitempty"` + // The quorum certificate for the highest certified block. + HighestCertifiedBlock *RawQuorumCertificate `protobuf:"bytes,2,opt,name=highest_certified_block,json=highestCertifiedBlock,proto3" json:"highest_certified_block,omitempty"` + // If the last round timed out, this is the timeout certificate for that round and + // the highest quorum certificate at the time the round timed out. + PreviousRoundTimeout *RoundTimeout `protobuf:"bytes,3,opt,name=previous_round_timeout,json=previousRoundTimeout,proto3,oneof" json:"previous_round_timeout,omitempty"` + // Flag indicating whether the node should attempt to bake in the current round. + // This is set to true when the round is advanced, and set to false once the node has + // attempted to bake for the round. + RoundEligibleToBake bool `protobuf:"varint,4,opt,name=round_eligible_to_bake,json=roundEligibleToBake,proto3" json:"round_eligible_to_bake,omitempty"` + // The current epoch. This should either be the same as the epoch of the last finalized + // block (if its timestamp is before the trigger block time) or the next epoch from the last + // finalized block (if its timestamp is at least the trigger block time). + CurrentEpoch *Epoch `protobuf:"bytes,5,opt,name=current_epoch,json=currentEpoch,proto3" json:"current_epoch,omitempty"` + // If present, an epoch finalization entry for the epoch before `current_epoch`. + // An entry must be present if the current epoch is greater than the epoch of the last + // finalized block. + LastEpochFinalizationEntry *RawFinalizationEntry `protobuf:"bytes,6,opt,name=last_epoch_finalization_entry,json=lastEpochFinalizationEntry,proto3,oneof" json:"last_epoch_finalization_entry,omitempty"` + // The current duration the node will wait before a round times out. + CurrentTimeout *Duration `protobuf:"bytes,7,opt,name=current_timeout,json=currentTimeout,proto3" json:"current_timeout,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RoundStatus) Reset() { + *x = RoundStatus{} + mi := &file_v2_concordium_types_proto_msgTypes[228] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RoundStatus) String() string { return protoimpl.X.MessageStringOf(x) } -func (*RejectReason_InvalidInitMethod) ProtoMessage() {} +func (*RoundStatus) ProtoMessage() {} -func (x *RejectReason_InvalidInitMethod) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[232] - if protoimpl.UnsafeEnabled && x != nil { +func (x *RoundStatus) ProtoReflect() protoreflect.Message { + mi := &file_v2_concordium_types_proto_msgTypes[228] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -19173,52 +19410,86 @@ func (x *RejectReason_InvalidInitMethod) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use RejectReason_InvalidInitMethod.ProtoReflect.Descriptor instead. -func (*RejectReason_InvalidInitMethod) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{74, 0} +// Deprecated: Use RoundStatus.ProtoReflect.Descriptor instead. +func (*RoundStatus) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{228} } -func (x *RejectReason_InvalidInitMethod) GetModuleRef() *ModuleRef { +func (x *RoundStatus) GetCurrentRound() *Round { if x != nil { - return x.ModuleRef + return x.CurrentRound } return nil } -func (x *RejectReason_InvalidInitMethod) GetInitName() *InitName { +func (x *RoundStatus) GetHighestCertifiedBlock() *RawQuorumCertificate { if x != nil { - return x.InitName + return x.HighestCertifiedBlock } return nil } -type RejectReason_InvalidReceiveMethod struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ModuleRef *ModuleRef `protobuf:"bytes,1,opt,name=module_ref,json=moduleRef,proto3" json:"module_ref,omitempty"` - ReceiveName *ReceiveName `protobuf:"bytes,2,opt,name=receive_name,json=receiveName,proto3" json:"receive_name,omitempty"` +func (x *RoundStatus) GetPreviousRoundTimeout() *RoundTimeout { + if x != nil { + return x.PreviousRoundTimeout + } + return nil } -func (x *RejectReason_InvalidReceiveMethod) Reset() { - *x = RejectReason_InvalidReceiveMethod{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[233] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *RoundStatus) GetRoundEligibleToBake() bool { + if x != nil { + return x.RoundEligibleToBake } + return false } -func (x *RejectReason_InvalidReceiveMethod) String() string { - return protoimpl.X.MessageStringOf(x) +func (x *RoundStatus) GetCurrentEpoch() *Epoch { + if x != nil { + return x.CurrentEpoch + } + return nil } -func (*RejectReason_InvalidReceiveMethod) ProtoMessage() {} +func (x *RoundStatus) GetLastEpochFinalizationEntry() *RawFinalizationEntry { + if x != nil { + return x.LastEpochFinalizationEntry + } + return nil +} -func (x *RejectReason_InvalidReceiveMethod) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[233] - if protoimpl.UnsafeEnabled && x != nil { +func (x *RoundStatus) GetCurrentTimeout() *Duration { + if x != nil { + return x.CurrentTimeout + } + return nil +} + +type BlockTableSummary struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The number of blocks in the dead block cache. + DeadBlockCacheSize uint64 `protobuf:"varint,1,opt,name=dead_block_cache_size,json=deadBlockCacheSize,proto3" json:"dead_block_cache_size,omitempty"` + // The blocks that are currently live (not dead and not finalized). + LiveBlocks []*BlockHash `protobuf:"bytes,2,rep,name=live_blocks,json=liveBlocks,proto3" json:"live_blocks,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *BlockTableSummary) Reset() { + *x = BlockTableSummary{} + mi := &file_v2_concordium_types_proto_msgTypes[229] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *BlockTableSummary) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BlockTableSummary) ProtoMessage() {} + +func (x *BlockTableSummary) ProtoReflect() protoreflect.Message { + mi := &file_v2_concordium_types_proto_msgTypes[229] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -19228,52 +19499,98 @@ func (x *RejectReason_InvalidReceiveMethod) ProtoReflect() protoreflect.Message return mi.MessageOf(x) } -// Deprecated: Use RejectReason_InvalidReceiveMethod.ProtoReflect.Descriptor instead. -func (*RejectReason_InvalidReceiveMethod) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{74, 1} +// Deprecated: Use BlockTableSummary.ProtoReflect.Descriptor instead. +func (*BlockTableSummary) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{229} } -func (x *RejectReason_InvalidReceiveMethod) GetModuleRef() *ModuleRef { +func (x *BlockTableSummary) GetDeadBlockCacheSize() uint64 { if x != nil { - return x.ModuleRef + return x.DeadBlockCacheSize } - return nil + return 0 } -func (x *RejectReason_InvalidReceiveMethod) GetReceiveName() *ReceiveName { +func (x *BlockTableSummary) GetLiveBlocks() []*BlockHash { if x != nil { - return x.ReceiveName + return x.LiveBlocks } return nil } -type RejectReason_AmountTooLarge struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +// A list of block hashes at a particular branch height. +type BranchBlocks struct { + state protoimpl.MessageState `protogen:"open.v1"` + BlocksAtBranchHeight []*BlockHash `protobuf:"bytes,1,rep,name=blocks_at_branch_height,json=blocksAtBranchHeight,proto3" json:"blocks_at_branch_height,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *BranchBlocks) Reset() { + *x = BranchBlocks{} + mi := &file_v2_concordium_types_proto_msgTypes[230] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} - Address *Address `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` - Amount *Amount `protobuf:"bytes,2,opt,name=amount,proto3" json:"amount,omitempty"` +func (x *BranchBlocks) String() string { + return protoimpl.X.MessageStringOf(x) } -func (x *RejectReason_AmountTooLarge) Reset() { - *x = RejectReason_AmountTooLarge{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[234] +func (*BranchBlocks) ProtoMessage() {} + +func (x *BranchBlocks) ProtoReflect() protoreflect.Message { + mi := &file_v2_concordium_types_proto_msgTypes[230] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } + return mi.MessageOf(x) } -func (x *RejectReason_AmountTooLarge) String() string { +// Deprecated: Use BranchBlocks.ProtoReflect.Descriptor instead. +func (*BranchBlocks) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{230} +} + +func (x *BranchBlocks) GetBlocksAtBranchHeight() []*BlockHash { + if x != nil { + return x.BlocksAtBranchHeight + } + return nil +} + +type RoundExistingBlock struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The round for which the node saw a block. + Round *Round `protobuf:"bytes,1,opt,name=round,proto3" json:"round,omitempty"` + // The baker that baked the block. + Baker *BakerId `protobuf:"bytes,2,opt,name=baker,proto3" json:"baker,omitempty"` + // The hash of the block. + Block *BlockHash `protobuf:"bytes,3,opt,name=block,proto3" json:"block,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RoundExistingBlock) Reset() { + *x = RoundExistingBlock{} + mi := &file_v2_concordium_types_proto_msgTypes[231] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RoundExistingBlock) String() string { return protoimpl.X.MessageStringOf(x) } -func (*RejectReason_AmountTooLarge) ProtoMessage() {} +func (*RoundExistingBlock) ProtoMessage() {} -func (x *RejectReason_AmountTooLarge) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[234] - if protoimpl.UnsafeEnabled && x != nil { +func (x *RoundExistingBlock) ProtoReflect() protoreflect.Message { + mi := &file_v2_concordium_types_proto_msgTypes[231] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -19283,51 +19600,58 @@ func (x *RejectReason_AmountTooLarge) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use RejectReason_AmountTooLarge.ProtoReflect.Descriptor instead. -func (*RejectReason_AmountTooLarge) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{74, 2} +// Deprecated: Use RoundExistingBlock.ProtoReflect.Descriptor instead. +func (*RoundExistingBlock) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{231} } -func (x *RejectReason_AmountTooLarge) GetAddress() *Address { +func (x *RoundExistingBlock) GetRound() *Round { if x != nil { - return x.Address + return x.Round } return nil } -func (x *RejectReason_AmountTooLarge) GetAmount() *Amount { +func (x *RoundExistingBlock) GetBaker() *BakerId { if x != nil { - return x.Amount + return x.Baker } return nil } -type RejectReason_RejectedInit struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +func (x *RoundExistingBlock) GetBlock() *BlockHash { + if x != nil { + return x.Block + } + return nil +} - RejectReason int32 `protobuf:"varint,1,opt,name=reject_reason,json=rejectReason,proto3" json:"reject_reason,omitempty"` +type RoundExistingQC struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The round for which a QC was seen. + Round *Round `protobuf:"bytes,1,opt,name=round,proto3" json:"round,omitempty"` + // The epoch of the QC. + Epoch *Epoch `protobuf:"bytes,2,opt,name=epoch,proto3" json:"epoch,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } -func (x *RejectReason_RejectedInit) Reset() { - *x = RejectReason_RejectedInit{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[235] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (x *RoundExistingQC) Reset() { + *x = RoundExistingQC{} + mi := &file_v2_concordium_types_proto_msgTypes[232] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } -func (x *RejectReason_RejectedInit) String() string { +func (x *RoundExistingQC) String() string { return protoimpl.X.MessageStringOf(x) } -func (*RejectReason_RejectedInit) ProtoMessage() {} +func (*RoundExistingQC) ProtoMessage() {} -func (x *RejectReason_RejectedInit) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[235] - if protoimpl.UnsafeEnabled && x != nil { +func (x *RoundExistingQC) ProtoReflect() protoreflect.Message { + mi := &file_v2_concordium_types_proto_msgTypes[232] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -19337,47 +19661,58 @@ func (x *RejectReason_RejectedInit) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use RejectReason_RejectedInit.ProtoReflect.Descriptor instead. -func (*RejectReason_RejectedInit) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{74, 3} +// Deprecated: Use RoundExistingQC.ProtoReflect.Descriptor instead. +func (*RoundExistingQC) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{232} } -func (x *RejectReason_RejectedInit) GetRejectReason() int32 { +func (x *RoundExistingQC) GetRound() *Round { if x != nil { - return x.RejectReason + return x.Round } - return 0 + return nil } -type RejectReason_RejectedReceive struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +func (x *RoundExistingQC) GetEpoch() *Epoch { + if x != nil { + return x.Epoch + } + return nil +} - RejectReason int32 `protobuf:"varint,1,opt,name=reject_reason,json=rejectReason,proto3" json:"reject_reason,omitempty"` - ContractAddress *ContractAddress `protobuf:"bytes,2,opt,name=contract_address,json=contractAddress,proto3" json:"contract_address,omitempty"` - ReceiveName *ReceiveName `protobuf:"bytes,3,opt,name=receive_name,json=receiveName,proto3" json:"receive_name,omitempty"` - Parameter *Parameter `protobuf:"bytes,4,opt,name=parameter,proto3" json:"parameter,omitempty"` +// The keys an stake of a specific baker. +type FullBakerInfo struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The baker's identity. + BakerIdentity *BakerId `protobuf:"bytes,1,opt,name=baker_identity,json=bakerIdentity,proto3" json:"baker_identity,omitempty"` + // The baker's election verify key. + ElectionVerifyKey *BakerElectionVerifyKey `protobuf:"bytes,2,opt,name=election_verify_key,json=electionVerifyKey,proto3" json:"election_verify_key,omitempty"` + // The baker's signature verify key. + SignatureVerifyKey *BakerSignatureVerifyKey `protobuf:"bytes,3,opt,name=signature_verify_key,json=signatureVerifyKey,proto3" json:"signature_verify_key,omitempty"` + // The baker's aggregation verify key. + AggregationVerifyKey *BakerAggregationVerifyKey `protobuf:"bytes,4,opt,name=aggregation_verify_key,json=aggregationVerifyKey,proto3" json:"aggregation_verify_key,omitempty"` + // The stake of the baker. + Stake *Amount `protobuf:"bytes,5,opt,name=stake,proto3" json:"stake,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } -func (x *RejectReason_RejectedReceive) Reset() { - *x = RejectReason_RejectedReceive{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[236] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (x *FullBakerInfo) Reset() { + *x = FullBakerInfo{} + mi := &file_v2_concordium_types_proto_msgTypes[233] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } -func (x *RejectReason_RejectedReceive) String() string { +func (x *FullBakerInfo) String() string { return protoimpl.X.MessageStringOf(x) } -func (*RejectReason_RejectedReceive) ProtoMessage() {} +func (*FullBakerInfo) ProtoMessage() {} -func (x *RejectReason_RejectedReceive) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[236] - if protoimpl.UnsafeEnabled && x != nil { +func (x *FullBakerInfo) ProtoReflect() protoreflect.Message { + mi := &file_v2_concordium_types_proto_msgTypes[233] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -19387,65 +19722,71 @@ func (x *RejectReason_RejectedReceive) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use RejectReason_RejectedReceive.ProtoReflect.Descriptor instead. -func (*RejectReason_RejectedReceive) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{74, 4} +// Deprecated: Use FullBakerInfo.ProtoReflect.Descriptor instead. +func (*FullBakerInfo) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{233} } -func (x *RejectReason_RejectedReceive) GetRejectReason() int32 { +func (x *FullBakerInfo) GetBakerIdentity() *BakerId { if x != nil { - return x.RejectReason + return x.BakerIdentity } - return 0 + return nil } -func (x *RejectReason_RejectedReceive) GetContractAddress() *ContractAddress { +func (x *FullBakerInfo) GetElectionVerifyKey() *BakerElectionVerifyKey { if x != nil { - return x.ContractAddress + return x.ElectionVerifyKey } return nil } -func (x *RejectReason_RejectedReceive) GetReceiveName() *ReceiveName { +func (x *FullBakerInfo) GetSignatureVerifyKey() *BakerSignatureVerifyKey { if x != nil { - return x.ReceiveName + return x.SignatureVerifyKey } return nil } -func (x *RejectReason_RejectedReceive) GetParameter() *Parameter { +func (x *FullBakerInfo) GetAggregationVerifyKey() *BakerAggregationVerifyKey { if x != nil { - return x.Parameter + return x.AggregationVerifyKey } return nil } -type RejectReason_DuplicateCredIds struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +func (x *FullBakerInfo) GetStake() *Amount { + if x != nil { + return x.Stake + } + return nil +} - Ids []*CredentialRegistrationId `protobuf:"bytes,1,rep,name=ids,proto3" json:"ids,omitempty"` +// The hash of the finalization committee, derived from the weights and aggregation +// keys of the finalizers. +type FinalizationCommitteeHash struct { + state protoimpl.MessageState `protogen:"open.v1"` + Value []byte `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } -func (x *RejectReason_DuplicateCredIds) Reset() { - *x = RejectReason_DuplicateCredIds{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[237] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (x *FinalizationCommitteeHash) Reset() { + *x = FinalizationCommitteeHash{} + mi := &file_v2_concordium_types_proto_msgTypes[234] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } -func (x *RejectReason_DuplicateCredIds) String() string { +func (x *FinalizationCommitteeHash) String() string { return protoimpl.X.MessageStringOf(x) } -func (*RejectReason_DuplicateCredIds) ProtoMessage() {} +func (*FinalizationCommitteeHash) ProtoMessage() {} -func (x *RejectReason_DuplicateCredIds) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[237] - if protoimpl.UnsafeEnabled && x != nil { +func (x *FinalizationCommitteeHash) ProtoReflect() protoreflect.Message { + mi := &file_v2_concordium_types_proto_msgTypes[234] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -19455,44 +19796,51 @@ func (x *RejectReason_DuplicateCredIds) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use RejectReason_DuplicateCredIds.ProtoReflect.Descriptor instead. -func (*RejectReason_DuplicateCredIds) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{74, 5} +// Deprecated: Use FinalizationCommitteeHash.ProtoReflect.Descriptor instead. +func (*FinalizationCommitteeHash) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{234} } -func (x *RejectReason_DuplicateCredIds) GetIds() []*CredentialRegistrationId { +func (x *FinalizationCommitteeHash) GetValue() []byte { if x != nil { - return x.Ids + return x.Value } return nil } -type RejectReason_NonExistentCredIds struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Ids []*CredentialRegistrationId `protobuf:"bytes,1,rep,name=ids,proto3" json:"ids,omitempty"` -} - -func (x *RejectReason_NonExistentCredIds) Reset() { - *x = RejectReason_NonExistentCredIds{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[238] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +type BakersAndFinalizers struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The set of bakers. + Bakers []*FullBakerInfo `protobuf:"bytes,1,rep,name=bakers,proto3" json:"bakers,omitempty"` + // The IDs of the bakers that are finalizers. + // The order determines the finalizer index. + Finalizers []*BakerId `protobuf:"bytes,2,rep,name=finalizers,proto3" json:"finalizers,omitempty"` + // The total effective stake of the bakers. + BakerTotalStake *Amount `protobuf:"bytes,3,opt,name=baker_total_stake,json=bakerTotalStake,proto3" json:"baker_total_stake,omitempty"` + // The total effective stake of the finalizers. + FinalizerTotalStake *Amount `protobuf:"bytes,4,opt,name=finalizer_total_stake,json=finalizerTotalStake,proto3" json:"finalizer_total_stake,omitempty"` + // The hash of the finalization committee. + FinalizationCommitteeHash *FinalizationCommitteeHash `protobuf:"bytes,5,opt,name=finalization_committee_hash,json=finalizationCommitteeHash,proto3" json:"finalization_committee_hash,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *BakersAndFinalizers) Reset() { + *x = BakersAndFinalizers{} + mi := &file_v2_concordium_types_proto_msgTypes[235] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } -func (x *RejectReason_NonExistentCredIds) String() string { +func (x *BakersAndFinalizers) String() string { return protoimpl.X.MessageStringOf(x) } -func (*RejectReason_NonExistentCredIds) ProtoMessage() {} +func (*BakersAndFinalizers) ProtoMessage() {} -func (x *RejectReason_NonExistentCredIds) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[238] - if protoimpl.UnsafeEnabled && x != nil { +func (x *BakersAndFinalizers) ProtoReflect() protoreflect.Message { + mi := &file_v2_concordium_types_proto_msgTypes[235] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -19502,50 +19850,79 @@ func (x *RejectReason_NonExistentCredIds) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use RejectReason_NonExistentCredIds.ProtoReflect.Descriptor instead. -func (*RejectReason_NonExistentCredIds) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{74, 6} +// Deprecated: Use BakersAndFinalizers.ProtoReflect.Descriptor instead. +func (*BakersAndFinalizers) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{235} } -func (x *RejectReason_NonExistentCredIds) GetIds() []*CredentialRegistrationId { +func (x *BakersAndFinalizers) GetBakers() []*FullBakerInfo { if x != nil { - return x.Ids + return x.Bakers } return nil } -// A contract transferred an amount to an account. -type ContractTraceElement_Transferred struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +func (x *BakersAndFinalizers) GetFinalizers() []*BakerId { + if x != nil { + return x.Finalizers + } + return nil +} - // Sender contract. - Sender *ContractAddress `protobuf:"bytes,1,opt,name=sender,proto3" json:"sender,omitempty"` - // Amount transferred. - Amount *Amount `protobuf:"bytes,2,opt,name=amount,proto3" json:"amount,omitempty"` - // Receiver account. - Receiver *AccountAddress `protobuf:"bytes,3,opt,name=receiver,proto3" json:"receiver,omitempty"` +func (x *BakersAndFinalizers) GetBakerTotalStake() *Amount { + if x != nil { + return x.BakerTotalStake + } + return nil } -func (x *ContractTraceElement_Transferred) Reset() { - *x = ContractTraceElement_Transferred{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[239] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *BakersAndFinalizers) GetFinalizerTotalStake() *Amount { + if x != nil { + return x.FinalizerTotalStake } + return nil } -func (x *ContractTraceElement_Transferred) String() string { +func (x *BakersAndFinalizers) GetFinalizationCommitteeHash() *FinalizationCommitteeHash { + if x != nil { + return x.FinalizationCommitteeHash + } + return nil +} + +type EpochBakers struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The bakers and finalizers for the previous epoch. + // If the current epoch is 0, then this is the same as the bakers for the current epoch. + PreviousEpochBakers *BakersAndFinalizers `protobuf:"bytes,1,opt,name=previous_epoch_bakers,json=previousEpochBakers,proto3" json:"previous_epoch_bakers,omitempty"` + // The bakers and finalizers for the current epoch. + // If this is absent, it should be treated as the same as the bakers for the previous epoch. + CurrentEpochBakers *BakersAndFinalizers `protobuf:"bytes,2,opt,name=current_epoch_bakers,json=currentEpochBakers,proto3,oneof" json:"current_epoch_bakers,omitempty"` + // The bakers and finalizers for the next epoch. + // If this is absent, it should be treated as the same as the bakers for the current epoch. + NextEpochBakers *BakersAndFinalizers `protobuf:"bytes,3,opt,name=next_epoch_bakers,json=nextEpochBakers,proto3,oneof" json:"next_epoch_bakers,omitempty"` + // The first epoch of the next payday. + NextPayday *Epoch `protobuf:"bytes,4,opt,name=next_payday,json=nextPayday,proto3" json:"next_payday,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *EpochBakers) Reset() { + *x = EpochBakers{} + mi := &file_v2_concordium_types_proto_msgTypes[236] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *EpochBakers) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ContractTraceElement_Transferred) ProtoMessage() {} +func (*EpochBakers) ProtoMessage() {} -func (x *ContractTraceElement_Transferred) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[239] - if protoimpl.UnsafeEnabled && x != nil { +func (x *EpochBakers) ProtoReflect() protoreflect.Message { + mi := &file_v2_concordium_types_proto_msgTypes[236] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -19555,63 +19932,68 @@ func (x *ContractTraceElement_Transferred) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ContractTraceElement_Transferred.ProtoReflect.Descriptor instead. -func (*ContractTraceElement_Transferred) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{78, 0} +// Deprecated: Use EpochBakers.ProtoReflect.Descriptor instead. +func (*EpochBakers) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{236} } -func (x *ContractTraceElement_Transferred) GetSender() *ContractAddress { +func (x *EpochBakers) GetPreviousEpochBakers() *BakersAndFinalizers { if x != nil { - return x.Sender + return x.PreviousEpochBakers } return nil } -func (x *ContractTraceElement_Transferred) GetAmount() *Amount { +func (x *EpochBakers) GetCurrentEpochBakers() *BakersAndFinalizers { if x != nil { - return x.Amount + return x.CurrentEpochBakers } return nil } -func (x *ContractTraceElement_Transferred) GetReceiver() *AccountAddress { +func (x *EpochBakers) GetNextEpochBakers() *BakersAndFinalizers { if x != nil { - return x.Receiver + return x.NextEpochBakers } return nil } -// A contract was interrupted. -// This occurs when a contract invokes another contract or makes a transfer to an account. -type ContractTraceElement_Interrupted struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The contract interrupted. - Address *ContractAddress `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` - // The events generated up until the interruption. - Events []*ContractEvent `protobuf:"bytes,2,rep,name=events,proto3" json:"events,omitempty"` +func (x *EpochBakers) GetNextPayday() *Epoch { + if x != nil { + return x.NextPayday + } + return nil } -func (x *ContractTraceElement_Interrupted) Reset() { - *x = ContractTraceElement_Interrupted{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[240] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +type TimeoutMessages struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The first epoch for which timeout messages are present. + FirstEpoch *Epoch `protobuf:"bytes,1,opt,name=first_epoch,json=firstEpoch,proto3" json:"first_epoch,omitempty"` + // The timeout messages for the first epoch. + // There should always be at least one. + FirstEpochTimeouts []*TimeoutMessage `protobuf:"bytes,2,rep,name=first_epoch_timeouts,json=firstEpochTimeouts,proto3" json:"first_epoch_timeouts,omitempty"` + // The timeout messages for `first_epoch + 1`. + SecondEpochTimeouts []*TimeoutMessage `protobuf:"bytes,3,rep,name=second_epoch_timeouts,json=secondEpochTimeouts,proto3" json:"second_epoch_timeouts,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } -func (x *ContractTraceElement_Interrupted) String() string { +func (x *TimeoutMessages) Reset() { + *x = TimeoutMessages{} + mi := &file_v2_concordium_types_proto_msgTypes[237] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TimeoutMessages) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ContractTraceElement_Interrupted) ProtoMessage() {} +func (*TimeoutMessages) ProtoMessage() {} -func (x *ContractTraceElement_Interrupted) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[240] - if protoimpl.UnsafeEnabled && x != nil { +func (x *TimeoutMessages) ProtoReflect() protoreflect.Message { + mi := &file_v2_concordium_types_proto_msgTypes[237] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -19621,55 +20003,62 @@ func (x *ContractTraceElement_Interrupted) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ContractTraceElement_Interrupted.ProtoReflect.Descriptor instead. -func (*ContractTraceElement_Interrupted) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{78, 1} +// Deprecated: Use TimeoutMessages.ProtoReflect.Descriptor instead. +func (*TimeoutMessages) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{237} } -func (x *ContractTraceElement_Interrupted) GetAddress() *ContractAddress { +func (x *TimeoutMessages) GetFirstEpoch() *Epoch { if x != nil { - return x.Address + return x.FirstEpoch } return nil } -func (x *ContractTraceElement_Interrupted) GetEvents() []*ContractEvent { +func (x *TimeoutMessages) GetFirstEpochTimeouts() []*TimeoutMessage { if x != nil { - return x.Events + return x.FirstEpochTimeouts } return nil } -// A previously interrupted contract was resumed. -type ContractTraceElement_Resumed struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +func (x *TimeoutMessages) GetSecondEpochTimeouts() []*TimeoutMessage { + if x != nil { + return x.SecondEpochTimeouts + } + return nil +} - // The contract resumed. - Address *ContractAddress `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` - // Whether the action that caused the interruption (invoke contract or make transfer) was successful or not. - Success bool `protobuf:"varint,2,opt,name=success,proto3" json:"success,omitempty"` +type AggregatedSignatures struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The block hash for which the signatures are aggregated. + SignedBlock *BlockHash `protobuf:"bytes,1,opt,name=signed_block,json=signedBlock,proto3" json:"signed_block,omitempty"` + // The total weight of the finalizers that signed the block. + SignatureWeight *Amount `protobuf:"bytes,2,opt,name=signature_weight,json=signatureWeight,proto3" json:"signature_weight,omitempty"` + // The aggregate signature of the finalizers. + AggregateSignature *QuorumSignature `protobuf:"bytes,3,opt,name=aggregate_signature,json=aggregateSignature,proto3" json:"aggregate_signature,omitempty"` + // The set of finalizers that have signed. + Signatories []*FinalizerIndex `protobuf:"bytes,4,rep,name=signatories,proto3" json:"signatories,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } -func (x *ContractTraceElement_Resumed) Reset() { - *x = ContractTraceElement_Resumed{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[241] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (x *AggregatedSignatures) Reset() { + *x = AggregatedSignatures{} + mi := &file_v2_concordium_types_proto_msgTypes[238] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } -func (x *ContractTraceElement_Resumed) String() string { +func (x *AggregatedSignatures) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ContractTraceElement_Resumed) ProtoMessage() {} +func (*AggregatedSignatures) ProtoMessage() {} -func (x *ContractTraceElement_Resumed) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[241] - if protoimpl.UnsafeEnabled && x != nil { +func (x *AggregatedSignatures) ProtoReflect() protoreflect.Message { + mi := &file_v2_concordium_types_proto_msgTypes[238] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -19679,57 +20068,65 @@ func (x *ContractTraceElement_Resumed) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ContractTraceElement_Resumed.ProtoReflect.Descriptor instead. -func (*ContractTraceElement_Resumed) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{78, 2} +// Deprecated: Use AggregatedSignatures.ProtoReflect.Descriptor instead. +func (*AggregatedSignatures) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{238} } -func (x *ContractTraceElement_Resumed) GetAddress() *ContractAddress { +func (x *AggregatedSignatures) GetSignedBlock() *BlockHash { if x != nil { - return x.Address + return x.SignedBlock } return nil } -func (x *ContractTraceElement_Resumed) GetSuccess() bool { +func (x *AggregatedSignatures) GetSignatureWeight() *Amount { if x != nil { - return x.Success + return x.SignatureWeight } - return false + return nil } -// A previously interrupted contract was resumed. -type ContractTraceElement_Upgraded struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The that was upgraded. - Address *ContractAddress `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` - // The module from which the contract was upgraded. - From *ModuleRef `protobuf:"bytes,2,opt,name=from,proto3" json:"from,omitempty"` - // The module to which it was upgraded. - To *ModuleRef `protobuf:"bytes,3,opt,name=to,proto3" json:"to,omitempty"` +func (x *AggregatedSignatures) GetAggregateSignature() *QuorumSignature { + if x != nil { + return x.AggregateSignature + } + return nil } -func (x *ContractTraceElement_Upgraded) Reset() { - *x = ContractTraceElement_Upgraded{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[242] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *AggregatedSignatures) GetSignatories() []*FinalizerIndex { + if x != nil { + return x.Signatories } + return nil } -func (x *ContractTraceElement_Upgraded) String() string { +type QuorumMessages struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The collected quorum messages for the current round. + QuorumMessages []*QuorumMessage `protobuf:"bytes,1,rep,name=quorum_messages,json=quorumMessages,proto3" json:"quorum_messages,omitempty"` + // The current aggregate of the valid quorum messages. + AggregatedSignatures []*AggregatedSignatures `protobuf:"bytes,2,rep,name=aggregated_signatures,json=aggregatedSignatures,proto3" json:"aggregated_signatures,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *QuorumMessages) Reset() { + *x = QuorumMessages{} + mi := &file_v2_concordium_types_proto_msgTypes[239] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *QuorumMessages) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ContractTraceElement_Upgraded) ProtoMessage() {} +func (*QuorumMessages) ProtoMessage() {} -func (x *ContractTraceElement_Upgraded) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[242] - if protoimpl.UnsafeEnabled && x != nil { +func (x *QuorumMessages) ProtoReflect() protoreflect.Message { + mi := &file_v2_concordium_types_proto_msgTypes[239] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -19739,66 +20136,130 @@ func (x *ContractTraceElement_Upgraded) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ContractTraceElement_Upgraded.ProtoReflect.Descriptor instead. -func (*ContractTraceElement_Upgraded) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{78, 3} +// Deprecated: Use QuorumMessages.ProtoReflect.Descriptor instead. +func (*QuorumMessages) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{239} } -func (x *ContractTraceElement_Upgraded) GetAddress() *ContractAddress { +func (x *QuorumMessages) GetQuorumMessages() []*QuorumMessage { if x != nil { - return x.Address + return x.QuorumMessages } return nil } -func (x *ContractTraceElement_Upgraded) GetFrom() *ModuleRef { +func (x *QuorumMessages) GetAggregatedSignatures() []*AggregatedSignatures { if x != nil { - return x.From + return x.AggregatedSignatures } return nil } -func (x *ContractTraceElement_Upgraded) GetTo() *ModuleRef { - if x != nil { - return x.To - } - return nil +type ConsensusDetailedStatusQuery struct { + state protoimpl.MessageState `protogen:"open.v1"` + // If specified, this determines the genesis index to get status for. + // If not specified, the status is returned for the latest genesis index. + GenesisIndex *GenesisIndex `protobuf:"bytes,1,opt,name=genesis_index,json=genesisIndex,proto3,oneof" json:"genesis_index,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } -// A baker was added. -type BakerEvent_BakerAdded struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +func (x *ConsensusDetailedStatusQuery) Reset() { + *x = ConsensusDetailedStatusQuery{} + mi := &file_v2_concordium_types_proto_msgTypes[240] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} - // The keys with which the baker registered. - KeysEvent *BakerKeysEvent `protobuf:"bytes,1,opt,name=keys_event,json=keysEvent,proto3" json:"keys_event,omitempty"` - // The amount the account staked to become a baker. This amount is - // locked. - Stake *Amount `protobuf:"bytes,2,opt,name=stake,proto3" json:"stake,omitempty"` - // Whether the baker will automatically add earnings to their stake or - // not. - RestakeEarnings bool `protobuf:"varint,3,opt,name=restake_earnings,json=restakeEarnings,proto3" json:"restake_earnings,omitempty"` +func (x *ConsensusDetailedStatusQuery) String() string { + return protoimpl.X.MessageStringOf(x) } -func (x *BakerEvent_BakerAdded) Reset() { - *x = BakerEvent_BakerAdded{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[243] +func (*ConsensusDetailedStatusQuery) ProtoMessage() {} + +func (x *ConsensusDetailedStatusQuery) ProtoReflect() protoreflect.Message { + mi := &file_v2_concordium_types_proto_msgTypes[240] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } + return mi.MessageOf(x) } -func (x *BakerEvent_BakerAdded) String() string { +// Deprecated: Use ConsensusDetailedStatusQuery.ProtoReflect.Descriptor instead. +func (*ConsensusDetailedStatusQuery) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{240} +} + +func (x *ConsensusDetailedStatusQuery) GetGenesisIndex() *GenesisIndex { + if x != nil { + return x.GenesisIndex + } + return nil +} + +type ConsensusDetailedStatus struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The hash of the genesis block. + GenesisBlock *BlockHash `protobuf:"bytes,1,opt,name=genesis_block,json=genesisBlock,proto3" json:"genesis_block,omitempty"` + // The persisted elements of the round status. + PersistentRoundStatus *PersistentRoundStatus `protobuf:"bytes,2,opt,name=persistent_round_status,json=persistentRoundStatus,proto3" json:"persistent_round_status,omitempty"` + // The status of the current round. + RoundStatus *RoundStatus `protobuf:"bytes,3,opt,name=round_status,json=roundStatus,proto3" json:"round_status,omitempty"` + // The number of non-finalized transactions. + NonFinalizedTransactionCount uint64 `protobuf:"varint,4,opt,name=non_finalized_transaction_count,json=nonFinalizedTransactionCount,proto3" json:"non_finalized_transaction_count,omitempty"` + // The purge counter for the transaction table. + TransactionTablePurgeCounter int64 `protobuf:"varint,5,opt,name=transaction_table_purge_counter,json=transactionTablePurgeCounter,proto3" json:"transaction_table_purge_counter,omitempty"` + // Summary of the block table. + BlockTable *BlockTableSummary `protobuf:"bytes,6,opt,name=block_table,json=blockTable,proto3" json:"block_table,omitempty"` + // The live blocks organized by height after the last finalized block. + Branches []*BranchBlocks `protobuf:"bytes,7,rep,name=branches,proto3" json:"branches,omitempty"` + // Which bakers the node has seen legally-signed blocks with live parents from in + // non-finalized rounds. + RoundExistingBlocks []*RoundExistingBlock `protobuf:"bytes,8,rep,name=round_existing_blocks,json=roundExistingBlocks,proto3" json:"round_existing_blocks,omitempty"` + // Which non-finalized rounds the node has seen quorum certificates for. + RoundExistingQcs []*RoundExistingQC `protobuf:"bytes,9,rep,name=round_existing_qcs,json=roundExistingQcs,proto3" json:"round_existing_qcs,omitempty"` + // The absolute block height of the genesis block of the era. + GenesisBlockHeight *AbsoluteBlockHeight `protobuf:"bytes,10,opt,name=genesis_block_height,json=genesisBlockHeight,proto3" json:"genesis_block_height,omitempty"` + // The hash of the last finalized block. + LastFinalizedBlock *BlockHash `protobuf:"bytes,11,opt,name=last_finalized_block,json=lastFinalizedBlock,proto3" json:"last_finalized_block,omitempty"` + // The height of the last finalized block. + LastFinalizedBlockHeight *BlockHeight `protobuf:"bytes,12,opt,name=last_finalized_block_height,json=lastFinalizedBlockHeight,proto3" json:"last_finalized_block_height,omitempty"` + // Unless the last finalized block is the genesis block, this should be a finalization + // entry for the last finalized block. + // As this includes a quorum certificate for the last finalized block, that can be used + // to determine the epoch and round of the last finalized block. + LatestFinalizationEntry *RawFinalizationEntry `protobuf:"bytes,13,opt,name=latest_finalization_entry,json=latestFinalizationEntry,proto3,oneof" json:"latest_finalization_entry,omitempty"` + // The bakers and finalizers for the previous, current and next epoch, relative to the last + // finalized block. + EpochBakers *EpochBakers `protobuf:"bytes,14,opt,name=epoch_bakers,json=epochBakers,proto3" json:"epoch_bakers,omitempty"` + // The timeout messages collected by the node for the current round. + TimeoutMessages *TimeoutMessages `protobuf:"bytes,15,opt,name=timeout_messages,json=timeoutMessages,proto3,oneof" json:"timeout_messages,omitempty"` + // If a protocol update has occurred, this is the hash of the terminal block. + TerminalBlock *BlockHash `protobuf:"bytes,16,opt,name=terminal_block,json=terminalBlock,proto3,oneof" json:"terminal_block,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ConsensusDetailedStatus) Reset() { + *x = ConsensusDetailedStatus{} + mi := &file_v2_concordium_types_proto_msgTypes[241] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ConsensusDetailedStatus) String() string { return protoimpl.X.MessageStringOf(x) } -func (*BakerEvent_BakerAdded) ProtoMessage() {} +func (*ConsensusDetailedStatus) ProtoMessage() {} -func (x *BakerEvent_BakerAdded) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[243] - if protoimpl.UnsafeEnabled && x != nil { +func (x *ConsensusDetailedStatus) ProtoReflect() protoreflect.Message { + mi := &file_v2_concordium_types_proto_msgTypes[241] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -19808,176 +20269,149 @@ func (x *BakerEvent_BakerAdded) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use BakerEvent_BakerAdded.ProtoReflect.Descriptor instead. -func (*BakerEvent_BakerAdded) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{86, 0} +// Deprecated: Use ConsensusDetailedStatus.ProtoReflect.Descriptor instead. +func (*ConsensusDetailedStatus) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{241} } -func (x *BakerEvent_BakerAdded) GetKeysEvent() *BakerKeysEvent { +func (x *ConsensusDetailedStatus) GetGenesisBlock() *BlockHash { if x != nil { - return x.KeysEvent + return x.GenesisBlock } return nil } -func (x *BakerEvent_BakerAdded) GetStake() *Amount { +func (x *ConsensusDetailedStatus) GetPersistentRoundStatus() *PersistentRoundStatus { if x != nil { - return x.Stake + return x.PersistentRoundStatus } return nil } -func (x *BakerEvent_BakerAdded) GetRestakeEarnings() bool { +func (x *ConsensusDetailedStatus) GetRoundStatus() *RoundStatus { if x != nil { - return x.RestakeEarnings + return x.RoundStatus } - return false -} - -// Baker stake increased. -type BakerEvent_BakerStakeIncreased struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Baker's id. - BakerId *BakerId `protobuf:"bytes,1,opt,name=baker_id,json=bakerId,proto3" json:"baker_id,omitempty"` - // The new stake. - NewStake *Amount `protobuf:"bytes,2,opt,name=new_stake,json=newStake,proto3" json:"new_stake,omitempty"` + return nil } -func (x *BakerEvent_BakerStakeIncreased) Reset() { - *x = BakerEvent_BakerStakeIncreased{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[244] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *ConsensusDetailedStatus) GetNonFinalizedTransactionCount() uint64 { + if x != nil { + return x.NonFinalizedTransactionCount } + return 0 } -func (x *BakerEvent_BakerStakeIncreased) String() string { - return protoimpl.X.MessageStringOf(x) +func (x *ConsensusDetailedStatus) GetTransactionTablePurgeCounter() int64 { + if x != nil { + return x.TransactionTablePurgeCounter + } + return 0 } -func (*BakerEvent_BakerStakeIncreased) ProtoMessage() {} - -func (x *BakerEvent_BakerStakeIncreased) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[244] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *ConsensusDetailedStatus) GetBlockTable() *BlockTableSummary { + if x != nil { + return x.BlockTable } - return mi.MessageOf(x) + return nil } -// Deprecated: Use BakerEvent_BakerStakeIncreased.ProtoReflect.Descriptor instead. -func (*BakerEvent_BakerStakeIncreased) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{86, 1} +func (x *ConsensusDetailedStatus) GetBranches() []*BranchBlocks { + if x != nil { + return x.Branches + } + return nil } -func (x *BakerEvent_BakerStakeIncreased) GetBakerId() *BakerId { +func (x *ConsensusDetailedStatus) GetRoundExistingBlocks() []*RoundExistingBlock { if x != nil { - return x.BakerId + return x.RoundExistingBlocks } return nil } -func (x *BakerEvent_BakerStakeIncreased) GetNewStake() *Amount { +func (x *ConsensusDetailedStatus) GetRoundExistingQcs() []*RoundExistingQC { if x != nil { - return x.NewStake + return x.RoundExistingQcs } return nil } -type BakerEvent_BakerStakeDecreased struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Baker's id. - BakerId *BakerId `protobuf:"bytes,1,opt,name=baker_id,json=bakerId,proto3" json:"baker_id,omitempty"` - // The new stake. - NewStake *Amount `protobuf:"bytes,2,opt,name=new_stake,json=newStake,proto3" json:"new_stake,omitempty"` +func (x *ConsensusDetailedStatus) GetGenesisBlockHeight() *AbsoluteBlockHeight { + if x != nil { + return x.GenesisBlockHeight + } + return nil } -func (x *BakerEvent_BakerStakeDecreased) Reset() { - *x = BakerEvent_BakerStakeDecreased{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[245] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *ConsensusDetailedStatus) GetLastFinalizedBlock() *BlockHash { + if x != nil { + return x.LastFinalizedBlock } + return nil } -func (x *BakerEvent_BakerStakeDecreased) String() string { - return protoimpl.X.MessageStringOf(x) +func (x *ConsensusDetailedStatus) GetLastFinalizedBlockHeight() *BlockHeight { + if x != nil { + return x.LastFinalizedBlockHeight + } + return nil } -func (*BakerEvent_BakerStakeDecreased) ProtoMessage() {} - -func (x *BakerEvent_BakerStakeDecreased) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[245] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *ConsensusDetailedStatus) GetLatestFinalizationEntry() *RawFinalizationEntry { + if x != nil { + return x.LatestFinalizationEntry } - return mi.MessageOf(x) + return nil } -// Deprecated: Use BakerEvent_BakerStakeDecreased.ProtoReflect.Descriptor instead. -func (*BakerEvent_BakerStakeDecreased) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{86, 2} +func (x *ConsensusDetailedStatus) GetEpochBakers() *EpochBakers { + if x != nil { + return x.EpochBakers + } + return nil } -func (x *BakerEvent_BakerStakeDecreased) GetBakerId() *BakerId { +func (x *ConsensusDetailedStatus) GetTimeoutMessages() *TimeoutMessages { if x != nil { - return x.BakerId + return x.TimeoutMessages } return nil } -func (x *BakerEvent_BakerStakeDecreased) GetNewStake() *Amount { +func (x *ConsensusDetailedStatus) GetTerminalBlock() *BlockHash { if x != nil { - return x.NewStake + return x.TerminalBlock } return nil } -type BakerEvent_BakerRestakeEarningsUpdated struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Baker's id. - BakerId *BakerId `protobuf:"bytes,1,opt,name=baker_id,json=bakerId,proto3" json:"baker_id,omitempty"` - // The new value of the flag. - RestakeEarnings bool `protobuf:"varint,2,opt,name=restake_earnings,json=restakeEarnings,proto3" json:"restake_earnings,omitempty"` +// Indicates that an account is pending -- either a scheduled release or a cooldown -- and +// when the first release or cooldown will elapse. +type AccountPending struct { + state protoimpl.MessageState `protogen:"open.v1"` + AccountIndex *AccountIndex `protobuf:"bytes,1,opt,name=account_index,json=accountIndex,proto3" json:"account_index,omitempty"` + FirstTimestamp *Timestamp `protobuf:"bytes,2,opt,name=first_timestamp,json=firstTimestamp,proto3" json:"first_timestamp,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } -func (x *BakerEvent_BakerRestakeEarningsUpdated) Reset() { - *x = BakerEvent_BakerRestakeEarningsUpdated{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[246] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (x *AccountPending) Reset() { + *x = AccountPending{} + mi := &file_v2_concordium_types_proto_msgTypes[242] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } -func (x *BakerEvent_BakerRestakeEarningsUpdated) String() string { +func (x *AccountPending) String() string { return protoimpl.X.MessageStringOf(x) } -func (*BakerEvent_BakerRestakeEarningsUpdated) ProtoMessage() {} +func (*AccountPending) ProtoMessage() {} -func (x *BakerEvent_BakerRestakeEarningsUpdated) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[246] - if protoimpl.UnsafeEnabled && x != nil { +func (x *AccountPending) ProtoReflect() protoreflect.Message { + mi := &file_v2_concordium_types_proto_msgTypes[242] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -19987,55 +20421,49 @@ func (x *BakerEvent_BakerRestakeEarningsUpdated) ProtoReflect() protoreflect.Mes return mi.MessageOf(x) } -// Deprecated: Use BakerEvent_BakerRestakeEarningsUpdated.ProtoReflect.Descriptor instead. -func (*BakerEvent_BakerRestakeEarningsUpdated) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{86, 3} +// Deprecated: Use AccountPending.ProtoReflect.Descriptor instead. +func (*AccountPending) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{242} } -func (x *BakerEvent_BakerRestakeEarningsUpdated) GetBakerId() *BakerId { +func (x *AccountPending) GetAccountIndex() *AccountIndex { if x != nil { - return x.BakerId + return x.AccountIndex } return nil } -func (x *BakerEvent_BakerRestakeEarningsUpdated) GetRestakeEarnings() bool { +func (x *AccountPending) GetFirstTimestamp() *Timestamp { if x != nil { - return x.RestakeEarnings + return x.FirstTimestamp } - return false + return nil } -// Updated open status for a baker pool. -type BakerEvent_BakerSetOpenStatus struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache +// Source bytes of a smart contract v0 module. +type VersionedModuleSource_ModuleSourceV0 struct { + state protoimpl.MessageState `protogen:"open.v1"` + Value []byte `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` unknownFields protoimpl.UnknownFields - - // Baker's id. - BakerId *BakerId `protobuf:"bytes,1,opt,name=baker_id,json=bakerId,proto3" json:"baker_id,omitempty"` - // The new open status. - OpenStatus OpenStatus `protobuf:"varint,2,opt,name=open_status,json=openStatus,proto3,enum=concordium.v2.OpenStatus" json:"open_status,omitempty"` + sizeCache protoimpl.SizeCache } -func (x *BakerEvent_BakerSetOpenStatus) Reset() { - *x = BakerEvent_BakerSetOpenStatus{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[247] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (x *VersionedModuleSource_ModuleSourceV0) Reset() { + *x = VersionedModuleSource_ModuleSourceV0{} + mi := &file_v2_concordium_types_proto_msgTypes[243] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } -func (x *BakerEvent_BakerSetOpenStatus) String() string { +func (x *VersionedModuleSource_ModuleSourceV0) String() string { return protoimpl.X.MessageStringOf(x) } -func (*BakerEvent_BakerSetOpenStatus) ProtoMessage() {} +func (*VersionedModuleSource_ModuleSourceV0) ProtoMessage() {} -func (x *BakerEvent_BakerSetOpenStatus) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[247] - if protoimpl.UnsafeEnabled && x != nil { +func (x *VersionedModuleSource_ModuleSourceV0) ProtoReflect() protoreflect.Message { + mi := &file_v2_concordium_types_proto_msgTypes[243] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -20045,55 +20473,42 @@ func (x *BakerEvent_BakerSetOpenStatus) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use BakerEvent_BakerSetOpenStatus.ProtoReflect.Descriptor instead. -func (*BakerEvent_BakerSetOpenStatus) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{86, 4} +// Deprecated: Use VersionedModuleSource_ModuleSourceV0.ProtoReflect.Descriptor instead. +func (*VersionedModuleSource_ModuleSourceV0) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{10, 0} } -func (x *BakerEvent_BakerSetOpenStatus) GetBakerId() *BakerId { +func (x *VersionedModuleSource_ModuleSourceV0) GetValue() []byte { if x != nil { - return x.BakerId + return x.Value } return nil } -func (x *BakerEvent_BakerSetOpenStatus) GetOpenStatus() OpenStatus { - if x != nil { - return x.OpenStatus - } - return OpenStatus_OPEN_STATUS_OPEN_FOR_ALL -} - -// Updated metadata url for a baker pool. -type BakerEvent_BakerSetMetadataUrl struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache +// Source bytes of a smart contract v1 module. +type VersionedModuleSource_ModuleSourceV1 struct { + state protoimpl.MessageState `protogen:"open.v1"` + Value []byte `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` unknownFields protoimpl.UnknownFields - - // Baker's id. - BakerId *BakerId `protobuf:"bytes,1,opt,name=baker_id,json=bakerId,proto3" json:"baker_id,omitempty"` - // The URL. - Url string `protobuf:"bytes,2,opt,name=url,proto3" json:"url,omitempty"` + sizeCache protoimpl.SizeCache } -func (x *BakerEvent_BakerSetMetadataUrl) Reset() { - *x = BakerEvent_BakerSetMetadataUrl{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[248] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (x *VersionedModuleSource_ModuleSourceV1) Reset() { + *x = VersionedModuleSource_ModuleSourceV1{} + mi := &file_v2_concordium_types_proto_msgTypes[244] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } -func (x *BakerEvent_BakerSetMetadataUrl) String() string { +func (x *VersionedModuleSource_ModuleSourceV1) String() string { return protoimpl.X.MessageStringOf(x) } -func (*BakerEvent_BakerSetMetadataUrl) ProtoMessage() {} +func (*VersionedModuleSource_ModuleSourceV1) ProtoMessage() {} -func (x *BakerEvent_BakerSetMetadataUrl) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[248] - if protoimpl.UnsafeEnabled && x != nil { +func (x *VersionedModuleSource_ModuleSourceV1) ProtoReflect() protoreflect.Message { + mi := &file_v2_concordium_types_proto_msgTypes[244] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -20103,55 +20518,43 @@ func (x *BakerEvent_BakerSetMetadataUrl) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use BakerEvent_BakerSetMetadataUrl.ProtoReflect.Descriptor instead. -func (*BakerEvent_BakerSetMetadataUrl) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{86, 5} +// Deprecated: Use VersionedModuleSource_ModuleSourceV1.ProtoReflect.Descriptor instead. +func (*VersionedModuleSource_ModuleSourceV1) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{10, 1} } -func (x *BakerEvent_BakerSetMetadataUrl) GetBakerId() *BakerId { +func (x *VersionedModuleSource_ModuleSourceV1) GetValue() []byte { if x != nil { - return x.BakerId + return x.Value } return nil } -func (x *BakerEvent_BakerSetMetadataUrl) GetUrl() string { - if x != nil { - return x.Url - } - return "" -} - -// Updated transaction fee commission for a baker pool. -type BakerEvent_BakerSetTransactionFeeCommission struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache +type StakePendingChange_Reduce struct { + state protoimpl.MessageState `protogen:"open.v1"` + NewStake *Amount `protobuf:"bytes,1,opt,name=new_stake,json=newStake,proto3" json:"new_stake,omitempty"` + // Unix timestamp in milliseconds when the change takes effect. + EffectiveTime *Timestamp `protobuf:"bytes,2,opt,name=effective_time,json=effectiveTime,proto3" json:"effective_time,omitempty"` unknownFields protoimpl.UnknownFields - - // Baker's id. - BakerId *BakerId `protobuf:"bytes,1,opt,name=baker_id,json=bakerId,proto3" json:"baker_id,omitempty"` - // The transaction fee commission. - TransactionFeeCommission *AmountFraction `protobuf:"bytes,2,opt,name=transaction_fee_commission,json=transactionFeeCommission,proto3" json:"transaction_fee_commission,omitempty"` + sizeCache protoimpl.SizeCache } -func (x *BakerEvent_BakerSetTransactionFeeCommission) Reset() { - *x = BakerEvent_BakerSetTransactionFeeCommission{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[249] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (x *StakePendingChange_Reduce) Reset() { + *x = StakePendingChange_Reduce{} + mi := &file_v2_concordium_types_proto_msgTypes[245] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } -func (x *BakerEvent_BakerSetTransactionFeeCommission) String() string { +func (x *StakePendingChange_Reduce) String() string { return protoimpl.X.MessageStringOf(x) } -func (*BakerEvent_BakerSetTransactionFeeCommission) ProtoMessage() {} +func (*StakePendingChange_Reduce) ProtoMessage() {} -func (x *BakerEvent_BakerSetTransactionFeeCommission) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[249] - if protoimpl.UnsafeEnabled && x != nil { +func (x *StakePendingChange_Reduce) ProtoReflect() protoreflect.Message { + mi := &file_v2_concordium_types_proto_msgTypes[245] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -20161,55 +20564,65 @@ func (x *BakerEvent_BakerSetTransactionFeeCommission) ProtoReflect() protoreflec return mi.MessageOf(x) } -// Deprecated: Use BakerEvent_BakerSetTransactionFeeCommission.ProtoReflect.Descriptor instead. -func (*BakerEvent_BakerSetTransactionFeeCommission) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{86, 6} +// Deprecated: Use StakePendingChange_Reduce.ProtoReflect.Descriptor instead. +func (*StakePendingChange_Reduce) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{22, 0} } -func (x *BakerEvent_BakerSetTransactionFeeCommission) GetBakerId() *BakerId { +func (x *StakePendingChange_Reduce) GetNewStake() *Amount { if x != nil { - return x.BakerId + return x.NewStake } return nil } -func (x *BakerEvent_BakerSetTransactionFeeCommission) GetTransactionFeeCommission() *AmountFraction { +func (x *StakePendingChange_Reduce) GetEffectiveTime() *Timestamp { if x != nil { - return x.TransactionFeeCommission + return x.EffectiveTime } return nil } -// Updated baking reward commission for baker pool -type BakerEvent_BakerSetBakingRewardCommission struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache +type AccountStakingInfo_Baker struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Amount staked at present. + StakedAmount *Amount `protobuf:"bytes,1,opt,name=staked_amount,json=stakedAmount,proto3" json:"staked_amount,omitempty"` + // A flag indicating whether rewards paid to the baker are automatically + // restaked or not. + RestakeEarnings bool `protobuf:"varint,2,opt,name=restake_earnings,json=restakeEarnings,proto3" json:"restake_earnings,omitempty"` + // Information about the baker that is staking. + BakerInfo *BakerInfo `protobuf:"bytes,3,opt,name=baker_info,json=bakerInfo,proto3" json:"baker_info,omitempty"` + // If present, any pending change to the delegated stake. + PendingChange *StakePendingChange `protobuf:"bytes,4,opt,name=pending_change,json=pendingChange,proto3,oneof" json:"pending_change,omitempty"` + // Present if the account is currently a baker, i.e., it is in the baking + // committee of the current epoch. + PoolInfo *BakerPoolInfo `protobuf:"bytes,5,opt,name=pool_info,json=poolInfo,proto3,oneof" json:"pool_info,omitempty"` + // A flag indicating whether the account is currently suspended or not. The + // flag has a meaning from protocol version 8 onwards. In protocol version 8 + // it signals whether an account has been suspended and is not participating + // in the consensus algorithm. For protocol version < 8 the flag will always + // be set to false. + IsSuspended bool `protobuf:"varint,6,opt,name=is_suspended,json=isSuspended,proto3" json:"is_suspended,omitempty"` unknownFields protoimpl.UnknownFields - - // Baker's id - BakerId *BakerId `protobuf:"bytes,1,opt,name=baker_id,json=bakerId,proto3" json:"baker_id,omitempty"` - // The baking reward commission - BakingRewardCommission *AmountFraction `protobuf:"bytes,2,opt,name=baking_reward_commission,json=bakingRewardCommission,proto3" json:"baking_reward_commission,omitempty"` + sizeCache protoimpl.SizeCache } -func (x *BakerEvent_BakerSetBakingRewardCommission) Reset() { - *x = BakerEvent_BakerSetBakingRewardCommission{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[250] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (x *AccountStakingInfo_Baker) Reset() { + *x = AccountStakingInfo_Baker{} + mi := &file_v2_concordium_types_proto_msgTypes[246] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } -func (x *BakerEvent_BakerSetBakingRewardCommission) String() string { +func (x *AccountStakingInfo_Baker) String() string { return protoimpl.X.MessageStringOf(x) } -func (*BakerEvent_BakerSetBakingRewardCommission) ProtoMessage() {} +func (*AccountStakingInfo_Baker) ProtoMessage() {} -func (x *BakerEvent_BakerSetBakingRewardCommission) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[250] - if protoimpl.UnsafeEnabled && x != nil { +func (x *AccountStakingInfo_Baker) ProtoReflect() protoreflect.Message { + mi := &file_v2_concordium_types_proto_msgTypes[246] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -20219,55 +20632,83 @@ func (x *BakerEvent_BakerSetBakingRewardCommission) ProtoReflect() protoreflect. return mi.MessageOf(x) } -// Deprecated: Use BakerEvent_BakerSetBakingRewardCommission.ProtoReflect.Descriptor instead. -func (*BakerEvent_BakerSetBakingRewardCommission) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{86, 7} +// Deprecated: Use AccountStakingInfo_Baker.ProtoReflect.Descriptor instead. +func (*AccountStakingInfo_Baker) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{26, 0} } -func (x *BakerEvent_BakerSetBakingRewardCommission) GetBakerId() *BakerId { +func (x *AccountStakingInfo_Baker) GetStakedAmount() *Amount { if x != nil { - return x.BakerId + return x.StakedAmount } return nil } -func (x *BakerEvent_BakerSetBakingRewardCommission) GetBakingRewardCommission() *AmountFraction { +func (x *AccountStakingInfo_Baker) GetRestakeEarnings() bool { if x != nil { - return x.BakingRewardCommission + return x.RestakeEarnings + } + return false +} + +func (x *AccountStakingInfo_Baker) GetBakerInfo() *BakerInfo { + if x != nil { + return x.BakerInfo } return nil } -// Updated finalization reward commission for baker pool -type BakerEvent_BakerSetFinalizationRewardCommission struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +func (x *AccountStakingInfo_Baker) GetPendingChange() *StakePendingChange { + if x != nil { + return x.PendingChange + } + return nil +} - // Baker's id - BakerId *BakerId `protobuf:"bytes,1,opt,name=baker_id,json=bakerId,proto3" json:"baker_id,omitempty"` - // The finalization reward commission - FinalizationRewardCommission *AmountFraction `protobuf:"bytes,2,opt,name=finalization_reward_commission,json=finalizationRewardCommission,proto3" json:"finalization_reward_commission,omitempty"` +func (x *AccountStakingInfo_Baker) GetPoolInfo() *BakerPoolInfo { + if x != nil { + return x.PoolInfo + } + return nil } -func (x *BakerEvent_BakerSetFinalizationRewardCommission) Reset() { - *x = BakerEvent_BakerSetFinalizationRewardCommission{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[251] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *AccountStakingInfo_Baker) GetIsSuspended() bool { + if x != nil { + return x.IsSuspended } + return false } -func (x *BakerEvent_BakerSetFinalizationRewardCommission) String() string { +type AccountStakingInfo_Delegator struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The amount that the account delegates. + StakedAmount *Amount `protobuf:"bytes,1,opt,name=staked_amount,json=stakedAmount,proto3" json:"staked_amount,omitempty"` + // Whether the earnings are automatically added to the staked amount. + RestakeEarnings bool `protobuf:"varint,2,opt,name=restake_earnings,json=restakeEarnings,proto3" json:"restake_earnings,omitempty"` + // The entity to which the account delegates. + Target *DelegationTarget `protobuf:"bytes,3,opt,name=target,proto3" json:"target,omitempty"` + // If present, any pending change to the delegated stake. + PendingChange *StakePendingChange `protobuf:"bytes,4,opt,name=pending_change,json=pendingChange,proto3,oneof" json:"pending_change,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AccountStakingInfo_Delegator) Reset() { + *x = AccountStakingInfo_Delegator{} + mi := &file_v2_concordium_types_proto_msgTypes[247] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AccountStakingInfo_Delegator) String() string { return protoimpl.X.MessageStringOf(x) } -func (*BakerEvent_BakerSetFinalizationRewardCommission) ProtoMessage() {} +func (*AccountStakingInfo_Delegator) ProtoMessage() {} -func (x *BakerEvent_BakerSetFinalizationRewardCommission) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[251] - if protoimpl.UnsafeEnabled && x != nil { +func (x *AccountStakingInfo_Delegator) ProtoReflect() protoreflect.Message { + mi := &file_v2_concordium_types_proto_msgTypes[247] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -20277,103 +20718,69 @@ func (x *BakerEvent_BakerSetFinalizationRewardCommission) ProtoReflect() protore return mi.MessageOf(x) } -// Deprecated: Use BakerEvent_BakerSetFinalizationRewardCommission.ProtoReflect.Descriptor instead. -func (*BakerEvent_BakerSetFinalizationRewardCommission) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{86, 8} +// Deprecated: Use AccountStakingInfo_Delegator.ProtoReflect.Descriptor instead. +func (*AccountStakingInfo_Delegator) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{26, 1} } -func (x *BakerEvent_BakerSetFinalizationRewardCommission) GetBakerId() *BakerId { +func (x *AccountStakingInfo_Delegator) GetStakedAmount() *Amount { if x != nil { - return x.BakerId + return x.StakedAmount } return nil } -func (x *BakerEvent_BakerSetFinalizationRewardCommission) GetFinalizationRewardCommission() *AmountFraction { +func (x *AccountStakingInfo_Delegator) GetRestakeEarnings() bool { if x != nil { - return x.FinalizationRewardCommission - } - return nil -} - -// Removed an existing delegator. -type BakerEvent_DelegationRemoved struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Delegator's id. - DelegatorId *DelegatorId `protobuf:"bytes,1,opt,name=delegator_id,json=delegatorId,proto3" json:"delegator_id,omitempty"` -} - -func (x *BakerEvent_DelegationRemoved) Reset() { - *x = BakerEvent_DelegationRemoved{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[252] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) + return x.RestakeEarnings } + return false } -func (x *BakerEvent_DelegationRemoved) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*BakerEvent_DelegationRemoved) ProtoMessage() {} - -func (x *BakerEvent_DelegationRemoved) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[252] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *AccountStakingInfo_Delegator) GetTarget() *DelegationTarget { + if x != nil { + return x.Target } - return mi.MessageOf(x) -} - -// Deprecated: Use BakerEvent_DelegationRemoved.ProtoReflect.Descriptor instead. -func (*BakerEvent_DelegationRemoved) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{86, 9} + return nil } -func (x *BakerEvent_DelegationRemoved) GetDelegatorId() *DelegatorId { +func (x *AccountStakingInfo_Delegator) GetPendingChange() *StakePendingChange { if x != nil { - return x.DelegatorId + return x.PendingChange } return nil } -type DelegationEvent_DelegationStakeIncreased struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache +// Request using a relative block height. +type BlockHashInput_RelativeHeight struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Genesis index to start from. + GenesisIndex *GenesisIndex `protobuf:"bytes,1,opt,name=genesis_index,json=genesisIndex,proto3" json:"genesis_index,omitempty"` + // Height starting from the genesis block at the genesis index. + Height *BlockHeight `protobuf:"bytes,2,opt,name=height,proto3" json:"height,omitempty"` + // Whether to return results only from the specified genesis index (`true`), + // or allow results from more recent genesis indices as well (`false`). + Restrict bool `protobuf:"varint,3,opt,name=restrict,proto3" json:"restrict,omitempty"` unknownFields protoimpl.UnknownFields - - // Delegator's id - DelegatorId *DelegatorId `protobuf:"bytes,1,opt,name=delegator_id,json=delegatorId,proto3" json:"delegator_id,omitempty"` - // New stake - NewStake *Amount `protobuf:"bytes,2,opt,name=new_stake,json=newStake,proto3" json:"new_stake,omitempty"` + sizeCache protoimpl.SizeCache } -func (x *DelegationEvent_DelegationStakeIncreased) Reset() { - *x = DelegationEvent_DelegationStakeIncreased{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[253] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (x *BlockHashInput_RelativeHeight) Reset() { + *x = BlockHashInput_RelativeHeight{} + mi := &file_v2_concordium_types_proto_msgTypes[253] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } -func (x *DelegationEvent_DelegationStakeIncreased) String() string { +func (x *BlockHashInput_RelativeHeight) String() string { return protoimpl.X.MessageStringOf(x) } -func (*DelegationEvent_DelegationStakeIncreased) ProtoMessage() {} +func (*BlockHashInput_RelativeHeight) ProtoMessage() {} -func (x *DelegationEvent_DelegationStakeIncreased) ProtoReflect() protoreflect.Message { +func (x *BlockHashInput_RelativeHeight) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[253] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -20383,54 +20790,60 @@ func (x *DelegationEvent_DelegationStakeIncreased) ProtoReflect() protoreflect.M return mi.MessageOf(x) } -// Deprecated: Use DelegationEvent_DelegationStakeIncreased.ProtoReflect.Descriptor instead. -func (*DelegationEvent_DelegationStakeIncreased) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{88, 0} +// Deprecated: Use BlockHashInput_RelativeHeight.ProtoReflect.Descriptor instead. +func (*BlockHashInput_RelativeHeight) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{51, 0} } -func (x *DelegationEvent_DelegationStakeIncreased) GetDelegatorId() *DelegatorId { +func (x *BlockHashInput_RelativeHeight) GetGenesisIndex() *GenesisIndex { if x != nil { - return x.DelegatorId + return x.GenesisIndex } return nil } -func (x *DelegationEvent_DelegationStakeIncreased) GetNewStake() *Amount { +func (x *BlockHashInput_RelativeHeight) GetHeight() *BlockHeight { if x != nil { - return x.NewStake + return x.Height } return nil } -type DelegationEvent_DelegationStakeDecreased struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +func (x *BlockHashInput_RelativeHeight) GetRestrict() bool { + if x != nil { + return x.Restrict + } + return false +} - // Delegator's id - DelegatorId *DelegatorId `protobuf:"bytes,1,opt,name=delegator_id,json=delegatorId,proto3" json:"delegator_id,omitempty"` - // New stake - NewStake *Amount `protobuf:"bytes,2,opt,name=new_stake,json=newStake,proto3" json:"new_stake,omitempty"` +// Request an epoch by number at a given genesis index. +type EpochRequest_RelativeEpoch struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The genesis index to query at. The query is restricted to this genesis index, and + // will not return results for other indices even if the epoch number is out of bounds. + GenesisIndex *GenesisIndex `protobuf:"bytes,1,opt,name=genesis_index,json=genesisIndex,proto3" json:"genesis_index,omitempty"` + // The epoch number to query at. + Epoch *Epoch `protobuf:"bytes,2,opt,name=epoch,proto3" json:"epoch,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } -func (x *DelegationEvent_DelegationStakeDecreased) Reset() { - *x = DelegationEvent_DelegationStakeDecreased{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[254] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (x *EpochRequest_RelativeEpoch) Reset() { + *x = EpochRequest_RelativeEpoch{} + mi := &file_v2_concordium_types_proto_msgTypes[254] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } -func (x *DelegationEvent_DelegationStakeDecreased) String() string { +func (x *EpochRequest_RelativeEpoch) String() string { return protoimpl.X.MessageStringOf(x) } -func (*DelegationEvent_DelegationStakeDecreased) ProtoMessage() {} +func (*EpochRequest_RelativeEpoch) ProtoMessage() {} -func (x *DelegationEvent_DelegationStakeDecreased) ProtoReflect() protoreflect.Message { +func (x *EpochRequest_RelativeEpoch) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[254] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -20440,54 +20853,60 @@ func (x *DelegationEvent_DelegationStakeDecreased) ProtoReflect() protoreflect.M return mi.MessageOf(x) } -// Deprecated: Use DelegationEvent_DelegationStakeDecreased.ProtoReflect.Descriptor instead. -func (*DelegationEvent_DelegationStakeDecreased) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{88, 1} +// Deprecated: Use EpochRequest_RelativeEpoch.ProtoReflect.Descriptor instead. +func (*EpochRequest_RelativeEpoch) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{52, 0} } -func (x *DelegationEvent_DelegationStakeDecreased) GetDelegatorId() *DelegatorId { +func (x *EpochRequest_RelativeEpoch) GetGenesisIndex() *GenesisIndex { if x != nil { - return x.DelegatorId + return x.GenesisIndex } return nil } -func (x *DelegationEvent_DelegationStakeDecreased) GetNewStake() *Amount { +func (x *EpochRequest_RelativeEpoch) GetEpoch() *Epoch { if x != nil { - return x.NewStake + return x.Epoch } return nil } -type DelegationEvent_DelegationSetRestakeEarnings struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache +// Version 0 smart contract instance information. +type InstanceInfo_V0 struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The state of the instance. + Model *ContractStateV0 `protobuf:"bytes,1,opt,name=model,proto3" json:"model,omitempty"` + // The account address which deployed the instance. + Owner *AccountAddress `protobuf:"bytes,2,opt,name=owner,proto3" json:"owner,omitempty"` + // The amount of CCD tokens in the balance of the instance. + Amount *Amount `protobuf:"bytes,3,opt,name=amount,proto3" json:"amount,omitempty"` + // A list of endpoints exposed by the instance. + Methods []*ReceiveName `protobuf:"bytes,4,rep,name=methods,proto3" json:"methods,omitempty"` + // The name of the smart contract of the instance. + Name *InitName `protobuf:"bytes,5,opt,name=name,proto3" json:"name,omitempty"` + // The module reference for the smart contract module of the instance. + SourceModule *ModuleRef `protobuf:"bytes,6,opt,name=source_module,json=sourceModule,proto3" json:"source_module,omitempty"` unknownFields protoimpl.UnknownFields - - // Delegator's id - DelegatorId *DelegatorId `protobuf:"bytes,1,opt,name=delegator_id,json=delegatorId,proto3" json:"delegator_id,omitempty"` - // Whether earnings will be restaked - RestakeEarnings bool `protobuf:"varint,2,opt,name=restake_earnings,json=restakeEarnings,proto3" json:"restake_earnings,omitempty"` + sizeCache protoimpl.SizeCache } -func (x *DelegationEvent_DelegationSetRestakeEarnings) Reset() { - *x = DelegationEvent_DelegationSetRestakeEarnings{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[255] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (x *InstanceInfo_V0) Reset() { + *x = InstanceInfo_V0{} + mi := &file_v2_concordium_types_proto_msgTypes[255] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } -func (x *DelegationEvent_DelegationSetRestakeEarnings) String() string { +func (x *InstanceInfo_V0) String() string { return protoimpl.X.MessageStringOf(x) } -func (*DelegationEvent_DelegationSetRestakeEarnings) ProtoMessage() {} +func (*InstanceInfo_V0) ProtoMessage() {} -func (x *DelegationEvent_DelegationSetRestakeEarnings) ProtoReflect() protoreflect.Message { +func (x *InstanceInfo_V0) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[255] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -20497,54 +20916,86 @@ func (x *DelegationEvent_DelegationSetRestakeEarnings) ProtoReflect() protorefle return mi.MessageOf(x) } -// Deprecated: Use DelegationEvent_DelegationSetRestakeEarnings.ProtoReflect.Descriptor instead. -func (*DelegationEvent_DelegationSetRestakeEarnings) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{88, 2} +// Deprecated: Use InstanceInfo_V0.ProtoReflect.Descriptor instead. +func (*InstanceInfo_V0) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{60, 0} } -func (x *DelegationEvent_DelegationSetRestakeEarnings) GetDelegatorId() *DelegatorId { +func (x *InstanceInfo_V0) GetModel() *ContractStateV0 { if x != nil { - return x.DelegatorId + return x.Model } return nil } -func (x *DelegationEvent_DelegationSetRestakeEarnings) GetRestakeEarnings() bool { +func (x *InstanceInfo_V0) GetOwner() *AccountAddress { if x != nil { - return x.RestakeEarnings + return x.Owner } - return false + return nil } -type DelegationEvent_DelegationSetDelegationTarget struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +func (x *InstanceInfo_V0) GetAmount() *Amount { + if x != nil { + return x.Amount + } + return nil +} - // Delegator's id - DelegatorId *DelegatorId `protobuf:"bytes,1,opt,name=delegator_id,json=delegatorId,proto3" json:"delegator_id,omitempty"` - // New delegation target - DelegationTarget *DelegationTarget `protobuf:"bytes,2,opt,name=delegation_target,json=delegationTarget,proto3" json:"delegation_target,omitempty"` +func (x *InstanceInfo_V0) GetMethods() []*ReceiveName { + if x != nil { + return x.Methods + } + return nil } -func (x *DelegationEvent_DelegationSetDelegationTarget) Reset() { - *x = DelegationEvent_DelegationSetDelegationTarget{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[256] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *InstanceInfo_V0) GetName() *InitName { + if x != nil { + return x.Name } + return nil } -func (x *DelegationEvent_DelegationSetDelegationTarget) String() string { +func (x *InstanceInfo_V0) GetSourceModule() *ModuleRef { + if x != nil { + return x.SourceModule + } + return nil +} + +// Version 1 smart contract instance information. +type InstanceInfo_V1 struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The account address which deployed the instance. + Owner *AccountAddress `protobuf:"bytes,2,opt,name=owner,proto3" json:"owner,omitempty"` + // The amount of CCD tokens in the balance of the instance. + Amount *Amount `protobuf:"bytes,3,opt,name=amount,proto3" json:"amount,omitempty"` + // A list of endpoints exposed by the instance. + Methods []*ReceiveName `protobuf:"bytes,4,rep,name=methods,proto3" json:"methods,omitempty"` + // The name of the smart contract of the instance. + Name *InitName `protobuf:"bytes,5,opt,name=name,proto3" json:"name,omitempty"` + // The module reference for the smart contract module of the instance. + SourceModule *ModuleRef `protobuf:"bytes,6,opt,name=source_module,json=sourceModule,proto3" json:"source_module,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *InstanceInfo_V1) Reset() { + *x = InstanceInfo_V1{} + mi := &file_v2_concordium_types_proto_msgTypes[256] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *InstanceInfo_V1) String() string { return protoimpl.X.MessageStringOf(x) } -func (*DelegationEvent_DelegationSetDelegationTarget) ProtoMessage() {} +func (*InstanceInfo_V1) ProtoMessage() {} -func (x *DelegationEvent_DelegationSetDelegationTarget) ProtoReflect() protoreflect.Message { +func (x *InstanceInfo_V1) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[256] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -20554,52 +21005,69 @@ func (x *DelegationEvent_DelegationSetDelegationTarget) ProtoReflect() protorefl return mi.MessageOf(x) } -// Deprecated: Use DelegationEvent_DelegationSetDelegationTarget.ProtoReflect.Descriptor instead. -func (*DelegationEvent_DelegationSetDelegationTarget) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{88, 3} +// Deprecated: Use InstanceInfo_V1.ProtoReflect.Descriptor instead. +func (*InstanceInfo_V1) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{60, 1} } -func (x *DelegationEvent_DelegationSetDelegationTarget) GetDelegatorId() *DelegatorId { +func (x *InstanceInfo_V1) GetOwner() *AccountAddress { if x != nil { - return x.DelegatorId + return x.Owner } return nil } -func (x *DelegationEvent_DelegationSetDelegationTarget) GetDelegationTarget() *DelegationTarget { +func (x *InstanceInfo_V1) GetAmount() *Amount { if x != nil { - return x.DelegationTarget + return x.Amount } return nil } -type DelegationEvent_BakerRemoved struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +func (x *InstanceInfo_V1) GetMethods() []*ReceiveName { + if x != nil { + return x.Methods + } + return nil +} - // Baker's id - BakerId *BakerId `protobuf:"bytes,1,opt,name=baker_id,json=bakerId,proto3" json:"baker_id,omitempty"` +func (x *InstanceInfo_V1) GetName() *InitName { + if x != nil { + return x.Name + } + return nil } -func (x *DelegationEvent_BakerRemoved) Reset() { - *x = DelegationEvent_BakerRemoved{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[257] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *InstanceInfo_V1) GetSourceModule() *ModuleRef { + if x != nil { + return x.SourceModule } + return nil } -func (x *DelegationEvent_BakerRemoved) String() string { +type BlockItemStatus_Committed struct { + state protoimpl.MessageState `protogen:"open.v1"` + Outcomes []*BlockItemSummaryInBlock `protobuf:"bytes,1,rep,name=outcomes,proto3" json:"outcomes,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *BlockItemStatus_Committed) Reset() { + *x = BlockItemStatus_Committed{} + mi := &file_v2_concordium_types_proto_msgTypes[257] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *BlockItemStatus_Committed) String() string { return protoimpl.X.MessageStringOf(x) } -func (*DelegationEvent_BakerRemoved) ProtoMessage() {} +func (*BlockItemStatus_Committed) ProtoMessage() {} -func (x *DelegationEvent_BakerRemoved) ProtoReflect() protoreflect.Message { +func (x *BlockItemStatus_Committed) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[257] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -20609,50 +21077,41 @@ func (x *DelegationEvent_BakerRemoved) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use DelegationEvent_BakerRemoved.ProtoReflect.Descriptor instead. -func (*DelegationEvent_BakerRemoved) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{88, 4} +// Deprecated: Use BlockItemStatus_Committed.ProtoReflect.Descriptor instead. +func (*BlockItemStatus_Committed) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{68, 0} } -func (x *DelegationEvent_BakerRemoved) GetBakerId() *BakerId { +func (x *BlockItemStatus_Committed) GetOutcomes() []*BlockItemSummaryInBlock { if x != nil { - return x.BakerId + return x.Outcomes } return nil } -// No effects other than payment from this transaction. -// The rejection reason indicates why the transaction failed. -type AccountTransactionEffects_None struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache +type BlockItemStatus_Finalized struct { + state protoimpl.MessageState `protogen:"open.v1"` + Outcome *BlockItemSummaryInBlock `protobuf:"bytes,1,opt,name=outcome,proto3" json:"outcome,omitempty"` unknownFields protoimpl.UnknownFields - - // Transaction type of a failed transaction, if known. - // In case of serialization failure this will not be set. - TransactionType *TransactionType `protobuf:"varint,1,opt,name=transaction_type,json=transactionType,proto3,enum=concordium.v2.TransactionType,oneof" json:"transaction_type,omitempty"` - // Reason for rejection of the transaction. - RejectReason *RejectReason `protobuf:"bytes,2,opt,name=reject_reason,json=rejectReason,proto3" json:"reject_reason,omitempty"` + sizeCache protoimpl.SizeCache } -func (x *AccountTransactionEffects_None) Reset() { - *x = AccountTransactionEffects_None{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[258] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (x *BlockItemStatus_Finalized) Reset() { + *x = BlockItemStatus_Finalized{} + mi := &file_v2_concordium_types_proto_msgTypes[258] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } -func (x *AccountTransactionEffects_None) String() string { +func (x *BlockItemStatus_Finalized) String() string { return protoimpl.X.MessageStringOf(x) } -func (*AccountTransactionEffects_None) ProtoMessage() {} +func (*BlockItemStatus_Finalized) ProtoMessage() {} -func (x *AccountTransactionEffects_None) ProtoReflect() protoreflect.Message { +func (x *BlockItemStatus_Finalized) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[258] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -20662,53 +21121,42 @@ func (x *AccountTransactionEffects_None) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use AccountTransactionEffects_None.ProtoReflect.Descriptor instead. -func (*AccountTransactionEffects_None) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{89, 0} -} - -func (x *AccountTransactionEffects_None) GetTransactionType() TransactionType { - if x != nil && x.TransactionType != nil { - return *x.TransactionType - } - return TransactionType_DEPLOY_MODULE +// Deprecated: Use BlockItemStatus_Finalized.ProtoReflect.Descriptor instead. +func (*BlockItemStatus_Finalized) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{68, 1} } -func (x *AccountTransactionEffects_None) GetRejectReason() *RejectReason { +func (x *BlockItemStatus_Finalized) GetOutcome() *BlockItemSummaryInBlock { if x != nil { - return x.RejectReason + return x.Outcome } return nil } -// A contract update transaction was issued and produced the given trace. -// This is the result of Update transaction. -type AccountTransactionEffects_ContractUpdateIssued struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache +type RejectReason_InvalidInitMethod struct { + state protoimpl.MessageState `protogen:"open.v1"` + ModuleRef *ModuleRef `protobuf:"bytes,1,opt,name=module_ref,json=moduleRef,proto3" json:"module_ref,omitempty"` + InitName *InitName `protobuf:"bytes,2,opt,name=init_name,json=initName,proto3" json:"init_name,omitempty"` unknownFields protoimpl.UnknownFields - - Effects []*ContractTraceElement `protobuf:"bytes,1,rep,name=effects,proto3" json:"effects,omitempty"` + sizeCache protoimpl.SizeCache } -func (x *AccountTransactionEffects_ContractUpdateIssued) Reset() { - *x = AccountTransactionEffects_ContractUpdateIssued{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[259] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (x *RejectReason_InvalidInitMethod) Reset() { + *x = RejectReason_InvalidInitMethod{} + mi := &file_v2_concordium_types_proto_msgTypes[259] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } -func (x *AccountTransactionEffects_ContractUpdateIssued) String() string { +func (x *RejectReason_InvalidInitMethod) String() string { return protoimpl.X.MessageStringOf(x) } -func (*AccountTransactionEffects_ContractUpdateIssued) ProtoMessage() {} +func (*RejectReason_InvalidInitMethod) ProtoMessage() {} -func (x *AccountTransactionEffects_ContractUpdateIssued) ProtoReflect() protoreflect.Message { +func (x *RejectReason_InvalidInitMethod) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[259] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -20718,51 +21166,49 @@ func (x *AccountTransactionEffects_ContractUpdateIssued) ProtoReflect() protoref return mi.MessageOf(x) } -// Deprecated: Use AccountTransactionEffects_ContractUpdateIssued.ProtoReflect.Descriptor instead. -func (*AccountTransactionEffects_ContractUpdateIssued) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{89, 1} +// Deprecated: Use RejectReason_InvalidInitMethod.ProtoReflect.Descriptor instead. +func (*RejectReason_InvalidInitMethod) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{74, 0} } -func (x *AccountTransactionEffects_ContractUpdateIssued) GetEffects() []*ContractTraceElement { +func (x *RejectReason_InvalidInitMethod) GetModuleRef() *ModuleRef { if x != nil { - return x.Effects + return x.ModuleRef } return nil } -// A simple account to account transfer occurred. This is the result of a -// successful Transfer transaction. -type AccountTransactionEffects_AccountTransfer struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +func (x *RejectReason_InvalidInitMethod) GetInitName() *InitName { + if x != nil { + return x.InitName + } + return nil +} - // Amount that was transferred. - Amount *Amount `protobuf:"bytes,1,opt,name=amount,proto3" json:"amount,omitempty"` - // Receiver account. - Receiver *AccountAddress `protobuf:"bytes,2,opt,name=receiver,proto3" json:"receiver,omitempty"` - // Memo. - Memo *Memo `protobuf:"bytes,3,opt,name=memo,proto3,oneof" json:"memo,omitempty"` +type RejectReason_InvalidReceiveMethod struct { + state protoimpl.MessageState `protogen:"open.v1"` + ModuleRef *ModuleRef `protobuf:"bytes,1,opt,name=module_ref,json=moduleRef,proto3" json:"module_ref,omitempty"` + ReceiveName *ReceiveName `protobuf:"bytes,2,opt,name=receive_name,json=receiveName,proto3" json:"receive_name,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } -func (x *AccountTransactionEffects_AccountTransfer) Reset() { - *x = AccountTransactionEffects_AccountTransfer{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[260] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (x *RejectReason_InvalidReceiveMethod) Reset() { + *x = RejectReason_InvalidReceiveMethod{} + mi := &file_v2_concordium_types_proto_msgTypes[260] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } -func (x *AccountTransactionEffects_AccountTransfer) String() string { +func (x *RejectReason_InvalidReceiveMethod) String() string { return protoimpl.X.MessageStringOf(x) } -func (*AccountTransactionEffects_AccountTransfer) ProtoMessage() {} +func (*RejectReason_InvalidReceiveMethod) ProtoMessage() {} -func (x *AccountTransactionEffects_AccountTransfer) ProtoReflect() protoreflect.Message { +func (x *RejectReason_InvalidReceiveMethod) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[260] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -20772,62 +21218,49 @@ func (x *AccountTransactionEffects_AccountTransfer) ProtoReflect() protoreflect. return mi.MessageOf(x) } -// Deprecated: Use AccountTransactionEffects_AccountTransfer.ProtoReflect.Descriptor instead. -func (*AccountTransactionEffects_AccountTransfer) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{89, 2} -} - -func (x *AccountTransactionEffects_AccountTransfer) GetAmount() *Amount { - if x != nil { - return x.Amount - } - return nil +// Deprecated: Use RejectReason_InvalidReceiveMethod.ProtoReflect.Descriptor instead. +func (*RejectReason_InvalidReceiveMethod) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{74, 1} } -func (x *AccountTransactionEffects_AccountTransfer) GetReceiver() *AccountAddress { +func (x *RejectReason_InvalidReceiveMethod) GetModuleRef() *ModuleRef { if x != nil { - return x.Receiver + return x.ModuleRef } return nil } -func (x *AccountTransactionEffects_AccountTransfer) GetMemo() *Memo { +func (x *RejectReason_InvalidReceiveMethod) GetReceiveName() *ReceiveName { if x != nil { - return x.Memo + return x.ReceiveName } return nil } -// An account was deregistered as a baker. This is the result of a -// successful UpdateBakerStake transaction. -type AccountTransactionEffects_BakerStakeUpdated struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache +type RejectReason_AmountTooLarge struct { + state protoimpl.MessageState `protogen:"open.v1"` + Address *Address `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` + Amount *Amount `protobuf:"bytes,2,opt,name=amount,proto3" json:"amount,omitempty"` unknownFields protoimpl.UnknownFields - - // If the stake was updated (that is, it changed and did not stay the - // same) then this is present, otherwise it is not present. - Update *BakerStakeUpdatedData `protobuf:"bytes,1,opt,name=update,proto3,oneof" json:"update,omitempty"` + sizeCache protoimpl.SizeCache } -func (x *AccountTransactionEffects_BakerStakeUpdated) Reset() { - *x = AccountTransactionEffects_BakerStakeUpdated{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[261] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (x *RejectReason_AmountTooLarge) Reset() { + *x = RejectReason_AmountTooLarge{} + mi := &file_v2_concordium_types_proto_msgTypes[261] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } -func (x *AccountTransactionEffects_BakerStakeUpdated) String() string { +func (x *RejectReason_AmountTooLarge) String() string { return protoimpl.X.MessageStringOf(x) } -func (*AccountTransactionEffects_BakerStakeUpdated) ProtoMessage() {} +func (*RejectReason_AmountTooLarge) ProtoMessage() {} -func (x *AccountTransactionEffects_BakerStakeUpdated) ProtoReflect() protoreflect.Message { +func (x *RejectReason_AmountTooLarge) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[261] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -20837,48 +21270,48 @@ func (x *AccountTransactionEffects_BakerStakeUpdated) ProtoReflect() protoreflec return mi.MessageOf(x) } -// Deprecated: Use AccountTransactionEffects_BakerStakeUpdated.ProtoReflect.Descriptor instead. -func (*AccountTransactionEffects_BakerStakeUpdated) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{89, 3} +// Deprecated: Use RejectReason_AmountTooLarge.ProtoReflect.Descriptor instead. +func (*RejectReason_AmountTooLarge) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{74, 2} } -func (x *AccountTransactionEffects_BakerStakeUpdated) GetUpdate() *BakerStakeUpdatedData { +func (x *RejectReason_AmountTooLarge) GetAddress() *Address { if x != nil { - return x.Update + return x.Address } return nil } -// An encrypted amount was transferred. This is the result of a successful -// EncryptedAmountTransfer transaction. -type AccountTransactionEffects_EncryptedAmountTransferred struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +func (x *RejectReason_AmountTooLarge) GetAmount() *Amount { + if x != nil { + return x.Amount + } + return nil +} - Removed *EncryptedAmountRemovedEvent `protobuf:"bytes,1,opt,name=removed,proto3" json:"removed,omitempty"` - Added *NewEncryptedAmountEvent `protobuf:"bytes,2,opt,name=added,proto3" json:"added,omitempty"` - Memo *Memo `protobuf:"bytes,3,opt,name=memo,proto3,oneof" json:"memo,omitempty"` +type RejectReason_RejectedInit struct { + state protoimpl.MessageState `protogen:"open.v1"` + RejectReason int32 `protobuf:"varint,1,opt,name=reject_reason,json=rejectReason,proto3" json:"reject_reason,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } -func (x *AccountTransactionEffects_EncryptedAmountTransferred) Reset() { - *x = AccountTransactionEffects_EncryptedAmountTransferred{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[262] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (x *RejectReason_RejectedInit) Reset() { + *x = RejectReason_RejectedInit{} + mi := &file_v2_concordium_types_proto_msgTypes[262] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } -func (x *AccountTransactionEffects_EncryptedAmountTransferred) String() string { +func (x *RejectReason_RejectedInit) String() string { return protoimpl.X.MessageStringOf(x) } -func (*AccountTransactionEffects_EncryptedAmountTransferred) ProtoMessage() {} +func (*RejectReason_RejectedInit) ProtoMessage() {} -func (x *AccountTransactionEffects_EncryptedAmountTransferred) ProtoReflect() protoreflect.Message { +func (x *RejectReason_RejectedInit) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[262] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -20888,61 +21321,44 @@ func (x *AccountTransactionEffects_EncryptedAmountTransferred) ProtoReflect() pr return mi.MessageOf(x) } -// Deprecated: Use AccountTransactionEffects_EncryptedAmountTransferred.ProtoReflect.Descriptor instead. -func (*AccountTransactionEffects_EncryptedAmountTransferred) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{89, 4} +// Deprecated: Use RejectReason_RejectedInit.ProtoReflect.Descriptor instead. +func (*RejectReason_RejectedInit) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{74, 3} } -func (x *AccountTransactionEffects_EncryptedAmountTransferred) GetRemoved() *EncryptedAmountRemovedEvent { +func (x *RejectReason_RejectedInit) GetRejectReason() int32 { if x != nil { - return x.Removed + return x.RejectReason } - return nil + return 0 } -func (x *AccountTransactionEffects_EncryptedAmountTransferred) GetAdded() *NewEncryptedAmountEvent { - if x != nil { - return x.Added - } - return nil -} - -func (x *AccountTransactionEffects_EncryptedAmountTransferred) GetMemo() *Memo { - if x != nil { - return x.Memo - } - return nil -} - -// An account transferred part of its encrypted balance to its public -// balance. This is the result of a successful TransferToPublic transaction. -type AccountTransactionEffects_TransferredToPublic struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Removed *EncryptedAmountRemovedEvent `protobuf:"bytes,1,opt,name=removed,proto3" json:"removed,omitempty"` - Amount *Amount `protobuf:"bytes,2,opt,name=amount,proto3" json:"amount,omitempty"` +type RejectReason_RejectedReceive struct { + state protoimpl.MessageState `protogen:"open.v1"` + RejectReason int32 `protobuf:"varint,1,opt,name=reject_reason,json=rejectReason,proto3" json:"reject_reason,omitempty"` + ContractAddress *ContractAddress `protobuf:"bytes,2,opt,name=contract_address,json=contractAddress,proto3" json:"contract_address,omitempty"` + ReceiveName *ReceiveName `protobuf:"bytes,3,opt,name=receive_name,json=receiveName,proto3" json:"receive_name,omitempty"` + Parameter *Parameter `protobuf:"bytes,4,opt,name=parameter,proto3" json:"parameter,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } -func (x *AccountTransactionEffects_TransferredToPublic) Reset() { - *x = AccountTransactionEffects_TransferredToPublic{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[263] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (x *RejectReason_RejectedReceive) Reset() { + *x = RejectReason_RejectedReceive{} + mi := &file_v2_concordium_types_proto_msgTypes[263] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } -func (x *AccountTransactionEffects_TransferredToPublic) String() string { +func (x *RejectReason_RejectedReceive) String() string { return protoimpl.X.MessageStringOf(x) } -func (*AccountTransactionEffects_TransferredToPublic) ProtoMessage() {} +func (*RejectReason_RejectedReceive) ProtoMessage() {} -func (x *AccountTransactionEffects_TransferredToPublic) ProtoReflect() protoreflect.Message { +func (x *RejectReason_RejectedReceive) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[263] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -20952,58 +21368,62 @@ func (x *AccountTransactionEffects_TransferredToPublic) ProtoReflect() protorefl return mi.MessageOf(x) } -// Deprecated: Use AccountTransactionEffects_TransferredToPublic.ProtoReflect.Descriptor instead. -func (*AccountTransactionEffects_TransferredToPublic) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{89, 5} +// Deprecated: Use RejectReason_RejectedReceive.ProtoReflect.Descriptor instead. +func (*RejectReason_RejectedReceive) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{74, 4} } -func (x *AccountTransactionEffects_TransferredToPublic) GetRemoved() *EncryptedAmountRemovedEvent { +func (x *RejectReason_RejectedReceive) GetRejectReason() int32 { if x != nil { - return x.Removed + return x.RejectReason + } + return 0 +} + +func (x *RejectReason_RejectedReceive) GetContractAddress() *ContractAddress { + if x != nil { + return x.ContractAddress } return nil } -func (x *AccountTransactionEffects_TransferredToPublic) GetAmount() *Amount { +func (x *RejectReason_RejectedReceive) GetReceiveName() *ReceiveName { if x != nil { - return x.Amount + return x.ReceiveName } return nil } -// A transfer with schedule was performed. This is the result of a -// successful TransferWithSchedule transaction. -type AccountTransactionEffects_TransferredWithSchedule struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +func (x *RejectReason_RejectedReceive) GetParameter() *Parameter { + if x != nil { + return x.Parameter + } + return nil +} - // Receiver account. - Receiver *AccountAddress `protobuf:"bytes,1,opt,name=receiver,proto3" json:"receiver,omitempty"` - // The list of releases. Ordered by increasing timestamp. - Amount []*NewRelease `protobuf:"bytes,2,rep,name=amount,proto3" json:"amount,omitempty"` - // Optional memo. - Memo *Memo `protobuf:"bytes,3,opt,name=memo,proto3,oneof" json:"memo,omitempty"` +type RejectReason_DuplicateCredIds struct { + state protoimpl.MessageState `protogen:"open.v1"` + Ids []*CredentialRegistrationId `protobuf:"bytes,1,rep,name=ids,proto3" json:"ids,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } -func (x *AccountTransactionEffects_TransferredWithSchedule) Reset() { - *x = AccountTransactionEffects_TransferredWithSchedule{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[264] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (x *RejectReason_DuplicateCredIds) Reset() { + *x = RejectReason_DuplicateCredIds{} + mi := &file_v2_concordium_types_proto_msgTypes[264] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } -func (x *AccountTransactionEffects_TransferredWithSchedule) String() string { +func (x *RejectReason_DuplicateCredIds) String() string { return protoimpl.X.MessageStringOf(x) } -func (*AccountTransactionEffects_TransferredWithSchedule) ProtoMessage() {} +func (*RejectReason_DuplicateCredIds) ProtoMessage() {} -func (x *AccountTransactionEffects_TransferredWithSchedule) ProtoReflect() protoreflect.Message { +func (x *RejectReason_DuplicateCredIds) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[264] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -21013,65 +21433,41 @@ func (x *AccountTransactionEffects_TransferredWithSchedule) ProtoReflect() proto return mi.MessageOf(x) } -// Deprecated: Use AccountTransactionEffects_TransferredWithSchedule.ProtoReflect.Descriptor instead. -func (*AccountTransactionEffects_TransferredWithSchedule) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{89, 6} -} - -func (x *AccountTransactionEffects_TransferredWithSchedule) GetReceiver() *AccountAddress { - if x != nil { - return x.Receiver - } - return nil -} - -func (x *AccountTransactionEffects_TransferredWithSchedule) GetAmount() []*NewRelease { - if x != nil { - return x.Amount - } - return nil +// Deprecated: Use RejectReason_DuplicateCredIds.ProtoReflect.Descriptor instead. +func (*RejectReason_DuplicateCredIds) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{74, 5} } -func (x *AccountTransactionEffects_TransferredWithSchedule) GetMemo() *Memo { +func (x *RejectReason_DuplicateCredIds) GetIds() []*CredentialRegistrationId { if x != nil { - return x.Memo + return x.Ids } return nil } -// Account's credentials were updated. This is the result of a -// successful UpdateCredentials transaction. -type AccountTransactionEffects_CredentialsUpdated struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache +type RejectReason_NonExistentCredIds struct { + state protoimpl.MessageState `protogen:"open.v1"` + Ids []*CredentialRegistrationId `protobuf:"bytes,1,rep,name=ids,proto3" json:"ids,omitempty"` unknownFields protoimpl.UnknownFields - - // The credential ids that were added. - NewCredIds []*CredentialRegistrationId `protobuf:"bytes,1,rep,name=new_cred_ids,json=newCredIds,proto3" json:"new_cred_ids,omitempty"` - // The credentials that were removed. - RemovedCredIds []*CredentialRegistrationId `protobuf:"bytes,2,rep,name=removed_cred_ids,json=removedCredIds,proto3" json:"removed_cred_ids,omitempty"` - // The (possibly) updated account threshold. - NewThreshold *AccountThreshold `protobuf:"bytes,3,opt,name=new_threshold,json=newThreshold,proto3" json:"new_threshold,omitempty"` + sizeCache protoimpl.SizeCache } -func (x *AccountTransactionEffects_CredentialsUpdated) Reset() { - *x = AccountTransactionEffects_CredentialsUpdated{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[265] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (x *RejectReason_NonExistentCredIds) Reset() { + *x = RejectReason_NonExistentCredIds{} + mi := &file_v2_concordium_types_proto_msgTypes[265] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } -func (x *AccountTransactionEffects_CredentialsUpdated) String() string { +func (x *RejectReason_NonExistentCredIds) String() string { return protoimpl.X.MessageStringOf(x) } -func (*AccountTransactionEffects_CredentialsUpdated) ProtoMessage() {} +func (*RejectReason_NonExistentCredIds) ProtoMessage() {} -func (x *AccountTransactionEffects_CredentialsUpdated) ProtoReflect() protoreflect.Message { +func (x *RejectReason_NonExistentCredIds) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[265] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -21081,60 +21477,47 @@ func (x *AccountTransactionEffects_CredentialsUpdated) ProtoReflect() protorefle return mi.MessageOf(x) } -// Deprecated: Use AccountTransactionEffects_CredentialsUpdated.ProtoReflect.Descriptor instead. -func (*AccountTransactionEffects_CredentialsUpdated) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{89, 7} -} - -func (x *AccountTransactionEffects_CredentialsUpdated) GetNewCredIds() []*CredentialRegistrationId { - if x != nil { - return x.NewCredIds - } - return nil -} - -func (x *AccountTransactionEffects_CredentialsUpdated) GetRemovedCredIds() []*CredentialRegistrationId { - if x != nil { - return x.RemovedCredIds - } - return nil +// Deprecated: Use RejectReason_NonExistentCredIds.ProtoReflect.Descriptor instead. +func (*RejectReason_NonExistentCredIds) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{74, 6} } -func (x *AccountTransactionEffects_CredentialsUpdated) GetNewThreshold() *AccountThreshold { +func (x *RejectReason_NonExistentCredIds) GetIds() []*CredentialRegistrationId { if x != nil { - return x.NewThreshold + return x.Ids } return nil } -// A baker was configured. The details of what happened are contained in -// the list of BakerEvents. -type AccountTransactionEffects_BakerConfigured struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache +// A contract transferred an amount to an account. +type ContractTraceElement_Transferred struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Sender contract. + Sender *ContractAddress `protobuf:"bytes,1,opt,name=sender,proto3" json:"sender,omitempty"` + // Amount transferred. + Amount *Amount `protobuf:"bytes,2,opt,name=amount,proto3" json:"amount,omitempty"` + // Receiver account. + Receiver *AccountAddress `protobuf:"bytes,3,opt,name=receiver,proto3" json:"receiver,omitempty"` unknownFields protoimpl.UnknownFields - - Events []*BakerEvent `protobuf:"bytes,1,rep,name=events,proto3" json:"events,omitempty"` + sizeCache protoimpl.SizeCache } -func (x *AccountTransactionEffects_BakerConfigured) Reset() { - *x = AccountTransactionEffects_BakerConfigured{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[266] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (x *ContractTraceElement_Transferred) Reset() { + *x = ContractTraceElement_Transferred{} + mi := &file_v2_concordium_types_proto_msgTypes[266] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } -func (x *AccountTransactionEffects_BakerConfigured) String() string { +func (x *ContractTraceElement_Transferred) String() string { return protoimpl.X.MessageStringOf(x) } -func (*AccountTransactionEffects_BakerConfigured) ProtoMessage() {} +func (*ContractTraceElement_Transferred) ProtoMessage() {} -func (x *AccountTransactionEffects_BakerConfigured) ProtoReflect() protoreflect.Message { +func (x *ContractTraceElement_Transferred) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[266] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -21144,46 +21527,60 @@ func (x *AccountTransactionEffects_BakerConfigured) ProtoReflect() protoreflect. return mi.MessageOf(x) } -// Deprecated: Use AccountTransactionEffects_BakerConfigured.ProtoReflect.Descriptor instead. -func (*AccountTransactionEffects_BakerConfigured) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{89, 8} +// Deprecated: Use ContractTraceElement_Transferred.ProtoReflect.Descriptor instead. +func (*ContractTraceElement_Transferred) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{78, 0} } -func (x *AccountTransactionEffects_BakerConfigured) GetEvents() []*BakerEvent { +func (x *ContractTraceElement_Transferred) GetSender() *ContractAddress { if x != nil { - return x.Events + return x.Sender } return nil } -// An account configured delegation. The details of what happened are -// contained in the list of DelegationEvents. -type AccountTransactionEffects_DelegationConfigured struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Events []*DelegationEvent `protobuf:"bytes,1,rep,name=events,proto3" json:"events,omitempty"` +func (x *ContractTraceElement_Transferred) GetAmount() *Amount { + if x != nil { + return x.Amount + } + return nil } -func (x *AccountTransactionEffects_DelegationConfigured) Reset() { - *x = AccountTransactionEffects_DelegationConfigured{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[267] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *ContractTraceElement_Transferred) GetReceiver() *AccountAddress { + if x != nil { + return x.Receiver } + return nil } -func (x *AccountTransactionEffects_DelegationConfigured) String() string { +// A contract was interrupted. +// This occurs when a contract invokes another contract or makes a transfer to an account. +type ContractTraceElement_Interrupted struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The contract interrupted. + Address *ContractAddress `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` + // The events generated up until the interruption. + Events []*ContractEvent `protobuf:"bytes,2,rep,name=events,proto3" json:"events,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ContractTraceElement_Interrupted) Reset() { + *x = ContractTraceElement_Interrupted{} + mi := &file_v2_concordium_types_proto_msgTypes[267] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ContractTraceElement_Interrupted) String() string { return protoimpl.X.MessageStringOf(x) } -func (*AccountTransactionEffects_DelegationConfigured) ProtoMessage() {} +func (*ContractTraceElement_Interrupted) ProtoMessage() {} -func (x *AccountTransactionEffects_DelegationConfigured) ProtoReflect() protoreflect.Message { +func (x *ContractTraceElement_Interrupted) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[267] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -21193,46 +21590,52 @@ func (x *AccountTransactionEffects_DelegationConfigured) ProtoReflect() protoref return mi.MessageOf(x) } -// Deprecated: Use AccountTransactionEffects_DelegationConfigured.ProtoReflect.Descriptor instead. -func (*AccountTransactionEffects_DelegationConfigured) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{89, 9} +// Deprecated: Use ContractTraceElement_Interrupted.ProtoReflect.Descriptor instead. +func (*ContractTraceElement_Interrupted) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{78, 1} } -func (x *AccountTransactionEffects_DelegationConfigured) GetEvents() []*DelegationEvent { +func (x *ContractTraceElement_Interrupted) GetAddress() *ContractAddress { + if x != nil { + return x.Address + } + return nil +} + +func (x *ContractTraceElement_Interrupted) GetEvents() []*ContractEvent { if x != nil { return x.Events } return nil } -// Identity of the anonymity revoker on the chain. This defines their -// evaluateion point for secret sharing, and thus it cannot be 0. -type ArInfo_ArIdentity struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache +// A previously interrupted contract was resumed. +type ContractTraceElement_Resumed struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The contract resumed. + Address *ContractAddress `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` + // Whether the action that caused the interruption (invoke contract or make transfer) was successful or not. + Success bool `protobuf:"varint,2,opt,name=success,proto3" json:"success,omitempty"` unknownFields protoimpl.UnknownFields - - Value uint32 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"` + sizeCache protoimpl.SizeCache } -func (x *ArInfo_ArIdentity) Reset() { - *x = ArInfo_ArIdentity{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[268] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (x *ContractTraceElement_Resumed) Reset() { + *x = ContractTraceElement_Resumed{} + mi := &file_v2_concordium_types_proto_msgTypes[268] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } -func (x *ArInfo_ArIdentity) String() string { +func (x *ContractTraceElement_Resumed) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ArInfo_ArIdentity) ProtoMessage() {} +func (*ContractTraceElement_Resumed) ProtoMessage() {} -func (x *ArInfo_ArIdentity) ProtoReflect() protoreflect.Message { +func (x *ContractTraceElement_Resumed) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[268] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -21242,45 +21645,54 @@ func (x *ArInfo_ArIdentity) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ArInfo_ArIdentity.ProtoReflect.Descriptor instead. -func (*ArInfo_ArIdentity) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{104, 0} +// Deprecated: Use ContractTraceElement_Resumed.ProtoReflect.Descriptor instead. +func (*ContractTraceElement_Resumed) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{78, 2} } -func (x *ArInfo_ArIdentity) GetValue() uint32 { +func (x *ContractTraceElement_Resumed) GetAddress() *ContractAddress { if x != nil { - return x.Value + return x.Address } - return 0 + return nil } -// Public key of an anonymity revoker. -type ArInfo_ArPublicKey struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +func (x *ContractTraceElement_Resumed) GetSuccess() bool { + if x != nil { + return x.Success + } + return false +} - Value []byte `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` +// A previously interrupted contract was resumed. +type ContractTraceElement_Upgraded struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The that was upgraded. + Address *ContractAddress `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` + // The module from which the contract was upgraded. + From *ModuleRef `protobuf:"bytes,2,opt,name=from,proto3" json:"from,omitempty"` + // The module to which it was upgraded. + To *ModuleRef `protobuf:"bytes,3,opt,name=to,proto3" json:"to,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } -func (x *ArInfo_ArPublicKey) Reset() { - *x = ArInfo_ArPublicKey{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[269] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (x *ContractTraceElement_Upgraded) Reset() { + *x = ContractTraceElement_Upgraded{} + mi := &file_v2_concordium_types_proto_msgTypes[269] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } -func (x *ArInfo_ArPublicKey) String() string { +func (x *ContractTraceElement_Upgraded) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ArInfo_ArPublicKey) ProtoMessage() {} +func (*ContractTraceElement_Upgraded) ProtoMessage() {} -func (x *ArInfo_ArPublicKey) ProtoReflect() protoreflect.Message { +func (x *ContractTraceElement_Upgraded) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[269] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -21290,45 +21702,63 @@ func (x *ArInfo_ArPublicKey) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ArInfo_ArPublicKey.ProtoReflect.Descriptor instead. -func (*ArInfo_ArPublicKey) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{104, 1} +// Deprecated: Use ContractTraceElement_Upgraded.ProtoReflect.Descriptor instead. +func (*ContractTraceElement_Upgraded) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{78, 3} } -func (x *ArInfo_ArPublicKey) GetValue() []byte { +func (x *ContractTraceElement_Upgraded) GetAddress() *ContractAddress { if x != nil { - return x.Value + return x.Address } return nil } -// Pointcheval-Sanders public key of the identity provider. -type IpInfo_IpVerifyKey struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Value []byte `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` +func (x *ContractTraceElement_Upgraded) GetFrom() *ModuleRef { + if x != nil { + return x.From + } + return nil } -func (x *IpInfo_IpVerifyKey) Reset() { - *x = IpInfo_IpVerifyKey{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[270] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *ContractTraceElement_Upgraded) GetTo() *ModuleRef { + if x != nil { + return x.To } + return nil } -func (x *IpInfo_IpVerifyKey) String() string { +// A baker was added. +type BakerEvent_BakerAdded struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The keys with which the baker registered. + KeysEvent *BakerKeysEvent `protobuf:"bytes,1,opt,name=keys_event,json=keysEvent,proto3" json:"keys_event,omitempty"` + // The amount the account staked to become a baker. This amount is + // locked. + Stake *Amount `protobuf:"bytes,2,opt,name=stake,proto3" json:"stake,omitempty"` + // Whether the baker will automatically add earnings to their stake or + // not. + RestakeEarnings bool `protobuf:"varint,3,opt,name=restake_earnings,json=restakeEarnings,proto3" json:"restake_earnings,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *BakerEvent_BakerAdded) Reset() { + *x = BakerEvent_BakerAdded{} + mi := &file_v2_concordium_types_proto_msgTypes[270] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *BakerEvent_BakerAdded) String() string { return protoimpl.X.MessageStringOf(x) } -func (*IpInfo_IpVerifyKey) ProtoMessage() {} +func (*BakerEvent_BakerAdded) ProtoMessage() {} -func (x *IpInfo_IpVerifyKey) ProtoReflect() protoreflect.Message { +func (x *BakerEvent_BakerAdded) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[270] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -21338,45 +21768,59 @@ func (x *IpInfo_IpVerifyKey) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use IpInfo_IpVerifyKey.ProtoReflect.Descriptor instead. -func (*IpInfo_IpVerifyKey) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{106, 0} +// Deprecated: Use BakerEvent_BakerAdded.ProtoReflect.Descriptor instead. +func (*BakerEvent_BakerAdded) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{86, 0} } -func (x *IpInfo_IpVerifyKey) GetValue() []byte { +func (x *BakerEvent_BakerAdded) GetKeysEvent() *BakerKeysEvent { if x != nil { - return x.Value + return x.KeysEvent } return nil } -// Ed25519 public key of the identity provider. -type IpInfo_IpCdiVerifyKey struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Value []byte `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` +func (x *BakerEvent_BakerAdded) GetStake() *Amount { + if x != nil { + return x.Stake + } + return nil } -func (x *IpInfo_IpCdiVerifyKey) Reset() { - *x = IpInfo_IpCdiVerifyKey{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[271] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *BakerEvent_BakerAdded) GetRestakeEarnings() bool { + if x != nil { + return x.RestakeEarnings } + return false } -func (x *IpInfo_IpCdiVerifyKey) String() string { +// Baker stake increased. +type BakerEvent_BakerStakeIncreased struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Baker's id. + BakerId *BakerId `protobuf:"bytes,1,opt,name=baker_id,json=bakerId,proto3" json:"baker_id,omitempty"` + // The new stake. + NewStake *Amount `protobuf:"bytes,2,opt,name=new_stake,json=newStake,proto3" json:"new_stake,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *BakerEvent_BakerStakeIncreased) Reset() { + *x = BakerEvent_BakerStakeIncreased{} + mi := &file_v2_concordium_types_proto_msgTypes[271] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *BakerEvent_BakerStakeIncreased) String() string { return protoimpl.X.MessageStringOf(x) } -func (*IpInfo_IpCdiVerifyKey) ProtoMessage() {} +func (*BakerEvent_BakerStakeIncreased) ProtoMessage() {} -func (x *IpInfo_IpCdiVerifyKey) ProtoReflect() protoreflect.Message { +func (x *BakerEvent_BakerStakeIncreased) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[271] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -21386,44 +21830,51 @@ func (x *IpInfo_IpCdiVerifyKey) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use IpInfo_IpCdiVerifyKey.ProtoReflect.Descriptor instead. -func (*IpInfo_IpCdiVerifyKey) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{106, 1} +// Deprecated: Use BakerEvent_BakerStakeIncreased.ProtoReflect.Descriptor instead. +func (*BakerEvent_BakerStakeIncreased) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{86, 1} } -func (x *IpInfo_IpCdiVerifyKey) GetValue() []byte { +func (x *BakerEvent_BakerStakeIncreased) GetBakerId() *BakerId { if x != nil { - return x.Value + return x.BakerId } return nil } -type BlockItemSummary_TransactionIndex struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +func (x *BakerEvent_BakerStakeIncreased) GetNewStake() *Amount { + if x != nil { + return x.NewStake + } + return nil +} - Value uint64 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"` +type BakerEvent_BakerStakeDecreased struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Baker's id. + BakerId *BakerId `protobuf:"bytes,1,opt,name=baker_id,json=bakerId,proto3" json:"baker_id,omitempty"` + // The new stake. + NewStake *Amount `protobuf:"bytes,2,opt,name=new_stake,json=newStake,proto3" json:"new_stake,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } -func (x *BlockItemSummary_TransactionIndex) Reset() { - *x = BlockItemSummary_TransactionIndex{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[272] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (x *BakerEvent_BakerStakeDecreased) Reset() { + *x = BakerEvent_BakerStakeDecreased{} + mi := &file_v2_concordium_types_proto_msgTypes[272] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } -func (x *BlockItemSummary_TransactionIndex) String() string { +func (x *BakerEvent_BakerStakeDecreased) String() string { return protoimpl.X.MessageStringOf(x) } -func (*BlockItemSummary_TransactionIndex) ProtoMessage() {} +func (*BakerEvent_BakerStakeDecreased) ProtoMessage() {} -func (x *BlockItemSummary_TransactionIndex) ProtoReflect() protoreflect.Message { +func (x *BakerEvent_BakerStakeDecreased) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[272] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -21433,48 +21884,51 @@ func (x *BlockItemSummary_TransactionIndex) ProtoReflect() protoreflect.Message return mi.MessageOf(x) } -// Deprecated: Use BlockItemSummary_TransactionIndex.ProtoReflect.Descriptor instead. -func (*BlockItemSummary_TransactionIndex) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{133, 0} +// Deprecated: Use BakerEvent_BakerStakeDecreased.ProtoReflect.Descriptor instead. +func (*BakerEvent_BakerStakeDecreased) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{86, 2} } -func (x *BlockItemSummary_TransactionIndex) GetValue() uint64 { +func (x *BakerEvent_BakerStakeDecreased) GetBakerId() *BakerId { if x != nil { - return x.Value + return x.BakerId } - return 0 + return nil } -// A reduction in baker equity capital is pending. -type PoolPendingChange_Reduce struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +func (x *BakerEvent_BakerStakeDecreased) GetNewStake() *Amount { + if x != nil { + return x.NewStake + } + return nil +} - // New baker equity capital. - ReducedEquityCapital *Amount `protobuf:"bytes,1,opt,name=reduced_equity_capital,json=reducedEquityCapital,proto3" json:"reduced_equity_capital,omitempty"` - // Timestamp when the change takes effect. - EffectiveTime *Timestamp `protobuf:"bytes,2,opt,name=effective_time,json=effectiveTime,proto3" json:"effective_time,omitempty"` +type BakerEvent_BakerRestakeEarningsUpdated struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Baker's id. + BakerId *BakerId `protobuf:"bytes,1,opt,name=baker_id,json=bakerId,proto3" json:"baker_id,omitempty"` + // The new value of the flag. + RestakeEarnings bool `protobuf:"varint,2,opt,name=restake_earnings,json=restakeEarnings,proto3" json:"restake_earnings,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } -func (x *PoolPendingChange_Reduce) Reset() { - *x = PoolPendingChange_Reduce{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[273] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (x *BakerEvent_BakerRestakeEarningsUpdated) Reset() { + *x = BakerEvent_BakerRestakeEarningsUpdated{} + mi := &file_v2_concordium_types_proto_msgTypes[273] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } -func (x *PoolPendingChange_Reduce) String() string { +func (x *BakerEvent_BakerRestakeEarningsUpdated) String() string { return protoimpl.X.MessageStringOf(x) } -func (*PoolPendingChange_Reduce) ProtoMessage() {} +func (*BakerEvent_BakerRestakeEarningsUpdated) ProtoMessage() {} -func (x *PoolPendingChange_Reduce) ProtoReflect() protoreflect.Message { +func (x *BakerEvent_BakerRestakeEarningsUpdated) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[273] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -21484,53 +21938,52 @@ func (x *PoolPendingChange_Reduce) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use PoolPendingChange_Reduce.ProtoReflect.Descriptor instead. -func (*PoolPendingChange_Reduce) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{140, 0} +// Deprecated: Use BakerEvent_BakerRestakeEarningsUpdated.ProtoReflect.Descriptor instead. +func (*BakerEvent_BakerRestakeEarningsUpdated) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{86, 3} } -func (x *PoolPendingChange_Reduce) GetReducedEquityCapital() *Amount { +func (x *BakerEvent_BakerRestakeEarningsUpdated) GetBakerId() *BakerId { if x != nil { - return x.ReducedEquityCapital + return x.BakerId } return nil } -func (x *PoolPendingChange_Reduce) GetEffectiveTime() *Timestamp { +func (x *BakerEvent_BakerRestakeEarningsUpdated) GetRestakeEarnings() bool { if x != nil { - return x.EffectiveTime + return x.RestakeEarnings } - return nil + return false } -// Removal of the pool is pending. -type PoolPendingChange_Remove struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache +// Updated open status for a baker pool. +type BakerEvent_BakerSetOpenStatus struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Baker's id. + BakerId *BakerId `protobuf:"bytes,1,opt,name=baker_id,json=bakerId,proto3" json:"baker_id,omitempty"` + // The new open status. + OpenStatus OpenStatus `protobuf:"varint,2,opt,name=open_status,json=openStatus,proto3,enum=concordium.v2.OpenStatus" json:"open_status,omitempty"` unknownFields protoimpl.UnknownFields - - // Timestamp when the change takes effect. - EffectiveTime *Timestamp `protobuf:"bytes,1,opt,name=effective_time,json=effectiveTime,proto3" json:"effective_time,omitempty"` + sizeCache protoimpl.SizeCache } -func (x *PoolPendingChange_Remove) Reset() { - *x = PoolPendingChange_Remove{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[274] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (x *BakerEvent_BakerSetOpenStatus) Reset() { + *x = BakerEvent_BakerSetOpenStatus{} + mi := &file_v2_concordium_types_proto_msgTypes[274] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } -func (x *PoolPendingChange_Remove) String() string { +func (x *BakerEvent_BakerSetOpenStatus) String() string { return protoimpl.X.MessageStringOf(x) } -func (*PoolPendingChange_Remove) ProtoMessage() {} +func (*BakerEvent_BakerSetOpenStatus) ProtoMessage() {} -func (x *PoolPendingChange_Remove) ProtoReflect() protoreflect.Message { +func (x *BakerEvent_BakerSetOpenStatus) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[274] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -21540,46 +21993,52 @@ func (x *PoolPendingChange_Remove) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use PoolPendingChange_Remove.ProtoReflect.Descriptor instead. -func (*PoolPendingChange_Remove) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{140, 1} +// Deprecated: Use BakerEvent_BakerSetOpenStatus.ProtoReflect.Descriptor instead. +func (*BakerEvent_BakerSetOpenStatus) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{86, 4} } -func (x *PoolPendingChange_Remove) GetEffectiveTime() *Timestamp { +func (x *BakerEvent_BakerSetOpenStatus) GetBakerId() *BakerId { if x != nil { - return x.EffectiveTime + return x.BakerId } return nil } -// Request using an absolute block height. -type BlocksAtHeightRequest_Absolute struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +func (x *BakerEvent_BakerSetOpenStatus) GetOpenStatus() OpenStatus { + if x != nil { + return x.OpenStatus + } + return OpenStatus_OPEN_STATUS_OPEN_FOR_ALL +} - // The absolute block height. - Height *AbsoluteBlockHeight `protobuf:"bytes,1,opt,name=height,proto3" json:"height,omitempty"` +// Updated metadata url for a baker pool. +type BakerEvent_BakerSetMetadataUrl struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Baker's id. + BakerId *BakerId `protobuf:"bytes,1,opt,name=baker_id,json=bakerId,proto3" json:"baker_id,omitempty"` + // The URL. + Url string `protobuf:"bytes,2,opt,name=url,proto3" json:"url,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } -func (x *BlocksAtHeightRequest_Absolute) Reset() { - *x = BlocksAtHeightRequest_Absolute{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[275] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (x *BakerEvent_BakerSetMetadataUrl) Reset() { + *x = BakerEvent_BakerSetMetadataUrl{} + mi := &file_v2_concordium_types_proto_msgTypes[275] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } -func (x *BlocksAtHeightRequest_Absolute) String() string { +func (x *BakerEvent_BakerSetMetadataUrl) String() string { return protoimpl.X.MessageStringOf(x) } -func (*BlocksAtHeightRequest_Absolute) ProtoMessage() {} +func (*BakerEvent_BakerSetMetadataUrl) ProtoMessage() {} -func (x *BlocksAtHeightRequest_Absolute) ProtoReflect() protoreflect.Message { +func (x *BakerEvent_BakerSetMetadataUrl) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[275] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -21589,51 +22048,52 @@ func (x *BlocksAtHeightRequest_Absolute) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use BlocksAtHeightRequest_Absolute.ProtoReflect.Descriptor instead. -func (*BlocksAtHeightRequest_Absolute) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{144, 0} +// Deprecated: Use BakerEvent_BakerSetMetadataUrl.ProtoReflect.Descriptor instead. +func (*BakerEvent_BakerSetMetadataUrl) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{86, 5} } -func (x *BlocksAtHeightRequest_Absolute) GetHeight() *AbsoluteBlockHeight { +func (x *BakerEvent_BakerSetMetadataUrl) GetBakerId() *BakerId { if x != nil { - return x.Height + return x.BakerId } return nil } -// Request using a relative block height. -type BlocksAtHeightRequest_Relative struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +func (x *BakerEvent_BakerSetMetadataUrl) GetUrl() string { + if x != nil { + return x.Url + } + return "" +} - // Genesis index to start from. - GenesisIndex *GenesisIndex `protobuf:"bytes,1,opt,name=genesis_index,json=genesisIndex,proto3" json:"genesis_index,omitempty"` - // Height starting from the genesis block at the genesis index. - Height *BlockHeight `protobuf:"bytes,2,opt,name=height,proto3" json:"height,omitempty"` - // Whether to return results only from the specified genesis index (`true`), - // or allow results from more recent genesis indices as well (`false`). - Restrict bool `protobuf:"varint,3,opt,name=restrict,proto3" json:"restrict,omitempty"` +// Updated transaction fee commission for a baker pool. +type BakerEvent_BakerSetTransactionFeeCommission struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Baker's id. + BakerId *BakerId `protobuf:"bytes,1,opt,name=baker_id,json=bakerId,proto3" json:"baker_id,omitempty"` + // The transaction fee commission. + TransactionFeeCommission *AmountFraction `protobuf:"bytes,2,opt,name=transaction_fee_commission,json=transactionFeeCommission,proto3" json:"transaction_fee_commission,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } -func (x *BlocksAtHeightRequest_Relative) Reset() { - *x = BlocksAtHeightRequest_Relative{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[276] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (x *BakerEvent_BakerSetTransactionFeeCommission) Reset() { + *x = BakerEvent_BakerSetTransactionFeeCommission{} + mi := &file_v2_concordium_types_proto_msgTypes[276] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } -func (x *BlocksAtHeightRequest_Relative) String() string { +func (x *BakerEvent_BakerSetTransactionFeeCommission) String() string { return protoimpl.X.MessageStringOf(x) } -func (*BlocksAtHeightRequest_Relative) ProtoMessage() {} +func (*BakerEvent_BakerSetTransactionFeeCommission) ProtoMessage() {} -func (x *BlocksAtHeightRequest_Relative) ProtoReflect() protoreflect.Message { +func (x *BakerEvent_BakerSetTransactionFeeCommission) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[276] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -21643,70 +22103,52 @@ func (x *BlocksAtHeightRequest_Relative) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use BlocksAtHeightRequest_Relative.ProtoReflect.Descriptor instead. -func (*BlocksAtHeightRequest_Relative) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{144, 1} +// Deprecated: Use BakerEvent_BakerSetTransactionFeeCommission.ProtoReflect.Descriptor instead. +func (*BakerEvent_BakerSetTransactionFeeCommission) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{86, 6} } -func (x *BlocksAtHeightRequest_Relative) GetGenesisIndex() *GenesisIndex { +func (x *BakerEvent_BakerSetTransactionFeeCommission) GetBakerId() *BakerId { if x != nil { - return x.GenesisIndex + return x.BakerId } return nil } -func (x *BlocksAtHeightRequest_Relative) GetHeight() *BlockHeight { +func (x *BakerEvent_BakerSetTransactionFeeCommission) GetTransactionFeeCommission() *AmountFraction { if x != nil { - return x.Height + return x.TransactionFeeCommission } return nil } -func (x *BlocksAtHeightRequest_Relative) GetRestrict() bool { - if x != nil { - return x.Restrict - } - return false -} - -// Version 0 tokenomics. -type TokenomicsInfo_V0 struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The total CCD in existence. - TotalAmount *Amount `protobuf:"bytes,1,opt,name=total_amount,json=totalAmount,proto3" json:"total_amount,omitempty"` - // The total CCD in encrypted balances. - TotalEncryptedAmount *Amount `protobuf:"bytes,2,opt,name=total_encrypted_amount,json=totalEncryptedAmount,proto3" json:"total_encrypted_amount,omitempty"` - // The amount in the baking reward account. - BakingRewardAccount *Amount `protobuf:"bytes,3,opt,name=baking_reward_account,json=bakingRewardAccount,proto3" json:"baking_reward_account,omitempty"` - // The amount in the finalization reward account. - FinalizationRewardAccount *Amount `protobuf:"bytes,4,opt,name=finalization_reward_account,json=finalizationRewardAccount,proto3" json:"finalization_reward_account,omitempty"` - // The amount in the GAS account. - GasAccount *Amount `protobuf:"bytes,5,opt,name=gas_account,json=gasAccount,proto3" json:"gas_account,omitempty"` - // The protocol version. - ProtocolVersion ProtocolVersion `protobuf:"varint,6,opt,name=protocol_version,json=protocolVersion,proto3,enum=concordium.v2.ProtocolVersion" json:"protocol_version,omitempty"` +// Updated baking reward commission for baker pool +type BakerEvent_BakerSetBakingRewardCommission struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Baker's id + BakerId *BakerId `protobuf:"bytes,1,opt,name=baker_id,json=bakerId,proto3" json:"baker_id,omitempty"` + // The baking reward commission + BakingRewardCommission *AmountFraction `protobuf:"bytes,2,opt,name=baking_reward_commission,json=bakingRewardCommission,proto3" json:"baking_reward_commission,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } -func (x *TokenomicsInfo_V0) Reset() { - *x = TokenomicsInfo_V0{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[277] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (x *BakerEvent_BakerSetBakingRewardCommission) Reset() { + *x = BakerEvent_BakerSetBakingRewardCommission{} + mi := &file_v2_concordium_types_proto_msgTypes[277] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } -func (x *TokenomicsInfo_V0) String() string { +func (x *BakerEvent_BakerSetBakingRewardCommission) String() string { return protoimpl.X.MessageStringOf(x) } -func (*TokenomicsInfo_V0) ProtoMessage() {} +func (*BakerEvent_BakerSetBakingRewardCommission) ProtoMessage() {} -func (x *TokenomicsInfo_V0) ProtoReflect() protoreflect.Message { +func (x *BakerEvent_BakerSetBakingRewardCommission) ProtoReflect() protoreflect.Message { mi := &file_v2_concordium_types_proto_msgTypes[277] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -21716,99 +22158,105 @@ func (x *TokenomicsInfo_V0) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use TokenomicsInfo_V0.ProtoReflect.Descriptor instead. -func (*TokenomicsInfo_V0) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{146, 0} +// Deprecated: Use BakerEvent_BakerSetBakingRewardCommission.ProtoReflect.Descriptor instead. +func (*BakerEvent_BakerSetBakingRewardCommission) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{86, 7} } -func (x *TokenomicsInfo_V0) GetTotalAmount() *Amount { +func (x *BakerEvent_BakerSetBakingRewardCommission) GetBakerId() *BakerId { if x != nil { - return x.TotalAmount + return x.BakerId } return nil } -func (x *TokenomicsInfo_V0) GetTotalEncryptedAmount() *Amount { +func (x *BakerEvent_BakerSetBakingRewardCommission) GetBakingRewardCommission() *AmountFraction { if x != nil { - return x.TotalEncryptedAmount + return x.BakingRewardCommission } return nil } -func (x *TokenomicsInfo_V0) GetBakingRewardAccount() *Amount { - if x != nil { - return x.BakingRewardAccount - } - return nil +// Updated finalization reward commission for baker pool +type BakerEvent_BakerSetFinalizationRewardCommission struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Baker's id + BakerId *BakerId `protobuf:"bytes,1,opt,name=baker_id,json=bakerId,proto3" json:"baker_id,omitempty"` + // The finalization reward commission + FinalizationRewardCommission *AmountFraction `protobuf:"bytes,2,opt,name=finalization_reward_commission,json=finalizationRewardCommission,proto3" json:"finalization_reward_commission,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } -func (x *TokenomicsInfo_V0) GetFinalizationRewardAccount() *Amount { +func (x *BakerEvent_BakerSetFinalizationRewardCommission) Reset() { + *x = BakerEvent_BakerSetFinalizationRewardCommission{} + mi := &file_v2_concordium_types_proto_msgTypes[278] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *BakerEvent_BakerSetFinalizationRewardCommission) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BakerEvent_BakerSetFinalizationRewardCommission) ProtoMessage() {} + +func (x *BakerEvent_BakerSetFinalizationRewardCommission) ProtoReflect() protoreflect.Message { + mi := &file_v2_concordium_types_proto_msgTypes[278] if x != nil { - return x.FinalizationRewardAccount + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return nil + return mi.MessageOf(x) } -func (x *TokenomicsInfo_V0) GetGasAccount() *Amount { +// Deprecated: Use BakerEvent_BakerSetFinalizationRewardCommission.ProtoReflect.Descriptor instead. +func (*BakerEvent_BakerSetFinalizationRewardCommission) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{86, 8} +} + +func (x *BakerEvent_BakerSetFinalizationRewardCommission) GetBakerId() *BakerId { if x != nil { - return x.GasAccount + return x.BakerId } return nil } -func (x *TokenomicsInfo_V0) GetProtocolVersion() ProtocolVersion { +func (x *BakerEvent_BakerSetFinalizationRewardCommission) GetFinalizationRewardCommission() *AmountFraction { if x != nil { - return x.ProtocolVersion + return x.FinalizationRewardCommission } - return ProtocolVersion_PROTOCOL_VERSION_1 + return nil } -// Version 1 tokenomics. -type TokenomicsInfo_V1 struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache +// Removed an existing delegator. +type BakerEvent_DelegationRemoved struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Delegator's id. + DelegatorId *DelegatorId `protobuf:"bytes,1,opt,name=delegator_id,json=delegatorId,proto3" json:"delegator_id,omitempty"` unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} - // The total CCD in existence. - TotalAmount *Amount `protobuf:"bytes,1,opt,name=total_amount,json=totalAmount,proto3" json:"total_amount,omitempty"` - // The total CCD in encrypted balances. - TotalEncryptedAmount *Amount `protobuf:"bytes,2,opt,name=total_encrypted_amount,json=totalEncryptedAmount,proto3" json:"total_encrypted_amount,omitempty"` - // The amount in the baking reward account. - BakingRewardAccount *Amount `protobuf:"bytes,3,opt,name=baking_reward_account,json=bakingRewardAccount,proto3" json:"baking_reward_account,omitempty"` - // The amount in the finalization reward account. - FinalizationRewardAccount *Amount `protobuf:"bytes,4,opt,name=finalization_reward_account,json=finalizationRewardAccount,proto3" json:"finalization_reward_account,omitempty"` - // The amount in the GAS account. - GasAccount *Amount `protobuf:"bytes,5,opt,name=gas_account,json=gasAccount,proto3" json:"gas_account,omitempty"` - // The transaction reward fraction accruing to the foundation (to be paid at next payday). - FoundationTransactionRewards *Amount `protobuf:"bytes,6,opt,name=foundation_transaction_rewards,json=foundationTransactionRewards,proto3" json:"foundation_transaction_rewards,omitempty"` - // The time of the next payday. - NextPaydayTime *Timestamp `protobuf:"bytes,7,opt,name=next_payday_time,json=nextPaydayTime,proto3" json:"next_payday_time,omitempty"` - // The rate at which CCD will be minted (as a proportion of the total supply) at the next payday. - NextPaydayMintRate *MintRate `protobuf:"bytes,8,opt,name=next_payday_mint_rate,json=nextPaydayMintRate,proto3" json:"next_payday_mint_rate,omitempty"` - // The total capital put up as stake by bakers and delegators. - TotalStakedCapital *Amount `protobuf:"bytes,9,opt,name=total_staked_capital,json=totalStakedCapital,proto3" json:"total_staked_capital,omitempty"` - // The protocol version. - ProtocolVersion ProtocolVersion `protobuf:"varint,10,opt,name=protocol_version,json=protocolVersion,proto3,enum=concordium.v2.ProtocolVersion" json:"protocol_version,omitempty"` -} - -func (x *TokenomicsInfo_V1) Reset() { - *x = TokenomicsInfo_V1{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[278] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (x *BakerEvent_DelegationRemoved) Reset() { + *x = BakerEvent_DelegationRemoved{} + mi := &file_v2_concordium_types_proto_msgTypes[279] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } -func (x *TokenomicsInfo_V1) String() string { +func (x *BakerEvent_DelegationRemoved) String() string { return protoimpl.X.MessageStringOf(x) } -func (*TokenomicsInfo_V1) ProtoMessage() {} +func (*BakerEvent_DelegationRemoved) ProtoMessage() {} -func (x *TokenomicsInfo_V1) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[278] - if protoimpl.UnsafeEnabled && x != nil { +func (x *BakerEvent_DelegationRemoved) ProtoReflect() protoreflect.Message { + mi := &file_v2_concordium_types_proto_msgTypes[279] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -21818,116 +22266,136 @@ func (x *TokenomicsInfo_V1) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use TokenomicsInfo_V1.ProtoReflect.Descriptor instead. -func (*TokenomicsInfo_V1) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{146, 1} +// Deprecated: Use BakerEvent_DelegationRemoved.ProtoReflect.Descriptor instead. +func (*BakerEvent_DelegationRemoved) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{86, 9} } -func (x *TokenomicsInfo_V1) GetTotalAmount() *Amount { +func (x *BakerEvent_DelegationRemoved) GetDelegatorId() *DelegatorId { if x != nil { - return x.TotalAmount + return x.DelegatorId } return nil } -func (x *TokenomicsInfo_V1) GetTotalEncryptedAmount() *Amount { - if x != nil { - return x.TotalEncryptedAmount - } - return nil +// A baker has been suspended. +type BakerEvent_BakerSuspended struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Suspended baker's id + BakerId *BakerId `protobuf:"bytes,1,opt,name=baker_id,json=bakerId,proto3" json:"baker_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } -func (x *TokenomicsInfo_V1) GetBakingRewardAccount() *Amount { - if x != nil { - return x.BakingRewardAccount - } - return nil +func (x *BakerEvent_BakerSuspended) Reset() { + *x = BakerEvent_BakerSuspended{} + mi := &file_v2_concordium_types_proto_msgTypes[280] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } -func (x *TokenomicsInfo_V1) GetFinalizationRewardAccount() *Amount { - if x != nil { - return x.FinalizationRewardAccount - } - return nil +func (x *BakerEvent_BakerSuspended) String() string { + return protoimpl.X.MessageStringOf(x) } -func (x *TokenomicsInfo_V1) GetGasAccount() *Amount { +func (*BakerEvent_BakerSuspended) ProtoMessage() {} + +func (x *BakerEvent_BakerSuspended) ProtoReflect() protoreflect.Message { + mi := &file_v2_concordium_types_proto_msgTypes[280] if x != nil { - return x.GasAccount + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return nil + return mi.MessageOf(x) } -func (x *TokenomicsInfo_V1) GetFoundationTransactionRewards() *Amount { - if x != nil { - return x.FoundationTransactionRewards - } - return nil +// Deprecated: Use BakerEvent_BakerSuspended.ProtoReflect.Descriptor instead. +func (*BakerEvent_BakerSuspended) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{86, 10} } -func (x *TokenomicsInfo_V1) GetNextPaydayTime() *Timestamp { +func (x *BakerEvent_BakerSuspended) GetBakerId() *BakerId { if x != nil { - return x.NextPaydayTime + return x.BakerId } return nil } -func (x *TokenomicsInfo_V1) GetNextPaydayMintRate() *MintRate { - if x != nil { - return x.NextPaydayMintRate - } - return nil +// A baker has been resumed. +type BakerEvent_BakerResumed struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The resumed baker's id + BakerId *BakerId `protobuf:"bytes,1,opt,name=baker_id,json=bakerId,proto3" json:"baker_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } -func (x *TokenomicsInfo_V1) GetTotalStakedCapital() *Amount { +func (x *BakerEvent_BakerResumed) Reset() { + *x = BakerEvent_BakerResumed{} + mi := &file_v2_concordium_types_proto_msgTypes[281] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *BakerEvent_BakerResumed) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BakerEvent_BakerResumed) ProtoMessage() {} + +func (x *BakerEvent_BakerResumed) ProtoReflect() protoreflect.Message { + mi := &file_v2_concordium_types_proto_msgTypes[281] if x != nil { - return x.TotalStakedCapital + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return nil + return mi.MessageOf(x) } -func (x *TokenomicsInfo_V1) GetProtocolVersion() ProtocolVersion { +// Deprecated: Use BakerEvent_BakerResumed.ProtoReflect.Descriptor instead. +func (*BakerEvent_BakerResumed) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{86, 11} +} + +func (x *BakerEvent_BakerResumed) GetBakerId() *BakerId { if x != nil { - return x.ProtocolVersion + return x.BakerId } - return ProtocolVersion_PROTOCOL_VERSION_1 + return nil } -// Contract execution failed. -type InvokeInstanceResponse_Failure struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache +type DelegationEvent_DelegationStakeIncreased struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Delegator's id + DelegatorId *DelegatorId `protobuf:"bytes,1,opt,name=delegator_id,json=delegatorId,proto3" json:"delegator_id,omitempty"` + // New stake + NewStake *Amount `protobuf:"bytes,2,opt,name=new_stake,json=newStake,proto3" json:"new_stake,omitempty"` unknownFields protoimpl.UnknownFields - - // If invoking a V0 contract this is not provided, otherwise it is - // potentially return value produced by the call unless the call failed with - // out of energy or runtime error. If the V1 contract terminated with a - // logic error then the return value is present. - ReturnValue []byte `protobuf:"bytes,1,opt,name=return_value,json=returnValue,proto3,oneof" json:"return_value,omitempty"` - // Energy used by the execution. - UsedEnergy *Energy `protobuf:"bytes,2,opt,name=used_energy,json=usedEnergy,proto3" json:"used_energy,omitempty"` - // Contract execution failed for the given reason. - Reason *RejectReason `protobuf:"bytes,3,opt,name=reason,proto3" json:"reason,omitempty"` + sizeCache protoimpl.SizeCache } -func (x *InvokeInstanceResponse_Failure) Reset() { - *x = InvokeInstanceResponse_Failure{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[279] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (x *DelegationEvent_DelegationStakeIncreased) Reset() { + *x = DelegationEvent_DelegationStakeIncreased{} + mi := &file_v2_concordium_types_proto_msgTypes[282] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } -func (x *InvokeInstanceResponse_Failure) String() string { +func (x *DelegationEvent_DelegationStakeIncreased) String() string { return protoimpl.X.MessageStringOf(x) } -func (*InvokeInstanceResponse_Failure) ProtoMessage() {} +func (*DelegationEvent_DelegationStakeIncreased) ProtoMessage() {} -func (x *InvokeInstanceResponse_Failure) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[279] - if protoimpl.UnsafeEnabled && x != nil { +func (x *DelegationEvent_DelegationStakeIncreased) ProtoReflect() protoreflect.Message { + mi := &file_v2_concordium_types_proto_msgTypes[282] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -21937,65 +22405,51 @@ func (x *InvokeInstanceResponse_Failure) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use InvokeInstanceResponse_Failure.ProtoReflect.Descriptor instead. -func (*InvokeInstanceResponse_Failure) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{148, 0} -} - -func (x *InvokeInstanceResponse_Failure) GetReturnValue() []byte { - if x != nil { - return x.ReturnValue - } - return nil +// Deprecated: Use DelegationEvent_DelegationStakeIncreased.ProtoReflect.Descriptor instead. +func (*DelegationEvent_DelegationStakeIncreased) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{88, 0} } -func (x *InvokeInstanceResponse_Failure) GetUsedEnergy() *Energy { +func (x *DelegationEvent_DelegationStakeIncreased) GetDelegatorId() *DelegatorId { if x != nil { - return x.UsedEnergy + return x.DelegatorId } return nil } -func (x *InvokeInstanceResponse_Failure) GetReason() *RejectReason { +func (x *DelegationEvent_DelegationStakeIncreased) GetNewStake() *Amount { if x != nil { - return x.Reason + return x.NewStake } return nil } -// Contract execution succeeded. -type InvokeInstanceResponse_Success struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache +type DelegationEvent_DelegationStakeDecreased struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Delegator's id + DelegatorId *DelegatorId `protobuf:"bytes,1,opt,name=delegator_id,json=delegatorId,proto3" json:"delegator_id,omitempty"` + // New stake + NewStake *Amount `protobuf:"bytes,2,opt,name=new_stake,json=newStake,proto3" json:"new_stake,omitempty"` unknownFields protoimpl.UnknownFields - - // If invoking a V0 contract this is absent. Otherwise it is the return - // value produced by the contract. - ReturnValue []byte `protobuf:"bytes,1,opt,name=return_value,json=returnValue,proto3,oneof" json:"return_value,omitempty"` - // Energy used by the execution. - UsedEnergy *Energy `protobuf:"bytes,2,opt,name=used_energy,json=usedEnergy,proto3" json:"used_energy,omitempty"` - // Effects produced by contract execution. - Effects []*ContractTraceElement `protobuf:"bytes,3,rep,name=effects,proto3" json:"effects,omitempty"` + sizeCache protoimpl.SizeCache } -func (x *InvokeInstanceResponse_Success) Reset() { - *x = InvokeInstanceResponse_Success{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[280] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (x *DelegationEvent_DelegationStakeDecreased) Reset() { + *x = DelegationEvent_DelegationStakeDecreased{} + mi := &file_v2_concordium_types_proto_msgTypes[283] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } -func (x *InvokeInstanceResponse_Success) String() string { +func (x *DelegationEvent_DelegationStakeDecreased) String() string { return protoimpl.X.MessageStringOf(x) } -func (*InvokeInstanceResponse_Success) ProtoMessage() {} +func (*DelegationEvent_DelegationStakeDecreased) ProtoMessage() {} -func (x *InvokeInstanceResponse_Success) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[280] - if protoimpl.UnsafeEnabled && x != nil { +func (x *DelegationEvent_DelegationStakeDecreased) ProtoReflect() protoreflect.Message { + mi := &file_v2_concordium_types_proto_msgTypes[283] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -22005,63 +22459,51 @@ func (x *InvokeInstanceResponse_Success) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use InvokeInstanceResponse_Success.ProtoReflect.Descriptor instead. -func (*InvokeInstanceResponse_Success) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{148, 1} -} - -func (x *InvokeInstanceResponse_Success) GetReturnValue() []byte { - if x != nil { - return x.ReturnValue - } - return nil +// Deprecated: Use DelegationEvent_DelegationStakeDecreased.ProtoReflect.Descriptor instead. +func (*DelegationEvent_DelegationStakeDecreased) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{88, 1} } -func (x *InvokeInstanceResponse_Success) GetUsedEnergy() *Energy { +func (x *DelegationEvent_DelegationStakeDecreased) GetDelegatorId() *DelegatorId { if x != nil { - return x.UsedEnergy + return x.DelegatorId } return nil } -func (x *InvokeInstanceResponse_Success) GetEffects() []*ContractTraceElement { +func (x *DelegationEvent_DelegationStakeDecreased) GetNewStake() *Amount { if x != nil { - return x.Effects + return x.NewStake } return nil } -type ElectionInfo_Baker struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The ID of the baker. - Baker *BakerId `protobuf:"bytes,1,opt,name=baker,proto3" json:"baker,omitempty"` - // The account address of the baker. - Account *AccountAddress `protobuf:"bytes,2,opt,name=account,proto3" json:"account,omitempty"` - // The lottery power of the baker, rounded to the nearest representable "double". - LotteryPower float64 `protobuf:"fixed64,3,opt,name=lottery_power,json=lotteryPower,proto3" json:"lottery_power,omitempty"` +type DelegationEvent_DelegationSetRestakeEarnings struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Delegator's id + DelegatorId *DelegatorId `protobuf:"bytes,1,opt,name=delegator_id,json=delegatorId,proto3" json:"delegator_id,omitempty"` + // Whether earnings will be restaked + RestakeEarnings bool `protobuf:"varint,2,opt,name=restake_earnings,json=restakeEarnings,proto3" json:"restake_earnings,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } -func (x *ElectionInfo_Baker) Reset() { - *x = ElectionInfo_Baker{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[281] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (x *DelegationEvent_DelegationSetRestakeEarnings) Reset() { + *x = DelegationEvent_DelegationSetRestakeEarnings{} + mi := &file_v2_concordium_types_proto_msgTypes[284] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } -func (x *ElectionInfo_Baker) String() string { +func (x *DelegationEvent_DelegationSetRestakeEarnings) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ElectionInfo_Baker) ProtoMessage() {} +func (*DelegationEvent_DelegationSetRestakeEarnings) ProtoMessage() {} -func (x *ElectionInfo_Baker) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[281] - if protoimpl.UnsafeEnabled && x != nil { +func (x *DelegationEvent_DelegationSetRestakeEarnings) ProtoReflect() protoreflect.Message { + mi := &file_v2_concordium_types_proto_msgTypes[284] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -22071,59 +22513,51 @@ func (x *ElectionInfo_Baker) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ElectionInfo_Baker.ProtoReflect.Descriptor instead. -func (*ElectionInfo_Baker) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{154, 0} +// Deprecated: Use DelegationEvent_DelegationSetRestakeEarnings.ProtoReflect.Descriptor instead. +func (*DelegationEvent_DelegationSetRestakeEarnings) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{88, 2} } -func (x *ElectionInfo_Baker) GetBaker() *BakerId { +func (x *DelegationEvent_DelegationSetRestakeEarnings) GetDelegatorId() *DelegatorId { if x != nil { - return x.Baker + return x.DelegatorId } return nil } -func (x *ElectionInfo_Baker) GetAccount() *AccountAddress { +func (x *DelegationEvent_DelegationSetRestakeEarnings) GetRestakeEarnings() bool { if x != nil { - return x.Account + return x.RestakeEarnings } - return nil + return false } -func (x *ElectionInfo_Baker) GetLotteryPower() float64 { - if x != nil { - return x.LotteryPower - } - return 0 -} - -// A representation of a mapping from an account address to an amount. -type BlockSpecialEvent_AccountAmounts struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Entries []*BlockSpecialEvent_AccountAmounts_Entry `protobuf:"bytes,1,rep,name=entries,proto3" json:"entries,omitempty"` +type DelegationEvent_DelegationSetDelegationTarget struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Delegator's id + DelegatorId *DelegatorId `protobuf:"bytes,1,opt,name=delegator_id,json=delegatorId,proto3" json:"delegator_id,omitempty"` + // New delegation target + DelegationTarget *DelegationTarget `protobuf:"bytes,2,opt,name=delegation_target,json=delegationTarget,proto3" json:"delegation_target,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } -func (x *BlockSpecialEvent_AccountAmounts) Reset() { - *x = BlockSpecialEvent_AccountAmounts{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[282] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (x *DelegationEvent_DelegationSetDelegationTarget) Reset() { + *x = DelegationEvent_DelegationSetDelegationTarget{} + mi := &file_v2_concordium_types_proto_msgTypes[285] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } -func (x *BlockSpecialEvent_AccountAmounts) String() string { +func (x *DelegationEvent_DelegationSetDelegationTarget) String() string { return protoimpl.X.MessageStringOf(x) } -func (*BlockSpecialEvent_AccountAmounts) ProtoMessage() {} +func (*DelegationEvent_DelegationSetDelegationTarget) ProtoMessage() {} -func (x *BlockSpecialEvent_AccountAmounts) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[282] - if protoimpl.UnsafeEnabled && x != nil { +func (x *DelegationEvent_DelegationSetDelegationTarget) ProtoReflect() protoreflect.Message { + mi := &file_v2_concordium_types_proto_msgTypes[285] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -22133,49 +22567,49 @@ func (x *BlockSpecialEvent_AccountAmounts) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use BlockSpecialEvent_AccountAmounts.ProtoReflect.Descriptor instead. -func (*BlockSpecialEvent_AccountAmounts) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{155, 0} +// Deprecated: Use DelegationEvent_DelegationSetDelegationTarget.ProtoReflect.Descriptor instead. +func (*DelegationEvent_DelegationSetDelegationTarget) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{88, 3} } -func (x *BlockSpecialEvent_AccountAmounts) GetEntries() []*BlockSpecialEvent_AccountAmounts_Entry { +func (x *DelegationEvent_DelegationSetDelegationTarget) GetDelegatorId() *DelegatorId { if x != nil { - return x.Entries + return x.DelegatorId } return nil } -// Payment to each baker of a previous epoch, in proportion to the number -// of blocks they contributed. -type BlockSpecialEvent_BakingRewards struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +func (x *DelegationEvent_DelegationSetDelegationTarget) GetDelegationTarget() *DelegationTarget { + if x != nil { + return x.DelegationTarget + } + return nil +} - // The amount awarded to each baker. - BakerRewards *BlockSpecialEvent_AccountAmounts `protobuf:"bytes,1,opt,name=baker_rewards,json=bakerRewards,proto3" json:"baker_rewards,omitempty"` - // The remaining balance of the baker reward account. - Remainder *Amount `protobuf:"bytes,2,opt,name=remainder,proto3" json:"remainder,omitempty"` +type DelegationEvent_BakerRemoved struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Baker's id + BakerId *BakerId `protobuf:"bytes,1,opt,name=baker_id,json=bakerId,proto3" json:"baker_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } -func (x *BlockSpecialEvent_BakingRewards) Reset() { - *x = BlockSpecialEvent_BakingRewards{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[283] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (x *DelegationEvent_BakerRemoved) Reset() { + *x = DelegationEvent_BakerRemoved{} + mi := &file_v2_concordium_types_proto_msgTypes[286] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } -func (x *BlockSpecialEvent_BakingRewards) String() string { +func (x *DelegationEvent_BakerRemoved) String() string { return protoimpl.X.MessageStringOf(x) } -func (*BlockSpecialEvent_BakingRewards) ProtoMessage() {} +func (*DelegationEvent_BakerRemoved) ProtoMessage() {} -func (x *BlockSpecialEvent_BakingRewards) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[283] - if protoimpl.UnsafeEnabled && x != nil { +func (x *DelegationEvent_BakerRemoved) ProtoReflect() protoreflect.Message { + mi := &file_v2_concordium_types_proto_msgTypes[286] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -22185,59 +22619,47 @@ func (x *BlockSpecialEvent_BakingRewards) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use BlockSpecialEvent_BakingRewards.ProtoReflect.Descriptor instead. -func (*BlockSpecialEvent_BakingRewards) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{155, 1} -} - -func (x *BlockSpecialEvent_BakingRewards) GetBakerRewards() *BlockSpecialEvent_AccountAmounts { - if x != nil { - return x.BakerRewards - } - return nil +// Deprecated: Use DelegationEvent_BakerRemoved.ProtoReflect.Descriptor instead. +func (*DelegationEvent_BakerRemoved) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{88, 4} } -func (x *BlockSpecialEvent_BakingRewards) GetRemainder() *Amount { +func (x *DelegationEvent_BakerRemoved) GetBakerId() *BakerId { if x != nil { - return x.Remainder + return x.BakerId } return nil } -// Minting of new CCD. -type BlockSpecialEvent_Mint struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache +// No effects other than payment from this transaction. +// The rejection reason indicates why the transaction failed. +type AccountTransactionEffects_None struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Transaction type of a failed transaction, if known. + // In case of serialization failure this will not be set. + TransactionType *TransactionType `protobuf:"varint,1,opt,name=transaction_type,json=transactionType,proto3,enum=concordium.v2.TransactionType,oneof" json:"transaction_type,omitempty"` + // Reason for rejection of the transaction. + RejectReason *RejectReason `protobuf:"bytes,2,opt,name=reject_reason,json=rejectReason,proto3" json:"reject_reason,omitempty"` unknownFields protoimpl.UnknownFields - - // The amount allocated to the banking reward account. - MintBakingReward *Amount `protobuf:"bytes,1,opt,name=mint_baking_reward,json=mintBakingReward,proto3" json:"mint_baking_reward,omitempty"` - // The amount allocated to the finalization reward account. - MintFinalizationReward *Amount `protobuf:"bytes,2,opt,name=mint_finalization_reward,json=mintFinalizationReward,proto3" json:"mint_finalization_reward,omitempty"` - // The amount allocated as the platform development charge. - MintPlatformDevelopmentCharge *Amount `protobuf:"bytes,3,opt,name=mint_platform_development_charge,json=mintPlatformDevelopmentCharge,proto3" json:"mint_platform_development_charge,omitempty"` - // The account to which the platform development charge is paid. - FoundationAccount *AccountAddress `protobuf:"bytes,4,opt,name=foundation_account,json=foundationAccount,proto3" json:"foundation_account,omitempty"` + sizeCache protoimpl.SizeCache } -func (x *BlockSpecialEvent_Mint) Reset() { - *x = BlockSpecialEvent_Mint{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[284] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (x *AccountTransactionEffects_None) Reset() { + *x = AccountTransactionEffects_None{} + mi := &file_v2_concordium_types_proto_msgTypes[287] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } -func (x *BlockSpecialEvent_Mint) String() string { +func (x *AccountTransactionEffects_None) String() string { return protoimpl.X.MessageStringOf(x) } -func (*BlockSpecialEvent_Mint) ProtoMessage() {} +func (*AccountTransactionEffects_None) ProtoMessage() {} -func (x *BlockSpecialEvent_Mint) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[284] - if protoimpl.UnsafeEnabled && x != nil { +func (x *AccountTransactionEffects_None) ProtoReflect() protoreflect.Message { + mi := &file_v2_concordium_types_proto_msgTypes[287] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -22247,69 +22669,50 @@ func (x *BlockSpecialEvent_Mint) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use BlockSpecialEvent_Mint.ProtoReflect.Descriptor instead. -func (*BlockSpecialEvent_Mint) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{155, 2} -} - -func (x *BlockSpecialEvent_Mint) GetMintBakingReward() *Amount { - if x != nil { - return x.MintBakingReward - } - return nil -} - -func (x *BlockSpecialEvent_Mint) GetMintFinalizationReward() *Amount { - if x != nil { - return x.MintFinalizationReward - } - return nil +// Deprecated: Use AccountTransactionEffects_None.ProtoReflect.Descriptor instead. +func (*AccountTransactionEffects_None) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{89, 0} } -func (x *BlockSpecialEvent_Mint) GetMintPlatformDevelopmentCharge() *Amount { - if x != nil { - return x.MintPlatformDevelopmentCharge +func (x *AccountTransactionEffects_None) GetTransactionType() TransactionType { + if x != nil && x.TransactionType != nil { + return *x.TransactionType } - return nil + return TransactionType_DEPLOY_MODULE } -func (x *BlockSpecialEvent_Mint) GetFoundationAccount() *AccountAddress { +func (x *AccountTransactionEffects_None) GetRejectReason() *RejectReason { if x != nil { - return x.FoundationAccount + return x.RejectReason } return nil } -// Payment to each finalizer on inclusion of a finalization record in a block. -type BlockSpecialEvent_FinalizationRewards struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache +// A contract update transaction was issued and produced the given trace. +// This is the result of Update transaction. +type AccountTransactionEffects_ContractUpdateIssued struct { + state protoimpl.MessageState `protogen:"open.v1"` + Effects []*ContractTraceElement `protobuf:"bytes,1,rep,name=effects,proto3" json:"effects,omitempty"` unknownFields protoimpl.UnknownFields - - // The amount awarded to each finalizer. - FinalizationRewards *BlockSpecialEvent_AccountAmounts `protobuf:"bytes,1,opt,name=finalization_rewards,json=finalizationRewards,proto3" json:"finalization_rewards,omitempty"` - // The remaining balance of the finalization reward account. - Remainder *Amount `protobuf:"bytes,2,opt,name=remainder,proto3" json:"remainder,omitempty"` + sizeCache protoimpl.SizeCache } -func (x *BlockSpecialEvent_FinalizationRewards) Reset() { - *x = BlockSpecialEvent_FinalizationRewards{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[285] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (x *AccountTransactionEffects_ContractUpdateIssued) Reset() { + *x = AccountTransactionEffects_ContractUpdateIssued{} + mi := &file_v2_concordium_types_proto_msgTypes[288] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } -func (x *BlockSpecialEvent_FinalizationRewards) String() string { +func (x *AccountTransactionEffects_ContractUpdateIssued) String() string { return protoimpl.X.MessageStringOf(x) } -func (*BlockSpecialEvent_FinalizationRewards) ProtoMessage() {} +func (*AccountTransactionEffects_ContractUpdateIssued) ProtoMessage() {} -func (x *BlockSpecialEvent_FinalizationRewards) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[285] - if protoimpl.UnsafeEnabled && x != nil { +func (x *AccountTransactionEffects_ContractUpdateIssued) ProtoReflect() protoreflect.Message { + mi := &file_v2_concordium_types_proto_msgTypes[288] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -22319,68 +22722,48 @@ func (x *BlockSpecialEvent_FinalizationRewards) ProtoReflect() protoreflect.Mess return mi.MessageOf(x) } -// Deprecated: Use BlockSpecialEvent_FinalizationRewards.ProtoReflect.Descriptor instead. -func (*BlockSpecialEvent_FinalizationRewards) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{155, 3} -} - -func (x *BlockSpecialEvent_FinalizationRewards) GetFinalizationRewards() *BlockSpecialEvent_AccountAmounts { - if x != nil { - return x.FinalizationRewards - } - return nil +// Deprecated: Use AccountTransactionEffects_ContractUpdateIssued.ProtoReflect.Descriptor instead. +func (*AccountTransactionEffects_ContractUpdateIssued) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{89, 1} } -func (x *BlockSpecialEvent_FinalizationRewards) GetRemainder() *Amount { +func (x *AccountTransactionEffects_ContractUpdateIssued) GetEffects() []*ContractTraceElement { if x != nil { - return x.Remainder + return x.Effects } return nil } -// Disbursement of fees from a block between the GAS account, -// the baker, and the foundation. It should always be that: -// -// ```transaction_fees + old_gas_account = new_gas_account + baker_reward + foundation_charge``` -type BlockSpecialEvent_BlockReward struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache +// A simple account to account transfer occurred. This is the result of a +// successful Transfer transaction. +type AccountTransactionEffects_AccountTransfer struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Amount that was transferred. + Amount *Amount `protobuf:"bytes,1,opt,name=amount,proto3" json:"amount,omitempty"` + // Receiver account. + Receiver *AccountAddress `protobuf:"bytes,2,opt,name=receiver,proto3" json:"receiver,omitempty"` + // Memo. + Memo *Memo `protobuf:"bytes,3,opt,name=memo,proto3,oneof" json:"memo,omitempty"` unknownFields protoimpl.UnknownFields - - // The total fees paid for transactions in the block. - TransactionFees *Amount `protobuf:"bytes,1,opt,name=transaction_fees,json=transactionFees,proto3" json:"transaction_fees,omitempty"` - // The old balance of the GAS account. - OldGasAccount *Amount `protobuf:"bytes,2,opt,name=old_gas_account,json=oldGasAccount,proto3" json:"old_gas_account,omitempty"` - // The new balance of the GAS account. - NewGasAccount *Amount `protobuf:"bytes,3,opt,name=new_gas_account,json=newGasAccount,proto3" json:"new_gas_account,omitempty"` - // The amount awarded to the baker. - BakerReward *Amount `protobuf:"bytes,4,opt,name=baker_reward,json=bakerReward,proto3" json:"baker_reward,omitempty"` - // The amount awarded to the foundation. - FoundationCharge *Amount `protobuf:"bytes,5,opt,name=foundation_charge,json=foundationCharge,proto3" json:"foundation_charge,omitempty"` - // The baker of the block, who receives the award. - Baker *AccountAddress `protobuf:"bytes,6,opt,name=baker,proto3" json:"baker,omitempty"` - // The foundation account. - FoundationAccount *AccountAddress `protobuf:"bytes,7,opt,name=foundation_account,json=foundationAccount,proto3" json:"foundation_account,omitempty"` + sizeCache protoimpl.SizeCache } -func (x *BlockSpecialEvent_BlockReward) Reset() { - *x = BlockSpecialEvent_BlockReward{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[286] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (x *AccountTransactionEffects_AccountTransfer) Reset() { + *x = AccountTransactionEffects_AccountTransfer{} + mi := &file_v2_concordium_types_proto_msgTypes[289] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } -func (x *BlockSpecialEvent_BlockReward) String() string { +func (x *AccountTransactionEffects_AccountTransfer) String() string { return protoimpl.X.MessageStringOf(x) } -func (*BlockSpecialEvent_BlockReward) ProtoMessage() {} +func (*AccountTransactionEffects_AccountTransfer) ProtoMessage() {} -func (x *BlockSpecialEvent_BlockReward) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[286] - if protoimpl.UnsafeEnabled && x != nil { +func (x *AccountTransactionEffects_AccountTransfer) ProtoReflect() protoreflect.Message { + mi := &file_v2_concordium_types_proto_msgTypes[289] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -22390,90 +22773,168 @@ func (x *BlockSpecialEvent_BlockReward) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use BlockSpecialEvent_BlockReward.ProtoReflect.Descriptor instead. -func (*BlockSpecialEvent_BlockReward) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{155, 4} +// Deprecated: Use AccountTransactionEffects_AccountTransfer.ProtoReflect.Descriptor instead. +func (*AccountTransactionEffects_AccountTransfer) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{89, 2} } -func (x *BlockSpecialEvent_BlockReward) GetTransactionFees() *Amount { +func (x *AccountTransactionEffects_AccountTransfer) GetAmount() *Amount { if x != nil { - return x.TransactionFees + return x.Amount } return nil } -func (x *BlockSpecialEvent_BlockReward) GetOldGasAccount() *Amount { +func (x *AccountTransactionEffects_AccountTransfer) GetReceiver() *AccountAddress { if x != nil { - return x.OldGasAccount + return x.Receiver } return nil } -func (x *BlockSpecialEvent_BlockReward) GetNewGasAccount() *Amount { +func (x *AccountTransactionEffects_AccountTransfer) GetMemo() *Memo { if x != nil { - return x.NewGasAccount + return x.Memo } return nil } -func (x *BlockSpecialEvent_BlockReward) GetBakerReward() *Amount { +// An account was deregistered as a baker. This is the result of a +// successful UpdateBakerStake transaction. +type AccountTransactionEffects_BakerStakeUpdated struct { + state protoimpl.MessageState `protogen:"open.v1"` + // If the stake was updated (that is, it changed and did not stay the + // same) then this is present, otherwise it is not present. + Update *BakerStakeUpdatedData `protobuf:"bytes,1,opt,name=update,proto3,oneof" json:"update,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AccountTransactionEffects_BakerStakeUpdated) Reset() { + *x = AccountTransactionEffects_BakerStakeUpdated{} + mi := &file_v2_concordium_types_proto_msgTypes[290] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AccountTransactionEffects_BakerStakeUpdated) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AccountTransactionEffects_BakerStakeUpdated) ProtoMessage() {} + +func (x *AccountTransactionEffects_BakerStakeUpdated) ProtoReflect() protoreflect.Message { + mi := &file_v2_concordium_types_proto_msgTypes[290] if x != nil { - return x.BakerReward + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AccountTransactionEffects_BakerStakeUpdated.ProtoReflect.Descriptor instead. +func (*AccountTransactionEffects_BakerStakeUpdated) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{89, 3} +} + +func (x *AccountTransactionEffects_BakerStakeUpdated) GetUpdate() *BakerStakeUpdatedData { + if x != nil { + return x.Update } return nil } -func (x *BlockSpecialEvent_BlockReward) GetFoundationCharge() *Amount { +// An encrypted amount was transferred. This is the result of a successful +// EncryptedAmountTransfer transaction. +type AccountTransactionEffects_EncryptedAmountTransferred struct { + state protoimpl.MessageState `protogen:"open.v1"` + Removed *EncryptedAmountRemovedEvent `protobuf:"bytes,1,opt,name=removed,proto3" json:"removed,omitempty"` + Added *NewEncryptedAmountEvent `protobuf:"bytes,2,opt,name=added,proto3" json:"added,omitempty"` + Memo *Memo `protobuf:"bytes,3,opt,name=memo,proto3,oneof" json:"memo,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AccountTransactionEffects_EncryptedAmountTransferred) Reset() { + *x = AccountTransactionEffects_EncryptedAmountTransferred{} + mi := &file_v2_concordium_types_proto_msgTypes[291] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AccountTransactionEffects_EncryptedAmountTransferred) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AccountTransactionEffects_EncryptedAmountTransferred) ProtoMessage() {} + +func (x *AccountTransactionEffects_EncryptedAmountTransferred) ProtoReflect() protoreflect.Message { + mi := &file_v2_concordium_types_proto_msgTypes[291] if x != nil { - return x.FoundationCharge + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AccountTransactionEffects_EncryptedAmountTransferred.ProtoReflect.Descriptor instead. +func (*AccountTransactionEffects_EncryptedAmountTransferred) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{89, 4} +} + +func (x *AccountTransactionEffects_EncryptedAmountTransferred) GetRemoved() *EncryptedAmountRemovedEvent { + if x != nil { + return x.Removed } return nil } -func (x *BlockSpecialEvent_BlockReward) GetBaker() *AccountAddress { +func (x *AccountTransactionEffects_EncryptedAmountTransferred) GetAdded() *NewEncryptedAmountEvent { if x != nil { - return x.Baker + return x.Added } return nil } -func (x *BlockSpecialEvent_BlockReward) GetFoundationAccount() *AccountAddress { +func (x *AccountTransactionEffects_EncryptedAmountTransferred) GetMemo() *Memo { if x != nil { - return x.FoundationAccount + return x.Memo } return nil } -// Foundation tax. -type BlockSpecialEvent_PaydayFoundationReward struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache +// An account transferred part of its encrypted balance to its public +// balance. This is the result of a successful TransferToPublic transaction. +type AccountTransactionEffects_TransferredToPublic struct { + state protoimpl.MessageState `protogen:"open.v1"` + Removed *EncryptedAmountRemovedEvent `protobuf:"bytes,1,opt,name=removed,proto3" json:"removed,omitempty"` + Amount *Amount `protobuf:"bytes,2,opt,name=amount,proto3" json:"amount,omitempty"` unknownFields protoimpl.UnknownFields - - // The account that got rewarded. - FoundationAccount *AccountAddress `protobuf:"bytes,1,opt,name=foundation_account,json=foundationAccount,proto3" json:"foundation_account,omitempty"` - // The transaction fee reward at payday to the account. - DevelopmentCharge *Amount `protobuf:"bytes,2,opt,name=development_charge,json=developmentCharge,proto3" json:"development_charge,omitempty"` + sizeCache protoimpl.SizeCache } -func (x *BlockSpecialEvent_PaydayFoundationReward) Reset() { - *x = BlockSpecialEvent_PaydayFoundationReward{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[287] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (x *AccountTransactionEffects_TransferredToPublic) Reset() { + *x = AccountTransactionEffects_TransferredToPublic{} + mi := &file_v2_concordium_types_proto_msgTypes[292] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } -func (x *BlockSpecialEvent_PaydayFoundationReward) String() string { +func (x *AccountTransactionEffects_TransferredToPublic) String() string { return protoimpl.X.MessageStringOf(x) } -func (*BlockSpecialEvent_PaydayFoundationReward) ProtoMessage() {} +func (*AccountTransactionEffects_TransferredToPublic) ProtoMessage() {} -func (x *BlockSpecialEvent_PaydayFoundationReward) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[287] - if protoimpl.UnsafeEnabled && x != nil { +func (x *AccountTransactionEffects_TransferredToPublic) ProtoReflect() protoreflect.Message { + mi := &file_v2_concordium_types_proto_msgTypes[292] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -22483,59 +22944,55 @@ func (x *BlockSpecialEvent_PaydayFoundationReward) ProtoReflect() protoreflect.M return mi.MessageOf(x) } -// Deprecated: Use BlockSpecialEvent_PaydayFoundationReward.ProtoReflect.Descriptor instead. -func (*BlockSpecialEvent_PaydayFoundationReward) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{155, 5} +// Deprecated: Use AccountTransactionEffects_TransferredToPublic.ProtoReflect.Descriptor instead. +func (*AccountTransactionEffects_TransferredToPublic) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{89, 5} } -func (x *BlockSpecialEvent_PaydayFoundationReward) GetFoundationAccount() *AccountAddress { +func (x *AccountTransactionEffects_TransferredToPublic) GetRemoved() *EncryptedAmountRemovedEvent { if x != nil { - return x.FoundationAccount + return x.Removed } return nil } -func (x *BlockSpecialEvent_PaydayFoundationReward) GetDevelopmentCharge() *Amount { +func (x *AccountTransactionEffects_TransferredToPublic) GetAmount() *Amount { if x != nil { - return x.DevelopmentCharge + return x.Amount } return nil } -// Reward payment to the given account. -type BlockSpecialEvent_PaydayAccountReward struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache +// A transfer with schedule was performed. This is the result of a +// successful TransferWithSchedule transaction. +type AccountTransactionEffects_TransferredWithSchedule struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Receiver account. + Receiver *AccountAddress `protobuf:"bytes,1,opt,name=receiver,proto3" json:"receiver,omitempty"` + // The list of releases. Ordered by increasing timestamp. + Amount []*NewRelease `protobuf:"bytes,2,rep,name=amount,proto3" json:"amount,omitempty"` + // Optional memo. + Memo *Memo `protobuf:"bytes,3,opt,name=memo,proto3,oneof" json:"memo,omitempty"` unknownFields protoimpl.UnknownFields - - // The account that got rewarded. - Account *AccountAddress `protobuf:"bytes,1,opt,name=account,proto3" json:"account,omitempty"` - // The transaction fee reward at payday to the account. - TransactionFees *Amount `protobuf:"bytes,2,opt,name=transaction_fees,json=transactionFees,proto3" json:"transaction_fees,omitempty"` - // The baking reward at payday to the account. - BakerReward *Amount `protobuf:"bytes,3,opt,name=baker_reward,json=bakerReward,proto3" json:"baker_reward,omitempty"` - // The finalization reward at payday to the account. - FinalizationReward *Amount `protobuf:"bytes,4,opt,name=finalization_reward,json=finalizationReward,proto3" json:"finalization_reward,omitempty"` + sizeCache protoimpl.SizeCache } -func (x *BlockSpecialEvent_PaydayAccountReward) Reset() { - *x = BlockSpecialEvent_PaydayAccountReward{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[288] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (x *AccountTransactionEffects_TransferredWithSchedule) Reset() { + *x = AccountTransactionEffects_TransferredWithSchedule{} + mi := &file_v2_concordium_types_proto_msgTypes[293] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } -func (x *BlockSpecialEvent_PaydayAccountReward) String() string { +func (x *AccountTransactionEffects_TransferredWithSchedule) String() string { return protoimpl.X.MessageStringOf(x) } -func (*BlockSpecialEvent_PaydayAccountReward) ProtoMessage() {} +func (*AccountTransactionEffects_TransferredWithSchedule) ProtoMessage() {} -func (x *BlockSpecialEvent_PaydayAccountReward) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[288] - if protoimpl.UnsafeEnabled && x != nil { +func (x *AccountTransactionEffects_TransferredWithSchedule) ProtoReflect() protoreflect.Message { + mi := &file_v2_concordium_types_proto_msgTypes[293] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -22545,79 +23002,62 @@ func (x *BlockSpecialEvent_PaydayAccountReward) ProtoReflect() protoreflect.Mess return mi.MessageOf(x) } -// Deprecated: Use BlockSpecialEvent_PaydayAccountReward.ProtoReflect.Descriptor instead. -func (*BlockSpecialEvent_PaydayAccountReward) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{155, 6} -} - -func (x *BlockSpecialEvent_PaydayAccountReward) GetAccount() *AccountAddress { - if x != nil { - return x.Account - } - return nil +// Deprecated: Use AccountTransactionEffects_TransferredWithSchedule.ProtoReflect.Descriptor instead. +func (*AccountTransactionEffects_TransferredWithSchedule) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{89, 6} } -func (x *BlockSpecialEvent_PaydayAccountReward) GetTransactionFees() *Amount { +func (x *AccountTransactionEffects_TransferredWithSchedule) GetReceiver() *AccountAddress { if x != nil { - return x.TransactionFees + return x.Receiver } return nil } -func (x *BlockSpecialEvent_PaydayAccountReward) GetBakerReward() *Amount { +func (x *AccountTransactionEffects_TransferredWithSchedule) GetAmount() []*NewRelease { if x != nil { - return x.BakerReward + return x.Amount } return nil } -func (x *BlockSpecialEvent_PaydayAccountReward) GetFinalizationReward() *Amount { +func (x *AccountTransactionEffects_TransferredWithSchedule) GetMemo() *Memo { if x != nil { - return x.FinalizationReward + return x.Memo } return nil } -// Amounts accrued to accounts for each baked block. -type BlockSpecialEvent_BlockAccrueReward struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache +// Account's credentials were updated. This is the result of a +// successful UpdateCredentials transaction. +type AccountTransactionEffects_CredentialsUpdated struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The credential ids that were added. + NewCredIds []*CredentialRegistrationId `protobuf:"bytes,1,rep,name=new_cred_ids,json=newCredIds,proto3" json:"new_cred_ids,omitempty"` + // The credentials that were removed. + RemovedCredIds []*CredentialRegistrationId `protobuf:"bytes,2,rep,name=removed_cred_ids,json=removedCredIds,proto3" json:"removed_cred_ids,omitempty"` + // The (possibly) updated account threshold. + NewThreshold *AccountThreshold `protobuf:"bytes,3,opt,name=new_threshold,json=newThreshold,proto3" json:"new_threshold,omitempty"` unknownFields protoimpl.UnknownFields - - // The total fees paid for transactions in the block. - TransactionFees *Amount `protobuf:"bytes,1,opt,name=transaction_fees,json=transactionFees,proto3" json:"transaction_fees,omitempty"` - // The old balance of the GAS account. - OldGasAccount *Amount `protobuf:"bytes,2,opt,name=old_gas_account,json=oldGasAccount,proto3" json:"old_gas_account,omitempty"` - // The new balance of the GAS account. - NewGasAccount *Amount `protobuf:"bytes,3,opt,name=new_gas_account,json=newGasAccount,proto3" json:"new_gas_account,omitempty"` - // The amount awarded to the baker. - BakerReward *Amount `protobuf:"bytes,4,opt,name=baker_reward,json=bakerReward,proto3" json:"baker_reward,omitempty"` - // The amount awarded to the passive delegators. - PassiveReward *Amount `protobuf:"bytes,5,opt,name=passive_reward,json=passiveReward,proto3" json:"passive_reward,omitempty"` - // The amount awarded to the foundation. - FoundationCharge *Amount `protobuf:"bytes,6,opt,name=foundation_charge,json=foundationCharge,proto3" json:"foundation_charge,omitempty"` - // The baker of the block, who will receive the award. - Baker *BakerId `protobuf:"bytes,7,opt,name=baker,proto3" json:"baker,omitempty"` + sizeCache protoimpl.SizeCache } -func (x *BlockSpecialEvent_BlockAccrueReward) Reset() { - *x = BlockSpecialEvent_BlockAccrueReward{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[289] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (x *AccountTransactionEffects_CredentialsUpdated) Reset() { + *x = AccountTransactionEffects_CredentialsUpdated{} + mi := &file_v2_concordium_types_proto_msgTypes[294] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } -func (x *BlockSpecialEvent_BlockAccrueReward) String() string { +func (x *AccountTransactionEffects_CredentialsUpdated) String() string { return protoimpl.X.MessageStringOf(x) } -func (*BlockSpecialEvent_BlockAccrueReward) ProtoMessage() {} +func (*AccountTransactionEffects_CredentialsUpdated) ProtoMessage() {} -func (x *BlockSpecialEvent_BlockAccrueReward) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[289] - if protoimpl.UnsafeEnabled && x != nil { +func (x *AccountTransactionEffects_CredentialsUpdated) ProtoReflect() protoreflect.Message { + mi := &file_v2_concordium_types_proto_msgTypes[294] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -22627,94 +23067,103 @@ func (x *BlockSpecialEvent_BlockAccrueReward) ProtoReflect() protoreflect.Messag return mi.MessageOf(x) } -// Deprecated: Use BlockSpecialEvent_BlockAccrueReward.ProtoReflect.Descriptor instead. -func (*BlockSpecialEvent_BlockAccrueReward) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{155, 7} +// Deprecated: Use AccountTransactionEffects_CredentialsUpdated.ProtoReflect.Descriptor instead. +func (*AccountTransactionEffects_CredentialsUpdated) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{89, 7} } -func (x *BlockSpecialEvent_BlockAccrueReward) GetTransactionFees() *Amount { +func (x *AccountTransactionEffects_CredentialsUpdated) GetNewCredIds() []*CredentialRegistrationId { if x != nil { - return x.TransactionFees + return x.NewCredIds } return nil } -func (x *BlockSpecialEvent_BlockAccrueReward) GetOldGasAccount() *Amount { +func (x *AccountTransactionEffects_CredentialsUpdated) GetRemovedCredIds() []*CredentialRegistrationId { if x != nil { - return x.OldGasAccount + return x.RemovedCredIds } return nil } -func (x *BlockSpecialEvent_BlockAccrueReward) GetNewGasAccount() *Amount { +func (x *AccountTransactionEffects_CredentialsUpdated) GetNewThreshold() *AccountThreshold { if x != nil { - return x.NewGasAccount + return x.NewThreshold } return nil } -func (x *BlockSpecialEvent_BlockAccrueReward) GetBakerReward() *Amount { - if x != nil { - return x.BakerReward - } - return nil +// A baker was configured. The details of what happened are contained in +// the list of BakerEvents. +type AccountTransactionEffects_BakerConfigured struct { + state protoimpl.MessageState `protogen:"open.v1"` + Events []*BakerEvent `protobuf:"bytes,1,rep,name=events,proto3" json:"events,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } -func (x *BlockSpecialEvent_BlockAccrueReward) GetPassiveReward() *Amount { - if x != nil { - return x.PassiveReward - } - return nil +func (x *AccountTransactionEffects_BakerConfigured) Reset() { + *x = AccountTransactionEffects_BakerConfigured{} + mi := &file_v2_concordium_types_proto_msgTypes[295] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } -func (x *BlockSpecialEvent_BlockAccrueReward) GetFoundationCharge() *Amount { +func (x *AccountTransactionEffects_BakerConfigured) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AccountTransactionEffects_BakerConfigured) ProtoMessage() {} + +func (x *AccountTransactionEffects_BakerConfigured) ProtoReflect() protoreflect.Message { + mi := &file_v2_concordium_types_proto_msgTypes[295] if x != nil { - return x.FoundationCharge + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return nil + return mi.MessageOf(x) } -func (x *BlockSpecialEvent_BlockAccrueReward) GetBaker() *BakerId { +// Deprecated: Use AccountTransactionEffects_BakerConfigured.ProtoReflect.Descriptor instead. +func (*AccountTransactionEffects_BakerConfigured) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{89, 8} +} + +func (x *AccountTransactionEffects_BakerConfigured) GetEvents() []*BakerEvent { if x != nil { - return x.Baker + return x.Events } return nil } -// Payment distributed to a pool or passive delegators. -type BlockSpecialEvent_PaydayPoolReward struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache +// An account configured delegation. The details of what happened are +// contained in the list of DelegationEvents. +type AccountTransactionEffects_DelegationConfigured struct { + state protoimpl.MessageState `protogen:"open.v1"` + Events []*DelegationEvent `protobuf:"bytes,1,rep,name=events,proto3" json:"events,omitempty"` unknownFields protoimpl.UnknownFields - - // The pool owner (passive delegators when not present). - PoolOwner *BakerId `protobuf:"bytes,1,opt,name=pool_owner,json=poolOwner,proto3,oneof" json:"pool_owner,omitempty"` - // Accrued transaction fees for pool. - TransactionFees *Amount `protobuf:"bytes,2,opt,name=transaction_fees,json=transactionFees,proto3" json:"transaction_fees,omitempty"` - // Accrued baking rewards for pool. - BakerReward *Amount `protobuf:"bytes,3,opt,name=baker_reward,json=bakerReward,proto3" json:"baker_reward,omitempty"` - // Accrued finalization rewards for pool. - FinalizationReward *Amount `protobuf:"bytes,4,opt,name=finalization_reward,json=finalizationReward,proto3" json:"finalization_reward,omitempty"` + sizeCache protoimpl.SizeCache } -func (x *BlockSpecialEvent_PaydayPoolReward) Reset() { - *x = BlockSpecialEvent_PaydayPoolReward{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[290] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (x *AccountTransactionEffects_DelegationConfigured) Reset() { + *x = AccountTransactionEffects_DelegationConfigured{} + mi := &file_v2_concordium_types_proto_msgTypes[296] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } -func (x *BlockSpecialEvent_PaydayPoolReward) String() string { +func (x *AccountTransactionEffects_DelegationConfigured) String() string { return protoimpl.X.MessageStringOf(x) } -func (*BlockSpecialEvent_PaydayPoolReward) ProtoMessage() {} +func (*AccountTransactionEffects_DelegationConfigured) ProtoMessage() {} -func (x *BlockSpecialEvent_PaydayPoolReward) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[290] - if protoimpl.UnsafeEnabled && x != nil { +func (x *AccountTransactionEffects_DelegationConfigured) ProtoReflect() protoreflect.Message { + mi := &file_v2_concordium_types_proto_msgTypes[296] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -22724,69 +23173,88 @@ func (x *BlockSpecialEvent_PaydayPoolReward) ProtoReflect() protoreflect.Message return mi.MessageOf(x) } -// Deprecated: Use BlockSpecialEvent_PaydayPoolReward.ProtoReflect.Descriptor instead. -func (*BlockSpecialEvent_PaydayPoolReward) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{155, 8} +// Deprecated: Use AccountTransactionEffects_DelegationConfigured.ProtoReflect.Descriptor instead. +func (*AccountTransactionEffects_DelegationConfigured) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{89, 9} } -func (x *BlockSpecialEvent_PaydayPoolReward) GetPoolOwner() *BakerId { +func (x *AccountTransactionEffects_DelegationConfigured) GetEvents() []*DelegationEvent { if x != nil { - return x.PoolOwner + return x.Events } return nil } -func (x *BlockSpecialEvent_PaydayPoolReward) GetTransactionFees() *Amount { - if x != nil { - return x.TransactionFees - } - return nil +// Identity of the anonymity revoker on the chain. This defines their +// evaluateion point for secret sharing, and thus it cannot be 0. +type ArInfo_ArIdentity struct { + state protoimpl.MessageState `protogen:"open.v1"` + Value uint32 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } -func (x *BlockSpecialEvent_PaydayPoolReward) GetBakerReward() *Amount { +func (x *ArInfo_ArIdentity) Reset() { + *x = ArInfo_ArIdentity{} + mi := &file_v2_concordium_types_proto_msgTypes[297] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ArInfo_ArIdentity) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ArInfo_ArIdentity) ProtoMessage() {} + +func (x *ArInfo_ArIdentity) ProtoReflect() protoreflect.Message { + mi := &file_v2_concordium_types_proto_msgTypes[297] if x != nil { - return x.BakerReward + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return nil + return mi.MessageOf(x) } -func (x *BlockSpecialEvent_PaydayPoolReward) GetFinalizationReward() *Amount { +// Deprecated: Use ArInfo_ArIdentity.ProtoReflect.Descriptor instead. +func (*ArInfo_ArIdentity) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{105, 0} +} + +func (x *ArInfo_ArIdentity) GetValue() uint32 { if x != nil { - return x.FinalizationReward + return x.Value } - return nil + return 0 } -// The entry for the map. -type BlockSpecialEvent_AccountAmounts_Entry struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache +// Public key of an anonymity revoker. +type ArInfo_ArPublicKey struct { + state protoimpl.MessageState `protogen:"open.v1"` + Value []byte `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` unknownFields protoimpl.UnknownFields - - // The key type - Account *AccountAddress `protobuf:"bytes,1,opt,name=account,proto3" json:"account,omitempty"` - // The value type - Amount *Amount `protobuf:"bytes,2,opt,name=amount,proto3" json:"amount,omitempty"` + sizeCache protoimpl.SizeCache } -func (x *BlockSpecialEvent_AccountAmounts_Entry) Reset() { - *x = BlockSpecialEvent_AccountAmounts_Entry{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[291] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (x *ArInfo_ArPublicKey) Reset() { + *x = ArInfo_ArPublicKey{} + mi := &file_v2_concordium_types_proto_msgTypes[298] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } -func (x *BlockSpecialEvent_AccountAmounts_Entry) String() string { +func (x *ArInfo_ArPublicKey) String() string { return protoimpl.X.MessageStringOf(x) } -func (*BlockSpecialEvent_AccountAmounts_Entry) ProtoMessage() {} +func (*ArInfo_ArPublicKey) ProtoMessage() {} -func (x *BlockSpecialEvent_AccountAmounts_Entry) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[291] - if protoimpl.UnsafeEnabled && x != nil { +func (x *ArInfo_ArPublicKey) ProtoReflect() protoreflect.Message { + mi := &file_v2_concordium_types_proto_msgTypes[298] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -22796,65 +23264,42 @@ func (x *BlockSpecialEvent_AccountAmounts_Entry) ProtoReflect() protoreflect.Mes return mi.MessageOf(x) } -// Deprecated: Use BlockSpecialEvent_AccountAmounts_Entry.ProtoReflect.Descriptor instead. -func (*BlockSpecialEvent_AccountAmounts_Entry) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{155, 0, 0} -} - -func (x *BlockSpecialEvent_AccountAmounts_Entry) GetAccount() *AccountAddress { - if x != nil { - return x.Account - } - return nil +// Deprecated: Use ArInfo_ArPublicKey.ProtoReflect.Descriptor instead. +func (*ArInfo_ArPublicKey) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{105, 1} } -func (x *BlockSpecialEvent_AccountAmounts_Entry) GetAmount() *Amount { +func (x *ArInfo_ArPublicKey) GetValue() []byte { if x != nil { - return x.Amount + return x.Value } return nil } -// A peer that the node is connected to. -type PeersInfo_Peer struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache +// Pointcheval-Sanders public key of the identity provider. +type IpInfo_IpVerifyKey struct { + state protoimpl.MessageState `protogen:"open.v1"` + Value []byte `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` unknownFields protoimpl.UnknownFields - - // The identifier of the peer that it - // wishes to be identified by. - PeerId *PeerId `protobuf:"bytes,1,opt,name=peer_id,json=peerId,proto3" json:"peer_id,omitempty"` - // The port of the peer. - SocketAddress *IpSocketAddress `protobuf:"bytes,2,opt,name=socket_address,json=socketAddress,proto3" json:"socket_address,omitempty"` - // Network related statistics for the peer. - NetworkStats *PeersInfo_Peer_NetworkStats `protobuf:"bytes,3,opt,name=network_stats,json=networkStats,proto3" json:"network_stats,omitempty"` - // consensus related information of the peer. - // - // Types that are assignable to ConsensusInfo: - // - // *PeersInfo_Peer_Bootstrapper - // *PeersInfo_Peer_NodeCatchupStatus - ConsensusInfo isPeersInfo_Peer_ConsensusInfo `protobuf_oneof:"consensus_info"` + sizeCache protoimpl.SizeCache } -func (x *PeersInfo_Peer) Reset() { - *x = PeersInfo_Peer{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[292] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (x *IpInfo_IpVerifyKey) Reset() { + *x = IpInfo_IpVerifyKey{} + mi := &file_v2_concordium_types_proto_msgTypes[299] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } -func (x *PeersInfo_Peer) String() string { +func (x *IpInfo_IpVerifyKey) String() string { return protoimpl.X.MessageStringOf(x) } -func (*PeersInfo_Peer) ProtoMessage() {} +func (*IpInfo_IpVerifyKey) ProtoMessage() {} -func (x *PeersInfo_Peer) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[292] - if protoimpl.UnsafeEnabled && x != nil { +func (x *IpInfo_IpVerifyKey) ProtoReflect() protoreflect.Message { + mi := &file_v2_concordium_types_proto_msgTypes[299] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -22864,109 +23309,134 @@ func (x *PeersInfo_Peer) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use PeersInfo_Peer.ProtoReflect.Descriptor instead. -func (*PeersInfo_Peer) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{166, 0} +// Deprecated: Use IpInfo_IpVerifyKey.ProtoReflect.Descriptor instead. +func (*IpInfo_IpVerifyKey) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{107, 0} } -func (x *PeersInfo_Peer) GetPeerId() *PeerId { +func (x *IpInfo_IpVerifyKey) GetValue() []byte { if x != nil { - return x.PeerId + return x.Value } return nil } -func (x *PeersInfo_Peer) GetSocketAddress() *IpSocketAddress { - if x != nil { - return x.SocketAddress - } - return nil +// Ed25519 public key of the identity provider. +type IpInfo_IpCdiVerifyKey struct { + state protoimpl.MessageState `protogen:"open.v1"` + Value []byte `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } -func (x *PeersInfo_Peer) GetNetworkStats() *PeersInfo_Peer_NetworkStats { +func (x *IpInfo_IpCdiVerifyKey) Reset() { + *x = IpInfo_IpCdiVerifyKey{} + mi := &file_v2_concordium_types_proto_msgTypes[300] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *IpInfo_IpCdiVerifyKey) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*IpInfo_IpCdiVerifyKey) ProtoMessage() {} + +func (x *IpInfo_IpCdiVerifyKey) ProtoReflect() protoreflect.Message { + mi := &file_v2_concordium_types_proto_msgTypes[300] if x != nil { - return x.NetworkStats + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return nil + return mi.MessageOf(x) } -func (m *PeersInfo_Peer) GetConsensusInfo() isPeersInfo_Peer_ConsensusInfo { - if m != nil { - return m.ConsensusInfo - } - return nil +// Deprecated: Use IpInfo_IpCdiVerifyKey.ProtoReflect.Descriptor instead. +func (*IpInfo_IpCdiVerifyKey) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{107, 1} } -func (x *PeersInfo_Peer) GetBootstrapper() *Empty { - if x, ok := x.GetConsensusInfo().(*PeersInfo_Peer_Bootstrapper); ok { - return x.Bootstrapper +func (x *IpInfo_IpCdiVerifyKey) GetValue() []byte { + if x != nil { + return x.Value } return nil } -func (x *PeersInfo_Peer) GetNodeCatchupStatus() PeersInfo_Peer_CatchupStatus { - if x, ok := x.GetConsensusInfo().(*PeersInfo_Peer_NodeCatchupStatus); ok { - return x.NodeCatchupStatus - } - return PeersInfo_Peer_UPTODATE +type BlockItemSummary_TransactionIndex struct { + state protoimpl.MessageState `protogen:"open.v1"` + Value uint64 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } -type isPeersInfo_Peer_ConsensusInfo interface { - isPeersInfo_Peer_ConsensusInfo() +func (x *BlockItemSummary_TransactionIndex) Reset() { + *x = BlockItemSummary_TransactionIndex{} + mi := &file_v2_concordium_types_proto_msgTypes[301] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } -type PeersInfo_Peer_Bootstrapper struct { - // The peer is of type `Bootstrapper` is not participating in consensus - // and thus has no catchup status. - Bootstrapper *Empty `protobuf:"bytes,4,opt,name=bootstrapper,proto3,oneof"` +func (x *BlockItemSummary_TransactionIndex) String() string { + return protoimpl.X.MessageStringOf(x) } -type PeersInfo_Peer_NodeCatchupStatus struct { - // The peer is a regular node and have - // an associated catchup status. - NodeCatchupStatus PeersInfo_Peer_CatchupStatus `protobuf:"varint,5,opt,name=node_catchup_status,json=nodeCatchupStatus,proto3,enum=concordium.v2.PeersInfo_Peer_CatchupStatus,oneof"` +func (*BlockItemSummary_TransactionIndex) ProtoMessage() {} + +func (x *BlockItemSummary_TransactionIndex) ProtoReflect() protoreflect.Message { + mi := &file_v2_concordium_types_proto_msgTypes[301] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -func (*PeersInfo_Peer_Bootstrapper) isPeersInfo_Peer_ConsensusInfo() {} +// Deprecated: Use BlockItemSummary_TransactionIndex.ProtoReflect.Descriptor instead. +func (*BlockItemSummary_TransactionIndex) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{134, 0} +} -func (*PeersInfo_Peer_NodeCatchupStatus) isPeersInfo_Peer_ConsensusInfo() {} +func (x *BlockItemSummary_TransactionIndex) GetValue() uint64 { + if x != nil { + return x.Value + } + return 0 +} -// Network statistics for the peer -type PeersInfo_Peer_NetworkStats struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache +// A reduction in baker equity capital is pending. +type PoolPendingChange_Reduce struct { + state protoimpl.MessageState `protogen:"open.v1"` + // New baker equity capital. + ReducedEquityCapital *Amount `protobuf:"bytes,1,opt,name=reduced_equity_capital,json=reducedEquityCapital,proto3" json:"reduced_equity_capital,omitempty"` + // Timestamp when the change takes effect. + EffectiveTime *Timestamp `protobuf:"bytes,2,opt,name=effective_time,json=effectiveTime,proto3" json:"effective_time,omitempty"` unknownFields protoimpl.UnknownFields - - // The number of messages sent to the peer. - // Packets are blocks, transactions, catchup messages, finalization records - // and network messages such as pings and peer requests. - PacketsSent uint64 `protobuf:"varint,2,opt,name=packets_sent,json=packetsSent,proto3" json:"packets_sent,omitempty"` - // The number of messages received from the peer. - // Packets are blocks, transactions, catchup messages, finalization records - // and network messages such as pings and peer requests. - PacketsReceived uint64 `protobuf:"varint,3,opt,name=packets_received,json=packetsReceived,proto3" json:"packets_received,omitempty"` - // The connection latency (i.e., ping time) in milliseconds. - Latency uint64 `protobuf:"varint,4,opt,name=latency,proto3" json:"latency,omitempty"` + sizeCache protoimpl.SizeCache } -func (x *PeersInfo_Peer_NetworkStats) Reset() { - *x = PeersInfo_Peer_NetworkStats{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[293] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (x *PoolPendingChange_Reduce) Reset() { + *x = PoolPendingChange_Reduce{} + mi := &file_v2_concordium_types_proto_msgTypes[302] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } -func (x *PeersInfo_Peer_NetworkStats) String() string { +func (x *PoolPendingChange_Reduce) String() string { return protoimpl.X.MessageStringOf(x) } -func (*PeersInfo_Peer_NetworkStats) ProtoMessage() {} +func (*PoolPendingChange_Reduce) ProtoMessage() {} -func (x *PeersInfo_Peer_NetworkStats) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[293] - if protoimpl.UnsafeEnabled && x != nil { +func (x *PoolPendingChange_Reduce) ProtoReflect() protoreflect.Message { + mi := &file_v2_concordium_types_proto_msgTypes[302] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -22976,68 +23446,50 @@ func (x *PeersInfo_Peer_NetworkStats) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use PeersInfo_Peer_NetworkStats.ProtoReflect.Descriptor instead. -func (*PeersInfo_Peer_NetworkStats) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{166, 0, 0} -} - -func (x *PeersInfo_Peer_NetworkStats) GetPacketsSent() uint64 { - if x != nil { - return x.PacketsSent - } - return 0 +// Deprecated: Use PoolPendingChange_Reduce.ProtoReflect.Descriptor instead. +func (*PoolPendingChange_Reduce) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{141, 0} } -func (x *PeersInfo_Peer_NetworkStats) GetPacketsReceived() uint64 { +func (x *PoolPendingChange_Reduce) GetReducedEquityCapital() *Amount { if x != nil { - return x.PacketsReceived + return x.ReducedEquityCapital } - return 0 + return nil } -func (x *PeersInfo_Peer_NetworkStats) GetLatency() uint64 { +func (x *PoolPendingChange_Reduce) GetEffectiveTime() *Timestamp { if x != nil { - return x.Latency + return x.EffectiveTime } - return 0 + return nil } -// Network related information of the node. -type NodeInfo_NetworkInfo struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache +// Removal of the pool is pending. +type PoolPendingChange_Remove struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Timestamp when the change takes effect. + EffectiveTime *Timestamp `protobuf:"bytes,1,opt,name=effective_time,json=effectiveTime,proto3" json:"effective_time,omitempty"` unknownFields protoimpl.UnknownFields - - // The node id. - NodeId *PeerId `protobuf:"bytes,1,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"` - // Total number of packets sent by the node. - PeerTotalSent uint64 `protobuf:"varint,2,opt,name=peer_total_sent,json=peerTotalSent,proto3" json:"peer_total_sent,omitempty"` - // Total number of packets received by the node. - PeerTotalReceived uint64 `protobuf:"varint,3,opt,name=peer_total_received,json=peerTotalReceived,proto3" json:"peer_total_received,omitempty"` - // Average outbound throughput in bytes per second. - AvgBpsIn uint64 `protobuf:"varint,4,opt,name=avg_bps_in,json=avgBpsIn,proto3" json:"avg_bps_in,omitempty"` - // Average inbound throughput in bytes per second. - AvgBpsOut uint64 `protobuf:"varint,5,opt,name=avg_bps_out,json=avgBpsOut,proto3" json:"avg_bps_out,omitempty"` + sizeCache protoimpl.SizeCache } -func (x *NodeInfo_NetworkInfo) Reset() { - *x = NodeInfo_NetworkInfo{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[294] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (x *PoolPendingChange_Remove) Reset() { + *x = PoolPendingChange_Remove{} + mi := &file_v2_concordium_types_proto_msgTypes[303] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } -func (x *NodeInfo_NetworkInfo) String() string { +func (x *PoolPendingChange_Remove) String() string { return protoimpl.X.MessageStringOf(x) } -func (*NodeInfo_NetworkInfo) ProtoMessage() {} +func (*PoolPendingChange_Remove) ProtoMessage() {} -func (x *NodeInfo_NetworkInfo) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[294] - if protoimpl.UnsafeEnabled && x != nil { +func (x *PoolPendingChange_Remove) ProtoReflect() protoreflect.Message { + mi := &file_v2_concordium_types_proto_msgTypes[303] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -23047,81 +23499,94 @@ func (x *NodeInfo_NetworkInfo) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use NodeInfo_NetworkInfo.ProtoReflect.Descriptor instead. -func (*NodeInfo_NetworkInfo) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{167, 0} +// Deprecated: Use PoolPendingChange_Remove.ProtoReflect.Descriptor instead. +func (*PoolPendingChange_Remove) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{141, 1} } -func (x *NodeInfo_NetworkInfo) GetNodeId() *PeerId { +func (x *PoolPendingChange_Remove) GetEffectiveTime() *Timestamp { if x != nil { - return x.NodeId + return x.EffectiveTime } return nil } -func (x *NodeInfo_NetworkInfo) GetPeerTotalSent() uint64 { - if x != nil { - return x.PeerTotalSent - } - return 0 +// Request using an absolute block height. +type BlocksAtHeightRequest_Absolute struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The absolute block height. + Height *AbsoluteBlockHeight `protobuf:"bytes,1,opt,name=height,proto3" json:"height,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } -func (x *NodeInfo_NetworkInfo) GetPeerTotalReceived() uint64 { - if x != nil { - return x.PeerTotalReceived - } - return 0 +func (x *BlocksAtHeightRequest_Absolute) Reset() { + *x = BlocksAtHeightRequest_Absolute{} + mi := &file_v2_concordium_types_proto_msgTypes[304] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } -func (x *NodeInfo_NetworkInfo) GetAvgBpsIn() uint64 { +func (x *BlocksAtHeightRequest_Absolute) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BlocksAtHeightRequest_Absolute) ProtoMessage() {} + +func (x *BlocksAtHeightRequest_Absolute) ProtoReflect() protoreflect.Message { + mi := &file_v2_concordium_types_proto_msgTypes[304] if x != nil { - return x.AvgBpsIn + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return 0 + return mi.MessageOf(x) } -func (x *NodeInfo_NetworkInfo) GetAvgBpsOut() uint64 { +// Deprecated: Use BlocksAtHeightRequest_Absolute.ProtoReflect.Descriptor instead. +func (*BlocksAtHeightRequest_Absolute) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{145, 0} +} + +func (x *BlocksAtHeightRequest_Absolute) GetHeight() *AbsoluteBlockHeight { if x != nil { - return x.AvgBpsOut + return x.Height } - return 0 + return nil } -// Consensus info for a node configured with baker keys. -type NodeInfo_BakerConsensusInfo struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache +// Request using a relative block height. +type BlocksAtHeightRequest_Relative struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Genesis index to start from. + GenesisIndex *GenesisIndex `protobuf:"bytes,1,opt,name=genesis_index,json=genesisIndex,proto3" json:"genesis_index,omitempty"` + // Height starting from the genesis block at the genesis index. + Height *BlockHeight `protobuf:"bytes,2,opt,name=height,proto3" json:"height,omitempty"` + // Whether to return results only from the specified genesis index (`true`), + // or allow results from more recent genesis indices as well (`false`). + Restrict bool `protobuf:"varint,3,opt,name=restrict,proto3" json:"restrict,omitempty"` unknownFields protoimpl.UnknownFields - - BakerId *BakerId `protobuf:"bytes,1,opt,name=baker_id,json=bakerId,proto3" json:"baker_id,omitempty"` - // Status of the baker configured node. - // - // Types that are assignable to Status: - // - // *NodeInfo_BakerConsensusInfo_PassiveCommitteeInfo_ - // *NodeInfo_BakerConsensusInfo_ActiveBakerCommitteeInfo_ - // *NodeInfo_BakerConsensusInfo_ActiveFinalizerCommitteeInfo_ - Status isNodeInfo_BakerConsensusInfo_Status `protobuf_oneof:"status"` + sizeCache protoimpl.SizeCache } -func (x *NodeInfo_BakerConsensusInfo) Reset() { - *x = NodeInfo_BakerConsensusInfo{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[295] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (x *BlocksAtHeightRequest_Relative) Reset() { + *x = BlocksAtHeightRequest_Relative{} + mi := &file_v2_concordium_types_proto_msgTypes[305] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } -func (x *NodeInfo_BakerConsensusInfo) String() string { +func (x *BlocksAtHeightRequest_Relative) String() string { return protoimpl.X.MessageStringOf(x) } -func (*NodeInfo_BakerConsensusInfo) ProtoMessage() {} +func (*BlocksAtHeightRequest_Relative) ProtoMessage() {} -func (x *NodeInfo_BakerConsensusInfo) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[295] - if protoimpl.UnsafeEnabled && x != nil { +func (x *BlocksAtHeightRequest_Relative) ProtoReflect() protoreflect.Message { + mi := &file_v2_concordium_types_proto_msgTypes[305] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -23131,107 +23596,166 @@ func (x *NodeInfo_BakerConsensusInfo) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use NodeInfo_BakerConsensusInfo.ProtoReflect.Descriptor instead. -func (*NodeInfo_BakerConsensusInfo) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{167, 1} +// Deprecated: Use BlocksAtHeightRequest_Relative.ProtoReflect.Descriptor instead. +func (*BlocksAtHeightRequest_Relative) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{145, 1} } -func (x *NodeInfo_BakerConsensusInfo) GetBakerId() *BakerId { +func (x *BlocksAtHeightRequest_Relative) GetGenesisIndex() *GenesisIndex { if x != nil { - return x.BakerId + return x.GenesisIndex } return nil } -func (m *NodeInfo_BakerConsensusInfo) GetStatus() isNodeInfo_BakerConsensusInfo_Status { - if m != nil { - return m.Status +func (x *BlocksAtHeightRequest_Relative) GetHeight() *BlockHeight { + if x != nil { + return x.Height } return nil } -func (x *NodeInfo_BakerConsensusInfo) GetPassiveCommitteeInfo() NodeInfo_BakerConsensusInfo_PassiveCommitteeInfo { - if x, ok := x.GetStatus().(*NodeInfo_BakerConsensusInfo_PassiveCommitteeInfo_); ok { - return x.PassiveCommitteeInfo - } - return NodeInfo_BakerConsensusInfo_NOT_IN_COMMITTEE -} - -func (x *NodeInfo_BakerConsensusInfo) GetActiveBakerCommitteeInfo() *NodeInfo_BakerConsensusInfo_ActiveBakerCommitteeInfo { - if x, ok := x.GetStatus().(*NodeInfo_BakerConsensusInfo_ActiveBakerCommitteeInfo_); ok { - return x.ActiveBakerCommitteeInfo +func (x *BlocksAtHeightRequest_Relative) GetRestrict() bool { + if x != nil { + return x.Restrict } - return nil + return false } -func (x *NodeInfo_BakerConsensusInfo) GetActiveFinalizerCommitteeInfo() *NodeInfo_BakerConsensusInfo_ActiveFinalizerCommitteeInfo { - if x, ok := x.GetStatus().(*NodeInfo_BakerConsensusInfo_ActiveFinalizerCommitteeInfo_); ok { - return x.ActiveFinalizerCommitteeInfo - } - return nil +// Version 0 tokenomics. +type TokenomicsInfo_V0 struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The total CCD in existence. + TotalAmount *Amount `protobuf:"bytes,1,opt,name=total_amount,json=totalAmount,proto3" json:"total_amount,omitempty"` + // The total CCD in encrypted balances. + TotalEncryptedAmount *Amount `protobuf:"bytes,2,opt,name=total_encrypted_amount,json=totalEncryptedAmount,proto3" json:"total_encrypted_amount,omitempty"` + // The amount in the baking reward account. + BakingRewardAccount *Amount `protobuf:"bytes,3,opt,name=baking_reward_account,json=bakingRewardAccount,proto3" json:"baking_reward_account,omitempty"` + // The amount in the finalization reward account. + FinalizationRewardAccount *Amount `protobuf:"bytes,4,opt,name=finalization_reward_account,json=finalizationRewardAccount,proto3" json:"finalization_reward_account,omitempty"` + // The amount in the GAS account. + GasAccount *Amount `protobuf:"bytes,5,opt,name=gas_account,json=gasAccount,proto3" json:"gas_account,omitempty"` + // The protocol version. + ProtocolVersion ProtocolVersion `protobuf:"varint,6,opt,name=protocol_version,json=protocolVersion,proto3,enum=concordium.v2.ProtocolVersion" json:"protocol_version,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } -type isNodeInfo_BakerConsensusInfo_Status interface { - isNodeInfo_BakerConsensusInfo_Status() +func (x *TokenomicsInfo_V0) Reset() { + *x = TokenomicsInfo_V0{} + mi := &file_v2_concordium_types_proto_msgTypes[306] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } -type NodeInfo_BakerConsensusInfo_PassiveCommitteeInfo_ struct { - // The node is currently not baking. - PassiveCommitteeInfo NodeInfo_BakerConsensusInfo_PassiveCommitteeInfo `protobuf:"varint,2,opt,name=passive_committee_info,json=passiveCommitteeInfo,proto3,enum=concordium.v2.NodeInfo_BakerConsensusInfo_PassiveCommitteeInfo,oneof"` +func (x *TokenomicsInfo_V0) String() string { + return protoimpl.X.MessageStringOf(x) } -type NodeInfo_BakerConsensusInfo_ActiveBakerCommitteeInfo_ struct { - // The node is configured with baker keys and - // is member of the baking committee. - ActiveBakerCommitteeInfo *NodeInfo_BakerConsensusInfo_ActiveBakerCommitteeInfo `protobuf:"bytes,3,opt,name=active_baker_committee_info,json=activeBakerCommitteeInfo,proto3,oneof"` +func (*TokenomicsInfo_V0) ProtoMessage() {} + +func (x *TokenomicsInfo_V0) ProtoReflect() protoreflect.Message { + mi := &file_v2_concordium_types_proto_msgTypes[306] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -type NodeInfo_BakerConsensusInfo_ActiveFinalizerCommitteeInfo_ struct { - // The node is configured with baker keys and - // is member of the baking and finalization committees. - ActiveFinalizerCommitteeInfo *NodeInfo_BakerConsensusInfo_ActiveFinalizerCommitteeInfo `protobuf:"bytes,4,opt,name=active_finalizer_committee_info,json=activeFinalizerCommitteeInfo,proto3,oneof"` +// Deprecated: Use TokenomicsInfo_V0.ProtoReflect.Descriptor instead. +func (*TokenomicsInfo_V0) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{147, 0} } -func (*NodeInfo_BakerConsensusInfo_PassiveCommitteeInfo_) isNodeInfo_BakerConsensusInfo_Status() {} +func (x *TokenomicsInfo_V0) GetTotalAmount() *Amount { + if x != nil { + return x.TotalAmount + } + return nil +} -func (*NodeInfo_BakerConsensusInfo_ActiveBakerCommitteeInfo_) isNodeInfo_BakerConsensusInfo_Status() { +func (x *TokenomicsInfo_V0) GetTotalEncryptedAmount() *Amount { + if x != nil { + return x.TotalEncryptedAmount + } + return nil } -func (*NodeInfo_BakerConsensusInfo_ActiveFinalizerCommitteeInfo_) isNodeInfo_BakerConsensusInfo_Status() { +func (x *TokenomicsInfo_V0) GetBakingRewardAccount() *Amount { + if x != nil { + return x.BakingRewardAccount + } + return nil } -// The node is a regular node. -type NodeInfo_Node struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +func (x *TokenomicsInfo_V0) GetFinalizationRewardAccount() *Amount { + if x != nil { + return x.FinalizationRewardAccount + } + return nil +} - // Types that are assignable to ConsensusStatus: - // - // *NodeInfo_Node_NotRunning - // *NodeInfo_Node_Passive - // *NodeInfo_Node_Active - ConsensusStatus isNodeInfo_Node_ConsensusStatus `protobuf_oneof:"consensus_status"` +func (x *TokenomicsInfo_V0) GetGasAccount() *Amount { + if x != nil { + return x.GasAccount + } + return nil } -func (x *NodeInfo_Node) Reset() { - *x = NodeInfo_Node{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[296] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *TokenomicsInfo_V0) GetProtocolVersion() ProtocolVersion { + if x != nil { + return x.ProtocolVersion } + return ProtocolVersion_PROTOCOL_VERSION_1 } -func (x *NodeInfo_Node) String() string { +// Version 1 tokenomics. +type TokenomicsInfo_V1 struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The total CCD in existence. + TotalAmount *Amount `protobuf:"bytes,1,opt,name=total_amount,json=totalAmount,proto3" json:"total_amount,omitempty"` + // The total CCD in encrypted balances. + TotalEncryptedAmount *Amount `protobuf:"bytes,2,opt,name=total_encrypted_amount,json=totalEncryptedAmount,proto3" json:"total_encrypted_amount,omitempty"` + // The amount in the baking reward account. + BakingRewardAccount *Amount `protobuf:"bytes,3,opt,name=baking_reward_account,json=bakingRewardAccount,proto3" json:"baking_reward_account,omitempty"` + // The amount in the finalization reward account. + FinalizationRewardAccount *Amount `protobuf:"bytes,4,opt,name=finalization_reward_account,json=finalizationRewardAccount,proto3" json:"finalization_reward_account,omitempty"` + // The amount in the GAS account. + GasAccount *Amount `protobuf:"bytes,5,opt,name=gas_account,json=gasAccount,proto3" json:"gas_account,omitempty"` + // The transaction reward fraction accruing to the foundation (to be paid at next payday). + FoundationTransactionRewards *Amount `protobuf:"bytes,6,opt,name=foundation_transaction_rewards,json=foundationTransactionRewards,proto3" json:"foundation_transaction_rewards,omitempty"` + // The time of the next payday. + NextPaydayTime *Timestamp `protobuf:"bytes,7,opt,name=next_payday_time,json=nextPaydayTime,proto3" json:"next_payday_time,omitempty"` + // The rate at which CCD will be minted (as a proportion of the total supply) at the next payday. + NextPaydayMintRate *MintRate `protobuf:"bytes,8,opt,name=next_payday_mint_rate,json=nextPaydayMintRate,proto3" json:"next_payday_mint_rate,omitempty"` + // The total capital put up as stake by bakers and delegators. + TotalStakedCapital *Amount `protobuf:"bytes,9,opt,name=total_staked_capital,json=totalStakedCapital,proto3" json:"total_staked_capital,omitempty"` + // The protocol version. + ProtocolVersion ProtocolVersion `protobuf:"varint,10,opt,name=protocol_version,json=protocolVersion,proto3,enum=concordium.v2.ProtocolVersion" json:"protocol_version,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TokenomicsInfo_V1) Reset() { + *x = TokenomicsInfo_V1{} + mi := &file_v2_concordium_types_proto_msgTypes[307] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TokenomicsInfo_V1) String() string { return protoimpl.X.MessageStringOf(x) } -func (*NodeInfo_Node) ProtoMessage() {} +func (*TokenomicsInfo_V1) ProtoMessage() {} -func (x *NodeInfo_Node) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[296] - if protoimpl.UnsafeEnabled && x != nil { +func (x *TokenomicsInfo_V1) ProtoReflect() protoreflect.Message { + mi := &file_v2_concordium_types_proto_msgTypes[307] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -23241,98 +23765,113 @@ func (x *NodeInfo_Node) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use NodeInfo_Node.ProtoReflect.Descriptor instead. -func (*NodeInfo_Node) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{167, 2} +// Deprecated: Use TokenomicsInfo_V1.ProtoReflect.Descriptor instead. +func (*TokenomicsInfo_V1) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{147, 1} } -func (m *NodeInfo_Node) GetConsensusStatus() isNodeInfo_Node_ConsensusStatus { - if m != nil { - return m.ConsensusStatus +func (x *TokenomicsInfo_V1) GetTotalAmount() *Amount { + if x != nil { + return x.TotalAmount } return nil } -func (x *NodeInfo_Node) GetNotRunning() *Empty { - if x, ok := x.GetConsensusStatus().(*NodeInfo_Node_NotRunning); ok { - return x.NotRunning +func (x *TokenomicsInfo_V1) GetTotalEncryptedAmount() *Amount { + if x != nil { + return x.TotalEncryptedAmount } return nil } -func (x *NodeInfo_Node) GetPassive() *Empty { - if x, ok := x.GetConsensusStatus().(*NodeInfo_Node_Passive); ok { - return x.Passive +func (x *TokenomicsInfo_V1) GetBakingRewardAccount() *Amount { + if x != nil { + return x.BakingRewardAccount } return nil } -func (x *NodeInfo_Node) GetActive() *NodeInfo_BakerConsensusInfo { - if x, ok := x.GetConsensusStatus().(*NodeInfo_Node_Active); ok { - return x.Active +func (x *TokenomicsInfo_V1) GetFinalizationRewardAccount() *Amount { + if x != nil { + return x.FinalizationRewardAccount } return nil } -type isNodeInfo_Node_ConsensusStatus interface { - isNodeInfo_Node_ConsensusStatus() +func (x *TokenomicsInfo_V1) GetGasAccount() *Amount { + if x != nil { + return x.GasAccount + } + return nil } -type NodeInfo_Node_NotRunning struct { - // The node is not running consensus. - // This is the case only when the node is - // not supporting the protocol on the chain. - // The node does not process blocks. - NotRunning *Empty `protobuf:"bytes,1,opt,name=not_running,json=notRunning,proto3,oneof"` +func (x *TokenomicsInfo_V1) GetFoundationTransactionRewards() *Amount { + if x != nil { + return x.FoundationTransactionRewards + } + return nil } -type NodeInfo_Node_Passive struct { - // Consensus info for a node that is - // not configured with baker keys. - // The node is only processing blocks and - // relaying blocks and transactions and responding to - // catchup messages. - Passive *Empty `protobuf:"bytes,2,opt,name=passive,proto3,oneof"` +func (x *TokenomicsInfo_V1) GetNextPaydayTime() *Timestamp { + if x != nil { + return x.NextPaydayTime + } + return nil } -type NodeInfo_Node_Active struct { - // The node is configured with baker credentials and consensus is running. - Active *NodeInfo_BakerConsensusInfo `protobuf:"bytes,3,opt,name=active,proto3,oneof"` +func (x *TokenomicsInfo_V1) GetNextPaydayMintRate() *MintRate { + if x != nil { + return x.NextPaydayMintRate + } + return nil } -func (*NodeInfo_Node_NotRunning) isNodeInfo_Node_ConsensusStatus() {} - -func (*NodeInfo_Node_Passive) isNodeInfo_Node_ConsensusStatus() {} +func (x *TokenomicsInfo_V1) GetTotalStakedCapital() *Amount { + if x != nil { + return x.TotalStakedCapital + } + return nil +} -func (*NodeInfo_Node_Active) isNodeInfo_Node_ConsensusStatus() {} +func (x *TokenomicsInfo_V1) GetProtocolVersion() ProtocolVersion { + if x != nil { + return x.ProtocolVersion + } + return ProtocolVersion_PROTOCOL_VERSION_1 +} -// Tagging message type for a node that -// is configured with baker keys and active in -// the current baking committee -type NodeInfo_BakerConsensusInfo_ActiveBakerCommitteeInfo struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache +// Contract execution failed. +type InvokeInstanceResponse_Failure struct { + state protoimpl.MessageState `protogen:"open.v1"` + // If invoking a V0 contract this is not provided, otherwise it is + // potentially return value produced by the call unless the call failed with + // out of energy or runtime error. If the V1 contract terminated with a + // logic error then the return value is present. + ReturnValue []byte `protobuf:"bytes,1,opt,name=return_value,json=returnValue,proto3,oneof" json:"return_value,omitempty"` + // Energy used by the execution. + UsedEnergy *Energy `protobuf:"bytes,2,opt,name=used_energy,json=usedEnergy,proto3" json:"used_energy,omitempty"` + // Contract execution failed for the given reason. + Reason *RejectReason `protobuf:"bytes,3,opt,name=reason,proto3" json:"reason,omitempty"` unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } -func (x *NodeInfo_BakerConsensusInfo_ActiveBakerCommitteeInfo) Reset() { - *x = NodeInfo_BakerConsensusInfo_ActiveBakerCommitteeInfo{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[297] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (x *InvokeInstanceResponse_Failure) Reset() { + *x = InvokeInstanceResponse_Failure{} + mi := &file_v2_concordium_types_proto_msgTypes[308] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } -func (x *NodeInfo_BakerConsensusInfo_ActiveBakerCommitteeInfo) String() string { +func (x *InvokeInstanceResponse_Failure) String() string { return protoimpl.X.MessageStringOf(x) } -func (*NodeInfo_BakerConsensusInfo_ActiveBakerCommitteeInfo) ProtoMessage() {} +func (*InvokeInstanceResponse_Failure) ProtoMessage() {} -func (x *NodeInfo_BakerConsensusInfo_ActiveBakerCommitteeInfo) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[297] - if protoimpl.UnsafeEnabled && x != nil { +func (x *InvokeInstanceResponse_Failure) ProtoReflect() protoreflect.Message { + mi := &file_v2_concordium_types_proto_msgTypes[308] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -23342,78 +23881,62 @@ func (x *NodeInfo_BakerConsensusInfo_ActiveBakerCommitteeInfo) ProtoReflect() pr return mi.MessageOf(x) } -// Deprecated: Use NodeInfo_BakerConsensusInfo_ActiveBakerCommitteeInfo.ProtoReflect.Descriptor instead. -func (*NodeInfo_BakerConsensusInfo_ActiveBakerCommitteeInfo) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{167, 1, 0} +// Deprecated: Use InvokeInstanceResponse_Failure.ProtoReflect.Descriptor instead. +func (*InvokeInstanceResponse_Failure) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{149, 0} } -// Tagging message type for a node that -// is configured with baker keys and active in -// the current finalizer committee (and also baking committee). -type NodeInfo_BakerConsensusInfo_ActiveFinalizerCommitteeInfo struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +func (x *InvokeInstanceResponse_Failure) GetReturnValue() []byte { + if x != nil { + return x.ReturnValue + } + return nil } -func (x *NodeInfo_BakerConsensusInfo_ActiveFinalizerCommitteeInfo) Reset() { - *x = NodeInfo_BakerConsensusInfo_ActiveFinalizerCommitteeInfo{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[298] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *InvokeInstanceResponse_Failure) GetUsedEnergy() *Energy { + if x != nil { + return x.UsedEnergy } + return nil } -func (x *NodeInfo_BakerConsensusInfo_ActiveFinalizerCommitteeInfo) String() string { - return protoimpl.X.MessageStringOf(x) +func (x *InvokeInstanceResponse_Failure) GetReason() *RejectReason { + if x != nil { + return x.Reason + } + return nil } -func (*NodeInfo_BakerConsensusInfo_ActiveFinalizerCommitteeInfo) ProtoMessage() {} - -func (x *NodeInfo_BakerConsensusInfo_ActiveFinalizerCommitteeInfo) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[298] - 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 NodeInfo_BakerConsensusInfo_ActiveFinalizerCommitteeInfo.ProtoReflect.Descriptor instead. -func (*NodeInfo_BakerConsensusInfo_ActiveFinalizerCommitteeInfo) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{167, 1, 1} -} - -// The current block state is undefined. It should be initialized with -// a 'load_block_state' request before any other operations. -type DryRunErrorResponse_NoState struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache +// Contract execution succeeded. +type InvokeInstanceResponse_Success struct { + state protoimpl.MessageState `protogen:"open.v1"` + // If invoking a V0 contract this is absent. Otherwise it is the return + // value produced by the contract. + ReturnValue []byte `protobuf:"bytes,1,opt,name=return_value,json=returnValue,proto3,oneof" json:"return_value,omitempty"` + // Energy used by the execution. + UsedEnergy *Energy `protobuf:"bytes,2,opt,name=used_energy,json=usedEnergy,proto3" json:"used_energy,omitempty"` + // Effects produced by contract execution. + Effects []*ContractTraceElement `protobuf:"bytes,3,rep,name=effects,proto3" json:"effects,omitempty"` unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } -func (x *DryRunErrorResponse_NoState) Reset() { - *x = DryRunErrorResponse_NoState{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[302] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (x *InvokeInstanceResponse_Success) Reset() { + *x = InvokeInstanceResponse_Success{} + mi := &file_v2_concordium_types_proto_msgTypes[309] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } -func (x *DryRunErrorResponse_NoState) String() string { +func (x *InvokeInstanceResponse_Success) String() string { return protoimpl.X.MessageStringOf(x) } -func (*DryRunErrorResponse_NoState) ProtoMessage() {} +func (*InvokeInstanceResponse_Success) ProtoMessage() {} -func (x *DryRunErrorResponse_NoState) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[302] - if protoimpl.UnsafeEnabled && x != nil { +func (x *InvokeInstanceResponse_Success) ProtoReflect() protoreflect.Message { + mi := &file_v2_concordium_types_proto_msgTypes[309] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -23423,75 +23946,60 @@ func (x *DryRunErrorResponse_NoState) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use DryRunErrorResponse_NoState.ProtoReflect.Descriptor instead. -func (*DryRunErrorResponse_NoState) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{214, 0} -} - -// The requested block was not found, so its state could not be loaded. -type DryRunErrorResponse_BlockNotFound struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +// Deprecated: Use InvokeInstanceResponse_Success.ProtoReflect.Descriptor instead. +func (*InvokeInstanceResponse_Success) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{149, 1} } -func (x *DryRunErrorResponse_BlockNotFound) Reset() { - *x = DryRunErrorResponse_BlockNotFound{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[303] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *InvokeInstanceResponse_Success) GetReturnValue() []byte { + if x != nil { + return x.ReturnValue } + return nil } -func (x *DryRunErrorResponse_BlockNotFound) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*DryRunErrorResponse_BlockNotFound) ProtoMessage() {} - -func (x *DryRunErrorResponse_BlockNotFound) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[303] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *InvokeInstanceResponse_Success) GetUsedEnergy() *Energy { + if x != nil { + return x.UsedEnergy } - return mi.MessageOf(x) + return nil } -// Deprecated: Use DryRunErrorResponse_BlockNotFound.ProtoReflect.Descriptor instead. -func (*DryRunErrorResponse_BlockNotFound) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{214, 1} +func (x *InvokeInstanceResponse_Success) GetEffects() []*ContractTraceElement { + if x != nil { + return x.Effects + } + return nil } -// The specified account was not found. -type DryRunErrorResponse_AccountNotFound struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache +type ElectionInfo_Baker struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The ID of the baker. + Baker *BakerId `protobuf:"bytes,1,opt,name=baker,proto3" json:"baker,omitempty"` + // The account address of the baker. + Account *AccountAddress `protobuf:"bytes,2,opt,name=account,proto3" json:"account,omitempty"` + // The lottery power of the baker, rounded to the nearest representable "double". + LotteryPower float64 `protobuf:"fixed64,3,opt,name=lottery_power,json=lotteryPower,proto3" json:"lottery_power,omitempty"` unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } -func (x *DryRunErrorResponse_AccountNotFound) Reset() { - *x = DryRunErrorResponse_AccountNotFound{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[304] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (x *ElectionInfo_Baker) Reset() { + *x = ElectionInfo_Baker{} + mi := &file_v2_concordium_types_proto_msgTypes[310] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } -func (x *DryRunErrorResponse_AccountNotFound) String() string { +func (x *ElectionInfo_Baker) String() string { return protoimpl.X.MessageStringOf(x) } -func (*DryRunErrorResponse_AccountNotFound) ProtoMessage() {} +func (*ElectionInfo_Baker) ProtoMessage() {} -func (x *DryRunErrorResponse_AccountNotFound) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[304] - if protoimpl.UnsafeEnabled && x != nil { +func (x *ElectionInfo_Baker) ProtoReflect() protoreflect.Message { + mi := &file_v2_concordium_types_proto_msgTypes[310] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -23501,36 +24009,56 @@ func (x *DryRunErrorResponse_AccountNotFound) ProtoReflect() protoreflect.Messag return mi.MessageOf(x) } -// Deprecated: Use DryRunErrorResponse_AccountNotFound.ProtoReflect.Descriptor instead. -func (*DryRunErrorResponse_AccountNotFound) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{214, 2} +// Deprecated: Use ElectionInfo_Baker.ProtoReflect.Descriptor instead. +func (*ElectionInfo_Baker) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{155, 0} } -// The specified instance was not found. -type DryRunErrorResponse_InstanceNotFound struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +func (x *ElectionInfo_Baker) GetBaker() *BakerId { + if x != nil { + return x.Baker + } + return nil } -func (x *DryRunErrorResponse_InstanceNotFound) Reset() { - *x = DryRunErrorResponse_InstanceNotFound{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[305] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *ElectionInfo_Baker) GetAccount() *AccountAddress { + if x != nil { + return x.Account } + return nil } -func (x *DryRunErrorResponse_InstanceNotFound) String() string { +func (x *ElectionInfo_Baker) GetLotteryPower() float64 { + if x != nil { + return x.LotteryPower + } + return 0 +} + +// A representation of a mapping from an account address to an amount. +type BlockSpecialEvent_AccountAmounts struct { + state protoimpl.MessageState `protogen:"open.v1"` + Entries []*BlockSpecialEvent_AccountAmounts_Entry `protobuf:"bytes,1,rep,name=entries,proto3" json:"entries,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *BlockSpecialEvent_AccountAmounts) Reset() { + *x = BlockSpecialEvent_AccountAmounts{} + mi := &file_v2_concordium_types_proto_msgTypes[311] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *BlockSpecialEvent_AccountAmounts) String() string { return protoimpl.X.MessageStringOf(x) } -func (*DryRunErrorResponse_InstanceNotFound) ProtoMessage() {} +func (*BlockSpecialEvent_AccountAmounts) ProtoMessage() {} -func (x *DryRunErrorResponse_InstanceNotFound) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[305] - if protoimpl.UnsafeEnabled && x != nil { +func (x *BlockSpecialEvent_AccountAmounts) ProtoReflect() protoreflect.Message { + mi := &file_v2_concordium_types_proto_msgTypes[311] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -23540,39 +24068,46 @@ func (x *DryRunErrorResponse_InstanceNotFound) ProtoReflect() protoreflect.Messa return mi.MessageOf(x) } -// Deprecated: Use DryRunErrorResponse_InstanceNotFound.ProtoReflect.Descriptor instead. -func (*DryRunErrorResponse_InstanceNotFound) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{214, 3} +// Deprecated: Use BlockSpecialEvent_AccountAmounts.ProtoReflect.Descriptor instead. +func (*BlockSpecialEvent_AccountAmounts) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{156, 0} } -// The amount that was requested to be minted would overflow the total supply. -type DryRunErrorResponse_AmountOverLimit struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +func (x *BlockSpecialEvent_AccountAmounts) GetEntries() []*BlockSpecialEvent_AccountAmounts_Entry { + if x != nil { + return x.Entries + } + return nil +} - // The maximum amount that can be minted without overflowing the supply. - AmountLimit *Amount `protobuf:"bytes,1,opt,name=amount_limit,json=amountLimit,proto3" json:"amount_limit,omitempty"` +// Payment to each baker of a previous epoch, in proportion to the number +// of blocks they contributed. +type BlockSpecialEvent_BakingRewards struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The amount awarded to each baker. + BakerRewards *BlockSpecialEvent_AccountAmounts `protobuf:"bytes,1,opt,name=baker_rewards,json=bakerRewards,proto3" json:"baker_rewards,omitempty"` + // The remaining balance of the baker reward account. + Remainder *Amount `protobuf:"bytes,2,opt,name=remainder,proto3" json:"remainder,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } -func (x *DryRunErrorResponse_AmountOverLimit) Reset() { - *x = DryRunErrorResponse_AmountOverLimit{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[306] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (x *BlockSpecialEvent_BakingRewards) Reset() { + *x = BlockSpecialEvent_BakingRewards{} + mi := &file_v2_concordium_types_proto_msgTypes[312] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } -func (x *DryRunErrorResponse_AmountOverLimit) String() string { +func (x *BlockSpecialEvent_BakingRewards) String() string { return protoimpl.X.MessageStringOf(x) } -func (*DryRunErrorResponse_AmountOverLimit) ProtoMessage() {} +func (*BlockSpecialEvent_BakingRewards) ProtoMessage() {} -func (x *DryRunErrorResponse_AmountOverLimit) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[306] - if protoimpl.UnsafeEnabled && x != nil { +func (x *BlockSpecialEvent_BakingRewards) ProtoReflect() protoreflect.Message { + mi := &file_v2_concordium_types_proto_msgTypes[312] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -23582,49 +24117,56 @@ func (x *DryRunErrorResponse_AmountOverLimit) ProtoReflect() protoreflect.Messag return mi.MessageOf(x) } -// Deprecated: Use DryRunErrorResponse_AmountOverLimit.ProtoReflect.Descriptor instead. -func (*DryRunErrorResponse_AmountOverLimit) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{214, 4} +// Deprecated: Use BlockSpecialEvent_BakingRewards.ProtoReflect.Descriptor instead. +func (*BlockSpecialEvent_BakingRewards) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{156, 1} } -func (x *DryRunErrorResponse_AmountOverLimit) GetAmountLimit() *Amount { +func (x *BlockSpecialEvent_BakingRewards) GetBakerRewards() *BlockSpecialEvent_AccountAmounts { if x != nil { - return x.AmountLimit + return x.BakerRewards } return nil } -// The sender account for the transaction has insufficient balance to pay the preliminary fees -// for the transaction to be included in a block. -type DryRunErrorResponse_BalanceInsufficient struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +func (x *BlockSpecialEvent_BakingRewards) GetRemainder() *Amount { + if x != nil { + return x.Remainder + } + return nil +} - // The minimum balance required to perform the operation. - RequiredAmount *Amount `protobuf:"bytes,1,opt,name=required_amount,json=requiredAmount,proto3" json:"required_amount,omitempty"` - // The currently-available balance on the account to pay for the operation. - AvailableAmount *Amount `protobuf:"bytes,2,opt,name=available_amount,json=availableAmount,proto3" json:"available_amount,omitempty"` +// Minting of new CCD. +type BlockSpecialEvent_Mint struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The amount allocated to the banking reward account. + MintBakingReward *Amount `protobuf:"bytes,1,opt,name=mint_baking_reward,json=mintBakingReward,proto3" json:"mint_baking_reward,omitempty"` + // The amount allocated to the finalization reward account. + MintFinalizationReward *Amount `protobuf:"bytes,2,opt,name=mint_finalization_reward,json=mintFinalizationReward,proto3" json:"mint_finalization_reward,omitempty"` + // The amount allocated as the platform development charge. + MintPlatformDevelopmentCharge *Amount `protobuf:"bytes,3,opt,name=mint_platform_development_charge,json=mintPlatformDevelopmentCharge,proto3" json:"mint_platform_development_charge,omitempty"` + // The account to which the platform development charge is paid. + FoundationAccount *AccountAddress `protobuf:"bytes,4,opt,name=foundation_account,json=foundationAccount,proto3" json:"foundation_account,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } -func (x *DryRunErrorResponse_BalanceInsufficient) Reset() { - *x = DryRunErrorResponse_BalanceInsufficient{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[307] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (x *BlockSpecialEvent_Mint) Reset() { + *x = BlockSpecialEvent_Mint{} + mi := &file_v2_concordium_types_proto_msgTypes[313] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } -func (x *DryRunErrorResponse_BalanceInsufficient) String() string { +func (x *BlockSpecialEvent_Mint) String() string { return protoimpl.X.MessageStringOf(x) } -func (*DryRunErrorResponse_BalanceInsufficient) ProtoMessage() {} +func (*BlockSpecialEvent_Mint) ProtoMessage() {} -func (x *DryRunErrorResponse_BalanceInsufficient) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[307] - if protoimpl.UnsafeEnabled && x != nil { +func (x *BlockSpecialEvent_Mint) ProtoReflect() protoreflect.Message { + mi := &file_v2_concordium_types_proto_msgTypes[313] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -23634,58 +24176,66 @@ func (x *DryRunErrorResponse_BalanceInsufficient) ProtoReflect() protoreflect.Me return mi.MessageOf(x) } -// Deprecated: Use DryRunErrorResponse_BalanceInsufficient.ProtoReflect.Descriptor instead. -func (*DryRunErrorResponse_BalanceInsufficient) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{214, 5} +// Deprecated: Use BlockSpecialEvent_Mint.ProtoReflect.Descriptor instead. +func (*BlockSpecialEvent_Mint) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{156, 2} } -func (x *DryRunErrorResponse_BalanceInsufficient) GetRequiredAmount() *Amount { +func (x *BlockSpecialEvent_Mint) GetMintBakingReward() *Amount { if x != nil { - return x.RequiredAmount + return x.MintBakingReward } return nil } -func (x *DryRunErrorResponse_BalanceInsufficient) GetAvailableAmount() *Amount { +func (x *BlockSpecialEvent_Mint) GetMintFinalizationReward() *Amount { if x != nil { - return x.AvailableAmount + return x.MintFinalizationReward } return nil } -// The energy made available for the transaction is insufficient to cover the basic processing -// required to include a transaction in a block. -type DryRunErrorResponse_EnergyInsufficient struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The minimum energy required for the transaction to be included in the chain. - // Note that, even if the energy supplied for the transaction is enough to prevent a - // `EnergyInsufficient`, the transaction can still be rejected for having - // insufficient energy. In that case, a `TransactionExecuted` response will be - // produced, but indicate the transaction was rejected. - EnergyRequired *Energy `protobuf:"bytes,1,opt,name=energy_required,json=energyRequired,proto3" json:"energy_required,omitempty"` +func (x *BlockSpecialEvent_Mint) GetMintPlatformDevelopmentCharge() *Amount { + if x != nil { + return x.MintPlatformDevelopmentCharge + } + return nil } -func (x *DryRunErrorResponse_EnergyInsufficient) Reset() { - *x = DryRunErrorResponse_EnergyInsufficient{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[308] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *BlockSpecialEvent_Mint) GetFoundationAccount() *AccountAddress { + if x != nil { + return x.FoundationAccount } + return nil } -func (x *DryRunErrorResponse_EnergyInsufficient) String() string { +// Payment to each finalizer on inclusion of a finalization record in a block. +type BlockSpecialEvent_FinalizationRewards struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The amount awarded to each finalizer. + FinalizationRewards *BlockSpecialEvent_AccountAmounts `protobuf:"bytes,1,opt,name=finalization_rewards,json=finalizationRewards,proto3" json:"finalization_rewards,omitempty"` + // The remaining balance of the finalization reward account. + Remainder *Amount `protobuf:"bytes,2,opt,name=remainder,proto3" json:"remainder,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *BlockSpecialEvent_FinalizationRewards) Reset() { + *x = BlockSpecialEvent_FinalizationRewards{} + mi := &file_v2_concordium_types_proto_msgTypes[314] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *BlockSpecialEvent_FinalizationRewards) String() string { return protoimpl.X.MessageStringOf(x) } -func (*DryRunErrorResponse_EnergyInsufficient) ProtoMessage() {} +func (*BlockSpecialEvent_FinalizationRewards) ProtoMessage() {} -func (x *DryRunErrorResponse_EnergyInsufficient) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[308] - if protoimpl.UnsafeEnabled && x != nil { +func (x *BlockSpecialEvent_FinalizationRewards) ProtoReflect() protoreflect.Message { + mi := &file_v2_concordium_types_proto_msgTypes[314] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -23695,53 +24245,65 @@ func (x *DryRunErrorResponse_EnergyInsufficient) ProtoReflect() protoreflect.Mes return mi.MessageOf(x) } -// Deprecated: Use DryRunErrorResponse_EnergyInsufficient.ProtoReflect.Descriptor instead. -func (*DryRunErrorResponse_EnergyInsufficient) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{214, 6} +// Deprecated: Use BlockSpecialEvent_FinalizationRewards.ProtoReflect.Descriptor instead. +func (*BlockSpecialEvent_FinalizationRewards) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{156, 3} } -func (x *DryRunErrorResponse_EnergyInsufficient) GetEnergyRequired() *Energy { +func (x *BlockSpecialEvent_FinalizationRewards) GetFinalizationRewards() *BlockSpecialEvent_AccountAmounts { if x != nil { - return x.EnergyRequired + return x.FinalizationRewards } return nil } -// Invoking the smart contract instance failed. -type DryRunErrorResponse_InvokeFailure struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +func (x *BlockSpecialEvent_FinalizationRewards) GetRemainder() *Amount { + if x != nil { + return x.Remainder + } + return nil +} - // If invoking a V0 contract this is not provided, otherwise it is - // potentially return value produced by the call unless the call failed with - // out of energy or runtime error. If the V1 contract terminated with a - // logic error then the return value is present. - ReturnValue []byte `protobuf:"bytes,1,opt,name=return_value,json=returnValue,proto3,oneof" json:"return_value,omitempty"` - // Energy used by the execution. - UsedEnergy *Energy `protobuf:"bytes,2,opt,name=used_energy,json=usedEnergy,proto3" json:"used_energy,omitempty"` - // Contract execution failed for the given reason. - Reason *RejectReason `protobuf:"bytes,3,opt,name=reason,proto3" json:"reason,omitempty"` +// Disbursement of fees from a block between the GAS account, +// the baker, and the foundation. It should always be that: +// +// ```transaction_fees + old_gas_account = new_gas_account + baker_reward + foundation_charge``` +type BlockSpecialEvent_BlockReward struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The total fees paid for transactions in the block. + TransactionFees *Amount `protobuf:"bytes,1,opt,name=transaction_fees,json=transactionFees,proto3" json:"transaction_fees,omitempty"` + // The old balance of the GAS account. + OldGasAccount *Amount `protobuf:"bytes,2,opt,name=old_gas_account,json=oldGasAccount,proto3" json:"old_gas_account,omitempty"` + // The new balance of the GAS account. + NewGasAccount *Amount `protobuf:"bytes,3,opt,name=new_gas_account,json=newGasAccount,proto3" json:"new_gas_account,omitempty"` + // The amount awarded to the baker. + BakerReward *Amount `protobuf:"bytes,4,opt,name=baker_reward,json=bakerReward,proto3" json:"baker_reward,omitempty"` + // The amount awarded to the foundation. + FoundationCharge *Amount `protobuf:"bytes,5,opt,name=foundation_charge,json=foundationCharge,proto3" json:"foundation_charge,omitempty"` + // The baker of the block, who receives the award. + Baker *AccountAddress `protobuf:"bytes,6,opt,name=baker,proto3" json:"baker,omitempty"` + // The foundation account. + FoundationAccount *AccountAddress `protobuf:"bytes,7,opt,name=foundation_account,json=foundationAccount,proto3" json:"foundation_account,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } -func (x *DryRunErrorResponse_InvokeFailure) Reset() { - *x = DryRunErrorResponse_InvokeFailure{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[309] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (x *BlockSpecialEvent_BlockReward) Reset() { + *x = BlockSpecialEvent_BlockReward{} + mi := &file_v2_concordium_types_proto_msgTypes[315] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } -func (x *DryRunErrorResponse_InvokeFailure) String() string { +func (x *BlockSpecialEvent_BlockReward) String() string { return protoimpl.X.MessageStringOf(x) } -func (*DryRunErrorResponse_InvokeFailure) ProtoMessage() {} +func (*BlockSpecialEvent_BlockReward) ProtoMessage() {} -func (x *DryRunErrorResponse_InvokeFailure) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[309] - if protoimpl.UnsafeEnabled && x != nil { +func (x *BlockSpecialEvent_BlockReward) ProtoReflect() protoreflect.Message { + mi := &file_v2_concordium_types_proto_msgTypes[315] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -23751,65 +24313,87 @@ func (x *DryRunErrorResponse_InvokeFailure) ProtoReflect() protoreflect.Message return mi.MessageOf(x) } -// Deprecated: Use DryRunErrorResponse_InvokeFailure.ProtoReflect.Descriptor instead. -func (*DryRunErrorResponse_InvokeFailure) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{214, 7} +// Deprecated: Use BlockSpecialEvent_BlockReward.ProtoReflect.Descriptor instead. +func (*BlockSpecialEvent_BlockReward) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{156, 4} } -func (x *DryRunErrorResponse_InvokeFailure) GetReturnValue() []byte { +func (x *BlockSpecialEvent_BlockReward) GetTransactionFees() *Amount { if x != nil { - return x.ReturnValue + return x.TransactionFees } return nil } -func (x *DryRunErrorResponse_InvokeFailure) GetUsedEnergy() *Energy { +func (x *BlockSpecialEvent_BlockReward) GetOldGasAccount() *Amount { if x != nil { - return x.UsedEnergy + return x.OldGasAccount } return nil } -func (x *DryRunErrorResponse_InvokeFailure) GetReason() *RejectReason { +func (x *BlockSpecialEvent_BlockReward) GetNewGasAccount() *Amount { if x != nil { - return x.Reason + return x.NewGasAccount } return nil } -// The block state at the specified block was successfully loaded. -type DryRunSuccessResponse_BlockStateLoaded struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +func (x *BlockSpecialEvent_BlockReward) GetBakerReward() *Amount { + if x != nil { + return x.BakerReward + } + return nil +} - // The timestamp of the block, taken to be the current timestamp. - CurrentTimestamp *Timestamp `protobuf:"bytes,1,opt,name=current_timestamp,json=currentTimestamp,proto3" json:"current_timestamp,omitempty"` - // The hash of the block that was loaded. - BlockHash *BlockHash `protobuf:"bytes,2,opt,name=block_hash,json=blockHash,proto3" json:"block_hash,omitempty"` - // The protocol version at the specified block. The behavior of operations can vary across - // protocol versions. - ProtocolVersion ProtocolVersion `protobuf:"varint,3,opt,name=protocol_version,json=protocolVersion,proto3,enum=concordium.v2.ProtocolVersion" json:"protocol_version,omitempty"` +func (x *BlockSpecialEvent_BlockReward) GetFoundationCharge() *Amount { + if x != nil { + return x.FoundationCharge + } + return nil } -func (x *DryRunSuccessResponse_BlockStateLoaded) Reset() { - *x = DryRunSuccessResponse_BlockStateLoaded{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[310] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *BlockSpecialEvent_BlockReward) GetBaker() *AccountAddress { + if x != nil { + return x.Baker } + return nil } -func (x *DryRunSuccessResponse_BlockStateLoaded) String() string { +func (x *BlockSpecialEvent_BlockReward) GetFoundationAccount() *AccountAddress { + if x != nil { + return x.FoundationAccount + } + return nil +} + +// Foundation tax. +type BlockSpecialEvent_PaydayFoundationReward struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The account that got rewarded. + FoundationAccount *AccountAddress `protobuf:"bytes,1,opt,name=foundation_account,json=foundationAccount,proto3" json:"foundation_account,omitempty"` + // The transaction fee reward at payday to the account. + DevelopmentCharge *Amount `protobuf:"bytes,2,opt,name=development_charge,json=developmentCharge,proto3" json:"development_charge,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *BlockSpecialEvent_PaydayFoundationReward) Reset() { + *x = BlockSpecialEvent_PaydayFoundationReward{} + mi := &file_v2_concordium_types_proto_msgTypes[316] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *BlockSpecialEvent_PaydayFoundationReward) String() string { return protoimpl.X.MessageStringOf(x) } -func (*DryRunSuccessResponse_BlockStateLoaded) ProtoMessage() {} +func (*BlockSpecialEvent_PaydayFoundationReward) ProtoMessage() {} -func (x *DryRunSuccessResponse_BlockStateLoaded) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[310] - if protoimpl.UnsafeEnabled && x != nil { +func (x *BlockSpecialEvent_PaydayFoundationReward) ProtoReflect() protoreflect.Message { + mi := &file_v2_concordium_types_proto_msgTypes[316] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -23819,57 +24403,56 @@ func (x *DryRunSuccessResponse_BlockStateLoaded) ProtoReflect() protoreflect.Mes return mi.MessageOf(x) } -// Deprecated: Use DryRunSuccessResponse_BlockStateLoaded.ProtoReflect.Descriptor instead. -func (*DryRunSuccessResponse_BlockStateLoaded) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{215, 0} +// Deprecated: Use BlockSpecialEvent_PaydayFoundationReward.ProtoReflect.Descriptor instead. +func (*BlockSpecialEvent_PaydayFoundationReward) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{156, 5} } -func (x *DryRunSuccessResponse_BlockStateLoaded) GetCurrentTimestamp() *Timestamp { +func (x *BlockSpecialEvent_PaydayFoundationReward) GetFoundationAccount() *AccountAddress { if x != nil { - return x.CurrentTimestamp + return x.FoundationAccount } return nil } -func (x *DryRunSuccessResponse_BlockStateLoaded) GetBlockHash() *BlockHash { +func (x *BlockSpecialEvent_PaydayFoundationReward) GetDevelopmentCharge() *Amount { if x != nil { - return x.BlockHash + return x.DevelopmentCharge } return nil } -func (x *DryRunSuccessResponse_BlockStateLoaded) GetProtocolVersion() ProtocolVersion { - if x != nil { - return x.ProtocolVersion - } - return ProtocolVersion_PROTOCOL_VERSION_1 -} - -// The current apparent timestamp was updated to the specified value. -type DryRunSuccessResponse_TimestampSet struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +// Reward payment to the given account. +type BlockSpecialEvent_PaydayAccountReward struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The account that got rewarded. + Account *AccountAddress `protobuf:"bytes,1,opt,name=account,proto3" json:"account,omitempty"` + // The transaction fee reward at payday to the account. + TransactionFees *Amount `protobuf:"bytes,2,opt,name=transaction_fees,json=transactionFees,proto3" json:"transaction_fees,omitempty"` + // The baking reward at payday to the account. + BakerReward *Amount `protobuf:"bytes,3,opt,name=baker_reward,json=bakerReward,proto3" json:"baker_reward,omitempty"` + // The finalization reward at payday to the account. + FinalizationReward *Amount `protobuf:"bytes,4,opt,name=finalization_reward,json=finalizationReward,proto3" json:"finalization_reward,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } -func (x *DryRunSuccessResponse_TimestampSet) Reset() { - *x = DryRunSuccessResponse_TimestampSet{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[311] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (x *BlockSpecialEvent_PaydayAccountReward) Reset() { + *x = BlockSpecialEvent_PaydayAccountReward{} + mi := &file_v2_concordium_types_proto_msgTypes[317] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } -func (x *DryRunSuccessResponse_TimestampSet) String() string { +func (x *BlockSpecialEvent_PaydayAccountReward) String() string { return protoimpl.X.MessageStringOf(x) } -func (*DryRunSuccessResponse_TimestampSet) ProtoMessage() {} +func (*BlockSpecialEvent_PaydayAccountReward) ProtoMessage() {} -func (x *DryRunSuccessResponse_TimestampSet) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[311] - if protoimpl.UnsafeEnabled && x != nil { +func (x *BlockSpecialEvent_PaydayAccountReward) ProtoReflect() protoreflect.Message { + mi := &file_v2_concordium_types_proto_msgTypes[317] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -23879,36 +24462,76 @@ func (x *DryRunSuccessResponse_TimestampSet) ProtoReflect() protoreflect.Message return mi.MessageOf(x) } -// Deprecated: Use DryRunSuccessResponse_TimestampSet.ProtoReflect.Descriptor instead. -func (*DryRunSuccessResponse_TimestampSet) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{215, 1} +// Deprecated: Use BlockSpecialEvent_PaydayAccountReward.ProtoReflect.Descriptor instead. +func (*BlockSpecialEvent_PaydayAccountReward) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{156, 6} } -// The specified amount was minted to the specified account. -type DryRunSuccessResponse_MintedToAccount struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +func (x *BlockSpecialEvent_PaydayAccountReward) GetAccount() *AccountAddress { + if x != nil { + return x.Account + } + return nil } -func (x *DryRunSuccessResponse_MintedToAccount) Reset() { - *x = DryRunSuccessResponse_MintedToAccount{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[312] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *BlockSpecialEvent_PaydayAccountReward) GetTransactionFees() *Amount { + if x != nil { + return x.TransactionFees } + return nil } -func (x *DryRunSuccessResponse_MintedToAccount) String() string { - return protoimpl.X.MessageStringOf(x) +func (x *BlockSpecialEvent_PaydayAccountReward) GetBakerReward() *Amount { + if x != nil { + return x.BakerReward + } + return nil } -func (*DryRunSuccessResponse_MintedToAccount) ProtoMessage() {} - -func (x *DryRunSuccessResponse_MintedToAccount) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[312] - if protoimpl.UnsafeEnabled && x != nil { +func (x *BlockSpecialEvent_PaydayAccountReward) GetFinalizationReward() *Amount { + if x != nil { + return x.FinalizationReward + } + return nil +} + +// Amounts accrued to accounts for each baked block. +type BlockSpecialEvent_BlockAccrueReward struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The total fees paid for transactions in the block. + TransactionFees *Amount `protobuf:"bytes,1,opt,name=transaction_fees,json=transactionFees,proto3" json:"transaction_fees,omitempty"` + // The old balance of the GAS account. + OldGasAccount *Amount `protobuf:"bytes,2,opt,name=old_gas_account,json=oldGasAccount,proto3" json:"old_gas_account,omitempty"` + // The new balance of the GAS account. + NewGasAccount *Amount `protobuf:"bytes,3,opt,name=new_gas_account,json=newGasAccount,proto3" json:"new_gas_account,omitempty"` + // The amount awarded to the baker. + BakerReward *Amount `protobuf:"bytes,4,opt,name=baker_reward,json=bakerReward,proto3" json:"baker_reward,omitempty"` + // The amount awarded to the passive delegators. + PassiveReward *Amount `protobuf:"bytes,5,opt,name=passive_reward,json=passiveReward,proto3" json:"passive_reward,omitempty"` + // The amount awarded to the foundation. + FoundationCharge *Amount `protobuf:"bytes,6,opt,name=foundation_charge,json=foundationCharge,proto3" json:"foundation_charge,omitempty"` + // The baker of the block, who will receive the award. + Baker *BakerId `protobuf:"bytes,7,opt,name=baker,proto3" json:"baker,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *BlockSpecialEvent_BlockAccrueReward) Reset() { + *x = BlockSpecialEvent_BlockAccrueReward{} + mi := &file_v2_concordium_types_proto_msgTypes[318] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *BlockSpecialEvent_BlockAccrueReward) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BlockSpecialEvent_BlockAccrueReward) ProtoMessage() {} + +func (x *BlockSpecialEvent_BlockAccrueReward) ProtoReflect() protoreflect.Message { + mi := &file_v2_concordium_types_proto_msgTypes[318] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -23918,44 +24541,91 @@ func (x *DryRunSuccessResponse_MintedToAccount) ProtoReflect() protoreflect.Mess return mi.MessageOf(x) } -// Deprecated: Use DryRunSuccessResponse_MintedToAccount.ProtoReflect.Descriptor instead. -func (*DryRunSuccessResponse_MintedToAccount) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{215, 2} +// Deprecated: Use BlockSpecialEvent_BlockAccrueReward.ProtoReflect.Descriptor instead. +func (*BlockSpecialEvent_BlockAccrueReward) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{156, 7} } -// The transaction was executed. -type DryRunSuccessResponse_TransactionExecuted struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +func (x *BlockSpecialEvent_BlockAccrueReward) GetTransactionFees() *Amount { + if x != nil { + return x.TransactionFees + } + return nil +} - // The amount of energy actually expended in executing the transaction. - EnergyCost *Energy `protobuf:"bytes,1,opt,name=energy_cost,json=energyCost,proto3" json:"energy_cost,omitempty"` - // The details of the outcome of the transaction. - Details *AccountTransactionDetails `protobuf:"bytes,2,opt,name=details,proto3" json:"details,omitempty"` - // If this is an invocation of a V1 contract that produced a return value, this is that - // value. Otherwise it is absent. - ReturnValue []byte `protobuf:"bytes,3,opt,name=return_value,json=returnValue,proto3,oneof" json:"return_value,omitempty"` +func (x *BlockSpecialEvent_BlockAccrueReward) GetOldGasAccount() *Amount { + if x != nil { + return x.OldGasAccount + } + return nil } -func (x *DryRunSuccessResponse_TransactionExecuted) Reset() { - *x = DryRunSuccessResponse_TransactionExecuted{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[313] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *BlockSpecialEvent_BlockAccrueReward) GetNewGasAccount() *Amount { + if x != nil { + return x.NewGasAccount } + return nil } -func (x *DryRunSuccessResponse_TransactionExecuted) String() string { +func (x *BlockSpecialEvent_BlockAccrueReward) GetBakerReward() *Amount { + if x != nil { + return x.BakerReward + } + return nil +} + +func (x *BlockSpecialEvent_BlockAccrueReward) GetPassiveReward() *Amount { + if x != nil { + return x.PassiveReward + } + return nil +} + +func (x *BlockSpecialEvent_BlockAccrueReward) GetFoundationCharge() *Amount { + if x != nil { + return x.FoundationCharge + } + return nil +} + +func (x *BlockSpecialEvent_BlockAccrueReward) GetBaker() *BakerId { + if x != nil { + return x.Baker + } + return nil +} + +// Payment distributed to a pool or passive delegators. +type BlockSpecialEvent_PaydayPoolReward struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The pool owner (passive delegators when not present). + PoolOwner *BakerId `protobuf:"bytes,1,opt,name=pool_owner,json=poolOwner,proto3,oneof" json:"pool_owner,omitempty"` + // Accrued transaction fees for pool. + TransactionFees *Amount `protobuf:"bytes,2,opt,name=transaction_fees,json=transactionFees,proto3" json:"transaction_fees,omitempty"` + // Accrued baking rewards for pool. + BakerReward *Amount `protobuf:"bytes,3,opt,name=baker_reward,json=bakerReward,proto3" json:"baker_reward,omitempty"` + // Accrued finalization rewards for pool. + FinalizationReward *Amount `protobuf:"bytes,4,opt,name=finalization_reward,json=finalizationReward,proto3" json:"finalization_reward,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *BlockSpecialEvent_PaydayPoolReward) Reset() { + *x = BlockSpecialEvent_PaydayPoolReward{} + mi := &file_v2_concordium_types_proto_msgTypes[319] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *BlockSpecialEvent_PaydayPoolReward) String() string { return protoimpl.X.MessageStringOf(x) } -func (*DryRunSuccessResponse_TransactionExecuted) ProtoMessage() {} +func (*BlockSpecialEvent_PaydayPoolReward) ProtoMessage() {} -func (x *DryRunSuccessResponse_TransactionExecuted) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[313] - if protoimpl.UnsafeEnabled && x != nil { +func (x *BlockSpecialEvent_PaydayPoolReward) ProtoReflect() protoreflect.Message { + mi := &file_v2_concordium_types_proto_msgTypes[319] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -23965,65 +24635,122 @@ func (x *DryRunSuccessResponse_TransactionExecuted) ProtoReflect() protoreflect. return mi.MessageOf(x) } -// Deprecated: Use DryRunSuccessResponse_TransactionExecuted.ProtoReflect.Descriptor instead. -func (*DryRunSuccessResponse_TransactionExecuted) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{215, 3} +// Deprecated: Use BlockSpecialEvent_PaydayPoolReward.ProtoReflect.Descriptor instead. +func (*BlockSpecialEvent_PaydayPoolReward) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{156, 8} } -func (x *DryRunSuccessResponse_TransactionExecuted) GetEnergyCost() *Energy { +func (x *BlockSpecialEvent_PaydayPoolReward) GetPoolOwner() *BakerId { if x != nil { - return x.EnergyCost + return x.PoolOwner } return nil } -func (x *DryRunSuccessResponse_TransactionExecuted) GetDetails() *AccountTransactionDetails { +func (x *BlockSpecialEvent_PaydayPoolReward) GetTransactionFees() *Amount { if x != nil { - return x.Details + return x.TransactionFees } return nil } -func (x *DryRunSuccessResponse_TransactionExecuted) GetReturnValue() []byte { +func (x *BlockSpecialEvent_PaydayPoolReward) GetBakerReward() *Amount { if x != nil { - return x.ReturnValue + return x.BakerReward } return nil } -// The smart contract instance was invoked successfully. -type DryRunSuccessResponse_InvokeSuccess struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache +func (x *BlockSpecialEvent_PaydayPoolReward) GetFinalizationReward() *Amount { + if x != nil { + return x.FinalizationReward + } + return nil +} + +// The id of a validator that got suspended due to too many missed rounds. +type BlockSpecialEvent_ValidatorSuspended struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The id of the suspended validator. + BakerId *BakerId `protobuf:"bytes,1,opt,name=bakerId,proto3" json:"bakerId,omitempty"` + // The account of the suspended validator. + Account *AccountAddress `protobuf:"bytes,2,opt,name=account,proto3" json:"account,omitempty"` unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} - // If invoking a V0 contract this is absent. Otherwise it is the return - // value produced by the contract. - ReturnValue []byte `protobuf:"bytes,1,opt,name=return_value,json=returnValue,proto3,oneof" json:"return_value,omitempty"` - // Energy used by the execution. - UsedEnergy *Energy `protobuf:"bytes,2,opt,name=used_energy,json=usedEnergy,proto3" json:"used_energy,omitempty"` - // Effects produced by contract execution. - Effects []*ContractTraceElement `protobuf:"bytes,3,rep,name=effects,proto3" json:"effects,omitempty"` +func (x *BlockSpecialEvent_ValidatorSuspended) Reset() { + *x = BlockSpecialEvent_ValidatorSuspended{} + mi := &file_v2_concordium_types_proto_msgTypes[320] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } -func (x *DryRunSuccessResponse_InvokeSuccess) Reset() { - *x = DryRunSuccessResponse_InvokeSuccess{} - if protoimpl.UnsafeEnabled { - mi := &file_v2_concordium_types_proto_msgTypes[314] +func (x *BlockSpecialEvent_ValidatorSuspended) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BlockSpecialEvent_ValidatorSuspended) ProtoMessage() {} + +func (x *BlockSpecialEvent_ValidatorSuspended) ProtoReflect() protoreflect.Message { + mi := &file_v2_concordium_types_proto_msgTypes[320] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } + return mi.MessageOf(x) } -func (x *DryRunSuccessResponse_InvokeSuccess) String() string { +// Deprecated: Use BlockSpecialEvent_ValidatorSuspended.ProtoReflect.Descriptor instead. +func (*BlockSpecialEvent_ValidatorSuspended) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{156, 9} +} + +func (x *BlockSpecialEvent_ValidatorSuspended) GetBakerId() *BakerId { + if x != nil { + return x.BakerId + } + return nil +} + +func (x *BlockSpecialEvent_ValidatorSuspended) GetAccount() *AccountAddress { + if x != nil { + return x.Account + } + return nil +} + +// The id of a validator that is primed for suspension at the next snapshot +// epoch due to too many missed rounds. +type BlockSpecialEvent_ValidatorPrimedForSuspension struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The id of the primed validator. + BakerId *BakerId `protobuf:"bytes,1,opt,name=bakerId,proto3" json:"bakerId,omitempty"` + // The account of the primed validator. + Account *AccountAddress `protobuf:"bytes,2,opt,name=account,proto3" json:"account,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *BlockSpecialEvent_ValidatorPrimedForSuspension) Reset() { + *x = BlockSpecialEvent_ValidatorPrimedForSuspension{} + mi := &file_v2_concordium_types_proto_msgTypes[321] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *BlockSpecialEvent_ValidatorPrimedForSuspension) String() string { return protoimpl.X.MessageStringOf(x) } -func (*DryRunSuccessResponse_InvokeSuccess) ProtoMessage() {} +func (*BlockSpecialEvent_ValidatorPrimedForSuspension) ProtoMessage() {} -func (x *DryRunSuccessResponse_InvokeSuccess) ProtoReflect() protoreflect.Message { - mi := &file_v2_concordium_types_proto_msgTypes[314] - if protoimpl.UnsafeEnabled && x != nil { +func (x *BlockSpecialEvent_ValidatorPrimedForSuspension) ProtoReflect() protoreflect.Message { + mi := &file_v2_concordium_types_proto_msgTypes[321] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -24033,45 +24760,1301 @@ func (x *DryRunSuccessResponse_InvokeSuccess) ProtoReflect() protoreflect.Messag return mi.MessageOf(x) } -// Deprecated: Use DryRunSuccessResponse_InvokeSuccess.ProtoReflect.Descriptor instead. -func (*DryRunSuccessResponse_InvokeSuccess) Descriptor() ([]byte, []int) { - return file_v2_concordium_types_proto_rawDescGZIP(), []int{215, 4} +// Deprecated: Use BlockSpecialEvent_ValidatorPrimedForSuspension.ProtoReflect.Descriptor instead. +func (*BlockSpecialEvent_ValidatorPrimedForSuspension) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{156, 10} } -func (x *DryRunSuccessResponse_InvokeSuccess) GetReturnValue() []byte { +func (x *BlockSpecialEvent_ValidatorPrimedForSuspension) GetBakerId() *BakerId { if x != nil { - return x.ReturnValue + return x.BakerId } return nil } -func (x *DryRunSuccessResponse_InvokeSuccess) GetUsedEnergy() *Energy { +func (x *BlockSpecialEvent_ValidatorPrimedForSuspension) GetAccount() *AccountAddress { if x != nil { - return x.UsedEnergy + return x.Account } return nil } -func (x *DryRunSuccessResponse_InvokeSuccess) GetEffects() []*ContractTraceElement { +// The entry for the map. +type BlockSpecialEvent_AccountAmounts_Entry struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The key type + Account *AccountAddress `protobuf:"bytes,1,opt,name=account,proto3" json:"account,omitempty"` + // The value type + Amount *Amount `protobuf:"bytes,2,opt,name=amount,proto3" json:"amount,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *BlockSpecialEvent_AccountAmounts_Entry) Reset() { + *x = BlockSpecialEvent_AccountAmounts_Entry{} + mi := &file_v2_concordium_types_proto_msgTypes[322] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *BlockSpecialEvent_AccountAmounts_Entry) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BlockSpecialEvent_AccountAmounts_Entry) ProtoMessage() {} + +func (x *BlockSpecialEvent_AccountAmounts_Entry) ProtoReflect() protoreflect.Message { + mi := &file_v2_concordium_types_proto_msgTypes[322] if x != nil { - return x.Effects + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BlockSpecialEvent_AccountAmounts_Entry.ProtoReflect.Descriptor instead. +func (*BlockSpecialEvent_AccountAmounts_Entry) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{156, 0, 0} +} + +func (x *BlockSpecialEvent_AccountAmounts_Entry) GetAccount() *AccountAddress { + if x != nil { + return x.Account } return nil } -var File_v2_concordium_types_proto protoreflect.FileDescriptor +func (x *BlockSpecialEvent_AccountAmounts_Entry) GetAmount() *Amount { + if x != nil { + return x.Amount + } + return nil +} -var file_v2_concordium_types_proto_rawDesc = []byte{ - 0x0a, 0x19, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2f, - 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0d, 0x63, 0x6f, 0x6e, - 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x22, 0x07, 0x0a, 0x05, 0x45, 0x6d, - 0x70, 0x74, 0x79, 0x22, 0x21, 0x0a, 0x09, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, - 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x22, 0x0a, 0x0a, 0x53, 0x68, 0x61, 0x32, 0x35, 0x36, - 0x48, 0x61, 0x73, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x27, 0x0a, 0x0f, 0x54, 0x72, - 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x61, 0x73, 0x68, 0x12, 0x14, 0x0a, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, +// A peer that the node is connected to. +type PeersInfo_Peer struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The identifier of the peer that it + // wishes to be identified by. + PeerId *PeerId `protobuf:"bytes,1,opt,name=peer_id,json=peerId,proto3" json:"peer_id,omitempty"` + // The port of the peer. + SocketAddress *IpSocketAddress `protobuf:"bytes,2,opt,name=socket_address,json=socketAddress,proto3" json:"socket_address,omitempty"` + // Network related statistics for the peer. + NetworkStats *PeersInfo_Peer_NetworkStats `protobuf:"bytes,3,opt,name=network_stats,json=networkStats,proto3" json:"network_stats,omitempty"` + // consensus related information of the peer. + // + // Types that are valid to be assigned to ConsensusInfo: + // + // *PeersInfo_Peer_Bootstrapper + // *PeersInfo_Peer_NodeCatchupStatus + ConsensusInfo isPeersInfo_Peer_ConsensusInfo `protobuf_oneof:"consensus_info"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PeersInfo_Peer) Reset() { + *x = PeersInfo_Peer{} + mi := &file_v2_concordium_types_proto_msgTypes[323] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PeersInfo_Peer) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PeersInfo_Peer) ProtoMessage() {} + +func (x *PeersInfo_Peer) ProtoReflect() protoreflect.Message { + mi := &file_v2_concordium_types_proto_msgTypes[323] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PeersInfo_Peer.ProtoReflect.Descriptor instead. +func (*PeersInfo_Peer) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{167, 0} +} + +func (x *PeersInfo_Peer) GetPeerId() *PeerId { + if x != nil { + return x.PeerId + } + return nil +} + +func (x *PeersInfo_Peer) GetSocketAddress() *IpSocketAddress { + if x != nil { + return x.SocketAddress + } + return nil +} + +func (x *PeersInfo_Peer) GetNetworkStats() *PeersInfo_Peer_NetworkStats { + if x != nil { + return x.NetworkStats + } + return nil +} + +func (x *PeersInfo_Peer) GetConsensusInfo() isPeersInfo_Peer_ConsensusInfo { + if x != nil { + return x.ConsensusInfo + } + return nil +} + +func (x *PeersInfo_Peer) GetBootstrapper() *Empty { + if x != nil { + if x, ok := x.ConsensusInfo.(*PeersInfo_Peer_Bootstrapper); ok { + return x.Bootstrapper + } + } + return nil +} + +func (x *PeersInfo_Peer) GetNodeCatchupStatus() PeersInfo_Peer_CatchupStatus { + if x != nil { + if x, ok := x.ConsensusInfo.(*PeersInfo_Peer_NodeCatchupStatus); ok { + return x.NodeCatchupStatus + } + } + return PeersInfo_Peer_UPTODATE +} + +type isPeersInfo_Peer_ConsensusInfo interface { + isPeersInfo_Peer_ConsensusInfo() +} + +type PeersInfo_Peer_Bootstrapper struct { + // The peer is of type `Bootstrapper` is not participating in consensus + // and thus has no catchup status. + Bootstrapper *Empty `protobuf:"bytes,4,opt,name=bootstrapper,proto3,oneof"` +} + +type PeersInfo_Peer_NodeCatchupStatus struct { + // The peer is a regular node and have + // an associated catchup status. + NodeCatchupStatus PeersInfo_Peer_CatchupStatus `protobuf:"varint,5,opt,name=node_catchup_status,json=nodeCatchupStatus,proto3,enum=concordium.v2.PeersInfo_Peer_CatchupStatus,oneof"` +} + +func (*PeersInfo_Peer_Bootstrapper) isPeersInfo_Peer_ConsensusInfo() {} + +func (*PeersInfo_Peer_NodeCatchupStatus) isPeersInfo_Peer_ConsensusInfo() {} + +// Network statistics for the peer +type PeersInfo_Peer_NetworkStats struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The number of messages sent to the peer. + // Packets are blocks, transactions, catchup messages, finalization records + // and network messages such as pings and peer requests. + PacketsSent uint64 `protobuf:"varint,2,opt,name=packets_sent,json=packetsSent,proto3" json:"packets_sent,omitempty"` + // The number of messages received from the peer. + // Packets are blocks, transactions, catchup messages, finalization records + // and network messages such as pings and peer requests. + PacketsReceived uint64 `protobuf:"varint,3,opt,name=packets_received,json=packetsReceived,proto3" json:"packets_received,omitempty"` + // The connection latency (i.e., ping time) in milliseconds. + Latency uint64 `protobuf:"varint,4,opt,name=latency,proto3" json:"latency,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PeersInfo_Peer_NetworkStats) Reset() { + *x = PeersInfo_Peer_NetworkStats{} + mi := &file_v2_concordium_types_proto_msgTypes[324] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PeersInfo_Peer_NetworkStats) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PeersInfo_Peer_NetworkStats) ProtoMessage() {} + +func (x *PeersInfo_Peer_NetworkStats) ProtoReflect() protoreflect.Message { + mi := &file_v2_concordium_types_proto_msgTypes[324] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PeersInfo_Peer_NetworkStats.ProtoReflect.Descriptor instead. +func (*PeersInfo_Peer_NetworkStats) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{167, 0, 0} +} + +func (x *PeersInfo_Peer_NetworkStats) GetPacketsSent() uint64 { + if x != nil { + return x.PacketsSent + } + return 0 +} + +func (x *PeersInfo_Peer_NetworkStats) GetPacketsReceived() uint64 { + if x != nil { + return x.PacketsReceived + } + return 0 +} + +func (x *PeersInfo_Peer_NetworkStats) GetLatency() uint64 { + if x != nil { + return x.Latency + } + return 0 +} + +// Network related information of the node. +type NodeInfo_NetworkInfo struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The node id. + NodeId *PeerId `protobuf:"bytes,1,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"` + // Total number of packets sent by the node. + PeerTotalSent uint64 `protobuf:"varint,2,opt,name=peer_total_sent,json=peerTotalSent,proto3" json:"peer_total_sent,omitempty"` + // Total number of packets received by the node. + PeerTotalReceived uint64 `protobuf:"varint,3,opt,name=peer_total_received,json=peerTotalReceived,proto3" json:"peer_total_received,omitempty"` + // Average outbound throughput in bytes per second. + AvgBpsIn uint64 `protobuf:"varint,4,opt,name=avg_bps_in,json=avgBpsIn,proto3" json:"avg_bps_in,omitempty"` + // Average inbound throughput in bytes per second. + AvgBpsOut uint64 `protobuf:"varint,5,opt,name=avg_bps_out,json=avgBpsOut,proto3" json:"avg_bps_out,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *NodeInfo_NetworkInfo) Reset() { + *x = NodeInfo_NetworkInfo{} + mi := &file_v2_concordium_types_proto_msgTypes[325] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *NodeInfo_NetworkInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NodeInfo_NetworkInfo) ProtoMessage() {} + +func (x *NodeInfo_NetworkInfo) ProtoReflect() protoreflect.Message { + mi := &file_v2_concordium_types_proto_msgTypes[325] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use NodeInfo_NetworkInfo.ProtoReflect.Descriptor instead. +func (*NodeInfo_NetworkInfo) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{168, 0} +} + +func (x *NodeInfo_NetworkInfo) GetNodeId() *PeerId { + if x != nil { + return x.NodeId + } + return nil +} + +func (x *NodeInfo_NetworkInfo) GetPeerTotalSent() uint64 { + if x != nil { + return x.PeerTotalSent + } + return 0 +} + +func (x *NodeInfo_NetworkInfo) GetPeerTotalReceived() uint64 { + if x != nil { + return x.PeerTotalReceived + } + return 0 +} + +func (x *NodeInfo_NetworkInfo) GetAvgBpsIn() uint64 { + if x != nil { + return x.AvgBpsIn + } + return 0 +} + +func (x *NodeInfo_NetworkInfo) GetAvgBpsOut() uint64 { + if x != nil { + return x.AvgBpsOut + } + return 0 +} + +// Consensus info for a node configured with baker keys. +type NodeInfo_BakerConsensusInfo struct { + state protoimpl.MessageState `protogen:"open.v1"` + BakerId *BakerId `protobuf:"bytes,1,opt,name=baker_id,json=bakerId,proto3" json:"baker_id,omitempty"` + // Status of the baker configured node. + // + // Types that are valid to be assigned to Status: + // + // *NodeInfo_BakerConsensusInfo_PassiveCommitteeInfo_ + // *NodeInfo_BakerConsensusInfo_ActiveBakerCommitteeInfo_ + // *NodeInfo_BakerConsensusInfo_ActiveFinalizerCommitteeInfo_ + Status isNodeInfo_BakerConsensusInfo_Status `protobuf_oneof:"status"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *NodeInfo_BakerConsensusInfo) Reset() { + *x = NodeInfo_BakerConsensusInfo{} + mi := &file_v2_concordium_types_proto_msgTypes[326] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *NodeInfo_BakerConsensusInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NodeInfo_BakerConsensusInfo) ProtoMessage() {} + +func (x *NodeInfo_BakerConsensusInfo) ProtoReflect() protoreflect.Message { + mi := &file_v2_concordium_types_proto_msgTypes[326] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use NodeInfo_BakerConsensusInfo.ProtoReflect.Descriptor instead. +func (*NodeInfo_BakerConsensusInfo) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{168, 1} +} + +func (x *NodeInfo_BakerConsensusInfo) GetBakerId() *BakerId { + if x != nil { + return x.BakerId + } + return nil +} + +func (x *NodeInfo_BakerConsensusInfo) GetStatus() isNodeInfo_BakerConsensusInfo_Status { + if x != nil { + return x.Status + } + return nil +} + +func (x *NodeInfo_BakerConsensusInfo) GetPassiveCommitteeInfo() NodeInfo_BakerConsensusInfo_PassiveCommitteeInfo { + if x != nil { + if x, ok := x.Status.(*NodeInfo_BakerConsensusInfo_PassiveCommitteeInfo_); ok { + return x.PassiveCommitteeInfo + } + } + return NodeInfo_BakerConsensusInfo_NOT_IN_COMMITTEE +} + +func (x *NodeInfo_BakerConsensusInfo) GetActiveBakerCommitteeInfo() *NodeInfo_BakerConsensusInfo_ActiveBakerCommitteeInfo { + if x != nil { + if x, ok := x.Status.(*NodeInfo_BakerConsensusInfo_ActiveBakerCommitteeInfo_); ok { + return x.ActiveBakerCommitteeInfo + } + } + return nil +} + +func (x *NodeInfo_BakerConsensusInfo) GetActiveFinalizerCommitteeInfo() *NodeInfo_BakerConsensusInfo_ActiveFinalizerCommitteeInfo { + if x != nil { + if x, ok := x.Status.(*NodeInfo_BakerConsensusInfo_ActiveFinalizerCommitteeInfo_); ok { + return x.ActiveFinalizerCommitteeInfo + } + } + return nil +} + +type isNodeInfo_BakerConsensusInfo_Status interface { + isNodeInfo_BakerConsensusInfo_Status() +} + +type NodeInfo_BakerConsensusInfo_PassiveCommitteeInfo_ struct { + // The node is currently not baking. + PassiveCommitteeInfo NodeInfo_BakerConsensusInfo_PassiveCommitteeInfo `protobuf:"varint,2,opt,name=passive_committee_info,json=passiveCommitteeInfo,proto3,enum=concordium.v2.NodeInfo_BakerConsensusInfo_PassiveCommitteeInfo,oneof"` +} + +type NodeInfo_BakerConsensusInfo_ActiveBakerCommitteeInfo_ struct { + // The node is configured with baker keys and + // is member of the baking committee. + ActiveBakerCommitteeInfo *NodeInfo_BakerConsensusInfo_ActiveBakerCommitteeInfo `protobuf:"bytes,3,opt,name=active_baker_committee_info,json=activeBakerCommitteeInfo,proto3,oneof"` +} + +type NodeInfo_BakerConsensusInfo_ActiveFinalizerCommitteeInfo_ struct { + // The node is configured with baker keys and + // is member of the baking and finalization committees. + ActiveFinalizerCommitteeInfo *NodeInfo_BakerConsensusInfo_ActiveFinalizerCommitteeInfo `protobuf:"bytes,4,opt,name=active_finalizer_committee_info,json=activeFinalizerCommitteeInfo,proto3,oneof"` +} + +func (*NodeInfo_BakerConsensusInfo_PassiveCommitteeInfo_) isNodeInfo_BakerConsensusInfo_Status() {} + +func (*NodeInfo_BakerConsensusInfo_ActiveBakerCommitteeInfo_) isNodeInfo_BakerConsensusInfo_Status() { +} + +func (*NodeInfo_BakerConsensusInfo_ActiveFinalizerCommitteeInfo_) isNodeInfo_BakerConsensusInfo_Status() { +} + +// The node is a regular node. +type NodeInfo_Node struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to ConsensusStatus: + // + // *NodeInfo_Node_NotRunning + // *NodeInfo_Node_Passive + // *NodeInfo_Node_Active + ConsensusStatus isNodeInfo_Node_ConsensusStatus `protobuf_oneof:"consensus_status"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *NodeInfo_Node) Reset() { + *x = NodeInfo_Node{} + mi := &file_v2_concordium_types_proto_msgTypes[327] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *NodeInfo_Node) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NodeInfo_Node) ProtoMessage() {} + +func (x *NodeInfo_Node) ProtoReflect() protoreflect.Message { + mi := &file_v2_concordium_types_proto_msgTypes[327] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use NodeInfo_Node.ProtoReflect.Descriptor instead. +func (*NodeInfo_Node) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{168, 2} +} + +func (x *NodeInfo_Node) GetConsensusStatus() isNodeInfo_Node_ConsensusStatus { + if x != nil { + return x.ConsensusStatus + } + return nil +} + +func (x *NodeInfo_Node) GetNotRunning() *Empty { + if x != nil { + if x, ok := x.ConsensusStatus.(*NodeInfo_Node_NotRunning); ok { + return x.NotRunning + } + } + return nil +} + +func (x *NodeInfo_Node) GetPassive() *Empty { + if x != nil { + if x, ok := x.ConsensusStatus.(*NodeInfo_Node_Passive); ok { + return x.Passive + } + } + return nil +} + +func (x *NodeInfo_Node) GetActive() *NodeInfo_BakerConsensusInfo { + if x != nil { + if x, ok := x.ConsensusStatus.(*NodeInfo_Node_Active); ok { + return x.Active + } + } + return nil +} + +type isNodeInfo_Node_ConsensusStatus interface { + isNodeInfo_Node_ConsensusStatus() +} + +type NodeInfo_Node_NotRunning struct { + // The node is not running consensus. + // This is the case only when the node is + // not supporting the protocol on the chain. + // The node does not process blocks. + NotRunning *Empty `protobuf:"bytes,1,opt,name=not_running,json=notRunning,proto3,oneof"` +} + +type NodeInfo_Node_Passive struct { + // Consensus info for a node that is + // not configured with baker keys. + // The node is only processing blocks and + // relaying blocks and transactions and responding to + // catchup messages. + Passive *Empty `protobuf:"bytes,2,opt,name=passive,proto3,oneof"` +} + +type NodeInfo_Node_Active struct { + // The node is configured with baker credentials and consensus is running. + Active *NodeInfo_BakerConsensusInfo `protobuf:"bytes,3,opt,name=active,proto3,oneof"` +} + +func (*NodeInfo_Node_NotRunning) isNodeInfo_Node_ConsensusStatus() {} + +func (*NodeInfo_Node_Passive) isNodeInfo_Node_ConsensusStatus() {} + +func (*NodeInfo_Node_Active) isNodeInfo_Node_ConsensusStatus() {} + +// Tagging message type for a node that +// is configured with baker keys and active in +// the current baking committee +type NodeInfo_BakerConsensusInfo_ActiveBakerCommitteeInfo struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *NodeInfo_BakerConsensusInfo_ActiveBakerCommitteeInfo) Reset() { + *x = NodeInfo_BakerConsensusInfo_ActiveBakerCommitteeInfo{} + mi := &file_v2_concordium_types_proto_msgTypes[328] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *NodeInfo_BakerConsensusInfo_ActiveBakerCommitteeInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NodeInfo_BakerConsensusInfo_ActiveBakerCommitteeInfo) ProtoMessage() {} + +func (x *NodeInfo_BakerConsensusInfo_ActiveBakerCommitteeInfo) ProtoReflect() protoreflect.Message { + mi := &file_v2_concordium_types_proto_msgTypes[328] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use NodeInfo_BakerConsensusInfo_ActiveBakerCommitteeInfo.ProtoReflect.Descriptor instead. +func (*NodeInfo_BakerConsensusInfo_ActiveBakerCommitteeInfo) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{168, 1, 0} +} + +// Tagging message type for a node that +// is configured with baker keys and active in +// the current finalizer committee (and also baking committee). +type NodeInfo_BakerConsensusInfo_ActiveFinalizerCommitteeInfo struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *NodeInfo_BakerConsensusInfo_ActiveFinalizerCommitteeInfo) Reset() { + *x = NodeInfo_BakerConsensusInfo_ActiveFinalizerCommitteeInfo{} + mi := &file_v2_concordium_types_proto_msgTypes[329] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *NodeInfo_BakerConsensusInfo_ActiveFinalizerCommitteeInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NodeInfo_BakerConsensusInfo_ActiveFinalizerCommitteeInfo) ProtoMessage() {} + +func (x *NodeInfo_BakerConsensusInfo_ActiveFinalizerCommitteeInfo) ProtoReflect() protoreflect.Message { + mi := &file_v2_concordium_types_proto_msgTypes[329] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use NodeInfo_BakerConsensusInfo_ActiveFinalizerCommitteeInfo.ProtoReflect.Descriptor instead. +func (*NodeInfo_BakerConsensusInfo_ActiveFinalizerCommitteeInfo) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{168, 1, 1} +} + +// The current block state is undefined. It should be initialized with +// a 'load_block_state' request before any other operations. +type DryRunErrorResponse_NoState struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DryRunErrorResponse_NoState) Reset() { + *x = DryRunErrorResponse_NoState{} + mi := &file_v2_concordium_types_proto_msgTypes[333] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DryRunErrorResponse_NoState) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DryRunErrorResponse_NoState) ProtoMessage() {} + +func (x *DryRunErrorResponse_NoState) ProtoReflect() protoreflect.Message { + mi := &file_v2_concordium_types_proto_msgTypes[333] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DryRunErrorResponse_NoState.ProtoReflect.Descriptor instead. +func (*DryRunErrorResponse_NoState) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{216, 0} +} + +// The requested block was not found, so its state could not be loaded. +type DryRunErrorResponse_BlockNotFound struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DryRunErrorResponse_BlockNotFound) Reset() { + *x = DryRunErrorResponse_BlockNotFound{} + mi := &file_v2_concordium_types_proto_msgTypes[334] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DryRunErrorResponse_BlockNotFound) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DryRunErrorResponse_BlockNotFound) ProtoMessage() {} + +func (x *DryRunErrorResponse_BlockNotFound) ProtoReflect() protoreflect.Message { + mi := &file_v2_concordium_types_proto_msgTypes[334] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DryRunErrorResponse_BlockNotFound.ProtoReflect.Descriptor instead. +func (*DryRunErrorResponse_BlockNotFound) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{216, 1} +} + +// The specified account was not found. +type DryRunErrorResponse_AccountNotFound struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DryRunErrorResponse_AccountNotFound) Reset() { + *x = DryRunErrorResponse_AccountNotFound{} + mi := &file_v2_concordium_types_proto_msgTypes[335] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DryRunErrorResponse_AccountNotFound) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DryRunErrorResponse_AccountNotFound) ProtoMessage() {} + +func (x *DryRunErrorResponse_AccountNotFound) ProtoReflect() protoreflect.Message { + mi := &file_v2_concordium_types_proto_msgTypes[335] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DryRunErrorResponse_AccountNotFound.ProtoReflect.Descriptor instead. +func (*DryRunErrorResponse_AccountNotFound) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{216, 2} +} + +// The specified instance was not found. +type DryRunErrorResponse_InstanceNotFound struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DryRunErrorResponse_InstanceNotFound) Reset() { + *x = DryRunErrorResponse_InstanceNotFound{} + mi := &file_v2_concordium_types_proto_msgTypes[336] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DryRunErrorResponse_InstanceNotFound) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DryRunErrorResponse_InstanceNotFound) ProtoMessage() {} + +func (x *DryRunErrorResponse_InstanceNotFound) ProtoReflect() protoreflect.Message { + mi := &file_v2_concordium_types_proto_msgTypes[336] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DryRunErrorResponse_InstanceNotFound.ProtoReflect.Descriptor instead. +func (*DryRunErrorResponse_InstanceNotFound) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{216, 3} +} + +// The amount that was requested to be minted would overflow the total supply. +type DryRunErrorResponse_AmountOverLimit struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The maximum amount that can be minted without overflowing the supply. + AmountLimit *Amount `protobuf:"bytes,1,opt,name=amount_limit,json=amountLimit,proto3" json:"amount_limit,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DryRunErrorResponse_AmountOverLimit) Reset() { + *x = DryRunErrorResponse_AmountOverLimit{} + mi := &file_v2_concordium_types_proto_msgTypes[337] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DryRunErrorResponse_AmountOverLimit) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DryRunErrorResponse_AmountOverLimit) ProtoMessage() {} + +func (x *DryRunErrorResponse_AmountOverLimit) ProtoReflect() protoreflect.Message { + mi := &file_v2_concordium_types_proto_msgTypes[337] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DryRunErrorResponse_AmountOverLimit.ProtoReflect.Descriptor instead. +func (*DryRunErrorResponse_AmountOverLimit) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{216, 4} +} + +func (x *DryRunErrorResponse_AmountOverLimit) GetAmountLimit() *Amount { + if x != nil { + return x.AmountLimit + } + return nil +} + +// The sender account for the transaction has insufficient balance to pay the preliminary fees +// for the transaction to be included in a block. +type DryRunErrorResponse_BalanceInsufficient struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The minimum balance required to perform the operation. + RequiredAmount *Amount `protobuf:"bytes,1,opt,name=required_amount,json=requiredAmount,proto3" json:"required_amount,omitempty"` + // The currently-available balance on the account to pay for the operation. + AvailableAmount *Amount `protobuf:"bytes,2,opt,name=available_amount,json=availableAmount,proto3" json:"available_amount,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DryRunErrorResponse_BalanceInsufficient) Reset() { + *x = DryRunErrorResponse_BalanceInsufficient{} + mi := &file_v2_concordium_types_proto_msgTypes[338] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DryRunErrorResponse_BalanceInsufficient) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DryRunErrorResponse_BalanceInsufficient) ProtoMessage() {} + +func (x *DryRunErrorResponse_BalanceInsufficient) ProtoReflect() protoreflect.Message { + mi := &file_v2_concordium_types_proto_msgTypes[338] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DryRunErrorResponse_BalanceInsufficient.ProtoReflect.Descriptor instead. +func (*DryRunErrorResponse_BalanceInsufficient) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{216, 5} +} + +func (x *DryRunErrorResponse_BalanceInsufficient) GetRequiredAmount() *Amount { + if x != nil { + return x.RequiredAmount + } + return nil +} + +func (x *DryRunErrorResponse_BalanceInsufficient) GetAvailableAmount() *Amount { + if x != nil { + return x.AvailableAmount + } + return nil +} + +// The energy made available for the transaction is insufficient to cover the basic processing +// required to include a transaction in a block. +type DryRunErrorResponse_EnergyInsufficient struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The minimum energy required for the transaction to be included in the chain. + // Note that, even if the energy supplied for the transaction is enough to prevent a + // `EnergyInsufficient`, the transaction can still be rejected for having + // insufficient energy. In that case, a `TransactionExecuted` response will be + // produced, but indicate the transaction was rejected. + EnergyRequired *Energy `protobuf:"bytes,1,opt,name=energy_required,json=energyRequired,proto3" json:"energy_required,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DryRunErrorResponse_EnergyInsufficient) Reset() { + *x = DryRunErrorResponse_EnergyInsufficient{} + mi := &file_v2_concordium_types_proto_msgTypes[339] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DryRunErrorResponse_EnergyInsufficient) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DryRunErrorResponse_EnergyInsufficient) ProtoMessage() {} + +func (x *DryRunErrorResponse_EnergyInsufficient) ProtoReflect() protoreflect.Message { + mi := &file_v2_concordium_types_proto_msgTypes[339] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DryRunErrorResponse_EnergyInsufficient.ProtoReflect.Descriptor instead. +func (*DryRunErrorResponse_EnergyInsufficient) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{216, 6} +} + +func (x *DryRunErrorResponse_EnergyInsufficient) GetEnergyRequired() *Energy { + if x != nil { + return x.EnergyRequired + } + return nil +} + +// Invoking the smart contract instance failed. +type DryRunErrorResponse_InvokeFailure struct { + state protoimpl.MessageState `protogen:"open.v1"` + // If invoking a V0 contract this is not provided, otherwise it is + // potentially return value produced by the call unless the call failed with + // out of energy or runtime error. If the V1 contract terminated with a + // logic error then the return value is present. + ReturnValue []byte `protobuf:"bytes,1,opt,name=return_value,json=returnValue,proto3,oneof" json:"return_value,omitempty"` + // Energy used by the execution. + UsedEnergy *Energy `protobuf:"bytes,2,opt,name=used_energy,json=usedEnergy,proto3" json:"used_energy,omitempty"` + // Contract execution failed for the given reason. + Reason *RejectReason `protobuf:"bytes,3,opt,name=reason,proto3" json:"reason,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DryRunErrorResponse_InvokeFailure) Reset() { + *x = DryRunErrorResponse_InvokeFailure{} + mi := &file_v2_concordium_types_proto_msgTypes[340] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DryRunErrorResponse_InvokeFailure) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DryRunErrorResponse_InvokeFailure) ProtoMessage() {} + +func (x *DryRunErrorResponse_InvokeFailure) ProtoReflect() protoreflect.Message { + mi := &file_v2_concordium_types_proto_msgTypes[340] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DryRunErrorResponse_InvokeFailure.ProtoReflect.Descriptor instead. +func (*DryRunErrorResponse_InvokeFailure) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{216, 7} +} + +func (x *DryRunErrorResponse_InvokeFailure) GetReturnValue() []byte { + if x != nil { + return x.ReturnValue + } + return nil +} + +func (x *DryRunErrorResponse_InvokeFailure) GetUsedEnergy() *Energy { + if x != nil { + return x.UsedEnergy + } + return nil +} + +func (x *DryRunErrorResponse_InvokeFailure) GetReason() *RejectReason { + if x != nil { + return x.Reason + } + return nil +} + +// The block state at the specified block was successfully loaded. +type DryRunSuccessResponse_BlockStateLoaded struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The timestamp of the block, taken to be the current timestamp. + CurrentTimestamp *Timestamp `protobuf:"bytes,1,opt,name=current_timestamp,json=currentTimestamp,proto3" json:"current_timestamp,omitempty"` + // The hash of the block that was loaded. + BlockHash *BlockHash `protobuf:"bytes,2,opt,name=block_hash,json=blockHash,proto3" json:"block_hash,omitempty"` + // The protocol version at the specified block. The behavior of operations can vary across + // protocol versions. + ProtocolVersion ProtocolVersion `protobuf:"varint,3,opt,name=protocol_version,json=protocolVersion,proto3,enum=concordium.v2.ProtocolVersion" json:"protocol_version,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DryRunSuccessResponse_BlockStateLoaded) Reset() { + *x = DryRunSuccessResponse_BlockStateLoaded{} + mi := &file_v2_concordium_types_proto_msgTypes[341] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DryRunSuccessResponse_BlockStateLoaded) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DryRunSuccessResponse_BlockStateLoaded) ProtoMessage() {} + +func (x *DryRunSuccessResponse_BlockStateLoaded) ProtoReflect() protoreflect.Message { + mi := &file_v2_concordium_types_proto_msgTypes[341] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DryRunSuccessResponse_BlockStateLoaded.ProtoReflect.Descriptor instead. +func (*DryRunSuccessResponse_BlockStateLoaded) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{217, 0} +} + +func (x *DryRunSuccessResponse_BlockStateLoaded) GetCurrentTimestamp() *Timestamp { + if x != nil { + return x.CurrentTimestamp + } + return nil +} + +func (x *DryRunSuccessResponse_BlockStateLoaded) GetBlockHash() *BlockHash { + if x != nil { + return x.BlockHash + } + return nil +} + +func (x *DryRunSuccessResponse_BlockStateLoaded) GetProtocolVersion() ProtocolVersion { + if x != nil { + return x.ProtocolVersion + } + return ProtocolVersion_PROTOCOL_VERSION_1 +} + +// The current apparent timestamp was updated to the specified value. +type DryRunSuccessResponse_TimestampSet struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DryRunSuccessResponse_TimestampSet) Reset() { + *x = DryRunSuccessResponse_TimestampSet{} + mi := &file_v2_concordium_types_proto_msgTypes[342] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DryRunSuccessResponse_TimestampSet) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DryRunSuccessResponse_TimestampSet) ProtoMessage() {} + +func (x *DryRunSuccessResponse_TimestampSet) ProtoReflect() protoreflect.Message { + mi := &file_v2_concordium_types_proto_msgTypes[342] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DryRunSuccessResponse_TimestampSet.ProtoReflect.Descriptor instead. +func (*DryRunSuccessResponse_TimestampSet) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{217, 1} +} + +// The specified amount was minted to the specified account. +type DryRunSuccessResponse_MintedToAccount struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DryRunSuccessResponse_MintedToAccount) Reset() { + *x = DryRunSuccessResponse_MintedToAccount{} + mi := &file_v2_concordium_types_proto_msgTypes[343] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DryRunSuccessResponse_MintedToAccount) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DryRunSuccessResponse_MintedToAccount) ProtoMessage() {} + +func (x *DryRunSuccessResponse_MintedToAccount) ProtoReflect() protoreflect.Message { + mi := &file_v2_concordium_types_proto_msgTypes[343] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DryRunSuccessResponse_MintedToAccount.ProtoReflect.Descriptor instead. +func (*DryRunSuccessResponse_MintedToAccount) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{217, 2} +} + +// The transaction was executed. +type DryRunSuccessResponse_TransactionExecuted struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The amount of energy actually expended in executing the transaction. + EnergyCost *Energy `protobuf:"bytes,1,opt,name=energy_cost,json=energyCost,proto3" json:"energy_cost,omitempty"` + // The details of the outcome of the transaction. + Details *AccountTransactionDetails `protobuf:"bytes,2,opt,name=details,proto3" json:"details,omitempty"` + // If this is an invocation of a V1 contract that produced a return value, this is that + // value. Otherwise it is absent. + ReturnValue []byte `protobuf:"bytes,3,opt,name=return_value,json=returnValue,proto3,oneof" json:"return_value,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DryRunSuccessResponse_TransactionExecuted) Reset() { + *x = DryRunSuccessResponse_TransactionExecuted{} + mi := &file_v2_concordium_types_proto_msgTypes[344] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DryRunSuccessResponse_TransactionExecuted) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DryRunSuccessResponse_TransactionExecuted) ProtoMessage() {} + +func (x *DryRunSuccessResponse_TransactionExecuted) ProtoReflect() protoreflect.Message { + mi := &file_v2_concordium_types_proto_msgTypes[344] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DryRunSuccessResponse_TransactionExecuted.ProtoReflect.Descriptor instead. +func (*DryRunSuccessResponse_TransactionExecuted) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{217, 3} +} + +func (x *DryRunSuccessResponse_TransactionExecuted) GetEnergyCost() *Energy { + if x != nil { + return x.EnergyCost + } + return nil +} + +func (x *DryRunSuccessResponse_TransactionExecuted) GetDetails() *AccountTransactionDetails { + if x != nil { + return x.Details + } + return nil +} + +func (x *DryRunSuccessResponse_TransactionExecuted) GetReturnValue() []byte { + if x != nil { + return x.ReturnValue + } + return nil +} + +// The smart contract instance was invoked successfully. +type DryRunSuccessResponse_InvokeSuccess struct { + state protoimpl.MessageState `protogen:"open.v1"` + // If invoking a V0 contract this is absent. Otherwise it is the return + // value produced by the contract. + ReturnValue []byte `protobuf:"bytes,1,opt,name=return_value,json=returnValue,proto3,oneof" json:"return_value,omitempty"` + // Energy used by the execution. + UsedEnergy *Energy `protobuf:"bytes,2,opt,name=used_energy,json=usedEnergy,proto3" json:"used_energy,omitempty"` + // Effects produced by contract execution. + Effects []*ContractTraceElement `protobuf:"bytes,3,rep,name=effects,proto3" json:"effects,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DryRunSuccessResponse_InvokeSuccess) Reset() { + *x = DryRunSuccessResponse_InvokeSuccess{} + mi := &file_v2_concordium_types_proto_msgTypes[345] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DryRunSuccessResponse_InvokeSuccess) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DryRunSuccessResponse_InvokeSuccess) ProtoMessage() {} + +func (x *DryRunSuccessResponse_InvokeSuccess) ProtoReflect() protoreflect.Message { + mi := &file_v2_concordium_types_proto_msgTypes[345] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DryRunSuccessResponse_InvokeSuccess.ProtoReflect.Descriptor instead. +func (*DryRunSuccessResponse_InvokeSuccess) Descriptor() ([]byte, []int) { + return file_v2_concordium_types_proto_rawDescGZIP(), []int{217, 4} +} + +func (x *DryRunSuccessResponse_InvokeSuccess) GetReturnValue() []byte { + if x != nil { + return x.ReturnValue + } + return nil +} + +func (x *DryRunSuccessResponse_InvokeSuccess) GetUsedEnergy() *Energy { + if x != nil { + return x.UsedEnergy + } + return nil +} + +func (x *DryRunSuccessResponse_InvokeSuccess) GetEffects() []*ContractTraceElement { + if x != nil { + return x.Effects + } + return nil +} + +var File_v2_concordium_types_proto protoreflect.FileDescriptor + +var file_v2_concordium_types_proto_rawDesc = string([]byte{ + 0x0a, 0x19, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2f, + 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0d, 0x63, 0x6f, 0x6e, + 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x22, 0x07, 0x0a, 0x05, 0x45, 0x6d, + 0x70, 0x74, 0x79, 0x22, 0x21, 0x0a, 0x09, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, + 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x22, 0x0a, 0x0a, 0x53, 0x68, 0x61, 0x32, 0x35, 0x36, + 0x48, 0x61, 0x73, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x27, 0x0a, 0x0f, 0x54, 0x72, + 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x61, 0x73, 0x68, 0x12, 0x14, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x21, 0x0a, 0x09, 0x53, 0x74, 0x61, 0x74, 0x65, 0x48, 0x61, 0x73, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x2b, 0x0a, 0x13, 0x41, 0x62, 0x73, 0x6f, 0x6c, 0x75, @@ -24237,7 +26220,7 @@ var file_v2_concordium_types_proto_rawDesc = []byte{ 0x61, 0x74, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x61, 0x74, 0x65, 0x73, 0x52, 0x0f, 0x63, 0x6f, 0x6d, 0x6d, - 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x61, 0x74, 0x65, 0x73, 0x22, 0x9c, 0x06, 0x0a, 0x12, + 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x61, 0x74, 0x65, 0x73, 0x22, 0xbf, 0x06, 0x0a, 0x12, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3f, 0x0a, 0x05, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, @@ -24248,7 +26231,7 @@ var file_v2_concordium_types_proto_rawDesc = []byte{ 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x48, 0x00, 0x52, 0x09, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, - 0x1a, 0xd7, 0x02, 0x0a, 0x05, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x12, 0x3a, 0x0a, 0x0d, 0x73, 0x74, + 0x1a, 0xfa, 0x02, 0x0a, 0x05, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x12, 0x3a, 0x0a, 0x0d, 0x73, 0x74, 0x61, 0x6b, 0x65, 0x64, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0c, 0x73, 0x74, 0x61, 0x6b, 0x65, 0x64, @@ -24267,396 +26250,415 @@ var file_v2_concordium_types_proto_rawDesc = []byte{ 0x6c, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x50, 0x6f, 0x6f, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x01, 0x52, 0x08, 0x70, 0x6f, - 0x6f, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x88, 0x01, 0x01, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x70, 0x65, - 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x42, 0x0c, 0x0a, 0x0a, - 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x1a, 0x8d, 0x02, 0x0a, 0x09, 0x44, - 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x3a, 0x0a, 0x0d, 0x73, 0x74, 0x61, 0x6b, - 0x65, 0x64, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, - 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0c, 0x73, 0x74, 0x61, 0x6b, 0x65, 0x64, 0x41, 0x6d, - 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x29, 0x0a, 0x10, 0x72, 0x65, 0x73, 0x74, 0x61, 0x6b, 0x65, 0x5f, - 0x65, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, - 0x72, 0x65, 0x73, 0x74, 0x61, 0x6b, 0x65, 0x45, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x12, - 0x37, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1f, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, - 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, - 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x4d, 0x0a, 0x0e, 0x70, 0x65, 0x6e, 0x64, - 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x21, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, - 0x2e, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x61, - 0x6e, 0x67, 0x65, 0x48, 0x00, 0x52, 0x0d, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x68, - 0x61, 0x6e, 0x67, 0x65, 0x88, 0x01, 0x01, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x70, 0x65, 0x6e, 0x64, - 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x42, 0x0e, 0x0a, 0x0c, 0x73, 0x74, - 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x22, 0x26, 0x0a, 0x0e, 0x53, 0x65, - 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x22, 0x2c, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x71, 0x75, - 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x22, 0x1e, 0x0a, 0x06, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x22, 0x27, 0x0a, 0x0f, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x49, 0x6e, - 0x64, 0x65, 0x78, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x2a, 0x0a, 0x12, 0x53, 0x69, 0x67, - 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x12, - 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x28, 0x0a, 0x10, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, - 0x25, 0x0a, 0x0d, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, - 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x26, 0x0a, 0x0e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x8a, - 0x01, 0x0a, 0x07, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x39, 0x0a, 0x07, 0x61, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, + 0x6f, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x73, 0x5f, + 0x73, 0x75, 0x73, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x0b, 0x69, 0x73, 0x53, 0x75, 0x73, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x42, 0x11, 0x0a, 0x0f, + 0x5f, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x42, + 0x0c, 0x0a, 0x0a, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x1a, 0x8d, 0x02, + 0x0a, 0x09, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x3a, 0x0a, 0x0d, 0x73, + 0x74, 0x61, 0x6b, 0x65, 0x64, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, + 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0c, 0x73, 0x74, 0x61, 0x6b, 0x65, + 0x64, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x29, 0x0a, 0x10, 0x72, 0x65, 0x73, 0x74, 0x61, + 0x6b, 0x65, 0x5f, 0x65, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x0f, 0x72, 0x65, 0x73, 0x74, 0x61, 0x6b, 0x65, 0x45, 0x61, 0x72, 0x6e, 0x69, 0x6e, + 0x67, 0x73, 0x12, 0x37, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, + 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x4d, 0x0a, 0x0e, 0x70, + 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, + 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, + 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x48, 0x00, 0x52, 0x0d, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, + 0x67, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x88, 0x01, 0x01, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x70, + 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x42, 0x0e, 0x0a, + 0x0c, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x22, 0x26, 0x0a, + 0x0e, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, + 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x2c, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, + 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x14, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x22, 0x1e, 0x0a, 0x06, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x14, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x22, 0x27, 0x0a, 0x0f, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, + 0x6c, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x2a, 0x0a, 0x12, + 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, + 0x6c, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x28, 0x0a, 0x10, 0x41, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x12, 0x14, 0x0a, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x22, 0x25, 0x0a, 0x0d, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x4b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x26, 0x0a, 0x0e, 0x41, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x22, 0x8a, 0x01, 0x0a, 0x07, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x39, 0x0a, + 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, + 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x48, 0x00, 0x52, + 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x3c, 0x0a, 0x08, 0x63, 0x6f, 0x6e, 0x74, + 0x72, 0x61, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, + 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, + 0x61, 0x63, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x48, 0x00, 0x52, 0x08, 0x63, 0x6f, + 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x42, 0x06, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x3c, + 0x0a, 0x10, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x4b, + 0x65, 0x79, 0x12, 0x21, 0x0a, 0x0b, 0x65, 0x64, 0x32, 0x35, 0x35, 0x31, 0x39, 0x5f, 0x6b, 0x65, + 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x0a, 0x65, 0x64, 0x32, 0x35, 0x35, + 0x31, 0x39, 0x4b, 0x65, 0x79, 0x42, 0x05, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x22, 0xf4, 0x01, 0x0a, + 0x14, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x50, 0x75, 0x62, 0x6c, 0x69, + 0x63, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x41, 0x0a, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, + 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x50, 0x75, + 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x73, 0x2e, 0x4b, 0x65, 0x79, 0x73, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x52, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x12, 0x3f, 0x0a, 0x09, 0x74, 0x68, 0x72, 0x65, + 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x6f, + 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x69, 0x67, 0x6e, + 0x61, 0x74, 0x75, 0x72, 0x65, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x52, 0x09, + 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x1a, 0x58, 0x0a, 0x09, 0x4b, 0x65, 0x79, + 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x35, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, + 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x56, + 0x65, 0x72, 0x69, 0x66, 0x79, 0x4b, 0x65, 0x79, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, + 0x02, 0x38, 0x01, 0x22, 0x30, 0x0a, 0x18, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, + 0x6c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, + 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x30, 0x0a, 0x18, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, + 0x79, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, + 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x35, 0x0a, 0x09, 0x59, 0x65, 0x61, 0x72, 0x4d, + 0x6f, 0x6e, 0x74, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x79, 0x65, 0x61, 0x72, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x04, 0x79, 0x65, 0x61, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x6f, 0x6e, 0x74, + 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x22, 0xfc, + 0x01, 0x0a, 0x06, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x37, 0x0a, 0x0a, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, + 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x59, 0x65, + 0x61, 0x72, 0x4d, 0x6f, 0x6e, 0x74, 0x68, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, + 0x41, 0x74, 0x12, 0x33, 0x0a, 0x08, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x74, 0x6f, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, + 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x59, 0x65, 0x61, 0x72, 0x4d, 0x6f, 0x6e, 0x74, 0x68, 0x52, 0x07, + 0x76, 0x61, 0x6c, 0x69, 0x64, 0x54, 0x6f, 0x12, 0x45, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, + 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x63, 0x6f, + 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x1a, 0x3d, + 0x0a, 0x0f, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, + 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x81, 0x02, + 0x0a, 0x17, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, + 0x69, 0x61, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x37, 0x0a, 0x04, 0x6b, 0x65, 0x79, + 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, + 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, + 0x61, 0x6c, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x04, 0x6b, 0x65, + 0x79, 0x73, 0x12, 0x40, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, + 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x52, 0x65, + 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x52, 0x06, 0x63, 0x72, + 0x65, 0x64, 0x49, 0x64, 0x12, 0x3c, 0x0a, 0x05, 0x69, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, + 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x50, 0x72, 0x6f, 0x76, + 0x69, 0x64, 0x65, 0x72, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x04, 0x69, 0x70, + 0x49, 0x64, 0x12, 0x2d, 0x0a, 0x06, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, + 0x76, 0x32, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x06, 0x70, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x22, 0x3f, 0x0a, 0x0b, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x41, 0x72, 0x44, 0x61, 0x74, 0x61, + 0x12, 0x30, 0x0a, 0x15, 0x65, 0x6e, 0x63, 0x5f, 0x69, 0x64, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x5f, + 0x70, 0x75, 0x62, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, + 0x11, 0x65, 0x6e, 0x63, 0x49, 0x64, 0x43, 0x72, 0x65, 0x64, 0x50, 0x75, 0x62, 0x53, 0x68, 0x61, + 0x72, 0x65, 0x22, 0x23, 0x0a, 0x0b, 0x41, 0x72, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, + 0x64, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x22, 0x0a, 0x0a, 0x43, 0x6f, 0x6d, 0x6d, 0x69, + 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xc5, 0x03, 0x0a, 0x15, + 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, + 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x2b, 0x0a, 0x03, 0x70, 0x72, 0x66, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, + 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x03, 0x70, + 0x72, 0x66, 0x12, 0x3c, 0x0a, 0x0c, 0x63, 0x72, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, + 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, + 0x65, 0x6e, 0x74, 0x52, 0x0b, 0x63, 0x72, 0x65, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, + 0x12, 0x3c, 0x0a, 0x0c, 0x6d, 0x61, 0x78, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, + 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, + 0x74, 0x52, 0x0b, 0x6d, 0x61, 0x78, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x54, + 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, + 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x43, 0x6f, 0x6d, + 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, + 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, + 0x75, 0x74, 0x65, 0x73, 0x12, 0x53, 0x0a, 0x19, 0x69, 0x64, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x5f, + 0x73, 0x65, 0x63, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x65, 0x66, + 0x66, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, + 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, + 0x6e, 0x74, 0x52, 0x15, 0x69, 0x64, 0x43, 0x72, 0x65, 0x64, 0x53, 0x65, 0x63, 0x53, 0x68, 0x61, + 0x72, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x65, 0x66, 0x66, 0x1a, 0x58, 0x0a, 0x0f, 0x41, 0x74, 0x74, + 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, + 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2f, + 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, + 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, + 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, + 0x02, 0x38, 0x01, 0x22, 0xaa, 0x04, 0x0a, 0x16, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x43, 0x72, + 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x37, + 0x0a, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, + 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, + 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, + 0x73, 0x52, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x12, 0x40, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x64, 0x5f, + 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, + 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, + 0x69, 0x61, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, + 0x64, 0x52, 0x06, 0x63, 0x72, 0x65, 0x64, 0x49, 0x64, 0x12, 0x3c, 0x0a, 0x05, 0x69, 0x70, 0x5f, + 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, + 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, + 0x79, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, + 0x79, 0x52, 0x04, 0x69, 0x70, 0x49, 0x64, 0x12, 0x2d, 0x0a, 0x06, 0x70, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, + 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x06, + 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x3d, 0x0a, 0x0c, 0x61, 0x72, 0x5f, 0x74, 0x68, 0x72, + 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, + 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x72, 0x54, + 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x52, 0x0b, 0x61, 0x72, 0x54, 0x68, 0x72, 0x65, + 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x12, 0x4a, 0x0a, 0x07, 0x61, 0x72, 0x5f, 0x64, 0x61, 0x74, 0x61, + 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, + 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x43, 0x72, 0x65, + 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2e, 0x41, 0x72, + 0x44, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x61, 0x72, 0x44, 0x61, 0x74, + 0x61, 0x12, 0x46, 0x0a, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, + 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, + 0x6c, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x0b, 0x63, 0x6f, + 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x1a, 0x55, 0x0a, 0x0b, 0x41, 0x72, 0x44, + 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x30, 0x0a, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x6f, 0x6e, 0x63, + 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x41, + 0x72, 0x44, 0x61, 0x74, 0x61, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, + 0x22, 0xad, 0x01, 0x0a, 0x11, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x64, + 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x12, 0x42, 0x0a, 0x07, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, + 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, + 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x43, + 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x48, + 0x00, 0x52, 0x07, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x12, 0x3f, 0x0a, 0x06, 0x6e, 0x6f, + 0x72, 0x6d, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x63, 0x6f, 0x6e, + 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x4e, 0x6f, 0x72, 0x6d, 0x61, + 0x6c, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x73, 0x48, 0x00, 0x52, 0x06, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x42, 0x13, 0x0a, 0x11, 0x63, + 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, + 0x22, 0xf6, 0x01, 0x0a, 0x08, 0x43, 0x6f, 0x6f, 0x6c, 0x64, 0x6f, 0x77, 0x6e, 0x12, 0x33, 0x0a, + 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x18, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, + 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, + 0x6d, 0x65, 0x12, 0x2d, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, + 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, + 0x74, 0x12, 0x3e, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x26, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, + 0x32, 0x2e, 0x43, 0x6f, 0x6f, 0x6c, 0x64, 0x6f, 0x77, 0x6e, 0x2e, 0x43, 0x6f, 0x6f, 0x6c, 0x64, + 0x6f, 0x77, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x22, 0x46, 0x0a, 0x0e, 0x43, 0x6f, 0x6f, 0x6c, 0x64, 0x6f, 0x77, 0x6e, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x4f, 0x4f, 0x4c, 0x44, 0x4f, 0x57, 0x4e, 0x10, + 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x50, 0x52, 0x45, 0x5f, 0x43, 0x4f, 0x4f, 0x4c, 0x44, 0x4f, 0x57, + 0x4e, 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, 0x50, 0x52, 0x45, 0x5f, 0x50, 0x52, 0x45, 0x5f, 0x43, + 0x4f, 0x4f, 0x4c, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0x02, 0x22, 0xda, 0x06, 0x0a, 0x0b, 0x41, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x46, 0x0a, 0x0f, 0x73, 0x65, 0x71, + 0x75, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, + 0x76, 0x32, 0x2e, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, + 0x72, 0x52, 0x0e, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, + 0x72, 0x12, 0x2d, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, + 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, + 0x12, 0x3a, 0x0a, 0x08, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, + 0x76, 0x32, 0x2e, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, + 0x6c, 0x65, 0x52, 0x08, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x3b, 0x0a, 0x05, + 0x63, 0x72, 0x65, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x48, 0x00, 0x52, 0x07, 0x61, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x3c, 0x0a, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, - 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, - 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, - 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x48, 0x00, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x72, - 0x61, 0x63, 0x74, 0x42, 0x06, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x3c, 0x0a, 0x10, 0x41, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x4b, 0x65, 0x79, 0x12, - 0x21, 0x0a, 0x0b, 0x65, 0x64, 0x32, 0x35, 0x35, 0x31, 0x39, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x0a, 0x65, 0x64, 0x32, 0x35, 0x35, 0x31, 0x39, 0x4b, - 0x65, 0x79, 0x42, 0x05, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x22, 0xf4, 0x01, 0x0a, 0x14, 0x43, 0x72, - 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, - 0x79, 0x73, 0x12, 0x41, 0x0a, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x2d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, - 0x2e, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x50, 0x75, 0x62, 0x6c, 0x69, - 0x63, 0x4b, 0x65, 0x79, 0x73, 0x2e, 0x4b, 0x65, 0x79, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, - 0x04, 0x6b, 0x65, 0x79, 0x73, 0x12, 0x3f, 0x0a, 0x09, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, - 0x6c, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, - 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, - 0x72, 0x65, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x52, 0x09, 0x74, 0x68, 0x72, - 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x1a, 0x58, 0x0a, 0x09, 0x4b, 0x65, 0x79, 0x73, 0x45, 0x6e, - 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x35, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, - 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x56, 0x65, 0x72, 0x69, - 0x66, 0x79, 0x4b, 0x65, 0x79, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, - 0x22, 0x30, 0x0a, 0x18, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x52, 0x65, - 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x22, 0x30, 0x0a, 0x18, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x50, 0x72, - 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x14, - 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x22, 0x35, 0x0a, 0x09, 0x59, 0x65, 0x61, 0x72, 0x4d, 0x6f, 0x6e, 0x74, - 0x68, 0x12, 0x12, 0x0a, 0x04, 0x79, 0x65, 0x61, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x04, 0x79, 0x65, 0x61, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x22, 0xfc, 0x01, 0x0a, 0x06, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x37, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x64, 0x5f, 0x61, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6f, 0x6e, - 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x59, 0x65, 0x61, 0x72, 0x4d, - 0x6f, 0x6e, 0x74, 0x68, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, - 0x33, 0x0a, 0x08, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x74, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, - 0x32, 0x2e, 0x59, 0x65, 0x61, 0x72, 0x4d, 0x6f, 0x6e, 0x74, 0x68, 0x52, 0x07, 0x76, 0x61, 0x6c, - 0x69, 0x64, 0x54, 0x6f, 0x12, 0x45, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, - 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, - 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, - 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x1a, 0x3d, 0x0a, 0x0f, 0x41, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, + 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x72, 0x65, 0x64, 0x73, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x52, 0x05, 0x63, 0x72, 0x65, 0x64, 0x73, 0x12, 0x3d, 0x0a, 0x09, 0x74, 0x68, 0x72, + 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x63, + 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x52, 0x09, 0x74, + 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x12, 0x4c, 0x0a, 0x11, 0x65, 0x6e, 0x63, 0x72, + 0x79, 0x70, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, + 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x42, 0x61, 0x6c, + 0x61, 0x6e, 0x63, 0x65, 0x52, 0x10, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x42, + 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x43, 0x0a, 0x0e, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, + 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, + 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x52, 0x0d, 0x65, 0x6e, + 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x12, 0x31, 0x0a, 0x05, 0x69, + 0x6e, 0x64, 0x65, 0x78, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6e, + 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x3c, + 0x0a, 0x05, 0x73, 0x74, 0x61, 0x6b, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, + 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, + 0x48, 0x00, 0x52, 0x05, 0x73, 0x74, 0x61, 0x6b, 0x65, 0x88, 0x01, 0x01, 0x12, 0x37, 0x0a, 0x07, + 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, + 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x07, 0x61, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x35, 0x0a, 0x09, 0x63, 0x6f, 0x6f, 0x6c, 0x64, 0x6f, 0x77, + 0x6e, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, + 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6f, 0x6c, 0x64, 0x6f, 0x77, + 0x6e, 0x52, 0x09, 0x63, 0x6f, 0x6f, 0x6c, 0x64, 0x6f, 0x77, 0x6e, 0x73, 0x12, 0x42, 0x0a, 0x11, + 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, + 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, + 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x10, + 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, + 0x1a, 0x5a, 0x0a, 0x0a, 0x43, 0x72, 0x65, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, - 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x81, 0x02, 0x0a, 0x17, 0x49, - 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x37, 0x0a, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, - 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x50, - 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x12, - 0x40, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x27, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, - 0x2e, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x73, - 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x52, 0x06, 0x63, 0x72, 0x65, 0x64, 0x49, - 0x64, 0x12, 0x3c, 0x0a, 0x05, 0x69, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x27, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, - 0x2e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, - 0x72, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x04, 0x69, 0x70, 0x49, 0x64, 0x12, - 0x2d, 0x0a, 0x06, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x06, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x3f, - 0x0a, 0x0b, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x41, 0x72, 0x44, 0x61, 0x74, 0x61, 0x12, 0x30, 0x0a, - 0x15, 0x65, 0x6e, 0x63, 0x5f, 0x69, 0x64, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x5f, 0x70, 0x75, 0x62, - 0x5f, 0x73, 0x68, 0x61, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x11, 0x65, 0x6e, - 0x63, 0x49, 0x64, 0x43, 0x72, 0x65, 0x64, 0x50, 0x75, 0x62, 0x53, 0x68, 0x61, 0x72, 0x65, 0x22, - 0x23, 0x0a, 0x0b, 0x41, 0x72, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x12, 0x14, - 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x22, 0x22, 0x0a, 0x0a, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, - 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xc5, 0x03, 0x0a, 0x15, 0x43, 0x72, 0x65, - 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, - 0x74, 0x73, 0x12, 0x2b, 0x0a, 0x03, 0x70, 0x72, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x19, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, - 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x03, 0x70, 0x72, 0x66, 0x12, - 0x3c, 0x0a, 0x0c, 0x63, 0x72, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, - 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, - 0x52, 0x0b, 0x63, 0x72, 0x65, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x12, 0x3c, 0x0a, - 0x0c, 0x6d, 0x61, 0x78, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, - 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0b, - 0x6d, 0x61, 0x78, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x54, 0x0a, 0x0a, 0x61, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x34, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, - 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, - 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, - 0x73, 0x12, 0x53, 0x0a, 0x19, 0x69, 0x64, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x63, - 0x5f, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x65, 0x66, 0x66, 0x18, 0x05, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, - 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x52, - 0x15, 0x69, 0x64, 0x43, 0x72, 0x65, 0x64, 0x53, 0x65, 0x63, 0x53, 0x68, 0x61, 0x72, 0x69, 0x6e, - 0x67, 0x43, 0x6f, 0x65, 0x66, 0x66, 0x1a, 0x58, 0x0a, 0x0f, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2f, 0x0a, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x6e, - 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, - 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, - 0x22, 0xaa, 0x04, 0x0a, 0x16, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x43, 0x72, 0x65, 0x64, 0x65, - 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x37, 0x0a, 0x04, 0x6b, - 0x65, 0x79, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x6f, 0x6e, 0x63, - 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, - 0x74, 0x69, 0x61, 0x6c, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x04, - 0x6b, 0x65, 0x79, 0x73, 0x12, 0x40, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x64, 0x5f, 0x69, 0x64, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, - 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, - 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x52, 0x06, - 0x63, 0x72, 0x65, 0x64, 0x49, 0x64, 0x12, 0x3c, 0x0a, 0x05, 0x69, 0x70, 0x5f, 0x69, 0x64, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, - 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x50, 0x72, - 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x04, - 0x69, 0x70, 0x49, 0x64, 0x12, 0x2d, 0x0a, 0x06, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, - 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x06, 0x70, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x12, 0x3d, 0x0a, 0x0c, 0x61, 0x72, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, - 0x6f, 0x6c, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x6f, 0x6e, 0x63, - 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x72, 0x54, 0x68, 0x72, 0x65, - 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x52, 0x0b, 0x61, 0x72, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, - 0x6c, 0x64, 0x12, 0x4a, 0x0a, 0x07, 0x61, 0x72, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, - 0x2e, 0x76, 0x32, 0x2e, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, - 0x74, 0x69, 0x61, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2e, 0x41, 0x72, 0x44, 0x61, 0x74, - 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x61, 0x72, 0x44, 0x61, 0x74, 0x61, 0x12, 0x46, - 0x0a, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x07, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, - 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x43, 0x6f, - 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x69, - 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x1a, 0x55, 0x0a, 0x0b, 0x41, 0x72, 0x44, 0x61, 0x74, 0x61, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x30, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, - 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x41, 0x72, 0x44, 0x61, - 0x74, 0x61, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xad, 0x01, - 0x0a, 0x11, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, - 0x69, 0x61, 0x6c, 0x12, 0x42, 0x0a, 0x07, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, - 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x43, 0x72, 0x65, 0x64, - 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x48, 0x00, 0x52, 0x07, - 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x12, 0x3f, 0x0a, 0x06, 0x6e, 0x6f, 0x72, 0x6d, 0x61, - 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, - 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x43, 0x72, - 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x48, 0x00, - 0x52, 0x06, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x42, 0x13, 0x0a, 0x11, 0x63, 0x72, 0x65, 0x64, - 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0xf6, 0x01, - 0x0a, 0x08, 0x43, 0x6f, 0x6f, 0x6c, 0x64, 0x6f, 0x77, 0x6e, 0x12, 0x33, 0x0a, 0x08, 0x65, 0x6e, - 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, - 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, - 0x2d, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, - 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x3e, - 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, - 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x43, - 0x6f, 0x6f, 0x6c, 0x64, 0x6f, 0x77, 0x6e, 0x2e, 0x43, 0x6f, 0x6f, 0x6c, 0x64, 0x6f, 0x77, 0x6e, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x46, - 0x0a, 0x0e, 0x43, 0x6f, 0x6f, 0x6c, 0x64, 0x6f, 0x77, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x4f, 0x4f, 0x4c, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x10, - 0x0a, 0x0c, 0x50, 0x52, 0x45, 0x5f, 0x43, 0x4f, 0x4f, 0x4c, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0x01, - 0x12, 0x14, 0x0a, 0x10, 0x50, 0x52, 0x45, 0x5f, 0x50, 0x52, 0x45, 0x5f, 0x43, 0x4f, 0x4f, 0x4c, - 0x44, 0x4f, 0x57, 0x4e, 0x10, 0x02, 0x22, 0xda, 0x06, 0x0a, 0x0b, 0x41, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x46, 0x0a, 0x0f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, - 0x63, 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x12, 0x36, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x20, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, + 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, + 0x6c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x08, 0x0a, 0x06, + 0x5f, 0x73, 0x74, 0x61, 0x6b, 0x65, 0x22, 0x86, 0x04, 0x0a, 0x0e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, + 0x48, 0x61, 0x73, 0x68, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x2a, 0x0a, 0x04, 0x62, 0x65, 0x73, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, + 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, + 0x04, 0x62, 0x65, 0x73, 0x74, 0x12, 0x35, 0x0a, 0x0a, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x66, 0x69, + 0x6e, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x63, + 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, + 0x00, 0x52, 0x09, 0x6c, 0x61, 0x73, 0x74, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x12, 0x30, 0x0a, 0x05, + 0x67, 0x69, 0x76, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6f, + 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x6f, 0x63, + 0x6b, 0x48, 0x61, 0x73, 0x68, 0x48, 0x00, 0x52, 0x05, 0x67, 0x69, 0x76, 0x65, 0x6e, 0x12, 0x4d, + 0x0a, 0x0f, 0x61, 0x62, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, + 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, + 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x62, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x65, + 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x48, 0x00, 0x52, 0x0e, 0x61, + 0x62, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x57, 0x0a, + 0x0f, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, + 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, + 0x49, 0x6e, 0x70, 0x75, 0x74, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x48, 0x65, + 0x69, 0x67, 0x68, 0x74, 0x48, 0x00, 0x52, 0x0e, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, + 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x1a, 0xa2, 0x01, 0x0a, 0x0e, 0x52, 0x65, 0x6c, 0x61, 0x74, + 0x69, 0x76, 0x65, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x40, 0x0a, 0x0d, 0x67, 0x65, 0x6e, + 0x65, 0x73, 0x69, 0x73, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, + 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x73, 0x69, 0x73, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x0c, 0x67, + 0x65, 0x6e, 0x65, 0x73, 0x69, 0x73, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x32, 0x0a, 0x06, 0x68, + 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x6f, + 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x6f, 0x63, + 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, + 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x08, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x42, 0x12, 0x0a, 0x10, 0x62, + 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x22, + 0xb8, 0x02, 0x0a, 0x0c, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x52, 0x0a, 0x0e, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x70, 0x6f, + 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, + 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x45, 0x70, + 0x6f, 0x63, 0x68, 0x48, 0x00, 0x52, 0x0d, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x45, + 0x70, 0x6f, 0x63, 0x68, 0x12, 0x3e, 0x0a, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x61, + 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, + 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, + 0x73, 0x68, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x48, 0x00, 0x52, 0x09, 0x62, 0x6c, 0x6f, 0x63, 0x6b, + 0x48, 0x61, 0x73, 0x68, 0x1a, 0x7d, 0x0a, 0x0d, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, + 0x45, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x40, 0x0a, 0x0d, 0x67, 0x65, 0x6e, 0x65, 0x73, 0x69, 0x73, + 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, + 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x65, 0x6e, + 0x65, 0x73, 0x69, 0x73, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x0c, 0x67, 0x65, 0x6e, 0x65, 0x73, + 0x69, 0x73, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x2a, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, + 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x52, 0x05, 0x65, 0x70, + 0x6f, 0x63, 0x68, 0x42, 0x15, 0x0a, 0x13, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x5f, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x22, 0xf7, 0x01, 0x0a, 0x16, 0x41, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, + 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x39, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, + 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x48, 0x00, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x12, 0x42, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, + 0x32, 0x2e, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x52, 0x65, 0x67, 0x69, + 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x48, 0x00, 0x52, 0x06, 0x63, 0x72, + 0x65, 0x64, 0x49, 0x64, 0x12, 0x42, 0x0a, 0x0d, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, + 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, + 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x48, 0x00, 0x52, 0x0c, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x42, 0x1a, 0x0a, 0x18, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x5f, 0x69, + 0x6e, 0x70, 0x75, 0x74, 0x22, 0xa8, 0x01, 0x0a, 0x12, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x0a, 0x62, + 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, - 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x0e, - 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x2d, - 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, + 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x52, 0x09, + 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x12, 0x54, 0x0a, 0x12, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, + 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x65, + 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x52, 0x11, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x22, + 0x7e, 0x0a, 0x12, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x42, 0x6c, 0x6f, 0x63, + 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2c, 0x0a, 0x04, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, + 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x52, 0x04, 0x68, + 0x61, 0x73, 0x68, 0x12, 0x3a, 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, + 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x62, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x42, 0x6c, 0x6f, 0x63, + 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x22, + 0x68, 0x0a, 0x10, 0x41, 0x6e, 0x63, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x61, 0x73, + 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, + 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, + 0x68, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x52, 0x09, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, + 0x68, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x8c, 0x01, 0x0a, 0x13, 0x4d, 0x6f, + 0x64, 0x75, 0x6c, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x3c, 0x0a, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, + 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x49, + 0x6e, 0x70, 0x75, 0x74, 0x52, 0x09, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x12, + 0x37, 0x0a, 0x0a, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x66, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, + 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x66, 0x52, 0x09, 0x6d, + 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x66, 0x22, 0x43, 0x0a, 0x0f, 0x43, 0x6f, 0x6e, 0x74, + 0x72, 0x61, 0x63, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x69, + 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, + 0x78, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x75, 0x62, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x75, 0x62, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x8d, 0x01, + 0x0a, 0x13, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, + 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, + 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, + 0x61, 0x73, 0x68, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x52, 0x09, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x48, + 0x61, 0x73, 0x68, 0x12, 0x38, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, + 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x41, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0xcd, 0x05, + 0x0a, 0x0c, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x30, + 0x0a, 0x02, 0x76, 0x30, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, + 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x56, 0x30, 0x48, 0x00, 0x52, 0x02, 0x76, 0x30, + 0x12, 0x30, 0x0a, 0x02, 0x76, 0x31, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, + 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x56, 0x31, 0x48, 0x00, 0x52, 0x02, + 0x76, 0x31, 0x1a, 0xc0, 0x02, 0x0a, 0x02, 0x56, 0x30, 0x12, 0x34, 0x0a, 0x05, 0x6d, 0x6f, 0x64, + 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, + 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, + 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x56, 0x30, 0x52, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x12, + 0x33, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, - 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x3a, 0x0a, - 0x08, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, - 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x52, - 0x08, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x3b, 0x0a, 0x05, 0x63, 0x72, 0x65, - 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, - 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x72, 0x65, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, - 0x05, 0x63, 0x72, 0x65, 0x64, 0x73, 0x12, 0x3d, 0x0a, 0x09, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, - 0x6f, 0x6c, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x63, 0x6f, 0x6e, 0x63, - 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x52, 0x09, 0x74, 0x68, 0x72, 0x65, - 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x12, 0x4c, 0x0a, 0x11, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, - 0x65, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1f, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, - 0x2e, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, - 0x65, 0x52, 0x10, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x42, 0x61, 0x6c, 0x61, - 0x6e, 0x63, 0x65, 0x12, 0x43, 0x0a, 0x0e, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x6f, - 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6e, 0x63, 0x72, - 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x52, 0x0d, 0x65, 0x6e, 0x63, 0x72, 0x79, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x12, 0x31, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, - 0x78, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, - 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, - 0x6e, 0x64, 0x65, 0x78, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x3c, 0x0a, 0x05, 0x73, - 0x74, 0x61, 0x6b, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x6f, 0x6e, - 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, - 0x05, 0x73, 0x74, 0x61, 0x6b, 0x65, 0x88, 0x01, 0x01, 0x12, 0x37, 0x0a, 0x07, 0x61, 0x64, 0x64, - 0x72, 0x65, 0x73, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, - 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x12, 0x35, 0x0a, 0x09, 0x63, 0x6f, 0x6f, 0x6c, 0x64, 0x6f, 0x77, 0x6e, 0x73, 0x18, - 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, - 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6f, 0x6c, 0x64, 0x6f, 0x77, 0x6e, 0x52, 0x09, - 0x63, 0x6f, 0x6f, 0x6c, 0x64, 0x6f, 0x77, 0x6e, 0x73, 0x12, 0x42, 0x0a, 0x11, 0x61, 0x76, 0x61, - 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x0c, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x05, 0x6f, + 0x77, 0x6e, 0x65, 0x72, 0x12, 0x2d, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, - 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x10, 0x61, 0x76, 0x61, - 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x1a, 0x5a, 0x0a, - 0x0a, 0x43, 0x72, 0x65, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, - 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x36, 0x0a, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, - 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x52, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x74, - 0x61, 0x6b, 0x65, 0x22, 0x86, 0x04, 0x0a, 0x0e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, - 0x68, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x2a, 0x0a, 0x04, 0x62, 0x65, 0x73, 0x74, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, - 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, 0x04, 0x62, 0x65, - 0x73, 0x74, 0x12, 0x35, 0x0a, 0x0a, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x66, 0x69, 0x6e, 0x61, 0x6c, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, - 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, 0x09, - 0x6c, 0x61, 0x73, 0x74, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x12, 0x30, 0x0a, 0x05, 0x67, 0x69, 0x76, - 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, - 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, - 0x73, 0x68, 0x48, 0x00, 0x52, 0x05, 0x67, 0x69, 0x76, 0x65, 0x6e, 0x12, 0x4d, 0x0a, 0x0f, 0x61, - 0x62, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, - 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x62, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x42, 0x6c, 0x6f, - 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x48, 0x00, 0x52, 0x0e, 0x61, 0x62, 0x73, 0x6f, - 0x6c, 0x75, 0x74, 0x65, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x57, 0x0a, 0x0f, 0x72, 0x65, - 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, - 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x49, 0x6e, 0x70, - 0x75, 0x74, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x48, 0x65, 0x69, 0x67, 0x68, - 0x74, 0x48, 0x00, 0x52, 0x0e, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x48, 0x65, 0x69, - 0x67, 0x68, 0x74, 0x1a, 0xa2, 0x01, 0x0a, 0x0e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, - 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x40, 0x0a, 0x0d, 0x67, 0x65, 0x6e, 0x65, 0x73, 0x69, - 0x73, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, - 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x65, - 0x6e, 0x65, 0x73, 0x69, 0x73, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x0c, 0x67, 0x65, 0x6e, 0x65, - 0x73, 0x69, 0x73, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x32, 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, - 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, - 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, - 0x69, 0x67, 0x68, 0x74, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x1a, 0x0a, 0x08, - 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, - 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x42, 0x12, 0x0a, 0x10, 0x62, 0x6c, 0x6f, 0x63, - 0x6b, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x22, 0xb8, 0x02, 0x0a, - 0x0c, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x52, 0x0a, - 0x0e, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, - 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x45, 0x70, 0x6f, 0x63, 0x68, - 0x48, 0x00, 0x52, 0x0d, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x45, 0x70, 0x6f, 0x63, - 0x68, 0x12, 0x3e, 0x0a, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, - 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x49, - 0x6e, 0x70, 0x75, 0x74, 0x48, 0x00, 0x52, 0x09, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, - 0x68, 0x1a, 0x7d, 0x0a, 0x0d, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x45, 0x70, 0x6f, - 0x63, 0x68, 0x12, 0x40, 0x0a, 0x0d, 0x67, 0x65, 0x6e, 0x65, 0x73, 0x69, 0x73, 0x5f, 0x69, 0x6e, - 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6e, 0x63, - 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x73, 0x69, - 0x73, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x0c, 0x67, 0x65, 0x6e, 0x65, 0x73, 0x69, 0x73, 0x49, - 0x6e, 0x64, 0x65, 0x78, 0x12, 0x2a, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, - 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, - 0x42, 0x15, 0x0a, 0x13, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x22, 0xf7, 0x01, 0x0a, 0x16, 0x41, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x49, 0x6e, 0x70, - 0x75, 0x74, 0x12, 0x39, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, - 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x48, 0x00, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x42, 0x0a, - 0x07, 0x63, 0x72, 0x65, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, - 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x43, - 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x48, 0x00, 0x52, 0x06, 0x63, 0x72, 0x65, 0x64, 0x49, - 0x64, 0x12, 0x42, 0x0a, 0x0d, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x64, - 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, - 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x49, 0x6e, 0x64, 0x65, 0x78, 0x48, 0x00, 0x52, 0x0c, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x49, 0x6e, 0x64, 0x65, 0x78, 0x42, 0x1a, 0x0a, 0x18, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x70, 0x75, - 0x74, 0x22, 0xa8, 0x01, 0x0a, 0x12, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, - 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x0a, 0x62, 0x6c, 0x6f, 0x63, - 0x6b, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, - 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x6f, - 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x52, 0x09, 0x62, 0x6c, 0x6f, - 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x12, 0x54, 0x0a, 0x12, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, - 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, - 0x66, 0x69, 0x65, 0x72, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x52, 0x11, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x22, 0x7e, 0x0a, 0x12, - 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x6e, - 0x66, 0x6f, 0x12, 0x2c, 0x0a, 0x04, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x18, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, - 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x52, 0x04, 0x68, 0x61, 0x73, 0x68, - 0x12, 0x3a, 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x22, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, - 0x2e, 0x41, 0x62, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, - 0x69, 0x67, 0x68, 0x74, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x22, 0x68, 0x0a, 0x10, - 0x41, 0x6e, 0x63, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x3c, 0x0a, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, - 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x49, 0x6e, - 0x70, 0x75, 0x74, 0x52, 0x09, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x12, 0x16, - 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, - 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x8c, 0x01, 0x0a, 0x13, 0x4d, 0x6f, 0x64, 0x75, 0x6c, - 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, - 0x0a, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, - 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x49, 0x6e, 0x70, 0x75, - 0x74, 0x52, 0x09, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x12, 0x37, 0x0a, 0x0a, - 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x66, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x18, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, - 0x2e, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x66, 0x52, 0x09, 0x6d, 0x6f, 0x64, 0x75, - 0x6c, 0x65, 0x52, 0x65, 0x66, 0x22, 0x43, 0x0a, 0x0f, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, - 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, - 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1a, - 0x0a, 0x08, 0x73, 0x75, 0x62, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x08, 0x73, 0x75, 0x62, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x8d, 0x01, 0x0a, 0x13, 0x49, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x61, 0x73, 0x68, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, - 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, - 0x49, 0x6e, 0x70, 0x75, 0x74, 0x52, 0x09, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, - 0x12, 0x38, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, - 0x32, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0xcd, 0x05, 0x0a, 0x0c, 0x49, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x30, 0x0a, 0x02, 0x76, - 0x30, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, - 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x56, 0x30, 0x48, 0x00, 0x52, 0x02, 0x76, 0x30, 0x12, 0x30, 0x0a, - 0x02, 0x76, 0x31, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, - 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x56, 0x31, 0x48, 0x00, 0x52, 0x02, 0x76, 0x31, 0x1a, - 0xc0, 0x02, 0x0a, 0x02, 0x56, 0x30, 0x12, 0x34, 0x0a, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, - 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x53, 0x74, - 0x61, 0x74, 0x65, 0x56, 0x30, 0x52, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x33, 0x0a, 0x05, + 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x06, 0x61, 0x6d, 0x6f, + 0x75, 0x6e, 0x74, 0x12, 0x34, 0x0a, 0x07, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x73, 0x18, 0x04, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, + 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x4e, 0x61, 0x6d, 0x65, + 0x52, 0x07, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x73, 0x12, 0x2b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, + 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6e, 0x69, 0x74, 0x4e, 0x61, 0x6d, 0x65, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3d, 0x0a, 0x0d, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x5f, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, + 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x6f, + 0x64, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x66, 0x52, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4d, + 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x1a, 0x8a, 0x02, 0x0a, 0x02, 0x56, 0x31, 0x12, 0x33, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, @@ -24673,2209 +26675,2267 @@ var file_v2_concordium_types_proto_rawDesc = []byte{ 0x64, 0x75, 0x6c, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x66, 0x52, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4d, 0x6f, 0x64, 0x75, - 0x6c, 0x65, 0x1a, 0x8a, 0x02, 0x0a, 0x02, 0x56, 0x31, 0x12, 0x33, 0x0a, 0x05, 0x6f, 0x77, 0x6e, - 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, - 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x2d, - 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, - 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, - 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x34, 0x0a, - 0x07, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, - 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x52, - 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x07, 0x6d, 0x65, 0x74, 0x68, - 0x6f, 0x64, 0x73, 0x12, 0x2b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, - 0x32, 0x2e, 0x49, 0x6e, 0x69, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x12, 0x3d, 0x0a, 0x0d, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x75, 0x6c, - 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, - 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x65, - 0x66, 0x52, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x42, - 0x09, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x3d, 0x0a, 0x13, 0x49, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x4b, 0x56, 0x50, 0x61, 0x69, - 0x72, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x03, - 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xa6, 0x01, 0x0a, 0x1a, 0x49, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, - 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x0a, 0x62, 0x6c, 0x6f, 0x63, - 0x6b, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, - 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x6f, - 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x52, 0x09, 0x62, 0x6c, 0x6f, - 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x12, 0x38, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, - 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, - 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, - 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x03, 0x6b, - 0x65, 0x79, 0x22, 0x2f, 0x0a, 0x17, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x74, - 0x61, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x41, 0x74, 0x4b, 0x65, 0x79, 0x12, 0x14, 0x0a, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x22, 0x23, 0x0a, 0x0b, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x4e, 0x61, - 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x20, 0x0a, 0x08, 0x49, 0x6e, 0x69, 0x74, - 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x21, 0x0a, 0x09, 0x50, 0x61, - 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x27, 0x0a, - 0x0f, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x56, 0x30, + 0x6c, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x3d, 0x0a, + 0x13, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x4b, 0x56, + 0x50, 0x61, 0x69, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0c, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xa6, 0x01, 0x0a, + 0x1a, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x4c, 0x6f, + 0x6f, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x0a, 0x62, + 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, + 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x52, 0x09, + 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x12, 0x38, 0x0a, 0x07, 0x61, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, + 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, + 0x61, 0x63, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, + 0x52, 0x03, 0x6b, 0x65, 0x79, 0x22, 0x2f, 0x0a, 0x17, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x41, 0x74, 0x4b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x83, 0x03, 0x0a, 0x0f, 0x42, 0x6c, 0x6f, 0x63, 0x6b, - 0x49, 0x74, 0x65, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x32, 0x0a, 0x08, 0x72, 0x65, - 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, - 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6d, 0x70, - 0x74, 0x79, 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x12, 0x48, - 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x28, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, - 0x32, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x48, 0x00, 0x52, 0x09, 0x63, - 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x12, 0x48, 0x0a, 0x09, 0x66, 0x69, 0x6e, 0x61, - 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x63, 0x6f, - 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x6f, 0x63, - 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x46, 0x69, 0x6e, 0x61, - 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x48, 0x00, 0x52, 0x09, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, - 0x65, 0x64, 0x1a, 0x4f, 0x0a, 0x09, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x12, - 0x42, 0x0a, 0x08, 0x6f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x26, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, - 0x32, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x53, 0x75, 0x6d, 0x6d, 0x61, - 0x72, 0x79, 0x49, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x08, 0x6f, 0x75, 0x74, 0x63, 0x6f, - 0x6d, 0x65, 0x73, 0x1a, 0x4d, 0x0a, 0x09, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, - 0x12, 0x40, 0x0a, 0x07, 0x6f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x26, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, - 0x32, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x53, 0x75, 0x6d, 0x6d, 0x61, - 0x72, 0x79, 0x49, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x07, 0x6f, 0x75, 0x74, 0x63, 0x6f, - 0x6d, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x8d, 0x01, 0x0a, - 0x17, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, - 0x79, 0x49, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x37, 0x0a, 0x0a, 0x62, 0x6c, 0x6f, 0x63, - 0x6b, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, - 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x6f, - 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x52, 0x09, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, - 0x68, 0x12, 0x39, 0x0a, 0x07, 0x6f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, - 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x53, 0x75, 0x6d, 0x6d, - 0x61, 0x72, 0x79, 0x52, 0x07, 0x6f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x22, 0x1e, 0x0a, 0x06, - 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x1c, 0x0a, 0x04, - 0x53, 0x6c, 0x6f, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x80, 0x01, 0x0a, 0x19, 0x4e, - 0x65, 0x78, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, - 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x46, 0x0a, 0x0f, 0x73, 0x65, 0x71, 0x75, - 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, - 0x32, 0x2e, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, - 0x52, 0x0e, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, - 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x6c, 0x6c, 0x5f, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x08, 0x61, 0x6c, 0x6c, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x22, 0x20, 0x0a, - 0x08, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, - 0xa7, 0x2c, 0x0a, 0x0c, 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, - 0x12, 0x3a, 0x0a, 0x0d, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x77, - 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, - 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, - 0x0b, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x4e, 0x6f, 0x74, 0x57, 0x66, 0x12, 0x57, 0x0a, 0x1a, - 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x5f, 0x61, 0x6c, 0x72, 0x65, - 0x61, 0x64, 0x79, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x18, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, - 0x2e, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x66, 0x48, 0x00, 0x52, 0x17, 0x6d, 0x6f, - 0x64, 0x75, 0x6c, 0x65, 0x48, 0x61, 0x73, 0x68, 0x41, 0x6c, 0x72, 0x65, 0x61, 0x64, 0x79, 0x45, - 0x78, 0x69, 0x73, 0x74, 0x73, 0x12, 0x5b, 0x0a, 0x19, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, - 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, - 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, - 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x48, 0x00, 0x52, 0x17, 0x69, 0x6e, 0x76, 0x61, 0x6c, - 0x69, 0x64, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, - 0x63, 0x65, 0x12, 0x5f, 0x0a, 0x13, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x69, 0x6e, - 0x69, 0x74, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x2d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, - 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x2e, 0x49, 0x6e, 0x76, - 0x61, 0x6c, 0x69, 0x64, 0x49, 0x6e, 0x69, 0x74, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x48, 0x00, - 0x52, 0x11, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x49, 0x6e, 0x69, 0x74, 0x4d, 0x65, 0x74, - 0x68, 0x6f, 0x64, 0x12, 0x68, 0x0a, 0x16, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x72, - 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, - 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, - 0x2e, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x4d, - 0x65, 0x74, 0x68, 0x6f, 0x64, 0x48, 0x00, 0x52, 0x14, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, - 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x54, 0x0a, - 0x18, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x5f, - 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x23, 0x0a, 0x0b, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, + 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x20, 0x0a, 0x08, 0x49, + 0x6e, 0x69, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x21, 0x0a, + 0x09, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x22, 0x27, 0x0a, 0x0f, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x53, 0x74, 0x61, 0x74, + 0x65, 0x56, 0x30, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x83, 0x03, 0x0a, 0x0f, 0x42, 0x6c, + 0x6f, 0x63, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x32, 0x0a, + 0x08, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, + 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, + 0x64, 0x12, 0x48, 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, + 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x48, 0x00, + 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x12, 0x48, 0x0a, 0x09, 0x66, + 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, + 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, + 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x46, + 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x48, 0x00, 0x52, 0x09, 0x66, 0x69, 0x6e, 0x61, + 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x1a, 0x4f, 0x0a, 0x09, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, + 0x65, 0x64, 0x12, 0x42, 0x0a, 0x08, 0x6f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, + 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x53, 0x75, + 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x08, 0x6f, 0x75, + 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x73, 0x1a, 0x4d, 0x0a, 0x09, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, + 0x7a, 0x65, 0x64, 0x12, 0x40, 0x0a, 0x07, 0x6f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, + 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x53, 0x75, + 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x07, 0x6f, 0x75, + 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, + 0x8d, 0x01, 0x0a, 0x17, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x53, 0x75, 0x6d, + 0x6d, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x37, 0x0a, 0x0a, 0x62, + 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, - 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x66, 0x48, 0x00, 0x52, 0x16, 0x69, 0x6e, 0x76, - 0x61, 0x6c, 0x69, 0x64, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, - 0x6e, 0x63, 0x65, 0x12, 0x5a, 0x0a, 0x18, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x63, - 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, - 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x41, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x48, 0x00, 0x52, 0x16, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, - 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, - 0x3f, 0x0a, 0x0f, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x75, - 0x72, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, - 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, - 0x52, 0x0e, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, - 0x12, 0x56, 0x0a, 0x10, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x74, 0x6f, 0x6f, 0x5f, 0x6c, - 0x61, 0x72, 0x67, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x63, 0x6f, 0x6e, - 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x6a, 0x65, 0x63, - 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x6f, - 0x6f, 0x4c, 0x61, 0x72, 0x67, 0x65, 0x48, 0x00, 0x52, 0x0e, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, - 0x54, 0x6f, 0x6f, 0x4c, 0x61, 0x72, 0x67, 0x65, 0x12, 0x4b, 0x0a, 0x15, 0x73, 0x65, 0x72, 0x69, - 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, - 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, - 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, - 0x14, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x61, - 0x69, 0x6c, 0x75, 0x72, 0x65, 0x12, 0x3a, 0x0a, 0x0d, 0x6f, 0x75, 0x74, 0x5f, 0x6f, 0x66, 0x5f, - 0x65, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, - 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6d, 0x70, - 0x74, 0x79, 0x48, 0x00, 0x52, 0x0b, 0x6f, 0x75, 0x74, 0x4f, 0x66, 0x45, 0x6e, 0x65, 0x72, 0x67, - 0x79, 0x12, 0x4f, 0x0a, 0x0d, 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6e, - 0x69, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, - 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x52, - 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x65, 0x64, 0x49, 0x6e, - 0x69, 0x74, 0x48, 0x00, 0x52, 0x0c, 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x65, 0x64, 0x49, 0x6e, - 0x69, 0x74, 0x12, 0x58, 0x0a, 0x10, 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x72, - 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x63, - 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x6a, - 0x65, 0x63, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, - 0x65, 0x64, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x48, 0x00, 0x52, 0x0f, 0x72, 0x65, 0x6a, - 0x65, 0x63, 0x74, 0x65, 0x64, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x12, 0x3b, 0x0a, 0x0d, - 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x6f, 0x66, 0x18, 0x0e, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, - 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, 0x0c, 0x69, 0x6e, 0x76, - 0x61, 0x6c, 0x69, 0x64, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x12, 0x40, 0x0a, 0x0f, 0x61, 0x6c, 0x72, - 0x65, 0x61, 0x64, 0x79, 0x5f, 0x61, 0x5f, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x18, 0x0f, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, - 0x76, 0x32, 0x2e, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x49, 0x64, 0x48, 0x00, 0x52, 0x0d, 0x61, 0x6c, - 0x72, 0x65, 0x61, 0x64, 0x79, 0x41, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x12, 0x3f, 0x0a, 0x0b, 0x6e, - 0x6f, 0x74, 0x5f, 0x61, 0x5f, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, - 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x48, - 0x00, 0x52, 0x09, 0x6e, 0x6f, 0x74, 0x41, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x12, 0x66, 0x0a, 0x24, - 0x69, 0x6e, 0x73, 0x75, 0x66, 0x66, 0x69, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x62, 0x61, 0x6c, - 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x73, - 0x74, 0x61, 0x6b, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6e, + 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x52, 0x09, 0x62, 0x6c, 0x6f, 0x63, 0x6b, + 0x48, 0x61, 0x73, 0x68, 0x12, 0x39, 0x0a, 0x07, 0x6f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, + 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x53, + 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x07, 0x6f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x22, + 0x1e, 0x0a, 0x06, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, + 0x1c, 0x0a, 0x04, 0x53, 0x6c, 0x6f, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x80, 0x01, + 0x0a, 0x19, 0x4e, 0x65, 0x78, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x65, 0x71, + 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x46, 0x0a, 0x0f, 0x73, + 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, + 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, + 0x62, 0x65, 0x72, 0x52, 0x0e, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, + 0x62, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x6c, 0x6c, 0x5f, 0x66, 0x69, 0x6e, 0x61, 0x6c, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x61, 0x6c, 0x6c, 0x46, 0x69, 0x6e, 0x61, 0x6c, + 0x22, 0x20, 0x0a, 0x08, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x22, 0xa7, 0x2c, 0x0a, 0x0c, 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x61, + 0x73, 0x6f, 0x6e, 0x12, 0x3a, 0x0a, 0x0d, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x6e, 0x6f, + 0x74, 0x5f, 0x77, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, - 0x48, 0x00, 0x52, 0x20, 0x69, 0x6e, 0x73, 0x75, 0x66, 0x66, 0x69, 0x63, 0x69, 0x65, 0x6e, 0x74, - 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x46, 0x6f, 0x72, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x53, - 0x74, 0x61, 0x6b, 0x65, 0x12, 0x6d, 0x0a, 0x28, 0x73, 0x74, 0x61, 0x6b, 0x65, 0x5f, 0x75, 0x6e, - 0x64, 0x65, 0x72, 0x5f, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x74, 0x68, 0x72, 0x65, - 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x62, 0x61, 0x6b, 0x69, 0x6e, 0x67, - 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, - 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, 0x23, - 0x73, 0x74, 0x61, 0x6b, 0x65, 0x55, 0x6e, 0x64, 0x65, 0x72, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x75, - 0x6d, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x46, 0x6f, 0x72, 0x42, 0x61, 0x6b, - 0x69, 0x6e, 0x67, 0x12, 0x42, 0x0a, 0x11, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x5f, - 0x63, 0x6f, 0x6f, 0x6c, 0x64, 0x6f, 0x77, 0x6e, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, - 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, - 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, 0x0f, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x49, 0x6e, 0x43, - 0x6f, 0x6f, 0x6c, 0x64, 0x6f, 0x77, 0x6e, 0x12, 0x66, 0x0a, 0x19, 0x64, 0x75, 0x70, 0x6c, 0x69, - 0x63, 0x61, 0x74, 0x65, 0x5f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x63, 0x6f, 0x6e, - 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x61, 0x6b, 0x65, 0x72, - 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x65, 0x72, 0x69, 0x66, - 0x79, 0x4b, 0x65, 0x79, 0x48, 0x00, 0x52, 0x17, 0x64, 0x75, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, - 0x65, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x12, - 0x53, 0x0a, 0x1a, 0x6e, 0x6f, 0x6e, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x5f, - 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x15, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, - 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, 0x17, 0x6e, 0x6f, 0x6e, - 0x45, 0x78, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, - 0x61, 0x6c, 0x49, 0x64, 0x12, 0x4e, 0x0a, 0x18, 0x6b, 0x65, 0x79, 0x5f, 0x69, 0x6e, 0x64, 0x65, - 0x78, 0x5f, 0x61, 0x6c, 0x72, 0x65, 0x61, 0x64, 0x79, 0x5f, 0x69, 0x6e, 0x5f, 0x75, 0x73, 0x65, - 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, - 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, 0x14, - 0x6b, 0x65, 0x79, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x41, 0x6c, 0x72, 0x65, 0x61, 0x64, 0x79, 0x49, - 0x6e, 0x55, 0x73, 0x65, 0x12, 0x52, 0x0a, 0x19, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, - 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, - 0x64, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, - 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, - 0x17, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, - 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x12, 0x68, 0x0a, 0x25, 0x69, 0x6e, 0x76, 0x61, - 0x6c, 0x69, 0x64, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x6b, - 0x65, 0x79, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, - 0x64, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, - 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, - 0x21, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, - 0x61, 0x6c, 0x4b, 0x65, 0x79, 0x53, 0x69, 0x67, 0x6e, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, - 0x6c, 0x64, 0x12, 0x6c, 0x0a, 0x27, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x65, 0x6e, - 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x74, - 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x6f, 0x6f, 0x66, 0x18, 0x19, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, - 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, 0x23, 0x69, 0x6e, 0x76, - 0x61, 0x6c, 0x69, 0x64, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x41, 0x6d, 0x6f, - 0x75, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x6f, 0x66, - 0x12, 0x5e, 0x0a, 0x20, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x74, 0x72, 0x61, 0x6e, - 0x73, 0x66, 0x65, 0x72, 0x5f, 0x74, 0x6f, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x70, - 0x72, 0x6f, 0x6f, 0x66, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6e, + 0x48, 0x00, 0x52, 0x0b, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x4e, 0x6f, 0x74, 0x57, 0x66, 0x12, + 0x57, 0x0a, 0x1a, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x5f, 0x61, + 0x6c, 0x72, 0x65, 0x61, 0x64, 0x79, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, + 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x66, 0x48, 0x00, 0x52, + 0x17, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x48, 0x61, 0x73, 0x68, 0x41, 0x6c, 0x72, 0x65, 0x61, + 0x64, 0x79, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x12, 0x5b, 0x0a, 0x19, 0x69, 0x6e, 0x76, 0x61, + 0x6c, 0x69, 0x64, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x66, 0x65, + 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, + 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x48, 0x00, 0x52, 0x17, 0x69, 0x6e, + 0x76, 0x61, 0x6c, 0x69, 0x64, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x66, 0x65, + 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x5f, 0x0a, 0x13, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, + 0x5f, 0x69, 0x6e, 0x69, 0x74, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, + 0x76, 0x32, 0x2e, 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x2e, + 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x49, 0x6e, 0x69, 0x74, 0x4d, 0x65, 0x74, 0x68, 0x6f, + 0x64, 0x48, 0x00, 0x52, 0x11, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x49, 0x6e, 0x69, 0x74, + 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x68, 0x0a, 0x16, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, + 0x64, 0x5f, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, + 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x61, + 0x73, 0x6f, 0x6e, 0x2e, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x52, 0x65, 0x63, 0x65, 0x69, + 0x76, 0x65, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x48, 0x00, 0x52, 0x14, 0x69, 0x6e, 0x76, 0x61, + 0x6c, 0x69, 0x64, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, + 0x12, 0x54, 0x0a, 0x18, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x6d, 0x6f, 0x64, 0x75, + 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, + 0x76, 0x32, 0x2e, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x66, 0x48, 0x00, 0x52, 0x16, + 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x66, + 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x5a, 0x0a, 0x18, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, + 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, + 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, + 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x48, 0x00, 0x52, 0x16, 0x69, 0x6e, 0x76, 0x61, + 0x6c, 0x69, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x12, 0x3f, 0x0a, 0x0f, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x66, 0x61, + 0x69, 0x6c, 0x75, 0x72, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, + 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6d, 0x70, 0x74, + 0x79, 0x48, 0x00, 0x52, 0x0e, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x46, 0x61, 0x69, 0x6c, + 0x75, 0x72, 0x65, 0x12, 0x56, 0x0a, 0x10, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x74, 0x6f, + 0x6f, 0x5f, 0x6c, 0x61, 0x72, 0x67, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, + 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, + 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, + 0x74, 0x54, 0x6f, 0x6f, 0x4c, 0x61, 0x72, 0x67, 0x65, 0x48, 0x00, 0x52, 0x0e, 0x61, 0x6d, 0x6f, + 0x75, 0x6e, 0x74, 0x54, 0x6f, 0x6f, 0x4c, 0x61, 0x72, 0x67, 0x65, 0x12, 0x4b, 0x0a, 0x15, 0x73, + 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x61, 0x69, + 0x6c, 0x75, 0x72, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, - 0x48, 0x00, 0x52, 0x1c, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, - 0x66, 0x65, 0x72, 0x54, 0x6f, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x50, 0x72, 0x6f, 0x6f, 0x66, - 0x12, 0x64, 0x0a, 0x1e, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x6d, - 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, - 0x65, 0x72, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, - 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x48, 0x00, 0x52, 0x1b, 0x65, 0x6e, 0x63, 0x72, 0x79, - 0x70, 0x74, 0x65, 0x64, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x65, 0x6c, 0x66, 0x54, 0x72, - 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x12, 0x64, 0x0a, 0x23, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, - 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x63, 0x72, 0x79, - 0x70, 0x74, 0x65, 0x64, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x18, 0x1c, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, - 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, 0x1f, 0x69, 0x6e, 0x76, - 0x61, 0x6c, 0x69, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x4f, 0x6e, 0x45, 0x6e, 0x63, 0x72, 0x79, - 0x70, 0x74, 0x65, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x12, 0x49, 0x0a, 0x14, - 0x7a, 0x65, 0x72, 0x6f, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x41, 0x6d, - 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6e, + 0x48, 0x00, 0x52, 0x14, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x12, 0x3a, 0x0a, 0x0d, 0x6f, 0x75, 0x74, 0x5f, + 0x6f, 0x66, 0x5f, 0x65, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, + 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, 0x0b, 0x6f, 0x75, 0x74, 0x4f, 0x66, 0x45, 0x6e, + 0x65, 0x72, 0x67, 0x79, 0x12, 0x4f, 0x0a, 0x0d, 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x65, 0x64, + 0x5f, 0x69, 0x6e, 0x69, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x63, 0x6f, + 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x6a, 0x65, + 0x63, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x65, + 0x64, 0x49, 0x6e, 0x69, 0x74, 0x48, 0x00, 0x52, 0x0c, 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x65, + 0x64, 0x49, 0x6e, 0x69, 0x74, 0x12, 0x58, 0x0a, 0x10, 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x65, + 0x64, 0x5f, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x2b, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, + 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x6a, + 0x65, 0x63, 0x74, 0x65, 0x64, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x48, 0x00, 0x52, 0x0f, + 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x65, 0x64, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x12, + 0x3b, 0x0a, 0x0d, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x6f, 0x66, + 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, + 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, 0x0c, + 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x12, 0x40, 0x0a, 0x0f, + 0x61, 0x6c, 0x72, 0x65, 0x61, 0x64, 0x79, 0x5f, 0x61, 0x5f, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x18, + 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, + 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x49, 0x64, 0x48, 0x00, 0x52, + 0x0d, 0x61, 0x6c, 0x72, 0x65, 0x61, 0x64, 0x79, 0x41, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x12, 0x3f, + 0x0a, 0x0b, 0x6e, 0x6f, 0x74, 0x5f, 0x61, 0x5f, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x18, 0x10, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, + 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x48, 0x00, 0x52, 0x09, 0x6e, 0x6f, 0x74, 0x41, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x12, + 0x66, 0x0a, 0x24, 0x69, 0x6e, 0x73, 0x75, 0x66, 0x66, 0x69, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x5f, + 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x62, 0x61, 0x6b, 0x65, + 0x72, 0x5f, 0x73, 0x74, 0x61, 0x6b, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, + 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6d, + 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, 0x20, 0x69, 0x6e, 0x73, 0x75, 0x66, 0x66, 0x69, 0x63, 0x69, + 0x65, 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x46, 0x6f, 0x72, 0x42, 0x61, 0x6b, + 0x65, 0x72, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x12, 0x6d, 0x0a, 0x28, 0x73, 0x74, 0x61, 0x6b, 0x65, + 0x5f, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x5f, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x74, + 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x62, 0x61, 0x6b, + 0x69, 0x6e, 0x67, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x63, + 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, + 0x00, 0x52, 0x23, 0x73, 0x74, 0x61, 0x6b, 0x65, 0x55, 0x6e, 0x64, 0x65, 0x72, 0x4d, 0x69, 0x6e, + 0x69, 0x6d, 0x75, 0x6d, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x46, 0x6f, 0x72, + 0x42, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x12, 0x42, 0x0a, 0x11, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x5f, + 0x69, 0x6e, 0x5f, 0x63, 0x6f, 0x6f, 0x6c, 0x64, 0x6f, 0x77, 0x6e, 0x18, 0x13, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, + 0x32, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, 0x0f, 0x62, 0x61, 0x6b, 0x65, 0x72, + 0x49, 0x6e, 0x43, 0x6f, 0x6f, 0x6c, 0x64, 0x6f, 0x77, 0x6e, 0x12, 0x66, 0x0a, 0x19, 0x64, 0x75, + 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, + 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x61, + 0x6b, 0x65, 0x72, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x65, + 0x72, 0x69, 0x66, 0x79, 0x4b, 0x65, 0x79, 0x48, 0x00, 0x52, 0x17, 0x64, 0x75, 0x70, 0x6c, 0x69, + 0x63, 0x61, 0x74, 0x65, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4b, + 0x65, 0x79, 0x12, 0x53, 0x0a, 0x1a, 0x6e, 0x6f, 0x6e, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x65, + 0x6e, 0x74, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x69, 0x64, + 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, + 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, 0x17, + 0x6e, 0x6f, 0x6e, 0x45, 0x78, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x64, 0x65, + 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x49, 0x64, 0x12, 0x4e, 0x0a, 0x18, 0x6b, 0x65, 0x79, 0x5f, 0x69, + 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x61, 0x6c, 0x72, 0x65, 0x61, 0x64, 0x79, 0x5f, 0x69, 0x6e, 0x5f, + 0x75, 0x73, 0x65, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x63, + 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, + 0x00, 0x52, 0x14, 0x6b, 0x65, 0x79, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x41, 0x6c, 0x72, 0x65, 0x61, + 0x64, 0x79, 0x49, 0x6e, 0x55, 0x73, 0x65, 0x12, 0x52, 0x0a, 0x19, 0x69, 0x6e, 0x76, 0x61, 0x6c, + 0x69, 0x64, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, + 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, - 0x48, 0x00, 0x52, 0x13, 0x7a, 0x65, 0x72, 0x6f, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, - 0x64, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x4e, 0x0a, 0x17, 0x6e, 0x6f, 0x6e, 0x5f, 0x69, - 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, - 0x6c, 0x65, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, - 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, - 0x52, 0x15, 0x6e, 0x6f, 0x6e, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x69, 0x6e, 0x67, 0x53, - 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x5d, 0x0a, 0x1f, 0x66, 0x69, 0x72, 0x73, 0x74, - 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x6c, 0x65, 0x61, - 0x73, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, - 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, 0x1c, 0x66, 0x69, 0x72, 0x73, 0x74, 0x53, - 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x45, - 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x12, 0x57, 0x0a, 0x17, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, - 0x6c, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, - 0x72, 0x18, 0x20, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, - 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x48, 0x00, 0x52, 0x15, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, - 0x6c, 0x65, 0x64, 0x53, 0x65, 0x6c, 0x66, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x12, - 0x47, 0x0a, 0x13, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x65, - 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x18, 0x21, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, - 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6d, 0x70, - 0x74, 0x79, 0x48, 0x00, 0x52, 0x12, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x43, 0x72, 0x65, - 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x5c, 0x0a, 0x12, 0x64, 0x75, 0x70, 0x6c, - 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x22, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, - 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, - 0x6e, 0x2e, 0x44, 0x75, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x43, 0x72, 0x65, 0x64, 0x49, - 0x64, 0x73, 0x48, 0x00, 0x52, 0x10, 0x64, 0x75, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x43, - 0x72, 0x65, 0x64, 0x49, 0x64, 0x73, 0x12, 0x63, 0x0a, 0x15, 0x6e, 0x6f, 0x6e, 0x5f, 0x65, 0x78, - 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x5f, 0x69, 0x64, 0x73, 0x18, - 0x23, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, - 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x61, 0x73, - 0x6f, 0x6e, 0x2e, 0x4e, 0x6f, 0x6e, 0x45, 0x78, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x72, - 0x65, 0x64, 0x49, 0x64, 0x73, 0x48, 0x00, 0x52, 0x12, 0x6e, 0x6f, 0x6e, 0x45, 0x78, 0x69, 0x73, - 0x74, 0x65, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x64, 0x49, 0x64, 0x73, 0x12, 0x4e, 0x0a, 0x17, 0x72, - 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x63, 0x72, 0x65, 0x64, - 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x18, 0x24, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, - 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6d, 0x70, - 0x74, 0x79, 0x48, 0x00, 0x52, 0x15, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x69, 0x72, 0x73, - 0x74, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x12, 0x5a, 0x0a, 0x1e, 0x63, - 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x68, 0x6f, 0x6c, 0x64, 0x65, 0x72, - 0x5f, 0x64, 0x69, 0x64, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x18, 0x25, 0x20, + 0x48, 0x00, 0x52, 0x17, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x41, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x12, 0x68, 0x0a, 0x25, 0x69, + 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, + 0x6c, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, + 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6e, + 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, + 0x48, 0x00, 0x52, 0x21, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x43, 0x72, 0x65, 0x64, 0x65, + 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x4b, 0x65, 0x79, 0x53, 0x69, 0x67, 0x6e, 0x54, 0x68, 0x72, 0x65, + 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x12, 0x6c, 0x0a, 0x27, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, + 0x5f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, + 0x74, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x6f, 0x6f, 0x66, + 0x18, 0x19, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, + 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, 0x23, + 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, + 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x50, 0x72, + 0x6f, 0x6f, 0x66, 0x12, 0x5e, 0x0a, 0x20, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x74, + 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x5f, 0x74, 0x6f, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, + 0x63, 0x5f, 0x70, 0x72, 0x6f, 0x6f, 0x66, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, + 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6d, + 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, 0x1c, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x54, 0x72, + 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x54, 0x6f, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x50, 0x72, + 0x6f, 0x6f, 0x66, 0x12, 0x64, 0x0a, 0x1e, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, + 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x74, 0x72, 0x61, + 0x6e, 0x73, 0x66, 0x65, 0x72, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, + 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x48, 0x00, 0x52, 0x1b, 0x65, 0x6e, + 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x65, 0x6c, + 0x66, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x12, 0x64, 0x0a, 0x23, 0x69, 0x6e, 0x76, + 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x6f, 0x6e, 0x5f, 0x65, 0x6e, + 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, + 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, + 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, 0x1f, + 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x4f, 0x6e, 0x45, 0x6e, + 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x12, + 0x49, 0x0a, 0x14, 0x7a, 0x65, 0x72, 0x6f, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, + 0x64, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, + 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6d, + 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, 0x13, 0x7a, 0x65, 0x72, 0x6f, 0x53, 0x63, 0x68, 0x65, 0x64, + 0x75, 0x6c, 0x65, 0x64, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x4e, 0x0a, 0x17, 0x6e, 0x6f, + 0x6e, 0x5f, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x63, 0x68, + 0x65, 0x64, 0x75, 0x6c, 0x65, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, + 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6d, 0x70, 0x74, + 0x79, 0x48, 0x00, 0x52, 0x15, 0x6e, 0x6f, 0x6e, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x69, + 0x6e, 0x67, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x5d, 0x0a, 0x1f, 0x66, 0x69, + 0x72, 0x73, 0x74, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x5f, 0x72, 0x65, + 0x6c, 0x65, 0x61, 0x73, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, - 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, 0x1a, 0x63, 0x72, 0x65, - 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x48, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x44, 0x69, 0x64, - 0x4e, 0x6f, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x12, 0x5f, 0x0a, 0x20, 0x6e, 0x6f, 0x74, 0x5f, 0x61, - 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x5f, - 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x18, 0x26, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, - 0x32, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, 0x1d, 0x6e, 0x6f, 0x74, 0x41, 0x6c, - 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x43, 0x72, 0x65, - 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x5e, 0x0a, 0x20, 0x6e, 0x6f, 0x74, 0x5f, - 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x5f, 0x72, 0x65, 0x63, 0x65, 0x69, - 0x76, 0x65, 0x5f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x18, 0x27, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, - 0x76, 0x32, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, 0x1c, 0x6e, 0x6f, 0x74, 0x41, - 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x54, 0x6f, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x45, - 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x12, 0x5c, 0x0a, 0x1f, 0x6e, 0x6f, 0x74, 0x5f, - 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x5f, 0x68, 0x61, 0x6e, 0x64, 0x6c, - 0x65, 0x5f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x18, 0x28, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, - 0x32, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, 0x1b, 0x6e, 0x6f, 0x74, 0x41, 0x6c, - 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x54, 0x6f, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x45, 0x6e, 0x63, - 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x12, 0x57, 0x0a, 0x1c, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, - 0x67, 0x5f, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x5f, 0x70, 0x61, 0x72, 0x61, - 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x29, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, - 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6d, 0x70, - 0x74, 0x79, 0x48, 0x00, 0x52, 0x19, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x42, 0x61, 0x6b, - 0x65, 0x72, 0x41, 0x64, 0x64, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, - 0x73, 0x0a, 0x2b, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x2a, + 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, 0x1c, 0x66, 0x69, 0x72, + 0x73, 0x74, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x6c, 0x65, 0x61, + 0x73, 0x65, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x12, 0x57, 0x0a, 0x17, 0x73, 0x63, 0x68, + 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x74, 0x72, 0x61, 0x6e, + 0x73, 0x66, 0x65, 0x72, 0x18, 0x20, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, + 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x48, 0x00, 0x52, 0x15, 0x73, 0x63, 0x68, + 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x6c, 0x66, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, + 0x65, 0x72, 0x12, 0x47, 0x0a, 0x13, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x63, 0x72, + 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x18, 0x21, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, + 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, 0x12, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, + 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x5c, 0x0a, 0x12, 0x64, + 0x75, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x5f, 0x69, 0x64, + 0x73, 0x18, 0x22, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, + 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, + 0x61, 0x73, 0x6f, 0x6e, 0x2e, 0x44, 0x75, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x43, 0x72, + 0x65, 0x64, 0x49, 0x64, 0x73, 0x48, 0x00, 0x52, 0x10, 0x64, 0x75, 0x70, 0x6c, 0x69, 0x63, 0x61, + 0x74, 0x65, 0x43, 0x72, 0x65, 0x64, 0x49, 0x64, 0x73, 0x12, 0x63, 0x0a, 0x15, 0x6e, 0x6f, 0x6e, + 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x5f, 0x69, + 0x64, 0x73, 0x18, 0x23, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, + 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x52, + 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x2e, 0x4e, 0x6f, 0x6e, 0x45, 0x78, 0x69, 0x73, 0x74, 0x65, 0x6e, + 0x74, 0x43, 0x72, 0x65, 0x64, 0x49, 0x64, 0x73, 0x48, 0x00, 0x52, 0x12, 0x6e, 0x6f, 0x6e, 0x45, + 0x78, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x64, 0x49, 0x64, 0x73, 0x12, 0x4e, + 0x0a, 0x17, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x63, + 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x18, 0x24, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, + 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, 0x15, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, + 0x69, 0x72, 0x73, 0x74, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x12, 0x5a, + 0x0a, 0x1e, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x68, 0x6f, 0x6c, + 0x64, 0x65, 0x72, 0x5f, 0x64, 0x69, 0x64, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x73, 0x69, 0x67, 0x6e, + 0x18, 0x25, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, + 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, 0x1a, + 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x48, 0x6f, 0x6c, 0x64, 0x65, 0x72, + 0x44, 0x69, 0x64, 0x4e, 0x6f, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x12, 0x5f, 0x0a, 0x20, 0x6e, 0x6f, + 0x74, 0x5f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, + 0x6c, 0x65, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x18, 0x26, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, - 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, 0x26, 0x66, 0x69, - 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, - 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x49, 0x6e, 0x52, - 0x61, 0x6e, 0x67, 0x65, 0x12, 0x67, 0x0a, 0x25, 0x62, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x72, - 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x2b, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, - 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, 0x20, 0x62, 0x61, 0x6b, - 0x69, 0x6e, 0x67, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x49, 0x6e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x6b, 0x0a, - 0x27, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x65, 0x65, - 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, - 0x69, 0x6e, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x2c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, - 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, - 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, 0x22, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x46, 0x65, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x4e, 0x6f, 0x74, 0x49, 0x6e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x46, 0x0a, 0x13, 0x61, 0x6c, - 0x72, 0x65, 0x61, 0x64, 0x79, 0x5f, 0x61, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, - 0x72, 0x18, 0x2d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, - 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, - 0x11, 0x61, 0x6c, 0x72, 0x65, 0x61, 0x64, 0x79, 0x41, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, - 0x6f, 0x72, 0x12, 0x70, 0x0a, 0x29, 0x69, 0x6e, 0x73, 0x75, 0x66, 0x66, 0x69, 0x63, 0x69, 0x65, - 0x6e, 0x74, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x64, - 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x6b, 0x65, 0x18, - 0x2e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, - 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, 0x25, 0x69, - 0x6e, 0x73, 0x75, 0x66, 0x66, 0x69, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, - 0x63, 0x65, 0x46, 0x6f, 0x72, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, - 0x74, 0x61, 0x6b, 0x65, 0x12, 0x61, 0x0a, 0x21, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, - 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x64, 0x64, 0x5f, 0x70, - 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x2f, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, 0x1d, 0x6e, 0x6f, + 0x74, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, + 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x5e, 0x0a, 0x20, 0x6e, + 0x6f, 0x74, 0x5f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x5f, 0x72, 0x65, + 0x63, 0x65, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x18, + 0x27, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, + 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, 0x1c, 0x6e, + 0x6f, 0x74, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x54, 0x6f, 0x52, 0x65, 0x63, 0x65, 0x69, + 0x76, 0x65, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x12, 0x5c, 0x0a, 0x1f, 0x6e, + 0x6f, 0x74, 0x5f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x5f, 0x68, 0x61, + 0x6e, 0x64, 0x6c, 0x65, 0x5f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x18, 0x28, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, + 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, 0x1b, 0x6e, 0x6f, + 0x74, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x54, 0x6f, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, + 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x12, 0x57, 0x0a, 0x1c, 0x6d, 0x69, 0x73, + 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x5f, 0x70, + 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x29, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, - 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, 0x1e, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, - 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x64, 0x64, 0x50, 0x61, 0x72, - 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x5a, 0x0a, 0x1d, 0x69, 0x6e, 0x73, 0x75, 0x66, - 0x66, 0x69, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x6b, 0x65, 0x18, 0x30, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, - 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, - 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, 0x1b, 0x69, 0x6e, 0x73, 0x75, 0x66, 0x66, 0x69, 0x63, - 0x69, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, - 0x61, 0x6b, 0x65, 0x12, 0x4a, 0x0a, 0x15, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, - 0x5f, 0x69, 0x6e, 0x5f, 0x63, 0x6f, 0x6f, 0x6c, 0x64, 0x6f, 0x77, 0x6e, 0x18, 0x31, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, - 0x76, 0x32, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, 0x13, 0x64, 0x65, 0x6c, 0x65, - 0x67, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x6e, 0x43, 0x6f, 0x6f, 0x6c, 0x64, 0x6f, 0x77, 0x6e, 0x12, - 0x47, 0x0a, 0x0f, 0x6e, 0x6f, 0x74, 0x5f, 0x61, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, - 0x6f, 0x72, 0x18, 0x32, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, - 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x48, 0x00, 0x52, 0x0d, 0x6e, 0x6f, 0x74, 0x41, 0x44, - 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x5a, 0x0a, 0x1d, 0x64, 0x65, 0x6c, 0x65, - 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6e, 0x6f, - 0x74, 0x5f, 0x61, 0x5f, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x18, 0x33, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x16, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, - 0x42, 0x61, 0x6b, 0x65, 0x72, 0x49, 0x64, 0x48, 0x00, 0x52, 0x19, 0x64, 0x65, 0x6c, 0x65, 0x67, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x41, 0x42, - 0x61, 0x6b, 0x65, 0x72, 0x12, 0x67, 0x0a, 0x25, 0x73, 0x74, 0x61, 0x6b, 0x65, 0x5f, 0x6f, 0x76, - 0x65, 0x72, 0x5f, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, - 0x68, 0x6f, 0x6c, 0x64, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x18, 0x34, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, - 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, 0x20, 0x73, 0x74, 0x61, - 0x6b, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x4d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x54, 0x68, 0x72, - 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x46, 0x6f, 0x72, 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x5e, 0x0a, - 0x20, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x77, 0x6f, 0x75, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x63, 0x6f, - 0x6d, 0x65, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, - 0x64, 0x18, 0x35, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, + 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, 0x19, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, + 0x42, 0x61, 0x6b, 0x65, 0x72, 0x41, 0x64, 0x64, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, + 0x72, 0x73, 0x12, 0x73, 0x0a, 0x2b, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x5f, 0x72, 0x61, 0x6e, 0x67, + 0x65, 0x18, 0x2a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, - 0x1c, 0x70, 0x6f, 0x6f, 0x6c, 0x57, 0x6f, 0x75, 0x6c, 0x64, 0x42, 0x65, 0x63, 0x6f, 0x6d, 0x65, - 0x4f, 0x76, 0x65, 0x72, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x12, 0x37, 0x0a, - 0x0b, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x18, 0x36, 0x20, 0x01, + 0x26, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x77, + 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, + 0x49, 0x6e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x67, 0x0a, 0x25, 0x62, 0x61, 0x6b, 0x69, 0x6e, + 0x67, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, + 0x18, 0x2b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, + 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, 0x20, + 0x62, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6d, 0x6d, + 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x49, 0x6e, 0x52, 0x61, 0x6e, 0x67, 0x65, + 0x12, 0x6b, 0x0a, 0x27, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x66, 0x65, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, + 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x2c, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, + 0x32, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, 0x22, 0x74, 0x72, 0x61, 0x6e, 0x73, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x65, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x49, 0x6e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x46, 0x0a, + 0x13, 0x61, 0x6c, 0x72, 0x65, 0x61, 0x64, 0x79, 0x5f, 0x61, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x67, + 0x61, 0x74, 0x6f, 0x72, 0x18, 0x2d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6e, + 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, + 0x48, 0x00, 0x52, 0x11, 0x61, 0x6c, 0x72, 0x65, 0x61, 0x64, 0x79, 0x41, 0x44, 0x65, 0x6c, 0x65, + 0x67, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x70, 0x0a, 0x29, 0x69, 0x6e, 0x73, 0x75, 0x66, 0x66, 0x69, + 0x63, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x66, 0x6f, + 0x72, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, + 0x6b, 0x65, 0x18, 0x2e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, + 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, + 0x52, 0x25, 0x69, 0x6e, 0x73, 0x75, 0x66, 0x66, 0x69, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x42, 0x61, + 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x46, 0x6f, 0x72, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x12, 0x61, 0x0a, 0x21, 0x6d, 0x69, 0x73, 0x73, 0x69, + 0x6e, 0x67, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x64, + 0x64, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x2f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, - 0x76, 0x32, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, 0x0a, 0x70, 0x6f, 0x6f, 0x6c, - 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x1a, 0x82, 0x01, 0x0a, 0x11, 0x49, 0x6e, 0x76, 0x61, 0x6c, - 0x69, 0x64, 0x49, 0x6e, 0x69, 0x74, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x37, 0x0a, 0x0a, - 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x18, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, - 0x2e, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x66, 0x52, 0x09, 0x6d, 0x6f, 0x64, 0x75, - 0x6c, 0x65, 0x52, 0x65, 0x66, 0x12, 0x34, 0x0a, 0x09, 0x69, 0x6e, 0x69, 0x74, 0x5f, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, - 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6e, 0x69, 0x74, 0x4e, 0x61, 0x6d, - 0x65, 0x52, 0x08, 0x69, 0x6e, 0x69, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x1a, 0x8e, 0x01, 0x0a, 0x14, - 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x4d, 0x65, - 0x74, 0x68, 0x6f, 0x64, 0x12, 0x37, 0x0a, 0x0a, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x72, - 0x65, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, + 0x76, 0x32, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, 0x1e, 0x6d, 0x69, 0x73, 0x73, + 0x69, 0x6e, 0x67, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x64, 0x64, + 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x5a, 0x0a, 0x1d, 0x69, 0x6e, + 0x73, 0x75, 0x66, 0x66, 0x69, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x67, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x6b, 0x65, 0x18, 0x30, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, + 0x32, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, 0x1b, 0x69, 0x6e, 0x73, 0x75, 0x66, + 0x66, 0x69, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x12, 0x4a, 0x0a, 0x15, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, + 0x74, 0x6f, 0x72, 0x5f, 0x69, 0x6e, 0x5f, 0x63, 0x6f, 0x6f, 0x6c, 0x64, 0x6f, 0x77, 0x6e, 0x18, + 0x31, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, + 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, 0x13, 0x64, + 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x6e, 0x43, 0x6f, 0x6f, 0x6c, 0x64, 0x6f, + 0x77, 0x6e, 0x12, 0x47, 0x0a, 0x0f, 0x6e, 0x6f, 0x74, 0x5f, 0x61, 0x5f, 0x64, 0x65, 0x6c, 0x65, + 0x67, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x32, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, + 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x48, 0x00, 0x52, 0x0d, 0x6e, 0x6f, + 0x74, 0x41, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x5a, 0x0a, 0x1d, 0x64, + 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x61, 0x5f, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x18, 0x33, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, + 0x76, 0x32, 0x2e, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x49, 0x64, 0x48, 0x00, 0x52, 0x19, 0x64, 0x65, + 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4e, 0x6f, + 0x74, 0x41, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x12, 0x67, 0x0a, 0x25, 0x73, 0x74, 0x61, 0x6b, 0x65, + 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x5f, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x74, 0x68, + 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, + 0x18, 0x34, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, + 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, 0x20, + 0x73, 0x74, 0x61, 0x6b, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x4d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, + 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x46, 0x6f, 0x72, 0x50, 0x6f, 0x6f, 0x6c, + 0x12, 0x5e, 0x0a, 0x20, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x77, 0x6f, 0x75, 0x6c, 0x64, 0x5f, 0x62, + 0x65, 0x63, 0x6f, 0x6d, 0x65, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x67, + 0x61, 0x74, 0x65, 0x64, 0x18, 0x35, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6e, + 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, + 0x48, 0x00, 0x52, 0x1c, 0x70, 0x6f, 0x6f, 0x6c, 0x57, 0x6f, 0x75, 0x6c, 0x64, 0x42, 0x65, 0x63, + 0x6f, 0x6d, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, + 0x12, 0x37, 0x0a, 0x0b, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x18, + 0x36, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, + 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, 0x0a, 0x70, + 0x6f, 0x6f, 0x6c, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x1a, 0x82, 0x01, 0x0a, 0x11, 0x49, 0x6e, + 0x76, 0x61, 0x6c, 0x69, 0x64, 0x49, 0x6e, 0x69, 0x74, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, + 0x37, 0x0a, 0x0a, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x66, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, + 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x66, 0x52, 0x09, 0x6d, + 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x66, 0x12, 0x34, 0x0a, 0x09, 0x69, 0x6e, 0x69, 0x74, + 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x6f, + 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6e, 0x69, 0x74, + 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x08, 0x69, 0x6e, 0x69, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x1a, 0x8e, + 0x01, 0x0a, 0x14, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, + 0x65, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x37, 0x0a, 0x0a, 0x6d, 0x6f, 0x64, 0x75, 0x6c, + 0x65, 0x5f, 0x72, 0x65, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6f, + 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x6f, 0x64, 0x75, + 0x6c, 0x65, 0x52, 0x65, 0x66, 0x52, 0x09, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x66, + 0x12, 0x3d, 0x0a, 0x0c, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, + 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x4e, 0x61, + 0x6d, 0x65, 0x52, 0x0b, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x1a, + 0x71, 0x0a, 0x0e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x6f, 0x6f, 0x4c, 0x61, 0x72, 0x67, + 0x65, 0x12, 0x30, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, + 0x76, 0x32, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x12, 0x2d, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, + 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, + 0x6e, 0x74, 0x1a, 0x33, 0x0a, 0x0c, 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x65, 0x64, 0x49, 0x6e, + 0x69, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x61, + 0x73, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x72, 0x65, 0x6a, 0x65, 0x63, + 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x1a, 0xf8, 0x01, 0x0a, 0x0f, 0x52, 0x65, 0x6a, 0x65, + 0x63, 0x74, 0x65, 0x64, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x72, + 0x65, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x0c, 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, + 0x12, 0x49, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5f, 0x61, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, + 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, + 0x61, 0x63, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x74, + 0x72, 0x61, 0x63, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x3d, 0x0a, 0x0c, 0x72, + 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, + 0x32, 0x2e, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x0b, 0x72, + 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x36, 0x0a, 0x09, 0x70, 0x61, + 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, + 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x61, + 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x52, 0x09, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, + 0x65, 0x72, 0x1a, 0x4d, 0x0a, 0x10, 0x44, 0x75, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x43, + 0x72, 0x65, 0x64, 0x49, 0x64, 0x73, 0x12, 0x39, 0x0a, 0x03, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, + 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x52, 0x65, + 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x52, 0x03, 0x69, 0x64, + 0x73, 0x1a, 0x4f, 0x0a, 0x12, 0x4e, 0x6f, 0x6e, 0x45, 0x78, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, + 0x43, 0x72, 0x65, 0x64, 0x49, 0x64, 0x73, 0x12, 0x39, 0x0a, 0x03, 0x69, 0x64, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, + 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x52, + 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x52, 0x03, 0x69, + 0x64, 0x73, 0x42, 0x08, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x22, 0xab, 0x03, 0x0a, + 0x18, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, + 0x69, 0x7a, 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x49, 0x0a, 0x10, 0x63, 0x6f, 0x6e, + 0x74, 0x72, 0x61, 0x63, 0x74, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, + 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x56, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x56, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x37, 0x0a, 0x0a, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x72, + 0x65, 0x66, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x52, - 0x65, 0x66, 0x52, 0x09, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x66, 0x12, 0x3d, 0x0a, - 0x0c, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, - 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x52, - 0x0b, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x1a, 0x71, 0x0a, 0x0e, - 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x6f, 0x6f, 0x4c, 0x61, 0x72, 0x67, 0x65, 0x12, 0x30, - 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x16, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, - 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, - 0x12, 0x2d, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, - 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x1a, - 0x33, 0x0a, 0x0c, 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x65, 0x64, 0x49, 0x6e, 0x69, 0x74, 0x12, - 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, - 0x61, 0x73, 0x6f, 0x6e, 0x1a, 0xf8, 0x01, 0x0a, 0x0f, 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x65, - 0x64, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x6a, 0x65, - 0x63, 0x74, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x0c, 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x49, 0x0a, - 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, - 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, - 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, - 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x3d, 0x0a, 0x0c, 0x72, 0x65, 0x63, 0x65, - 0x69, 0x76, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, - 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x52, - 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x0b, 0x72, 0x65, 0x63, 0x65, - 0x69, 0x76, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x36, 0x0a, 0x09, 0x70, 0x61, 0x72, 0x61, 0x6d, - 0x65, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6f, 0x6e, - 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, - 0x65, 0x74, 0x65, 0x72, 0x52, 0x09, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x1a, - 0x4d, 0x0a, 0x10, 0x44, 0x75, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x43, 0x72, 0x65, 0x64, - 0x49, 0x64, 0x73, 0x12, 0x39, 0x0a, 0x03, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x27, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, - 0x2e, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x73, - 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x52, 0x03, 0x69, 0x64, 0x73, 0x1a, 0x4f, - 0x0a, 0x12, 0x4e, 0x6f, 0x6e, 0x45, 0x78, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x72, 0x65, - 0x64, 0x49, 0x64, 0x73, 0x12, 0x39, 0x0a, 0x03, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, - 0x32, 0x2e, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x52, 0x65, 0x67, 0x69, - 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x52, 0x03, 0x69, 0x64, 0x73, 0x42, - 0x08, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x22, 0xf3, 0x02, 0x0a, 0x18, 0x43, 0x6f, - 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, - 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x49, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, - 0x63, 0x74, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, - 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x12, 0x37, 0x0a, 0x0a, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x72, 0x65, 0x66, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, - 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x66, 0x52, - 0x09, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x66, 0x12, 0x38, 0x0a, 0x07, 0x61, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, - 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6e, 0x74, - 0x72, 0x61, 0x63, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x07, 0x61, 0x64, 0x64, - 0x72, 0x65, 0x73, 0x73, 0x12, 0x2d, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, - 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x06, 0x61, 0x6d, 0x6f, - 0x75, 0x6e, 0x74, 0x12, 0x34, 0x0a, 0x09, 0x69, 0x6e, 0x69, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, - 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6e, 0x69, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x52, - 0x08, 0x69, 0x6e, 0x69, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x34, 0x0a, 0x06, 0x65, 0x76, 0x65, - 0x6e, 0x74, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x6f, 0x6e, 0x63, - 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, - 0x63, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x22, - 0x25, 0x0a, 0x0d, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, - 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xaf, 0x03, 0x0a, 0x14, 0x49, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, - 0x49, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5f, 0x76, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, - 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, - 0x63, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x74, 0x72, - 0x61, 0x63, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x38, 0x0a, 0x07, 0x61, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, - 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6e, 0x74, - 0x72, 0x61, 0x63, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x07, 0x61, 0x64, 0x64, - 0x72, 0x65, 0x73, 0x73, 0x12, 0x36, 0x0a, 0x0a, 0x69, 0x6e, 0x73, 0x74, 0x69, 0x67, 0x61, 0x74, - 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, - 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, - 0x52, 0x0a, 0x69, 0x6e, 0x73, 0x74, 0x69, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x2d, 0x0a, 0x06, - 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, - 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, - 0x75, 0x6e, 0x74, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x36, 0x0a, 0x09, 0x70, - 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, - 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x50, - 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x52, 0x09, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, - 0x74, 0x65, 0x72, 0x12, 0x3d, 0x0a, 0x0c, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x5f, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x6f, 0x6e, 0x63, - 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, - 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x0b, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x4e, 0x61, - 0x6d, 0x65, 0x12, 0x34, 0x0a, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x07, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, - 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, - 0x52, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x22, 0xd0, 0x07, 0x0a, 0x14, 0x43, 0x6f, 0x6e, - 0x74, 0x72, 0x61, 0x63, 0x74, 0x54, 0x72, 0x61, 0x63, 0x65, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, - 0x74, 0x12, 0x3f, 0x0a, 0x07, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, - 0x76, 0x32, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x07, 0x75, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x64, 0x12, 0x53, 0x0a, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x72, 0x65, - 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, - 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, - 0x54, 0x72, 0x61, 0x63, 0x65, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x54, 0x72, 0x61, - 0x6e, 0x73, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x48, 0x00, 0x52, 0x0b, 0x74, 0x72, 0x61, 0x6e, - 0x73, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x12, 0x53, 0x0a, 0x0b, 0x69, 0x6e, 0x74, 0x65, 0x72, - 0x72, 0x75, 0x70, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x63, + 0x65, 0x66, 0x52, 0x09, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x66, 0x12, 0x38, 0x0a, + 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, + 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x43, + 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x07, + 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x2d, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, + 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, + 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x06, + 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x34, 0x0a, 0x09, 0x69, 0x6e, 0x69, 0x74, 0x5f, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x6f, 0x6e, 0x63, + 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6e, 0x69, 0x74, 0x4e, 0x61, + 0x6d, 0x65, 0x52, 0x08, 0x69, 0x6e, 0x69, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x34, 0x0a, 0x06, + 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6e, - 0x74, 0x72, 0x61, 0x63, 0x74, 0x54, 0x72, 0x61, 0x63, 0x65, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, - 0x74, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x72, 0x75, 0x70, 0x74, 0x65, 0x64, 0x48, 0x00, 0x52, - 0x0b, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x72, 0x75, 0x70, 0x74, 0x65, 0x64, 0x12, 0x47, 0x0a, 0x07, - 0x72, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, + 0x74, 0x72, 0x61, 0x63, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x65, 0x76, 0x65, 0x6e, + 0x74, 0x73, 0x12, 0x36, 0x0a, 0x09, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, + 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x52, + 0x09, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x22, 0x25, 0x0a, 0x0d, 0x43, 0x6f, + 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x22, 0xaf, 0x03, 0x0a, 0x14, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x49, 0x0a, 0x10, 0x63, 0x6f, + 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, + 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x56, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x56, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x38, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, + 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x41, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, + 0x36, 0x0a, 0x0a, 0x69, 0x6e, 0x73, 0x74, 0x69, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, + 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x0a, 0x69, 0x6e, 0x73, + 0x74, 0x69, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x2d, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, + 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, + 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x06, + 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x36, 0x0a, 0x09, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, + 0x74, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6f, 0x6e, 0x63, + 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, + 0x74, 0x65, 0x72, 0x52, 0x09, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x12, 0x3d, + 0x0a, 0x0c, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, + 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x4e, 0x61, 0x6d, 0x65, + 0x52, 0x0b, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x34, 0x0a, + 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, - 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x54, 0x72, 0x61, 0x63, 0x65, 0x45, 0x6c, 0x65, 0x6d, 0x65, - 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x64, 0x48, 0x00, 0x52, 0x07, 0x72, 0x65, - 0x73, 0x75, 0x6d, 0x65, 0x64, 0x12, 0x4a, 0x0a, 0x08, 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, - 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, + 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x65, 0x76, 0x65, + 0x6e, 0x74, 0x73, 0x22, 0xd0, 0x07, 0x0a, 0x14, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, + 0x54, 0x72, 0x61, 0x63, 0x65, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x3f, 0x0a, 0x07, + 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, + 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x48, 0x00, 0x52, 0x07, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, 0x53, 0x0a, + 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, + 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x54, 0x72, 0x61, 0x63, 0x65, + 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, + 0x72, 0x65, 0x64, 0x48, 0x00, 0x52, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x72, + 0x65, 0x64, 0x12, 0x53, 0x0a, 0x0b, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x72, 0x75, 0x70, 0x74, 0x65, + 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, - 0x54, 0x72, 0x61, 0x63, 0x65, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x67, - 0x72, 0x61, 0x64, 0x65, 0x64, 0x48, 0x00, 0x52, 0x08, 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, - 0x64, 0x1a, 0xaf, 0x01, 0x0a, 0x0b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x72, 0x65, - 0x64, 0x12, 0x36, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, - 0x32, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x2d, 0x0a, 0x06, 0x61, 0x6d, 0x6f, - 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, - 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, - 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x39, 0x0a, 0x08, 0x72, 0x65, 0x63, 0x65, - 0x69, 0x76, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, - 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x08, 0x72, 0x65, 0x63, 0x65, 0x69, - 0x76, 0x65, 0x72, 0x1a, 0x7d, 0x0a, 0x0b, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x72, 0x75, 0x70, 0x74, - 0x65, 0x64, 0x12, 0x38, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, - 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x41, 0x64, 0x64, 0x72, - 0x65, 0x73, 0x73, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x34, 0x0a, 0x06, - 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, + 0x54, 0x72, 0x61, 0x63, 0x65, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x49, 0x6e, 0x74, + 0x65, 0x72, 0x72, 0x75, 0x70, 0x74, 0x65, 0x64, 0x48, 0x00, 0x52, 0x0b, 0x69, 0x6e, 0x74, 0x65, + 0x72, 0x72, 0x75, 0x70, 0x74, 0x65, 0x64, 0x12, 0x47, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6d, + 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, + 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, + 0x74, 0x54, 0x72, 0x61, 0x63, 0x65, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x52, 0x65, + 0x73, 0x75, 0x6d, 0x65, 0x64, 0x48, 0x00, 0x52, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x64, + 0x12, 0x4a, 0x0a, 0x08, 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, + 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x54, 0x72, 0x61, 0x63, 0x65, + 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x64, + 0x48, 0x00, 0x52, 0x08, 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x64, 0x1a, 0xaf, 0x01, 0x0a, + 0x0b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x12, 0x36, 0x0a, 0x06, + 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6e, - 0x74, 0x72, 0x61, 0x63, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x65, 0x76, 0x65, 0x6e, - 0x74, 0x73, 0x1a, 0x5d, 0x0a, 0x07, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x64, 0x12, 0x38, 0x0a, + 0x74, 0x72, 0x61, 0x63, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x06, 0x73, 0x65, + 0x6e, 0x64, 0x65, 0x72, 0x12, 0x2d, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, + 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x06, 0x61, 0x6d, 0x6f, + 0x75, 0x6e, 0x74, 0x12, 0x39, 0x0a, 0x08, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, + 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x52, 0x08, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x1a, 0x7d, + 0x0a, 0x0b, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x72, 0x75, 0x70, 0x74, 0x65, 0x64, 0x12, 0x38, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x07, - 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x1a, 0x9c, 0x01, 0x0a, 0x08, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x64, 0x12, 0x38, - 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x34, 0x0a, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, + 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, + 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x1a, 0x5d, 0x0a, + 0x07, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x64, 0x12, 0x38, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, + 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, + 0x63, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x1a, 0x9c, 0x01, 0x0a, + 0x08, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x64, 0x12, 0x38, 0x0a, 0x07, 0x61, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, + 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, + 0x61, 0x63, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x12, 0x2c, 0x0a, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, + 0x32, 0x2e, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x66, 0x52, 0x04, 0x66, 0x72, 0x6f, + 0x6d, 0x12, 0x28, 0x0a, 0x02, 0x74, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, + 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x6f, + 0x64, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x66, 0x52, 0x02, 0x74, 0x6f, 0x42, 0x09, 0x0a, 0x07, 0x65, + 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0xdc, 0x02, 0x0a, 0x0e, 0x42, 0x61, 0x6b, 0x65, 0x72, + 0x4b, 0x65, 0x79, 0x73, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x31, 0x0a, 0x08, 0x62, 0x61, 0x6b, + 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x6f, + 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x61, 0x6b, 0x65, + 0x72, 0x49, 0x64, 0x52, 0x07, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x49, 0x64, 0x12, 0x37, 0x0a, 0x07, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, + 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x07, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x41, 0x0a, 0x08, 0x73, 0x69, 0x67, 0x6e, 0x5f, 0x6b, 0x65, + 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, + 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x53, 0x69, 0x67, + 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x4b, 0x65, 0x79, 0x52, + 0x07, 0x73, 0x69, 0x67, 0x6e, 0x4b, 0x65, 0x79, 0x12, 0x48, 0x0a, 0x0c, 0x65, 0x6c, 0x65, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, + 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, + 0x61, 0x6b, 0x65, 0x72, 0x45, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x65, 0x72, 0x69, + 0x66, 0x79, 0x4b, 0x65, 0x79, 0x52, 0x0b, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4b, + 0x65, 0x79, 0x12, 0x51, 0x0a, 0x0f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x63, 0x6f, + 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x61, 0x6b, 0x65, + 0x72, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x65, 0x72, 0x69, + 0x66, 0x79, 0x4b, 0x65, 0x79, 0x52, 0x0e, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x22, 0x1c, 0x0a, 0x04, 0x4d, 0x65, 0x6d, 0x6f, 0x12, 0x14, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x22, 0x9c, 0x01, 0x0a, 0x15, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x53, 0x74, 0x61, + 0x6b, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x31, 0x0a, + 0x08, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x16, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, + 0x42, 0x61, 0x6b, 0x65, 0x72, 0x49, 0x64, 0x52, 0x07, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x49, 0x64, + 0x12, 0x32, 0x0a, 0x09, 0x6e, 0x65, 0x77, 0x5f, 0x73, 0x74, 0x61, 0x6b, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, + 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x08, 0x6e, 0x65, 0x77, 0x53, + 0x74, 0x61, 0x6b, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, + 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, + 0x65, 0x64, 0x22, 0xf8, 0x01, 0x0a, 0x1b, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, + 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x12, 0x37, 0x0a, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, + 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x52, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x3d, 0x0a, 0x0a, 0x6e, + 0x65, 0x77, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, - 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, - 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x2c, 0x0a, 0x04, 0x66, 0x72, 0x6f, 0x6d, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, - 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x66, - 0x52, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x12, 0x28, 0x0a, 0x02, 0x74, 0x6f, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, - 0x76, 0x32, 0x2e, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x66, 0x52, 0x02, 0x74, 0x6f, - 0x42, 0x09, 0x0a, 0x07, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0xdc, 0x02, 0x0a, 0x0e, - 0x42, 0x61, 0x6b, 0x65, 0x72, 0x4b, 0x65, 0x79, 0x73, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x31, - 0x0a, 0x08, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x16, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, - 0x2e, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x49, 0x64, 0x52, 0x07, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x49, - 0x64, 0x12, 0x37, 0x0a, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, - 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x52, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x41, 0x0a, 0x08, 0x73, 0x69, - 0x67, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x63, - 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x61, 0x6b, - 0x65, 0x72, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x65, 0x72, 0x69, 0x66, - 0x79, 0x4b, 0x65, 0x79, 0x52, 0x07, 0x73, 0x69, 0x67, 0x6e, 0x4b, 0x65, 0x79, 0x12, 0x48, 0x0a, - 0x0c, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, - 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x45, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x4b, 0x65, 0x79, 0x52, 0x0b, 0x65, 0x6c, 0x65, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x12, 0x51, 0x0a, 0x0f, 0x61, 0x67, 0x67, 0x72, 0x65, - 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x28, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, - 0x2e, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x4b, 0x65, 0x79, 0x52, 0x0e, 0x61, 0x67, 0x67, 0x72, - 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x22, 0x1c, 0x0a, 0x04, 0x4d, 0x65, - 0x6d, 0x6f, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x9c, 0x01, 0x0a, 0x15, 0x42, 0x61, 0x6b, - 0x65, 0x72, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x44, 0x61, - 0x74, 0x61, 0x12, 0x31, 0x0a, 0x08, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, - 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x49, 0x64, 0x52, 0x07, 0x62, 0x61, - 0x6b, 0x65, 0x72, 0x49, 0x64, 0x12, 0x32, 0x0a, 0x09, 0x6e, 0x65, 0x77, 0x5f, 0x73, 0x74, 0x61, - 0x6b, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, - 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, - 0x08, 0x6e, 0x65, 0x77, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x6e, 0x63, - 0x72, 0x65, 0x61, 0x73, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x6e, - 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x64, 0x22, 0xf8, 0x01, 0x0a, 0x1b, 0x45, 0x6e, 0x63, 0x72, - 0x79, 0x70, 0x74, 0x65, 0x64, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x76, - 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x37, 0x0a, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, - 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x12, 0x3d, 0x0a, 0x0a, 0x6e, 0x65, 0x77, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, - 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x41, 0x6d, - 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x09, 0x6e, 0x65, 0x77, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, - 0x41, 0x0a, 0x0c, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, - 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x41, - 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0b, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x41, 0x6d, 0x6f, 0x75, - 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x0b, 0x75, 0x70, 0x5f, 0x74, 0x6f, 0x5f, 0x69, 0x6e, 0x64, 0x65, - 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x75, 0x70, 0x54, 0x6f, 0x49, 0x6e, 0x64, - 0x65, 0x78, 0x22, 0xbc, 0x01, 0x0a, 0x17, 0x4e, 0x65, 0x77, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, - 0x74, 0x65, 0x64, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x39, - 0x0a, 0x08, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, - 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, - 0x08, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x65, 0x77, - 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x6e, 0x65, - 0x77, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x49, 0x0a, 0x10, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, - 0x74, 0x65, 0x64, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, - 0x2e, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, - 0x52, 0x0f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x41, 0x6d, 0x6f, 0x75, 0x6e, - 0x74, 0x22, 0xc6, 0x01, 0x0a, 0x1d, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x53, - 0x65, 0x6c, 0x66, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x65, 0x64, 0x45, 0x76, - 0x65, 0x6e, 0x74, 0x12, 0x37, 0x0a, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, - 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, - 0x65, 0x73, 0x73, 0x52, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x3d, 0x0a, 0x0a, - 0x6e, 0x65, 0x77, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, + 0x09, 0x6e, 0x65, 0x77, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x41, 0x0a, 0x0c, 0x69, 0x6e, + 0x70, 0x75, 0x74, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, - 0x52, 0x09, 0x6e, 0x65, 0x77, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2d, 0x0a, 0x06, 0x61, - 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, - 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, - 0x6e, 0x74, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x26, 0x0a, 0x0e, 0x52, 0x65, - 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x14, 0x0a, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x22, 0x87, 0x15, 0x0a, 0x0a, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, - 0x74, 0x12, 0x47, 0x0a, 0x0b, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x65, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, - 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, - 0x74, 0x2e, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x41, 0x64, 0x64, 0x65, 0x64, 0x48, 0x00, 0x52, 0x0a, - 0x62, 0x61, 0x6b, 0x65, 0x72, 0x41, 0x64, 0x64, 0x65, 0x64, 0x12, 0x3d, 0x0a, 0x0d, 0x62, 0x61, - 0x6b, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, - 0x32, 0x2e, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x49, 0x64, 0x48, 0x00, 0x52, 0x0c, 0x62, 0x61, 0x6b, - 0x65, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x12, 0x63, 0x0a, 0x15, 0x62, 0x61, 0x6b, - 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x6b, 0x65, 0x5f, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, - 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, - 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x45, 0x76, - 0x65, 0x6e, 0x74, 0x2e, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x49, 0x6e, - 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x64, 0x48, 0x00, 0x52, 0x13, 0x62, 0x61, 0x6b, 0x65, 0x72, - 0x53, 0x74, 0x61, 0x6b, 0x65, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x64, 0x12, 0x63, - 0x0a, 0x15, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x6b, 0x65, 0x5f, 0x64, 0x65, - 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, - 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x61, - 0x6b, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x53, 0x74, - 0x61, 0x6b, 0x65, 0x44, 0x65, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x64, 0x48, 0x00, 0x52, 0x13, - 0x62, 0x61, 0x6b, 0x65, 0x72, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x44, 0x65, 0x63, 0x72, 0x65, 0x61, - 0x73, 0x65, 0x64, 0x12, 0x7c, 0x0a, 0x1e, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x73, - 0x74, 0x61, 0x6b, 0x65, 0x5f, 0x65, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x5f, 0x75, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x63, 0x6f, - 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x61, 0x6b, 0x65, - 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x73, 0x74, - 0x61, 0x6b, 0x65, 0x45, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x64, 0x48, 0x00, 0x52, 0x1b, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x73, 0x74, 0x61, - 0x6b, 0x65, 0x45, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x64, 0x12, 0x4d, 0x0a, 0x12, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x5f, - 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, - 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x61, - 0x6b, 0x65, 0x72, 0x4b, 0x65, 0x79, 0x73, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x10, - 0x62, 0x61, 0x6b, 0x65, 0x72, 0x4b, 0x65, 0x79, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, - 0x12, 0x61, 0x0a, 0x15, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x6f, 0x70, - 0x65, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x2c, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, - 0x42, 0x61, 0x6b, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x42, 0x61, 0x6b, 0x65, 0x72, - 0x53, 0x65, 0x74, 0x4f, 0x70, 0x65, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x00, 0x52, - 0x12, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x53, 0x65, 0x74, 0x4f, 0x70, 0x65, 0x6e, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x12, 0x64, 0x0a, 0x16, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x74, - 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x08, 0x20, + 0x52, 0x0b, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1e, 0x0a, + 0x0b, 0x75, 0x70, 0x5f, 0x74, 0x6f, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x09, 0x75, 0x70, 0x54, 0x6f, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x22, 0xbc, 0x01, + 0x0a, 0x17, 0x4e, 0x65, 0x77, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x41, 0x6d, + 0x6f, 0x75, 0x6e, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x39, 0x0a, 0x08, 0x72, 0x65, 0x63, + 0x65, 0x69, 0x76, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, + 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x08, 0x72, 0x65, 0x63, 0x65, + 0x69, 0x76, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x65, 0x77, 0x5f, 0x69, 0x6e, 0x64, 0x65, + 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x6e, 0x65, 0x77, 0x49, 0x6e, 0x64, 0x65, + 0x78, 0x12, 0x49, 0x0a, 0x10, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x5f, 0x61, + 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, + 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6e, 0x63, 0x72, + 0x79, 0x70, 0x74, 0x65, 0x64, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0f, 0x65, 0x6e, 0x63, + 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xc6, 0x01, 0x0a, + 0x1d, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x53, 0x65, 0x6c, 0x66, 0x41, 0x6d, + 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x37, + 0x0a, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, + 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x07, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x3d, 0x0a, 0x0a, 0x6e, 0x65, 0x77, 0x5f, 0x61, + 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, + 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6e, 0x63, 0x72, + 0x79, 0x70, 0x74, 0x65, 0x64, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x09, 0x6e, 0x65, 0x77, + 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2d, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, + 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x06, 0x61, + 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x26, 0x0a, 0x0e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, + 0x72, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xb3, 0x17, + 0x0a, 0x0a, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x47, 0x0a, 0x0b, + 0x62, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, + 0x32, 0x2e, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x42, 0x61, 0x6b, + 0x65, 0x72, 0x41, 0x64, 0x64, 0x65, 0x64, 0x48, 0x00, 0x52, 0x0a, 0x62, 0x61, 0x6b, 0x65, 0x72, + 0x41, 0x64, 0x64, 0x65, 0x64, 0x12, 0x3d, 0x0a, 0x0d, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x72, + 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, + 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x61, 0x6b, + 0x65, 0x72, 0x49, 0x64, 0x48, 0x00, 0x52, 0x0c, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x6d, + 0x6f, 0x76, 0x65, 0x64, 0x12, 0x63, 0x0a, 0x15, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x73, 0x74, + 0x61, 0x6b, 0x65, 0x5f, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x42, - 0x61, 0x6b, 0x65, 0x72, 0x53, 0x65, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x55, - 0x72, 0x6c, 0x48, 0x00, 0x52, 0x13, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x53, 0x65, 0x74, 0x4d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x55, 0x72, 0x6c, 0x12, 0x8c, 0x01, 0x0a, 0x24, 0x62, 0x61, - 0x6b, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, + 0x61, 0x6b, 0x65, 0x72, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, + 0x65, 0x64, 0x48, 0x00, 0x52, 0x13, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x53, 0x74, 0x61, 0x6b, 0x65, + 0x49, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x64, 0x12, 0x63, 0x0a, 0x15, 0x62, 0x61, 0x6b, + 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x6b, 0x65, 0x5f, 0x64, 0x65, 0x63, 0x72, 0x65, 0x61, 0x73, + 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x45, 0x76, - 0x65, 0x6e, 0x74, 0x2e, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x53, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, - 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x65, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x20, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x53, 0x65, 0x74, - 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x65, 0x65, 0x43, 0x6f, - 0x6d, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x86, 0x01, 0x0a, 0x22, 0x62, 0x61, 0x6b, - 0x65, 0x72, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x62, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x65, - 0x77, 0x61, 0x72, 0x64, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, - 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, - 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, - 0x2e, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x53, 0x65, 0x74, 0x42, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x52, + 0x65, 0x6e, 0x74, 0x2e, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x44, 0x65, + 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x64, 0x48, 0x00, 0x52, 0x13, 0x62, 0x61, 0x6b, 0x65, 0x72, + 0x53, 0x74, 0x61, 0x6b, 0x65, 0x44, 0x65, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x64, 0x12, 0x7c, + 0x0a, 0x1e, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x73, 0x74, 0x61, 0x6b, 0x65, 0x5f, + 0x65, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, + 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x2e, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x73, 0x74, 0x61, 0x6b, 0x65, 0x45, 0x61, + 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x48, 0x00, 0x52, + 0x1b, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x73, 0x74, 0x61, 0x6b, 0x65, 0x45, 0x61, 0x72, + 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, 0x4d, 0x0a, 0x12, + 0x62, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, + 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x4b, 0x65, + 0x79, 0x73, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x10, 0x62, 0x61, 0x6b, 0x65, 0x72, + 0x4b, 0x65, 0x79, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, 0x61, 0x0a, 0x15, 0x62, + 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x63, 0x6f, 0x6e, + 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x61, 0x6b, 0x65, 0x72, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x53, 0x65, 0x74, 0x4f, 0x70, + 0x65, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x00, 0x52, 0x12, 0x62, 0x61, 0x6b, 0x65, + 0x72, 0x53, 0x65, 0x74, 0x4f, 0x70, 0x65, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x64, + 0x0a, 0x16, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x6d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, + 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, + 0x61, 0x6b, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x53, + 0x65, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x55, 0x72, 0x6c, 0x48, 0x00, 0x52, + 0x13, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x53, 0x65, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x55, 0x72, 0x6c, 0x12, 0x8c, 0x01, 0x0a, 0x24, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x73, + 0x65, 0x74, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x66, + 0x65, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, + 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x42, + 0x61, 0x6b, 0x65, 0x72, 0x53, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x46, 0x65, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x48, + 0x00, 0x52, 0x20, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x53, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x65, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x12, 0x86, 0x01, 0x0a, 0x22, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x73, 0x65, + 0x74, 0x5f, 0x62, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, + 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x38, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, + 0x2e, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x42, 0x61, 0x6b, 0x65, + 0x72, 0x53, 0x65, 0x74, 0x42, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, + 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x1e, 0x62, 0x61, + 0x6b, 0x65, 0x72, 0x53, 0x65, 0x74, 0x42, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x77, 0x61, + 0x72, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x98, 0x01, 0x0a, + 0x28, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x66, 0x69, 0x6e, 0x61, 0x6c, + 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x63, + 0x6f, 0x6d, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x3e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, + 0x42, 0x61, 0x6b, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x42, 0x61, 0x6b, 0x65, 0x72, + 0x53, 0x65, 0x74, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x48, - 0x00, 0x52, 0x1e, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x53, 0x65, 0x74, 0x42, 0x61, 0x6b, 0x69, 0x6e, - 0x67, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x12, 0x98, 0x01, 0x0a, 0x28, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x74, 0x5f, - 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x77, - 0x61, 0x72, 0x64, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0b, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, - 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, - 0x42, 0x61, 0x6b, 0x65, 0x72, 0x53, 0x65, 0x74, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x24, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x53, 0x65, 0x74, - 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x77, 0x61, - 0x72, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x5c, 0x0a, 0x12, - 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, - 0x65, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, - 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x45, 0x76, - 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, - 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x48, 0x00, 0x52, 0x11, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x1a, 0xa2, 0x01, 0x0a, 0x0a, 0x42, - 0x61, 0x6b, 0x65, 0x72, 0x41, 0x64, 0x64, 0x65, 0x64, 0x12, 0x3c, 0x0a, 0x0a, 0x6b, 0x65, 0x79, - 0x73, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, - 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x61, - 0x6b, 0x65, 0x72, 0x4b, 0x65, 0x79, 0x73, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x09, 0x6b, 0x65, - 0x79, 0x73, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x2b, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x6b, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, - 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x05, 0x73, - 0x74, 0x61, 0x6b, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x72, 0x65, 0x73, 0x74, 0x61, 0x6b, 0x65, 0x5f, - 0x65, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, - 0x72, 0x65, 0x73, 0x74, 0x61, 0x6b, 0x65, 0x45, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x1a, - 0x7c, 0x0a, 0x13, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x49, 0x6e, 0x63, - 0x72, 0x65, 0x61, 0x73, 0x65, 0x64, 0x12, 0x31, 0x0a, 0x08, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x5f, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, - 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x49, 0x64, - 0x52, 0x07, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x49, 0x64, 0x12, 0x32, 0x0a, 0x09, 0x6e, 0x65, 0x77, - 0x5f, 0x73, 0x74, 0x61, 0x6b, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, - 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, - 0x75, 0x6e, 0x74, 0x52, 0x08, 0x6e, 0x65, 0x77, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x1a, 0x7c, 0x0a, - 0x13, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x44, 0x65, 0x63, 0x72, 0x65, - 0x61, 0x73, 0x65, 0x64, 0x12, 0x31, 0x0a, 0x08, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, - 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x49, 0x64, 0x52, 0x07, - 0x62, 0x61, 0x6b, 0x65, 0x72, 0x49, 0x64, 0x12, 0x32, 0x0a, 0x09, 0x6e, 0x65, 0x77, 0x5f, 0x73, - 0x74, 0x61, 0x6b, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, - 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, - 0x74, 0x52, 0x08, 0x6e, 0x65, 0x77, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x1a, 0x7b, 0x0a, 0x1b, 0x42, - 0x61, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x73, 0x74, 0x61, 0x6b, 0x65, 0x45, 0x61, 0x72, 0x6e, 0x69, - 0x6e, 0x67, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, 0x31, 0x0a, 0x08, 0x62, 0x61, - 0x6b, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, + 0x00, 0x52, 0x24, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x53, 0x65, 0x74, 0x46, 0x69, 0x6e, 0x61, 0x6c, + 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6d, + 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x5c, 0x0a, 0x12, 0x64, 0x65, 0x6c, 0x65, 0x67, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x18, 0x0c, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, + 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x44, + 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, + 0x48, 0x00, 0x52, 0x11, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x12, 0x53, 0x0a, 0x0f, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x73, + 0x75, 0x73, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, + 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, + 0x61, 0x6b, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x53, + 0x75, 0x73, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x48, 0x00, 0x52, 0x0e, 0x62, 0x61, 0x6b, 0x65, + 0x72, 0x53, 0x75, 0x73, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x12, 0x4d, 0x0a, 0x0d, 0x62, 0x61, + 0x6b, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x26, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, + 0x32, 0x2e, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x42, 0x61, 0x6b, + 0x65, 0x72, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x64, 0x48, 0x00, 0x52, 0x0c, 0x62, 0x61, 0x6b, + 0x65, 0x72, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x64, 0x1a, 0xa2, 0x01, 0x0a, 0x0a, 0x42, 0x61, + 0x6b, 0x65, 0x72, 0x41, 0x64, 0x64, 0x65, 0x64, 0x12, 0x3c, 0x0a, 0x0a, 0x6b, 0x65, 0x79, 0x73, + 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x61, 0x6b, - 0x65, 0x72, 0x49, 0x64, 0x52, 0x07, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x49, 0x64, 0x12, 0x29, 0x0a, - 0x10, 0x72, 0x65, 0x73, 0x74, 0x61, 0x6b, 0x65, 0x5f, 0x65, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, - 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x72, 0x65, 0x73, 0x74, 0x61, 0x6b, 0x65, - 0x45, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x1a, 0x83, 0x01, 0x0a, 0x12, 0x42, 0x61, 0x6b, - 0x65, 0x72, 0x53, 0x65, 0x74, 0x4f, 0x70, 0x65, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, - 0x31, 0x0a, 0x08, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, - 0x32, 0x2e, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x49, 0x64, 0x52, 0x07, 0x62, 0x61, 0x6b, 0x65, 0x72, - 0x49, 0x64, 0x12, 0x3a, 0x0a, 0x0b, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, - 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x1a, 0x5a, - 0x0a, 0x13, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x53, 0x65, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x55, 0x72, 0x6c, 0x12, 0x31, 0x0a, 0x08, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x69, + 0x65, 0x72, 0x4b, 0x65, 0x79, 0x73, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x09, 0x6b, 0x65, 0x79, + 0x73, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x2b, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x6b, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, + 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x05, 0x73, 0x74, + 0x61, 0x6b, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x72, 0x65, 0x73, 0x74, 0x61, 0x6b, 0x65, 0x5f, 0x65, + 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x72, + 0x65, 0x73, 0x74, 0x61, 0x6b, 0x65, 0x45, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x1a, 0x7c, + 0x0a, 0x13, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x49, 0x6e, 0x63, 0x72, + 0x65, 0x61, 0x73, 0x65, 0x64, 0x12, 0x31, 0x0a, 0x08, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x49, 0x64, 0x52, - 0x07, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x1a, 0xb2, 0x01, 0x0a, 0x20, 0x42, - 0x61, 0x6b, 0x65, 0x72, 0x53, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x46, 0x65, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, - 0x31, 0x0a, 0x08, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, - 0x32, 0x2e, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x49, 0x64, 0x52, 0x07, 0x62, 0x61, 0x6b, 0x65, 0x72, - 0x49, 0x64, 0x12, 0x5b, 0x0a, 0x1a, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x07, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x49, 0x64, 0x12, 0x32, 0x0a, 0x09, 0x6e, 0x65, 0x77, 0x5f, + 0x73, 0x74, 0x61, 0x6b, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, + 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, + 0x6e, 0x74, 0x52, 0x08, 0x6e, 0x65, 0x77, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x1a, 0x7c, 0x0a, 0x13, + 0x42, 0x61, 0x6b, 0x65, 0x72, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x44, 0x65, 0x63, 0x72, 0x65, 0x61, + 0x73, 0x65, 0x64, 0x12, 0x31, 0x0a, 0x08, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, + 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x49, 0x64, 0x52, 0x07, 0x62, + 0x61, 0x6b, 0x65, 0x72, 0x49, 0x64, 0x12, 0x32, 0x0a, 0x09, 0x6e, 0x65, 0x77, 0x5f, 0x73, 0x74, + 0x61, 0x6b, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, + 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, + 0x52, 0x08, 0x6e, 0x65, 0x77, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x1a, 0x7b, 0x0a, 0x1b, 0x42, 0x61, + 0x6b, 0x65, 0x72, 0x52, 0x65, 0x73, 0x74, 0x61, 0x6b, 0x65, 0x45, 0x61, 0x72, 0x6e, 0x69, 0x6e, + 0x67, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, 0x31, 0x0a, 0x08, 0x62, 0x61, 0x6b, + 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x6f, + 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x61, 0x6b, 0x65, + 0x72, 0x49, 0x64, 0x52, 0x07, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x49, 0x64, 0x12, 0x29, 0x0a, 0x10, + 0x72, 0x65, 0x73, 0x74, 0x61, 0x6b, 0x65, 0x5f, 0x65, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x72, 0x65, 0x73, 0x74, 0x61, 0x6b, 0x65, 0x45, + 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x1a, 0x83, 0x01, 0x0a, 0x12, 0x42, 0x61, 0x6b, 0x65, + 0x72, 0x53, 0x65, 0x74, 0x4f, 0x70, 0x65, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x31, + 0x0a, 0x08, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x16, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, + 0x2e, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x49, 0x64, 0x52, 0x07, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x49, + 0x64, 0x12, 0x3a, 0x0a, 0x0b, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, + 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x1a, 0x5a, 0x0a, + 0x13, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x53, 0x65, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x55, 0x72, 0x6c, 0x12, 0x31, 0x0a, 0x08, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, + 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x49, 0x64, 0x52, 0x07, + 0x62, 0x61, 0x6b, 0x65, 0x72, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x1a, 0xb2, 0x01, 0x0a, 0x20, 0x42, 0x61, + 0x6b, 0x65, 0x72, 0x53, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x46, 0x65, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x31, + 0x0a, 0x08, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x16, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, + 0x2e, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x49, 0x64, 0x52, 0x07, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x49, + 0x64, 0x12, 0x5b, 0x0a, 0x1a, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, + 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x72, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x18, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x46, 0x65, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x1a, 0xac, + 0x01, 0x0a, 0x1e, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x53, 0x65, 0x74, 0x42, 0x61, 0x6b, 0x69, 0x6e, + 0x67, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x12, 0x31, 0x0a, 0x08, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, + 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x49, 0x64, 0x52, 0x07, 0x62, 0x61, 0x6b, + 0x65, 0x72, 0x49, 0x64, 0x12, 0x57, 0x0a, 0x18, 0x62, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x72, + 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x72, 0x61, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x18, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x46, 0x65, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x1a, - 0xac, 0x01, 0x0a, 0x1e, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x53, 0x65, 0x74, 0x42, 0x61, 0x6b, 0x69, - 0x6e, 0x67, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x12, 0x31, 0x0a, 0x08, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, - 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x49, 0x64, 0x52, 0x07, 0x62, 0x61, - 0x6b, 0x65, 0x72, 0x49, 0x64, 0x12, 0x57, 0x0a, 0x18, 0x62, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x5f, - 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, - 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x72, - 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x16, 0x62, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x52, 0x65, - 0x77, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x1a, 0xbe, - 0x01, 0x0a, 0x24, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x53, 0x65, 0x74, 0x46, 0x69, 0x6e, 0x61, 0x6c, - 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6d, - 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x31, 0x0a, 0x08, 0x62, 0x61, 0x6b, 0x65, 0x72, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x16, 0x62, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x77, + 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x1a, 0xbe, 0x01, + 0x0a, 0x24, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x53, 0x65, 0x74, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, + 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6d, 0x6d, + 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x31, 0x0a, 0x08, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x5f, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, + 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x49, 0x64, + 0x52, 0x07, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x49, 0x64, 0x12, 0x63, 0x0a, 0x1e, 0x66, 0x69, 0x6e, + 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, + 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, + 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x1c, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x77, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x1a, 0x52, + 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x6d, 0x6f, + 0x76, 0x65, 0x64, 0x12, 0x3d, 0x0a, 0x0c, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x6f, 0x6e, 0x63, + 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, + 0x74, 0x6f, 0x72, 0x49, 0x64, 0x52, 0x0b, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, + 0x49, 0x64, 0x1a, 0x43, 0x0a, 0x0e, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x53, 0x75, 0x73, 0x70, 0x65, + 0x6e, 0x64, 0x65, 0x64, 0x12, 0x31, 0x0a, 0x08, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, + 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x49, 0x64, 0x52, 0x07, + 0x62, 0x61, 0x6b, 0x65, 0x72, 0x49, 0x64, 0x1a, 0x41, 0x0a, 0x0c, 0x42, 0x61, 0x6b, 0x65, 0x72, + 0x52, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x64, 0x12, 0x31, 0x0a, 0x08, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x49, - 0x64, 0x52, 0x07, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x49, 0x64, 0x12, 0x63, 0x0a, 0x1e, 0x66, 0x69, - 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, - 0x64, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, - 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x1c, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x65, 0x77, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x1a, - 0x52, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x6d, - 0x6f, 0x76, 0x65, 0x64, 0x12, 0x3d, 0x0a, 0x0c, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, - 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x6f, 0x6e, - 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x67, - 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x52, 0x0b, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, - 0x72, 0x49, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x22, 0x3a, 0x0a, 0x0b, - 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x12, 0x2b, 0x0a, 0x02, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, - 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, - 0x6e, 0x64, 0x65, 0x78, 0x52, 0x02, 0x69, 0x64, 0x22, 0xa4, 0x0b, 0x0a, 0x0f, 0x44, 0x65, 0x6c, - 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x77, 0x0a, 0x1a, + 0x64, 0x52, 0x07, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x49, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x65, 0x76, + 0x65, 0x6e, 0x74, 0x22, 0x3a, 0x0a, 0x0b, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, + 0x49, 0x64, 0x12, 0x2b, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, + 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x02, 0x69, 0x64, 0x22, + 0xa4, 0x0b, 0x0a, 0x0f, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x76, + 0x65, 0x6e, 0x74, 0x12, 0x77, 0x0a, 0x1a, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x6b, 0x65, 0x5f, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, + 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x64, + 0x48, 0x00, 0x52, 0x18, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, + 0x61, 0x6b, 0x65, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x64, 0x12, 0x77, 0x0a, 0x1a, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x6b, 0x65, - 0x5f, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x5f, 0x64, 0x65, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x6b, 0x65, - 0x49, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x64, 0x48, 0x00, 0x52, 0x18, 0x64, 0x65, 0x6c, - 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x49, 0x6e, 0x63, 0x72, - 0x65, 0x61, 0x73, 0x65, 0x64, 0x12, 0x77, 0x0a, 0x1a, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x6b, 0x65, 0x5f, 0x64, 0x65, 0x63, 0x72, 0x65, 0x61, - 0x73, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x63, 0x6f, 0x6e, 0x63, - 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x44, 0x65, 0x63, 0x72, 0x65, 0x61, 0x73, - 0x65, 0x64, 0x48, 0x00, 0x52, 0x18, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x53, 0x74, 0x61, 0x6b, 0x65, 0x44, 0x65, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x64, 0x12, 0x84, - 0x01, 0x0a, 0x1f, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, - 0x74, 0x5f, 0x72, 0x65, 0x73, 0x74, 0x61, 0x6b, 0x65, 0x5f, 0x65, 0x61, 0x72, 0x6e, 0x69, 0x6e, - 0x67, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, - 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x74, 0x61, 0x6b, 0x65, 0x45, 0x61, 0x72, - 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x48, 0x00, 0x52, 0x1c, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x74, 0x61, 0x6b, 0x65, 0x45, 0x61, 0x72, - 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x87, 0x01, 0x0a, 0x20, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x3c, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, - 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, - 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x44, 0x65, - 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x00, - 0x52, 0x1d, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x44, - 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, - 0x47, 0x0a, 0x10, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x64, - 0x64, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x6f, 0x6e, 0x63, - 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, - 0x74, 0x6f, 0x72, 0x49, 0x64, 0x48, 0x00, 0x52, 0x0f, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x41, 0x64, 0x64, 0x65, 0x64, 0x12, 0x4b, 0x0a, 0x12, 0x64, 0x65, 0x6c, 0x65, - 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, - 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, - 0x48, 0x00, 0x52, 0x11, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, - 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x12, 0x52, 0x0a, 0x0d, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x72, - 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x63, - 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, - 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x42, 0x61, 0x6b, - 0x65, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x48, 0x00, 0x52, 0x0c, 0x62, 0x61, 0x6b, - 0x65, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x1a, 0x8d, 0x01, 0x0a, 0x18, 0x44, 0x65, - 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x49, 0x6e, 0x63, - 0x72, 0x65, 0x61, 0x73, 0x65, 0x64, 0x12, 0x3d, 0x0a, 0x0c, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, - 0x74, 0x6f, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, - 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, - 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x52, 0x0b, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, - 0x74, 0x6f, 0x72, 0x49, 0x64, 0x12, 0x32, 0x0a, 0x09, 0x6e, 0x65, 0x77, 0x5f, 0x73, 0x74, 0x61, - 0x6b, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, - 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, - 0x08, 0x6e, 0x65, 0x77, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x1a, 0x8d, 0x01, 0x0a, 0x18, 0x44, 0x65, - 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x44, 0x65, 0x63, - 0x72, 0x65, 0x61, 0x73, 0x65, 0x64, 0x12, 0x3d, 0x0a, 0x0c, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, - 0x74, 0x6f, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, - 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, - 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x52, 0x0b, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, - 0x74, 0x6f, 0x72, 0x49, 0x64, 0x12, 0x32, 0x0a, 0x09, 0x6e, 0x65, 0x77, 0x5f, 0x73, 0x74, 0x61, - 0x6b, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, - 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, - 0x08, 0x6e, 0x65, 0x77, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x1a, 0x88, 0x01, 0x0a, 0x1c, 0x44, 0x65, - 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x74, 0x61, - 0x6b, 0x65, 0x45, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x3d, 0x0a, 0x0c, 0x64, 0x65, - 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1a, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, - 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x52, 0x0b, 0x64, 0x65, - 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x72, 0x65, 0x73, - 0x74, 0x61, 0x6b, 0x65, 0x5f, 0x65, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x0f, 0x72, 0x65, 0x73, 0x74, 0x61, 0x6b, 0x65, 0x45, 0x61, 0x72, 0x6e, - 0x69, 0x6e, 0x67, 0x73, 0x1a, 0xac, 0x01, 0x0a, 0x1d, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, + 0x44, 0x65, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x64, 0x48, 0x00, 0x52, 0x18, 0x64, 0x65, 0x6c, + 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x44, 0x65, 0x63, 0x72, + 0x65, 0x61, 0x73, 0x65, 0x64, 0x12, 0x84, 0x01, 0x0a, 0x1f, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x74, 0x61, 0x6b, 0x65, + 0x5f, 0x65, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x3b, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, + 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, + 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, + 0x74, 0x61, 0x6b, 0x65, 0x45, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x48, 0x00, 0x52, 0x1c, + 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, + 0x74, 0x61, 0x6b, 0x65, 0x45, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x87, 0x01, 0x0a, + 0x20, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x74, 0x5f, + 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, + 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, + 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x00, 0x52, 0x1d, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x3d, 0x0a, 0x0c, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, - 0x74, 0x6f, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, - 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, - 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x52, 0x0b, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, - 0x74, 0x6f, 0x72, 0x49, 0x64, 0x12, 0x4c, 0x0a, 0x11, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1f, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, - 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x72, 0x67, 0x65, - 0x74, 0x52, 0x10, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x72, - 0x67, 0x65, 0x74, 0x1a, 0x41, 0x0a, 0x0c, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x6d, 0x6f, - 0x76, 0x65, 0x64, 0x12, 0x31, 0x0a, 0x08, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, - 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x49, 0x64, 0x52, 0x07, 0x62, - 0x61, 0x6b, 0x65, 0x72, 0x49, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x22, - 0xe8, 0x1a, 0x0a, 0x19, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, - 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x66, 0x66, 0x65, 0x63, 0x74, 0x73, 0x12, 0x43, 0x0a, - 0x04, 0x6e, 0x6f, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x63, 0x6f, - 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x66, - 0x66, 0x65, 0x63, 0x74, 0x73, 0x2e, 0x4e, 0x6f, 0x6e, 0x65, 0x48, 0x00, 0x52, 0x04, 0x6e, 0x6f, - 0x6e, 0x65, 0x12, 0x43, 0x0a, 0x0f, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x64, 0x65, 0x70, - 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6f, - 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x6f, 0x64, 0x75, - 0x6c, 0x65, 0x52, 0x65, 0x66, 0x48, 0x00, 0x52, 0x0e, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x44, - 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x12, 0x5c, 0x0a, 0x14, 0x63, 0x6f, 0x6e, 0x74, 0x72, - 0x61, 0x63, 0x74, 0x5f, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, - 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x49, 0x6e, - 0x69, 0x74, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, - 0x52, 0x13, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, - 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x12, 0x75, 0x0a, 0x16, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, - 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x73, 0x73, 0x75, 0x65, 0x64, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, - 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x72, 0x61, - 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x66, 0x66, 0x65, 0x63, 0x74, 0x73, 0x2e, - 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x73, - 0x73, 0x75, 0x65, 0x64, 0x48, 0x00, 0x52, 0x14, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x73, 0x73, 0x75, 0x65, 0x64, 0x12, 0x65, 0x0a, 0x10, - 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, - 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x72, - 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x66, 0x66, 0x65, 0x63, 0x74, 0x73, - 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, - 0x48, 0x00, 0x52, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, - 0x66, 0x65, 0x72, 0x12, 0x47, 0x0a, 0x0b, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x61, 0x64, 0x64, - 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, - 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x45, 0x76, - 0x65, 0x6e, 0x74, 0x2e, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x41, 0x64, 0x64, 0x65, 0x64, 0x48, 0x00, - 0x52, 0x0a, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x41, 0x64, 0x64, 0x65, 0x64, 0x12, 0x3d, 0x0a, 0x0d, + 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x47, 0x0a, 0x10, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x64, 0x64, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1a, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, + 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x48, 0x00, 0x52, 0x0f, + 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x64, 0x64, 0x65, 0x64, 0x12, + 0x4b, 0x0a, 0x12, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, + 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x6f, + 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x65, + 0x67, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x48, 0x00, 0x52, 0x11, 0x64, 0x65, 0x6c, 0x65, 0x67, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x12, 0x52, 0x0a, 0x0d, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x18, 0x07, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, - 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x49, 0x64, 0x48, 0x00, 0x52, 0x0c, 0x62, - 0x61, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x12, 0x6c, 0x0a, 0x13, 0x62, - 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x6b, 0x65, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, - 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x66, 0x66, 0x65, 0x63, - 0x74, 0x73, 0x2e, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x64, 0x48, 0x00, 0x52, 0x11, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x53, 0x74, 0x61, - 0x6b, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, 0x7c, 0x0a, 0x1e, 0x62, 0x61, 0x6b, - 0x65, 0x72, 0x5f, 0x72, 0x65, 0x73, 0x74, 0x61, 0x6b, 0x65, 0x5f, 0x65, 0x61, 0x72, 0x6e, 0x69, - 0x6e, 0x67, 0x73, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x35, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, - 0x32, 0x2e, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x42, 0x61, 0x6b, - 0x65, 0x72, 0x52, 0x65, 0x73, 0x74, 0x61, 0x6b, 0x65, 0x45, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, - 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x48, 0x00, 0x52, 0x1b, 0x62, 0x61, 0x6b, 0x65, - 0x72, 0x52, 0x65, 0x73, 0x74, 0x61, 0x6b, 0x65, 0x45, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, 0x4d, 0x0a, 0x12, 0x62, 0x61, 0x6b, 0x65, 0x72, - 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x18, 0x0a, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, - 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x4b, 0x65, 0x79, 0x73, 0x45, 0x76, 0x65, - 0x6e, 0x74, 0x48, 0x00, 0x52, 0x10, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x4b, 0x65, 0x79, 0x73, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, 0x87, 0x01, 0x0a, 0x1c, 0x65, 0x6e, 0x63, 0x72, 0x79, - 0x70, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x74, 0x72, 0x61, 0x6e, - 0x73, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x43, 0x2e, + 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, + 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x76, + 0x65, 0x6e, 0x74, 0x2e, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, + 0x48, 0x00, 0x52, 0x0c, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, + 0x1a, 0x8d, 0x01, 0x0a, 0x18, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, + 0x74, 0x61, 0x6b, 0x65, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x64, 0x12, 0x3d, 0x0a, + 0x0c, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, + 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x52, + 0x0b, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x12, 0x32, 0x0a, 0x09, + 0x6e, 0x65, 0x77, 0x5f, 0x73, 0x74, 0x61, 0x6b, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, + 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x08, 0x6e, 0x65, 0x77, 0x53, 0x74, 0x61, 0x6b, 0x65, + 0x1a, 0x8d, 0x01, 0x0a, 0x18, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, + 0x74, 0x61, 0x6b, 0x65, 0x44, 0x65, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x64, 0x12, 0x3d, 0x0a, + 0x0c, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, + 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x52, + 0x0b, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x12, 0x32, 0x0a, 0x09, + 0x6e, 0x65, 0x77, 0x5f, 0x73, 0x74, 0x61, 0x6b, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, + 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x08, 0x6e, 0x65, 0x77, 0x53, 0x74, 0x61, 0x6b, 0x65, + 0x1a, 0x88, 0x01, 0x0a, 0x1c, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, + 0x65, 0x74, 0x52, 0x65, 0x73, 0x74, 0x61, 0x6b, 0x65, 0x45, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, + 0x73, 0x12, 0x3d, 0x0a, 0x0c, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, + 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, + 0x72, 0x49, 0x64, 0x52, 0x0b, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, + 0x12, 0x29, 0x0a, 0x10, 0x72, 0x65, 0x73, 0x74, 0x61, 0x6b, 0x65, 0x5f, 0x65, 0x61, 0x72, 0x6e, + 0x69, 0x6e, 0x67, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x72, 0x65, 0x73, 0x74, + 0x61, 0x6b, 0x65, 0x45, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x1a, 0xac, 0x01, 0x0a, 0x1d, + 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x44, 0x65, 0x6c, + 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x3d, 0x0a, + 0x0c, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, + 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x52, + 0x0b, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x12, 0x4c, 0x0a, 0x11, + 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, + 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, + 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x10, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x1a, 0x41, 0x0a, 0x0c, 0x42, 0x61, + 0x6b, 0x65, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x12, 0x31, 0x0a, 0x08, 0x62, 0x61, + 0x6b, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, + 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x61, 0x6b, + 0x65, 0x72, 0x49, 0x64, 0x52, 0x07, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x49, 0x64, 0x42, 0x07, 0x0a, + 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x22, 0xe8, 0x1a, 0x0a, 0x19, 0x41, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x66, 0x66, + 0x65, 0x63, 0x74, 0x73, 0x12, 0x43, 0x0a, 0x04, 0x6e, 0x6f, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, + 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x66, 0x66, 0x65, 0x63, 0x74, 0x73, 0x2e, 0x4e, 0x6f, 0x6e, + 0x65, 0x48, 0x00, 0x52, 0x04, 0x6e, 0x6f, 0x6e, 0x65, 0x12, 0x43, 0x0a, 0x0f, 0x6d, 0x6f, 0x64, + 0x75, 0x6c, 0x65, 0x5f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, + 0x76, 0x32, 0x2e, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x66, 0x48, 0x00, 0x52, 0x0e, + 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x12, 0x5c, + 0x0a, 0x14, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5f, 0x69, 0x6e, 0x69, 0x74, 0x69, + 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, + 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6e, + 0x74, 0x72, 0x61, 0x63, 0x74, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x13, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, + 0x74, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x12, 0x75, 0x0a, 0x16, + 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, + 0x69, 0x73, 0x73, 0x75, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x63, + 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, + 0x66, 0x66, 0x65, 0x63, 0x74, 0x73, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x73, 0x73, 0x75, 0x65, 0x64, 0x48, 0x00, 0x52, 0x14, 0x63, + 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x73, 0x73, + 0x75, 0x65, 0x64, 0x12, 0x65, 0x0a, 0x10, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x74, + 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x45, 0x66, 0x66, 0x65, 0x63, 0x74, 0x73, 0x2e, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, - 0x64, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x72, - 0x65, 0x64, 0x48, 0x00, 0x52, 0x1a, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x41, - 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, - 0x12, 0x68, 0x0a, 0x18, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x5f, - 0x74, 0x6f, 0x5f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x18, 0x0c, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, - 0x76, 0x32, 0x2e, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x53, 0x65, 0x6c, 0x66, - 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, - 0x48, 0x00, 0x52, 0x16, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x54, - 0x6f, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x12, 0x72, 0x0a, 0x15, 0x74, 0x72, - 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x5f, 0x70, 0x75, 0x62, - 0x6c, 0x69, 0x63, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x63, 0x6f, 0x6e, 0x63, - 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x66, 0x66, 0x65, - 0x63, 0x74, 0x73, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x54, - 0x6f, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x48, 0x00, 0x52, 0x13, 0x74, 0x72, 0x61, 0x6e, 0x73, - 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x54, 0x6f, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x12, 0x7e, - 0x0a, 0x19, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x5f, 0x77, 0x69, - 0x74, 0x68, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x40, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, - 0x32, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x66, 0x66, 0x65, 0x63, 0x74, 0x73, 0x2e, 0x54, 0x72, 0x61, 0x6e, - 0x73, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x57, 0x69, 0x74, 0x68, 0x53, 0x63, 0x68, 0x65, 0x64, - 0x75, 0x6c, 0x65, 0x48, 0x00, 0x52, 0x17, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x72, - 0x65, 0x64, 0x57, 0x69, 0x74, 0x68, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x61, - 0x0a, 0x17, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x6b, 0x65, 0x79, - 0x73, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x27, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, - 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x48, 0x00, 0x52, 0x15, 0x63, 0x72, 0x65, 0x64, - 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x4b, 0x65, 0x79, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x64, 0x12, 0x6e, 0x0a, 0x13, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, - 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, - 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x45, 0x66, 0x66, 0x65, 0x63, 0x74, 0x73, 0x2e, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, - 0x69, 0x61, 0x6c, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x48, 0x00, 0x52, 0x12, 0x63, - 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x64, 0x12, 0x48, 0x0a, 0x0f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, - 0x65, 0x72, 0x65, 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, - 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, - 0x74, 0x65, 0x72, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x0e, 0x64, 0x61, 0x74, - 0x61, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x12, 0x65, 0x0a, 0x10, 0x62, - 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x64, 0x18, - 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, + 0x45, 0x66, 0x66, 0x65, 0x63, 0x74, 0x73, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, + 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x12, 0x47, 0x0a, 0x0b, 0x62, 0x61, + 0x6b, 0x65, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x24, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, + 0x42, 0x61, 0x6b, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x42, 0x61, 0x6b, 0x65, 0x72, + 0x41, 0x64, 0x64, 0x65, 0x64, 0x48, 0x00, 0x52, 0x0a, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x41, 0x64, + 0x64, 0x65, 0x64, 0x12, 0x3d, 0x0a, 0x0d, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x6d, + 0x6f, 0x76, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x6f, 0x6e, + 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x61, 0x6b, 0x65, 0x72, + 0x49, 0x64, 0x48, 0x00, 0x52, 0x0c, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, + 0x65, 0x64, 0x12, 0x6c, 0x0a, 0x13, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x6b, + 0x65, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x3a, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, + 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x45, 0x66, 0x66, 0x65, 0x63, 0x74, 0x73, 0x2e, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x53, + 0x74, 0x61, 0x6b, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x48, 0x00, 0x52, 0x11, 0x62, + 0x61, 0x6b, 0x65, 0x72, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, + 0x12, 0x7c, 0x0a, 0x1e, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x73, 0x74, 0x61, 0x6b, + 0x65, 0x5f, 0x65, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, + 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x45, 0x76, + 0x65, 0x6e, 0x74, 0x2e, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x73, 0x74, 0x61, 0x6b, 0x65, + 0x45, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x48, + 0x00, 0x52, 0x1b, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x73, 0x74, 0x61, 0x6b, 0x65, 0x45, + 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, 0x4d, + 0x0a, 0x12, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x5f, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, + 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x61, 0x6b, 0x65, 0x72, + 0x4b, 0x65, 0x79, 0x73, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x10, 0x62, 0x61, 0x6b, + 0x65, 0x72, 0x4b, 0x65, 0x79, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, 0x87, 0x01, + 0x0a, 0x1c, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x6d, 0x6f, 0x75, + 0x6e, 0x74, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x18, 0x0b, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, + 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x6e, + 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x66, 0x66, 0x65, 0x63, 0x74, 0x73, 0x2e, 0x45, + 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x72, + 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x48, 0x00, 0x52, 0x1a, 0x65, 0x6e, 0x63, + 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x6e, + 0x73, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x12, 0x68, 0x0a, 0x18, 0x74, 0x72, 0x61, 0x6e, 0x73, + 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x5f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, + 0x74, 0x65, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x63, 0x6f, 0x6e, 0x63, + 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, + 0x74, 0x65, 0x64, 0x53, 0x65, 0x6c, 0x66, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, + 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x16, 0x74, 0x72, 0x61, 0x6e, 0x73, + 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x54, 0x6f, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, + 0x64, 0x12, 0x72, 0x0a, 0x15, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, + 0x5f, 0x74, 0x6f, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x3c, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, + 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x45, 0x66, 0x66, 0x65, 0x63, 0x74, 0x73, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, + 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x54, 0x6f, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x48, 0x00, + 0x52, 0x13, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x54, 0x6f, 0x50, + 0x75, 0x62, 0x6c, 0x69, 0x63, 0x12, 0x7e, 0x0a, 0x19, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, + 0x72, 0x72, 0x65, 0x64, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, + 0x6c, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, + 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x66, 0x66, 0x65, 0x63, + 0x74, 0x73, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x57, 0x69, + 0x74, 0x68, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x48, 0x00, 0x52, 0x17, 0x74, 0x72, + 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x57, 0x69, 0x74, 0x68, 0x53, 0x63, 0x68, + 0x65, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x61, 0x0a, 0x17, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, + 0x69, 0x61, 0x6c, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, + 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, + 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, + 0x6c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x48, + 0x00, 0x52, 0x15, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x4b, 0x65, 0x79, + 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, 0x6e, 0x0a, 0x13, 0x63, 0x72, 0x65, 0x64, + 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x18, + 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x66, 0x66, 0x65, 0x63, 0x74, 0x73, 0x2e, - 0x42, 0x61, 0x6b, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x64, 0x48, - 0x00, 0x52, 0x0f, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, - 0x65, 0x64, 0x12, 0x74, 0x0a, 0x15, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x64, 0x18, 0x13, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x3d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, - 0x32, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x66, 0x66, 0x65, 0x63, 0x74, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, - 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x64, - 0x48, 0x00, 0x52, 0x14, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x64, 0x1a, 0xad, 0x01, 0x0a, 0x04, 0x4e, 0x6f, 0x6e, - 0x65, 0x12, 0x4e, 0x0a, 0x10, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x63, 0x6f, - 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x72, 0x61, 0x6e, - 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x48, 0x00, 0x52, 0x0f, 0x74, - 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x88, 0x01, - 0x01, 0x12, 0x40, 0x0a, 0x0d, 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x61, 0x73, - 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, - 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x52, - 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52, 0x0c, 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x61, - 0x73, 0x6f, 0x6e, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x1a, 0x55, 0x0a, 0x14, 0x43, 0x6f, 0x6e, 0x74, - 0x72, 0x61, 0x63, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x73, 0x73, 0x75, 0x65, 0x64, - 0x12, 0x3d, 0x0a, 0x07, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, - 0x32, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x54, 0x72, 0x61, 0x63, 0x65, 0x45, - 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x07, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x73, 0x1a, - 0xb2, 0x01, 0x0a, 0x0f, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, - 0x66, 0x65, 0x72, 0x12, 0x2d, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, - 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, - 0x6e, 0x74, 0x12, 0x39, 0x0a, 0x08, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, - 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, - 0x65, 0x73, 0x73, 0x52, 0x08, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x12, 0x2c, 0x0a, - 0x04, 0x6d, 0x65, 0x6d, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x63, 0x6f, - 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x65, 0x6d, 0x6f, - 0x48, 0x00, 0x52, 0x04, 0x6d, 0x65, 0x6d, 0x6f, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, - 0x6d, 0x65, 0x6d, 0x6f, 0x1a, 0x61, 0x0a, 0x11, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x53, 0x74, 0x61, - 0x6b, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, 0x41, 0x0a, 0x06, 0x75, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x6f, 0x6e, 0x63, - 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x53, - 0x74, 0x61, 0x6b, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x48, - 0x00, 0x52, 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, - 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x1a, 0xd7, 0x01, 0x0a, 0x1a, 0x45, 0x6e, 0x63, 0x72, - 0x79, 0x70, 0x74, 0x65, 0x64, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, - 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x12, 0x44, 0x0a, 0x07, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, - 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, - 0x64, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x45, 0x76, - 0x65, 0x6e, 0x74, 0x52, 0x07, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x12, 0x3c, 0x0a, 0x05, - 0x61, 0x64, 0x64, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x63, 0x6f, - 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x4e, 0x65, 0x77, 0x45, - 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x45, 0x76, - 0x65, 0x6e, 0x74, 0x52, 0x05, 0x61, 0x64, 0x64, 0x65, 0x64, 0x12, 0x2c, 0x0a, 0x04, 0x6d, 0x65, - 0x6d, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, - 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x65, 0x6d, 0x6f, 0x48, 0x00, 0x52, - 0x04, 0x6d, 0x65, 0x6d, 0x6f, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6d, 0x65, 0x6d, - 0x6f, 0x1a, 0x8a, 0x01, 0x0a, 0x13, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x72, 0x65, - 0x64, 0x54, 0x6f, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x12, 0x44, 0x0a, 0x07, 0x72, 0x65, 0x6d, - 0x6f, 0x76, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x63, 0x6f, 0x6e, - 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6e, 0x63, 0x72, 0x79, - 0x70, 0x74, 0x65, 0x64, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, - 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x07, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x12, - 0x2d, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, - 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x1a, 0xbe, - 0x01, 0x0a, 0x17, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x57, 0x69, - 0x74, 0x68, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x39, 0x0a, 0x08, 0x72, 0x65, - 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, + 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x64, 0x48, 0x00, 0x52, 0x12, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, + 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, 0x48, 0x0a, 0x0f, 0x64, 0x61, 0x74, 0x61, + 0x5f, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, + 0x32, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, + 0x48, 0x00, 0x52, 0x0e, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, + 0x65, 0x64, 0x12, 0x65, 0x0a, 0x10, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x75, 0x72, 0x65, 0x64, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x08, 0x72, 0x65, 0x63, - 0x65, 0x69, 0x76, 0x65, 0x72, 0x12, 0x31, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, - 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, - 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x4e, 0x65, 0x77, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, - 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2c, 0x0a, 0x04, 0x6d, 0x65, 0x6d, 0x6f, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, - 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x65, 0x6d, 0x6f, 0x48, 0x00, 0x52, 0x04, 0x6d, - 0x65, 0x6d, 0x6f, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6d, 0x65, 0x6d, 0x6f, 0x1a, - 0xf8, 0x01, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, 0x49, 0x0a, 0x0c, 0x6e, 0x65, 0x77, 0x5f, 0x63, 0x72, - 0x65, 0x64, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, - 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, - 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x52, 0x0a, 0x6e, 0x65, 0x77, 0x43, 0x72, 0x65, 0x64, 0x49, 0x64, - 0x73, 0x12, 0x51, 0x0a, 0x10, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x5f, 0x63, 0x72, 0x65, - 0x64, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x6f, - 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x64, - 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x49, 0x64, 0x52, 0x0e, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x43, 0x72, 0x65, - 0x64, 0x49, 0x64, 0x73, 0x12, 0x44, 0x0a, 0x0d, 0x6e, 0x65, 0x77, 0x5f, 0x74, 0x68, 0x72, 0x65, - 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x63, 0x6f, + 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, + 0x66, 0x66, 0x65, 0x63, 0x74, 0x73, 0x2e, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x75, 0x72, 0x65, 0x64, 0x48, 0x00, 0x52, 0x0f, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x64, 0x12, 0x74, 0x0a, 0x15, 0x64, 0x65, 0x6c, + 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, + 0x65, 0x64, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, + 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x66, 0x66, 0x65, 0x63, + 0x74, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x64, 0x48, 0x00, 0x52, 0x14, 0x64, 0x65, 0x6c, 0x65, 0x67, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x64, 0x1a, + 0xad, 0x01, 0x0a, 0x04, 0x4e, 0x6f, 0x6e, 0x65, 0x12, 0x4e, 0x0a, 0x10, 0x74, 0x72, 0x61, 0x6e, + 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, + 0x76, 0x32, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, + 0x70, 0x65, 0x48, 0x00, 0x52, 0x0f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x54, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, 0x40, 0x0a, 0x0d, 0x72, 0x65, 0x6a, 0x65, + 0x63, 0x74, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1b, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, + 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52, 0x0c, 0x72, 0x65, + 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x74, + 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x1a, + 0x55, 0x0a, 0x14, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x49, 0x73, 0x73, 0x75, 0x65, 0x64, 0x12, 0x3d, 0x0a, 0x07, 0x65, 0x66, 0x66, 0x65, 0x63, + 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, + 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, + 0x74, 0x54, 0x72, 0x61, 0x63, 0x65, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x07, 0x65, + 0x66, 0x66, 0x65, 0x63, 0x74, 0x73, 0x1a, 0xb2, 0x01, 0x0a, 0x0f, 0x41, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x12, 0x2d, 0x0a, 0x06, 0x61, 0x6d, + 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, + 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, + 0x74, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x39, 0x0a, 0x08, 0x72, 0x65, 0x63, + 0x65, 0x69, 0x76, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x52, 0x0c, 0x6e, 0x65, - 0x77, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x1a, 0x44, 0x0a, 0x0f, 0x42, 0x61, - 0x6b, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x64, 0x12, 0x31, 0x0a, - 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, - 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x61, - 0x6b, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, - 0x1a, 0x4e, 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x64, 0x12, 0x36, 0x0a, 0x06, 0x65, 0x76, 0x65, 0x6e, - 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, - 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, - 0x42, 0x08, 0x0a, 0x06, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x22, 0x49, 0x0a, 0x12, 0x45, 0x6c, - 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, - 0x12, 0x33, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, - 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xd1, 0x01, 0x0a, 0x11, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, - 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x3a, 0x0a, 0x0c, 0x74, - 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x08, 0x72, 0x65, 0x63, 0x65, + 0x69, 0x76, 0x65, 0x72, 0x12, 0x2c, 0x0a, 0x04, 0x6d, 0x65, 0x6d, 0x6f, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, + 0x76, 0x32, 0x2e, 0x4d, 0x65, 0x6d, 0x6f, 0x48, 0x00, 0x52, 0x04, 0x6d, 0x65, 0x6d, 0x6f, 0x88, + 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6d, 0x65, 0x6d, 0x6f, 0x1a, 0x61, 0x0a, 0x11, 0x42, + 0x61, 0x6b, 0x65, 0x72, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, + 0x12, 0x41, 0x0a, 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x24, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, + 0x2e, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x1a, 0xd7, + 0x01, 0x0a, 0x1a, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x41, 0x6d, 0x6f, 0x75, + 0x6e, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x12, 0x44, 0x0a, + 0x07, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, + 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, + 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, + 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x07, 0x72, 0x65, 0x6d, 0x6f, + 0x76, 0x65, 0x64, 0x12, 0x3c, 0x0a, 0x05, 0x61, 0x64, 0x64, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, + 0x76, 0x32, 0x2e, 0x4e, 0x65, 0x77, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x41, + 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x05, 0x61, 0x64, 0x64, 0x65, + 0x64, 0x12, 0x2c, 0x0a, 0x04, 0x6d, 0x65, 0x6d, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x13, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, + 0x4d, 0x65, 0x6d, 0x6f, 0x48, 0x00, 0x52, 0x04, 0x6d, 0x65, 0x6d, 0x6f, 0x88, 0x01, 0x01, 0x42, + 0x07, 0x0a, 0x05, 0x5f, 0x6d, 0x65, 0x6d, 0x6f, 0x1a, 0x8a, 0x01, 0x0a, 0x13, 0x54, 0x72, 0x61, + 0x6e, 0x73, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x54, 0x6f, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, + 0x12, 0x44, 0x0a, 0x07, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x2a, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, + 0x32, 0x2e, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x41, 0x6d, 0x6f, 0x75, 0x6e, + 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x07, 0x72, + 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x12, 0x2d, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, + 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x06, 0x61, + 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x1a, 0xbe, 0x01, 0x0a, 0x17, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, + 0x65, 0x72, 0x72, 0x65, 0x64, 0x57, 0x69, 0x74, 0x68, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, + 0x65, 0x12, 0x39, 0x0a, 0x08, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, + 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x52, 0x08, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x12, 0x31, 0x0a, 0x06, + 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, + 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x4e, 0x65, 0x77, + 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, + 0x2c, 0x0a, 0x04, 0x6d, 0x65, 0x6d, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, + 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x65, + 0x6d, 0x6f, 0x48, 0x00, 0x52, 0x04, 0x6d, 0x65, 0x6d, 0x6f, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, + 0x05, 0x5f, 0x6d, 0x65, 0x6d, 0x6f, 0x1a, 0xf8, 0x01, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x64, 0x65, + 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, 0x49, 0x0a, + 0x0c, 0x6e, 0x65, 0x77, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, + 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x52, 0x65, + 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x52, 0x0a, 0x6e, 0x65, + 0x77, 0x43, 0x72, 0x65, 0x64, 0x49, 0x64, 0x73, 0x12, 0x51, 0x0a, 0x10, 0x72, 0x65, 0x6d, 0x6f, + 0x76, 0x65, 0x64, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, + 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x52, 0x65, 0x67, + 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x52, 0x0e, 0x72, 0x65, 0x6d, + 0x6f, 0x76, 0x65, 0x64, 0x43, 0x72, 0x65, 0x64, 0x49, 0x64, 0x73, 0x12, 0x44, 0x0a, 0x0d, 0x6e, + 0x65, 0x77, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, + 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, + 0x6f, 0x6c, 0x64, 0x52, 0x0c, 0x6e, 0x65, 0x77, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, + 0x64, 0x1a, 0x44, 0x0a, 0x0f, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x75, 0x72, 0x65, 0x64, 0x12, 0x31, 0x0a, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, + 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, + 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x1a, 0x4e, 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65, 0x67, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x64, 0x12, + 0x36, 0x0a, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, + 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, + 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x42, 0x08, 0x0a, 0x06, 0x65, 0x66, 0x66, 0x65, 0x63, + 0x74, 0x22, 0x49, 0x0a, 0x12, 0x45, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x66, + 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x12, 0x33, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, + 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x72, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xd1, 0x01, 0x0a, + 0x11, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, + 0x72, 0x73, 0x12, 0x3a, 0x0a, 0x0c, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x62, 0x61, + 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, + 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x0b, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x42, 0x61, 0x73, 0x65, 0x12, 0x3f, + 0x0a, 0x10, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x61, + 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, + 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x52, 0x0f, + 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x12, + 0x3f, 0x0a, 0x10, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x64, 0x65, 0x63, 0x72, 0x65, + 0x61, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x63, + 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x52, + 0x0f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x44, 0x65, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, + 0x22, 0xeb, 0x01, 0x0a, 0x1f, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, + 0x74, 0x65, 0x72, 0x73, 0x12, 0x2d, 0x0a, 0x12, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x5f, + 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x11, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, + 0x65, 0x72, 0x73, 0x12, 0x2d, 0x0a, 0x12, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x66, + 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x11, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, + 0x72, 0x73, 0x12, 0x6a, 0x0a, 0x22, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x5f, + 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x6b, 0x65, 0x5f, 0x74, + 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, + 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, + 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x1f, 0x66, + 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, + 0x53, 0x74, 0x61, 0x6b, 0x65, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x22, 0x4e, + 0x0a, 0x18, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x63, 0x6f, 0x72, 0x65, + 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x6d, 0x61, + 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x6d, 0x69, 0x73, 0x73, 0x65, 0x64, 0x5f, 0x72, 0x6f, 0x75, + 0x6e, 0x64, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x13, 0x6d, 0x61, 0x78, 0x69, 0x6d, + 0x75, 0x6d, 0x4d, 0x69, 0x73, 0x73, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x22, 0xec, + 0x01, 0x0a, 0x15, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x50, 0x61, 0x72, 0x61, + 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x56, 0x31, 0x12, 0x4f, 0x0a, 0x12, 0x74, 0x69, 0x6d, 0x65, + 0x6f, 0x75, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, + 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x50, 0x61, 0x72, 0x61, + 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x52, 0x11, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x50, + 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x3d, 0x0a, 0x0e, 0x6d, 0x69, 0x6e, + 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, - 0x32, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x74, 0x69, 0x6d, 0x65, - 0x6f, 0x75, 0x74, 0x42, 0x61, 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x10, 0x74, 0x69, 0x6d, 0x65, 0x6f, - 0x75, 0x74, 0x5f, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, - 0x32, 0x2e, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x52, 0x0f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, - 0x49, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x10, 0x74, 0x69, 0x6d, 0x65, - 0x6f, 0x75, 0x74, 0x5f, 0x64, 0x65, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, - 0x76, 0x32, 0x2e, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x52, 0x0f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, - 0x74, 0x44, 0x65, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x22, 0xeb, 0x01, 0x0a, 0x1f, 0x46, 0x69, - 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, - 0x74, 0x65, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x2d, 0x0a, - 0x12, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, - 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x6d, 0x69, 0x6e, 0x69, 0x6d, - 0x75, 0x6d, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x73, 0x12, 0x2d, 0x0a, 0x12, - 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, - 0x72, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, - 0x6d, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x73, 0x12, 0x6a, 0x0a, 0x22, 0x66, - 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x76, - 0x65, 0x5f, 0x73, 0x74, 0x61, 0x6b, 0x65, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, - 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, - 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x72, - 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x1f, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, - 0x72, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x54, 0x68, - 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x22, 0xec, 0x01, 0x0a, 0x15, 0x43, 0x6f, 0x6e, 0x73, - 0x65, 0x6e, 0x73, 0x75, 0x73, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x56, - 0x31, 0x12, 0x4f, 0x0a, 0x12, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x70, 0x61, 0x72, - 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, - 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x69, - 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x52, - 0x11, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, - 0x72, 0x73, 0x12, 0x3d, 0x0a, 0x0e, 0x6d, 0x69, 0x6e, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, - 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x6f, 0x6e, - 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x6d, 0x69, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x69, 0x6d, - 0x65, 0x12, 0x43, 0x0a, 0x12, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x65, 0x6e, 0x65, 0x72, 0x67, - 0x79, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, - 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6e, - 0x65, 0x72, 0x67, 0x79, 0x52, 0x10, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x45, 0x6e, 0x65, 0x72, 0x67, - 0x79, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0x3a, 0x0a, 0x0c, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, - 0x67, 0x65, 0x52, 0x61, 0x74, 0x65, 0x12, 0x2a, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, - 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x52, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x22, 0x47, 0x0a, 0x05, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x12, 0x1c, 0x0a, 0x09, 0x6e, - 0x75, 0x6d, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, - 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x6e, - 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, - 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x27, 0x0a, 0x0f, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x12, 0x14, - 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x22, 0x2b, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4b, 0x65, - 0x79, 0x73, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x76, + 0x32, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x6d, 0x69, 0x6e, 0x42, + 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x43, 0x0a, 0x12, 0x62, 0x6c, 0x6f, 0x63, + 0x6b, 0x5f, 0x65, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, + 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x52, 0x10, 0x62, 0x6c, 0x6f, + 0x63, 0x6b, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0x3a, 0x0a, + 0x0c, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x61, 0x74, 0x65, 0x12, 0x2a, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, + 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x61, 0x74, + 0x69, 0x6f, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x47, 0x0a, 0x05, 0x52, 0x61, 0x74, + 0x69, 0x6f, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, + 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x74, + 0x6f, 0x72, 0x22, 0x27, 0x0a, 0x0f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x75, 0x62, 0x6c, + 0x69, 0x63, 0x4b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x2b, 0x0a, 0x13, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, + 0x6c, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x27, 0x0a, 0x0f, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x22, 0x27, 0x0a, 0x0f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x49, - 0x6e, 0x64, 0x65, 0x78, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x87, 0x01, 0x0a, 0x0f, 0x48, - 0x69, 0x67, 0x68, 0x65, 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x32, - 0x0a, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, + 0x65, 0x22, 0x87, 0x01, 0x0a, 0x0f, 0x48, 0x69, 0x67, 0x68, 0x65, 0x72, 0x4c, 0x65, 0x76, 0x65, + 0x6c, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x32, 0x0a, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, + 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, + 0x4b, 0x65, 0x79, 0x52, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x12, 0x40, 0x0a, 0x09, 0x74, 0x68, 0x72, + 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x52, 0x04, 0x6b, 0x65, - 0x79, 0x73, 0x12, 0x40, 0x0a, 0x09, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, - 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, - 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x52, 0x09, 0x74, 0x68, 0x72, 0x65, 0x73, - 0x68, 0x6f, 0x6c, 0x64, 0x22, 0xae, 0x01, 0x0a, 0x0f, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x53, - 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x12, 0x4c, 0x0a, 0x12, 0x61, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, - 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x49, - 0x6e, 0x64, 0x65, 0x78, 0x52, 0x10, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x50, 0x75, 0x62, 0x6c, - 0x69, 0x63, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x4d, 0x0a, 0x10, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x22, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, - 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x54, 0x68, 0x72, 0x65, 0x73, - 0x68, 0x6f, 0x6c, 0x64, 0x52, 0x0f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x68, 0x72, 0x65, - 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x22, 0xc8, 0x08, 0x0a, 0x10, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, - 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x56, 0x30, 0x12, 0x32, 0x0a, 0x04, 0x6b, 0x65, - 0x79, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, - 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, - 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x52, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x12, 0x3c, - 0x0a, 0x09, 0x65, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, - 0x32, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, - 0x65, 0x52, 0x09, 0x65, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x3a, 0x0a, 0x08, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, - 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, - 0x63, 0x63, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x52, 0x08, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x4f, 0x0a, 0x13, 0x70, 0x61, 0x72, 0x61, - 0x6d, 0x65, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, + 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, + 0x52, 0x09, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x22, 0xae, 0x01, 0x0a, 0x0f, + 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x12, + 0x4c, 0x0a, 0x12, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, + 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, + 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x10, 0x61, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x4d, 0x0a, + 0x10, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, + 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4b, 0x65, + 0x79, 0x73, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x52, 0x0f, 0x61, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x22, 0xc8, 0x08, 0x0a, + 0x10, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x56, + 0x30, 0x12, 0x32, 0x0a, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x52, + 0x04, 0x6b, 0x65, 0x79, 0x73, 0x12, 0x3c, 0x0a, 0x09, 0x65, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x6e, + 0x63, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, + 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x53, + 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x52, 0x09, 0x65, 0x6d, 0x65, 0x72, 0x67, 0x65, + 0x6e, 0x63, 0x79, 0x12, 0x3a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x75, - 0x63, 0x74, 0x75, 0x72, 0x65, 0x52, 0x12, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, - 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x12, 0x59, 0x0a, 0x19, 0x70, 0x61, 0x72, - 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x5f, 0x65, 0x75, 0x72, 0x6f, 0x5f, 0x70, 0x65, 0x72, 0x5f, - 0x65, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, + 0x63, 0x74, 0x75, 0x72, 0x65, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, + 0x4f, 0x0a, 0x13, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, + 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, - 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x52, 0x16, 0x70, 0x61, - 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x45, 0x75, 0x72, 0x6f, 0x50, 0x65, 0x72, 0x45, 0x6e, - 0x65, 0x72, 0x67, 0x79, 0x12, 0x5e, 0x0a, 0x1c, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, - 0x72, 0x5f, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x5f, 0x43, 0x43, 0x44, 0x5f, 0x70, 0x65, 0x72, 0x5f, - 0x65, 0x75, 0x72, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, - 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x52, 0x18, 0x70, 0x61, 0x72, 0x61, - 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x43, 0x43, 0x44, 0x50, 0x65, 0x72, - 0x45, 0x75, 0x72, 0x6f, 0x12, 0x60, 0x0a, 0x1c, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, - 0x72, 0x5f, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, - 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x52, 0x1a, 0x70, 0x61, 0x72, 0x61, - 0x6d, 0x65, 0x74, 0x65, 0x72, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x5e, 0x0a, 0x1b, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, - 0x74, 0x65, 0x72, 0x5f, 0x6d, 0x69, 0x6e, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, - 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x52, 0x19, 0x70, 0x61, 0x72, - 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4d, 0x69, 0x6e, 0x74, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x73, 0x0a, 0x26, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, - 0x74, 0x65, 0x72, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x66, 0x65, 0x65, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, - 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, - 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x52, 0x23, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, - 0x72, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x65, 0x65, 0x44, - 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x52, 0x0a, 0x15, 0x70, - 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x5f, 0x67, 0x61, 0x73, 0x5f, 0x72, 0x65, 0x77, - 0x61, 0x72, 0x64, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, - 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x52, 0x13, 0x70, 0x61, 0x72, 0x61, - 0x6d, 0x65, 0x74, 0x65, 0x72, 0x47, 0x61, 0x73, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x12, - 0x47, 0x0a, 0x0f, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, - 0x72, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, - 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x53, - 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x52, 0x0e, 0x70, 0x6f, 0x6f, 0x6c, 0x50, 0x61, - 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x52, 0x0a, 0x15, 0x61, 0x64, 0x64, 0x5f, - 0x61, 0x6e, 0x6f, 0x6e, 0x79, 0x6d, 0x69, 0x74, 0x79, 0x5f, 0x72, 0x65, 0x76, 0x6f, 0x6b, 0x65, - 0x72, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, - 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x53, 0x74, - 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x52, 0x13, 0x61, 0x64, 0x64, 0x41, 0x6e, 0x6f, 0x6e, - 0x79, 0x6d, 0x69, 0x74, 0x79, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x72, 0x12, 0x52, 0x0a, 0x15, - 0x61, 0x64, 0x64, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x72, 0x6f, - 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, - 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x52, 0x13, 0x61, 0x64, 0x64, - 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, - 0x22, 0xd9, 0x01, 0x0a, 0x10, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x56, 0x31, 0x12, 0x2f, 0x0a, 0x02, 0x76, 0x30, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1f, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, - 0x32, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x56, 0x30, 0x52, 0x02, 0x76, 0x30, 0x12, 0x4d, 0x0a, 0x12, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, - 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6f, 0x6c, 0x64, 0x6f, 0x77, 0x6e, 0x18, 0x02, 0x20, 0x01, + 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x52, 0x12, 0x70, 0x61, + 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, + 0x12, 0x59, 0x0a, 0x19, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x5f, 0x65, 0x75, + 0x72, 0x6f, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x65, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, + 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, + 0x75, 0x72, 0x65, 0x52, 0x16, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x45, 0x75, + 0x72, 0x6f, 0x50, 0x65, 0x72, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x12, 0x5e, 0x0a, 0x1c, 0x70, + 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x5f, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x5f, 0x43, + 0x43, 0x44, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x65, 0x75, 0x72, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, + 0x32, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, + 0x65, 0x52, 0x18, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4d, 0x69, 0x63, 0x72, + 0x6f, 0x43, 0x43, 0x44, 0x50, 0x65, 0x72, 0x45, 0x75, 0x72, 0x6f, 0x12, 0x60, 0x0a, 0x1c, 0x70, + 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x5f, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, + 0x32, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, + 0x65, 0x52, 0x1a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x46, 0x6f, 0x75, 0x6e, + 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x5e, 0x0a, + 0x1b, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x5f, 0x6d, 0x69, 0x6e, 0x74, 0x5f, + 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, - 0x72, 0x65, 0x52, 0x11, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6f, - 0x6c, 0x64, 0x6f, 0x77, 0x6e, 0x12, 0x45, 0x0a, 0x0e, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, - 0x65, 0x72, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, + 0x72, 0x65, 0x52, 0x19, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4d, 0x69, 0x6e, + 0x74, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x73, 0x0a, + 0x26, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x72, + 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, - 0x63, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x52, 0x0d, 0x70, - 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x55, 0x0a, 0x0b, - 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, - 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, - 0x6c, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x22, 0x8f, 0x02, 0x0a, 0x06, 0x41, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3c, - 0x0a, 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x20, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, - 0x2e, 0x41, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x72, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, - 0x74, 0x79, 0x52, 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x3c, 0x0a, 0x0b, - 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, - 0x32, 0x2e, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x64, - 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x40, 0x0a, 0x0a, 0x70, 0x75, - 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, + 0x63, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x52, 0x23, 0x70, + 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x46, 0x65, 0x65, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x52, 0x0a, 0x15, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x5f, + 0x67, 0x61, 0x73, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, + 0x32, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, + 0x65, 0x52, 0x13, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x47, 0x61, 0x73, 0x52, + 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x12, 0x47, 0x0a, 0x0f, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x70, + 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, + 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x52, + 0x0e, 0x70, 0x6f, 0x6f, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, + 0x52, 0x0a, 0x15, 0x61, 0x64, 0x64, 0x5f, 0x61, 0x6e, 0x6f, 0x6e, 0x79, 0x6d, 0x69, 0x74, 0x79, + 0x5f, 0x72, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x72, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, - 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x72, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, - 0x79, 0x52, 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x1a, 0x22, 0x0a, 0x0a, - 0x41, 0x72, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x52, 0x13, + 0x61, 0x64, 0x64, 0x41, 0x6e, 0x6f, 0x6e, 0x79, 0x6d, 0x69, 0x74, 0x79, 0x52, 0x65, 0x76, 0x6f, + 0x6b, 0x65, 0x72, 0x12, 0x52, 0x0a, 0x15, 0x61, 0x64, 0x64, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, + 0x69, 0x74, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x0d, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, + 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, + 0x72, 0x65, 0x52, 0x13, 0x61, 0x64, 0x64, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x50, + 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x22, 0xd9, 0x01, 0x0a, 0x10, 0x41, 0x75, 0x74, 0x68, + 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x56, 0x31, 0x12, 0x2f, 0x0a, 0x02, + 0x76, 0x30, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, + 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, + 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x56, 0x30, 0x52, 0x02, 0x76, 0x30, 0x12, 0x4d, 0x0a, + 0x12, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6f, 0x6c, 0x64, + 0x6f, 0x77, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, + 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x52, 0x11, 0x70, 0x61, 0x72, 0x61, 0x6d, + 0x65, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6f, 0x6c, 0x64, 0x6f, 0x77, 0x6e, 0x12, 0x45, 0x0a, 0x0e, + 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, + 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x75, 0x63, + 0x74, 0x75, 0x72, 0x65, 0x52, 0x0d, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x54, + 0x69, 0x6d, 0x65, 0x22, 0x55, 0x0a, 0x0b, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, + 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x8f, 0x02, 0x0a, 0x06, 0x41, + 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3c, 0x0a, 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, + 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, + 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x41, + 0x72, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, + 0x69, 0x74, 0x79, 0x12, 0x3c, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, + 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x40, 0x0a, 0x0a, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, + 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x72, 0x50, + 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x52, 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, + 0x4b, 0x65, 0x79, 0x1a, 0x22, 0x0a, 0x0a, 0x41, 0x72, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, + 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0x23, 0x0a, 0x0b, 0x41, 0x72, 0x50, 0x75, 0x62, + 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x22, 0x0a, 0x0a, + 0x49, 0x70, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x1a, 0x23, 0x0a, 0x0b, 0x41, 0x72, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x12, - 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x22, 0x0a, 0x0a, 0x49, 0x70, 0x49, 0x64, 0x65, 0x6e, 0x74, - 0x69, 0x74, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xd8, 0x02, 0x0a, 0x06, 0x49, 0x70, - 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x35, 0x0a, 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, - 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x70, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, - 0x79, 0x52, 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x3c, 0x0a, 0x0b, 0x64, - 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1a, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, - 0x2e, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x64, 0x65, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x40, 0x0a, 0x0a, 0x76, 0x65, 0x72, - 0x69, 0x66, 0x79, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, + 0x22, 0xd8, 0x02, 0x0a, 0x06, 0x49, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x35, 0x0a, 0x08, 0x69, + 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x70, - 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x49, 0x70, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x4b, 0x65, 0x79, - 0x52, 0x09, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x4b, 0x65, 0x79, 0x12, 0x4a, 0x0a, 0x0e, 0x63, - 0x64, 0x69, 0x5f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, - 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x49, 0x70, 0x43, 0x64, 0x69, - 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x4b, 0x65, 0x79, 0x52, 0x0c, 0x63, 0x64, 0x69, 0x56, 0x65, - 0x72, 0x69, 0x66, 0x79, 0x4b, 0x65, 0x79, 0x1a, 0x23, 0x0a, 0x0b, 0x49, 0x70, 0x56, 0x65, 0x72, - 0x69, 0x66, 0x79, 0x4b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0x26, 0x0a, 0x0e, - 0x49, 0x70, 0x43, 0x64, 0x69, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x4b, 0x65, 0x79, 0x12, 0x14, - 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x22, 0x27, 0x0a, 0x0f, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x81, 0x01, - 0x0a, 0x1c, 0x49, 0x6e, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, - 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2f, - 0x0a, 0x03, 0x6d, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, - 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, - 0x6e, 0x74, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x03, 0x6d, 0x69, 0x6e, 0x12, - 0x30, 0x0a, 0x04, 0x6d, 0x61, 0x78, 0x5f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, - 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, - 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x03, 0x6d, 0x61, - 0x78, 0x22, 0xf7, 0x01, 0x0a, 0x10, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x52, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x4f, 0x0a, 0x0c, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, - 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x63, - 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6e, 0x63, - 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x41, 0x6d, 0x6f, 0x75, 0x6e, - 0x74, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x66, 0x69, 0x6e, 0x61, 0x6c, - 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x43, 0x0a, 0x06, 0x62, 0x61, 0x6b, 0x69, 0x6e, - 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, - 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6e, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, - 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x72, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x62, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x12, 0x4d, 0x0a, 0x0b, - 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x2b, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, - 0x32, 0x2e, 0x49, 0x6e, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, - 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, - 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x43, 0x0a, 0x0c, 0x43, - 0x61, 0x70, 0x69, 0x74, 0x61, 0x6c, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x33, 0x0a, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, - 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, - 0x74, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x22, 0x3c, 0x0a, 0x0e, 0x4c, 0x65, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x46, 0x61, 0x63, 0x74, - 0x6f, 0x72, 0x12, 0x2a, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, - 0x32, 0x2e, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x1d, - 0x0a, 0x05, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x1d, 0x0a, - 0x05, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x40, 0x0a, 0x12, - 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x4c, 0x65, 0x6e, 0x67, - 0x74, 0x68, 0x12, 0x2a, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, - 0x32, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x42, - 0x0a, 0x08, 0x4d, 0x69, 0x6e, 0x74, 0x52, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x61, - 0x6e, 0x74, 0x69, 0x73, 0x73, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6d, 0x61, - 0x6e, 0x74, 0x69, 0x73, 0x73, 0x61, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x78, 0x70, 0x6f, 0x6e, 0x65, - 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x65, 0x78, 0x70, 0x6f, 0x6e, 0x65, - 0x6e, 0x74, 0x22, 0xb7, 0x01, 0x0a, 0x16, 0x43, 0x6f, 0x6f, 0x6c, 0x64, 0x6f, 0x77, 0x6e, 0x50, - 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x43, 0x70, 0x76, 0x31, 0x12, 0x4e, 0x0a, - 0x13, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6f, 0x6c, - 0x64, 0x6f, 0x77, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, - 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x52, 0x11, 0x70, 0x6f, 0x6f, 0x6c, - 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6f, 0x6c, 0x64, 0x6f, 0x77, 0x6e, 0x12, 0x4d, 0x0a, - 0x12, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x63, 0x6f, 0x6f, 0x6c, 0x64, - 0x6f, 0x77, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, - 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x52, 0x11, 0x64, 0x65, 0x6c, 0x65, 0x67, - 0x61, 0x74, 0x6f, 0x72, 0x43, 0x6f, 0x6f, 0x6c, 0x64, 0x6f, 0x77, 0x6e, 0x22, 0xde, 0x04, 0x0a, - 0x12, 0x50, 0x6f, 0x6f, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x43, - 0x70, 0x76, 0x31, 0x12, 0x65, 0x0a, 0x1f, 0x70, 0x61, 0x73, 0x73, 0x69, 0x76, 0x65, 0x5f, 0x66, - 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, - 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, - 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, - 0x75, 0x6e, 0x74, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x1d, 0x70, 0x61, 0x73, - 0x73, 0x69, 0x76, 0x65, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x59, 0x0a, 0x19, 0x70, 0x61, - 0x73, 0x73, 0x69, 0x76, 0x65, 0x5f, 0x62, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6d, - 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, - 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, - 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x17, 0x70, 0x61, - 0x73, 0x73, 0x69, 0x76, 0x65, 0x42, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x69, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x63, 0x0a, 0x1e, 0x70, 0x61, 0x73, 0x73, 0x69, 0x76, 0x65, - 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6d, - 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, - 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, - 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x1c, 0x70, 0x61, - 0x73, 0x73, 0x69, 0x76, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x4c, 0x0a, 0x11, 0x63, 0x6f, - 0x6d, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, - 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x52, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x52, 0x10, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x12, 0x4b, 0x0a, 0x16, 0x6d, 0x69, 0x6e, 0x69, - 0x6d, 0x75, 0x6d, 0x5f, 0x65, 0x71, 0x75, 0x69, 0x74, 0x79, 0x5f, 0x63, 0x61, 0x70, 0x69, 0x74, - 0x61, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, - 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, - 0x14, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x45, 0x71, 0x75, 0x69, 0x74, 0x79, 0x43, 0x61, - 0x70, 0x69, 0x74, 0x61, 0x6c, 0x12, 0x40, 0x0a, 0x0d, 0x63, 0x61, 0x70, 0x69, 0x74, 0x61, 0x6c, - 0x5f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, - 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x61, 0x70, - 0x69, 0x74, 0x61, 0x6c, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x52, 0x0c, 0x63, 0x61, 0x70, 0x69, 0x74, - 0x61, 0x6c, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x44, 0x0a, 0x0e, 0x6c, 0x65, 0x76, 0x65, 0x72, - 0x61, 0x67, 0x65, 0x5f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, - 0x4c, 0x65, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x0d, - 0x6c, 0x65, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x22, 0xaa, 0x01, - 0x0a, 0x12, 0x54, 0x69, 0x6d, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, - 0x43, 0x70, 0x76, 0x31, 0x12, 0x53, 0x0a, 0x14, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x70, - 0x65, 0x72, 0x69, 0x6f, 0x64, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, - 0x76, 0x32, 0x2e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x4c, - 0x65, 0x6e, 0x67, 0x74, 0x68, 0x52, 0x12, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x50, 0x65, 0x72, - 0x69, 0x6f, 0x64, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x3f, 0x0a, 0x0f, 0x6d, 0x69, 0x6e, - 0x74, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x70, 0x61, 0x79, 0x64, 0x61, 0x79, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, - 0x76, 0x32, 0x2e, 0x4d, 0x69, 0x6e, 0x74, 0x52, 0x61, 0x74, 0x65, 0x52, 0x0d, 0x6d, 0x69, 0x6e, - 0x74, 0x50, 0x65, 0x72, 0x50, 0x61, 0x79, 0x64, 0x61, 0x79, 0x22, 0xaa, 0x01, 0x0a, 0x14, 0x4d, - 0x69, 0x6e, 0x74, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x43, - 0x70, 0x76, 0x31, 0x12, 0x42, 0x0a, 0x0d, 0x62, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x65, - 0x77, 0x61, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, - 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, - 0x74, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x62, 0x61, 0x6b, 0x69, 0x6e, - 0x67, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x4e, 0x0a, 0x13, 0x66, 0x69, 0x6e, 0x61, 0x6c, - 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x18, 0x02, + 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, + 0x74, 0x79, 0x12, 0x3c, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, + 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x40, 0x0a, 0x0a, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, + 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x49, 0x70, 0x56, 0x65, + 0x72, 0x69, 0x66, 0x79, 0x4b, 0x65, 0x79, 0x52, 0x09, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x4b, + 0x65, 0x79, 0x12, 0x4a, 0x0a, 0x0e, 0x63, 0x64, 0x69, 0x5f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, + 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x6f, 0x6e, + 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x70, 0x49, 0x6e, 0x66, + 0x6f, 0x2e, 0x49, 0x70, 0x43, 0x64, 0x69, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x4b, 0x65, 0x79, + 0x52, 0x0c, 0x63, 0x64, 0x69, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x4b, 0x65, 0x79, 0x1a, 0x23, + 0x0a, 0x0b, 0x49, 0x70, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x4b, 0x65, 0x79, 0x12, 0x14, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x1a, 0x26, 0x0a, 0x0e, 0x49, 0x70, 0x43, 0x64, 0x69, 0x56, 0x65, 0x72, 0x69, + 0x66, 0x79, 0x4b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x27, 0x0a, 0x0f, 0x44, + 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x14, + 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x22, 0x81, 0x01, 0x0a, 0x1c, 0x49, 0x6e, 0x63, 0x6c, 0x75, 0x73, 0x69, + 0x76, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x72, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x0a, 0x03, 0x6d, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, + 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x03, 0x6d, 0x69, 0x6e, 0x12, 0x30, 0x0a, 0x04, 0x6d, 0x61, 0x78, 0x5f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x72, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x12, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x22, 0xe3, 0x01, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x74, - 0x6f, 0x63, 0x6f, 0x6c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x10, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x55, - 0x72, 0x6c, 0x12, 0x47, 0x0a, 0x11, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x48, 0x61, 0x73, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, - 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x68, - 0x61, 0x32, 0x35, 0x36, 0x48, 0x61, 0x73, 0x68, 0x52, 0x11, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, - 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x61, 0x73, 0x68, 0x12, 0x40, 0x0a, 0x1c, 0x73, - 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x75, 0x78, - 0x69, 0x6c, 0x69, 0x61, 0x72, 0x79, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x0c, 0x52, 0x1a, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x41, 0x75, 0x78, 0x69, 0x6c, 0x69, 0x61, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x22, 0xe7, 0x01, - 0x0a, 0x14, 0x4d, 0x69, 0x6e, 0x74, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, - 0x6f, 0x6e, 0x43, 0x70, 0x76, 0x30, 0x12, 0x3b, 0x0a, 0x0d, 0x6d, 0x69, 0x6e, 0x74, 0x5f, 0x70, - 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, - 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x69, - 0x6e, 0x74, 0x52, 0x61, 0x74, 0x65, 0x52, 0x0b, 0x6d, 0x69, 0x6e, 0x74, 0x50, 0x65, 0x72, 0x53, - 0x6c, 0x6f, 0x74, 0x12, 0x42, 0x0a, 0x0d, 0x62, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x65, - 0x77, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, - 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, - 0x74, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x62, 0x61, 0x6b, 0x69, 0x6e, - 0x67, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x4e, 0x0a, 0x13, 0x66, 0x69, 0x6e, 0x61, 0x6c, - 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x18, 0x03, + 0x69, 0x6f, 0x6e, 0x52, 0x03, 0x6d, 0x61, 0x78, 0x22, 0xf7, 0x01, 0x0a, 0x10, 0x43, 0x6f, 0x6d, + 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x4f, 0x0a, + 0x0c, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, + 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6e, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x52, 0x61, 0x6e, + 0x67, 0x65, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x0c, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x43, + 0x0a, 0x06, 0x62, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, + 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x49, + 0x6e, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x41, 0x6d, 0x6f, + 0x75, 0x6e, 0x74, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x62, 0x61, 0x6b, + 0x69, 0x6e, 0x67, 0x12, 0x4d, 0x0a, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, + 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6e, 0x63, 0x6c, 0x75, 0x73, 0x69, + 0x76, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x72, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x22, 0x43, 0x0a, 0x0c, 0x43, 0x61, 0x70, 0x69, 0x74, 0x61, 0x6c, 0x42, 0x6f, 0x75, + 0x6e, 0x64, 0x12, 0x33, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, + 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x3c, 0x0a, 0x0e, 0x4c, 0x65, 0x76, 0x65, 0x72, + 0x61, 0x67, 0x65, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x2a, 0x0a, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, + 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x52, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x1d, 0x0a, 0x05, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x14, + 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x22, 0x1d, 0x0a, 0x05, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x14, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x22, 0x40, 0x0a, 0x12, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x50, 0x65, 0x72, + 0x69, 0x6f, 0x64, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x2a, 0x0a, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, + 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x52, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x42, 0x0a, 0x08, 0x4d, 0x69, 0x6e, 0x74, 0x52, 0x61, 0x74, + 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x61, 0x6e, 0x74, 0x69, 0x73, 0x73, 0x61, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6d, 0x61, 0x6e, 0x74, 0x69, 0x73, 0x73, 0x61, 0x12, 0x1a, 0x0a, + 0x08, 0x65, 0x78, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x08, 0x65, 0x78, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x22, 0xb7, 0x01, 0x0a, 0x16, 0x43, 0x6f, + 0x6f, 0x6c, 0x64, 0x6f, 0x77, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, + 0x43, 0x70, 0x76, 0x31, 0x12, 0x4e, 0x0a, 0x13, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x6f, 0x77, 0x6e, + 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6f, 0x6c, 0x64, 0x6f, 0x77, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, + 0x32, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, + 0x73, 0x52, 0x11, 0x70, 0x6f, 0x6f, 0x6c, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6f, 0x6c, + 0x64, 0x6f, 0x77, 0x6e, 0x12, 0x4d, 0x0a, 0x12, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, + 0x72, 0x5f, 0x63, 0x6f, 0x6f, 0x6c, 0x64, 0x6f, 0x77, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, + 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, + 0x52, 0x11, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x43, 0x6f, 0x6f, 0x6c, 0x64, + 0x6f, 0x77, 0x6e, 0x22, 0xde, 0x04, 0x0a, 0x12, 0x50, 0x6f, 0x6f, 0x6c, 0x50, 0x61, 0x72, 0x61, + 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x43, 0x70, 0x76, 0x31, 0x12, 0x65, 0x0a, 0x1f, 0x70, 0x61, + 0x73, 0x73, 0x69, 0x76, 0x65, 0x5f, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, + 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x1d, 0x70, 0x61, 0x73, 0x73, 0x69, 0x76, 0x65, 0x46, 0x69, 0x6e, 0x61, 0x6c, + 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x12, 0x59, 0x0a, 0x19, 0x70, 0x61, 0x73, 0x73, 0x69, 0x76, 0x65, 0x5f, 0x62, 0x61, 0x6b, + 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x72, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x12, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x22, 0x91, 0x01, 0x0a, 0x1a, 0x54, 0x72, 0x61, 0x6e, - 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x65, 0x65, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x33, 0x0a, 0x05, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, - 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x72, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x12, 0x3e, 0x0a, 0x0b, 0x67, - 0x61, 0x73, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, - 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x0a, 0x67, 0x61, 0x73, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x9b, 0x02, 0x0a, 0x0a, - 0x47, 0x61, 0x73, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x12, 0x33, 0x0a, 0x05, 0x62, 0x61, - 0x6b, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, - 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, - 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x12, - 0x4c, 0x0a, 0x12, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x70, 0x72, 0x6f, 0x6f, 0x66, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, - 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, - 0x6e, 0x74, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x11, 0x66, 0x69, 0x6e, 0x61, - 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x12, 0x48, 0x0a, - 0x10, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, - 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x72, - 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x40, 0x0a, 0x0c, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, - 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, - 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x22, 0xd1, 0x01, 0x0a, 0x0e, 0x47, 0x61, - 0x73, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x43, 0x70, 0x76, 0x32, 0x12, 0x33, 0x0a, 0x05, - 0x62, 0x61, 0x6b, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, - 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, - 0x6e, 0x74, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x62, 0x61, 0x6b, 0x65, - 0x72, 0x12, 0x48, 0x0a, 0x10, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, + 0x69, 0x6f, 0x6e, 0x52, 0x17, 0x70, 0x61, 0x73, 0x73, 0x69, 0x76, 0x65, 0x42, 0x61, 0x6b, 0x69, + 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x63, 0x0a, 0x1e, + 0x70, 0x61, 0x73, 0x73, 0x69, 0x76, 0x65, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, + 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x72, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x1c, 0x70, 0x61, 0x73, 0x73, 0x69, 0x76, 0x65, 0x54, 0x72, 0x61, 0x6e, + 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x12, 0x4c, 0x0a, 0x11, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, + 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x63, + 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6d, + 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x52, 0x10, 0x63, + 0x6f, 0x6d, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x12, + 0x4b, 0x0a, 0x16, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x65, 0x71, 0x75, 0x69, 0x74, + 0x79, 0x5f, 0x63, 0x61, 0x70, 0x69, 0x74, 0x61, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, + 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x14, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x45, + 0x71, 0x75, 0x69, 0x74, 0x79, 0x43, 0x61, 0x70, 0x69, 0x74, 0x61, 0x6c, 0x12, 0x40, 0x0a, 0x0d, + 0x63, 0x61, 0x70, 0x69, 0x74, 0x61, 0x6c, 0x5f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, + 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x61, 0x70, 0x69, 0x74, 0x61, 0x6c, 0x42, 0x6f, 0x75, 0x6e, 0x64, + 0x52, 0x0c, 0x63, 0x61, 0x70, 0x69, 0x74, 0x61, 0x6c, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x44, + 0x0a, 0x0e, 0x6c, 0x65, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x62, 0x6f, 0x75, 0x6e, 0x64, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, + 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x65, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x46, + 0x61, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x0d, 0x6c, 0x65, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x42, + 0x6f, 0x75, 0x6e, 0x64, 0x22, 0xaa, 0x01, 0x0a, 0x12, 0x54, 0x69, 0x6d, 0x65, 0x50, 0x61, 0x72, + 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x43, 0x70, 0x76, 0x31, 0x12, 0x53, 0x0a, 0x14, 0x72, + 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x5f, 0x6c, 0x65, 0x6e, + 0x67, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x6f, 0x6e, 0x63, + 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, + 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x52, 0x12, 0x72, 0x65, + 0x77, 0x61, 0x72, 0x64, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, + 0x12, 0x3f, 0x0a, 0x0f, 0x6d, 0x69, 0x6e, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x70, 0x61, 0x79, + 0x64, 0x61, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x6f, 0x6e, 0x63, + 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x69, 0x6e, 0x74, 0x52, 0x61, + 0x74, 0x65, 0x52, 0x0d, 0x6d, 0x69, 0x6e, 0x74, 0x50, 0x65, 0x72, 0x50, 0x61, 0x79, 0x64, 0x61, + 0x79, 0x22, 0xaa, 0x01, 0x0a, 0x14, 0x4d, 0x69, 0x6e, 0x74, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, + 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x70, 0x76, 0x31, 0x12, 0x42, 0x0a, 0x0d, 0x62, 0x61, + 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, + 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x0c, 0x62, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x4e, + 0x0a, 0x13, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, + 0x65, 0x77, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, - 0x6e, 0x74, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x40, 0x0a, 0x0c, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x6e, 0x74, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x12, 0x66, 0x69, 0x6e, 0x61, + 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x22, 0xe3, + 0x01, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x2b, 0x0a, 0x11, + 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x75, 0x72, + 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x72, 0x6c, 0x12, 0x47, 0x0a, 0x11, 0x73, 0x70, 0x65, + 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x61, 0x73, 0x68, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, + 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x68, 0x61, 0x32, 0x35, 0x36, 0x48, 0x61, 0x73, 0x68, 0x52, + 0x11, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x61, + 0x73, 0x68, 0x12, 0x40, 0x0a, 0x1c, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x75, 0x78, 0x69, 0x6c, 0x69, 0x61, 0x72, 0x79, 0x5f, 0x64, 0x61, + 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x1a, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, + 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x75, 0x78, 0x69, 0x6c, 0x69, 0x61, 0x72, 0x79, + 0x44, 0x61, 0x74, 0x61, 0x22, 0xe7, 0x01, 0x0a, 0x14, 0x4d, 0x69, 0x6e, 0x74, 0x44, 0x69, 0x73, + 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x70, 0x76, 0x30, 0x12, 0x3b, 0x0a, + 0x0d, 0x6d, 0x69, 0x6e, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, + 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x69, 0x6e, 0x74, 0x52, 0x61, 0x74, 0x65, 0x52, 0x0b, 0x6d, + 0x69, 0x6e, 0x74, 0x50, 0x65, 0x72, 0x53, 0x6c, 0x6f, 0x74, 0x12, 0x42, 0x0a, 0x0d, 0x62, 0x61, + 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x0b, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x22, 0x60, 0x0a, - 0x13, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x54, 0x68, 0x72, 0x65, 0x73, - 0x68, 0x6f, 0x6c, 0x64, 0x12, 0x49, 0x0a, 0x15, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x73, 0x74, - 0x61, 0x6b, 0x65, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, - 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x13, 0x62, 0x61, 0x6b, 0x65, - 0x72, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x22, - 0xe6, 0x02, 0x0a, 0x0a, 0x52, 0x6f, 0x6f, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x4a, - 0x0a, 0x10, 0x72, 0x6f, 0x6f, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x5f, 0x75, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, - 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x69, 0x67, 0x68, 0x65, 0x72, 0x4c, - 0x65, 0x76, 0x65, 0x6c, 0x4b, 0x65, 0x79, 0x73, 0x48, 0x00, 0x52, 0x0e, 0x72, 0x6f, 0x6f, 0x74, - 0x4b, 0x65, 0x79, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x4f, 0x0a, 0x13, 0x6c, 0x65, - 0x76, 0x65, 0x6c, 0x5f, 0x31, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, - 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x69, 0x67, 0x68, 0x65, 0x72, 0x4c, 0x65, - 0x76, 0x65, 0x6c, 0x4b, 0x65, 0x79, 0x73, 0x48, 0x00, 0x52, 0x10, 0x6c, 0x65, 0x76, 0x65, 0x6c, - 0x31, 0x4b, 0x65, 0x79, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x55, 0x0a, 0x16, 0x6c, - 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x32, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x5f, 0x75, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x5f, 0x76, 0x30, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x63, 0x6f, - 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x75, 0x74, 0x68, - 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x56, 0x30, 0x48, 0x00, 0x52, 0x12, - 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x32, 0x4b, 0x65, 0x79, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x56, 0x30, 0x12, 0x55, 0x0a, 0x16, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x32, 0x5f, 0x6b, 0x65, - 0x79, 0x73, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x76, 0x31, 0x18, 0x04, 0x20, 0x01, + 0x52, 0x0c, 0x62, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x4e, + 0x0a, 0x13, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, + 0x65, 0x77, 0x61, 0x72, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, + 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, + 0x6e, 0x74, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x12, 0x66, 0x69, 0x6e, 0x61, + 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x22, 0x91, + 0x01, 0x0a, 0x1a, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x65, + 0x65, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x33, 0x0a, + 0x05, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, + 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, + 0x75, 0x6e, 0x74, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x62, 0x61, 0x6b, + 0x65, 0x72, 0x12, 0x3e, 0x0a, 0x0b, 0x67, 0x61, 0x73, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, + 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x72, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x67, 0x61, 0x73, 0x41, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x22, 0x9b, 0x02, 0x0a, 0x0a, 0x47, 0x61, 0x73, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, + 0x73, 0x12, 0x33, 0x0a, 0x05, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, + 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x05, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x12, 0x4c, 0x0a, 0x12, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, + 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x6f, 0x66, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, + 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x11, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, + 0x72, 0x6f, 0x6f, 0x66, 0x12, 0x48, 0x0a, 0x10, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, + 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, + 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x40, + 0x0a, 0x0c, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, + 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x72, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x22, 0xd1, 0x01, 0x0a, 0x0e, 0x47, 0x61, 0x73, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x43, + 0x70, 0x76, 0x32, 0x12, 0x33, 0x0a, 0x05, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, + 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x05, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x12, 0x48, 0x0a, 0x10, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, + 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x40, 0x0a, 0x0c, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x75, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, + 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x46, + 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x22, 0x60, 0x0a, 0x13, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x53, 0x74, 0x61, + 0x6b, 0x65, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x12, 0x49, 0x0a, 0x15, 0x62, + 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x6b, 0x65, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, + 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, + 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, + 0x74, 0x52, 0x13, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x54, 0x68, 0x72, + 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x22, 0xe6, 0x02, 0x0a, 0x0a, 0x52, 0x6f, 0x6f, 0x74, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x4a, 0x0a, 0x10, 0x72, 0x6f, 0x6f, 0x74, 0x5f, 0x6b, 0x65, + 0x79, 0x73, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, + 0x48, 0x69, 0x67, 0x68, 0x65, 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x4b, 0x65, 0x79, 0x73, 0x48, + 0x00, 0x52, 0x0e, 0x72, 0x6f, 0x6f, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x12, 0x4f, 0x0a, 0x13, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x31, 0x5f, 0x6b, 0x65, 0x79, + 0x73, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, + 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x48, + 0x69, 0x67, 0x68, 0x65, 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x4b, 0x65, 0x79, 0x73, 0x48, 0x00, + 0x52, 0x10, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x31, 0x4b, 0x65, 0x79, 0x73, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x12, 0x55, 0x0a, 0x16, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x32, 0x5f, 0x6b, 0x65, + 0x79, 0x73, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x76, 0x30, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x56, 0x31, 0x48, 0x00, 0x52, 0x12, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x32, 0x4b, 0x65, 0x79, - 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x31, 0x42, 0x0d, 0x0a, 0x0b, 0x75, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0x9c, 0x02, 0x0a, 0x0c, 0x4c, 0x65, 0x76, - 0x65, 0x6c, 0x31, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x4f, 0x0a, 0x13, 0x6c, 0x65, 0x76, - 0x65, 0x6c, 0x5f, 0x31, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, - 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x69, 0x67, 0x68, 0x65, 0x72, 0x4c, 0x65, 0x76, - 0x65, 0x6c, 0x4b, 0x65, 0x79, 0x73, 0x48, 0x00, 0x52, 0x10, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x31, - 0x4b, 0x65, 0x79, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x55, 0x0a, 0x16, 0x6c, 0x65, - 0x76, 0x65, 0x6c, 0x5f, 0x32, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x5f, 0x76, 0x30, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x63, 0x6f, 0x6e, - 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x6f, - 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x56, 0x30, 0x48, 0x00, 0x52, 0x12, 0x6c, - 0x65, 0x76, 0x65, 0x6c, 0x32, 0x4b, 0x65, 0x79, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, - 0x30, 0x12, 0x55, 0x0a, 0x16, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x32, 0x5f, 0x6b, 0x65, 0x79, - 0x73, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x76, 0x31, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x73, 0x56, 0x30, 0x48, 0x00, 0x52, 0x12, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x32, 0x4b, 0x65, 0x79, + 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x30, 0x12, 0x55, 0x0a, 0x16, 0x6c, 0x65, 0x76, + 0x65, 0x6c, 0x5f, 0x32, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x5f, 0x76, 0x31, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x63, 0x6f, 0x6e, 0x63, + 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, + 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x56, 0x31, 0x48, 0x00, 0x52, 0x12, 0x6c, 0x65, + 0x76, 0x65, 0x6c, 0x32, 0x4b, 0x65, 0x79, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x31, + 0x42, 0x0d, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, + 0x9c, 0x02, 0x0a, 0x0c, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x31, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x12, 0x4f, 0x0a, 0x13, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x31, 0x5f, 0x6b, 0x65, 0x79, 0x73, + 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, + 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x69, + 0x67, 0x68, 0x65, 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x4b, 0x65, 0x79, 0x73, 0x48, 0x00, 0x52, + 0x10, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x31, 0x4b, 0x65, 0x79, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x12, 0x55, 0x0a, 0x16, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x32, 0x5f, 0x6b, 0x65, 0x79, + 0x73, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x76, 0x30, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x56, 0x31, 0x48, 0x00, 0x52, 0x12, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x32, 0x4b, 0x65, 0x79, 0x73, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x31, 0x42, 0x0d, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0xa4, 0x10, 0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x48, 0x0a, 0x0f, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, - 0x76, 0x32, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x48, 0x00, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x12, 0x61, 0x0a, 0x1a, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, - 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x44, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x48, 0x00, 0x52, 0x18, 0x65, 0x6c, - 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x52, 0x0a, 0x16, 0x65, 0x75, 0x72, 0x6f, 0x5f, 0x70, - 0x65, 0x72, 0x5f, 0x65, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, - 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, - 0x61, 0x74, 0x65, 0x48, 0x00, 0x52, 0x13, 0x65, 0x75, 0x72, 0x6f, 0x50, 0x65, 0x72, 0x45, 0x6e, - 0x65, 0x72, 0x67, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x57, 0x0a, 0x19, 0x6d, 0x69, - 0x63, 0x72, 0x6f, 0x5f, 0x63, 0x63, 0x64, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x65, 0x75, 0x72, 0x6f, - 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, + 0x56, 0x30, 0x48, 0x00, 0x52, 0x12, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x32, 0x4b, 0x65, 0x79, 0x73, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x30, 0x12, 0x55, 0x0a, 0x16, 0x6c, 0x65, 0x76, 0x65, + 0x6c, 0x5f, 0x32, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, + 0x76, 0x31, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, + 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, + 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x56, 0x31, 0x48, 0x00, 0x52, 0x12, 0x6c, 0x65, 0x76, + 0x65, 0x6c, 0x32, 0x4b, 0x65, 0x79, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x31, 0x42, + 0x0d, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0x9a, + 0x11, 0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, + 0x12, 0x48, 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, + 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, + 0x6f, 0x6c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x00, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x63, 0x6f, 0x6c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x61, 0x0a, 0x1a, 0x65, 0x6c, + 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, + 0x79, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, + 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, + 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, + 0x79, 0x48, 0x00, 0x52, 0x18, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x66, + 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x52, 0x0a, + 0x16, 0x65, 0x75, 0x72, 0x6f, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x65, 0x6e, 0x65, 0x72, 0x67, 0x79, + 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x78, - 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x61, 0x74, 0x65, 0x48, 0x00, 0x52, 0x15, 0x6d, 0x69, - 0x63, 0x72, 0x6f, 0x43, 0x63, 0x64, 0x50, 0x65, 0x72, 0x45, 0x75, 0x72, 0x6f, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x12, 0x5b, 0x0a, 0x19, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, - 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x48, 0x00, 0x52, 0x17, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x12, 0x5f, 0x0a, 0x18, 0x6d, 0x69, 0x6e, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, - 0x76, 0x32, 0x2e, 0x4d, 0x69, 0x6e, 0x74, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x69, 0x6f, 0x6e, 0x43, 0x70, 0x76, 0x30, 0x48, 0x00, 0x52, 0x16, 0x6d, 0x69, 0x6e, 0x74, 0x44, - 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x12, 0x7a, 0x0a, 0x23, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, - 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x54, - 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x65, 0x65, 0x44, 0x69, 0x73, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x20, 0x74, 0x72, 0x61, - 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x65, 0x65, 0x44, 0x69, 0x73, 0x74, 0x72, - 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x49, 0x0a, - 0x12, 0x67, 0x61, 0x73, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x5f, 0x75, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x6e, 0x63, - 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x61, 0x73, 0x52, 0x65, 0x77, - 0x61, 0x72, 0x64, 0x73, 0x48, 0x00, 0x52, 0x10, 0x67, 0x61, 0x73, 0x52, 0x65, 0x77, 0x61, 0x72, - 0x64, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x65, 0x0a, 0x1c, 0x62, 0x61, 0x6b, 0x65, - 0x72, 0x5f, 0x73, 0x74, 0x61, 0x6b, 0x65, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, - 0x64, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, - 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, - 0x61, 0x6b, 0x65, 0x72, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, - 0x6c, 0x64, 0x48, 0x00, 0x52, 0x19, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x53, 0x74, 0x61, 0x6b, 0x65, - 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, - 0x3c, 0x0a, 0x0b, 0x72, 0x6f, 0x6f, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x0a, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, - 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x6f, 0x6f, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, - 0x00, 0x52, 0x0a, 0x72, 0x6f, 0x6f, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x43, 0x0a, - 0x0e, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x31, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, - 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, - 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x31, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x48, 0x00, 0x52, 0x0c, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x31, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x12, 0x58, 0x0a, 0x1c, 0x61, 0x64, 0x64, 0x5f, 0x61, 0x6e, 0x6f, 0x6e, 0x79, 0x6d, - 0x69, 0x74, 0x79, 0x5f, 0x72, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x72, 0x5f, 0x75, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, - 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x48, - 0x00, 0x52, 0x19, 0x61, 0x64, 0x64, 0x41, 0x6e, 0x6f, 0x6e, 0x79, 0x6d, 0x69, 0x74, 0x79, 0x52, - 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x58, 0x0a, 0x1c, - 0x61, 0x64, 0x64, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x72, 0x6f, - 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x0d, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, - 0x76, 0x32, 0x2e, 0x49, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x19, 0x61, 0x64, 0x64, - 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x6f, 0x0a, 0x20, 0x63, 0x6f, 0x6f, 0x6c, 0x64, 0x6f, - 0x77, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x5f, 0x63, 0x70, - 0x76, 0x5f, 0x31, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x25, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, - 0x2e, 0x43, 0x6f, 0x6f, 0x6c, 0x64, 0x6f, 0x77, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, - 0x65, 0x72, 0x73, 0x43, 0x70, 0x76, 0x31, 0x48, 0x00, 0x52, 0x1c, 0x63, 0x6f, 0x6f, 0x6c, 0x64, - 0x6f, 0x77, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x43, 0x70, 0x76, - 0x31, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x63, 0x0a, 0x1c, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, - 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x5f, 0x63, 0x70, 0x76, 0x5f, 0x31, - 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, - 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x6f, - 0x6f, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x43, 0x70, 0x76, 0x31, - 0x48, 0x00, 0x52, 0x18, 0x70, 0x6f, 0x6f, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, - 0x72, 0x73, 0x43, 0x70, 0x76, 0x31, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x63, 0x0a, 0x1c, - 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x5f, - 0x63, 0x70, 0x76, 0x5f, 0x31, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x10, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, - 0x76, 0x32, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, - 0x73, 0x43, 0x70, 0x76, 0x31, 0x48, 0x00, 0x52, 0x18, 0x74, 0x69, 0x6d, 0x65, 0x50, 0x61, 0x72, - 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x43, 0x70, 0x76, 0x31, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x12, 0x69, 0x0a, 0x1e, 0x6d, 0x69, 0x6e, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x70, 0x76, 0x5f, 0x31, 0x5f, 0x75, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x6f, 0x6e, 0x63, + 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x61, 0x74, 0x65, 0x48, 0x00, 0x52, 0x13, 0x65, 0x75, + 0x72, 0x6f, 0x50, 0x65, 0x72, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x12, 0x57, 0x0a, 0x19, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x5f, 0x63, 0x63, 0x64, 0x5f, 0x70, + 0x65, 0x72, 0x5f, 0x65, 0x75, 0x72, 0x6f, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, + 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x61, 0x74, + 0x65, 0x48, 0x00, 0x52, 0x15, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x43, 0x63, 0x64, 0x50, 0x65, 0x72, + 0x45, 0x75, 0x72, 0x6f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x5b, 0x0a, 0x19, 0x66, 0x6f, + 0x75, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, + 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x48, 0x00, 0x52, 0x17, + 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x5f, 0x0a, 0x18, 0x6d, 0x69, 0x6e, 0x74, 0x5f, + 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x69, 0x6e, 0x74, 0x44, 0x69, - 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x70, 0x76, 0x31, 0x48, 0x00, - 0x52, 0x1a, 0x6d, 0x69, 0x6e, 0x74, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, - 0x6f, 0x6e, 0x43, 0x70, 0x76, 0x31, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x57, 0x0a, 0x18, - 0x67, 0x61, 0x73, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x5f, 0x63, 0x70, 0x76, 0x5f, - 0x32, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, - 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x47, - 0x61, 0x73, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x43, 0x70, 0x76, 0x32, 0x48, 0x00, 0x52, - 0x14, 0x67, 0x61, 0x73, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x43, 0x70, 0x76, 0x32, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x5e, 0x0a, 0x19, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, - 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x5f, 0x75, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, - 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, - 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x48, 0x00, 0x52, 0x17, 0x74, 0x69, - 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x4c, 0x0a, 0x15, 0x6d, 0x69, 0x6e, 0x5f, 0x62, 0x6c, 0x6f, - 0x63, 0x6b, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x14, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, - 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, - 0x12, 0x6d, 0x69, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x12, 0x52, 0x0a, 0x19, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x65, 0x6e, 0x65, - 0x72, 0x67, 0x79, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, - 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x48, 0x00, 0x52, - 0x16, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x4c, 0x69, 0x6d, 0x69, - 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x89, 0x01, 0x0a, 0x28, 0x66, 0x69, 0x6e, 0x61, - 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, - 0x65, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x5f, 0x75, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x63, 0x6f, 0x6e, - 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x46, 0x69, 0x6e, 0x61, 0x6c, - 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, - 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x48, 0x00, 0x52, 0x25, 0x66, 0x69, - 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, - 0x74, 0x65, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x22, 0xc1, - 0x01, 0x0a, 0x19, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x29, 0x0a, 0x04, - 0x63, 0x6f, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, - 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, - 0x74, 0x52, 0x04, 0x63, 0x6f, 0x73, 0x74, 0x12, 0x35, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, - 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, - 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x42, - 0x0a, 0x07, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x28, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, + 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x70, 0x76, 0x30, 0x48, 0x00, + 0x52, 0x16, 0x6d, 0x69, 0x6e, 0x74, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, + 0x6f, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x7a, 0x0a, 0x23, 0x74, 0x72, 0x61, 0x6e, + 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x64, 0x69, 0x73, 0x74, + 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, + 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x46, 0x65, 0x65, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, + 0x48, 0x00, 0x52, 0x20, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x46, + 0x65, 0x65, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x12, 0x49, 0x0a, 0x12, 0x67, 0x61, 0x73, 0x5f, 0x72, 0x65, 0x77, 0x61, + 0x72, 0x64, 0x73, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, + 0x2e, 0x47, 0x61, 0x73, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x48, 0x00, 0x52, 0x10, 0x67, + 0x61, 0x73, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, + 0x65, 0x0a, 0x1c, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x6b, 0x65, 0x5f, 0x74, + 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, + 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, + 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x53, 0x74, 0x61, 0x6b, 0x65, + 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x48, 0x00, 0x52, 0x19, 0x62, 0x61, 0x6b, + 0x65, 0x72, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x3c, 0x0a, 0x0b, 0x72, 0x6f, 0x6f, 0x74, 0x5f, 0x75, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, + 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x6f, 0x6f, 0x74, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x00, 0x52, 0x0a, 0x72, 0x6f, 0x6f, 0x74, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x12, 0x43, 0x0a, 0x0e, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x31, 0x5f, + 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, + 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x65, 0x76, + 0x65, 0x6c, 0x31, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x00, 0x52, 0x0c, 0x6c, 0x65, 0x76, + 0x65, 0x6c, 0x31, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x58, 0x0a, 0x1c, 0x61, 0x64, 0x64, + 0x5f, 0x61, 0x6e, 0x6f, 0x6e, 0x79, 0x6d, 0x69, 0x74, 0x79, 0x5f, 0x72, 0x65, 0x76, 0x6f, 0x6b, + 0x65, 0x72, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, + 0x41, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x19, 0x61, 0x64, 0x64, 0x41, 0x6e, 0x6f, + 0x6e, 0x79, 0x6d, 0x69, 0x74, 0x79, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x72, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x12, 0x58, 0x0a, 0x1c, 0x61, 0x64, 0x64, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, + 0x69, 0x74, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, + 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x70, 0x49, 0x6e, 0x66, 0x6f, + 0x48, 0x00, 0x52, 0x19, 0x61, 0x64, 0x64, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x50, + 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x6f, 0x0a, + 0x20, 0x63, 0x6f, 0x6f, 0x6c, 0x64, 0x6f, 0x77, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, + 0x74, 0x65, 0x72, 0x73, 0x5f, 0x63, 0x70, 0x76, 0x5f, 0x31, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, + 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6f, 0x6c, 0x64, 0x6f, 0x77, 0x6e, + 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x43, 0x70, 0x76, 0x31, 0x48, 0x00, + 0x52, 0x1c, 0x63, 0x6f, 0x6f, 0x6c, 0x64, 0x6f, 0x77, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, + 0x74, 0x65, 0x72, 0x73, 0x43, 0x70, 0x76, 0x31, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x63, + 0x0a, 0x1c, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, + 0x73, 0x5f, 0x63, 0x70, 0x76, 0x5f, 0x31, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x0f, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, + 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x6f, 0x6f, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, + 0x65, 0x72, 0x73, 0x43, 0x70, 0x76, 0x31, 0x48, 0x00, 0x52, 0x18, 0x70, 0x6f, 0x6f, 0x6c, 0x50, + 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x43, 0x70, 0x76, 0x31, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x12, 0x63, 0x0a, 0x1c, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x61, + 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x5f, 0x63, 0x70, 0x76, 0x5f, 0x31, 0x5f, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x6f, 0x6e, 0x63, + 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x50, 0x61, + 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x43, 0x70, 0x76, 0x31, 0x48, 0x00, 0x52, 0x18, + 0x74, 0x69, 0x6d, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x43, 0x70, + 0x76, 0x31, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x69, 0x0a, 0x1e, 0x6d, 0x69, 0x6e, 0x74, + 0x5f, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x70, + 0x76, 0x5f, 0x31, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x23, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, + 0x2e, 0x4d, 0x69, 0x6e, 0x74, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, + 0x6e, 0x43, 0x70, 0x76, 0x31, 0x48, 0x00, 0x52, 0x1a, 0x6d, 0x69, 0x6e, 0x74, 0x44, 0x69, 0x73, + 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x70, 0x76, 0x31, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x12, 0x57, 0x0a, 0x18, 0x67, 0x61, 0x73, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, + 0x64, 0x73, 0x5f, 0x63, 0x70, 0x76, 0x5f, 0x32, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, + 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, + 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x61, 0x73, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, + 0x43, 0x70, 0x76, 0x32, 0x48, 0x00, 0x52, 0x14, 0x67, 0x61, 0x73, 0x52, 0x65, 0x77, 0x61, 0x72, + 0x64, 0x73, 0x43, 0x70, 0x76, 0x32, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x5e, 0x0a, 0x19, + 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, + 0x72, 0x73, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x20, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, + 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, + 0x73, 0x48, 0x00, 0x52, 0x17, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x50, 0x61, 0x72, 0x61, + 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x4c, 0x0a, 0x15, + 0x6d, 0x69, 0x6e, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x75, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x6f, + 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x75, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x12, 0x6d, 0x69, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, + 0x54, 0x69, 0x6d, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x52, 0x0a, 0x19, 0x62, 0x6c, + 0x6f, 0x63, 0x6b, 0x5f, 0x65, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, + 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, + 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6e, + 0x65, 0x72, 0x67, 0x79, 0x48, 0x00, 0x52, 0x16, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x45, 0x6e, 0x65, + 0x72, 0x67, 0x79, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x89, + 0x01, 0x0a, 0x28, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, + 0x74, 0x65, 0x72, 0x73, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x16, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x2e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, + 0x32, 0x2e, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, + 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, + 0x73, 0x48, 0x00, 0x52, 0x25, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, + 0x74, 0x65, 0x72, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x74, 0x0a, 0x21, 0x76, 0x61, + 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x70, 0x61, + 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, + 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, + 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x53, + 0x63, 0x6f, 0x72, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x48, 0x00, + 0x52, 0x1e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x63, 0x6f, 0x72, 0x65, + 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x42, 0x09, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x22, 0xc1, 0x01, 0x0a, 0x19, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x45, 0x66, 0x66, 0x65, 0x63, 0x74, 0x73, 0x52, 0x07, 0x65, 0x66, 0x66, 0x65, 0x63, - 0x74, 0x73, 0x22, 0xd9, 0x01, 0x0a, 0x16, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x46, 0x0a, - 0x0f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, - 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, - 0x6c, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0e, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, - 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x37, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, - 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x3e, - 0x0a, 0x06, 0x72, 0x65, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, - 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x43, - 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x52, 0x05, 0x72, 0x65, 0x67, 0x49, 0x64, 0x22, 0x27, - 0x0a, 0x0f, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, - 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x8e, 0x01, 0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x45, 0x0a, 0x0e, 0x65, 0x66, 0x66, - 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, - 0x32, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, - 0x65, 0x52, 0x0d, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x54, 0x69, 0x6d, 0x65, - 0x12, 0x36, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, - 0x32, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x52, - 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x22, 0xe4, 0x03, 0x0a, 0x10, 0x42, 0x6c, 0x6f, - 0x63, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x46, 0x0a, - 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x63, - 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x6f, - 0x63, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x2e, 0x54, 0x72, - 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x05, - 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x36, 0x0a, 0x0b, 0x65, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x5f, - 0x63, 0x6f, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, - 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6e, 0x65, 0x72, 0x67, - 0x79, 0x52, 0x0a, 0x65, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x43, 0x6f, 0x73, 0x74, 0x12, 0x32, 0x0a, - 0x04, 0x68, 0x61, 0x73, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, - 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x72, 0x61, 0x6e, - 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x61, 0x73, 0x68, 0x52, 0x04, 0x68, 0x61, 0x73, - 0x68, 0x12, 0x5b, 0x0a, 0x13, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x74, 0x72, 0x61, - 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, - 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x12, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x52, - 0x0a, 0x10, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, - 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x48, - 0x00, 0x52, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x36, 0x0a, 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, - 0x76, 0x32, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, - 0x48, 0x00, 0x52, 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x1a, 0x28, 0x0a, 0x10, 0x54, 0x72, - 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x14, + 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x29, 0x0a, 0x04, 0x63, 0x6f, 0x73, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, + 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x04, + 0x63, 0x6f, 0x73, 0x74, 0x12, 0x35, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, + 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x42, 0x0a, 0x07, 0x65, + 0x66, 0x66, 0x65, 0x63, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x63, + 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, + 0x66, 0x66, 0x65, 0x63, 0x74, 0x73, 0x52, 0x07, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x73, 0x22, + 0xd9, 0x01, 0x0a, 0x16, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x46, 0x0a, 0x0f, 0x63, 0x72, + 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, + 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x54, 0x79, + 0x70, 0x65, 0x52, 0x0e, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x37, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, + 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x3e, 0x0a, 0x06, 0x72, + 0x65, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x6f, + 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x64, + 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x49, 0x64, 0x52, 0x05, 0x72, 0x65, 0x67, 0x49, 0x64, 0x22, 0x27, 0x0a, 0x0f, 0x54, + 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, - 0x24, 0x0a, 0x0c, 0x47, 0x65, 0x6e, 0x65, 0x73, 0x69, 0x73, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, - 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xf8, 0x14, 0x0a, 0x0d, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e, - 0x73, 0x75, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x37, 0x0a, 0x0a, 0x62, 0x65, 0x73, 0x74, 0x5f, - 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6f, - 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x6f, 0x63, - 0x6b, 0x48, 0x61, 0x73, 0x68, 0x52, 0x09, 0x62, 0x65, 0x73, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, - 0x12, 0x3d, 0x0a, 0x0d, 0x67, 0x65, 0x6e, 0x65, 0x73, 0x69, 0x73, 0x5f, 0x62, 0x6c, 0x6f, 0x63, - 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, - 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, - 0x68, 0x52, 0x0c, 0x67, 0x65, 0x6e, 0x65, 0x73, 0x69, 0x73, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, - 0x3b, 0x0a, 0x0c, 0x67, 0x65, 0x6e, 0x65, 0x73, 0x69, 0x73, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, - 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, - 0x0b, 0x67, 0x65, 0x6e, 0x65, 0x73, 0x69, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x41, 0x0a, 0x0d, - 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, - 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0c, - 0x73, 0x6c, 0x6f, 0x74, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, - 0x3e, 0x0a, 0x0e, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, - 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x0d, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x4a, 0x0a, 0x14, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, - 0x64, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, - 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, - 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x52, 0x12, 0x6c, 0x61, 0x73, 0x74, 0x46, 0x69, 0x6e, - 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x4e, 0x0a, 0x11, 0x62, - 0x65, 0x73, 0x74, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, - 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x62, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x42, - 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x52, 0x0f, 0x62, 0x65, 0x73, 0x74, - 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x61, 0x0a, 0x1b, 0x6c, - 0x61, 0x73, 0x74, 0x5f, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x62, 0x6c, - 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x22, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, - 0x2e, 0x41, 0x62, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, - 0x69, 0x67, 0x68, 0x74, 0x52, 0x18, 0x6c, 0x61, 0x73, 0x74, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, - 0x7a, 0x65, 0x64, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x32, - 0x0a, 0x15, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x5f, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, - 0x64, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x62, - 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x43, 0x6f, 0x75, - 0x6e, 0x74, 0x12, 0x56, 0x0a, 0x18, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6c, 0x61, 0x73, 0x74, - 0x5f, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0a, + 0x61, 0x6c, 0x75, 0x65, 0x22, 0x8e, 0x01, 0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x45, 0x0a, 0x0e, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, + 0x69, 0x76, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, + 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x54, + 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x0d, + 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x36, 0x0a, + 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, + 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x07, 0x70, 0x61, + 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x22, 0xe4, 0x03, 0x0a, 0x10, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x49, + 0x74, 0x65, 0x6d, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x46, 0x0a, 0x05, 0x69, 0x6e, + 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x63, 0x6f, 0x6e, 0x63, + 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x49, + 0x74, 0x65, 0x6d, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x05, 0x69, 0x6e, 0x64, + 0x65, 0x78, 0x12, 0x36, 0x0a, 0x0b, 0x65, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x5f, 0x63, 0x6f, 0x73, + 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, + 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x52, 0x0a, + 0x65, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x43, 0x6f, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x04, 0x68, 0x61, + 0x73, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, + 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x61, 0x73, 0x68, 0x52, 0x04, 0x68, 0x61, 0x73, 0x68, 0x12, 0x5b, + 0x0a, 0x13, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x63, 0x6f, + 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x12, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x52, 0x0a, 0x10, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, + 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x0f, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x36, 0x0a, 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1c, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x48, 0x00, 0x52, + 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x1a, 0x28, 0x0a, 0x10, 0x54, 0x72, 0x61, 0x6e, 0x73, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x14, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x42, 0x09, 0x0a, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x24, 0x0a, 0x0c, + 0x47, 0x65, 0x6e, 0x65, 0x73, 0x69, 0x73, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x14, 0x0a, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x22, 0xf8, 0x14, 0x0a, 0x0d, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, + 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x37, 0x0a, 0x0a, 0x62, 0x65, 0x73, 0x74, 0x5f, 0x62, 0x6c, 0x6f, + 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, + 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, + 0x73, 0x68, 0x52, 0x09, 0x62, 0x65, 0x73, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x3d, 0x0a, + 0x0d, 0x67, 0x65, 0x6e, 0x65, 0x73, 0x69, 0x73, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, - 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x48, 0x01, - 0x52, 0x15, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x4c, 0x61, 0x73, 0x74, 0x52, 0x65, 0x63, 0x65, 0x69, - 0x76, 0x65, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x39, 0x0a, 0x19, 0x62, 0x6c, - 0x6f, 0x63, 0x6b, 0x5f, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x5f, 0x6c, 0x61, 0x74, 0x65, - 0x6e, 0x63, 0x79, 0x5f, 0x65, 0x6d, 0x61, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x01, 0x52, 0x16, 0x62, - 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x4c, 0x61, 0x74, 0x65, 0x6e, - 0x63, 0x79, 0x45, 0x6d, 0x61, 0x12, 0x3b, 0x0a, 0x1a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x72, - 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x5f, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x65, - 0x6d, 0x73, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x01, 0x52, 0x17, 0x62, 0x6c, 0x6f, 0x63, 0x6b, - 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x4c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x45, 0x6d, - 0x73, 0x64, 0x12, 0x3c, 0x0a, 0x18, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x72, 0x65, 0x63, 0x65, - 0x69, 0x76, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x5f, 0x65, 0x6d, 0x61, 0x18, 0x0d, - 0x20, 0x01, 0x28, 0x01, 0x48, 0x02, 0x52, 0x15, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x63, - 0x65, 0x69, 0x76, 0x65, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x45, 0x6d, 0x61, 0x88, 0x01, 0x01, - 0x12, 0x3e, 0x0a, 0x19, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, - 0x65, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x5f, 0x65, 0x6d, 0x73, 0x64, 0x18, 0x0e, 0x20, - 0x01, 0x28, 0x01, 0x48, 0x03, 0x52, 0x16, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x63, 0x65, - 0x69, 0x76, 0x65, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x45, 0x6d, 0x73, 0x64, 0x88, 0x01, 0x01, - 0x12, 0x32, 0x0a, 0x15, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x5f, 0x76, 0x65, 0x72, 0x69, 0x66, - 0x69, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x13, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x43, - 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x54, 0x0a, 0x17, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6c, 0x61, - 0x73, 0x74, 0x5f, 0x61, 0x72, 0x72, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, - 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, - 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x48, - 0x04, 0x52, 0x14, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x4c, 0x61, 0x73, 0x74, 0x41, 0x72, 0x72, 0x69, - 0x76, 0x65, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x37, 0x0a, 0x18, 0x62, 0x6c, - 0x6f, 0x63, 0x6b, 0x5f, 0x61, 0x72, 0x72, 0x69, 0x76, 0x65, 0x5f, 0x6c, 0x61, 0x74, 0x65, 0x6e, - 0x63, 0x79, 0x5f, 0x65, 0x6d, 0x61, 0x18, 0x11, 0x20, 0x01, 0x28, 0x01, 0x52, 0x15, 0x62, 0x6c, - 0x6f, 0x63, 0x6b, 0x41, 0x72, 0x72, 0x69, 0x76, 0x65, 0x4c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, - 0x45, 0x6d, 0x61, 0x12, 0x39, 0x0a, 0x19, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x61, 0x72, 0x72, + 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x52, 0x0c, + 0x67, 0x65, 0x6e, 0x65, 0x73, 0x69, 0x73, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x3b, 0x0a, 0x0c, + 0x67, 0x65, 0x6e, 0x65, 0x73, 0x69, 0x73, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, + 0x76, 0x32, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0b, 0x67, 0x65, + 0x6e, 0x65, 0x73, 0x69, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x41, 0x0a, 0x0d, 0x73, 0x6c, 0x6f, + 0x74, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x17, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, + 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0c, 0x73, 0x6c, 0x6f, + 0x74, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x3e, 0x0a, 0x0e, + 0x65, 0x70, 0x6f, 0x63, 0x68, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, + 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x65, + 0x70, 0x6f, 0x63, 0x68, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4a, 0x0a, 0x14, + 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x62, + 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6f, 0x6e, + 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, + 0x48, 0x61, 0x73, 0x68, 0x52, 0x12, 0x6c, 0x61, 0x73, 0x74, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, + 0x7a, 0x65, 0x64, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x4e, 0x0a, 0x11, 0x62, 0x65, 0x73, 0x74, + 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, + 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x62, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x42, 0x6c, 0x6f, 0x63, + 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x52, 0x0f, 0x62, 0x65, 0x73, 0x74, 0x42, 0x6c, 0x6f, + 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x61, 0x0a, 0x1b, 0x6c, 0x61, 0x73, 0x74, + 0x5f, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, + 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, + 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x62, + 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, + 0x74, 0x52, 0x18, 0x6c, 0x61, 0x73, 0x74, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, + 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x32, 0x0a, 0x15, 0x62, + 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x5f, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x62, 0x6c, 0x6f, 0x63, + 0x6b, 0x73, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, + 0x56, 0x0a, 0x18, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x72, 0x65, + 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, + 0x32, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x48, 0x01, 0x52, 0x15, 0x62, + 0x6c, 0x6f, 0x63, 0x6b, 0x4c, 0x61, 0x73, 0x74, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, + 0x54, 0x69, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x39, 0x0a, 0x19, 0x62, 0x6c, 0x6f, 0x63, 0x6b, + 0x5f, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x5f, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, + 0x5f, 0x65, 0x6d, 0x61, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x01, 0x52, 0x16, 0x62, 0x6c, 0x6f, 0x63, + 0x6b, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x4c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x45, + 0x6d, 0x61, 0x12, 0x3b, 0x0a, 0x1a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x5f, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x65, 0x6d, 0x73, 0x64, - 0x18, 0x12, 0x20, 0x01, 0x28, 0x01, 0x52, 0x16, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x41, 0x72, 0x72, - 0x69, 0x76, 0x65, 0x4c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x45, 0x6d, 0x73, 0x64, 0x12, 0x3a, - 0x0a, 0x17, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x61, 0x72, 0x72, 0x69, 0x76, 0x65, 0x5f, 0x70, - 0x65, 0x72, 0x69, 0x6f, 0x64, 0x5f, 0x65, 0x6d, 0x61, 0x18, 0x13, 0x20, 0x01, 0x28, 0x01, 0x48, - 0x05, 0x52, 0x14, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x41, 0x72, 0x72, 0x69, 0x76, 0x65, 0x50, 0x65, - 0x72, 0x69, 0x6f, 0x64, 0x45, 0x6d, 0x61, 0x88, 0x01, 0x01, 0x12, 0x3c, 0x0a, 0x18, 0x62, 0x6c, - 0x6f, 0x63, 0x6b, 0x5f, 0x61, 0x72, 0x72, 0x69, 0x76, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, - 0x64, 0x5f, 0x65, 0x6d, 0x73, 0x64, 0x18, 0x14, 0x20, 0x01, 0x28, 0x01, 0x48, 0x06, 0x52, 0x15, - 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x41, 0x72, 0x72, 0x69, 0x76, 0x65, 0x50, 0x65, 0x72, 0x69, 0x6f, - 0x64, 0x45, 0x6d, 0x73, 0x64, 0x88, 0x01, 0x01, 0x12, 0x3b, 0x0a, 0x1a, 0x74, 0x72, 0x61, 0x6e, - 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x62, 0x6c, 0x6f, - 0x63, 0x6b, 0x5f, 0x65, 0x6d, 0x61, 0x18, 0x15, 0x20, 0x01, 0x28, 0x01, 0x52, 0x17, 0x74, 0x72, - 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x50, 0x65, 0x72, 0x42, 0x6c, 0x6f, - 0x63, 0x6b, 0x45, 0x6d, 0x61, 0x12, 0x3d, 0x0a, 0x1b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, - 0x65, 0x6d, 0x73, 0x64, 0x18, 0x16, 0x20, 0x01, 0x28, 0x01, 0x52, 0x18, 0x74, 0x72, 0x61, 0x6e, - 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x50, 0x65, 0x72, 0x42, 0x6c, 0x6f, 0x63, 0x6b, - 0x45, 0x6d, 0x73, 0x64, 0x12, 0x2d, 0x0a, 0x12, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x11, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, - 0x75, 0x6e, 0x74, 0x12, 0x4d, 0x0a, 0x13, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x66, 0x69, 0x6e, 0x61, - 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x18, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, - 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x48, 0x07, 0x52, 0x11, 0x6c, 0x61, - 0x73, 0x74, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x88, - 0x01, 0x01, 0x12, 0x3b, 0x0a, 0x17, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x5f, 0x65, 0x6d, 0x61, 0x18, 0x19, 0x20, - 0x01, 0x28, 0x01, 0x48, 0x08, 0x52, 0x15, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x45, 0x6d, 0x61, 0x88, 0x01, 0x01, 0x12, - 0x3d, 0x0a, 0x18, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x5f, 0x65, 0x6d, 0x73, 0x64, 0x18, 0x1a, 0x20, 0x01, 0x28, - 0x01, 0x48, 0x09, 0x52, 0x16, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x45, 0x6d, 0x73, 0x64, 0x88, 0x01, 0x01, 0x12, 0x49, - 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, - 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, - 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, - 0x6f, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x40, 0x0a, 0x0d, 0x67, 0x65, 0x6e, - 0x65, 0x73, 0x69, 0x73, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, - 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x73, 0x69, 0x73, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x0c, 0x67, - 0x65, 0x6e, 0x65, 0x73, 0x69, 0x73, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x53, 0x0a, 0x19, 0x63, - 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x65, 0x72, 0x61, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x73, - 0x69, 0x73, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, - 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, - 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x52, 0x16, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, - 0x74, 0x45, 0x72, 0x61, 0x47, 0x65, 0x6e, 0x65, 0x73, 0x69, 0x73, 0x42, 0x6c, 0x6f, 0x63, 0x6b, - 0x12, 0x51, 0x0a, 0x18, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x65, 0x72, 0x61, 0x5f, - 0x67, 0x65, 0x6e, 0x65, 0x73, 0x69, 0x73, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x1e, 0x20, 0x01, + 0x18, 0x0c, 0x20, 0x01, 0x28, 0x01, 0x52, 0x17, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x63, + 0x65, 0x69, 0x76, 0x65, 0x4c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x45, 0x6d, 0x73, 0x64, 0x12, + 0x3c, 0x0a, 0x18, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, + 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x5f, 0x65, 0x6d, 0x61, 0x18, 0x0d, 0x20, 0x01, 0x28, + 0x01, 0x48, 0x02, 0x52, 0x15, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, + 0x65, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x45, 0x6d, 0x61, 0x88, 0x01, 0x01, 0x12, 0x3e, 0x0a, + 0x19, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x5f, 0x70, + 0x65, 0x72, 0x69, 0x6f, 0x64, 0x5f, 0x65, 0x6d, 0x73, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x01, + 0x48, 0x03, 0x52, 0x16, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, + 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x45, 0x6d, 0x73, 0x64, 0x88, 0x01, 0x01, 0x12, 0x32, 0x0a, + 0x15, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x5f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, + 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x62, 0x6c, + 0x6f, 0x63, 0x6b, 0x73, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x43, 0x6f, 0x75, 0x6e, + 0x74, 0x12, 0x54, 0x0a, 0x17, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, + 0x61, 0x72, 0x72, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, - 0x76, 0x32, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x15, 0x63, 0x75, - 0x72, 0x72, 0x65, 0x6e, 0x74, 0x45, 0x72, 0x61, 0x47, 0x65, 0x6e, 0x65, 0x73, 0x69, 0x73, 0x54, - 0x69, 0x6d, 0x65, 0x12, 0x56, 0x0a, 0x18, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x74, - 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0x1f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, - 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x0a, - 0x52, 0x16, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, - 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x3e, 0x0a, 0x0d, 0x63, - 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x20, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, - 0x76, 0x32, 0x2e, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x48, 0x0b, 0x52, 0x0c, 0x63, 0x75, 0x72, 0x72, - 0x65, 0x6e, 0x74, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x3e, 0x0a, 0x0d, 0x63, - 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x21, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, - 0x76, 0x32, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x48, 0x0c, 0x52, 0x0c, 0x63, 0x75, 0x72, 0x72, - 0x65, 0x6e, 0x74, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x4b, 0x0a, 0x12, 0x74, - 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x74, 0x69, 0x6d, - 0x65, 0x18, 0x22, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, - 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x48, 0x0d, 0x52, 0x10, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x42, 0x6c, 0x6f, 0x63, - 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x73, 0x6c, 0x6f, - 0x74, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x1b, 0x0a, 0x19, 0x5f, 0x62, - 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, - 0x65, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x42, 0x1b, 0x0a, 0x19, 0x5f, 0x62, 0x6c, 0x6f, 0x63, - 0x6b, 0x5f, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, - 0x5f, 0x65, 0x6d, 0x61, 0x42, 0x1c, 0x0a, 0x1a, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x72, - 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x5f, 0x65, 0x6d, - 0x73, 0x64, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6c, 0x61, 0x73, - 0x74, 0x5f, 0x61, 0x72, 0x72, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x42, 0x1a, - 0x0a, 0x18, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x61, 0x72, 0x72, 0x69, 0x76, 0x65, 0x5f, - 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x5f, 0x65, 0x6d, 0x61, 0x42, 0x1b, 0x0a, 0x19, 0x5f, 0x62, + 0x76, 0x32, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x48, 0x04, 0x52, 0x14, + 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x4c, 0x61, 0x73, 0x74, 0x41, 0x72, 0x72, 0x69, 0x76, 0x65, 0x64, + 0x54, 0x69, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x37, 0x0a, 0x18, 0x62, 0x6c, 0x6f, 0x63, 0x6b, + 0x5f, 0x61, 0x72, 0x72, 0x69, 0x76, 0x65, 0x5f, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x5f, + 0x65, 0x6d, 0x61, 0x18, 0x11, 0x20, 0x01, 0x28, 0x01, 0x52, 0x15, 0x62, 0x6c, 0x6f, 0x63, 0x6b, + 0x41, 0x72, 0x72, 0x69, 0x76, 0x65, 0x4c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x45, 0x6d, 0x61, + 0x12, 0x39, 0x0a, 0x19, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x61, 0x72, 0x72, 0x69, 0x76, 0x65, + 0x5f, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x65, 0x6d, 0x73, 0x64, 0x18, 0x12, 0x20, + 0x01, 0x28, 0x01, 0x52, 0x16, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x41, 0x72, 0x72, 0x69, 0x76, 0x65, + 0x4c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x45, 0x6d, 0x73, 0x64, 0x12, 0x3a, 0x0a, 0x17, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x61, 0x72, 0x72, 0x69, 0x76, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x69, - 0x6f, 0x64, 0x5f, 0x65, 0x6d, 0x73, 0x64, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x6c, 0x61, 0x73, 0x74, - 0x5f, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x42, - 0x1a, 0x0a, 0x18, 0x5f, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x5f, 0x65, 0x6d, 0x61, 0x42, 0x1b, 0x0a, 0x19, 0x5f, + 0x6f, 0x64, 0x5f, 0x65, 0x6d, 0x61, 0x18, 0x13, 0x20, 0x01, 0x28, 0x01, 0x48, 0x05, 0x52, 0x14, + 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x41, 0x72, 0x72, 0x69, 0x76, 0x65, 0x50, 0x65, 0x72, 0x69, 0x6f, + 0x64, 0x45, 0x6d, 0x61, 0x88, 0x01, 0x01, 0x12, 0x3c, 0x0a, 0x18, 0x62, 0x6c, 0x6f, 0x63, 0x6b, + 0x5f, 0x61, 0x72, 0x72, 0x69, 0x76, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x5f, 0x65, + 0x6d, 0x73, 0x64, 0x18, 0x14, 0x20, 0x01, 0x28, 0x01, 0x48, 0x06, 0x52, 0x15, 0x62, 0x6c, 0x6f, + 0x63, 0x6b, 0x41, 0x72, 0x72, 0x69, 0x76, 0x65, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x45, 0x6d, + 0x73, 0x64, 0x88, 0x01, 0x01, 0x12, 0x3b, 0x0a, 0x1a, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, + 0x65, 0x6d, 0x61, 0x18, 0x15, 0x20, 0x01, 0x28, 0x01, 0x52, 0x17, 0x74, 0x72, 0x61, 0x6e, 0x73, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x50, 0x65, 0x72, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x45, + 0x6d, 0x61, 0x12, 0x3d, 0x0a, 0x1b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x65, 0x6d, 0x73, + 0x64, 0x18, 0x16, 0x20, 0x01, 0x28, 0x01, 0x52, 0x18, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x50, 0x65, 0x72, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x45, 0x6d, 0x73, + 0x64, 0x12, 0x2d, 0x0a, 0x12, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x66, + 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, + 0x12, 0x4d, 0x0a, 0x13, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, + 0x65, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, + 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x48, 0x07, 0x52, 0x11, 0x6c, 0x61, 0x73, 0x74, 0x46, + 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, + 0x3b, 0x0a, 0x17, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x5f, 0x65, 0x6d, 0x61, 0x18, 0x19, 0x20, 0x01, 0x28, 0x01, + 0x48, 0x08, 0x52, 0x15, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x45, 0x6d, 0x61, 0x88, 0x01, 0x01, 0x12, 0x3d, 0x0a, 0x18, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x65, 0x72, - 0x69, 0x6f, 0x64, 0x5f, 0x65, 0x6d, 0x73, 0x64, 0x42, 0x1b, 0x0a, 0x19, 0x5f, 0x63, 0x75, 0x72, - 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x64, 0x75, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, - 0x74, 0x5f, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x63, 0x75, 0x72, 0x72, - 0x65, 0x6e, 0x74, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x74, 0x72, - 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x74, 0x69, 0x6d, 0x65, - 0x22, 0x7c, 0x0a, 0x10, 0x41, 0x72, 0x72, 0x69, 0x76, 0x65, 0x64, 0x42, 0x6c, 0x6f, 0x63, 0x6b, - 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2c, 0x0a, 0x04, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, - 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x52, 0x04, 0x68, 0x61, - 0x73, 0x68, 0x12, 0x3a, 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, - 0x76, 0x32, 0x2e, 0x41, 0x62, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x42, 0x6c, 0x6f, 0x63, 0x6b, - 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x22, 0xae, - 0x01, 0x0a, 0x17, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, - 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x67, 0x65, - 0x6e, 0x65, 0x73, 0x69, 0x73, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0d, 0x67, 0x65, 0x6e, 0x65, 0x73, 0x69, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, - 0x67, 0x12, 0x35, 0x0a, 0x16, 0x62, 0x75, 0x6c, 0x6c, 0x65, 0x74, 0x70, 0x72, 0x6f, 0x6f, 0x66, - 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0c, 0x52, 0x15, 0x62, 0x75, 0x6c, 0x6c, 0x65, 0x74, 0x70, 0x72, 0x6f, 0x6f, 0x66, 0x47, 0x65, - 0x6e, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x35, 0x0a, 0x17, 0x6f, 0x6e, 0x5f, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x5f, - 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x14, 0x6f, 0x6e, 0x43, 0x68, 0x61, - 0x69, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x22, - 0x80, 0x09, 0x0a, 0x09, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2c, 0x0a, - 0x04, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6f, + 0x69, 0x6f, 0x64, 0x5f, 0x65, 0x6d, 0x73, 0x64, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x01, 0x48, 0x09, + 0x52, 0x16, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x65, + 0x72, 0x69, 0x6f, 0x64, 0x45, 0x6d, 0x73, 0x64, 0x88, 0x01, 0x01, 0x12, 0x49, 0x0a, 0x10, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, + 0x1b, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, + 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x56, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x56, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x40, 0x0a, 0x0d, 0x67, 0x65, 0x6e, 0x65, 0x73, 0x69, + 0x73, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, + 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x65, + 0x6e, 0x65, 0x73, 0x69, 0x73, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x0c, 0x67, 0x65, 0x6e, 0x65, + 0x73, 0x69, 0x73, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x53, 0x0a, 0x19, 0x63, 0x75, 0x72, 0x72, + 0x65, 0x6e, 0x74, 0x5f, 0x65, 0x72, 0x61, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x73, 0x69, 0x73, 0x5f, + 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x6f, 0x63, - 0x6b, 0x48, 0x61, 0x73, 0x68, 0x52, 0x04, 0x68, 0x61, 0x73, 0x68, 0x12, 0x3a, 0x0a, 0x06, 0x68, - 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x6f, - 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x62, 0x73, 0x6f, - 0x6c, 0x75, 0x74, 0x65, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x52, - 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x3b, 0x0a, 0x0c, 0x70, 0x61, 0x72, 0x65, 0x6e, - 0x74, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, - 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, - 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x42, - 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x4a, 0x0a, 0x14, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x66, 0x69, 0x6e, - 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, - 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x52, 0x12, 0x6c, 0x61, - 0x73, 0x74, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x42, 0x6c, 0x6f, 0x63, 0x6b, - 0x12, 0x40, 0x0a, 0x0d, 0x67, 0x65, 0x6e, 0x65, 0x73, 0x69, 0x73, 0x5f, 0x69, 0x6e, 0x64, 0x65, - 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, - 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x73, 0x69, 0x73, 0x49, - 0x6e, 0x64, 0x65, 0x78, 0x52, 0x0c, 0x67, 0x65, 0x6e, 0x65, 0x73, 0x69, 0x73, 0x49, 0x6e, 0x64, - 0x65, 0x78, 0x12, 0x44, 0x0a, 0x10, 0x65, 0x72, 0x61, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, - 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, - 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x6f, - 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x52, 0x0e, 0x65, 0x72, 0x61, 0x42, 0x6c, 0x6f, - 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x3b, 0x0a, 0x0c, 0x72, 0x65, 0x63, 0x65, - 0x69, 0x76, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, - 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x54, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0b, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, - 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x0b, 0x61, 0x72, 0x72, 0x69, 0x76, 0x65, 0x5f, - 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6f, 0x6e, - 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x61, 0x72, 0x72, 0x69, 0x76, 0x65, 0x54, 0x69, 0x6d, 0x65, - 0x12, 0x39, 0x0a, 0x0b, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, - 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, - 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x6c, 0x6f, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x73, 0x6c, - 0x6f, 0x74, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x09, 0x73, - 0x6c, 0x6f, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, - 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x54, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x08, 0x73, 0x6c, 0x6f, 0x74, 0x54, 0x69, - 0x6d, 0x65, 0x12, 0x31, 0x0a, 0x05, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, - 0x32, 0x2e, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x49, 0x64, 0x48, 0x01, 0x52, 0x05, 0x62, 0x61, 0x6b, - 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x09, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, - 0x65, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, - 0x7a, 0x65, 0x64, 0x12, 0x2b, 0x0a, 0x11, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, - 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, - 0x12, 0x4f, 0x0a, 0x18, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x5f, 0x65, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x5f, 0x63, 0x6f, 0x73, 0x74, 0x18, 0x0e, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, - 0x76, 0x32, 0x2e, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x52, 0x16, 0x74, 0x72, 0x61, 0x6e, 0x73, - 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x43, 0x6f, 0x73, - 0x74, 0x12, 0x2b, 0x0a, 0x11, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x74, 0x72, - 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x37, - 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x10, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, - 0x76, 0x32, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x48, 0x61, 0x73, 0x68, 0x52, 0x09, 0x73, 0x74, - 0x61, 0x74, 0x65, 0x48, 0x61, 0x73, 0x68, 0x12, 0x49, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x63, 0x6f, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x11, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, - 0x32, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x12, 0x2f, 0x0a, 0x05, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x12, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, - 0x32, 0x2e, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x48, 0x02, 0x52, 0x05, 0x72, 0x6f, 0x75, 0x6e, 0x64, - 0x88, 0x01, 0x01, 0x12, 0x2f, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x13, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, - 0x76, 0x32, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x48, 0x03, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, - 0x68, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x6e, 0x75, - 0x6d, 0x62, 0x65, 0x72, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x42, 0x08, - 0x0a, 0x06, 0x5f, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x65, 0x70, 0x6f, - 0x63, 0x68, 0x22, 0x7d, 0x0a, 0x0f, 0x50, 0x6f, 0x6f, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, - 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, + 0x6b, 0x48, 0x61, 0x73, 0x68, 0x52, 0x16, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x45, 0x72, + 0x61, 0x47, 0x65, 0x6e, 0x65, 0x73, 0x69, 0x73, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x51, 0x0a, + 0x18, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x65, 0x72, 0x61, 0x5f, 0x67, 0x65, 0x6e, + 0x65, 0x73, 0x69, 0x73, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x18, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, + 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x15, 0x63, 0x75, 0x72, 0x72, 0x65, + 0x6e, 0x74, 0x45, 0x72, 0x61, 0x47, 0x65, 0x6e, 0x65, 0x73, 0x69, 0x73, 0x54, 0x69, 0x6d, 0x65, + 0x12, 0x56, 0x0a, 0x18, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, + 0x6f, 0x75, 0x74, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x1f, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, + 0x76, 0x32, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x0a, 0x52, 0x16, 0x63, + 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x44, 0x75, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x3e, 0x0a, 0x0d, 0x63, 0x75, 0x72, 0x72, + 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x20, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, + 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x48, 0x0b, 0x52, 0x0c, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, + 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x3e, 0x0a, 0x0d, 0x63, 0x75, 0x72, 0x72, + 0x65, 0x6e, 0x74, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x21, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, + 0x45, 0x70, 0x6f, 0x63, 0x68, 0x48, 0x0c, 0x52, 0x0c, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, + 0x45, 0x70, 0x6f, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x4b, 0x0a, 0x12, 0x74, 0x72, 0x69, 0x67, + 0x67, 0x65, 0x72, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x22, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, + 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x48, 0x0d, + 0x52, 0x10, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x69, + 0x6d, 0x65, 0x88, 0x01, 0x01, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x64, + 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x1b, 0x0a, 0x19, 0x5f, 0x62, 0x6c, 0x6f, 0x63, + 0x6b, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x5f, + 0x74, 0x69, 0x6d, 0x65, 0x42, 0x1b, 0x0a, 0x19, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x72, + 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x5f, 0x65, 0x6d, + 0x61, 0x42, 0x1c, 0x0a, 0x1a, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x72, 0x65, 0x63, 0x65, + 0x69, 0x76, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x5f, 0x65, 0x6d, 0x73, 0x64, 0x42, + 0x1a, 0x0a, 0x18, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x61, + 0x72, 0x72, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x42, 0x1a, 0x0a, 0x18, 0x5f, + 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x61, 0x72, 0x72, 0x69, 0x76, 0x65, 0x5f, 0x70, 0x65, 0x72, + 0x69, 0x6f, 0x64, 0x5f, 0x65, 0x6d, 0x61, 0x42, 0x1b, 0x0a, 0x19, 0x5f, 0x62, 0x6c, 0x6f, 0x63, + 0x6b, 0x5f, 0x61, 0x72, 0x72, 0x69, 0x76, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x5f, + 0x65, 0x6d, 0x73, 0x64, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x66, 0x69, + 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x42, 0x1a, 0x0a, 0x18, + 0x5f, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x65, + 0x72, 0x69, 0x6f, 0x64, 0x5f, 0x65, 0x6d, 0x61, 0x42, 0x1b, 0x0a, 0x19, 0x5f, 0x66, 0x69, 0x6e, + 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, + 0x5f, 0x65, 0x6d, 0x73, 0x64, 0x42, 0x1b, 0x0a, 0x19, 0x5f, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, + 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x72, + 0x6f, 0x75, 0x6e, 0x64, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, + 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x74, 0x72, 0x69, 0x67, 0x67, + 0x65, 0x72, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x22, 0x7c, 0x0a, + 0x10, 0x41, 0x72, 0x72, 0x69, 0x76, 0x65, 0x64, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x6e, 0x66, + 0x6f, 0x12, 0x2c, 0x0a, 0x04, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x18, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, + 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x52, 0x04, 0x68, 0x61, 0x73, 0x68, 0x12, + 0x3a, 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x22, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, + 0x41, 0x62, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, + 0x67, 0x68, 0x74, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x22, 0xae, 0x01, 0x0a, 0x17, + 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x50, 0x61, 0x72, + 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x67, 0x65, 0x6e, 0x65, 0x73, + 0x69, 0x73, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0d, 0x67, 0x65, 0x6e, 0x65, 0x73, 0x69, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x35, + 0x0a, 0x16, 0x62, 0x75, 0x6c, 0x6c, 0x65, 0x74, 0x70, 0x72, 0x6f, 0x6f, 0x66, 0x5f, 0x67, 0x65, + 0x6e, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x15, + 0x62, 0x75, 0x6c, 0x6c, 0x65, 0x74, 0x70, 0x72, 0x6f, 0x6f, 0x66, 0x47, 0x65, 0x6e, 0x65, 0x72, + 0x61, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x35, 0x0a, 0x17, 0x6f, 0x6e, 0x5f, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x14, 0x6f, 0x6e, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x43, + 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x22, 0x80, 0x09, 0x0a, + 0x09, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2c, 0x0a, 0x04, 0x68, 0x61, + 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, + 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, + 0x73, 0x68, 0x52, 0x04, 0x68, 0x61, 0x73, 0x68, 0x12, 0x3a, 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, + 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, + 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x62, 0x73, 0x6f, 0x6c, 0x75, 0x74, + 0x65, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x52, 0x06, 0x68, 0x65, + 0x69, 0x67, 0x68, 0x74, 0x12, 0x3b, 0x0a, 0x0c, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x62, + 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6f, 0x6e, + 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, + 0x48, 0x61, 0x73, 0x68, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x42, 0x6c, 0x6f, 0x63, + 0x6b, 0x12, 0x4a, 0x0a, 0x14, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, + 0x7a, 0x65, 0x64, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x18, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, + 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x52, 0x12, 0x6c, 0x61, 0x73, 0x74, 0x46, + 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x40, 0x0a, + 0x0d, 0x67, 0x65, 0x6e, 0x65, 0x73, 0x69, 0x73, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, + 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x73, 0x69, 0x73, 0x49, 0x6e, 0x64, 0x65, + 0x78, 0x52, 0x0c, 0x67, 0x65, 0x6e, 0x65, 0x73, 0x69, 0x73, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, + 0x44, 0x0a, 0x10, 0x65, 0x72, 0x61, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x65, 0x69, + 0x67, 0x68, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, - 0x61, 0x73, 0x68, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x52, 0x09, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x48, - 0x61, 0x73, 0x68, 0x12, 0x2c, 0x0a, 0x05, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, - 0x76, 0x32, 0x2e, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x49, 0x64, 0x52, 0x05, 0x62, 0x61, 0x6b, 0x65, - 0x72, 0x22, 0x87, 0x03, 0x0a, 0x11, 0x50, 0x6f, 0x6f, 0x6c, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, - 0x67, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x41, 0x0a, 0x06, 0x72, 0x65, 0x64, 0x75, 0x63, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, + 0x65, 0x69, 0x67, 0x68, 0x74, 0x52, 0x0e, 0x65, 0x72, 0x61, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, + 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x3b, 0x0a, 0x0c, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, + 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6f, + 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0b, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x54, 0x69, + 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x0b, 0x61, 0x72, 0x72, 0x69, 0x76, 0x65, 0x5f, 0x74, 0x69, 0x6d, + 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, + 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, + 0x70, 0x52, 0x0a, 0x61, 0x72, 0x72, 0x69, 0x76, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x39, 0x0a, + 0x0b, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x09, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, + 0x76, 0x32, 0x2e, 0x53, 0x6c, 0x6f, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x73, 0x6c, 0x6f, 0x74, 0x4e, + 0x75, 0x6d, 0x62, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x09, 0x73, 0x6c, 0x6f, 0x74, + 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6f, + 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x08, 0x73, 0x6c, 0x6f, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, + 0x31, 0x0a, 0x05, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, + 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, + 0x61, 0x6b, 0x65, 0x72, 0x49, 0x64, 0x48, 0x01, 0x52, 0x05, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x88, + 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x09, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x18, + 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, + 0x12, 0x2b, 0x0a, 0x11, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x74, 0x72, 0x61, + 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x4f, 0x0a, + 0x18, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x65, 0x6e, + 0x65, 0x72, 0x67, 0x79, 0x5f, 0x63, 0x6f, 0x73, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, + 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x52, 0x16, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x43, 0x6f, 0x73, 0x74, 0x12, 0x2b, + 0x0a, 0x11, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x73, + 0x69, 0x7a, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x74, 0x72, 0x61, 0x6e, 0x73, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x37, 0x0a, 0x0a, 0x73, + 0x74, 0x61, 0x74, 0x65, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x18, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, + 0x53, 0x74, 0x61, 0x74, 0x65, 0x48, 0x61, 0x73, 0x68, 0x52, 0x09, 0x73, 0x74, 0x61, 0x74, 0x65, + 0x48, 0x61, 0x73, 0x68, 0x12, 0x49, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, + 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, + 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x50, + 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0f, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, + 0x2f, 0x0a, 0x05, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, + 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x52, + 0x6f, 0x75, 0x6e, 0x64, 0x48, 0x02, 0x52, 0x05, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x88, 0x01, 0x01, + 0x12, 0x2f, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, + 0x45, 0x70, 0x6f, 0x63, 0x68, 0x48, 0x03, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x88, 0x01, + 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, + 0x72, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x42, 0x08, 0x0a, 0x06, 0x5f, + 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x22, + 0x7d, 0x0a, 0x0f, 0x50, 0x6f, 0x6f, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x61, 0x73, 0x68, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, + 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, + 0x49, 0x6e, 0x70, 0x75, 0x74, 0x52, 0x09, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, + 0x12, 0x2c, 0x0a, 0x05, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x16, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, + 0x42, 0x61, 0x6b, 0x65, 0x72, 0x49, 0x64, 0x52, 0x05, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x22, 0x87, + 0x03, 0x0a, 0x11, 0x50, 0x6f, 0x6f, 0x6c, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x68, + 0x61, 0x6e, 0x67, 0x65, 0x12, 0x41, 0x0a, 0x06, 0x72, 0x65, 0x64, 0x75, 0x63, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, + 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x6f, 0x6f, 0x6c, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, + 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x2e, 0x52, 0x65, 0x64, 0x75, 0x63, 0x65, 0x48, 0x00, 0x52, + 0x06, 0x72, 0x65, 0x64, 0x75, 0x63, 0x65, 0x12, 0x41, 0x0a, 0x06, 0x72, 0x65, 0x6d, 0x6f, 0x76, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x6f, 0x6f, 0x6c, 0x50, 0x65, 0x6e, 0x64, - 0x69, 0x6e, 0x67, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x2e, 0x52, 0x65, 0x64, 0x75, 0x63, 0x65, - 0x48, 0x00, 0x52, 0x06, 0x72, 0x65, 0x64, 0x75, 0x63, 0x65, 0x12, 0x41, 0x0a, 0x06, 0x72, 0x65, - 0x6d, 0x6f, 0x76, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x6f, 0x6e, - 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x6f, 0x6f, 0x6c, 0x50, - 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x2e, 0x52, 0x65, 0x6d, - 0x6f, 0x76, 0x65, 0x48, 0x00, 0x52, 0x06, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x1a, 0x96, 0x01, - 0x0a, 0x06, 0x52, 0x65, 0x64, 0x75, 0x63, 0x65, 0x12, 0x4b, 0x0a, 0x16, 0x72, 0x65, 0x64, 0x75, - 0x63, 0x65, 0x64, 0x5f, 0x65, 0x71, 0x75, 0x69, 0x74, 0x79, 0x5f, 0x63, 0x61, 0x70, 0x69, 0x74, - 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, - 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, - 0x14, 0x72, 0x65, 0x64, 0x75, 0x63, 0x65, 0x64, 0x45, 0x71, 0x75, 0x69, 0x74, 0x79, 0x43, 0x61, - 0x70, 0x69, 0x74, 0x61, 0x6c, 0x12, 0x3f, 0x0a, 0x0e, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, - 0x76, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, - 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0d, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, - 0x76, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x1a, 0x49, 0x0a, 0x06, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, - 0x12, 0x3f, 0x0a, 0x0e, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x74, 0x69, - 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, - 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x52, 0x0d, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x54, 0x69, 0x6d, - 0x65, 0x42, 0x08, 0x0a, 0x06, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x22, 0xf3, 0x03, 0x0a, 0x15, - 0x50, 0x6f, 0x6f, 0x6c, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x50, 0x61, 0x79, 0x64, 0x61, - 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x21, 0x0a, 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x5f, - 0x62, 0x61, 0x6b, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x62, 0x6c, 0x6f, - 0x63, 0x6b, 0x73, 0x42, 0x61, 0x6b, 0x65, 0x64, 0x12, 0x2b, 0x0a, 0x11, 0x66, 0x69, 0x6e, 0x61, - 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x69, 0x76, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x10, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x4c, 0x69, 0x76, 0x65, 0x12, 0x4d, 0x0a, 0x17, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x65, 0x65, 0x73, 0x5f, 0x65, 0x61, 0x72, 0x6e, 0x65, 0x64, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, - 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x15, 0x74, - 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x65, 0x65, 0x73, 0x45, 0x61, - 0x72, 0x6e, 0x65, 0x64, 0x12, 0x3e, 0x0a, 0x0f, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, - 0x65, 0x5f, 0x73, 0x74, 0x61, 0x6b, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, - 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, - 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0e, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x53, - 0x74, 0x61, 0x6b, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x6c, 0x6f, 0x74, 0x74, 0x65, 0x72, 0x79, 0x5f, - 0x70, 0x6f, 0x77, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0c, 0x6c, 0x6f, 0x74, - 0x74, 0x65, 0x72, 0x79, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x12, 0x47, 0x0a, 0x14, 0x62, 0x61, 0x6b, - 0x65, 0x72, 0x5f, 0x65, 0x71, 0x75, 0x69, 0x74, 0x79, 0x5f, 0x63, 0x61, 0x70, 0x69, 0x74, 0x61, - 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, - 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x12, - 0x62, 0x61, 0x6b, 0x65, 0x72, 0x45, 0x71, 0x75, 0x69, 0x74, 0x79, 0x43, 0x61, 0x70, 0x69, 0x74, - 0x61, 0x6c, 0x12, 0x42, 0x0a, 0x11, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x5f, - 0x63, 0x61, 0x70, 0x69, 0x74, 0x61, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, - 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, - 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x10, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x43, - 0x61, 0x70, 0x69, 0x74, 0x61, 0x6c, 0x12, 0x49, 0x0a, 0x10, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, - 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x61, 0x74, 0x65, 0x73, - 0x52, 0x0f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x61, 0x74, 0x65, - 0x73, 0x22, 0x9a, 0x06, 0x0a, 0x10, 0x50, 0x6f, 0x6f, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2c, 0x0a, 0x05, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, - 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x49, 0x64, 0x52, 0x05, 0x62, - 0x61, 0x6b, 0x65, 0x72, 0x12, 0x37, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, - 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, - 0x72, 0x65, 0x73, 0x73, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x41, 0x0a, - 0x0e, 0x65, 0x71, 0x75, 0x69, 0x74, 0x79, 0x5f, 0x63, 0x61, 0x70, 0x69, 0x74, 0x61, 0x6c, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, - 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0d, - 0x65, 0x71, 0x75, 0x69, 0x74, 0x79, 0x43, 0x61, 0x70, 0x69, 0x74, 0x61, 0x6c, 0x88, 0x01, 0x01, - 0x12, 0x47, 0x0a, 0x11, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x61, - 0x70, 0x69, 0x74, 0x61, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, - 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, - 0x6e, 0x74, 0x48, 0x01, 0x52, 0x10, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x43, - 0x61, 0x70, 0x69, 0x74, 0x61, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x4e, 0x0a, 0x15, 0x64, 0x65, 0x6c, - 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x61, 0x70, 0x69, 0x74, 0x61, 0x6c, 0x5f, 0x63, - 0x61, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, - 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, - 0x02, 0x52, 0x13, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x43, 0x61, 0x70, 0x69, - 0x74, 0x61, 0x6c, 0x43, 0x61, 0x70, 0x88, 0x01, 0x01, 0x12, 0x3e, 0x0a, 0x09, 0x70, 0x6f, 0x6f, - 0x6c, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, - 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x61, 0x6b, - 0x65, 0x72, 0x50, 0x6f, 0x6f, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x03, 0x52, 0x08, 0x70, 0x6f, - 0x6f, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x88, 0x01, 0x01, 0x12, 0x59, 0x0a, 0x15, 0x65, 0x71, 0x75, + 0x69, 0x6e, 0x67, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, + 0x48, 0x00, 0x52, 0x06, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x1a, 0x96, 0x01, 0x0a, 0x06, 0x52, + 0x65, 0x64, 0x75, 0x63, 0x65, 0x12, 0x4b, 0x0a, 0x16, 0x72, 0x65, 0x64, 0x75, 0x63, 0x65, 0x64, + 0x5f, 0x65, 0x71, 0x75, 0x69, 0x74, 0x79, 0x5f, 0x63, 0x61, 0x70, 0x69, 0x74, 0x61, 0x6c, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, + 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x14, 0x72, 0x65, + 0x64, 0x75, 0x63, 0x65, 0x64, 0x45, 0x71, 0x75, 0x69, 0x74, 0x79, 0x43, 0x61, 0x70, 0x69, 0x74, + 0x61, 0x6c, 0x12, 0x3f, 0x0a, 0x0e, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, + 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6f, 0x6e, + 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0d, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x54, + 0x69, 0x6d, 0x65, 0x1a, 0x49, 0x0a, 0x06, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x3f, 0x0a, + 0x0e, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, + 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, + 0x0d, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x42, 0x08, + 0x0a, 0x06, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x22, 0x8a, 0x05, 0x0a, 0x15, 0x50, 0x6f, 0x6f, + 0x6c, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x50, 0x61, 0x79, 0x64, 0x61, 0x79, 0x49, 0x6e, + 0x66, 0x6f, 0x12, 0x21, 0x0a, 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x5f, 0x62, 0x61, 0x6b, + 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x73, + 0x42, 0x61, 0x6b, 0x65, 0x64, 0x12, 0x2b, 0x0a, 0x11, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x69, 0x76, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x10, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, + 0x76, 0x65, 0x12, 0x4d, 0x0a, 0x17, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x66, 0x65, 0x65, 0x73, 0x5f, 0x65, 0x61, 0x72, 0x6e, 0x65, 0x64, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, + 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x15, 0x74, 0x72, 0x61, 0x6e, + 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x65, 0x65, 0x73, 0x45, 0x61, 0x72, 0x6e, 0x65, + 0x64, 0x12, 0x3e, 0x0a, 0x0f, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, + 0x74, 0x61, 0x6b, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, + 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, + 0x74, 0x52, 0x0e, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x53, 0x74, 0x61, 0x6b, + 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x6c, 0x6f, 0x74, 0x74, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x6f, 0x77, + 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0c, 0x6c, 0x6f, 0x74, 0x74, 0x65, 0x72, + 0x79, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x12, 0x47, 0x0a, 0x14, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x5f, + 0x65, 0x71, 0x75, 0x69, 0x74, 0x79, 0x5f, 0x63, 0x61, 0x70, 0x69, 0x74, 0x61, 0x6c, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, + 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x12, 0x62, 0x61, 0x6b, + 0x65, 0x72, 0x45, 0x71, 0x75, 0x69, 0x74, 0x79, 0x43, 0x61, 0x70, 0x69, 0x74, 0x61, 0x6c, 0x12, + 0x42, 0x0a, 0x11, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x61, 0x70, + 0x69, 0x74, 0x61, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, + 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, + 0x74, 0x52, 0x10, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x43, 0x61, 0x70, 0x69, + 0x74, 0x61, 0x6c, 0x12, 0x49, 0x0a, 0x10, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, + 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, + 0x6d, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x61, 0x74, 0x65, 0x73, 0x52, 0x0f, 0x63, + 0x6f, 0x6d, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x61, 0x74, 0x65, 0x73, 0x12, 0x3c, + 0x0a, 0x18, 0x69, 0x73, 0x5f, 0x70, 0x72, 0x69, 0x6d, 0x65, 0x64, 0x5f, 0x66, 0x6f, 0x72, 0x5f, + 0x73, 0x75, 0x73, 0x70, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, + 0x48, 0x00, 0x52, 0x15, 0x69, 0x73, 0x50, 0x72, 0x69, 0x6d, 0x65, 0x64, 0x46, 0x6f, 0x72, 0x53, + 0x75, 0x73, 0x70, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0d, + 0x6d, 0x69, 0x73, 0x73, 0x65, 0x64, 0x5f, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x18, 0x0a, 0x20, + 0x01, 0x28, 0x04, 0x48, 0x01, 0x52, 0x0c, 0x6d, 0x69, 0x73, 0x73, 0x65, 0x64, 0x52, 0x6f, 0x75, + 0x6e, 0x64, 0x73, 0x88, 0x01, 0x01, 0x42, 0x1b, 0x0a, 0x19, 0x5f, 0x69, 0x73, 0x5f, 0x70, 0x72, + 0x69, 0x6d, 0x65, 0x64, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x73, 0x75, 0x73, 0x70, 0x65, 0x6e, 0x73, + 0x69, 0x6f, 0x6e, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x6d, 0x69, 0x73, 0x73, 0x65, 0x64, 0x5f, 0x72, + 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x22, 0xd3, 0x06, 0x0a, 0x10, 0x50, 0x6f, 0x6f, 0x6c, 0x49, 0x6e, + 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2c, 0x0a, 0x05, 0x62, 0x61, + 0x6b, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x6f, 0x6e, 0x63, + 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x49, + 0x64, 0x52, 0x05, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x12, 0x37, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, + 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x12, 0x41, 0x0a, 0x0e, 0x65, 0x71, 0x75, 0x69, 0x74, 0x79, 0x5f, 0x63, 0x61, 0x70, 0x69, + 0x74, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, + 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, + 0x48, 0x00, 0x52, 0x0d, 0x65, 0x71, 0x75, 0x69, 0x74, 0x79, 0x43, 0x61, 0x70, 0x69, 0x74, 0x61, + 0x6c, 0x88, 0x01, 0x01, 0x12, 0x47, 0x0a, 0x11, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, + 0x64, 0x5f, 0x63, 0x61, 0x70, 0x69, 0x74, 0x61, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, + 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x01, 0x52, 0x10, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, + 0x74, 0x65, 0x64, 0x43, 0x61, 0x70, 0x69, 0x74, 0x61, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x4e, 0x0a, + 0x15, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x61, 0x70, 0x69, 0x74, + 0x61, 0x6c, 0x5f, 0x63, 0x61, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, + 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, + 0x75, 0x6e, 0x74, 0x48, 0x02, 0x52, 0x13, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, + 0x43, 0x61, 0x70, 0x69, 0x74, 0x61, 0x6c, 0x43, 0x61, 0x70, 0x88, 0x01, 0x01, 0x12, 0x3e, 0x0a, + 0x09, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1c, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, + 0x2e, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x50, 0x6f, 0x6f, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x03, + 0x52, 0x08, 0x70, 0x6f, 0x6f, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x88, 0x01, 0x01, 0x12, 0x59, 0x0a, + 0x15, 0x65, 0x71, 0x75, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, + 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, + 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x6f, 0x6f, + 0x6c, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x48, 0x04, + 0x52, 0x13, 0x65, 0x71, 0x75, 0x69, 0x74, 0x79, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x43, + 0x68, 0x61, 0x6e, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x59, 0x0a, 0x13, 0x63, 0x75, 0x72, 0x72, + 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x61, 0x79, 0x64, 0x61, 0x79, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, + 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x6f, 0x6f, 0x6c, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, + 0x74, 0x50, 0x61, 0x79, 0x64, 0x61, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x05, 0x52, 0x11, 0x63, + 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x50, 0x61, 0x79, 0x64, 0x61, 0x79, 0x49, 0x6e, 0x66, 0x6f, + 0x88, 0x01, 0x01, 0x12, 0x4a, 0x0a, 0x16, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, + 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x63, 0x61, 0x70, 0x69, 0x74, 0x61, 0x6c, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, + 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x13, 0x61, 0x6c, 0x6c, 0x50, + 0x6f, 0x6f, 0x6c, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x43, 0x61, 0x70, 0x69, 0x74, 0x61, 0x6c, 0x12, + 0x26, 0x0a, 0x0c, 0x69, 0x73, 0x5f, 0x73, 0x75, 0x73, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x18, + 0x0a, 0x20, 0x01, 0x28, 0x08, 0x48, 0x06, 0x52, 0x0b, 0x69, 0x73, 0x53, 0x75, 0x73, 0x70, 0x65, + 0x6e, 0x64, 0x65, 0x64, 0x88, 0x01, 0x01, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x65, 0x71, 0x75, 0x69, + 0x74, 0x79, 0x5f, 0x63, 0x61, 0x70, 0x69, 0x74, 0x61, 0x6c, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x64, + 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x61, 0x70, 0x69, 0x74, 0x61, 0x6c, + 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, + 0x61, 0x70, 0x69, 0x74, 0x61, 0x6c, 0x5f, 0x63, 0x61, 0x70, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x70, + 0x6f, 0x6f, 0x6c, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x65, 0x71, 0x75, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x68, 0x61, 0x6e, - 0x67, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, - 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x6f, 0x6f, 0x6c, 0x50, 0x65, 0x6e, - 0x64, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x48, 0x04, 0x52, 0x13, 0x65, 0x71, - 0x75, 0x69, 0x74, 0x79, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x61, 0x6e, 0x67, - 0x65, 0x88, 0x01, 0x01, 0x12, 0x59, 0x0a, 0x13, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, - 0x70, 0x61, 0x79, 0x64, 0x61, 0x79, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x08, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, - 0x32, 0x2e, 0x50, 0x6f, 0x6f, 0x6c, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x50, 0x61, 0x79, - 0x64, 0x61, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x05, 0x52, 0x11, 0x63, 0x75, 0x72, 0x72, 0x65, - 0x6e, 0x74, 0x50, 0x61, 0x79, 0x64, 0x61, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x88, 0x01, 0x01, 0x12, + 0x67, 0x65, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x70, + 0x61, 0x79, 0x64, 0x61, 0x79, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x69, + 0x73, 0x5f, 0x73, 0x75, 0x73, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x22, 0xbd, 0x03, 0x0a, 0x15, + 0x50, 0x61, 0x73, 0x73, 0x69, 0x76, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x42, 0x0a, 0x11, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, + 0x65, 0x64, 0x5f, 0x63, 0x61, 0x70, 0x69, 0x74, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, + 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x10, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, + 0x65, 0x64, 0x43, 0x61, 0x70, 0x69, 0x74, 0x61, 0x6c, 0x12, 0x49, 0x0a, 0x10, 0x63, 0x6f, 0x6d, + 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, + 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x61, + 0x74, 0x65, 0x73, 0x52, 0x0f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, + 0x61, 0x74, 0x65, 0x73, 0x12, 0x69, 0x0a, 0x26, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, + 0x70, 0x61, 0x79, 0x64, 0x61, 0x79, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x66, 0x65, 0x65, 0x73, 0x5f, 0x65, 0x61, 0x72, 0x6e, 0x65, 0x64, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, + 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x22, 0x63, 0x75, 0x72, + 0x72, 0x65, 0x6e, 0x74, 0x50, 0x61, 0x79, 0x64, 0x61, 0x79, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x65, 0x65, 0x73, 0x45, 0x61, 0x72, 0x6e, 0x65, 0x64, 0x12, + 0x5e, 0x0a, 0x20, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x61, 0x79, 0x64, 0x61, + 0x79, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x61, 0x70, 0x69, + 0x74, 0x61, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, + 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, + 0x52, 0x1d, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x50, 0x61, 0x79, 0x64, 0x61, 0x79, 0x44, + 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x43, 0x61, 0x70, 0x69, 0x74, 0x61, 0x6c, 0x12, 0x4a, 0x0a, 0x16, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x74, 0x6f, 0x74, 0x61, - 0x6c, 0x5f, 0x63, 0x61, 0x70, 0x69, 0x74, 0x61, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x6c, 0x5f, 0x63, 0x61, 0x70, 0x69, 0x74, 0x61, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x13, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6f, 0x6c, 0x54, - 0x6f, 0x74, 0x61, 0x6c, 0x43, 0x61, 0x70, 0x69, 0x74, 0x61, 0x6c, 0x42, 0x11, 0x0a, 0x0f, 0x5f, - 0x65, 0x71, 0x75, 0x69, 0x74, 0x79, 0x5f, 0x63, 0x61, 0x70, 0x69, 0x74, 0x61, 0x6c, 0x42, 0x14, - 0x0a, 0x12, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x61, 0x70, - 0x69, 0x74, 0x61, 0x6c, 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, - 0x65, 0x64, 0x5f, 0x63, 0x61, 0x70, 0x69, 0x74, 0x61, 0x6c, 0x5f, 0x63, 0x61, 0x70, 0x42, 0x0c, - 0x0a, 0x0a, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x42, 0x18, 0x0a, 0x16, - 0x5f, 0x65, 0x71, 0x75, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, - 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x63, 0x75, 0x72, 0x72, 0x65, - 0x6e, 0x74, 0x5f, 0x70, 0x61, 0x79, 0x64, 0x61, 0x79, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x22, 0xbd, - 0x03, 0x0a, 0x15, 0x50, 0x61, 0x73, 0x73, 0x69, 0x76, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x42, 0x0a, 0x11, 0x64, 0x65, 0x6c, 0x65, - 0x67, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x61, 0x70, 0x69, 0x74, 0x61, 0x6c, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, - 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x10, 0x64, 0x65, 0x6c, 0x65, - 0x67, 0x61, 0x74, 0x65, 0x64, 0x43, 0x61, 0x70, 0x69, 0x74, 0x61, 0x6c, 0x12, 0x49, 0x0a, 0x10, - 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x73, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, - 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x52, 0x61, 0x74, 0x65, 0x73, 0x52, 0x0f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x52, 0x61, 0x74, 0x65, 0x73, 0x12, 0x69, 0x0a, 0x26, 0x63, 0x75, 0x72, 0x72, 0x65, - 0x6e, 0x74, 0x5f, 0x70, 0x61, 0x79, 0x64, 0x61, 0x79, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x65, 0x65, 0x73, 0x5f, 0x65, 0x61, 0x72, 0x6e, 0x65, - 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, - 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x22, - 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x50, 0x61, 0x79, 0x64, 0x61, 0x79, 0x54, 0x72, 0x61, - 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x65, 0x65, 0x73, 0x45, 0x61, 0x72, 0x6e, - 0x65, 0x64, 0x12, 0x5e, 0x0a, 0x20, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x61, - 0x79, 0x64, 0x61, 0x79, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, - 0x61, 0x70, 0x69, 0x74, 0x61, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, - 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, - 0x75, 0x6e, 0x74, 0x52, 0x1d, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x50, 0x61, 0x79, 0x64, - 0x61, 0x79, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x43, 0x61, 0x70, 0x69, 0x74, - 0x61, 0x6c, 0x12, 0x4a, 0x0a, 0x16, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x74, - 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x63, 0x61, 0x70, 0x69, 0x74, 0x61, 0x6c, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, - 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x13, 0x61, 0x6c, 0x6c, 0x50, 0x6f, - 0x6f, 0x6c, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x43, 0x61, 0x70, 0x69, 0x74, 0x61, 0x6c, 0x22, 0xac, - 0x03, 0x0a, 0x15, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x41, 0x74, 0x48, 0x65, 0x69, 0x67, 0x68, - 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4b, 0x0a, 0x08, 0x61, 0x62, 0x73, 0x6f, - 0x6c, 0x75, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x63, 0x6f, 0x6e, - 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, - 0x73, 0x41, 0x74, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x2e, 0x41, 0x62, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x48, 0x00, 0x52, 0x08, 0x61, 0x62, 0x73, - 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x12, 0x4b, 0x0a, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x76, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, + 0x6f, 0x74, 0x61, 0x6c, 0x43, 0x61, 0x70, 0x69, 0x74, 0x61, 0x6c, 0x22, 0xac, 0x03, 0x0a, 0x15, + 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x41, 0x74, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4b, 0x0a, 0x08, 0x61, 0x62, 0x73, 0x6f, 0x6c, 0x75, 0x74, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x41, 0x74, - 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x52, 0x65, - 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, - 0x76, 0x65, 0x1a, 0x46, 0x0a, 0x08, 0x41, 0x62, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x12, 0x3a, - 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, + 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x41, 0x62, + 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x48, 0x00, 0x52, 0x08, 0x61, 0x62, 0x73, 0x6f, 0x6c, 0x75, + 0x74, 0x65, 0x12, 0x4b, 0x0a, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, + 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x41, 0x74, 0x48, 0x65, 0x69, + 0x67, 0x68, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, + 0x69, 0x76, 0x65, 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x1a, + 0x46, 0x0a, 0x08, 0x41, 0x62, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x12, 0x3a, 0x0a, 0x06, 0x68, + 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x6f, + 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x62, 0x73, 0x6f, + 0x6c, 0x75, 0x74, 0x65, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x52, + 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x1a, 0x9c, 0x01, 0x0a, 0x08, 0x52, 0x65, 0x6c, 0x61, + 0x74, 0x69, 0x76, 0x65, 0x12, 0x40, 0x0a, 0x0d, 0x67, 0x65, 0x6e, 0x65, 0x73, 0x69, 0x73, 0x5f, + 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, + 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x65, 0x6e, 0x65, + 0x73, 0x69, 0x73, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x0c, 0x67, 0x65, 0x6e, 0x65, 0x73, 0x69, + 0x73, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x32, 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, + 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, + 0x68, 0x74, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, + 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x72, 0x65, + 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x42, 0x12, 0x0a, 0x10, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x73, + 0x5f, 0x61, 0x74, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x22, 0x4a, 0x0a, 0x16, 0x42, 0x6c, + 0x6f, 0x63, 0x6b, 0x73, 0x41, 0x74, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x30, 0x0a, 0x06, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, + 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x52, 0x06, + 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x22, 0xa2, 0x0a, 0x0a, 0x0e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x6f, 0x6d, 0x69, 0x63, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x32, 0x0a, 0x02, 0x76, 0x30, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, + 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x6f, 0x6d, 0x69, 0x63, 0x73, + 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x56, 0x30, 0x48, 0x00, 0x52, 0x02, 0x76, 0x30, 0x12, 0x32, 0x0a, + 0x02, 0x76, 0x31, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x6f, 0x6e, 0x63, + 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x6f, + 0x6d, 0x69, 0x63, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x56, 0x31, 0x48, 0x00, 0x52, 0x02, 0x76, + 0x31, 0x1a, 0xb0, 0x03, 0x0a, 0x02, 0x56, 0x30, 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x6f, 0x74, 0x61, + 0x6c, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, - 0x62, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, - 0x68, 0x74, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x1a, 0x9c, 0x01, 0x0a, 0x08, 0x52, - 0x65, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x12, 0x40, 0x0a, 0x0d, 0x67, 0x65, 0x6e, 0x65, 0x73, - 0x69, 0x73, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, - 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x47, - 0x65, 0x6e, 0x65, 0x73, 0x69, 0x73, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x0c, 0x67, 0x65, 0x6e, - 0x65, 0x73, 0x69, 0x73, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x32, 0x0a, 0x06, 0x68, 0x65, 0x69, - 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x6f, 0x6e, 0x63, - 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, - 0x65, 0x69, 0x67, 0x68, 0x74, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x1a, 0x0a, - 0x08, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x08, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x42, 0x12, 0x0a, 0x10, 0x62, 0x6c, 0x6f, - 0x63, 0x6b, 0x73, 0x5f, 0x61, 0x74, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x22, 0x4a, 0x0a, - 0x16, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x41, 0x74, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x30, 0x0a, 0x06, 0x62, 0x6c, 0x6f, 0x63, 0x6b, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, - 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, - 0x68, 0x52, 0x06, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x22, 0xa2, 0x0a, 0x0a, 0x0e, 0x54, 0x6f, - 0x6b, 0x65, 0x6e, 0x6f, 0x6d, 0x69, 0x63, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x32, 0x0a, 0x02, - 0x76, 0x30, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, - 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x6f, 0x6d, - 0x69, 0x63, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x56, 0x30, 0x48, 0x00, 0x52, 0x02, 0x76, 0x30, - 0x12, 0x32, 0x0a, 0x02, 0x76, 0x31, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, - 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x6f, 0x6b, - 0x65, 0x6e, 0x6f, 0x6d, 0x69, 0x63, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x56, 0x31, 0x48, 0x00, - 0x52, 0x02, 0x76, 0x31, 0x1a, 0xb0, 0x03, 0x0a, 0x02, 0x56, 0x30, 0x12, 0x38, 0x0a, 0x0c, 0x74, + 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x41, 0x6d, 0x6f, 0x75, + 0x6e, 0x74, 0x12, 0x4b, 0x0a, 0x16, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x65, 0x6e, 0x63, 0x72, + 0x79, 0x70, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, + 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x14, 0x74, 0x6f, 0x74, 0x61, 0x6c, + 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, + 0x49, 0x0a, 0x15, 0x62, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, + 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, + 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, + 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x13, 0x62, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x77, + 0x61, 0x72, 0x64, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x55, 0x0a, 0x1b, 0x66, 0x69, + 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, + 0x64, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, + 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x19, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x12, 0x36, 0x0a, 0x0b, 0x67, 0x61, 0x73, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, + 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0a, 0x67, + 0x61, 0x73, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x49, 0x0a, 0x10, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, + 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x56, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x56, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x1a, 0xe6, 0x05, 0x0a, 0x02, 0x56, 0x31, 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x41, @@ -26897,1814 +28957,2364 @@ var file_v2_concordium_types_proto_rawDesc = []byte{ 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x36, 0x0a, 0x0b, 0x67, 0x61, 0x73, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, - 0x52, 0x0a, 0x67, 0x61, 0x73, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x49, 0x0a, 0x10, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, - 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x56, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, - 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x1a, 0xe6, 0x05, 0x0a, 0x02, 0x56, 0x31, 0x12, 0x38, - 0x0a, 0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, - 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0b, 0x74, 0x6f, 0x74, - 0x61, 0x6c, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x4b, 0x0a, 0x16, 0x74, 0x6f, 0x74, 0x61, - 0x6c, 0x5f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x6d, 0x6f, 0x75, - 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, - 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, - 0x14, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x41, - 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x49, 0x0a, 0x15, 0x62, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x5f, - 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, + 0x52, 0x0a, 0x67, 0x61, 0x73, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x5b, 0x0a, 0x1e, + 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, - 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x13, 0x62, 0x61, 0x6b, - 0x69, 0x6e, 0x67, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x12, 0x55, 0x0a, 0x1b, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, - 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x19, 0x66, 0x69, - 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, - 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x36, 0x0a, 0x0b, 0x67, 0x61, 0x73, 0x5f, 0x61, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, - 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, - 0x75, 0x6e, 0x74, 0x52, 0x0a, 0x67, 0x61, 0x73, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, - 0x5b, 0x0a, 0x1e, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x72, - 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, - 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, - 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x1c, - 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x12, 0x42, 0x0a, 0x10, - 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x79, 0x64, 0x61, 0x79, 0x5f, 0x74, 0x69, 0x6d, 0x65, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, - 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x52, 0x0e, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x79, 0x64, 0x61, 0x79, 0x54, 0x69, 0x6d, 0x65, - 0x12, 0x4a, 0x0a, 0x15, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x79, 0x64, 0x61, 0x79, 0x5f, - 0x6d, 0x69, 0x6e, 0x74, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x17, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, - 0x4d, 0x69, 0x6e, 0x74, 0x52, 0x61, 0x74, 0x65, 0x52, 0x12, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, - 0x79, 0x64, 0x61, 0x79, 0x4d, 0x69, 0x6e, 0x74, 0x52, 0x61, 0x74, 0x65, 0x12, 0x47, 0x0a, 0x14, - 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x6b, 0x65, 0x64, 0x5f, 0x63, 0x61, 0x70, - 0x69, 0x74, 0x61, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, - 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, - 0x74, 0x52, 0x12, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x64, 0x43, 0x61, - 0x70, 0x69, 0x74, 0x61, 0x6c, 0x12, 0x49, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, - 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, - 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, - 0x0f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x42, 0x0c, 0x0a, 0x0a, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x6f, 0x6d, 0x69, 0x63, 0x73, 0x22, 0xa6, - 0x03, 0x0a, 0x15, 0x49, 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x0a, 0x62, 0x6c, 0x6f, 0x63, - 0x6b, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, - 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x6f, - 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x52, 0x09, 0x62, 0x6c, 0x6f, - 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x12, 0x35, 0x0a, 0x07, 0x69, 0x6e, 0x76, 0x6f, 0x6b, 0x65, - 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, - 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x48, - 0x00, 0x52, 0x07, 0x69, 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x3a, 0x0a, - 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, - 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, - 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x2d, 0x0a, 0x06, 0x61, 0x6d, 0x6f, - 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, - 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, - 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x3a, 0x0a, 0x0a, 0x65, 0x6e, 0x74, 0x72, - 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, - 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x63, - 0x65, 0x69, 0x76, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x0a, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x36, 0x0a, 0x09, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, - 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, - 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, - 0x72, 0x52, 0x09, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x12, 0x2d, 0x0a, 0x06, - 0x65, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, - 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6e, 0x65, - 0x72, 0x67, 0x79, 0x52, 0x06, 0x65, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x42, 0x0a, 0x0a, 0x08, 0x5f, - 0x69, 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x72, 0x22, 0xa6, 0x04, 0x0a, 0x16, 0x49, 0x6e, 0x76, 0x6f, + 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x1c, 0x66, 0x6f, 0x75, + 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x12, 0x42, 0x0a, 0x10, 0x6e, 0x65, 0x78, + 0x74, 0x5f, 0x70, 0x61, 0x79, 0x64, 0x61, 0x79, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, + 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0e, 0x6e, + 0x65, 0x78, 0x74, 0x50, 0x61, 0x79, 0x64, 0x61, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x4a, 0x0a, + 0x15, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x79, 0x64, 0x61, 0x79, 0x5f, 0x6d, 0x69, 0x6e, + 0x74, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, + 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x69, 0x6e, + 0x74, 0x52, 0x61, 0x74, 0x65, 0x52, 0x12, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x79, 0x64, 0x61, + 0x79, 0x4d, 0x69, 0x6e, 0x74, 0x52, 0x61, 0x74, 0x65, 0x12, 0x47, 0x0a, 0x14, 0x74, 0x6f, 0x74, + 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x6b, 0x65, 0x64, 0x5f, 0x63, 0x61, 0x70, 0x69, 0x74, 0x61, + 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, + 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x12, + 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x64, 0x43, 0x61, 0x70, 0x69, 0x74, + 0x61, 0x6c, 0x12, 0x49, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x76, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x63, + 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x72, 0x6f, + 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0x0a, + 0x0a, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x6f, 0x6d, 0x69, 0x63, 0x73, 0x22, 0xa6, 0x03, 0x0a, 0x15, + 0x49, 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, + 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, + 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, + 0x61, 0x73, 0x68, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x52, 0x09, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x48, + 0x61, 0x73, 0x68, 0x12, 0x35, 0x0a, 0x07, 0x69, 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x72, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, + 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x48, 0x00, 0x52, 0x07, + 0x69, 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x3a, 0x0a, 0x08, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, + 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6e, + 0x74, 0x72, 0x61, 0x63, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x08, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x2d, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, + 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x06, 0x61, + 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x3a, 0x0a, 0x0a, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x6f, 0x6e, 0x63, + 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, + 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x0a, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x12, 0x36, 0x0a, 0x09, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, + 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x52, 0x09, + 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x12, 0x2d, 0x0a, 0x06, 0x65, 0x6e, 0x65, + 0x72, 0x67, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, + 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, + 0x52, 0x06, 0x65, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x69, 0x6e, 0x76, + 0x6f, 0x6b, 0x65, 0x72, 0x22, 0xa6, 0x04, 0x0a, 0x16, 0x49, 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x49, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x49, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x2d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, + 0x2e, 0x49, 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x48, + 0x00, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x49, 0x0a, 0x07, 0x66, 0x61, + 0x69, 0x6c, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x63, 0x6f, + 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x49, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, - 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x75, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x48, 0x00, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x49, 0x0a, - 0x07, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, - 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x49, - 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x48, 0x00, 0x52, - 0x07, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x1a, 0xaf, 0x01, 0x0a, 0x07, 0x46, 0x61, 0x69, - 0x6c, 0x75, 0x72, 0x65, 0x12, 0x26, 0x0a, 0x0c, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x0b, 0x72, 0x65, - 0x74, 0x75, 0x72, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x88, 0x01, 0x01, 0x12, 0x36, 0x0a, 0x0b, - 0x75, 0x73, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, - 0x32, 0x2e, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x52, 0x0a, 0x75, 0x73, 0x65, 0x64, 0x45, 0x6e, - 0x65, 0x72, 0x67, 0x79, 0x12, 0x33, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, - 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, - 0x6e, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x72, 0x65, - 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0xb9, 0x01, 0x0a, 0x07, 0x53, - 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x26, 0x0a, 0x0c, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, - 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x0b, - 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x88, 0x01, 0x01, 0x12, 0x36, - 0x0a, 0x0b, 0x75, 0x73, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, - 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x52, 0x0a, 0x75, 0x73, 0x65, 0x64, - 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x12, 0x3d, 0x0a, 0x07, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, - 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, - 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, - 0x54, 0x72, 0x61, 0x63, 0x65, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x07, 0x65, 0x66, - 0x66, 0x65, 0x63, 0x74, 0x73, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, - 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x22, 0x86, 0x01, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x44, 0x65, 0x6c, 0x65, - 0x67, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, - 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, - 0x32, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x49, 0x6e, 0x70, 0x75, 0x74, - 0x52, 0x09, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x12, 0x2c, 0x0a, 0x05, 0x62, - 0x61, 0x6b, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x6f, 0x6e, - 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x61, 0x6b, 0x65, 0x72, - 0x49, 0x64, 0x52, 0x05, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x22, 0xd7, 0x01, 0x0a, 0x0d, 0x44, 0x65, - 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x37, 0x0a, 0x07, 0x61, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, - 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x07, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2b, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x6b, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, - 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x05, 0x73, 0x74, 0x61, 0x6b, - 0x65, 0x12, 0x4d, 0x0a, 0x0e, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x68, 0x61, - 0x6e, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x6f, 0x6e, 0x63, - 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x50, - 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x48, 0x00, 0x52, 0x0d, - 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x88, 0x01, 0x01, - 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x68, 0x61, - 0x6e, 0x67, 0x65, 0x22, 0x81, 0x01, 0x0a, 0x19, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, - 0x72, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x49, 0x6e, 0x66, - 0x6f, 0x12, 0x37, 0x0a, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, - 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x52, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2b, 0x0a, 0x05, 0x73, 0x74, - 0x61, 0x6b, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, - 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, - 0x52, 0x05, 0x73, 0x74, 0x61, 0x6b, 0x65, 0x22, 0x74, 0x0a, 0x06, 0x42, 0x72, 0x61, 0x6e, 0x63, - 0x68, 0x12, 0x37, 0x0a, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, - 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x52, - 0x09, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x12, 0x31, 0x0a, 0x08, 0x63, 0x68, - 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, - 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x72, 0x61, - 0x6e, 0x63, 0x68, 0x52, 0x08, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x22, 0x2f, 0x0a, - 0x17, 0x4c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x45, 0x6c, 0x65, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xb7, - 0x03, 0x0a, 0x0c, 0x45, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, - 0x57, 0x0a, 0x13, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x69, 0x66, 0x66, - 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, - 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6c, 0x65, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x48, - 0x00, 0x52, 0x12, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x66, 0x66, 0x69, - 0x63, 0x75, 0x6c, 0x74, 0x79, 0x88, 0x01, 0x01, 0x12, 0x4d, 0x0a, 0x0e, 0x65, 0x6c, 0x65, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x26, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, - 0x2e, 0x4c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x45, 0x6c, 0x65, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x52, 0x0d, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x12, 0x51, 0x0a, 0x13, 0x62, 0x61, 0x6b, 0x65, 0x72, - 0x5f, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x03, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, - 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, - 0x6f, 0x2e, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x52, 0x11, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x45, 0x6c, - 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x1a, 0x93, 0x01, 0x0a, 0x05, 0x42, - 0x61, 0x6b, 0x65, 0x72, 0x12, 0x2c, 0x0a, 0x05, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, - 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x49, 0x64, 0x52, 0x05, 0x62, 0x61, 0x6b, - 0x65, 0x72, 0x12, 0x37, 0x0a, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, - 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x52, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x6c, - 0x6f, 0x74, 0x74, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x01, 0x52, 0x0c, 0x6c, 0x6f, 0x74, 0x74, 0x65, 0x72, 0x79, 0x50, 0x6f, 0x77, 0x65, 0x72, - 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x69, - 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x22, 0x83, 0x1a, 0x0a, 0x11, 0x42, 0x6c, 0x6f, - 0x63, 0x6b, 0x53, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x57, - 0x0a, 0x0e, 0x62, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, - 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x53, 0x70, 0x65, 0x63, - 0x69, 0x61, 0x6c, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x42, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x52, - 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x48, 0x00, 0x52, 0x0d, 0x62, 0x61, 0x6b, 0x69, 0x6e, 0x67, - 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x12, 0x3b, 0x0a, 0x04, 0x6d, 0x69, 0x6e, 0x74, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, - 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x53, 0x70, 0x65, 0x63, 0x69, - 0x61, 0x6c, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x4d, 0x69, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x04, - 0x6d, 0x69, 0x6e, 0x74, 0x12, 0x69, 0x0a, 0x14, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, - 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x53, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x48, 0x00, 0x52, 0x13, 0x66, 0x69, 0x6e, 0x61, - 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x12, - 0x51, 0x0a, 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, - 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x53, 0x70, 0x65, 0x63, 0x69, - 0x61, 0x6c, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x77, - 0x61, 0x72, 0x64, 0x48, 0x00, 0x52, 0x0b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x77, 0x61, - 0x72, 0x64, 0x12, 0x73, 0x0a, 0x18, 0x70, 0x61, 0x79, 0x64, 0x61, 0x79, 0x5f, 0x66, 0x6f, 0x75, - 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, - 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x53, 0x70, 0x65, 0x63, 0x69, 0x61, - 0x6c, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x50, 0x61, 0x79, 0x64, 0x61, 0x79, 0x46, 0x6f, 0x75, - 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x48, 0x00, 0x52, - 0x16, 0x70, 0x61, 0x79, 0x64, 0x61, 0x79, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x6a, 0x0a, 0x15, 0x70, 0x61, 0x79, 0x64, 0x61, - 0x79, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, - 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x53, 0x70, 0x65, 0x63, - 0x69, 0x61, 0x6c, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x50, 0x61, 0x79, 0x64, 0x61, 0x79, 0x41, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x48, 0x00, 0x52, 0x13, - 0x70, 0x61, 0x79, 0x64, 0x61, 0x79, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x77, - 0x61, 0x72, 0x64, 0x12, 0x64, 0x0a, 0x13, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x61, 0x63, 0x63, - 0x72, 0x75, 0x65, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x32, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, - 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x53, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x45, 0x76, 0x65, - 0x6e, 0x74, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x41, 0x63, 0x63, 0x72, 0x75, 0x65, 0x52, 0x65, - 0x77, 0x61, 0x72, 0x64, 0x48, 0x00, 0x52, 0x11, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x41, 0x63, 0x63, - 0x72, 0x75, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x61, 0x0a, 0x12, 0x70, 0x61, 0x79, - 0x64, 0x61, 0x79, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x18, - 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, - 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x53, 0x70, 0x65, 0x63, 0x69, - 0x61, 0x6c, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x50, 0x61, 0x79, 0x64, 0x61, 0x79, 0x50, 0x6f, - 0x6f, 0x6c, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x48, 0x00, 0x52, 0x10, 0x70, 0x61, 0x79, 0x64, - 0x61, 0x79, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x1a, 0xd2, 0x01, 0x0a, - 0x0e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, - 0x4f, 0x0a, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x35, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, - 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x53, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x45, 0x76, 0x65, - 0x6e, 0x74, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, - 0x73, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, - 0x1a, 0x6f, 0x0a, 0x05, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x37, 0x0a, 0x07, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, - 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x12, 0x2d, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, - 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, - 0x74, 0x1a, 0x9a, 0x01, 0x0a, 0x0d, 0x42, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x77, 0x61, - 0x72, 0x64, 0x73, 0x12, 0x54, 0x0a, 0x0d, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x77, - 0x61, 0x72, 0x64, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x63, 0x6f, 0x6e, - 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, - 0x53, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x52, 0x0c, 0x62, 0x61, 0x6b, - 0x65, 0x72, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x12, 0x33, 0x0a, 0x09, 0x72, 0x65, 0x6d, - 0x61, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, - 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, - 0x75, 0x6e, 0x74, 0x52, 0x09, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x1a, 0xca, - 0x02, 0x0a, 0x04, 0x4d, 0x69, 0x6e, 0x74, 0x12, 0x43, 0x0a, 0x12, 0x6d, 0x69, 0x6e, 0x74, 0x5f, - 0x62, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, - 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x10, 0x6d, 0x69, 0x6e, 0x74, - 0x42, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x4f, 0x0a, 0x18, - 0x6d, 0x69, 0x6e, 0x74, 0x5f, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, - 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, - 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x16, 0x6d, 0x69, 0x6e, 0x74, 0x46, 0x69, 0x6e, 0x61, 0x6c, - 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x5e, 0x0a, - 0x20, 0x6d, 0x69, 0x6e, 0x74, 0x5f, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5f, 0x64, - 0x65, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x67, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, - 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x1d, - 0x6d, 0x69, 0x6e, 0x74, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x44, 0x65, 0x76, 0x65, - 0x6c, 0x6f, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x12, 0x4c, 0x0a, - 0x12, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, + 0x73, 0x65, 0x2e, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x48, 0x00, 0x52, 0x07, 0x66, 0x61, + 0x69, 0x6c, 0x75, 0x72, 0x65, 0x1a, 0xaf, 0x01, 0x0a, 0x07, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, + 0x65, 0x12, 0x26, 0x0a, 0x0c, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x0b, 0x72, 0x65, 0x74, 0x75, 0x72, + 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x88, 0x01, 0x01, 0x12, 0x36, 0x0a, 0x0b, 0x75, 0x73, 0x65, + 0x64, 0x5f, 0x65, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, + 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, + 0x6e, 0x65, 0x72, 0x67, 0x79, 0x52, 0x0a, 0x75, 0x73, 0x65, 0x64, 0x45, 0x6e, 0x65, 0x72, 0x67, + 0x79, 0x12, 0x33, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, + 0x32, 0x2e, 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52, 0x06, + 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, + 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0xb9, 0x01, 0x0a, 0x07, 0x53, 0x75, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x12, 0x26, 0x0a, 0x0c, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x0b, 0x72, 0x65, 0x74, + 0x75, 0x72, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x88, 0x01, 0x01, 0x12, 0x36, 0x0a, 0x0b, 0x75, + 0x73, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, + 0x2e, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x52, 0x0a, 0x75, 0x73, 0x65, 0x64, 0x45, 0x6e, 0x65, + 0x72, 0x67, 0x79, 0x12, 0x3d, 0x0a, 0x07, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x73, 0x18, 0x03, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, + 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x54, 0x72, 0x61, + 0x63, 0x65, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x07, 0x65, 0x66, 0x66, 0x65, 0x63, + 0x74, 0x73, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x86, 0x01, + 0x0a, 0x18, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, + 0x6f, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x0a, 0x62, 0x6c, + 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, + 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, + 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x52, 0x09, 0x62, + 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x12, 0x2c, 0x0a, 0x05, 0x62, 0x61, 0x6b, 0x65, + 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, + 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x49, 0x64, 0x52, + 0x05, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x22, 0xd7, 0x01, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x67, + 0x61, 0x74, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x37, 0x0a, 0x07, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x11, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x1a, 0xae, 0x01, 0x0a, 0x13, - 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x77, 0x61, - 0x72, 0x64, 0x73, 0x12, 0x62, 0x0a, 0x14, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x2f, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, + 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x12, 0x2b, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x6b, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, + 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x05, 0x73, 0x74, 0x61, 0x6b, 0x65, 0x12, 0x4d, + 0x0a, 0x0e, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, + 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x50, 0x65, 0x6e, 0x64, + 0x69, 0x6e, 0x67, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x48, 0x00, 0x52, 0x0d, 0x70, 0x65, 0x6e, + 0x64, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x88, 0x01, 0x01, 0x42, 0x11, 0x0a, + 0x0f, 0x5f, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, + 0x22, 0x81, 0x01, 0x0a, 0x19, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x65, + 0x77, 0x61, 0x72, 0x64, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x37, + 0x0a, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, + 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x07, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2b, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x6b, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, + 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x05, 0x73, + 0x74, 0x61, 0x6b, 0x65, 0x22, 0x74, 0x0a, 0x06, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x12, 0x37, + 0x0a, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, + 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x52, 0x09, 0x62, 0x6c, + 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x12, 0x31, 0x0a, 0x08, 0x63, 0x68, 0x69, 0x6c, 0x64, + 0x72, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, + 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, + 0x52, 0x08, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x22, 0x2f, 0x0a, 0x17, 0x4c, 0x65, + 0x61, 0x64, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x45, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xb7, 0x03, 0x0a, 0x0c, + 0x45, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x57, 0x0a, 0x13, + 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, + 0x6c, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x6f, 0x6e, 0x63, + 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6c, 0x65, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x44, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x48, 0x00, 0x52, 0x12, + 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, + 0x74, 0x79, 0x88, 0x01, 0x01, 0x12, 0x4d, 0x0a, 0x0e, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, + 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x65, + 0x61, 0x64, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x45, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x52, 0x0d, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4e, + 0x6f, 0x6e, 0x63, 0x65, 0x12, 0x51, 0x0a, 0x13, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x65, 0x6c, + 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, + 0x32, 0x2e, 0x45, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x42, + 0x61, 0x6b, 0x65, 0x72, 0x52, 0x11, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x45, 0x6c, 0x65, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x1a, 0x93, 0x01, 0x0a, 0x05, 0x42, 0x61, 0x6b, 0x65, + 0x72, 0x12, 0x2c, 0x0a, 0x05, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x16, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, + 0x2e, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x49, 0x64, 0x52, 0x05, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x12, + 0x37, 0x0a, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, + 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, + 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x6c, 0x6f, 0x74, 0x74, + 0x65, 0x72, 0x79, 0x5f, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, + 0x0c, 0x6c, 0x6f, 0x74, 0x74, 0x65, 0x72, 0x79, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x42, 0x16, 0x0a, + 0x14, 0x5f, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x69, 0x66, 0x66, 0x69, + 0x63, 0x75, 0x6c, 0x74, 0x79, 0x22, 0x81, 0x1e, 0x0a, 0x11, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x53, + 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x57, 0x0a, 0x0e, 0x62, + 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, + 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x53, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x42, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x77, 0x61, + 0x72, 0x64, 0x73, 0x48, 0x00, 0x52, 0x0d, 0x62, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x77, + 0x61, 0x72, 0x64, 0x73, 0x12, 0x3b, 0x0a, 0x04, 0x6d, 0x69, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, + 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x53, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x4d, 0x69, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x04, 0x6d, 0x69, 0x6e, + 0x74, 0x12, 0x69, 0x0a, 0x14, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x34, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, + 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x53, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x2e, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x77, 0x61, 0x72, 0x64, 0x73, 0x48, 0x00, 0x52, 0x13, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x12, 0x51, 0x0a, 0x0c, + 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, + 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x53, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, + 0x48, 0x00, 0x52, 0x0b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, + 0x73, 0x0a, 0x18, 0x70, 0x61, 0x79, 0x64, 0x61, 0x79, 0x5f, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x37, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x53, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x45, 0x76, - 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, - 0x74, 0x73, 0x52, 0x13, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x65, 0x6e, 0x74, 0x2e, 0x50, 0x61, 0x79, 0x64, 0x61, 0x79, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x48, 0x00, 0x52, 0x16, 0x70, 0x61, + 0x79, 0x64, 0x61, 0x79, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x77, 0x61, 0x72, 0x64, 0x12, 0x6a, 0x0a, 0x15, 0x70, 0x61, 0x79, 0x64, 0x61, 0x79, 0x5f, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, + 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x53, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x50, 0x61, 0x79, 0x64, 0x61, 0x79, 0x41, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x48, 0x00, 0x52, 0x13, 0x70, 0x61, 0x79, + 0x64, 0x61, 0x79, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, + 0x12, 0x64, 0x0a, 0x13, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x61, 0x63, 0x63, 0x72, 0x75, 0x65, + 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, + 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, + 0x6f, 0x63, 0x6b, 0x53, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, + 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x41, 0x63, 0x63, 0x72, 0x75, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, + 0x64, 0x48, 0x00, 0x52, 0x11, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x41, 0x63, 0x63, 0x72, 0x75, 0x65, + 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x61, 0x0a, 0x12, 0x70, 0x61, 0x79, 0x64, 0x61, 0x79, + 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x18, 0x08, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, + 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x53, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x50, 0x61, 0x79, 0x64, 0x61, 0x79, 0x50, 0x6f, 0x6f, 0x6c, 0x52, + 0x65, 0x77, 0x61, 0x72, 0x64, 0x48, 0x00, 0x52, 0x10, 0x70, 0x61, 0x79, 0x64, 0x61, 0x79, 0x50, + 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x66, 0x0a, 0x13, 0x76, 0x61, 0x6c, + 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x73, 0x75, 0x73, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x64, + 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, + 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x53, 0x70, 0x65, 0x63, + 0x69, 0x61, 0x6c, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, + 0x6f, 0x72, 0x53, 0x75, 0x73, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x48, 0x00, 0x52, 0x12, 0x76, + 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x75, 0x73, 0x70, 0x65, 0x6e, 0x64, 0x65, + 0x64, 0x12, 0x86, 0x01, 0x0a, 0x1f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, + 0x70, 0x72, 0x69, 0x6d, 0x65, 0x64, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x73, 0x75, 0x73, 0x70, 0x65, + 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x63, 0x6f, + 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x6f, 0x63, + 0x6b, 0x53, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x56, 0x61, + 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x69, 0x6d, 0x65, 0x64, 0x46, 0x6f, 0x72, + 0x53, 0x75, 0x73, 0x70, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x1c, 0x76, 0x61, + 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x69, 0x6d, 0x65, 0x64, 0x46, 0x6f, 0x72, + 0x53, 0x75, 0x73, 0x70, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x1a, 0xd2, 0x01, 0x0a, 0x0e, 0x41, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x4f, 0x0a, + 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, + 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, + 0x6c, 0x6f, 0x63, 0x6b, 0x53, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2e, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x1a, 0x6f, + 0x0a, 0x05, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x37, 0x0a, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, + 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x12, 0x2d, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, + 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x1a, + 0x9a, 0x01, 0x0a, 0x0d, 0x42, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, + 0x73, 0x12, 0x54, 0x0a, 0x0d, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, + 0x64, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, + 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x53, 0x70, + 0x65, 0x63, 0x69, 0x61, 0x6c, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x52, 0x0c, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x12, 0x33, 0x0a, 0x09, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, - 0x74, 0x52, 0x09, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x1a, 0xce, 0x03, 0x0a, - 0x0b, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x40, 0x0a, 0x10, - 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x65, 0x65, 0x73, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, - 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0f, 0x74, - 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x65, 0x65, 0x73, 0x12, 0x3d, - 0x0a, 0x0f, 0x6f, 0x6c, 0x64, 0x5f, 0x67, 0x61, 0x73, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, - 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0d, - 0x6f, 0x6c, 0x64, 0x47, 0x61, 0x73, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x3d, 0x0a, - 0x0f, 0x6e, 0x65, 0x77, 0x5f, 0x67, 0x61, 0x73, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, - 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0d, 0x6e, - 0x65, 0x77, 0x47, 0x61, 0x73, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x38, 0x0a, 0x0c, - 0x62, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, - 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0b, 0x62, 0x61, 0x6b, 0x65, 0x72, - 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x42, 0x0a, 0x11, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, - 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x10, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x12, 0x33, 0x0a, 0x05, 0x62, 0x61, - 0x6b, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, - 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x05, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x12, - 0x4c, 0x0a, 0x12, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, - 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x11, 0x66, 0x6f, 0x75, 0x6e, - 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x1a, 0xac, 0x01, - 0x0a, 0x16, 0x50, 0x61, 0x79, 0x64, 0x61, 0x79, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x4c, 0x0a, 0x12, 0x66, 0x6f, 0x75, 0x6e, - 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, - 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, - 0x65, 0x73, 0x73, 0x52, 0x11, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x44, 0x0a, 0x12, 0x64, 0x65, 0x76, 0x65, 0x6c, 0x6f, - 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, - 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x11, 0x64, 0x65, 0x76, 0x65, 0x6c, - 0x6f, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x1a, 0x92, 0x02, 0x0a, - 0x13, 0x50, 0x61, 0x79, 0x64, 0x61, 0x79, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, - 0x77, 0x61, 0x72, 0x64, 0x12, 0x37, 0x0a, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, - 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, - 0x72, 0x65, 0x73, 0x73, 0x52, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x40, 0x0a, - 0x10, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x65, 0x65, - 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, - 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0f, - 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x65, 0x65, 0x73, 0x12, - 0x38, 0x0a, 0x0c, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, - 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0b, 0x62, 0x61, - 0x6b, 0x65, 0x72, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x46, 0x0a, 0x13, 0x66, 0x69, 0x6e, - 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, - 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x12, 0x66, - 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x77, 0x61, 0x72, - 0x64, 0x1a, 0xbd, 0x03, 0x0a, 0x11, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x41, 0x63, 0x63, 0x72, 0x75, - 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x40, 0x0a, 0x10, 0x74, 0x72, 0x61, 0x6e, 0x73, - 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x65, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, - 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x65, 0x65, 0x73, 0x12, 0x3d, 0x0a, 0x0f, 0x6f, 0x6c, 0x64, - 0x5f, 0x67, 0x61, 0x73, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, - 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0d, 0x6f, 0x6c, 0x64, 0x47, 0x61, - 0x73, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x3d, 0x0a, 0x0f, 0x6e, 0x65, 0x77, 0x5f, - 0x67, 0x61, 0x73, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x74, 0x52, 0x09, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x1a, 0xca, 0x02, 0x0a, + 0x04, 0x4d, 0x69, 0x6e, 0x74, 0x12, 0x43, 0x0a, 0x12, 0x6d, 0x69, 0x6e, 0x74, 0x5f, 0x62, 0x61, + 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, - 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0d, 0x6e, 0x65, 0x77, 0x47, 0x61, 0x73, - 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x38, 0x0a, 0x0c, 0x62, 0x61, 0x6b, 0x65, 0x72, - 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, - 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, - 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0b, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x77, 0x61, 0x72, - 0x64, 0x12, 0x3c, 0x0a, 0x0e, 0x70, 0x61, 0x73, 0x73, 0x69, 0x76, 0x65, 0x5f, 0x72, 0x65, 0x77, - 0x61, 0x72, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, - 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, - 0x52, 0x0d, 0x70, 0x61, 0x73, 0x73, 0x69, 0x76, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, - 0x42, 0x0a, 0x11, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x68, - 0x61, 0x72, 0x67, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, - 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, - 0x74, 0x52, 0x10, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x61, - 0x72, 0x67, 0x65, 0x12, 0x2c, 0x0a, 0x05, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, - 0x76, 0x32, 0x2e, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x49, 0x64, 0x52, 0x05, 0x62, 0x61, 0x6b, 0x65, - 0x72, 0x1a, 0xa1, 0x02, 0x0a, 0x10, 0x50, 0x61, 0x79, 0x64, 0x61, 0x79, 0x50, 0x6f, 0x6f, 0x6c, - 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x3a, 0x0a, 0x0a, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x6f, - 0x77, 0x6e, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x6f, 0x6e, - 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x61, 0x6b, 0x65, 0x72, - 0x49, 0x64, 0x48, 0x00, 0x52, 0x09, 0x70, 0x6f, 0x6f, 0x6c, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x88, - 0x01, 0x01, 0x12, 0x40, 0x0a, 0x10, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x66, 0x65, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, + 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x10, 0x6d, 0x69, 0x6e, 0x74, 0x42, 0x61, + 0x6b, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x4f, 0x0a, 0x18, 0x6d, 0x69, + 0x6e, 0x74, 0x5f, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, - 0x75, 0x6e, 0x74, 0x52, 0x0f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x46, 0x65, 0x65, 0x73, 0x12, 0x38, 0x0a, 0x0c, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x72, 0x65, - 0x77, 0x61, 0x72, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, - 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, - 0x74, 0x52, 0x0b, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x46, - 0x0a, 0x13, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, - 0x65, 0x77, 0x61, 0x72, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, - 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, - 0x6e, 0x74, 0x52, 0x12, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, - 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x42, 0x07, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x22, 0xf5, - 0x0f, 0x0a, 0x0d, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x12, 0x45, 0x0a, 0x0e, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x74, 0x69, - 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, - 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x0d, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, - 0x69, 0x76, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3d, 0x0a, 0x09, 0x72, 0x6f, 0x6f, 0x74, 0x5f, - 0x6b, 0x65, 0x79, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, - 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x69, 0x67, 0x68, 0x65, - 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x4b, 0x65, 0x79, 0x73, 0x48, 0x00, 0x52, 0x08, 0x72, 0x6f, - 0x6f, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x41, 0x0a, 0x0b, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x31, - 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, - 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x69, 0x67, 0x68, - 0x65, 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x4b, 0x65, 0x79, 0x73, 0x48, 0x00, 0x52, 0x0a, 0x6c, - 0x65, 0x76, 0x65, 0x6c, 0x31, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x4c, 0x0a, 0x11, 0x6c, 0x65, 0x76, - 0x65, 0x6c, 0x32, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x5f, 0x63, 0x70, 0x76, 0x5f, 0x30, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, - 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x56, 0x30, 0x48, 0x00, 0x52, 0x0e, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x32, 0x4b, - 0x65, 0x79, 0x73, 0x43, 0x70, 0x76, 0x30, 0x12, 0x4c, 0x0a, 0x11, 0x6c, 0x65, 0x76, 0x65, 0x6c, - 0x32, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x5f, 0x63, 0x70, 0x76, 0x5f, 0x31, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, - 0x76, 0x32, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x56, 0x31, 0x48, 0x00, 0x52, 0x0e, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x32, 0x4b, 0x65, 0x79, - 0x73, 0x43, 0x70, 0x76, 0x31, 0x12, 0x3b, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, - 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, - 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x00, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, - 0x6f, 0x6c, 0x12, 0x54, 0x0a, 0x13, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, - 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x21, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, - 0x45, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, - 0x74, 0x79, 0x48, 0x00, 0x52, 0x12, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x69, - 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x12, 0x45, 0x0a, 0x0f, 0x65, 0x75, 0x72, 0x6f, - 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x65, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, - 0x32, 0x2e, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x61, 0x74, 0x65, 0x48, 0x00, - 0x52, 0x0d, 0x65, 0x75, 0x72, 0x6f, 0x50, 0x65, 0x72, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x12, - 0x4a, 0x0a, 0x12, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x5f, 0x63, 0x63, 0x64, 0x5f, 0x70, 0x65, 0x72, - 0x5f, 0x65, 0x75, 0x72, 0x6f, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, - 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x78, 0x63, 0x68, - 0x61, 0x6e, 0x67, 0x65, 0x52, 0x61, 0x74, 0x65, 0x48, 0x00, 0x52, 0x0f, 0x6d, 0x69, 0x63, 0x72, - 0x6f, 0x43, 0x63, 0x64, 0x50, 0x65, 0x72, 0x45, 0x75, 0x72, 0x6f, 0x12, 0x4e, 0x0a, 0x12, 0x66, + 0x75, 0x6e, 0x74, 0x52, 0x16, 0x6d, 0x69, 0x6e, 0x74, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x5e, 0x0a, 0x20, 0x6d, + 0x69, 0x6e, 0x74, 0x5f, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5f, 0x64, 0x65, 0x76, + 0x65, 0x6c, 0x6f, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, + 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x1d, 0x6d, 0x69, + 0x6e, 0x74, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x44, 0x65, 0x76, 0x65, 0x6c, 0x6f, + 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x12, 0x4c, 0x0a, 0x12, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, + 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x48, 0x00, 0x52, 0x11, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x5c, 0x0a, 0x17, 0x6d, - 0x69, 0x6e, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x63, 0x70, 0x76, 0x5f, 0x30, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, - 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x69, 0x6e, - 0x74, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x70, 0x76, - 0x30, 0x48, 0x00, 0x52, 0x14, 0x6d, 0x69, 0x6e, 0x74, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x70, 0x76, 0x30, 0x12, 0x5c, 0x0a, 0x17, 0x6d, 0x69, 0x6e, - 0x74, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, - 0x70, 0x76, 0x5f, 0x31, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x6f, 0x6e, - 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x69, 0x6e, 0x74, 0x44, - 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x70, 0x76, 0x31, 0x48, - 0x00, 0x52, 0x14, 0x6d, 0x69, 0x6e, 0x74, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x69, 0x6f, 0x6e, 0x43, 0x70, 0x76, 0x31, 0x12, 0x6d, 0x0a, 0x1c, 0x74, 0x72, 0x61, 0x6e, 0x73, - 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x72, - 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, - 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x72, - 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x65, 0x65, 0x44, 0x69, 0x73, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x1a, 0x74, 0x72, 0x61, 0x6e, - 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x65, 0x65, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3c, 0x0a, 0x0b, 0x67, 0x61, 0x73, 0x5f, 0x72, 0x65, - 0x77, 0x61, 0x72, 0x64, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, - 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x61, 0x73, 0x52, - 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x48, 0x00, 0x52, 0x0a, 0x67, 0x61, 0x73, 0x52, 0x65, 0x77, - 0x61, 0x72, 0x64, 0x73, 0x12, 0x57, 0x0a, 0x15, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x70, 0x61, 0x72, - 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x5f, 0x63, 0x70, 0x76, 0x5f, 0x30, 0x18, 0x0f, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, - 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x54, 0x68, - 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x48, 0x00, 0x52, 0x12, 0x70, 0x6f, 0x6f, 0x6c, 0x50, - 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x43, 0x70, 0x76, 0x30, 0x12, 0x56, 0x0a, - 0x15, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, - 0x5f, 0x63, 0x70, 0x76, 0x5f, 0x31, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, - 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x6f, 0x6f, - 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x43, 0x70, 0x76, 0x31, 0x48, - 0x00, 0x52, 0x12, 0x70, 0x6f, 0x6f, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, - 0x73, 0x43, 0x70, 0x76, 0x31, 0x12, 0x4b, 0x0a, 0x15, 0x61, 0x64, 0x64, 0x5f, 0x61, 0x6e, 0x6f, - 0x6e, 0x79, 0x6d, 0x69, 0x74, 0x79, 0x5f, 0x72, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x72, 0x18, 0x11, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x11, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x1a, 0xae, 0x01, 0x0a, 0x13, 0x46, 0x69, + 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, + 0x73, 0x12, 0x62, 0x0a, 0x14, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x2f, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, + 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x53, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x73, + 0x52, 0x13, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x77, 0x61, 0x72, 0x64, 0x73, 0x12, 0x33, 0x0a, 0x09, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x64, + 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, + 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, + 0x09, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x1a, 0xce, 0x03, 0x0a, 0x0b, 0x42, + 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x40, 0x0a, 0x10, 0x74, 0x72, + 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x65, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, - 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x13, 0x61, - 0x64, 0x64, 0x41, 0x6e, 0x6f, 0x6e, 0x79, 0x6d, 0x69, 0x74, 0x79, 0x52, 0x65, 0x76, 0x6f, 0x6b, - 0x65, 0x72, 0x12, 0x4b, 0x0a, 0x15, 0x61, 0x64, 0x64, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, - 0x74, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x12, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, - 0x32, 0x2e, 0x49, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x13, 0x61, 0x64, 0x64, 0x49, - 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, - 0x58, 0x0a, 0x13, 0x63, 0x6f, 0x6f, 0x6c, 0x64, 0x6f, 0x77, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x61, - 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x63, - 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6f, - 0x6c, 0x64, 0x6f, 0x77, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x43, - 0x70, 0x76, 0x31, 0x48, 0x00, 0x52, 0x12, 0x63, 0x6f, 0x6f, 0x6c, 0x64, 0x6f, 0x77, 0x6e, 0x50, - 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x4c, 0x0a, 0x0f, 0x74, 0x69, 0x6d, - 0x65, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x14, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, - 0x76, 0x32, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, - 0x73, 0x43, 0x70, 0x76, 0x31, 0x48, 0x00, 0x52, 0x0e, 0x74, 0x69, 0x6d, 0x65, 0x50, 0x61, 0x72, - 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x4a, 0x0a, 0x11, 0x67, 0x61, 0x73, 0x5f, 0x72, - 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x5f, 0x63, 0x70, 0x76, 0x5f, 0x32, 0x18, 0x15, 0x20, 0x01, + 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0f, 0x74, 0x72, 0x61, + 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x65, 0x65, 0x73, 0x12, 0x3d, 0x0a, 0x0f, + 0x6f, 0x6c, 0x64, 0x5f, 0x67, 0x61, 0x73, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, + 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0d, 0x6f, 0x6c, + 0x64, 0x47, 0x61, 0x73, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x3d, 0x0a, 0x0f, 0x6e, + 0x65, 0x77, 0x5f, 0x67, 0x61, 0x73, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, + 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0d, 0x6e, 0x65, 0x77, + 0x47, 0x61, 0x73, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x38, 0x0a, 0x0c, 0x62, 0x61, + 0x6b, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, + 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0b, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x52, 0x65, + 0x77, 0x61, 0x72, 0x64, 0x12, 0x42, 0x0a, 0x11, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, + 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x10, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x12, 0x33, 0x0a, 0x05, 0x62, 0x61, 0x6b, 0x65, + 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, + 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x05, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x12, 0x4c, 0x0a, + 0x12, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, + 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x11, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x1a, 0xac, 0x01, 0x0a, 0x16, + 0x50, 0x61, 0x79, 0x64, 0x61, 0x79, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x4c, 0x0a, 0x12, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, - 0x76, 0x32, 0x2e, 0x47, 0x61, 0x73, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x43, 0x70, 0x76, - 0x32, 0x48, 0x00, 0x52, 0x0e, 0x67, 0x61, 0x73, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x43, - 0x70, 0x76, 0x32, 0x12, 0x51, 0x0a, 0x12, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x70, - 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x20, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, - 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, - 0x73, 0x48, 0x00, 0x52, 0x11, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x50, 0x61, 0x72, 0x61, - 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x3f, 0x0a, 0x0e, 0x6d, 0x69, 0x6e, 0x5f, 0x62, 0x6c, - 0x6f, 0x63, 0x6b, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, - 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x44, - 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0c, 0x6d, 0x69, 0x6e, 0x42, 0x6c, - 0x6f, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x45, 0x0a, 0x12, 0x62, 0x6c, 0x6f, 0x63, 0x6b, - 0x5f, 0x65, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x18, 0x20, + 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x52, 0x11, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x44, 0x0a, 0x12, 0x64, 0x65, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x6d, + 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, + 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x11, 0x64, 0x65, 0x76, 0x65, 0x6c, 0x6f, 0x70, + 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x1a, 0x92, 0x02, 0x0a, 0x13, 0x50, + 0x61, 0x79, 0x64, 0x61, 0x79, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x77, 0x61, + 0x72, 0x64, 0x12, 0x37, 0x0a, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, + 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x52, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x40, 0x0a, 0x10, 0x74, + 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x65, 0x65, 0x73, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, + 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0f, 0x74, 0x72, + 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x65, 0x65, 0x73, 0x12, 0x38, 0x0a, + 0x0c, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, - 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x48, 0x00, 0x52, 0x10, 0x62, 0x6c, - 0x6f, 0x63, 0x6b, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x7c, - 0x0a, 0x21, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, - 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, - 0x65, 0x72, 0x73, 0x18, 0x19, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, - 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, - 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x50, - 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x48, 0x00, 0x52, 0x1f, 0x66, 0x69, 0x6e, - 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, - 0x65, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x42, 0x08, 0x0a, 0x06, - 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x22, 0x81, 0x0c, 0x0a, 0x19, 0x4e, 0x65, 0x78, 0x74, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, - 0x62, 0x65, 0x72, 0x73, 0x12, 0x3a, 0x0a, 0x09, 0x72, 0x6f, 0x6f, 0x74, 0x5f, 0x6b, 0x65, 0x79, - 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, - 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, - 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x08, 0x72, 0x6f, 0x6f, 0x74, 0x4b, 0x65, 0x79, 0x73, - 0x12, 0x3e, 0x0a, 0x0b, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x31, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, - 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, - 0x6d, 0x62, 0x65, 0x72, 0x52, 0x0a, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x31, 0x4b, 0x65, 0x79, 0x73, - 0x12, 0x3e, 0x0a, 0x0b, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x32, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, - 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, - 0x6d, 0x62, 0x65, 0x72, 0x52, 0x0a, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x32, 0x4b, 0x65, 0x79, 0x73, - 0x12, 0x39, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x04, 0x20, 0x01, + 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0b, 0x62, 0x61, 0x6b, 0x65, + 0x72, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x46, 0x0a, 0x13, 0x66, 0x69, 0x6e, 0x61, 0x6c, + 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, + 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x12, 0x66, 0x69, 0x6e, + 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x1a, + 0xbd, 0x03, 0x0a, 0x11, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x41, 0x63, 0x63, 0x72, 0x75, 0x65, 0x52, + 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x40, 0x0a, 0x10, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x65, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, + 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x46, 0x65, 0x65, 0x73, 0x12, 0x3d, 0x0a, 0x0f, 0x6f, 0x6c, 0x64, 0x5f, 0x67, + 0x61, 0x73, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, + 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0d, 0x6f, 0x6c, 0x64, 0x47, 0x61, 0x73, 0x41, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x3d, 0x0a, 0x0f, 0x6e, 0x65, 0x77, 0x5f, 0x67, 0x61, + 0x73, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, + 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0d, 0x6e, 0x65, 0x77, 0x47, 0x61, 0x73, 0x41, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x38, 0x0a, 0x0c, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x72, + 0x65, 0x77, 0x61, 0x72, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, + 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, + 0x6e, 0x74, 0x52, 0x0b, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, + 0x3c, 0x0a, 0x0e, 0x70, 0x61, 0x73, 0x73, 0x69, 0x76, 0x65, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, + 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, + 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0d, + 0x70, 0x61, 0x73, 0x73, 0x69, 0x76, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x42, 0x0a, + 0x11, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x68, 0x61, 0x72, + 0x67, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, + 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, + 0x10, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x61, 0x72, 0x67, + 0x65, 0x12, 0x2c, 0x0a, 0x05, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x16, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, + 0x2e, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x49, 0x64, 0x52, 0x05, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x1a, + 0xa1, 0x02, 0x0a, 0x10, 0x50, 0x61, 0x79, 0x64, 0x61, 0x79, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x65, + 0x77, 0x61, 0x72, 0x64, 0x12, 0x3a, 0x0a, 0x0a, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x6f, 0x77, 0x6e, + 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, + 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x49, 0x64, + 0x48, 0x00, 0x52, 0x09, 0x70, 0x6f, 0x6f, 0x6c, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x88, 0x01, 0x01, + 0x12, 0x40, 0x0a, 0x10, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x66, 0x65, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, + 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, + 0x74, 0x52, 0x0f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x65, + 0x65, 0x73, 0x12, 0x38, 0x0a, 0x0c, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x77, 0x61, + 0x72, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, + 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, + 0x0b, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x46, 0x0a, 0x13, + 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x77, + 0x61, 0x72, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, + 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, + 0x52, 0x12, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x77, 0x61, 0x72, 0x64, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x6f, 0x77, + 0x6e, 0x65, 0x72, 0x1a, 0x7f, 0x0a, 0x12, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, + 0x53, 0x75, 0x73, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x12, 0x30, 0x0a, 0x07, 0x62, 0x61, 0x6b, + 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x6f, 0x6e, + 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x61, 0x6b, 0x65, 0x72, + 0x49, 0x64, 0x52, 0x07, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x49, 0x64, 0x12, 0x37, 0x0a, 0x07, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, + 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x07, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x1a, 0x89, 0x01, 0x0a, 0x1c, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, + 0x6f, 0x72, 0x50, 0x72, 0x69, 0x6d, 0x65, 0x64, 0x46, 0x6f, 0x72, 0x53, 0x75, 0x73, 0x70, 0x65, + 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x30, 0x0a, 0x07, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x49, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, + 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x49, 0x64, 0x52, 0x07, + 0x62, 0x61, 0x6b, 0x65, 0x72, 0x49, 0x64, 0x12, 0x37, 0x0a, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, + 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x42, 0x07, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x22, 0xde, 0x10, 0x0a, 0x0d, 0x50, 0x65, + 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x45, 0x0a, 0x0e, 0x65, + 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, + 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, + 0x69, 0x6d, 0x65, 0x52, 0x0d, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x54, 0x69, + 0x6d, 0x65, 0x12, 0x3d, 0x0a, 0x09, 0x72, 0x6f, 0x6f, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, + 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x69, 0x67, 0x68, 0x65, 0x72, 0x4c, 0x65, 0x76, 0x65, + 0x6c, 0x4b, 0x65, 0x79, 0x73, 0x48, 0x00, 0x52, 0x08, 0x72, 0x6f, 0x6f, 0x74, 0x4b, 0x65, 0x79, + 0x73, 0x12, 0x41, 0x0a, 0x0b, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x31, 0x5f, 0x6b, 0x65, 0x79, 0x73, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, + 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x69, 0x67, 0x68, 0x65, 0x72, 0x4c, 0x65, 0x76, + 0x65, 0x6c, 0x4b, 0x65, 0x79, 0x73, 0x48, 0x00, 0x52, 0x0a, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x31, + 0x4b, 0x65, 0x79, 0x73, 0x12, 0x4c, 0x0a, 0x11, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x32, 0x5f, 0x6b, + 0x65, 0x79, 0x73, 0x5f, 0x63, 0x70, 0x76, 0x5f, 0x30, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1f, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, + 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x56, 0x30, + 0x48, 0x00, 0x52, 0x0e, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x32, 0x4b, 0x65, 0x79, 0x73, 0x43, 0x70, + 0x76, 0x30, 0x12, 0x4c, 0x0a, 0x11, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x32, 0x5f, 0x6b, 0x65, 0x79, + 0x73, 0x5f, 0x63, 0x70, 0x76, 0x5f, 0x31, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, + 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x75, + 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x56, 0x31, 0x48, 0x00, + 0x52, 0x0e, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x32, 0x4b, 0x65, 0x79, 0x73, 0x43, 0x70, 0x76, 0x31, + 0x12, 0x3b, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, - 0x76, 0x32, 0x2e, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, - 0x72, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x4e, 0x0a, 0x13, 0x65, - 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, - 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, + 0x76, 0x32, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x48, 0x00, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x54, 0x0a, + 0x13, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, + 0x75, 0x6c, 0x74, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x6f, 0x6e, + 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6c, 0x65, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x48, 0x00, 0x52, + 0x12, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, + 0x6c, 0x74, 0x79, 0x12, 0x45, 0x0a, 0x0f, 0x65, 0x75, 0x72, 0x6f, 0x5f, 0x70, 0x65, 0x72, 0x5f, + 0x65, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, + 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x78, 0x63, + 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x61, 0x74, 0x65, 0x48, 0x00, 0x52, 0x0d, 0x65, 0x75, 0x72, + 0x6f, 0x50, 0x65, 0x72, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x12, 0x4a, 0x0a, 0x12, 0x6d, 0x69, + 0x63, 0x72, 0x6f, 0x5f, 0x63, 0x63, 0x64, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x65, 0x75, 0x72, 0x6f, + 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, + 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, + 0x61, 0x74, 0x65, 0x48, 0x00, 0x52, 0x0f, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x43, 0x63, 0x64, 0x50, + 0x65, 0x72, 0x45, 0x75, 0x72, 0x6f, 0x12, 0x4e, 0x0a, 0x12, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, + 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x48, 0x00, 0x52, 0x11, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x5c, 0x0a, 0x17, 0x6d, 0x69, 0x6e, 0x74, 0x5f, 0x64, + 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x70, 0x76, 0x5f, + 0x30, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, + 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x69, 0x6e, 0x74, 0x44, 0x69, 0x73, 0x74, + 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x70, 0x76, 0x30, 0x48, 0x00, 0x52, 0x14, + 0x6d, 0x69, 0x6e, 0x74, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, + 0x43, 0x70, 0x76, 0x30, 0x12, 0x5c, 0x0a, 0x17, 0x6d, 0x69, 0x6e, 0x74, 0x5f, 0x64, 0x69, 0x73, + 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x70, 0x76, 0x5f, 0x31, 0x18, + 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, + 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x69, 0x6e, 0x74, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, + 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x70, 0x76, 0x31, 0x48, 0x00, 0x52, 0x14, 0x6d, 0x69, + 0x6e, 0x74, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x70, + 0x76, 0x31, 0x12, 0x6d, 0x0a, 0x1c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, + 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x65, 0x65, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, + 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x1a, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x46, 0x65, 0x65, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x3c, 0x0a, 0x0b, 0x67, 0x61, 0x73, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, + 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, + 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x61, 0x73, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, + 0x73, 0x48, 0x00, 0x52, 0x0a, 0x67, 0x61, 0x73, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x12, + 0x57, 0x0a, 0x15, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, + 0x72, 0x73, 0x5f, 0x63, 0x70, 0x76, 0x5f, 0x30, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, + 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, + 0x61, 0x6b, 0x65, 0x72, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, + 0x6c, 0x64, 0x48, 0x00, 0x52, 0x12, 0x70, 0x6f, 0x6f, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, + 0x74, 0x65, 0x72, 0x73, 0x43, 0x70, 0x76, 0x30, 0x12, 0x56, 0x0a, 0x15, 0x70, 0x6f, 0x6f, 0x6c, + 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x5f, 0x63, 0x70, 0x76, 0x5f, + 0x31, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, + 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x6f, 0x6f, 0x6c, 0x50, 0x61, 0x72, 0x61, + 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x43, 0x70, 0x76, 0x31, 0x48, 0x00, 0x52, 0x12, 0x70, 0x6f, + 0x6f, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x43, 0x70, 0x76, 0x31, + 0x12, 0x4b, 0x0a, 0x15, 0x61, 0x64, 0x64, 0x5f, 0x61, 0x6e, 0x6f, 0x6e, 0x79, 0x6d, 0x69, 0x74, + 0x79, 0x5f, 0x72, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x72, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, + 0x41, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x13, 0x61, 0x64, 0x64, 0x41, 0x6e, 0x6f, + 0x6e, 0x79, 0x6d, 0x69, 0x74, 0x79, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x72, 0x12, 0x4b, 0x0a, + 0x15, 0x61, 0x64, 0x64, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x72, + 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, + 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x70, 0x49, + 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x13, 0x61, 0x64, 0x64, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, + 0x74, 0x79, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x58, 0x0a, 0x13, 0x63, 0x6f, + 0x6f, 0x6c, 0x64, 0x6f, 0x77, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, + 0x73, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, + 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6f, 0x6c, 0x64, 0x6f, 0x77, 0x6e, + 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x43, 0x70, 0x76, 0x31, 0x48, 0x00, + 0x52, 0x12, 0x63, 0x6f, 0x6f, 0x6c, 0x64, 0x6f, 0x77, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, + 0x74, 0x65, 0x72, 0x73, 0x12, 0x4c, 0x0a, 0x0f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x70, 0x61, 0x72, + 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, + 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x69, + 0x6d, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x43, 0x70, 0x76, 0x31, + 0x48, 0x00, 0x52, 0x0e, 0x74, 0x69, 0x6d, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, + 0x72, 0x73, 0x12, 0x4a, 0x0a, 0x11, 0x67, 0x61, 0x73, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, + 0x73, 0x5f, 0x63, 0x70, 0x76, 0x5f, 0x32, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, + 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x61, + 0x73, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x43, 0x70, 0x76, 0x32, 0x48, 0x00, 0x52, 0x0e, + 0x67, 0x61, 0x73, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x43, 0x70, 0x76, 0x32, 0x12, 0x51, + 0x0a, 0x12, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, + 0x74, 0x65, 0x72, 0x73, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x6f, 0x6e, + 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x6f, + 0x75, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x48, 0x00, 0x52, 0x11, + 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, + 0x73, 0x12, 0x3f, 0x0a, 0x0e, 0x6d, 0x69, 0x6e, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x6f, 0x6e, 0x63, + 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0c, 0x6d, 0x69, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x69, + 0x6d, 0x65, 0x12, 0x45, 0x0a, 0x12, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x65, 0x6e, 0x65, 0x72, + 0x67, 0x79, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, + 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, + 0x6e, 0x65, 0x72, 0x67, 0x79, 0x48, 0x00, 0x52, 0x10, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x45, 0x6e, + 0x65, 0x72, 0x67, 0x79, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x7c, 0x0a, 0x21, 0x66, 0x69, 0x6e, + 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, + 0x74, 0x65, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x19, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, + 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, + 0x74, 0x65, 0x72, 0x73, 0x48, 0x00, 0x52, 0x1f, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x50, 0x61, 0x72, + 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x67, 0x0a, 0x1a, 0x76, 0x61, 0x6c, 0x69, 0x64, + 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, + 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x6f, + 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x56, 0x61, 0x6c, 0x69, + 0x64, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, + 0x74, 0x65, 0x72, 0x73, 0x48, 0x00, 0x52, 0x18, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, + 0x72, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, + 0x42, 0x08, 0x0a, 0x06, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x22, 0xde, 0x0c, 0x0a, 0x19, 0x4e, + 0x65, 0x78, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, + 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x3a, 0x0a, 0x09, 0x72, 0x6f, 0x6f, 0x74, + 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, + 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x65, 0x71, 0x75, + 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x08, 0x72, 0x6f, 0x6f, 0x74, + 0x4b, 0x65, 0x79, 0x73, 0x12, 0x3e, 0x0a, 0x0b, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x31, 0x5f, 0x6b, + 0x65, 0x79, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, + 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, + 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x0a, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x31, + 0x4b, 0x65, 0x79, 0x73, 0x12, 0x3e, 0x0a, 0x0b, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x32, 0x5f, 0x6b, + 0x65, 0x79, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, + 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, + 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x0a, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x32, + 0x4b, 0x65, 0x79, 0x73, 0x12, 0x39, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, + 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, + 0x75, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, + 0x4e, 0x0a, 0x13, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x69, 0x66, 0x66, + 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, + 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x65, 0x71, + 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x12, 0x65, 0x6c, 0x65, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x12, + 0x45, 0x0a, 0x0f, 0x65, 0x75, 0x72, 0x6f, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x65, 0x6e, 0x65, 0x72, + 0x67, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, - 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x12, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x44, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x12, 0x45, 0x0a, 0x0f, 0x65, - 0x75, 0x72, 0x6f, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x65, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, - 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, - 0x62, 0x65, 0x72, 0x52, 0x0d, 0x65, 0x75, 0x72, 0x6f, 0x50, 0x65, 0x72, 0x45, 0x6e, 0x65, 0x72, - 0x67, 0x79, 0x12, 0x4a, 0x0a, 0x12, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x5f, 0x63, 0x63, 0x64, 0x5f, - 0x70, 0x65, 0x72, 0x5f, 0x65, 0x75, 0x72, 0x6f, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, - 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x53, - 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x0f, 0x6d, - 0x69, 0x63, 0x72, 0x6f, 0x43, 0x63, 0x64, 0x50, 0x65, 0x72, 0x45, 0x75, 0x72, 0x6f, 0x12, 0x4c, - 0x0a, 0x12, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, - 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x65, 0x71, 0x75, 0x65, - 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x11, 0x66, 0x6f, 0x75, 0x6e, 0x64, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x4a, 0x0a, 0x11, - 0x6d, 0x69, 0x6e, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, - 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, - 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x10, 0x6d, 0x69, 0x6e, 0x74, 0x44, 0x69, 0x73, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x5f, 0x0a, 0x1c, 0x74, 0x72, 0x61, 0x6e, - 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x64, 0x69, 0x73, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, - 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x53, - 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x1a, 0x74, - 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x65, 0x65, 0x44, 0x69, 0x73, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3e, 0x0a, 0x0b, 0x67, 0x61, 0x73, - 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, + 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x0d, 0x65, 0x75, 0x72, 0x6f, 0x50, 0x65, 0x72, + 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x12, 0x4a, 0x0a, 0x12, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x5f, + 0x63, 0x63, 0x64, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x65, 0x75, 0x72, 0x6f, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, + 0x76, 0x32, 0x2e, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, + 0x72, 0x52, 0x0f, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x43, 0x63, 0x64, 0x50, 0x65, 0x72, 0x45, 0x75, + 0x72, 0x6f, 0x12, 0x4c, 0x0a, 0x12, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x53, - 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x0a, 0x67, - 0x61, 0x73, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x12, 0x46, 0x0a, 0x0f, 0x70, 0x6f, 0x6f, - 0x6c, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x0c, 0x20, 0x01, + 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x11, 0x66, + 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x12, 0x4a, 0x0a, 0x11, 0x6d, 0x69, 0x6e, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, + 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, + 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x65, 0x71, 0x75, + 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x10, 0x6d, 0x69, 0x6e, 0x74, + 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x5f, 0x0a, 0x1c, + 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x65, 0x65, 0x5f, + 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, - 0x72, 0x52, 0x0e, 0x70, 0x6f, 0x6f, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, - 0x73, 0x12, 0x51, 0x0a, 0x15, 0x61, 0x64, 0x64, 0x5f, 0x61, 0x6e, 0x6f, 0x6e, 0x79, 0x6d, 0x69, - 0x74, 0x79, 0x5f, 0x72, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x72, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, - 0x2e, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x52, - 0x13, 0x61, 0x64, 0x64, 0x41, 0x6e, 0x6f, 0x6e, 0x79, 0x6d, 0x69, 0x74, 0x79, 0x52, 0x65, 0x76, - 0x6f, 0x6b, 0x65, 0x72, 0x12, 0x51, 0x0a, 0x15, 0x61, 0x64, 0x64, 0x5f, 0x69, 0x64, 0x65, 0x6e, - 0x74, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x0e, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, - 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, - 0x65, 0x72, 0x52, 0x13, 0x61, 0x64, 0x64, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x50, - 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x4e, 0x0a, 0x13, 0x63, 0x6f, 0x6f, 0x6c, 0x64, - 0x6f, 0x77, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x0f, + 0x72, 0x52, 0x1a, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x65, + 0x65, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3e, 0x0a, + 0x0b, 0x67, 0x61, 0x73, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x18, 0x0b, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, + 0x76, 0x32, 0x2e, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, + 0x72, 0x52, 0x0a, 0x67, 0x61, 0x73, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x12, 0x46, 0x0a, + 0x0f, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, + 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, + 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, + 0x75, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x0e, 0x70, 0x6f, 0x6f, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, + 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x51, 0x0a, 0x15, 0x61, 0x64, 0x64, 0x5f, 0x61, 0x6e, 0x6f, + 0x6e, 0x79, 0x6d, 0x69, 0x74, 0x79, 0x5f, 0x72, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x72, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, - 0x62, 0x65, 0x72, 0x52, 0x12, 0x63, 0x6f, 0x6f, 0x6c, 0x64, 0x6f, 0x77, 0x6e, 0x50, 0x61, 0x72, - 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x46, 0x0a, 0x0f, 0x74, 0x69, 0x6d, 0x65, 0x5f, - 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, - 0x2e, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x52, - 0x0e, 0x74, 0x69, 0x6d, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, - 0x4c, 0x0a, 0x12, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, - 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, - 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x65, 0x71, 0x75, - 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x11, 0x74, 0x69, 0x6d, 0x65, - 0x6f, 0x75, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x43, 0x0a, - 0x0e, 0x6d, 0x69, 0x6e, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, - 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, - 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, - 0x6d, 0x62, 0x65, 0x72, 0x52, 0x0c, 0x6d, 0x69, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x69, - 0x6d, 0x65, 0x12, 0x4b, 0x0a, 0x12, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x65, 0x6e, 0x65, 0x72, - 0x67, 0x79, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, + 0x62, 0x65, 0x72, 0x52, 0x13, 0x61, 0x64, 0x64, 0x41, 0x6e, 0x6f, 0x6e, 0x79, 0x6d, 0x69, 0x74, + 0x79, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x72, 0x12, 0x51, 0x0a, 0x15, 0x61, 0x64, 0x64, 0x5f, + 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, + 0x72, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, + 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, + 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x13, 0x61, 0x64, 0x64, 0x49, 0x64, 0x65, 0x6e, 0x74, + 0x69, 0x74, 0x79, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x4e, 0x0a, 0x13, 0x63, + 0x6f, 0x6f, 0x6c, 0x64, 0x6f, 0x77, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, + 0x72, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, + 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, + 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x12, 0x63, 0x6f, 0x6f, 0x6c, 0x64, 0x6f, 0x77, + 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x46, 0x0a, 0x0f, 0x74, + 0x69, 0x6d, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x10, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, + 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, + 0x62, 0x65, 0x72, 0x52, 0x0e, 0x74, 0x69, 0x6d, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, + 0x65, 0x72, 0x73, 0x12, 0x4c, 0x0a, 0x12, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x70, + 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, + 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x11, + 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, + 0x73, 0x12, 0x43, 0x0a, 0x0e, 0x6d, 0x69, 0x6e, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, + 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, + 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x0c, 0x6d, 0x69, 0x6e, 0x42, 0x6c, 0x6f, + 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x4b, 0x0a, 0x12, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, + 0x65, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x13, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, + 0x76, 0x32, 0x2e, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, + 0x72, 0x52, 0x10, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x4c, 0x69, + 0x6d, 0x69, 0x74, 0x12, 0x69, 0x0a, 0x21, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x5f, 0x70, 0x61, + 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x53, - 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x10, 0x62, - 0x6c, 0x6f, 0x63, 0x6b, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, - 0x69, 0x0a, 0x21, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, - 0x74, 0x65, 0x72, 0x73, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, - 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x65, 0x71, 0x75, 0x65, - 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x1f, 0x66, 0x69, 0x6e, 0x61, 0x6c, - 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, - 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x22, 0x21, 0x0a, 0x09, 0x49, 0x70, - 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x1c, 0x0a, - 0x04, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x64, 0x0a, 0x0f, 0x49, - 0x70, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x28, - 0x0a, 0x02, 0x69, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6f, 0x6e, + 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x1f, 0x66, + 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, + 0x74, 0x74, 0x65, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x5b, + 0x0a, 0x1a, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x73, 0x63, 0x6f, 0x72, + 0x65, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x15, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, + 0x76, 0x32, 0x2e, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, + 0x72, 0x52, 0x18, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x63, 0x6f, 0x72, + 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x22, 0x21, 0x0a, 0x09, 0x49, + 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x1c, + 0x0a, 0x04, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x64, 0x0a, 0x0f, + 0x49, 0x70, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, + 0x28, 0x0a, 0x02, 0x69, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6f, + 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x70, 0x41, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x02, 0x69, 0x70, 0x12, 0x27, 0x0a, 0x04, 0x70, 0x6f, 0x72, + 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, + 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x04, 0x70, 0x6f, + 0x72, 0x74, 0x22, 0x1e, 0x0a, 0x06, 0x50, 0x65, 0x65, 0x72, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x22, 0x45, 0x0a, 0x0a, 0x42, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x50, 0x65, 0x65, 0x72, + 0x12, 0x37, 0x0a, 0x0a, 0x69, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, + 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x09, + 0x69, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x3e, 0x0a, 0x0b, 0x42, 0x61, 0x6e, + 0x6e, 0x65, 0x64, 0x50, 0x65, 0x65, 0x72, 0x73, 0x12, 0x2f, 0x0a, 0x05, 0x70, 0x65, 0x65, 0x72, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, + 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x50, 0x65, + 0x65, 0x72, 0x52, 0x05, 0x70, 0x65, 0x65, 0x72, 0x73, 0x22, 0x44, 0x0a, 0x09, 0x50, 0x65, 0x65, + 0x72, 0x54, 0x6f, 0x42, 0x61, 0x6e, 0x12, 0x37, 0x0a, 0x0a, 0x69, 0x70, 0x5f, 0x61, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x70, 0x41, 0x64, 0x64, - 0x72, 0x65, 0x73, 0x73, 0x52, 0x02, 0x69, 0x70, 0x12, 0x27, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, - 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x04, 0x70, 0x6f, 0x72, - 0x74, 0x22, 0x1e, 0x0a, 0x06, 0x50, 0x65, 0x65, 0x72, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x22, 0x45, 0x0a, 0x0a, 0x42, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x50, 0x65, 0x65, 0x72, 0x12, - 0x37, 0x0a, 0x0a, 0x69, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, - 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x09, 0x69, - 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x3e, 0x0a, 0x0b, 0x42, 0x61, 0x6e, 0x6e, - 0x65, 0x64, 0x50, 0x65, 0x65, 0x72, 0x73, 0x12, 0x2f, 0x0a, 0x05, 0x70, 0x65, 0x65, 0x72, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, - 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x50, 0x65, 0x65, - 0x72, 0x52, 0x05, 0x70, 0x65, 0x65, 0x72, 0x73, 0x22, 0x44, 0x0a, 0x09, 0x50, 0x65, 0x65, 0x72, - 0x54, 0x6f, 0x42, 0x61, 0x6e, 0x12, 0x37, 0x0a, 0x0a, 0x69, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, - 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6f, 0x6e, 0x63, - 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x70, 0x41, 0x64, 0x64, 0x72, - 0x65, 0x73, 0x73, 0x52, 0x09, 0x69, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x33, - 0x0a, 0x0b, 0x44, 0x75, 0x6d, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, - 0x04, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x69, 0x6c, - 0x65, 0x12, 0x10, 0x0a, 0x03, 0x72, 0x61, 0x77, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, - 0x72, 0x61, 0x77, 0x22, 0xf2, 0x04, 0x0a, 0x09, 0x50, 0x65, 0x65, 0x72, 0x73, 0x49, 0x6e, 0x66, - 0x6f, 0x12, 0x33, 0x0a, 0x05, 0x70, 0x65, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, - 0x2e, 0x50, 0x65, 0x65, 0x72, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x52, - 0x05, 0x70, 0x65, 0x65, 0x72, 0x73, 0x1a, 0xaf, 0x04, 0x0a, 0x04, 0x50, 0x65, 0x65, 0x72, 0x12, - 0x2e, 0x0a, 0x07, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, - 0x2e, 0x50, 0x65, 0x65, 0x72, 0x49, 0x64, 0x52, 0x06, 0x70, 0x65, 0x65, 0x72, 0x49, 0x64, 0x12, - 0x45, 0x0a, 0x0e, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, - 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x70, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, - 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x0d, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x41, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x4f, 0x0a, 0x0d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, - 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x65, - 0x65, 0x72, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x2e, 0x4e, 0x65, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x0c, 0x6e, 0x65, 0x74, 0x77, 0x6f, - 0x72, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x3a, 0x0a, 0x0c, 0x62, 0x6f, 0x6f, 0x74, 0x73, - 0x74, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, - 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6d, - 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, 0x0c, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, - 0x70, 0x65, 0x72, 0x12, 0x5d, 0x0a, 0x13, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x63, 0x61, 0x74, 0x63, - 0x68, 0x75, 0x70, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x2b, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, - 0x2e, 0x50, 0x65, 0x65, 0x72, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x2e, - 0x43, 0x61, 0x74, 0x63, 0x68, 0x75, 0x70, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x00, 0x52, - 0x11, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x61, 0x74, 0x63, 0x68, 0x75, 0x70, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x1a, 0x76, 0x0a, 0x0c, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x74, 0x61, - 0x74, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x5f, 0x73, 0x65, - 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, - 0x73, 0x53, 0x65, 0x6e, 0x74, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, - 0x5f, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x0f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, - 0x12, 0x18, 0x0a, 0x07, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x07, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x22, 0x3a, 0x0a, 0x0d, 0x43, 0x61, - 0x74, 0x63, 0x68, 0x75, 0x70, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0c, 0x0a, 0x08, 0x55, - 0x50, 0x54, 0x4f, 0x44, 0x41, 0x54, 0x45, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x45, 0x4e, - 0x44, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x43, 0x41, 0x54, 0x43, 0x48, 0x49, - 0x4e, 0x47, 0x55, 0x50, 0x10, 0x02, 0x42, 0x10, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x6e, - 0x73, 0x75, 0x73, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x22, 0x99, 0x0b, 0x0a, 0x08, 0x4e, 0x6f, 0x64, - 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x76, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x65, 0x65, - 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x37, 0x0a, 0x0a, 0x6c, 0x6f, 0x63, 0x61, - 0x6c, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, - 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x54, 0x69, 0x6d, - 0x65, 0x12, 0x38, 0x0a, 0x0b, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x75, 0x70, 0x74, 0x69, 0x6d, 0x65, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, - 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x0a, 0x70, 0x65, 0x65, 0x72, 0x55, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x46, 0x0a, 0x0c, 0x6e, - 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, - 0x32, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, - 0x72, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, - 0x6e, 0x66, 0x6f, 0x12, 0x3a, 0x0a, 0x0c, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, - 0x70, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x63, - 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, - 0x00, 0x52, 0x0c, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12, - 0x32, 0x0a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, - 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x4e, 0x6f, - 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x48, 0x00, 0x52, 0x04, 0x6e, - 0x6f, 0x64, 0x65, 0x1a, 0xd3, 0x01, 0x0a, 0x0b, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, - 0x6e, 0x66, 0x6f, 0x12, 0x2e, 0x0a, 0x07, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, - 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x49, 0x64, 0x52, 0x06, 0x6e, 0x6f, 0x64, - 0x65, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x74, 0x6f, 0x74, 0x61, - 0x6c, 0x5f, 0x73, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x70, 0x65, - 0x65, 0x72, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x65, 0x6e, 0x74, 0x12, 0x2e, 0x0a, 0x13, 0x70, - 0x65, 0x65, 0x72, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, - 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x11, 0x70, 0x65, 0x65, 0x72, 0x54, 0x6f, - 0x74, 0x61, 0x6c, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x12, 0x1c, 0x0a, 0x0a, 0x61, - 0x76, 0x67, 0x5f, 0x62, 0x70, 0x73, 0x5f, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x08, 0x61, 0x76, 0x67, 0x42, 0x70, 0x73, 0x49, 0x6e, 0x12, 0x1e, 0x0a, 0x0b, 0x61, 0x76, 0x67, - 0x5f, 0x62, 0x70, 0x73, 0x5f, 0x6f, 0x75, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, - 0x61, 0x76, 0x67, 0x42, 0x70, 0x73, 0x4f, 0x75, 0x74, 0x1a, 0x8f, 0x05, 0x0a, 0x12, 0x42, 0x61, + 0x72, 0x65, 0x73, 0x73, 0x52, 0x09, 0x69, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, + 0x33, 0x0a, 0x0b, 0x44, 0x75, 0x6d, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, + 0x0a, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x69, + 0x6c, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x72, 0x61, 0x77, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x03, 0x72, 0x61, 0x77, 0x22, 0xf2, 0x04, 0x0a, 0x09, 0x50, 0x65, 0x65, 0x72, 0x73, 0x49, 0x6e, + 0x66, 0x6f, 0x12, 0x33, 0x0a, 0x05, 0x70, 0x65, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, + 0x32, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x50, 0x65, 0x65, 0x72, + 0x52, 0x05, 0x70, 0x65, 0x65, 0x72, 0x73, 0x1a, 0xaf, 0x04, 0x0a, 0x04, 0x50, 0x65, 0x65, 0x72, + 0x12, 0x2e, 0x0a, 0x07, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, + 0x32, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x49, 0x64, 0x52, 0x06, 0x70, 0x65, 0x65, 0x72, 0x49, 0x64, + 0x12, 0x45, 0x0a, 0x0e, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, + 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x70, 0x53, 0x6f, 0x63, 0x6b, 0x65, + 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x0d, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, + 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x4f, 0x0a, 0x0d, 0x6e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, + 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x50, + 0x65, 0x65, 0x72, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x2e, 0x4e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x0c, 0x6e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x3a, 0x0a, 0x0c, 0x62, 0x6f, 0x6f, 0x74, + 0x73, 0x74, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, + 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, + 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, 0x0c, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, + 0x70, 0x70, 0x65, 0x72, 0x12, 0x5d, 0x0a, 0x13, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x63, 0x61, 0x74, + 0x63, 0x68, 0x75, 0x70, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x2b, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, + 0x32, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x50, 0x65, 0x65, 0x72, + 0x2e, 0x43, 0x61, 0x74, 0x63, 0x68, 0x75, 0x70, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x00, + 0x52, 0x11, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x61, 0x74, 0x63, 0x68, 0x75, 0x70, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x1a, 0x76, 0x0a, 0x0c, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x74, + 0x61, 0x74, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x5f, 0x73, + 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x70, 0x61, 0x63, 0x6b, 0x65, + 0x74, 0x73, 0x53, 0x65, 0x6e, 0x74, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, + 0x73, 0x5f, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x0f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, + 0x64, 0x12, 0x18, 0x0a, 0x07, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x07, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x22, 0x3a, 0x0a, 0x0d, 0x43, + 0x61, 0x74, 0x63, 0x68, 0x75, 0x70, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0c, 0x0a, 0x08, + 0x55, 0x50, 0x54, 0x4f, 0x44, 0x41, 0x54, 0x45, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x45, + 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x43, 0x41, 0x54, 0x43, 0x48, + 0x49, 0x4e, 0x47, 0x55, 0x50, 0x10, 0x02, 0x42, 0x10, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x73, 0x65, + 0x6e, 0x73, 0x75, 0x73, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x22, 0x99, 0x0b, 0x0a, 0x08, 0x4e, 0x6f, + 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x76, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x65, + 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x37, 0x0a, 0x0a, 0x6c, 0x6f, 0x63, + 0x61, 0x6c, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, + 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x54, 0x69, + 0x6d, 0x65, 0x12, 0x38, 0x0a, 0x0b, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x75, 0x70, 0x74, 0x69, 0x6d, + 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, + 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x0a, 0x70, 0x65, 0x65, 0x72, 0x55, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x46, 0x0a, 0x0c, + 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, + 0x76, 0x32, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x4e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3a, 0x0a, 0x0c, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, + 0x70, 0x70, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6e, + 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, + 0x48, 0x00, 0x52, 0x0c, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, + 0x12, 0x32, 0x0a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, + 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x4e, + 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x48, 0x00, 0x52, 0x04, + 0x6e, 0x6f, 0x64, 0x65, 0x1a, 0xd3, 0x01, 0x0a, 0x0b, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2e, 0x0a, 0x07, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, + 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x49, 0x64, 0x52, 0x06, 0x6e, 0x6f, + 0x64, 0x65, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x74, 0x6f, 0x74, + 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x70, + 0x65, 0x65, 0x72, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x65, 0x6e, 0x74, 0x12, 0x2e, 0x0a, 0x13, + 0x70, 0x65, 0x65, 0x72, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x63, 0x65, 0x69, + 0x76, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x11, 0x70, 0x65, 0x65, 0x72, 0x54, + 0x6f, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x12, 0x1c, 0x0a, 0x0a, + 0x61, 0x76, 0x67, 0x5f, 0x62, 0x70, 0x73, 0x5f, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x08, 0x61, 0x76, 0x67, 0x42, 0x70, 0x73, 0x49, 0x6e, 0x12, 0x1e, 0x0a, 0x0b, 0x61, 0x76, + 0x67, 0x5f, 0x62, 0x70, 0x73, 0x5f, 0x6f, 0x75, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x09, 0x61, 0x76, 0x67, 0x42, 0x70, 0x73, 0x4f, 0x75, 0x74, 0x1a, 0x8f, 0x05, 0x0a, 0x12, 0x42, + 0x61, 0x6b, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x49, 0x6e, 0x66, + 0x6f, 0x12, 0x31, 0x0a, 0x08, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, + 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x49, 0x64, 0x52, 0x07, 0x62, 0x61, 0x6b, + 0x65, 0x72, 0x49, 0x64, 0x12, 0x77, 0x0a, 0x16, 0x70, 0x61, 0x73, 0x73, 0x69, 0x76, 0x65, 0x5f, + 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3f, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, + 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x49, 0x6e, 0x66, 0x6f, - 0x12, 0x31, 0x0a, 0x08, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, - 0x76, 0x32, 0x2e, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x49, 0x64, 0x52, 0x07, 0x62, 0x61, 0x6b, 0x65, - 0x72, 0x49, 0x64, 0x12, 0x77, 0x0a, 0x16, 0x70, 0x61, 0x73, 0x73, 0x69, 0x76, 0x65, 0x5f, 0x63, - 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x3f, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, + 0x2e, 0x50, 0x61, 0x73, 0x73, 0x69, 0x76, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, + 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x14, 0x70, 0x61, 0x73, 0x73, 0x69, 0x76, 0x65, + 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x84, 0x01, + 0x0a, 0x1b, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x63, + 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x2e, - 0x50, 0x61, 0x73, 0x73, 0x69, 0x76, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, - 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x14, 0x70, 0x61, 0x73, 0x73, 0x69, 0x76, 0x65, 0x43, - 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x84, 0x01, 0x0a, - 0x1b, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x63, 0x6f, - 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, - 0x76, 0x32, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x42, 0x61, 0x6b, 0x65, - 0x72, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x41, - 0x63, 0x74, 0x69, 0x76, 0x65, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, - 0x74, 0x65, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x18, 0x61, 0x63, 0x74, 0x69, 0x76, + 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x6d, 0x69, + 0x74, 0x74, 0x65, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x18, 0x61, 0x63, 0x74, 0x69, + 0x76, 0x65, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, + 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x90, 0x01, 0x0a, 0x1f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, + 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, + 0x74, 0x65, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x47, + 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x4e, + 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x43, 0x6f, 0x6e, + 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, + 0x74, 0x65, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x1c, 0x61, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, + 0x74, 0x65, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x1a, 0x1a, 0x0a, 0x18, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x49, - 0x6e, 0x66, 0x6f, 0x12, 0x90, 0x01, 0x0a, 0x1f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x66, - 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, - 0x65, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x47, 0x2e, - 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x4e, 0x6f, - 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x73, - 0x65, 0x6e, 0x73, 0x75, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, - 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, - 0x65, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x1c, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, - 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, - 0x65, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x1a, 0x1a, 0x0a, 0x18, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, - 0x42, 0x61, 0x6b, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x49, 0x6e, - 0x66, 0x6f, 0x1a, 0x1e, 0x0a, 0x1c, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x46, 0x69, 0x6e, 0x61, - 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x49, 0x6e, - 0x66, 0x6f, 0x22, 0x6d, 0x0a, 0x14, 0x50, 0x61, 0x73, 0x73, 0x69, 0x76, 0x65, 0x43, 0x6f, 0x6d, - 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x14, 0x0a, 0x10, 0x4e, 0x4f, - 0x54, 0x5f, 0x49, 0x4e, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x54, 0x45, 0x45, 0x10, 0x00, - 0x12, 0x25, 0x0a, 0x21, 0x41, 0x44, 0x44, 0x45, 0x44, 0x5f, 0x42, 0x55, 0x54, 0x5f, 0x4e, 0x4f, - 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x49, 0x4e, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, - 0x49, 0x54, 0x54, 0x45, 0x45, 0x10, 0x01, 0x12, 0x18, 0x0a, 0x14, 0x41, 0x44, 0x44, 0x45, 0x44, - 0x5f, 0x42, 0x55, 0x54, 0x5f, 0x57, 0x52, 0x4f, 0x4e, 0x47, 0x5f, 0x4b, 0x45, 0x59, 0x53, 0x10, - 0x02, 0x42, 0x08, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x1a, 0xcb, 0x01, 0x0a, 0x04, - 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x37, 0x0a, 0x0b, 0x6e, 0x6f, 0x74, 0x5f, 0x72, 0x75, 0x6e, 0x6e, - 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x63, - 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, - 0x00, 0x52, 0x0a, 0x6e, 0x6f, 0x74, 0x52, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x12, 0x30, 0x0a, - 0x07, 0x70, 0x61, 0x73, 0x73, 0x69, 0x76, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, - 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, - 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, 0x07, 0x70, 0x61, 0x73, 0x73, 0x69, 0x76, 0x65, 0x12, - 0x44, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x2a, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, - 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x43, 0x6f, - 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x06, 0x61, - 0x63, 0x74, 0x69, 0x76, 0x65, 0x42, 0x12, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, - 0x75, 0x73, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x09, 0x0a, 0x07, 0x64, 0x65, 0x74, - 0x61, 0x69, 0x6c, 0x73, 0x22, 0xa9, 0x02, 0x0a, 0x14, 0x53, 0x65, 0x6e, 0x64, 0x42, 0x6c, 0x6f, - 0x63, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x54, 0x0a, - 0x13, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x6f, 0x6e, - 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, - 0x12, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x5a, 0x0a, 0x15, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, - 0x6c, 0x5f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, - 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x44, 0x65, 0x70, - 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x14, 0x63, 0x72, 0x65, 0x64, 0x65, - 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, - 0x51, 0x0a, 0x12, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x72, 0x75, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x6f, - 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, - 0x11, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x69, 0x74, 0x65, 0x6d, - 0x22, 0x8b, 0x01, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x44, - 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x45, 0x0a, 0x0e, 0x6d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, - 0x32, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, - 0x65, 0x52, 0x0d, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x45, 0x78, 0x70, 0x69, 0x72, 0x79, - 0x12, 0x21, 0x0a, 0x0b, 0x72, 0x61, 0x77, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x0a, 0x72, 0x61, 0x77, 0x50, 0x61, 0x79, 0x6c, - 0x6f, 0x61, 0x64, 0x42, 0x09, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x22, 0x21, - 0x0a, 0x09, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x22, 0xb4, 0x01, 0x0a, 0x0c, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4d, - 0x61, 0x70, 0x12, 0x4b, 0x0a, 0x0a, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, - 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, - 0x4d, 0x61, 0x70, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x45, 0x6e, - 0x74, 0x72, 0x79, 0x52, 0x0a, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x1a, - 0x57, 0x0a, 0x0f, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2e, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, - 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xc2, 0x01, 0x0a, 0x13, 0x41, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4d, 0x61, 0x70, - 0x12, 0x52, 0x0a, 0x0a, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, - 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x69, 0x67, 0x6e, - 0x61, 0x74, 0x75, 0x72, 0x65, 0x4d, 0x61, 0x70, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, - 0x72, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, - 0x75, 0x72, 0x65, 0x73, 0x1a, 0x57, 0x0a, 0x0f, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, - 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2e, 0x0a, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, - 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, - 0x72, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xdc, 0x01, - 0x0a, 0x1b, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x5a, 0x0a, - 0x0a, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x3a, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, - 0x32, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x53, 0x69, - 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x73, - 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x1a, 0x61, 0x0a, 0x0f, 0x53, 0x69, 0x67, - 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, - 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x38, - 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, - 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, + 0x6e, 0x66, 0x6f, 0x1a, 0x1e, 0x0a, 0x1c, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x46, 0x69, 0x6e, + 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x49, + 0x6e, 0x66, 0x6f, 0x22, 0x6d, 0x0a, 0x14, 0x50, 0x61, 0x73, 0x73, 0x69, 0x76, 0x65, 0x43, 0x6f, + 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x14, 0x0a, 0x10, 0x4e, + 0x4f, 0x54, 0x5f, 0x49, 0x4e, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x54, 0x45, 0x45, 0x10, + 0x00, 0x12, 0x25, 0x0a, 0x21, 0x41, 0x44, 0x44, 0x45, 0x44, 0x5f, 0x42, 0x55, 0x54, 0x5f, 0x4e, + 0x4f, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x49, 0x4e, 0x5f, 0x43, 0x4f, 0x4d, + 0x4d, 0x49, 0x54, 0x54, 0x45, 0x45, 0x10, 0x01, 0x12, 0x18, 0x0a, 0x14, 0x41, 0x44, 0x44, 0x45, + 0x44, 0x5f, 0x42, 0x55, 0x54, 0x5f, 0x57, 0x52, 0x4f, 0x4e, 0x47, 0x5f, 0x4b, 0x45, 0x59, 0x53, + 0x10, 0x02, 0x42, 0x08, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x1a, 0xcb, 0x01, 0x0a, + 0x04, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x37, 0x0a, 0x0b, 0x6e, 0x6f, 0x74, 0x5f, 0x72, 0x75, 0x6e, + 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6e, + 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, + 0x48, 0x00, 0x52, 0x0a, 0x6e, 0x6f, 0x74, 0x52, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x12, 0x30, + 0x0a, 0x07, 0x70, 0x61, 0x73, 0x73, 0x69, 0x76, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, + 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, 0x07, 0x70, 0x61, 0x73, 0x73, 0x69, 0x76, 0x65, + 0x12, 0x44, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x2a, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, + 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x43, + 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x06, + 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x42, 0x12, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x6e, + 0x73, 0x75, 0x73, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x09, 0x0a, 0x07, 0x64, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0xa9, 0x02, 0x0a, 0x14, 0x53, 0x65, 0x6e, 0x64, 0x42, 0x6c, + 0x6f, 0x63, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x54, + 0x0a, 0x13, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x6f, + 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, + 0x52, 0x12, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x5a, 0x0a, 0x15, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, + 0x61, 0x6c, 0x5f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, + 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x44, 0x65, + 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x14, 0x63, 0x72, 0x65, 0x64, + 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, + 0x12, 0x51, 0x0a, 0x12, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x72, + 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, + 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, + 0x52, 0x11, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x69, 0x74, 0x65, + 0x6d, 0x22, 0x8b, 0x01, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, + 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x45, 0x0a, 0x0e, 0x6d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, + 0x76, 0x32, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, + 0x6d, 0x65, 0x52, 0x0d, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x45, 0x78, 0x70, 0x69, 0x72, + 0x79, 0x12, 0x21, 0x0a, 0x0b, 0x72, 0x61, 0x77, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x0a, 0x72, 0x61, 0x77, 0x50, 0x61, 0x79, + 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x09, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x22, + 0x21, 0x0a, 0x09, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x14, 0x0a, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x22, 0xb4, 0x01, 0x0a, 0x0c, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x4d, 0x61, 0x70, 0x12, 0x4b, 0x0a, 0x0a, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, + 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, + 0x65, 0x4d, 0x61, 0x70, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, + 0x1a, 0x57, 0x0a, 0x0f, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2e, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, + 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xc2, 0x01, 0x0a, 0x13, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4d, 0x61, - 0x70, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x8d, 0x02, 0x0a, - 0x18, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x35, 0x0a, 0x06, 0x73, 0x65, 0x6e, - 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, - 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, - 0x12, 0x46, 0x0a, 0x0f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x6e, 0x75, 0x6d, - 0x62, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, - 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, - 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x0e, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, - 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x3a, 0x0a, 0x0d, 0x65, 0x6e, 0x65, 0x72, - 0x67, 0x79, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, - 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x52, 0x0c, 0x65, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x41, 0x6d, - 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x36, 0x0a, 0x06, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, - 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x54, 0x69, 0x6d, 0x65, 0x52, 0x06, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x22, 0xeb, 0x01, 0x0a, - 0x13, 0x49, 0x6e, 0x69, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x50, 0x61, 0x79, - 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x2d, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, - 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x06, 0x61, 0x6d, 0x6f, - 0x75, 0x6e, 0x74, 0x12, 0x37, 0x0a, 0x0a, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x72, 0x65, - 0x66, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, - 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x65, - 0x66, 0x52, 0x09, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x66, 0x12, 0x34, 0x0a, 0x09, - 0x69, 0x6e, 0x69, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x17, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, - 0x49, 0x6e, 0x69, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x08, 0x69, 0x6e, 0x69, 0x74, 0x4e, 0x61, - 0x6d, 0x65, 0x12, 0x36, 0x0a, 0x09, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, - 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x52, - 0x09, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x22, 0xf7, 0x01, 0x0a, 0x15, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x50, 0x61, 0x79, - 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x2d, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, - 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x06, 0x61, 0x6d, 0x6f, - 0x75, 0x6e, 0x74, 0x12, 0x38, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, - 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x41, 0x64, 0x64, - 0x72, 0x65, 0x73, 0x73, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x3d, 0x0a, - 0x0c, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, - 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x52, - 0x0b, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x36, 0x0a, 0x09, - 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x18, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, - 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x52, 0x09, 0x70, 0x61, 0x72, 0x61, 0x6d, - 0x65, 0x74, 0x65, 0x72, 0x22, 0x7b, 0x0a, 0x0f, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, - 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x2d, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, - 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, - 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x06, - 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x39, 0x0a, 0x08, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, - 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, - 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x08, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, - 0x72, 0x22, 0xac, 0x01, 0x0a, 0x17, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x57, 0x69, - 0x74, 0x68, 0x4d, 0x65, 0x6d, 0x6f, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x2d, 0x0a, - 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, - 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, - 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x39, 0x0a, 0x08, - 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, + 0x70, 0x12, 0x52, 0x0a, 0x0a, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, + 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x69, 0x67, + 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4d, 0x61, 0x70, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x73, 0x69, 0x67, 0x6e, 0x61, + 0x74, 0x75, 0x72, 0x65, 0x73, 0x1a, 0x57, 0x0a, 0x0f, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, + 0x72, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2e, 0x0a, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6f, 0x6e, 0x63, + 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xdc, + 0x01, 0x0a, 0x1b, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x5a, + 0x0a, 0x0a, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, + 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x53, + 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, + 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x1a, 0x61, 0x0a, 0x0f, 0x53, 0x69, + 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, + 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, + 0x38, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x08, 0x72, - 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x12, 0x27, 0x0a, 0x04, 0x6d, 0x65, 0x6d, 0x6f, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, - 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x65, 0x6d, 0x6f, 0x52, 0x04, 0x6d, 0x65, 0x6d, 0x6f, - 0x22, 0x8e, 0x04, 0x0a, 0x19, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x6e, - 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x21, - 0x0a, 0x0b, 0x72, 0x61, 0x77, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x0a, 0x72, 0x61, 0x77, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, - 0x64, 0x12, 0x4b, 0x0a, 0x0d, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x5f, 0x6d, 0x6f, 0x64, 0x75, - 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, - 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x65, 0x64, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x00, - 0x52, 0x0c, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x49, - 0x0a, 0x0d, 0x69, 0x6e, 0x69, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, - 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6e, 0x69, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, - 0x63, 0x74, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x48, 0x00, 0x52, 0x0c, 0x69, 0x6e, 0x69, - 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x12, 0x4f, 0x0a, 0x0f, 0x75, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, - 0x76, 0x32, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, - 0x74, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x48, 0x00, 0x52, 0x0e, 0x75, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x12, 0x3c, 0x0a, 0x08, 0x74, 0x72, - 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, - 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x72, 0x61, - 0x6e, 0x73, 0x66, 0x65, 0x72, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x48, 0x00, 0x52, 0x08, - 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x12, 0x56, 0x0a, 0x12, 0x74, 0x72, 0x61, 0x6e, - 0x73, 0x66, 0x65, 0x72, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x6d, 0x65, 0x6d, 0x6f, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, - 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x57, 0x69, 0x74, - 0x68, 0x4d, 0x65, 0x6d, 0x6f, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x48, 0x00, 0x52, 0x10, - 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x57, 0x69, 0x74, 0x68, 0x4d, 0x65, 0x6d, 0x6f, - 0x12, 0x44, 0x0a, 0x0d, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x64, 0x61, 0x74, - 0x61, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, - 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, - 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x0c, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, - 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x42, 0x09, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, - 0x64, 0x22, 0x9c, 0x01, 0x0a, 0x15, 0x50, 0x72, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3f, 0x0a, 0x06, 0x68, - 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x6f, - 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x65, - 0x61, 0x64, 0x65, 0x72, 0x52, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x42, 0x0a, 0x07, - 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, - 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, - 0x22, 0xe3, 0x01, 0x0a, 0x12, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x6e, - 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x48, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, - 0x74, 0x75, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x63, 0x6f, 0x6e, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4d, + 0x61, 0x70, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x8d, 0x02, + 0x0a, 0x18, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x35, 0x0a, 0x06, 0x73, 0x65, + 0x6e, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x69, 0x67, - 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, - 0x65, 0x12, 0x3f, 0x0a, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, - 0x32, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x06, 0x68, 0x65, 0x61, 0x64, - 0x65, 0x72, 0x12, 0x42, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, - 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, - 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x07, 0x70, - 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x22, 0xe8, 0x01, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x49, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x61, 0x64, - 0x65, 0x72, 0x12, 0x4c, 0x0a, 0x0f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x6e, - 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x6f, - 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, - 0x52, 0x0e, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, - 0x12, 0x45, 0x0a, 0x0e, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x74, 0x69, - 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, - 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x0d, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, - 0x69, 0x76, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x38, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, - 0x75, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, - 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, - 0x74, 0x22, 0x48, 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x72, - 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x21, 0x0a, - 0x0b, 0x72, 0x61, 0x77, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0c, 0x48, 0x00, 0x52, 0x0a, 0x72, 0x61, 0x77, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, - 0x42, 0x09, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x22, 0xd3, 0x01, 0x0a, 0x11, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x3b, 0x0a, 0x0a, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, - 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4d, - 0x61, 0x70, 0x52, 0x0a, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x3e, - 0x0a, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, - 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x41, - 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x27, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, - 0x64, 0x22, 0x32, 0x0a, 0x1a, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x6e, - 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x69, 0x67, 0x6e, 0x48, 0x61, 0x73, 0x68, 0x12, - 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x30, 0x0a, 0x18, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, - 0x69, 0x61, 0x6c, 0x73, 0x50, 0x65, 0x72, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x4c, 0x69, 0x6d, 0x69, - 0x74, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x80, 0x08, 0x0a, 0x11, 0x43, 0x68, 0x61, 0x69, - 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x56, 0x30, 0x12, 0x52, 0x0a, - 0x13, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, - 0x75, 0x6c, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x6f, 0x6e, - 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6c, 0x65, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x52, 0x12, 0x65, - 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, - 0x79, 0x12, 0x43, 0x0a, 0x0f, 0x65, 0x75, 0x72, 0x6f, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x65, 0x6e, - 0x65, 0x72, 0x67, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6e, - 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x78, 0x63, 0x68, 0x61, - 0x6e, 0x67, 0x65, 0x52, 0x61, 0x74, 0x65, 0x52, 0x0d, 0x65, 0x75, 0x72, 0x6f, 0x50, 0x65, 0x72, - 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x12, 0x48, 0x0a, 0x12, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x5f, - 0x63, 0x63, 0x64, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x65, 0x75, 0x72, 0x6f, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, - 0x76, 0x32, 0x2e, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x61, 0x74, 0x65, 0x52, - 0x0f, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x43, 0x63, 0x64, 0x50, 0x65, 0x72, 0x45, 0x75, 0x72, 0x6f, - 0x12, 0x48, 0x0a, 0x15, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6f, 0x6c, 0x64, 0x6f, - 0x77, 0x6e, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, - 0x45, 0x70, 0x6f, 0x63, 0x68, 0x52, 0x13, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x43, 0x6f, 0x6f, 0x6c, - 0x64, 0x6f, 0x77, 0x6e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x73, 0x12, 0x5d, 0x0a, 0x16, 0x61, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, - 0x69, 0x6d, 0x69, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x6f, 0x6e, - 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x64, 0x65, - 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x50, 0x65, 0x72, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x4c, 0x69, - 0x6d, 0x69, 0x74, 0x52, 0x14, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x50, 0x0a, 0x11, 0x6d, 0x69, 0x6e, - 0x74, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, - 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x69, 0x6e, 0x74, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x70, 0x76, 0x30, 0x52, 0x10, 0x6d, 0x69, 0x6e, 0x74, 0x44, - 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x6b, 0x0a, 0x1c, 0x74, - 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x64, - 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, - 0x32, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x65, 0x65, - 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x1a, 0x74, 0x72, - 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x65, 0x65, 0x44, 0x69, 0x73, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3a, 0x0a, 0x0b, 0x67, 0x61, 0x73, 0x5f, - 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, - 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x61, - 0x73, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x52, 0x0a, 0x67, 0x61, 0x73, 0x52, 0x65, 0x77, - 0x61, 0x72, 0x64, 0x73, 0x12, 0x4c, 0x0a, 0x12, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, - 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, - 0x11, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x12, 0x56, 0x0a, 0x1c, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x74, 0x68, - 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x62, 0x61, 0x6b, 0x69, - 0x6e, 0x67, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, + 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, + 0x72, 0x12, 0x46, 0x0a, 0x0f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x6e, 0x75, + 0x6d, 0x62, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, + 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x65, 0x71, 0x75, 0x65, + 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x0e, 0x73, 0x65, 0x71, 0x75, 0x65, + 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x3a, 0x0a, 0x0d, 0x65, 0x6e, 0x65, + 0x72, 0x67, 0x79, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, + 0x2e, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x52, 0x0c, 0x65, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x41, + 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x36, 0x0a, 0x06, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, + 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x06, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x22, 0xeb, 0x01, + 0x0a, 0x13, 0x49, 0x6e, 0x69, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x50, 0x61, + 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x2d, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, + 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x06, 0x61, 0x6d, + 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x37, 0x0a, 0x0a, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x72, + 0x65, 0x66, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, + 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x52, + 0x65, 0x66, 0x52, 0x09, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x66, 0x12, 0x34, 0x0a, + 0x09, 0x69, 0x6e, 0x69, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x17, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, + 0x2e, 0x49, 0x6e, 0x69, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x08, 0x69, 0x6e, 0x69, 0x74, 0x4e, + 0x61, 0x6d, 0x65, 0x12, 0x36, 0x0a, 0x09, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, + 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, + 0x52, 0x09, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x22, 0xf7, 0x01, 0x0a, 0x15, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x50, 0x61, + 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x2d, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, + 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x06, 0x61, 0x6d, + 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x38, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, + 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x41, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x3d, + 0x0a, 0x0c, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, + 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x4e, 0x61, 0x6d, 0x65, + 0x52, 0x0b, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x36, 0x0a, + 0x09, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x18, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, + 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x52, 0x09, 0x70, 0x61, 0x72, 0x61, + 0x6d, 0x65, 0x74, 0x65, 0x72, 0x22, 0x7b, 0x0a, 0x0f, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, + 0x72, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x2d, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, + 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, - 0x19, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, - 0x64, 0x46, 0x6f, 0x72, 0x42, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x12, 0x3b, 0x0a, 0x09, 0x72, 0x6f, - 0x6f, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, - 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x69, - 0x67, 0x68, 0x65, 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x08, 0x72, - 0x6f, 0x6f, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x3f, 0x0a, 0x0b, 0x6c, 0x65, 0x76, 0x65, 0x6c, - 0x31, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, - 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x69, 0x67, - 0x68, 0x65, 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x0a, 0x6c, 0x65, - 0x76, 0x65, 0x6c, 0x31, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x40, 0x0a, 0x0b, 0x6c, 0x65, 0x76, 0x65, - 0x6c, 0x32, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, - 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x75, - 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x56, 0x30, 0x52, 0x0a, - 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x32, 0x4b, 0x65, 0x79, 0x73, 0x22, 0xce, 0x08, 0x0a, 0x11, 0x43, - 0x68, 0x61, 0x69, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x56, 0x31, - 0x12, 0x52, 0x0a, 0x13, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x69, 0x66, - 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, - 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6c, - 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, - 0x52, 0x12, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x66, 0x66, 0x69, 0x63, - 0x75, 0x6c, 0x74, 0x79, 0x12, 0x43, 0x0a, 0x0f, 0x65, 0x75, 0x72, 0x6f, 0x5f, 0x70, 0x65, 0x72, - 0x5f, 0x65, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, - 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x78, - 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x61, 0x74, 0x65, 0x52, 0x0d, 0x65, 0x75, 0x72, 0x6f, - 0x50, 0x65, 0x72, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x12, 0x48, 0x0a, 0x12, 0x6d, 0x69, 0x63, - 0x72, 0x6f, 0x5f, 0x63, 0x63, 0x64, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x65, 0x75, 0x72, 0x6f, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, - 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x61, - 0x74, 0x65, 0x52, 0x0f, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x43, 0x63, 0x64, 0x50, 0x65, 0x72, 0x45, - 0x75, 0x72, 0x6f, 0x12, 0x56, 0x0a, 0x13, 0x63, 0x6f, 0x6f, 0x6c, 0x64, 0x6f, 0x77, 0x6e, 0x5f, - 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x25, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, - 0x2e, 0x43, 0x6f, 0x6f, 0x6c, 0x64, 0x6f, 0x77, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, - 0x65, 0x72, 0x73, 0x43, 0x70, 0x76, 0x31, 0x52, 0x12, 0x63, 0x6f, 0x6f, 0x6c, 0x64, 0x6f, 0x77, - 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x4a, 0x0a, 0x0f, 0x74, - 0x69, 0x6d, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, - 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, - 0x65, 0x72, 0x73, 0x43, 0x70, 0x76, 0x31, 0x52, 0x0e, 0x74, 0x69, 0x6d, 0x65, 0x50, 0x61, 0x72, - 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x5d, 0x0a, 0x16, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x69, 0x6d, 0x69, - 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, - 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, - 0x61, 0x6c, 0x73, 0x50, 0x65, 0x72, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x4c, 0x69, 0x6d, 0x69, 0x74, - 0x52, 0x14, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x50, 0x0a, 0x11, 0x6d, 0x69, 0x6e, 0x74, 0x5f, 0x64, - 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, - 0x32, 0x2e, 0x4d, 0x69, 0x6e, 0x74, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, - 0x6f, 0x6e, 0x43, 0x70, 0x76, 0x31, 0x52, 0x10, 0x6d, 0x69, 0x6e, 0x74, 0x44, 0x69, 0x73, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x6b, 0x0a, 0x1c, 0x74, 0x72, 0x61, 0x6e, - 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x64, 0x69, 0x73, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, - 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x54, + 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x39, 0x0a, 0x08, 0x72, 0x65, 0x63, 0x65, 0x69, + 0x76, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, + 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x08, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, + 0x65, 0x72, 0x22, 0xac, 0x01, 0x0a, 0x17, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x57, + 0x69, 0x74, 0x68, 0x4d, 0x65, 0x6d, 0x6f, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x2d, + 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, + 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, + 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x39, 0x0a, + 0x08, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, + 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x08, + 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x12, 0x27, 0x0a, 0x04, 0x6d, 0x65, 0x6d, 0x6f, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, + 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x65, 0x6d, 0x6f, 0x52, 0x04, 0x6d, 0x65, 0x6d, + 0x6f, 0x22, 0x8e, 0x04, 0x0a, 0x19, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x72, 0x61, + 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, + 0x21, 0x0a, 0x0b, 0x72, 0x61, 0x77, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x0a, 0x72, 0x61, 0x77, 0x50, 0x61, 0x79, 0x6c, 0x6f, + 0x61, 0x64, 0x12, 0x4b, 0x0a, 0x0d, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x5f, 0x6d, 0x6f, 0x64, + 0x75, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x6f, 0x6e, 0x63, + 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x65, 0x64, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, + 0x00, 0x52, 0x0c, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x12, + 0x49, 0x0a, 0x0d, 0x69, 0x6e, 0x69, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, + 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6e, 0x69, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, + 0x61, 0x63, 0x74, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x48, 0x00, 0x52, 0x0c, 0x69, 0x6e, + 0x69, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x12, 0x4f, 0x0a, 0x0f, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, + 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, + 0x63, 0x74, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x48, 0x00, 0x52, 0x0e, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x12, 0x3c, 0x0a, 0x08, 0x74, + 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, + 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x72, + 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x48, 0x00, 0x52, + 0x08, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x12, 0x56, 0x0a, 0x12, 0x74, 0x72, 0x61, + 0x6e, 0x73, 0x66, 0x65, 0x72, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x6d, 0x65, 0x6d, 0x6f, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, + 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x57, 0x69, + 0x74, 0x68, 0x4d, 0x65, 0x6d, 0x6f, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x48, 0x00, 0x52, + 0x10, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x57, 0x69, 0x74, 0x68, 0x4d, 0x65, 0x6d, + 0x6f, 0x12, 0x44, 0x0a, 0x0d, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x64, 0x61, + 0x74, 0x61, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, + 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, + 0x72, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x0c, 0x72, 0x65, 0x67, 0x69, 0x73, + 0x74, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x42, 0x09, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, + 0x61, 0x64, 0x22, 0x9c, 0x01, 0x0a, 0x15, 0x50, 0x72, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3f, 0x0a, 0x06, + 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, + 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, + 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x42, 0x0a, + 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, + 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, + 0x64, 0x22, 0xe3, 0x01, 0x0a, 0x12, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x72, 0x61, + 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x48, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, + 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x63, 0x6f, + 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x69, + 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, + 0x72, 0x65, 0x12, 0x3f, 0x0a, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, + 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x06, 0x68, 0x65, 0x61, + 0x64, 0x65, 0x72, 0x12, 0x42, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, + 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x6e, + 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x07, + 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x22, 0xe8, 0x01, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x61, + 0x64, 0x65, 0x72, 0x12, 0x4c, 0x0a, 0x0f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x5f, + 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, + 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, + 0x72, 0x52, 0x0e, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, + 0x72, 0x12, 0x45, 0x0a, 0x0e, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, + 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x0d, 0x65, 0x66, 0x66, 0x65, 0x63, + 0x74, 0x69, 0x76, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x38, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, + 0x6f, 0x75, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, + 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, + 0x75, 0x74, 0x22, 0x48, 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, + 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x21, + 0x0a, 0x0b, 0x72, 0x61, 0x77, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x0a, 0x72, 0x61, 0x77, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, + 0x64, 0x42, 0x09, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x22, 0xd3, 0x01, 0x0a, + 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x3b, 0x0a, 0x0a, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, + 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x4d, 0x61, 0x70, 0x52, 0x0a, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, + 0x3e, 0x0a, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x26, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, + 0x41, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x27, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, + 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, + 0x61, 0x64, 0x22, 0x32, 0x0a, 0x1a, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x72, 0x61, + 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x69, 0x67, 0x6e, 0x48, 0x61, 0x73, 0x68, + 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x30, 0x0a, 0x18, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, + 0x74, 0x69, 0x61, 0x6c, 0x73, 0x50, 0x65, 0x72, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x4c, 0x69, 0x6d, + 0x69, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x80, 0x08, 0x0a, 0x11, 0x43, 0x68, 0x61, + 0x69, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x56, 0x30, 0x12, 0x52, + 0x0a, 0x13, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x69, 0x66, 0x66, 0x69, + 0x63, 0x75, 0x6c, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x6f, + 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6c, 0x65, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x52, 0x12, + 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, + 0x74, 0x79, 0x12, 0x43, 0x0a, 0x0f, 0x65, 0x75, 0x72, 0x6f, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x65, + 0x6e, 0x65, 0x72, 0x67, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, + 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x78, 0x63, 0x68, + 0x61, 0x6e, 0x67, 0x65, 0x52, 0x61, 0x74, 0x65, 0x52, 0x0d, 0x65, 0x75, 0x72, 0x6f, 0x50, 0x65, + 0x72, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x12, 0x48, 0x0a, 0x12, 0x6d, 0x69, 0x63, 0x72, 0x6f, + 0x5f, 0x63, 0x63, 0x64, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x65, 0x75, 0x72, 0x6f, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, + 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x61, 0x74, 0x65, + 0x52, 0x0f, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x43, 0x63, 0x64, 0x50, 0x65, 0x72, 0x45, 0x75, 0x72, + 0x6f, 0x12, 0x48, 0x0a, 0x15, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6f, 0x6c, 0x64, + 0x6f, 0x77, 0x6e, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, + 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x52, 0x13, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x43, 0x6f, 0x6f, + 0x6c, 0x64, 0x6f, 0x77, 0x6e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x73, 0x12, 0x5d, 0x0a, 0x16, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x6f, + 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x64, + 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x50, 0x65, 0x72, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x4c, + 0x69, 0x6d, 0x69, 0x74, 0x52, 0x14, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x50, 0x0a, 0x11, 0x6d, 0x69, + 0x6e, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, + 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x69, 0x6e, 0x74, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, + 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x70, 0x76, 0x30, 0x52, 0x10, 0x6d, 0x69, 0x6e, 0x74, + 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x6b, 0x0a, 0x1c, + 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x65, 0x65, 0x5f, + 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, + 0x76, 0x32, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x65, + 0x65, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x1a, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x65, 0x65, 0x44, 0x69, 0x73, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x1a, 0x74, 0x72, 0x61, 0x6e, 0x73, - 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x65, 0x65, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3a, 0x0a, 0x0b, 0x67, 0x61, 0x73, 0x5f, 0x72, 0x65, 0x77, - 0x61, 0x72, 0x64, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x6e, - 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x61, 0x73, 0x52, 0x65, - 0x77, 0x61, 0x72, 0x64, 0x73, 0x52, 0x0a, 0x67, 0x61, 0x73, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, - 0x73, 0x12, 0x4c, 0x0a, 0x12, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, - 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x11, 0x66, 0x6f, - 0x75, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, - 0x4a, 0x0a, 0x0f, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, - 0x72, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, - 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x6f, 0x6f, 0x6c, 0x50, 0x61, 0x72, - 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x43, 0x70, 0x76, 0x31, 0x52, 0x0e, 0x70, 0x6f, 0x6f, - 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x3b, 0x0a, 0x09, 0x72, - 0x6f, 0x6f, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, + 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3a, 0x0a, 0x0b, 0x67, 0x61, 0x73, + 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, + 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x47, + 0x61, 0x73, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x52, 0x0a, 0x67, 0x61, 0x73, 0x52, 0x65, + 0x77, 0x61, 0x72, 0x64, 0x73, 0x12, 0x4c, 0x0a, 0x12, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, + 0x32, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x52, 0x11, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x12, 0x56, 0x0a, 0x1c, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x74, + 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x62, 0x61, 0x6b, + 0x69, 0x6e, 0x67, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, + 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, + 0x52, 0x19, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, + 0x6c, 0x64, 0x46, 0x6f, 0x72, 0x42, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x12, 0x3b, 0x0a, 0x09, 0x72, + 0x6f, 0x6f, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x69, 0x67, 0x68, 0x65, 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x08, 0x72, 0x6f, 0x6f, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x3f, 0x0a, 0x0b, 0x6c, 0x65, 0x76, 0x65, - 0x6c, 0x31, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, + 0x6c, 0x31, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x69, 0x67, 0x68, 0x65, 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x0a, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x31, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x40, 0x0a, 0x0b, 0x6c, 0x65, 0x76, - 0x65, 0x6c, 0x32, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, + 0x65, 0x6c, 0x32, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, - 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x56, 0x31, 0x52, - 0x0a, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x32, 0x4b, 0x65, 0x79, 0x73, 0x22, 0xd3, 0x09, 0x0a, 0x11, + 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x56, 0x30, 0x52, + 0x0a, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x32, 0x4b, 0x65, 0x79, 0x73, 0x22, 0xce, 0x08, 0x0a, 0x11, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x56, - 0x32, 0x12, 0x57, 0x0a, 0x14, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x5f, 0x70, - 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x24, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, - 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, - 0x65, 0x72, 0x73, 0x56, 0x31, 0x52, 0x13, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, - 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x43, 0x0a, 0x0f, 0x65, 0x75, - 0x72, 0x6f, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x65, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, - 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x61, 0x74, 0x65, - 0x52, 0x0d, 0x65, 0x75, 0x72, 0x6f, 0x50, 0x65, 0x72, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x12, - 0x48, 0x0a, 0x12, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x5f, 0x63, 0x63, 0x64, 0x5f, 0x70, 0x65, 0x72, - 0x5f, 0x65, 0x75, 0x72, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, - 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x78, 0x63, 0x68, - 0x61, 0x6e, 0x67, 0x65, 0x52, 0x61, 0x74, 0x65, 0x52, 0x0f, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x43, - 0x63, 0x64, 0x50, 0x65, 0x72, 0x45, 0x75, 0x72, 0x6f, 0x12, 0x56, 0x0a, 0x13, 0x63, 0x6f, 0x6f, - 0x6c, 0x64, 0x6f, 0x77, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, - 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6f, 0x6c, 0x64, 0x6f, 0x77, 0x6e, 0x50, - 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x43, 0x70, 0x76, 0x31, 0x52, 0x12, 0x63, - 0x6f, 0x6f, 0x6c, 0x64, 0x6f, 0x77, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, - 0x73, 0x12, 0x4a, 0x0a, 0x0f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, - 0x74, 0x65, 0x72, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x6f, 0x6e, - 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x50, - 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x43, 0x70, 0x76, 0x31, 0x52, 0x0e, 0x74, - 0x69, 0x6d, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x5d, 0x0a, - 0x16, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, - 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, - 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x50, 0x65, 0x72, 0x42, 0x6c, 0x6f, 0x63, - 0x6b, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x14, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x50, 0x0a, 0x11, - 0x6d, 0x69, 0x6e, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, - 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x69, 0x6e, 0x74, 0x44, 0x69, 0x73, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x70, 0x76, 0x31, 0x52, 0x10, 0x6d, 0x69, - 0x6e, 0x74, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x6b, - 0x0a, 0x1c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x65, - 0x65, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, - 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x46, 0x65, 0x65, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x1a, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x65, 0x65, 0x44, - 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3e, 0x0a, 0x0b, 0x67, - 0x61, 0x73, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, - 0x2e, 0x47, 0x61, 0x73, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x43, 0x70, 0x76, 0x32, 0x52, - 0x0a, 0x67, 0x61, 0x73, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x12, 0x4c, 0x0a, 0x12, 0x66, - 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, - 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x11, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x4a, 0x0a, 0x0f, 0x70, 0x6f, 0x6f, - 0x6c, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x0b, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, - 0x76, 0x32, 0x2e, 0x50, 0x6f, 0x6f, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, - 0x73, 0x43, 0x70, 0x76, 0x31, 0x52, 0x0e, 0x70, 0x6f, 0x6f, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, - 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x3b, 0x0a, 0x09, 0x72, 0x6f, 0x6f, 0x74, 0x5f, 0x6b, 0x65, - 0x79, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, + 0x31, 0x12, 0x52, 0x0a, 0x13, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x69, + 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, + 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, + 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, + 0x79, 0x52, 0x12, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x66, 0x66, 0x69, + 0x63, 0x75, 0x6c, 0x74, 0x79, 0x12, 0x43, 0x0a, 0x0f, 0x65, 0x75, 0x72, 0x6f, 0x5f, 0x70, 0x65, + 0x72, 0x5f, 0x65, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, + 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, + 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x61, 0x74, 0x65, 0x52, 0x0d, 0x65, 0x75, 0x72, + 0x6f, 0x50, 0x65, 0x72, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x12, 0x48, 0x0a, 0x12, 0x6d, 0x69, + 0x63, 0x72, 0x6f, 0x5f, 0x63, 0x63, 0x64, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x65, 0x75, 0x72, 0x6f, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, + 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, + 0x61, 0x74, 0x65, 0x52, 0x0f, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x43, 0x63, 0x64, 0x50, 0x65, 0x72, + 0x45, 0x75, 0x72, 0x6f, 0x12, 0x56, 0x0a, 0x13, 0x63, 0x6f, 0x6f, 0x6c, 0x64, 0x6f, 0x77, 0x6e, + 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x25, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, + 0x32, 0x2e, 0x43, 0x6f, 0x6f, 0x6c, 0x64, 0x6f, 0x77, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, + 0x74, 0x65, 0x72, 0x73, 0x43, 0x70, 0x76, 0x31, 0x52, 0x12, 0x63, 0x6f, 0x6f, 0x6c, 0x64, 0x6f, + 0x77, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x4a, 0x0a, 0x0f, + 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, + 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, + 0x74, 0x65, 0x72, 0x73, 0x43, 0x70, 0x76, 0x31, 0x52, 0x0e, 0x74, 0x69, 0x6d, 0x65, 0x50, 0x61, + 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x5d, 0x0a, 0x16, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x69, 0x6d, + 0x69, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, + 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, + 0x69, 0x61, 0x6c, 0x73, 0x50, 0x65, 0x72, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x4c, 0x69, 0x6d, 0x69, + 0x74, 0x52, 0x14, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x50, 0x0a, 0x11, 0x6d, 0x69, 0x6e, 0x74, 0x5f, + 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, + 0x76, 0x32, 0x2e, 0x4d, 0x69, 0x6e, 0x74, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, + 0x69, 0x6f, 0x6e, 0x43, 0x70, 0x76, 0x31, 0x52, 0x10, 0x6d, 0x69, 0x6e, 0x74, 0x44, 0x69, 0x73, + 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x6b, 0x0a, 0x1c, 0x74, 0x72, 0x61, + 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x64, 0x69, 0x73, + 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x29, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, + 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x65, 0x65, 0x44, 0x69, + 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x1a, 0x74, 0x72, 0x61, 0x6e, + 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x65, 0x65, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, + 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3a, 0x0a, 0x0b, 0x67, 0x61, 0x73, 0x5f, 0x72, 0x65, + 0x77, 0x61, 0x72, 0x64, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, + 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x61, 0x73, 0x52, + 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x52, 0x0a, 0x67, 0x61, 0x73, 0x52, 0x65, 0x77, 0x61, 0x72, + 0x64, 0x73, 0x12, 0x4c, 0x0a, 0x12, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, + 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x11, 0x66, + 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x12, 0x4a, 0x0a, 0x0f, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, + 0x65, 0x72, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x6f, 0x6e, 0x63, + 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x6f, 0x6f, 0x6c, 0x50, 0x61, + 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x43, 0x70, 0x76, 0x31, 0x52, 0x0e, 0x70, 0x6f, + 0x6f, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x3b, 0x0a, 0x09, + 0x72, 0x6f, 0x6f, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, + 0x48, 0x69, 0x67, 0x68, 0x65, 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x4b, 0x65, 0x79, 0x73, 0x52, + 0x08, 0x72, 0x6f, 0x6f, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x3f, 0x0a, 0x0b, 0x6c, 0x65, 0x76, + 0x65, 0x6c, 0x31, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, + 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x48, + 0x69, 0x67, 0x68, 0x65, 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x0a, + 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x31, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x40, 0x0a, 0x0b, 0x6c, 0x65, + 0x76, 0x65, 0x6c, 0x32, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1f, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, + 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x56, 0x31, + 0x52, 0x0a, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x32, 0x4b, 0x65, 0x79, 0x73, 0x22, 0xd3, 0x09, 0x0a, + 0x11, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, + 0x56, 0x32, 0x12, 0x57, 0x0a, 0x14, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x5f, + 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x24, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, + 0x2e, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, + 0x74, 0x65, 0x72, 0x73, 0x56, 0x31, 0x52, 0x13, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, + 0x73, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x43, 0x0a, 0x0f, 0x65, + 0x75, 0x72, 0x6f, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x65, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, + 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x61, 0x74, + 0x65, 0x52, 0x0d, 0x65, 0x75, 0x72, 0x6f, 0x50, 0x65, 0x72, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, + 0x12, 0x48, 0x0a, 0x12, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x5f, 0x63, 0x63, 0x64, 0x5f, 0x70, 0x65, + 0x72, 0x5f, 0x65, 0x75, 0x72, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, + 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x78, 0x63, + 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x61, 0x74, 0x65, 0x52, 0x0f, 0x6d, 0x69, 0x63, 0x72, 0x6f, + 0x43, 0x63, 0x64, 0x50, 0x65, 0x72, 0x45, 0x75, 0x72, 0x6f, 0x12, 0x56, 0x0a, 0x13, 0x63, 0x6f, + 0x6f, 0x6c, 0x64, 0x6f, 0x77, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, + 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, + 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6f, 0x6c, 0x64, 0x6f, 0x77, 0x6e, + 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x43, 0x70, 0x76, 0x31, 0x52, 0x12, + 0x63, 0x6f, 0x6f, 0x6c, 0x64, 0x6f, 0x77, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, + 0x72, 0x73, 0x12, 0x4a, 0x0a, 0x0f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, + 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x6f, + 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x69, 0x6d, 0x65, + 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x43, 0x70, 0x76, 0x31, 0x52, 0x0e, + 0x74, 0x69, 0x6d, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x5d, + 0x0a, 0x16, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, + 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x43, + 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x50, 0x65, 0x72, 0x42, 0x6c, 0x6f, + 0x63, 0x6b, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x14, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x50, 0x0a, + 0x11, 0x6d, 0x69, 0x6e, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, + 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x69, 0x6e, 0x74, 0x44, 0x69, 0x73, + 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x70, 0x76, 0x31, 0x52, 0x10, 0x6d, + 0x69, 0x6e, 0x74, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x6b, 0x0a, 0x1c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x66, + 0x65, 0x65, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, + 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x46, 0x65, 0x65, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x1a, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x65, 0x65, + 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3e, 0x0a, 0x0b, + 0x67, 0x61, 0x73, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, + 0x32, 0x2e, 0x47, 0x61, 0x73, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x43, 0x70, 0x76, 0x32, + 0x52, 0x0a, 0x67, 0x61, 0x73, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x12, 0x4c, 0x0a, 0x12, + 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, + 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x11, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x4a, 0x0a, 0x0f, 0x70, 0x6f, + 0x6f, 0x6c, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x0b, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, + 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x6f, 0x6f, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, + 0x72, 0x73, 0x43, 0x70, 0x76, 0x31, 0x52, 0x0e, 0x70, 0x6f, 0x6f, 0x6c, 0x50, 0x61, 0x72, 0x61, + 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x3b, 0x0a, 0x09, 0x72, 0x6f, 0x6f, 0x74, 0x5f, 0x6b, + 0x65, 0x79, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, + 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x69, 0x67, 0x68, 0x65, 0x72, + 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x08, 0x72, 0x6f, 0x6f, 0x74, 0x4b, + 0x65, 0x79, 0x73, 0x12, 0x3f, 0x0a, 0x0b, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x31, 0x5f, 0x6b, 0x65, + 0x79, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x69, 0x67, 0x68, 0x65, 0x72, 0x4c, - 0x65, 0x76, 0x65, 0x6c, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x08, 0x72, 0x6f, 0x6f, 0x74, 0x4b, 0x65, - 0x79, 0x73, 0x12, 0x3f, 0x0a, 0x0b, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x31, 0x5f, 0x6b, 0x65, 0x79, - 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, - 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x69, 0x67, 0x68, 0x65, 0x72, 0x4c, 0x65, - 0x76, 0x65, 0x6c, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x0a, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x31, 0x4b, - 0x65, 0x79, 0x73, 0x12, 0x40, 0x0a, 0x0b, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x32, 0x5f, 0x6b, 0x65, - 0x79, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, - 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, - 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x56, 0x31, 0x52, 0x0a, 0x6c, 0x65, 0x76, 0x65, 0x6c, - 0x32, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x7a, 0x0a, 0x21, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x5f, - 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x2e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, - 0x2e, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, - 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, - 0x52, 0x1f, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, + 0x65, 0x76, 0x65, 0x6c, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x0a, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x31, + 0x4b, 0x65, 0x79, 0x73, 0x12, 0x40, 0x0a, 0x0b, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x32, 0x5f, 0x6b, + 0x65, 0x79, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x63, 0x6f, 0x6e, 0x63, + 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, + 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x56, 0x31, 0x52, 0x0a, 0x6c, 0x65, 0x76, 0x65, + 0x6c, 0x32, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x7a, 0x0a, 0x21, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, + 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, + 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x2e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, + 0x32, 0x2e, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, - 0x73, 0x22, 0xbb, 0x01, 0x0a, 0x0f, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, - 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x32, 0x0a, 0x02, 0x76, 0x30, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, - 0x32, 0x2e, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, - 0x73, 0x56, 0x30, 0x48, 0x00, 0x52, 0x02, 0x76, 0x30, 0x12, 0x32, 0x0a, 0x02, 0x76, 0x31, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, - 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, - 0x65, 0x74, 0x65, 0x72, 0x73, 0x56, 0x31, 0x48, 0x00, 0x52, 0x02, 0x76, 0x31, 0x12, 0x32, 0x0a, - 0x02, 0x76, 0x32, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x6f, 0x6e, 0x63, - 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x50, - 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x56, 0x32, 0x48, 0x00, 0x52, 0x02, 0x76, - 0x32, 0x42, 0x0c, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x22, - 0x78, 0x0a, 0x18, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, - 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x50, 0x61, 0x72, 0x74, 0x79, 0x12, 0x2c, 0x0a, 0x05, 0x62, - 0x61, 0x6b, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x6f, 0x6e, - 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x61, 0x6b, 0x65, 0x72, - 0x49, 0x64, 0x52, 0x05, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x77, 0x65, 0x69, - 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, - 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x06, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x22, 0x29, 0x0a, 0x11, 0x46, 0x69, 0x6e, - 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x14, - 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x22, 0xf8, 0x01, 0x0a, 0x13, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x2e, 0x0a, 0x05, - 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6f, - 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x6f, 0x63, - 0x6b, 0x48, 0x61, 0x73, 0x68, 0x52, 0x05, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x36, 0x0a, 0x05, - 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x6f, - 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x46, 0x69, 0x6e, 0x61, - 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x05, 0x69, - 0x6e, 0x64, 0x65, 0x78, 0x12, 0x30, 0x0a, 0x05, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, - 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x52, - 0x05, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x47, 0x0a, 0x0a, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, - 0x7a, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x6f, 0x6e, + 0x73, 0x52, 0x1f, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, + 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, + 0x72, 0x73, 0x22, 0xba, 0x0a, 0x0a, 0x11, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x50, 0x61, 0x72, 0x61, + 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x56, 0x33, 0x12, 0x57, 0x0a, 0x14, 0x63, 0x6f, 0x6e, 0x73, + 0x65, 0x6e, 0x73, 0x75, 0x73, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, + 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, + 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x56, 0x31, 0x52, 0x13, 0x63, 0x6f, + 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, + 0x73, 0x12, 0x43, 0x0a, 0x0f, 0x65, 0x75, 0x72, 0x6f, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x65, 0x6e, + 0x65, 0x72, 0x67, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6e, + 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x78, 0x63, 0x68, 0x61, + 0x6e, 0x67, 0x65, 0x52, 0x61, 0x74, 0x65, 0x52, 0x0d, 0x65, 0x75, 0x72, 0x6f, 0x50, 0x65, 0x72, + 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x12, 0x48, 0x0a, 0x12, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x5f, + 0x63, 0x63, 0x64, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x65, 0x75, 0x72, 0x6f, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, + 0x76, 0x32, 0x2e, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x61, 0x74, 0x65, 0x52, + 0x0f, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x43, 0x63, 0x64, 0x50, 0x65, 0x72, 0x45, 0x75, 0x72, 0x6f, + 0x12, 0x56, 0x0a, 0x13, 0x63, 0x6f, 0x6f, 0x6c, 0x64, 0x6f, 0x77, 0x6e, 0x5f, 0x70, 0x61, 0x72, + 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, + 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, + 0x6f, 0x6c, 0x64, 0x6f, 0x77, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, + 0x43, 0x70, 0x76, 0x31, 0x52, 0x12, 0x63, 0x6f, 0x6f, 0x6c, 0x64, 0x6f, 0x77, 0x6e, 0x50, 0x61, + 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x4a, 0x0a, 0x0f, 0x74, 0x69, 0x6d, 0x65, + 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, + 0x32, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, + 0x43, 0x70, 0x76, 0x31, 0x52, 0x0e, 0x74, 0x69, 0x6d, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, + 0x74, 0x65, 0x72, 0x73, 0x12, 0x5d, 0x0a, 0x16, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, + 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, + 0x50, 0x65, 0x72, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x14, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, + 0x6d, 0x69, 0x74, 0x12, 0x50, 0x0a, 0x11, 0x6d, 0x69, 0x6e, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x74, + 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, + 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x4d, + 0x69, 0x6e, 0x74, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x43, + 0x70, 0x76, 0x31, 0x52, 0x10, 0x6d, 0x69, 0x6e, 0x74, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, + 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x6b, 0x0a, 0x1c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, + 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x6f, + 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x72, 0x61, 0x6e, + 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x65, 0x65, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, + 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x1a, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x46, 0x65, 0x65, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x3e, 0x0a, 0x0b, 0x67, 0x61, 0x73, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, + 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, + 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x61, 0x73, 0x52, 0x65, 0x77, 0x61, 0x72, + 0x64, 0x73, 0x43, 0x70, 0x76, 0x32, 0x52, 0x0a, 0x67, 0x61, 0x73, 0x52, 0x65, 0x77, 0x61, 0x72, + 0x64, 0x73, 0x12, 0x4c, 0x0a, 0x12, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, + 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x11, 0x66, + 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x12, 0x4a, 0x0a, 0x0f, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, + 0x65, 0x72, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x6f, 0x6e, 0x63, + 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x6f, 0x6f, 0x6c, 0x50, 0x61, + 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x43, 0x70, 0x76, 0x31, 0x52, 0x0e, 0x70, 0x6f, + 0x6f, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x3b, 0x0a, 0x09, + 0x72, 0x6f, 0x6f, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, + 0x48, 0x69, 0x67, 0x68, 0x65, 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x4b, 0x65, 0x79, 0x73, 0x52, + 0x08, 0x72, 0x6f, 0x6f, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x3f, 0x0a, 0x0b, 0x6c, 0x65, 0x76, + 0x65, 0x6c, 0x31, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, + 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x48, + 0x69, 0x67, 0x68, 0x65, 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x0a, + 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x31, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x40, 0x0a, 0x0b, 0x6c, 0x65, + 0x76, 0x65, 0x6c, 0x32, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1f, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, + 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x56, 0x31, + 0x52, 0x0a, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x32, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x7a, 0x0a, 0x21, + 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6d, + 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, + 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, + 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x50, 0x61, 0x72, + 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x52, 0x1f, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x50, 0x61, + 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x65, 0x0a, 0x1a, 0x76, 0x61, 0x6c, 0x69, + 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x61, + 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, + 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x56, 0x61, 0x6c, + 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, + 0x65, 0x74, 0x65, 0x72, 0x73, 0x52, 0x18, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, + 0x53, 0x63, 0x6f, 0x72, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x22, + 0xef, 0x01, 0x0a, 0x0f, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, + 0x65, 0x72, 0x73, 0x12, 0x32, 0x0a, 0x02, 0x76, 0x30, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x20, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, + 0x43, 0x68, 0x61, 0x69, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x56, + 0x30, 0x48, 0x00, 0x52, 0x02, 0x76, 0x30, 0x12, 0x32, 0x0a, 0x02, 0x76, 0x31, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, + 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, + 0x65, 0x72, 0x73, 0x56, 0x31, 0x48, 0x00, 0x52, 0x02, 0x76, 0x31, 0x12, 0x32, 0x0a, 0x02, 0x76, + 0x32, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, + 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x50, 0x61, 0x72, + 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x56, 0x32, 0x48, 0x00, 0x52, 0x02, 0x76, 0x32, 0x12, + 0x32, 0x0a, 0x02, 0x76, 0x33, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x6f, + 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x68, 0x61, 0x69, + 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x56, 0x33, 0x48, 0x00, 0x52, + 0x02, 0x76, 0x33, 0x42, 0x0c, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, + 0x73, 0x22, 0x78, 0x0a, 0x18, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x50, 0x61, 0x72, 0x74, 0x79, 0x12, 0x2c, 0x0a, + 0x05, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, + 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x61, 0x6b, + 0x65, 0x72, 0x49, 0x64, 0x52, 0x05, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x77, + 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x77, 0x65, 0x69, + 0x67, 0x68, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x06, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x22, 0x29, 0x0a, 0x11, 0x46, + 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x64, 0x65, 0x78, + 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xf8, 0x01, 0x0a, 0x13, 0x46, 0x69, 0x6e, 0x61, 0x6c, + 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x2e, + 0x0a, 0x05, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, + 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, + 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x52, 0x05, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x36, + 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, + 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x46, 0x69, + 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, + 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x30, 0x0a, 0x05, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, + 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, + 0x74, 0x52, 0x05, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x47, 0x0a, 0x0a, 0x66, 0x69, 0x6e, 0x61, + 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, + 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x46, 0x69, 0x6e, + 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, + 0x50, 0x61, 0x72, 0x74, 0x79, 0x52, 0x0a, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, + 0x73, 0x22, 0x8f, 0x01, 0x0a, 0x18, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x46, 0x69, 0x6e, 0x61, 0x6c, + 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x2a, + 0x0a, 0x04, 0x6e, 0x6f, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, + 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6d, 0x70, + 0x74, 0x79, 0x48, 0x00, 0x52, 0x04, 0x6e, 0x6f, 0x6e, 0x65, 0x12, 0x3c, 0x0a, 0x06, 0x72, 0x65, + 0x63, 0x6f, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x46, 0x69, 0x6e, 0x61, 0x6c, - 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x50, 0x61, - 0x72, 0x74, 0x79, 0x52, 0x0a, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x73, 0x22, - 0x8f, 0x01, 0x0a, 0x18, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x2a, 0x0a, 0x04, - 0x6e, 0x6f, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6e, - 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, - 0x48, 0x00, 0x52, 0x04, 0x6e, 0x6f, 0x6e, 0x65, 0x12, 0x3c, 0x0a, 0x06, 0x72, 0x65, 0x63, 0x6f, - 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, - 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x48, 0x00, 0x52, 0x06, - 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x42, 0x09, 0x0a, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, - 0x79, 0x22, 0xd2, 0x02, 0x0a, 0x09, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x12, - 0x32, 0x0a, 0x04, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, - 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x72, - 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x61, 0x73, 0x68, 0x52, 0x04, 0x68, - 0x61, 0x73, 0x68, 0x12, 0x54, 0x0a, 0x13, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x74, - 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x21, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, - 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x12, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x72, - 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x5a, 0x0a, 0x15, 0x63, 0x72, 0x65, - 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, - 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, - 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, - 0x69, 0x61, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, - 0x14, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, - 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x51, 0x0a, 0x12, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, - 0x69, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, - 0x32, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x11, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x73, - 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x62, 0x6c, 0x6f, 0x63, - 0x6b, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x22, 0xf7, 0x02, 0x0a, 0x15, 0x42, 0x61, 0x6b, 0x65, 0x72, - 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x49, 0x6e, 0x66, 0x6f, - 0x12, 0x2e, 0x0a, 0x05, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x18, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, - 0x42, 0x61, 0x6b, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x62, 0x61, 0x6b, 0x65, 0x72, - 0x12, 0x3e, 0x0a, 0x0f, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x74, - 0x61, 0x6b, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, - 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, - 0x52, 0x0e, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, - 0x12, 0x49, 0x0a, 0x10, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x72, - 0x61, 0x74, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, - 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x61, 0x74, 0x65, 0x73, 0x52, 0x0f, 0x63, 0x6f, 0x6d, 0x6d, - 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x61, 0x74, 0x65, 0x73, 0x12, 0x3c, 0x0a, 0x0e, 0x65, - 0x71, 0x75, 0x69, 0x74, 0x79, 0x5f, 0x63, 0x61, 0x70, 0x69, 0x74, 0x61, 0x6c, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, - 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0d, 0x65, 0x71, 0x75, 0x69, - 0x74, 0x79, 0x43, 0x61, 0x70, 0x69, 0x74, 0x61, 0x6c, 0x12, 0x42, 0x0a, 0x11, 0x64, 0x65, 0x6c, - 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x61, 0x70, 0x69, 0x74, 0x61, 0x6c, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, - 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x10, 0x64, 0x65, 0x6c, - 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x43, 0x61, 0x70, 0x69, 0x74, 0x61, 0x6c, 0x12, 0x21, 0x0a, - 0x0c, 0x69, 0x73, 0x5f, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, - 0x22, 0x27, 0x0a, 0x0f, 0x51, 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, - 0x75, 0x72, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xaf, 0x02, 0x0a, 0x11, 0x51, 0x75, - 0x6f, 0x72, 0x75, 0x6d, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, - 0x37, 0x0a, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, - 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x52, 0x09, 0x62, - 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x12, 0x2a, 0x0a, 0x05, 0x72, 0x6f, 0x75, 0x6e, - 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, - 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x52, 0x05, 0x72, - 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x2a, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, - 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, - 0x12, 0x4f, 0x0a, 0x13, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x69, - 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, - 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x51, 0x75, - 0x6f, 0x72, 0x75, 0x6d, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x12, 0x61, - 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, - 0x65, 0x12, 0x38, 0x0a, 0x0b, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, - 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, - 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x49, 0x64, 0x52, 0x0b, - 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x22, 0x74, 0x0a, 0x0e, 0x46, - 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x2a, 0x0a, - 0x05, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, - 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x6f, 0x75, - 0x6e, 0x64, 0x52, 0x05, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x36, 0x0a, 0x0a, 0x66, 0x69, 0x6e, - 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, - 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x61, - 0x6b, 0x65, 0x72, 0x49, 0x64, 0x52, 0x0a, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, - 0x73, 0x22, 0x28, 0x0a, 0x10, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x53, 0x69, 0x67, 0x6e, + 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x48, 0x00, + 0x52, 0x06, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x42, 0x09, 0x0a, 0x07, 0x73, 0x75, 0x6d, 0x6d, + 0x61, 0x72, 0x79, 0x22, 0xd2, 0x02, 0x0a, 0x09, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x74, 0x65, + 0x6d, 0x12, 0x32, 0x0a, 0x04, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, + 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x61, 0x73, 0x68, 0x52, + 0x04, 0x68, 0x61, 0x73, 0x68, 0x12, 0x54, 0x0a, 0x13, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, + 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x12, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x5a, 0x0a, 0x15, 0x63, + 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x6f, 0x6e, + 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x64, 0x65, + 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x48, + 0x00, 0x52, 0x14, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x44, 0x65, 0x70, + 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x51, 0x0a, 0x12, 0x75, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, + 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x72, 0x75, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x11, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, + 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x62, 0x6c, + 0x6f, 0x63, 0x6b, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x22, 0xf7, 0x02, 0x0a, 0x15, 0x42, 0x61, 0x6b, + 0x65, 0x72, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x49, 0x6e, + 0x66, 0x6f, 0x12, 0x2e, 0x0a, 0x05, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, + 0x32, 0x2e, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x62, 0x61, 0x6b, + 0x65, 0x72, 0x12, 0x3e, 0x0a, 0x0f, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, + 0x73, 0x74, 0x61, 0x6b, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, + 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, + 0x6e, 0x74, 0x52, 0x0e, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x53, 0x74, 0x61, + 0x6b, 0x65, 0x12, 0x49, 0x0a, 0x10, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x5f, 0x72, 0x61, 0x74, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, + 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6d, + 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x61, 0x74, 0x65, 0x73, 0x52, 0x0f, 0x63, 0x6f, + 0x6d, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x61, 0x74, 0x65, 0x73, 0x12, 0x3c, 0x0a, + 0x0e, 0x65, 0x71, 0x75, 0x69, 0x74, 0x79, 0x5f, 0x63, 0x61, 0x70, 0x69, 0x74, 0x61, 0x6c, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, + 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0d, 0x65, 0x71, + 0x75, 0x69, 0x74, 0x79, 0x43, 0x61, 0x70, 0x69, 0x74, 0x61, 0x6c, 0x12, 0x42, 0x0a, 0x11, 0x64, + 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x61, 0x70, 0x69, 0x74, 0x61, 0x6c, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, + 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x10, 0x64, + 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x43, 0x61, 0x70, 0x69, 0x74, 0x61, 0x6c, 0x12, + 0x21, 0x0a, 0x0c, 0x69, 0x73, 0x5f, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, + 0x65, 0x72, 0x22, 0x27, 0x0a, 0x0f, 0x51, 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xeb, 0x02, 0x0a, 0x12, - 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, - 0x74, 0x65, 0x12, 0x2a, 0x0a, 0x05, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, - 0x32, 0x2e, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x52, 0x05, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x31, - 0x0a, 0x09, 0x6d, 0x69, 0x6e, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, - 0x32, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x52, 0x08, 0x6d, 0x69, 0x6e, 0x45, 0x70, 0x6f, 0x63, - 0x68, 0x12, 0x50, 0x0a, 0x15, 0x71, 0x63, 0x5f, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x5f, 0x66, - 0x69, 0x72, 0x73, 0x74, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, - 0x2e, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x52, - 0x12, 0x71, 0x63, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x46, 0x69, 0x72, 0x73, 0x74, 0x45, 0x70, - 0x6f, 0x63, 0x68, 0x12, 0x52, 0x0a, 0x16, 0x71, 0x63, 0x5f, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x73, - 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x04, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, - 0x2e, 0x76, 0x32, 0x2e, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x52, 0x6f, 0x75, - 0x6e, 0x64, 0x52, 0x13, 0x71, 0x63, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x53, 0x65, 0x63, 0x6f, - 0x6e, 0x64, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x50, 0x0a, 0x13, 0x61, 0x67, 0x67, 0x72, 0x65, - 0x67, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, - 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x53, 0x69, 0x67, 0x6e, - 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x12, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, - 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0x26, 0x0a, 0x0e, 0x53, 0x75, 0x63, - 0x63, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x12, 0x14, 0x0a, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x22, 0xea, 0x01, 0x0a, 0x16, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x46, 0x69, 0x6e, 0x61, 0x6c, - 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x43, 0x0a, 0x0c, - 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x71, 0x63, 0x18, 0x01, 0x20, 0x01, + 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xaf, 0x02, 0x0a, 0x11, + 0x51, 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, + 0x65, 0x12, 0x37, 0x0a, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, + 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x52, + 0x09, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x12, 0x2a, 0x0a, 0x05, 0x72, 0x6f, + 0x75, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x63, + 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x52, + 0x05, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x2a, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, + 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x52, 0x05, 0x65, 0x70, 0x6f, + 0x63, 0x68, 0x12, 0x4f, 0x0a, 0x13, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x5f, + 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, + 0x51, 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, + 0x12, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x12, 0x38, 0x0a, 0x0b, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x69, + 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, + 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x49, 0x64, + 0x52, 0x0b, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x22, 0x74, 0x0a, + 0x0e, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x12, + 0x2a, 0x0a, 0x05, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, + 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x52, + 0x6f, 0x75, 0x6e, 0x64, 0x52, 0x05, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x36, 0x0a, 0x0a, 0x66, + 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x16, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, + 0x42, 0x61, 0x6b, 0x65, 0x72, 0x49, 0x64, 0x52, 0x0a, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, + 0x65, 0x72, 0x73, 0x22, 0x28, 0x0a, 0x10, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x53, 0x69, + 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xeb, 0x02, + 0x0a, 0x12, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, + 0x63, 0x61, 0x74, 0x65, 0x12, 0x2a, 0x0a, 0x05, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, + 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x52, 0x05, 0x72, 0x6f, 0x75, 0x6e, 0x64, + 0x12, 0x31, 0x0a, 0x09, 0x6d, 0x69, 0x6e, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, + 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x52, 0x08, 0x6d, 0x69, 0x6e, 0x45, 0x70, + 0x6f, 0x63, 0x68, 0x12, 0x50, 0x0a, 0x15, 0x71, 0x63, 0x5f, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x73, + 0x5f, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x03, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, + 0x76, 0x32, 0x2e, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x52, 0x6f, 0x75, 0x6e, + 0x64, 0x52, 0x12, 0x71, 0x63, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x46, 0x69, 0x72, 0x73, 0x74, + 0x45, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x52, 0x0a, 0x16, 0x71, 0x63, 0x5f, 0x72, 0x6f, 0x75, 0x6e, + 0x64, 0x73, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, + 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, + 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x52, + 0x6f, 0x75, 0x6e, 0x64, 0x52, 0x13, 0x71, 0x63, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x53, 0x65, + 0x63, 0x6f, 0x6e, 0x64, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x50, 0x0a, 0x13, 0x61, 0x67, 0x67, + 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, + 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x53, 0x69, + 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x12, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, + 0x74, 0x65, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0x26, 0x0a, 0x0e, 0x53, + 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x12, 0x14, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x22, 0xea, 0x01, 0x0a, 0x16, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x46, 0x69, 0x6e, + 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x43, + 0x0a, 0x0c, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x71, 0x63, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, + 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x51, 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x43, 0x65, 0x72, 0x74, 0x69, + 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x0b, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, + 0x64, 0x51, 0x63, 0x12, 0x43, 0x0a, 0x0c, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6f, 0x72, + 0x5f, 0x71, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x6f, 0x6e, 0x63, + 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x51, 0x75, 0x6f, 0x72, 0x75, 0x6d, + 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x0b, 0x73, 0x75, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x51, 0x63, 0x12, 0x46, 0x0a, 0x0f, 0x73, 0x75, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x6f, 0x72, 0x5f, 0x70, 0x72, 0x6f, 0x6f, 0x66, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, + 0x32, 0x2e, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x6f, 0x66, + 0x52, 0x0e, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x6f, 0x66, + 0x22, 0xf4, 0x02, 0x0a, 0x11, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, + 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x12, 0x54, 0x0a, 0x12, 0x71, 0x75, 0x6f, 0x72, 0x75, 0x6d, + 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x51, 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, - 0x63, 0x61, 0x74, 0x65, 0x52, 0x0b, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x51, - 0x63, 0x12, 0x43, 0x0a, 0x0c, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x5f, 0x71, - 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, - 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x51, 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x43, 0x65, - 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x0b, 0x73, 0x75, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x6f, 0x72, 0x51, 0x63, 0x12, 0x46, 0x0a, 0x0f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x6f, 0x72, 0x5f, 0x70, 0x72, 0x6f, 0x6f, 0x66, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, - 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x52, 0x0e, - 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x22, 0xf4, - 0x02, 0x0a, 0x11, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, - 0x61, 0x74, 0x65, 0x73, 0x12, 0x54, 0x0a, 0x12, 0x71, 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x5f, 0x63, - 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x20, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, - 0x2e, 0x51, 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, - 0x74, 0x65, 0x48, 0x00, 0x52, 0x11, 0x71, 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x43, 0x65, 0x72, 0x74, - 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x57, 0x0a, 0x13, 0x74, 0x69, - 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, - 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x43, - 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x48, 0x01, 0x52, 0x12, 0x74, 0x69, - 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, - 0x88, 0x01, 0x01, 0x12, 0x64, 0x0a, 0x18, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x5f, 0x66, 0x69, 0x6e, - 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, - 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x46, 0x69, 0x6e, 0x61, 0x6c, - 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x48, 0x02, 0x52, 0x16, - 0x65, 0x70, 0x6f, 0x63, 0x68, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x88, 0x01, 0x01, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x71, 0x75, - 0x6f, 0x72, 0x75, 0x6d, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, - 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x63, 0x65, 0x72, - 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x42, 0x1b, 0x0a, 0x19, 0x5f, 0x65, 0x70, 0x6f, - 0x63, 0x68, 0x5f, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x65, 0x6e, 0x74, 0x72, 0x79, 0x22, 0x84, 0x01, 0x0a, 0x0c, 0x57, 0x69, 0x6e, 0x6e, 0x69, 0x6e, - 0x67, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x12, 0x2a, 0x0a, 0x05, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, - 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x52, 0x05, 0x72, 0x6f, 0x75, - 0x6e, 0x64, 0x12, 0x2e, 0x0a, 0x06, 0x77, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, - 0x76, 0x32, 0x2e, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x49, 0x64, 0x52, 0x06, 0x77, 0x69, 0x6e, 0x6e, - 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x07, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x22, 0xf9, 0x01, 0x0a, - 0x0d, 0x44, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x49, - 0x0a, 0x10, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x73, 0x74, 0x61, - 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, - 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, - 0x73, 0x68, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x48, 0x00, 0x52, 0x0e, 0x6c, 0x6f, 0x61, 0x64, 0x42, - 0x6c, 0x6f, 0x63, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x42, 0x0a, 0x0b, 0x73, 0x74, 0x61, - 0x74, 0x65, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, - 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x44, - 0x72, 0x79, 0x52, 0x75, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x48, - 0x00, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x4e, 0x0a, - 0x0f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, - 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x53, 0x74, 0x61, - 0x74, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0e, 0x73, - 0x74, 0x61, 0x74, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x09, 0x0a, - 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x8c, 0x02, 0x0a, 0x10, 0x44, 0x72, 0x79, - 0x52, 0x75, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x51, 0x0a, - 0x10, 0x67, 0x65, 0x74, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x66, - 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, - 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, - 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x48, 0x00, - 0x52, 0x0e, 0x67, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, - 0x12, 0x4c, 0x0a, 0x11, 0x67, 0x65, 0x74, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, + 0x63, 0x61, 0x74, 0x65, 0x48, 0x00, 0x52, 0x11, 0x71, 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x43, 0x65, + 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x57, 0x0a, 0x13, + 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, + 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x6f, 0x6e, 0x63, + 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, + 0x74, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x48, 0x01, 0x52, 0x12, + 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, + 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x64, 0x0a, 0x18, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x5f, 0x66, + 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x74, 0x72, + 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, + 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x46, 0x69, 0x6e, + 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x48, 0x02, + 0x52, 0x16, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x88, 0x01, 0x01, 0x42, 0x15, 0x0a, 0x13, 0x5f, + 0x71, 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, + 0x74, 0x65, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x63, + 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x42, 0x1b, 0x0a, 0x19, 0x5f, 0x65, + 0x70, 0x6f, 0x63, 0x68, 0x5f, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x22, 0x84, 0x01, 0x0a, 0x0c, 0x57, 0x69, 0x6e, 0x6e, + 0x69, 0x6e, 0x67, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x12, 0x2a, 0x0a, 0x05, 0x72, 0x6f, 0x75, 0x6e, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, + 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x52, 0x05, 0x72, + 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x2e, 0x0a, 0x06, 0x77, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, + 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x49, 0x64, 0x52, 0x06, 0x77, 0x69, + 0x6e, 0x6e, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x22, 0xf9, + 0x01, 0x0a, 0x0d, 0x44, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x49, 0x0a, 0x10, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x73, + 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, + 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, + 0x48, 0x61, 0x73, 0x68, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x48, 0x00, 0x52, 0x0e, 0x6c, 0x6f, 0x61, + 0x64, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x42, 0x0a, 0x0b, 0x73, + 0x74, 0x61, 0x74, 0x65, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1f, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, + 0x2e, 0x44, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x48, 0x00, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, + 0x4e, 0x0a, 0x0f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, + 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x53, + 0x74, 0x61, 0x74, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, + 0x0e, 0x73, 0x74, 0x61, 0x74, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, + 0x09, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x8c, 0x02, 0x0a, 0x10, 0x44, + 0x72, 0x79, 0x52, 0x75, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, + 0x51, 0x0a, 0x10, 0x67, 0x65, 0x74, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, + 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x63, 0x6f, 0x6e, 0x63, + 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x49, 0x6e, 0x70, 0x75, 0x74, + 0x48, 0x00, 0x52, 0x0e, 0x67, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, + 0x66, 0x6f, 0x12, 0x4c, 0x0a, 0x11, 0x67, 0x65, 0x74, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, + 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, + 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x48, 0x00, 0x52, + 0x0f, 0x67, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, + 0x12, 0x4e, 0x0a, 0x0f, 0x69, 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x6f, 0x6e, 0x63, + 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x72, 0x79, 0x52, 0x75, 0x6e, + 0x49, 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x48, 0x00, + 0x52, 0x0e, 0x69, 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x42, 0x07, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x22, 0xe7, 0x02, 0x0a, 0x14, 0x44, 0x72, + 0x79, 0x52, 0x75, 0x6e, 0x49, 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x12, 0x35, 0x0a, 0x07, 0x69, 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x72, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, + 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x48, 0x00, 0x52, 0x07, 0x69, + 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x3a, 0x0a, 0x08, 0x69, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6e, 0x74, - 0x72, 0x61, 0x63, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x48, 0x00, 0x52, 0x0f, 0x67, - 0x65, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x4e, - 0x0a, 0x0f, 0x69, 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, - 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x49, 0x6e, - 0x76, 0x6f, 0x6b, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x48, 0x00, 0x52, 0x0e, - 0x69, 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x42, 0x07, - 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x22, 0xe7, 0x02, 0x0a, 0x14, 0x44, 0x72, 0x79, 0x52, - 0x75, 0x6e, 0x49, 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x12, 0x35, 0x0a, 0x07, 0x69, 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, - 0x32, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x48, 0x00, 0x52, 0x07, 0x69, 0x6e, 0x76, - 0x6f, 0x6b, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x3a, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, - 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, - 0x63, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x12, 0x2d, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, - 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, - 0x6e, 0x74, 0x12, 0x3a, 0x0a, 0x0a, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, - 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x4e, 0x61, - 0x6d, 0x65, 0x52, 0x0a, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x36, - 0x0a, 0x09, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, - 0x32, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x52, 0x09, 0x70, 0x61, 0x72, - 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x12, 0x2d, 0x0a, 0x06, 0x65, 0x6e, 0x65, 0x72, 0x67, 0x79, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, - 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x52, 0x06, 0x65, - 0x6e, 0x65, 0x72, 0x67, 0x79, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x69, 0x6e, 0x76, 0x6f, 0x6b, 0x65, - 0x72, 0x22, 0xff, 0x01, 0x0a, 0x14, 0x44, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x53, 0x74, 0x61, 0x74, - 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3f, 0x0a, 0x0d, 0x73, 0x65, - 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, - 0x32, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x48, 0x00, 0x52, 0x0c, 0x73, - 0x65, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x4c, 0x0a, 0x0f, 0x6d, - 0x69, 0x6e, 0x74, 0x5f, 0x74, 0x6f, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, - 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x4d, 0x69, 0x6e, 0x74, 0x54, - 0x6f, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0d, 0x6d, 0x69, 0x6e, 0x74, - 0x54, 0x6f, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x4b, 0x0a, 0x0f, 0x72, 0x75, 0x6e, - 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, - 0x76, 0x32, 0x2e, 0x44, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0e, 0x72, 0x75, 0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, - 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0b, 0x0a, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x22, 0x7d, 0x0a, 0x13, 0x44, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x4d, 0x69, 0x6e, - 0x74, 0x54, 0x6f, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x37, 0x0a, 0x07, 0x61, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, - 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x07, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x12, 0x2d, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, - 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, - 0x6e, 0x74, 0x22, 0x8a, 0x02, 0x0a, 0x11, 0x44, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x54, 0x72, 0x61, - 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x35, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, - 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, - 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, - 0x3a, 0x0a, 0x0d, 0x65, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, - 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x52, 0x0c, 0x65, - 0x6e, 0x65, 0x72, 0x67, 0x79, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x42, 0x0a, 0x07, 0x70, - 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x63, - 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, - 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, - 0x3e, 0x0a, 0x0a, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x04, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, - 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, - 0x75, 0x72, 0x65, 0x52, 0x0a, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x22, - 0x43, 0x0a, 0x0f, 0x44, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, - 0x72, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, - 0x61, 0x6c, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x03, 0x6b, 0x65, 0x79, 0x22, 0xda, 0x01, 0x0a, 0x0e, 0x44, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, - 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x45, 0x72, 0x72, - 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x05, 0x65, 0x72, - 0x72, 0x6f, 0x72, 0x12, 0x40, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, - 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x53, 0x75, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x07, 0x73, 0x75, - 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x3e, 0x0a, 0x0f, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x5f, 0x72, - 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, - 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, - 0x6e, 0x65, 0x72, 0x67, 0x79, 0x52, 0x0e, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x52, 0x65, 0x6d, 0x61, - 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x42, 0x0a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0xd4, 0x0a, 0x0a, 0x13, 0x44, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x45, 0x72, 0x72, 0x6f, - 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x47, 0x0a, 0x08, 0x6e, 0x6f, 0x5f, - 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x63, 0x6f, - 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x72, 0x79, 0x52, - 0x75, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, - 0x4e, 0x6f, 0x53, 0x74, 0x61, 0x74, 0x65, 0x48, 0x00, 0x52, 0x07, 0x6e, 0x6f, 0x53, 0x74, 0x61, - 0x74, 0x65, 0x12, 0x5a, 0x0a, 0x0f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, - 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x63, 0x6f, + 0x72, 0x61, 0x63, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x08, 0x69, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x2d, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, + 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x06, 0x61, 0x6d, + 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x3a, 0x0a, 0x0a, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, + 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, + 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x0a, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x12, 0x36, 0x0a, 0x09, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, + 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x52, 0x09, 0x70, + 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x12, 0x2d, 0x0a, 0x06, 0x65, 0x6e, 0x65, 0x72, + 0x67, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, + 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x52, + 0x06, 0x65, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x69, 0x6e, 0x76, 0x6f, + 0x6b, 0x65, 0x72, 0x22, 0xff, 0x01, 0x0a, 0x14, 0x44, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x53, 0x74, + 0x61, 0x74, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3f, 0x0a, 0x0d, + 0x73, 0x65, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, + 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x48, 0x00, 0x52, + 0x0c, 0x73, 0x65, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x4c, 0x0a, + 0x0f, 0x6d, 0x69, 0x6e, 0x74, 0x5f, 0x74, 0x6f, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, + 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x4d, 0x69, 0x6e, + 0x74, 0x54, 0x6f, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0d, 0x6d, 0x69, + 0x6e, 0x74, 0x54, 0x6f, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x4b, 0x0a, 0x0f, 0x72, + 0x75, 0x6e, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, + 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0e, 0x72, 0x75, 0x6e, 0x54, 0x72, 0x61, + 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0b, 0x0a, 0x09, 0x6f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x7d, 0x0a, 0x13, 0x44, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x4d, + 0x69, 0x6e, 0x74, 0x54, 0x6f, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x37, 0x0a, 0x07, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, + 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x07, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2d, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, + 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x06, 0x61, 0x6d, + 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x8a, 0x02, 0x0a, 0x11, 0x44, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x54, + 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x35, 0x0a, 0x06, 0x73, 0x65, + 0x6e, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, + 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, + 0x72, 0x12, 0x3a, 0x0a, 0x0d, 0x65, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x5f, 0x61, 0x6d, 0x6f, 0x75, + 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, + 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x52, + 0x0c, 0x65, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x42, 0x0a, + 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, + 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, + 0x64, 0x12, 0x3e, 0x0a, 0x0a, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, + 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, + 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x53, 0x69, 0x67, 0x6e, + 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x0a, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x73, 0x22, 0x43, 0x0a, 0x0f, 0x44, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x53, 0x69, 0x67, 0x6e, 0x61, + 0x74, 0x75, 0x72, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, + 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, + 0x74, 0x69, 0x61, 0x6c, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x22, 0xda, 0x01, 0x0a, 0x0e, 0x44, 0x72, 0x79, 0x52, 0x75, + 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x05, 0x65, 0x72, 0x72, + 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, + 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x45, + 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x05, + 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x40, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, + 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x53, 0x75, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x07, + 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x3e, 0x0a, 0x0f, 0x71, 0x75, 0x6f, 0x74, 0x61, + 0x5f, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, + 0x2e, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x52, 0x0e, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x52, 0x65, + 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x42, 0x0a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0xd4, 0x0a, 0x0a, 0x13, 0x44, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x45, 0x72, + 0x72, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x47, 0x0a, 0x08, 0x6e, + 0x6f, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, + 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x72, + 0x79, 0x52, 0x75, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x2e, 0x4e, 0x6f, 0x53, 0x74, 0x61, 0x74, 0x65, 0x48, 0x00, 0x52, 0x07, 0x6e, 0x6f, 0x53, + 0x74, 0x61, 0x74, 0x65, 0x12, 0x5a, 0x0a, 0x0f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6e, 0x6f, + 0x74, 0x5f, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, + 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x72, + 0x79, 0x52, 0x75, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x48, + 0x00, 0x52, 0x0d, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, + 0x12, 0x60, 0x0a, 0x11, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, + 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, - 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x48, 0x00, 0x52, - 0x0d, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x60, - 0x0a, 0x11, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x66, 0x6f, - 0x75, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x63, 0x6f, 0x6e, 0x63, - 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x72, 0x79, 0x52, 0x75, 0x6e, - 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x41, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x48, 0x00, 0x52, - 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, - 0x12, 0x63, 0x0a, 0x12, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x6e, 0x6f, 0x74, - 0x5f, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x63, - 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x72, 0x79, - 0x52, 0x75, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, - 0x64, 0x48, 0x00, 0x52, 0x10, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4e, 0x6f, 0x74, - 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x60, 0x0a, 0x11, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, - 0x6f, 0x76, 0x65, 0x72, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x32, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, - 0x2e, 0x44, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x4f, 0x76, 0x65, 0x72, 0x4c, - 0x69, 0x6d, 0x69, 0x74, 0x48, 0x00, 0x52, 0x0f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x4f, 0x76, - 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x6b, 0x0a, 0x14, 0x62, 0x61, 0x6c, 0x61, 0x6e, - 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x75, 0x66, 0x66, 0x69, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, - 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x45, 0x72, 0x72, 0x6f, - 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, - 0x65, 0x49, 0x6e, 0x73, 0x75, 0x66, 0x66, 0x69, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, - 0x13, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x6e, 0x73, 0x75, 0x66, 0x66, 0x69, 0x63, - 0x69, 0x65, 0x6e, 0x74, 0x12, 0x68, 0x0a, 0x13, 0x65, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x5f, 0x69, - 0x6e, 0x73, 0x75, 0x66, 0x66, 0x69, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x35, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, - 0x32, 0x2e, 0x44, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x49, 0x6e, 0x73, 0x75, - 0x66, 0x66, 0x69, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x12, 0x65, 0x6e, 0x65, 0x72, - 0x67, 0x79, 0x49, 0x6e, 0x73, 0x75, 0x66, 0x66, 0x69, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x57, - 0x0a, 0x0d, 0x69, 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x18, - 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, - 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x45, 0x72, 0x72, 0x6f, - 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x49, 0x6e, 0x76, 0x6f, 0x6b, 0x65, - 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x48, 0x00, 0x52, 0x0c, 0x69, 0x6e, 0x76, 0x6f, 0x6b, - 0x65, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x1a, 0x09, 0x0a, 0x07, 0x4e, 0x6f, 0x53, 0x74, 0x61, - 0x74, 0x65, 0x1a, 0x0f, 0x0a, 0x0d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x4e, 0x6f, 0x74, 0x46, 0x6f, - 0x75, 0x6e, 0x64, 0x1a, 0x11, 0x0a, 0x0f, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x6f, - 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x1a, 0x12, 0x0a, 0x10, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x1a, 0x4b, 0x0a, 0x0f, 0x41, 0x6d, - 0x6f, 0x75, 0x6e, 0x74, 0x4f, 0x76, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x38, 0x0a, - 0x0c, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, - 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0b, 0x61, 0x6d, 0x6f, 0x75, - 0x6e, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x1a, 0x97, 0x01, 0x0a, 0x13, 0x42, 0x61, 0x6c, 0x61, - 0x6e, 0x63, 0x65, 0x49, 0x6e, 0x73, 0x75, 0x66, 0x66, 0x69, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x12, - 0x3e, 0x0a, 0x0f, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x5f, 0x61, 0x6d, 0x6f, 0x75, - 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, - 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, - 0x0e, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, - 0x40, 0x0a, 0x10, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x61, 0x6d, 0x6f, - 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, - 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, - 0x52, 0x0f, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x6d, 0x6f, 0x75, 0x6e, - 0x74, 0x1a, 0x54, 0x0a, 0x12, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x49, 0x6e, 0x73, 0x75, 0x66, - 0x66, 0x69, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x3e, 0x0a, 0x0f, 0x65, 0x6e, 0x65, 0x72, 0x67, - 0x79, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, - 0x2e, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x52, 0x0e, 0x65, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x52, - 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x1a, 0xb5, 0x01, 0x0a, 0x0d, 0x49, 0x6e, 0x76, 0x6f, - 0x6b, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x12, 0x26, 0x0a, 0x0c, 0x72, 0x65, 0x74, - 0x75, 0x72, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x48, - 0x00, 0x52, 0x0b, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x88, 0x01, - 0x01, 0x12, 0x36, 0x0a, 0x0b, 0x75, 0x73, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x65, 0x72, 0x67, 0x79, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, - 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x52, 0x0a, 0x75, - 0x73, 0x65, 0x64, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x12, 0x33, 0x0a, 0x06, 0x72, 0x65, 0x61, - 0x73, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6e, 0x63, - 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, - 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x42, 0x0f, - 0x0a, 0x0d, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x42, - 0x07, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0xaf, 0x0a, 0x0a, 0x15, 0x44, 0x72, 0x79, - 0x52, 0x75, 0x6e, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x65, 0x0a, 0x12, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x73, 0x74, 0x61, 0x74, - 0x65, 0x5f, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, + 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x48, + 0x00, 0x52, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, + 0x6e, 0x64, 0x12, 0x63, 0x0a, 0x12, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x6e, + 0x6f, 0x74, 0x5f, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x44, + 0x72, 0x79, 0x52, 0x75, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4e, 0x6f, 0x74, 0x46, 0x6f, + 0x75, 0x6e, 0x64, 0x48, 0x00, 0x52, 0x10, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4e, + 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x60, 0x0a, 0x11, 0x61, 0x6d, 0x6f, 0x75, 0x6e, + 0x74, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, + 0x76, 0x32, 0x2e, 0x44, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x4f, 0x76, 0x65, + 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x48, 0x00, 0x52, 0x0f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, + 0x4f, 0x76, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x6b, 0x0a, 0x14, 0x62, 0x61, 0x6c, + 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x75, 0x66, 0x66, 0x69, 0x63, 0x69, 0x65, 0x6e, + 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, + 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x45, 0x72, + 0x72, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x42, 0x61, 0x6c, 0x61, + 0x6e, 0x63, 0x65, 0x49, 0x6e, 0x73, 0x75, 0x66, 0x66, 0x69, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x48, + 0x00, 0x52, 0x13, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x6e, 0x73, 0x75, 0x66, 0x66, + 0x69, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x68, 0x0a, 0x13, 0x65, 0x6e, 0x65, 0x72, 0x67, 0x79, + 0x5f, 0x69, 0x6e, 0x73, 0x75, 0x66, 0x66, 0x69, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, + 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x49, 0x6e, + 0x73, 0x75, 0x66, 0x66, 0x69, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x12, 0x65, 0x6e, + 0x65, 0x72, 0x67, 0x79, 0x49, 0x6e, 0x73, 0x75, 0x66, 0x66, 0x69, 0x63, 0x69, 0x65, 0x6e, 0x74, + 0x12, 0x57, 0x0a, 0x0d, 0x69, 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x65, + 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, + 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x45, 0x72, + 0x72, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x49, 0x6e, 0x76, 0x6f, + 0x6b, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x48, 0x00, 0x52, 0x0c, 0x69, 0x6e, 0x76, + 0x6f, 0x6b, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x1a, 0x09, 0x0a, 0x07, 0x4e, 0x6f, 0x53, + 0x74, 0x61, 0x74, 0x65, 0x1a, 0x0f, 0x0a, 0x0d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x4e, 0x6f, 0x74, + 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x1a, 0x11, 0x0a, 0x0f, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x1a, 0x12, 0x0a, 0x10, 0x49, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x1a, 0x4b, 0x0a, 0x0f, + 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x4f, 0x76, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, + 0x38, 0x0a, 0x0c, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, + 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0b, 0x61, 0x6d, + 0x6f, 0x75, 0x6e, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x1a, 0x97, 0x01, 0x0a, 0x13, 0x42, 0x61, + 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x6e, 0x73, 0x75, 0x66, 0x66, 0x69, 0x63, 0x69, 0x65, 0x6e, + 0x74, 0x12, 0x3e, 0x0a, 0x0f, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x5f, 0x61, 0x6d, + 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, + 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, + 0x74, 0x52, 0x0e, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x41, 0x6d, 0x6f, 0x75, 0x6e, + 0x74, 0x12, 0x40, 0x0a, 0x10, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x61, + 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, + 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, + 0x6e, 0x74, 0x52, 0x0f, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x6d, 0x6f, + 0x75, 0x6e, 0x74, 0x1a, 0x54, 0x0a, 0x12, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x49, 0x6e, 0x73, + 0x75, 0x66, 0x66, 0x69, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x3e, 0x0a, 0x0f, 0x65, 0x6e, 0x65, + 0x72, 0x67, 0x79, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, + 0x76, 0x32, 0x2e, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x52, 0x0e, 0x65, 0x6e, 0x65, 0x72, 0x67, + 0x79, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x1a, 0xb5, 0x01, 0x0a, 0x0d, 0x49, 0x6e, + 0x76, 0x6f, 0x6b, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x12, 0x26, 0x0a, 0x0c, 0x72, + 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0c, 0x48, 0x00, 0x52, 0x0b, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x88, 0x01, 0x01, 0x12, 0x36, 0x0a, 0x0b, 0x75, 0x73, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x65, 0x72, + 0x67, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, + 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x52, + 0x0a, 0x75, 0x73, 0x65, 0x64, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x12, 0x33, 0x0a, 0x06, 0x72, + 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, + 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x6a, 0x65, + 0x63, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, + 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x42, 0x07, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0xaf, 0x0a, 0x0a, 0x15, 0x44, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x65, 0x4c, - 0x6f, 0x61, 0x64, 0x65, 0x64, 0x48, 0x00, 0x52, 0x10, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x53, 0x74, - 0x61, 0x74, 0x65, 0x4c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x12, 0x3f, 0x0a, 0x0c, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1a, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, - 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x0b, 0x61, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x42, 0x0a, 0x0d, 0x69, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, - 0x32, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, - 0x52, 0x0c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x5f, - 0x0a, 0x10, 0x69, 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x65, 0x64, - 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x12, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x73, 0x74, + 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x35, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, + 0x2e, 0x44, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x53, 0x74, 0x61, 0x74, + 0x65, 0x4c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x48, 0x00, 0x52, 0x10, 0x62, 0x6c, 0x6f, 0x63, 0x6b, + 0x53, 0x74, 0x61, 0x74, 0x65, 0x4c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x12, 0x3f, 0x0a, 0x0c, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, + 0x32, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, + 0x0b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x42, 0x0a, 0x0d, + 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, + 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, + 0x48, 0x00, 0x52, 0x0c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, + 0x12, 0x5f, 0x0a, 0x10, 0x69, 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, + 0x65, 0x64, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x63, 0x6f, 0x6e, + 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x72, 0x79, 0x52, 0x75, + 0x6e, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x2e, 0x49, 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x48, 0x00, + 0x52, 0x0f, 0x69, 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x65, 0x64, 0x65, + 0x64, 0x12, 0x58, 0x0a, 0x0d, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, 0x73, + 0x65, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x53, - 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x49, - 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x48, 0x00, 0x52, 0x0f, - 0x69, 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x65, 0x64, 0x65, 0x64, 0x12, - 0x58, 0x0a, 0x0d, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, 0x73, 0x65, 0x74, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, + 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x53, 0x65, 0x74, 0x48, 0x00, 0x52, 0x0c, 0x74, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x53, 0x65, 0x74, 0x12, 0x62, 0x0a, 0x11, 0x6d, + 0x69, 0x6e, 0x74, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x53, 0x75, 0x63, - 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x53, 0x65, 0x74, 0x48, 0x00, 0x52, 0x0c, 0x74, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x53, 0x65, 0x74, 0x12, 0x62, 0x0a, 0x11, 0x6d, 0x69, 0x6e, - 0x74, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, - 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x53, 0x75, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4d, 0x69, 0x6e, 0x74, 0x65, - 0x64, 0x54, 0x6f, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0f, 0x6d, 0x69, - 0x6e, 0x74, 0x65, 0x64, 0x54, 0x6f, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x6d, 0x0a, - 0x14, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x78, 0x65, - 0x63, 0x75, 0x74, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x63, 0x6f, - 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x72, 0x79, 0x52, - 0x75, 0x6e, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x65, - 0x63, 0x75, 0x74, 0x65, 0x64, 0x48, 0x00, 0x52, 0x13, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, 0x1a, 0xdd, 0x01, 0x0a, - 0x10, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x65, 0x4c, 0x6f, 0x61, 0x64, 0x65, - 0x64, 0x12, 0x45, 0x0a, 0x11, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4d, 0x69, 0x6e, + 0x74, 0x65, 0x64, 0x54, 0x6f, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0f, + 0x6d, 0x69, 0x6e, 0x74, 0x65, 0x64, 0x54, 0x6f, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, + 0x6d, 0x0a, 0x14, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, + 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, + 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x72, + 0x79, 0x52, 0x75, 0x6e, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, + 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, 0x48, 0x00, 0x52, 0x13, 0x74, 0x72, 0x61, 0x6e, 0x73, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, 0x1a, 0xdd, + 0x01, 0x0a, 0x10, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x65, 0x4c, 0x6f, 0x61, + 0x64, 0x65, 0x64, 0x12, 0x45, 0x0a, 0x11, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, + 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x54, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x10, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, + 0x74, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x37, 0x0a, 0x0a, 0x62, 0x6c, + 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, + 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, + 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x52, 0x09, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x48, + 0x61, 0x73, 0x68, 0x12, 0x49, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, + 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, + 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x72, + 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x1a, 0x0e, + 0x0a, 0x0c, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x53, 0x65, 0x74, 0x1a, 0x11, + 0x0a, 0x0f, 0x4d, 0x69, 0x6e, 0x74, 0x65, 0x64, 0x54, 0x6f, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x1a, 0xca, 0x01, 0x0a, 0x13, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, 0x12, 0x36, 0x0a, 0x0b, 0x65, 0x6e, 0x65, + 0x72, 0x67, 0x79, 0x5f, 0x63, 0x6f, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, + 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, + 0x6e, 0x65, 0x72, 0x67, 0x79, 0x52, 0x0a, 0x65, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x43, 0x6f, 0x73, + 0x74, 0x12, 0x42, 0x0a, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, + 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x07, 0x64, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x26, 0x0a, 0x0c, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x0b, 0x72, + 0x65, 0x74, 0x75, 0x72, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0f, 0x0a, + 0x0d, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0xbf, + 0x01, 0x0a, 0x0d, 0x49, 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x12, 0x26, 0x0a, 0x0c, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x0b, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x88, 0x01, 0x01, 0x12, 0x36, 0x0a, 0x0b, 0x75, 0x73, 0x65, 0x64, + 0x5f, 0x65, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, + 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6e, + 0x65, 0x72, 0x67, 0x79, 0x52, 0x0a, 0x75, 0x73, 0x65, 0x64, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, + 0x12, 0x3d, 0x0a, 0x07, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, + 0x32, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x54, 0x72, 0x61, 0x63, 0x65, 0x45, + 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x07, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x73, 0x42, + 0x0f, 0x0a, 0x0d, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x42, 0x0a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x26, 0x0a, 0x0e, + 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x14, + 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x22, 0x92, 0x02, 0x0a, 0x0d, 0x51, 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x4d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x3c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, + 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x51, 0x75, 0x6f, 0x72, 0x75, 0x6d, + 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, + 0x74, 0x75, 0x72, 0x65, 0x12, 0x2e, 0x0a, 0x05, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, + 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x52, 0x05, 0x62, + 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x3b, 0x0a, 0x09, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, + 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, + 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, + 0x72, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x09, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, + 0x72, 0x12, 0x2a, 0x0a, 0x05, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, + 0x2e, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x52, 0x05, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x2a, 0x0a, + 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, + 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x70, 0x6f, + 0x63, 0x68, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x22, 0xb9, 0x02, 0x0a, 0x14, 0x52, 0x61, + 0x77, 0x51, 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, + 0x74, 0x65, 0x12, 0x37, 0x0a, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x61, 0x73, 0x68, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, + 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, + 0x52, 0x09, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x12, 0x2a, 0x0a, 0x05, 0x72, + 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6e, + 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x6f, 0x75, 0x6e, 0x64, + 0x52, 0x05, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x2a, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, + 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x52, 0x05, 0x65, 0x70, + 0x6f, 0x63, 0x68, 0x12, 0x4f, 0x0a, 0x13, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, + 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, + 0x2e, 0x51, 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x52, 0x12, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x53, 0x69, 0x67, 0x6e, 0x61, + 0x74, 0x75, 0x72, 0x65, 0x12, 0x3f, 0x0a, 0x0b, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x6f, 0x72, + 0x69, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, + 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, + 0x7a, 0x65, 0x72, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x0b, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, + 0x6f, 0x72, 0x69, 0x65, 0x73, 0x22, 0x26, 0x0a, 0x0e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x53, 0x69, + 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x84, 0x03, + 0x0a, 0x0e, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x12, 0x3b, 0x0a, 0x09, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, + 0x2e, 0x76, 0x32, 0x2e, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x49, 0x6e, 0x64, + 0x65, 0x78, 0x52, 0x09, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x12, 0x2a, 0x0a, + 0x05, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, + 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x6f, 0x75, + 0x6e, 0x64, 0x52, 0x05, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x2a, 0x0a, 0x05, 0x65, 0x70, 0x6f, + 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, + 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x52, 0x05, + 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x52, 0x0a, 0x12, 0x71, 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x5f, + 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, + 0x32, 0x2e, 0x52, 0x61, 0x77, 0x51, 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x43, 0x65, 0x72, 0x74, 0x69, + 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x11, 0x71, 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x43, 0x65, + 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x3d, 0x0a, 0x09, 0x73, 0x69, 0x67, + 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x10, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x54, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x37, 0x0a, 0x0a, 0x62, 0x6c, 0x6f, 0x63, - 0x6b, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, - 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x6f, - 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x52, 0x09, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, - 0x68, 0x12, 0x49, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x76, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x63, 0x6f, - 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x72, 0x6f, 0x74, - 0x6f, 0x63, 0x6f, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x1a, 0x0e, 0x0a, 0x0c, - 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x53, 0x65, 0x74, 0x1a, 0x11, 0x0a, 0x0f, - 0x4d, 0x69, 0x6e, 0x74, 0x65, 0x64, 0x54, 0x6f, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x1a, - 0xca, 0x01, 0x0a, 0x13, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, - 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, 0x12, 0x36, 0x0a, 0x0b, 0x65, 0x6e, 0x65, 0x72, 0x67, - 0x79, 0x5f, 0x63, 0x6f, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, - 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6e, 0x65, - 0x72, 0x67, 0x79, 0x52, 0x0a, 0x65, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x43, 0x6f, 0x73, 0x74, 0x12, - 0x42, 0x0a, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x28, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, - 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x07, 0x64, 0x65, 0x74, 0x61, - 0x69, 0x6c, 0x73, 0x12, 0x26, 0x0a, 0x0c, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x0b, 0x72, 0x65, 0x74, - 0x75, 0x72, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, - 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0xbf, 0x01, 0x0a, - 0x0d, 0x49, 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x26, - 0x0a, 0x0c, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x0b, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x56, 0x61, - 0x6c, 0x75, 0x65, 0x88, 0x01, 0x01, 0x12, 0x36, 0x0a, 0x0b, 0x75, 0x73, 0x65, 0x64, 0x5f, 0x65, - 0x6e, 0x65, 0x72, 0x67, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, - 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6e, 0x65, 0x72, - 0x67, 0x79, 0x52, 0x0a, 0x75, 0x73, 0x65, 0x64, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x12, 0x3d, - 0x0a, 0x07, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x65, 0x6f, 0x75, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x09, 0x73, + 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x4a, 0x0a, 0x11, 0x6d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, + 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, + 0x72, 0x65, 0x52, 0x10, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x69, 0x67, 0x6e, 0x61, + 0x74, 0x75, 0x72, 0x65, 0x22, 0x7e, 0x0a, 0x11, 0x52, 0x61, 0x77, 0x46, 0x69, 0x6e, 0x61, 0x6c, + 0x69, 0x7a, 0x65, 0x72, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x2a, 0x0a, 0x05, 0x72, 0x6f, 0x75, + 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, + 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x52, 0x05, + 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x3d, 0x0a, 0x0a, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, + 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, + 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, + 0x7a, 0x65, 0x72, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x0a, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, + 0x7a, 0x65, 0x72, 0x73, 0x22, 0xf4, 0x02, 0x0a, 0x15, 0x52, 0x61, 0x77, 0x54, 0x69, 0x6d, 0x65, + 0x6f, 0x75, 0x74, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x2a, + 0x0a, 0x05, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, + 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x6f, + 0x75, 0x6e, 0x64, 0x52, 0x05, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x31, 0x0a, 0x09, 0x6d, 0x69, + 0x6e, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, + 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x70, + 0x6f, 0x63, 0x68, 0x52, 0x08, 0x6d, 0x69, 0x6e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x53, 0x0a, + 0x15, 0x71, 0x63, 0x5f, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x5f, 0x66, 0x69, 0x72, 0x73, 0x74, + 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, + 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x61, 0x77, + 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x52, 0x12, + 0x71, 0x63, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x46, 0x69, 0x72, 0x73, 0x74, 0x45, 0x70, 0x6f, + 0x63, 0x68, 0x12, 0x55, 0x0a, 0x16, 0x71, 0x63, 0x5f, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x5f, + 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x04, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, + 0x76, 0x32, 0x2e, 0x52, 0x61, 0x77, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x52, + 0x6f, 0x75, 0x6e, 0x64, 0x52, 0x13, 0x71, 0x63, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x53, 0x65, + 0x63, 0x6f, 0x6e, 0x64, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x50, 0x0a, 0x13, 0x61, 0x67, 0x67, + 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, + 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x53, 0x69, + 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x12, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, + 0x74, 0x65, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0xbe, 0x03, 0x0a, 0x15, + 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x5e, 0x0a, 0x1a, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x73, 0x69, + 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x71, 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x5f, 0x6d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x6f, 0x6e, 0x63, + 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x51, 0x75, 0x6f, 0x72, 0x75, 0x6d, + 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x17, 0x6c, 0x61, 0x73, 0x74, 0x53, + 0x69, 0x67, 0x6e, 0x65, 0x64, 0x51, 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x4d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x61, 0x0a, 0x1b, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x73, 0x69, + 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x6d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, + 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x6f, + 0x75, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x01, 0x52, 0x18, 0x6c, 0x61, 0x73, + 0x74, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x4d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x3e, 0x0a, 0x10, 0x6c, 0x61, 0x73, 0x74, + 0x5f, 0x62, 0x61, 0x6b, 0x65, 0x64, 0x5f, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, + 0x76, 0x32, 0x2e, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x52, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x42, 0x61, + 0x6b, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x50, 0x0a, 0x0e, 0x6c, 0x61, 0x74, 0x65, + 0x73, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x24, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, + 0x2e, 0x52, 0x61, 0x77, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x43, 0x65, 0x72, 0x74, 0x69, + 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x48, 0x02, 0x52, 0x0d, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, + 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x88, 0x01, 0x01, 0x42, 0x1d, 0x0a, 0x1b, 0x5f, 0x6c, + 0x61, 0x73, 0x74, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x71, 0x75, 0x6f, 0x72, 0x75, + 0x6d, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x42, 0x1e, 0x0a, 0x1c, 0x5f, 0x6c, 0x61, + 0x73, 0x74, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, + 0x74, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x6c, 0x61, + 0x74, 0x65, 0x73, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x22, 0xb9, 0x01, 0x0a, + 0x0c, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x55, 0x0a, + 0x13, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, + 0x63, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x6f, 0x6e, + 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x61, 0x77, 0x54, 0x69, + 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, + 0x52, 0x12, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, + 0x63, 0x61, 0x74, 0x65, 0x12, 0x52, 0x0a, 0x12, 0x71, 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x5f, 0x63, + 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x23, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, + 0x2e, 0x52, 0x61, 0x77, 0x51, 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, + 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x11, 0x71, 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x43, 0x65, 0x72, + 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x22, 0xee, 0x01, 0x0a, 0x14, 0x52, 0x61, 0x77, + 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x12, 0x46, 0x0a, 0x0c, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x71, + 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, + 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x61, 0x77, 0x51, 0x75, 0x6f, 0x72, 0x75, + 0x6d, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x0b, 0x66, 0x69, + 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x51, 0x63, 0x12, 0x46, 0x0a, 0x0c, 0x73, 0x75, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x5f, 0x71, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, - 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x54, 0x72, 0x61, 0x63, 0x65, 0x45, 0x6c, 0x65, - 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x07, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x73, 0x42, 0x0f, 0x0a, - 0x0d, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0a, - 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2a, 0x6a, 0x0a, 0x0a, 0x4f, 0x70, - 0x65, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1c, 0x0a, 0x18, 0x4f, 0x50, 0x45, 0x4e, - 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x4f, 0x50, 0x45, 0x4e, 0x5f, 0x46, 0x4f, 0x52, - 0x5f, 0x41, 0x4c, 0x4c, 0x10, 0x00, 0x12, 0x1e, 0x0a, 0x1a, 0x4f, 0x50, 0x45, 0x4e, 0x5f, 0x53, - 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x43, 0x4c, 0x4f, 0x53, 0x45, 0x44, 0x5f, 0x46, 0x4f, 0x52, - 0x5f, 0x4e, 0x45, 0x57, 0x10, 0x01, 0x12, 0x1e, 0x0a, 0x1a, 0x4f, 0x50, 0x45, 0x4e, 0x5f, 0x53, - 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x43, 0x4c, 0x4f, 0x53, 0x45, 0x44, 0x5f, 0x46, 0x4f, 0x52, - 0x5f, 0x41, 0x4c, 0x4c, 0x10, 0x02, 0x2a, 0x21, 0x0a, 0x0f, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, - 0x63, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x06, 0x0a, 0x02, 0x56, 0x30, 0x10, - 0x00, 0x12, 0x06, 0x0a, 0x02, 0x56, 0x31, 0x10, 0x01, 0x2a, 0x49, 0x0a, 0x0e, 0x43, 0x72, 0x65, - 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x17, 0x43, - 0x52, 0x45, 0x44, 0x45, 0x4e, 0x54, 0x49, 0x41, 0x4c, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, - 0x4e, 0x49, 0x54, 0x49, 0x41, 0x4c, 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x43, 0x52, 0x45, 0x44, - 0x45, 0x4e, 0x54, 0x49, 0x41, 0x4c, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4e, 0x4f, 0x52, 0x4d, - 0x41, 0x4c, 0x10, 0x01, 0x2a, 0xd5, 0x04, 0x0a, 0x0a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, - 0x79, 0x70, 0x65, 0x12, 0x13, 0x0a, 0x0f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x50, 0x52, - 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x10, 0x00, 0x12, 0x1e, 0x0a, 0x1a, 0x55, 0x50, 0x44, 0x41, - 0x54, 0x45, 0x5f, 0x45, 0x4c, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x49, 0x46, 0x46, - 0x49, 0x43, 0x55, 0x4c, 0x54, 0x59, 0x10, 0x01, 0x12, 0x1a, 0x0a, 0x16, 0x55, 0x50, 0x44, 0x41, - 0x54, 0x45, 0x5f, 0x45, 0x55, 0x52, 0x4f, 0x5f, 0x50, 0x45, 0x52, 0x5f, 0x45, 0x4e, 0x45, 0x52, - 0x47, 0x59, 0x10, 0x02, 0x12, 0x1d, 0x0a, 0x19, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x4d, - 0x49, 0x43, 0x52, 0x4f, 0x5f, 0x43, 0x43, 0x44, 0x5f, 0x50, 0x45, 0x52, 0x5f, 0x45, 0x55, 0x52, - 0x4f, 0x10, 0x03, 0x12, 0x1d, 0x0a, 0x19, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x46, 0x4f, - 0x55, 0x4e, 0x44, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x41, 0x43, 0x43, 0x4f, 0x55, 0x4e, 0x54, - 0x10, 0x04, 0x12, 0x1c, 0x0a, 0x18, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x4d, 0x49, 0x4e, - 0x54, 0x5f, 0x44, 0x49, 0x53, 0x54, 0x52, 0x49, 0x42, 0x55, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x05, - 0x12, 0x27, 0x0a, 0x23, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, - 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x46, 0x45, 0x45, 0x5f, 0x44, 0x49, 0x53, 0x54, 0x52, - 0x49, 0x42, 0x55, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x06, 0x12, 0x16, 0x0a, 0x12, 0x55, 0x50, 0x44, - 0x41, 0x54, 0x45, 0x5f, 0x47, 0x41, 0x53, 0x5f, 0x52, 0x45, 0x57, 0x41, 0x52, 0x44, 0x53, 0x10, - 0x07, 0x12, 0x1a, 0x0a, 0x16, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x50, 0x4f, 0x4f, 0x4c, - 0x5f, 0x50, 0x41, 0x52, 0x41, 0x4d, 0x45, 0x54, 0x45, 0x52, 0x53, 0x10, 0x08, 0x12, 0x19, 0x0a, - 0x15, 0x41, 0x44, 0x44, 0x5f, 0x41, 0x4e, 0x4f, 0x4e, 0x59, 0x4d, 0x49, 0x54, 0x59, 0x5f, 0x52, - 0x45, 0x56, 0x4f, 0x4b, 0x45, 0x52, 0x10, 0x09, 0x12, 0x19, 0x0a, 0x15, 0x41, 0x44, 0x44, 0x5f, - 0x49, 0x44, 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59, 0x5f, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x44, 0x45, - 0x52, 0x10, 0x0a, 0x12, 0x14, 0x0a, 0x10, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x52, 0x4f, - 0x4f, 0x54, 0x5f, 0x4b, 0x45, 0x59, 0x53, 0x10, 0x0b, 0x12, 0x16, 0x0a, 0x12, 0x55, 0x50, 0x44, - 0x41, 0x54, 0x45, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x31, 0x5f, 0x4b, 0x45, 0x59, 0x53, 0x10, - 0x0c, 0x12, 0x16, 0x0a, 0x12, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x4c, 0x45, 0x56, 0x45, - 0x4c, 0x32, 0x5f, 0x4b, 0x45, 0x59, 0x53, 0x10, 0x0d, 0x12, 0x1e, 0x0a, 0x1a, 0x55, 0x50, 0x44, - 0x41, 0x54, 0x45, 0x5f, 0x43, 0x4f, 0x4f, 0x4c, 0x44, 0x4f, 0x57, 0x4e, 0x5f, 0x50, 0x41, 0x52, - 0x41, 0x4d, 0x45, 0x54, 0x45, 0x52, 0x53, 0x10, 0x0e, 0x12, 0x1a, 0x0a, 0x16, 0x55, 0x50, 0x44, - 0x41, 0x54, 0x45, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x41, 0x4d, 0x45, 0x54, - 0x45, 0x52, 0x53, 0x10, 0x0f, 0x12, 0x1d, 0x0a, 0x19, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, - 0x54, 0x49, 0x4d, 0x45, 0x4f, 0x55, 0x54, 0x5f, 0x50, 0x41, 0x52, 0x41, 0x4d, 0x45, 0x54, 0x45, - 0x52, 0x53, 0x10, 0x10, 0x12, 0x19, 0x0a, 0x15, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x4d, - 0x49, 0x4e, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x10, 0x11, 0x12, - 0x1d, 0x0a, 0x19, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, - 0x45, 0x4e, 0x45, 0x52, 0x47, 0x59, 0x5f, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x10, 0x12, 0x12, 0x2c, - 0x0a, 0x28, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x46, 0x49, 0x4e, 0x41, 0x4c, 0x49, 0x5a, - 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x54, 0x45, 0x45, 0x5f, - 0x50, 0x41, 0x52, 0x41, 0x4d, 0x45, 0x54, 0x45, 0x52, 0x53, 0x10, 0x13, 0x2a, 0x8e, 0x04, 0x0a, - 0x0f, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, - 0x12, 0x11, 0x0a, 0x0d, 0x44, 0x45, 0x50, 0x4c, 0x4f, 0x59, 0x5f, 0x4d, 0x4f, 0x44, 0x55, 0x4c, - 0x45, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x49, 0x4e, 0x49, 0x54, 0x5f, 0x43, 0x4f, 0x4e, 0x54, - 0x52, 0x41, 0x43, 0x54, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, - 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x45, 0x52, 0x10, 0x03, - 0x12, 0x0d, 0x0a, 0x09, 0x41, 0x44, 0x44, 0x5f, 0x42, 0x41, 0x4b, 0x45, 0x52, 0x10, 0x04, 0x12, - 0x10, 0x0a, 0x0c, 0x52, 0x45, 0x4d, 0x4f, 0x56, 0x45, 0x5f, 0x42, 0x41, 0x4b, 0x45, 0x52, 0x10, - 0x05, 0x12, 0x16, 0x0a, 0x12, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x42, 0x41, 0x4b, 0x45, - 0x52, 0x5f, 0x53, 0x54, 0x41, 0x4b, 0x45, 0x10, 0x06, 0x12, 0x21, 0x0a, 0x1d, 0x55, 0x50, 0x44, - 0x41, 0x54, 0x45, 0x5f, 0x42, 0x41, 0x4b, 0x45, 0x52, 0x5f, 0x52, 0x45, 0x53, 0x54, 0x41, 0x4b, - 0x45, 0x5f, 0x45, 0x41, 0x52, 0x4e, 0x49, 0x4e, 0x47, 0x53, 0x10, 0x07, 0x12, 0x15, 0x0a, 0x11, - 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x42, 0x41, 0x4b, 0x45, 0x52, 0x5f, 0x4b, 0x45, 0x59, - 0x53, 0x10, 0x08, 0x12, 0x1a, 0x0a, 0x16, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x43, 0x52, - 0x45, 0x44, 0x45, 0x4e, 0x54, 0x49, 0x41, 0x4c, 0x5f, 0x4b, 0x45, 0x59, 0x53, 0x10, 0x09, 0x12, - 0x1d, 0x0a, 0x19, 0x45, 0x4e, 0x43, 0x52, 0x59, 0x50, 0x54, 0x45, 0x44, 0x5f, 0x41, 0x4d, 0x4f, - 0x55, 0x4e, 0x54, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x45, 0x52, 0x10, 0x0a, 0x12, 0x19, - 0x0a, 0x15, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x45, 0x52, 0x5f, 0x54, 0x4f, 0x5f, 0x45, 0x4e, - 0x43, 0x52, 0x59, 0x50, 0x54, 0x45, 0x44, 0x10, 0x0b, 0x12, 0x16, 0x0a, 0x12, 0x54, 0x52, 0x41, - 0x4e, 0x53, 0x46, 0x45, 0x52, 0x5f, 0x54, 0x4f, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x43, 0x10, - 0x0c, 0x12, 0x1a, 0x0a, 0x16, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x45, 0x52, 0x5f, 0x57, 0x49, - 0x54, 0x48, 0x5f, 0x53, 0x43, 0x48, 0x45, 0x44, 0x55, 0x4c, 0x45, 0x10, 0x0d, 0x12, 0x16, 0x0a, - 0x12, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x43, 0x52, 0x45, 0x44, 0x45, 0x4e, 0x54, 0x49, - 0x41, 0x4c, 0x53, 0x10, 0x0e, 0x12, 0x11, 0x0a, 0x0d, 0x52, 0x45, 0x47, 0x49, 0x53, 0x54, 0x45, - 0x52, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x10, 0x0f, 0x12, 0x16, 0x0a, 0x12, 0x54, 0x52, 0x41, 0x4e, - 0x53, 0x46, 0x45, 0x52, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x5f, 0x4d, 0x45, 0x4d, 0x4f, 0x10, 0x10, - 0x12, 0x27, 0x0a, 0x23, 0x45, 0x4e, 0x43, 0x52, 0x59, 0x50, 0x54, 0x45, 0x44, 0x5f, 0x41, 0x4d, - 0x4f, 0x55, 0x4e, 0x54, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x45, 0x52, 0x5f, 0x57, 0x49, - 0x54, 0x48, 0x5f, 0x4d, 0x45, 0x4d, 0x4f, 0x10, 0x11, 0x12, 0x23, 0x0a, 0x1f, 0x54, 0x52, 0x41, - 0x4e, 0x53, 0x46, 0x45, 0x52, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x5f, 0x53, 0x43, 0x48, 0x45, 0x44, - 0x55, 0x4c, 0x45, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x4d, 0x45, 0x4d, 0x4f, 0x10, 0x12, 0x12, 0x13, - 0x0a, 0x0f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x55, 0x52, 0x45, 0x5f, 0x42, 0x41, 0x4b, 0x45, - 0x52, 0x10, 0x13, 0x12, 0x18, 0x0a, 0x14, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x55, 0x52, 0x45, - 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x47, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x14, 0x2a, 0xb9, 0x01, - 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x12, 0x16, 0x0a, 0x12, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x56, 0x45, - 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x31, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, 0x50, 0x52, 0x4f, - 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x32, 0x10, - 0x01, 0x12, 0x16, 0x0a, 0x12, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x56, 0x45, - 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x33, 0x10, 0x02, 0x12, 0x16, 0x0a, 0x12, 0x50, 0x52, 0x4f, - 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x34, 0x10, - 0x03, 0x12, 0x16, 0x0a, 0x12, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x56, 0x45, - 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x35, 0x10, 0x04, 0x12, 0x16, 0x0a, 0x12, 0x50, 0x52, 0x4f, - 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x36, 0x10, - 0x05, 0x12, 0x16, 0x0a, 0x12, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x56, 0x45, - 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x37, 0x10, 0x06, 0x42, 0x35, 0x0a, 0x16, 0x63, 0x6f, 0x6d, - 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x67, 0x72, 0x70, 0x63, - 0x2e, 0x76, 0x32, 0x50, 0x01, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0xaa, 0x02, 0x12, 0x43, 0x6f, - 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x2e, 0x56, 0x32, - 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -} + 0x52, 0x61, 0x77, 0x51, 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, + 0x63, 0x61, 0x74, 0x65, 0x52, 0x0b, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x51, + 0x63, 0x12, 0x46, 0x0a, 0x0f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x5f, 0x70, + 0x72, 0x6f, 0x6f, 0x66, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, + 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x75, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x52, 0x0e, 0x73, 0x75, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x22, 0xd9, 0x04, 0x0a, 0x0b, 0x52, 0x6f, + 0x75, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x39, 0x0a, 0x0d, 0x63, 0x75, 0x72, + 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, + 0x2e, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x52, 0x0c, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x52, + 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x5b, 0x0a, 0x17, 0x68, 0x69, 0x67, 0x68, 0x65, 0x73, 0x74, 0x5f, + 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, + 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x61, 0x77, 0x51, 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x43, + 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x15, 0x68, 0x69, 0x67, 0x68, + 0x65, 0x73, 0x74, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x65, 0x64, 0x42, 0x6c, 0x6f, 0x63, + 0x6b, 0x12, 0x56, 0x0a, 0x16, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x5f, 0x72, 0x6f, + 0x75, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, + 0x32, 0x2e, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x48, 0x00, + 0x52, 0x14, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x54, + 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x88, 0x01, 0x01, 0x12, 0x33, 0x0a, 0x16, 0x72, 0x6f, 0x75, + 0x6e, 0x64, 0x5f, 0x65, 0x6c, 0x69, 0x67, 0x69, 0x62, 0x6c, 0x65, 0x5f, 0x74, 0x6f, 0x5f, 0x62, + 0x61, 0x6b, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x72, 0x6f, 0x75, 0x6e, 0x64, + 0x45, 0x6c, 0x69, 0x67, 0x69, 0x62, 0x6c, 0x65, 0x54, 0x6f, 0x42, 0x61, 0x6b, 0x65, 0x12, 0x39, + 0x0a, 0x0d, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, + 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x52, 0x0c, 0x63, 0x75, 0x72, + 0x72, 0x65, 0x6e, 0x74, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x6b, 0x0a, 0x1d, 0x6c, 0x61, 0x73, + 0x74, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x5f, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x23, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, + 0x2e, 0x52, 0x61, 0x77, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x48, 0x01, 0x52, 0x1a, 0x6c, 0x61, 0x73, 0x74, 0x45, 0x70, 0x6f, + 0x63, 0x68, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x88, 0x01, 0x01, 0x12, 0x40, 0x0a, 0x0f, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, + 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x17, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, + 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, + 0x74, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x70, 0x72, 0x65, + 0x76, 0x69, 0x6f, 0x75, 0x73, 0x5f, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, + 0x6f, 0x75, 0x74, 0x42, 0x20, 0x0a, 0x1e, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x65, 0x70, 0x6f, + 0x63, 0x68, 0x5f, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x65, 0x6e, 0x74, 0x72, 0x79, 0x22, 0x81, 0x01, 0x0a, 0x11, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x54, + 0x61, 0x62, 0x6c, 0x65, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x31, 0x0a, 0x15, 0x64, + 0x65, 0x61, 0x64, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, + 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x12, 0x64, 0x65, 0x61, 0x64, + 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x43, 0x61, 0x63, 0x68, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x39, + 0x0a, 0x0b, 0x6c, 0x69, 0x76, 0x65, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, + 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x52, 0x0a, 0x6c, + 0x69, 0x76, 0x65, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x22, 0x5f, 0x0a, 0x0c, 0x42, 0x72, 0x61, + 0x6e, 0x63, 0x68, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x12, 0x4f, 0x0a, 0x17, 0x62, 0x6c, 0x6f, + 0x63, 0x6b, 0x73, 0x5f, 0x61, 0x74, 0x5f, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x5f, 0x68, 0x65, + 0x69, 0x67, 0x68, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6f, 0x6e, + 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, + 0x48, 0x61, 0x73, 0x68, 0x52, 0x14, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x41, 0x74, 0x42, 0x72, + 0x61, 0x6e, 0x63, 0x68, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x22, 0x9e, 0x01, 0x0a, 0x12, 0x52, + 0x6f, 0x75, 0x6e, 0x64, 0x45, 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x42, 0x6c, 0x6f, 0x63, + 0x6b, 0x12, 0x2a, 0x0a, 0x05, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, + 0x2e, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x52, 0x05, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x2c, 0x0a, + 0x05, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, + 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x61, 0x6b, + 0x65, 0x72, 0x49, 0x64, 0x52, 0x05, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x12, 0x2e, 0x0a, 0x05, 0x62, + 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6f, 0x6e, + 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, + 0x48, 0x61, 0x73, 0x68, 0x52, 0x05, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x22, 0x69, 0x0a, 0x0f, 0x52, + 0x6f, 0x75, 0x6e, 0x64, 0x45, 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x51, 0x43, 0x12, 0x2a, + 0x0a, 0x05, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, + 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x6f, + 0x75, 0x6e, 0x64, 0x52, 0x05, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x2a, 0x0a, 0x05, 0x65, 0x70, + 0x6f, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x63, + 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x52, + 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x22, 0x8c, 0x03, 0x0a, 0x0d, 0x46, 0x75, 0x6c, 0x6c, 0x42, + 0x61, 0x6b, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3d, 0x0a, 0x0e, 0x62, 0x61, 0x6b, 0x65, + 0x72, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x16, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, + 0x2e, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x49, 0x64, 0x52, 0x0d, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x49, + 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x55, 0x0a, 0x13, 0x65, 0x6c, 0x65, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, + 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x45, 0x6c, 0x65, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x4b, 0x65, 0x79, 0x52, 0x11, 0x65, 0x6c, 0x65, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x4b, 0x65, 0x79, 0x12, 0x58, + 0x0a, 0x14, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x69, + 0x66, 0x79, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x63, + 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x61, 0x6b, + 0x65, 0x72, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x65, 0x72, 0x69, 0x66, + 0x79, 0x4b, 0x65, 0x79, 0x52, 0x12, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, + 0x65, 0x72, 0x69, 0x66, 0x79, 0x4b, 0x65, 0x79, 0x12, 0x5e, 0x0a, 0x16, 0x61, 0x67, 0x67, 0x72, + 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x5f, 0x6b, + 0x65, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, + 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x41, 0x67, + 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x4b, + 0x65, 0x79, 0x52, 0x14, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, + 0x65, 0x72, 0x69, 0x66, 0x79, 0x4b, 0x65, 0x79, 0x12, 0x2b, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x6b, + 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, + 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x05, + 0x73, 0x74, 0x61, 0x6b, 0x65, 0x22, 0x31, 0x0a, 0x19, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x48, 0x61, + 0x73, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xfb, 0x02, 0x0a, 0x13, 0x42, 0x61, 0x6b, + 0x65, 0x72, 0x73, 0x41, 0x6e, 0x64, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x73, + 0x12, 0x34, 0x0a, 0x06, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x1c, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, + 0x2e, 0x46, 0x75, 0x6c, 0x6c, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, + 0x62, 0x61, 0x6b, 0x65, 0x72, 0x73, 0x12, 0x36, 0x0a, 0x0a, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, + 0x7a, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x6f, 0x6e, + 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x61, 0x6b, 0x65, 0x72, + 0x49, 0x64, 0x52, 0x0a, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x73, 0x12, 0x41, + 0x0a, 0x11, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x73, 0x74, + 0x61, 0x6b, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, + 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, + 0x52, 0x0f, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x6b, + 0x65, 0x12, 0x49, 0x0a, 0x15, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x5f, 0x74, + 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x6b, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, + 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x13, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, + 0x65, 0x72, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x12, 0x68, 0x0a, 0x1b, + 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6d, + 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x28, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, + 0x32, 0x2e, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, + 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x48, 0x61, 0x73, 0x68, 0x52, 0x19, 0x66, 0x69, 0x6e, + 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, + 0x65, 0x65, 0x48, 0x61, 0x73, 0x68, 0x22, 0xfb, 0x02, 0x0a, 0x0b, 0x45, 0x70, 0x6f, 0x63, 0x68, + 0x42, 0x61, 0x6b, 0x65, 0x72, 0x73, 0x12, 0x56, 0x0a, 0x15, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, + 0x75, 0x73, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x5f, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x73, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, + 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x73, 0x41, 0x6e, 0x64, 0x46, + 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x73, 0x52, 0x13, 0x70, 0x72, 0x65, 0x76, 0x69, + 0x6f, 0x75, 0x73, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x73, 0x12, 0x59, + 0x0a, 0x14, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x5f, + 0x62, 0x61, 0x6b, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x63, + 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x61, 0x6b, + 0x65, 0x72, 0x73, 0x41, 0x6e, 0x64, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x73, + 0x48, 0x00, 0x52, 0x12, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x45, 0x70, 0x6f, 0x63, 0x68, + 0x42, 0x61, 0x6b, 0x65, 0x72, 0x73, 0x88, 0x01, 0x01, 0x12, 0x53, 0x0a, 0x11, 0x6e, 0x65, 0x78, + 0x74, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x5f, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x73, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, + 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x73, 0x41, 0x6e, 0x64, 0x46, 0x69, + 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x73, 0x48, 0x01, 0x52, 0x0f, 0x6e, 0x65, 0x78, 0x74, + 0x45, 0x70, 0x6f, 0x63, 0x68, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x73, 0x88, 0x01, 0x01, 0x12, 0x35, + 0x0a, 0x0b, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x79, 0x64, 0x61, 0x79, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, + 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x52, 0x0a, 0x6e, 0x65, 0x78, 0x74, 0x50, + 0x61, 0x79, 0x64, 0x61, 0x79, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, + 0x74, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x5f, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x73, 0x42, 0x14, + 0x0a, 0x12, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x5f, 0x62, 0x61, + 0x6b, 0x65, 0x72, 0x73, 0x22, 0xec, 0x01, 0x0a, 0x0f, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, + 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x35, 0x0a, 0x0b, 0x66, 0x69, 0x72, 0x73, + 0x74, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, + 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x70, + 0x6f, 0x63, 0x68, 0x52, 0x0a, 0x66, 0x69, 0x72, 0x73, 0x74, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x12, + 0x4f, 0x0a, 0x14, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, + 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x69, + 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x12, 0x66, 0x69, + 0x72, 0x73, 0x74, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x73, + 0x12, 0x51, 0x0a, 0x15, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, + 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, + 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x13, + 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x6f, + 0x75, 0x74, 0x73, 0x22, 0xa7, 0x02, 0x0a, 0x14, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, + 0x65, 0x64, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x3b, 0x0a, 0x0c, + 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, + 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x52, 0x0b, 0x73, 0x69, + 0x67, 0x6e, 0x65, 0x64, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x40, 0x0a, 0x10, 0x73, 0x69, 0x67, + 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, + 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0f, 0x73, 0x69, 0x67, 0x6e, + 0x61, 0x74, 0x75, 0x72, 0x65, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x4f, 0x0a, 0x13, 0x61, + 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, + 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, + 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x51, 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x53, + 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x12, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, + 0x61, 0x74, 0x65, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x3f, 0x0a, 0x0b, + 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, + 0x32, 0x2e, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x49, 0x6e, 0x64, 0x65, 0x78, + 0x52, 0x0b, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x22, 0xb1, 0x01, + 0x0a, 0x0e, 0x51, 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, + 0x12, 0x45, 0x0a, 0x0f, 0x71, 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x6f, 0x6e, 0x63, + 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x51, 0x75, 0x6f, 0x72, 0x75, 0x6d, + 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x0e, 0x71, 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x4d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x58, 0x0a, 0x15, 0x61, 0x67, 0x67, 0x72, 0x65, + 0x67, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, + 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, + 0x64, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x52, 0x14, 0x61, 0x67, 0x67, + 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x73, 0x22, 0x77, 0x0a, 0x1c, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x44, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x12, 0x45, 0x0a, 0x0d, 0x67, 0x65, 0x6e, 0x65, 0x73, 0x69, 0x73, 0x5f, 0x69, 0x6e, 0x64, + 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, + 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x73, 0x69, 0x73, + 0x49, 0x6e, 0x64, 0x65, 0x78, 0x48, 0x00, 0x52, 0x0c, 0x67, 0x65, 0x6e, 0x65, 0x73, 0x69, 0x73, + 0x49, 0x6e, 0x64, 0x65, 0x78, 0x88, 0x01, 0x01, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x67, 0x65, 0x6e, + 0x65, 0x73, 0x69, 0x73, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x22, 0xa2, 0x0a, 0x0a, 0x17, 0x43, + 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x3d, 0x0a, 0x0d, 0x67, 0x65, 0x6e, 0x65, 0x73, 0x69, + 0x73, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, + 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, + 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x52, 0x0c, 0x67, 0x65, 0x6e, 0x65, 0x73, 0x69, 0x73, + 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x5c, 0x0a, 0x17, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, + 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, + 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, + 0x74, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x15, 0x70, 0x65, + 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x12, 0x3d, 0x0a, 0x0c, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x6f, 0x6e, 0x63, + 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0b, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x12, 0x45, 0x0a, 0x1f, 0x6e, 0x6f, 0x6e, 0x5f, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, + 0x7a, 0x65, 0x64, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x1c, 0x6e, 0x6f, 0x6e, + 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x45, 0x0a, 0x1f, 0x74, 0x72, 0x61, + 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x70, + 0x75, 0x72, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x1c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, + 0x61, 0x62, 0x6c, 0x65, 0x50, 0x75, 0x72, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, + 0x12, 0x41, 0x0a, 0x0b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, + 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x61, 0x62, 0x6c, 0x65, + 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x61, + 0x62, 0x6c, 0x65, 0x12, 0x37, 0x0a, 0x08, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x65, 0x73, 0x18, + 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, + 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x42, 0x6c, 0x6f, 0x63, + 0x6b, 0x73, 0x52, 0x08, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x65, 0x73, 0x12, 0x55, 0x0a, 0x15, + 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x62, + 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x6f, + 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x6f, 0x75, 0x6e, + 0x64, 0x45, 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x13, + 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x45, 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x42, 0x6c, 0x6f, + 0x63, 0x6b, 0x73, 0x12, 0x4c, 0x0a, 0x12, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x65, 0x78, 0x69, + 0x73, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x71, 0x63, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, + 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x45, 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x51, 0x43, 0x52, + 0x10, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x45, 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x51, 0x63, + 0x73, 0x12, 0x54, 0x0a, 0x14, 0x67, 0x65, 0x6e, 0x65, 0x73, 0x69, 0x73, 0x5f, 0x62, 0x6c, 0x6f, + 0x63, 0x6b, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x22, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, + 0x41, 0x62, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, + 0x67, 0x68, 0x74, 0x52, 0x12, 0x67, 0x65, 0x6e, 0x65, 0x73, 0x69, 0x73, 0x42, 0x6c, 0x6f, 0x63, + 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x4a, 0x0a, 0x14, 0x6c, 0x61, 0x73, 0x74, 0x5f, + 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, + 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, + 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x52, + 0x12, 0x6c, 0x61, 0x73, 0x74, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x42, 0x6c, + 0x6f, 0x63, 0x6b, 0x12, 0x59, 0x0a, 0x1b, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x66, 0x69, 0x6e, 0x61, + 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x65, 0x69, 0x67, + 0x68, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, + 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, + 0x69, 0x67, 0x68, 0x74, 0x52, 0x18, 0x6c, 0x61, 0x73, 0x74, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, + 0x7a, 0x65, 0x64, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x64, + 0x0a, 0x19, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x0d, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, + 0x32, 0x2e, 0x52, 0x61, 0x77, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x48, 0x00, 0x52, 0x17, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, + 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x88, 0x01, 0x01, 0x12, 0x3d, 0x0a, 0x0c, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x5f, 0x62, 0x61, + 0x6b, 0x65, 0x72, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x6f, 0x6e, + 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, + 0x42, 0x61, 0x6b, 0x65, 0x72, 0x73, 0x52, 0x0b, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x42, 0x61, 0x6b, + 0x65, 0x72, 0x73, 0x12, 0x4e, 0x0a, 0x10, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x6d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, + 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x69, + 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x48, 0x01, 0x52, + 0x0f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, + 0x88, 0x01, 0x01, 0x12, 0x44, 0x0a, 0x0e, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x5f, + 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6f, + 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x6f, 0x63, + 0x6b, 0x48, 0x61, 0x73, 0x68, 0x48, 0x02, 0x52, 0x0d, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, + 0x6c, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x88, 0x01, 0x01, 0x42, 0x1c, 0x0a, 0x1a, 0x5f, 0x6c, 0x61, + 0x74, 0x65, 0x73, 0x74, 0x5f, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x74, 0x69, 0x6d, 0x65, + 0x6f, 0x75, 0x74, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x42, 0x11, 0x0a, 0x0f, + 0x5f, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x22, + 0x95, 0x01, 0x0a, 0x0e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x65, 0x6e, 0x64, 0x69, + 0x6e, 0x67, 0x12, 0x40, 0x0a, 0x0d, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x6e, + 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6e, 0x63, + 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x0c, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, + 0x6e, 0x64, 0x65, 0x78, 0x12, 0x41, 0x0a, 0x0f, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x74, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, + 0x63, 0x6f, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0e, 0x66, 0x69, 0x72, 0x73, 0x74, 0x54, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2a, 0x6a, 0x0a, 0x0a, 0x4f, 0x70, 0x65, 0x6e, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1c, 0x0a, 0x18, 0x4f, 0x50, 0x45, 0x4e, 0x5f, 0x53, 0x54, + 0x41, 0x54, 0x55, 0x53, 0x5f, 0x4f, 0x50, 0x45, 0x4e, 0x5f, 0x46, 0x4f, 0x52, 0x5f, 0x41, 0x4c, + 0x4c, 0x10, 0x00, 0x12, 0x1e, 0x0a, 0x1a, 0x4f, 0x50, 0x45, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, + 0x55, 0x53, 0x5f, 0x43, 0x4c, 0x4f, 0x53, 0x45, 0x44, 0x5f, 0x46, 0x4f, 0x52, 0x5f, 0x4e, 0x45, + 0x57, 0x10, 0x01, 0x12, 0x1e, 0x0a, 0x1a, 0x4f, 0x50, 0x45, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, + 0x55, 0x53, 0x5f, 0x43, 0x4c, 0x4f, 0x53, 0x45, 0x44, 0x5f, 0x46, 0x4f, 0x52, 0x5f, 0x41, 0x4c, + 0x4c, 0x10, 0x02, 0x2a, 0x21, 0x0a, 0x0f, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x56, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x06, 0x0a, 0x02, 0x56, 0x30, 0x10, 0x00, 0x12, 0x06, + 0x0a, 0x02, 0x56, 0x31, 0x10, 0x01, 0x2a, 0x49, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, + 0x74, 0x69, 0x61, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x17, 0x43, 0x52, 0x45, 0x44, + 0x45, 0x4e, 0x54, 0x49, 0x41, 0x4c, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x4e, 0x49, 0x54, + 0x49, 0x41, 0x4c, 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x43, 0x52, 0x45, 0x44, 0x45, 0x4e, 0x54, + 0x49, 0x41, 0x4c, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4e, 0x4f, 0x52, 0x4d, 0x41, 0x4c, 0x10, + 0x01, 0x2a, 0xfc, 0x04, 0x0a, 0x0a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, + 0x12, 0x13, 0x0a, 0x0f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x4f, + 0x43, 0x4f, 0x4c, 0x10, 0x00, 0x12, 0x1e, 0x0a, 0x1a, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, + 0x45, 0x4c, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x49, 0x46, 0x46, 0x49, 0x43, 0x55, + 0x4c, 0x54, 0x59, 0x10, 0x01, 0x12, 0x1a, 0x0a, 0x16, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, + 0x45, 0x55, 0x52, 0x4f, 0x5f, 0x50, 0x45, 0x52, 0x5f, 0x45, 0x4e, 0x45, 0x52, 0x47, 0x59, 0x10, + 0x02, 0x12, 0x1d, 0x0a, 0x19, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x4d, 0x49, 0x43, 0x52, + 0x4f, 0x5f, 0x43, 0x43, 0x44, 0x5f, 0x50, 0x45, 0x52, 0x5f, 0x45, 0x55, 0x52, 0x4f, 0x10, 0x03, + 0x12, 0x1d, 0x0a, 0x19, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, + 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x41, 0x43, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x10, 0x04, 0x12, + 0x1c, 0x0a, 0x18, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x4d, 0x49, 0x4e, 0x54, 0x5f, 0x44, + 0x49, 0x53, 0x54, 0x52, 0x49, 0x42, 0x55, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x05, 0x12, 0x27, 0x0a, + 0x23, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x41, 0x43, 0x54, + 0x49, 0x4f, 0x4e, 0x5f, 0x46, 0x45, 0x45, 0x5f, 0x44, 0x49, 0x53, 0x54, 0x52, 0x49, 0x42, 0x55, + 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x06, 0x12, 0x16, 0x0a, 0x12, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, + 0x5f, 0x47, 0x41, 0x53, 0x5f, 0x52, 0x45, 0x57, 0x41, 0x52, 0x44, 0x53, 0x10, 0x07, 0x12, 0x1a, + 0x0a, 0x16, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x50, 0x4f, 0x4f, 0x4c, 0x5f, 0x50, 0x41, + 0x52, 0x41, 0x4d, 0x45, 0x54, 0x45, 0x52, 0x53, 0x10, 0x08, 0x12, 0x19, 0x0a, 0x15, 0x41, 0x44, + 0x44, 0x5f, 0x41, 0x4e, 0x4f, 0x4e, 0x59, 0x4d, 0x49, 0x54, 0x59, 0x5f, 0x52, 0x45, 0x56, 0x4f, + 0x4b, 0x45, 0x52, 0x10, 0x09, 0x12, 0x19, 0x0a, 0x15, 0x41, 0x44, 0x44, 0x5f, 0x49, 0x44, 0x45, + 0x4e, 0x54, 0x49, 0x54, 0x59, 0x5f, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x44, 0x45, 0x52, 0x10, 0x0a, + 0x12, 0x14, 0x0a, 0x10, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x52, 0x4f, 0x4f, 0x54, 0x5f, + 0x4b, 0x45, 0x59, 0x53, 0x10, 0x0b, 0x12, 0x16, 0x0a, 0x12, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, + 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x31, 0x5f, 0x4b, 0x45, 0x59, 0x53, 0x10, 0x0c, 0x12, 0x16, + 0x0a, 0x12, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x32, 0x5f, + 0x4b, 0x45, 0x59, 0x53, 0x10, 0x0d, 0x12, 0x1e, 0x0a, 0x1a, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, + 0x5f, 0x43, 0x4f, 0x4f, 0x4c, 0x44, 0x4f, 0x57, 0x4e, 0x5f, 0x50, 0x41, 0x52, 0x41, 0x4d, 0x45, + 0x54, 0x45, 0x52, 0x53, 0x10, 0x0e, 0x12, 0x1a, 0x0a, 0x16, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, + 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x41, 0x4d, 0x45, 0x54, 0x45, 0x52, 0x53, + 0x10, 0x0f, 0x12, 0x1d, 0x0a, 0x19, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x54, 0x49, 0x4d, + 0x45, 0x4f, 0x55, 0x54, 0x5f, 0x50, 0x41, 0x52, 0x41, 0x4d, 0x45, 0x54, 0x45, 0x52, 0x53, 0x10, + 0x10, 0x12, 0x19, 0x0a, 0x15, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x4d, 0x49, 0x4e, 0x5f, + 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x10, 0x11, 0x12, 0x1d, 0x0a, 0x19, + 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x45, 0x4e, 0x45, + 0x52, 0x47, 0x59, 0x5f, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x10, 0x12, 0x12, 0x2c, 0x0a, 0x28, 0x55, + 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x46, 0x49, 0x4e, 0x41, 0x4c, 0x49, 0x5a, 0x41, 0x54, 0x49, + 0x4f, 0x4e, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x54, 0x45, 0x45, 0x5f, 0x50, 0x41, 0x52, + 0x41, 0x4d, 0x45, 0x54, 0x45, 0x52, 0x53, 0x10, 0x13, 0x12, 0x25, 0x0a, 0x21, 0x55, 0x50, 0x44, + 0x41, 0x54, 0x45, 0x5f, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x41, 0x54, 0x4f, 0x52, 0x5f, 0x53, 0x43, + 0x4f, 0x52, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x41, 0x4d, 0x45, 0x54, 0x45, 0x52, 0x53, 0x10, 0x14, + 0x2a, 0x8e, 0x04, 0x0a, 0x0f, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x54, 0x79, 0x70, 0x65, 0x12, 0x11, 0x0a, 0x0d, 0x44, 0x45, 0x50, 0x4c, 0x4f, 0x59, 0x5f, 0x4d, + 0x4f, 0x44, 0x55, 0x4c, 0x45, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x49, 0x4e, 0x49, 0x54, 0x5f, + 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x41, 0x43, 0x54, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x55, 0x50, + 0x44, 0x41, 0x54, 0x45, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, + 0x45, 0x52, 0x10, 0x03, 0x12, 0x0d, 0x0a, 0x09, 0x41, 0x44, 0x44, 0x5f, 0x42, 0x41, 0x4b, 0x45, + 0x52, 0x10, 0x04, 0x12, 0x10, 0x0a, 0x0c, 0x52, 0x45, 0x4d, 0x4f, 0x56, 0x45, 0x5f, 0x42, 0x41, + 0x4b, 0x45, 0x52, 0x10, 0x05, 0x12, 0x16, 0x0a, 0x12, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, + 0x42, 0x41, 0x4b, 0x45, 0x52, 0x5f, 0x53, 0x54, 0x41, 0x4b, 0x45, 0x10, 0x06, 0x12, 0x21, 0x0a, + 0x1d, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x42, 0x41, 0x4b, 0x45, 0x52, 0x5f, 0x52, 0x45, + 0x53, 0x54, 0x41, 0x4b, 0x45, 0x5f, 0x45, 0x41, 0x52, 0x4e, 0x49, 0x4e, 0x47, 0x53, 0x10, 0x07, + 0x12, 0x15, 0x0a, 0x11, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x42, 0x41, 0x4b, 0x45, 0x52, + 0x5f, 0x4b, 0x45, 0x59, 0x53, 0x10, 0x08, 0x12, 0x1a, 0x0a, 0x16, 0x55, 0x50, 0x44, 0x41, 0x54, + 0x45, 0x5f, 0x43, 0x52, 0x45, 0x44, 0x45, 0x4e, 0x54, 0x49, 0x41, 0x4c, 0x5f, 0x4b, 0x45, 0x59, + 0x53, 0x10, 0x09, 0x12, 0x1d, 0x0a, 0x19, 0x45, 0x4e, 0x43, 0x52, 0x59, 0x50, 0x54, 0x45, 0x44, + 0x5f, 0x41, 0x4d, 0x4f, 0x55, 0x4e, 0x54, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x45, 0x52, + 0x10, 0x0a, 0x12, 0x19, 0x0a, 0x15, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x45, 0x52, 0x5f, 0x54, + 0x4f, 0x5f, 0x45, 0x4e, 0x43, 0x52, 0x59, 0x50, 0x54, 0x45, 0x44, 0x10, 0x0b, 0x12, 0x16, 0x0a, + 0x12, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x45, 0x52, 0x5f, 0x54, 0x4f, 0x5f, 0x50, 0x55, 0x42, + 0x4c, 0x49, 0x43, 0x10, 0x0c, 0x12, 0x1a, 0x0a, 0x16, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x45, + 0x52, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x5f, 0x53, 0x43, 0x48, 0x45, 0x44, 0x55, 0x4c, 0x45, 0x10, + 0x0d, 0x12, 0x16, 0x0a, 0x12, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x43, 0x52, 0x45, 0x44, + 0x45, 0x4e, 0x54, 0x49, 0x41, 0x4c, 0x53, 0x10, 0x0e, 0x12, 0x11, 0x0a, 0x0d, 0x52, 0x45, 0x47, + 0x49, 0x53, 0x54, 0x45, 0x52, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x10, 0x0f, 0x12, 0x16, 0x0a, 0x12, + 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x45, 0x52, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x5f, 0x4d, 0x45, + 0x4d, 0x4f, 0x10, 0x10, 0x12, 0x27, 0x0a, 0x23, 0x45, 0x4e, 0x43, 0x52, 0x59, 0x50, 0x54, 0x45, + 0x44, 0x5f, 0x41, 0x4d, 0x4f, 0x55, 0x4e, 0x54, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x45, + 0x52, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x5f, 0x4d, 0x45, 0x4d, 0x4f, 0x10, 0x11, 0x12, 0x23, 0x0a, + 0x1f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x45, 0x52, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x5f, 0x53, + 0x43, 0x48, 0x45, 0x44, 0x55, 0x4c, 0x45, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x4d, 0x45, 0x4d, 0x4f, + 0x10, 0x12, 0x12, 0x13, 0x0a, 0x0f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x55, 0x52, 0x45, 0x5f, + 0x42, 0x41, 0x4b, 0x45, 0x52, 0x10, 0x13, 0x12, 0x18, 0x0a, 0x14, 0x43, 0x4f, 0x4e, 0x46, 0x49, + 0x47, 0x55, 0x52, 0x45, 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x47, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, + 0x14, 0x2a, 0xd1, 0x01, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x56, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x12, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, + 0x4c, 0x5f, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x31, 0x10, 0x00, 0x12, 0x16, 0x0a, + 0x12, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, + 0x4e, 0x5f, 0x32, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, + 0x4c, 0x5f, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x33, 0x10, 0x02, 0x12, 0x16, 0x0a, + 0x12, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, + 0x4e, 0x5f, 0x34, 0x10, 0x03, 0x12, 0x16, 0x0a, 0x12, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, + 0x4c, 0x5f, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x35, 0x10, 0x04, 0x12, 0x16, 0x0a, + 0x12, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, + 0x4e, 0x5f, 0x36, 0x10, 0x05, 0x12, 0x16, 0x0a, 0x12, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, + 0x4c, 0x5f, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x37, 0x10, 0x06, 0x12, 0x16, 0x0a, + 0x12, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, + 0x4e, 0x5f, 0x38, 0x10, 0x07, 0x42, 0x35, 0x0a, 0x16, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x6f, 0x6e, + 0x63, 0x6f, 0x72, 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x32, 0x50, + 0x01, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0xaa, 0x02, 0x12, 0x43, 0x6f, 0x6e, 0x63, 0x6f, 0x72, + 0x64, 0x69, 0x75, 0x6d, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x2e, 0x56, 0x32, 0x62, 0x06, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x33, +}) var ( file_v2_concordium_types_proto_rawDescOnce sync.Once - file_v2_concordium_types_proto_rawDescData = file_v2_concordium_types_proto_rawDesc + file_v2_concordium_types_proto_rawDescData []byte ) func file_v2_concordium_types_proto_rawDescGZIP() []byte { file_v2_concordium_types_proto_rawDescOnce.Do(func() { - file_v2_concordium_types_proto_rawDescData = protoimpl.X.CompressGZIP(file_v2_concordium_types_proto_rawDescData) + file_v2_concordium_types_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_v2_concordium_types_proto_rawDesc), len(file_v2_concordium_types_proto_rawDesc))) }) return file_v2_concordium_types_proto_rawDescData } var file_v2_concordium_types_proto_enumTypes = make([]protoimpl.EnumInfo, 9) -var file_v2_concordium_types_proto_msgTypes = make([]protoimpl.MessageInfo, 315) +var file_v2_concordium_types_proto_msgTypes = make([]protoimpl.MessageInfo, 346) var file_v2_concordium_types_proto_goTypes = []any{ (OpenStatus)(0), // 0: concordium.v2.OpenStatus (ContractVersion)(0), // 1: concordium.v2.ContractVersion @@ -28808,232 +31418,263 @@ var file_v2_concordium_types_proto_goTypes = []any{ (*ElectionDifficulty)(nil), // 99: concordium.v2.ElectionDifficulty (*TimeoutParameters)(nil), // 100: concordium.v2.TimeoutParameters (*FinalizationCommitteeParameters)(nil), // 101: concordium.v2.FinalizationCommitteeParameters - (*ConsensusParametersV1)(nil), // 102: concordium.v2.ConsensusParametersV1 - (*ExchangeRate)(nil), // 103: concordium.v2.ExchangeRate - (*Ratio)(nil), // 104: concordium.v2.Ratio - (*UpdatePublicKey)(nil), // 105: concordium.v2.UpdatePublicKey - (*UpdateKeysThreshold)(nil), // 106: concordium.v2.UpdateKeysThreshold - (*UpdateKeysIndex)(nil), // 107: concordium.v2.UpdateKeysIndex - (*HigherLevelKeys)(nil), // 108: concordium.v2.HigherLevelKeys - (*AccessStructure)(nil), // 109: concordium.v2.AccessStructure - (*AuthorizationsV0)(nil), // 110: concordium.v2.AuthorizationsV0 - (*AuthorizationsV1)(nil), // 111: concordium.v2.AuthorizationsV1 - (*Description)(nil), // 112: concordium.v2.Description - (*ArInfo)(nil), // 113: concordium.v2.ArInfo - (*IpIdentity)(nil), // 114: concordium.v2.IpIdentity - (*IpInfo)(nil), // 115: concordium.v2.IpInfo - (*DurationSeconds)(nil), // 116: concordium.v2.DurationSeconds - (*InclusiveRangeAmountFraction)(nil), // 117: concordium.v2.InclusiveRangeAmountFraction - (*CommissionRanges)(nil), // 118: concordium.v2.CommissionRanges - (*CapitalBound)(nil), // 119: concordium.v2.CapitalBound - (*LeverageFactor)(nil), // 120: concordium.v2.LeverageFactor - (*Epoch)(nil), // 121: concordium.v2.Epoch - (*Round)(nil), // 122: concordium.v2.Round - (*RewardPeriodLength)(nil), // 123: concordium.v2.RewardPeriodLength - (*MintRate)(nil), // 124: concordium.v2.MintRate - (*CooldownParametersCpv1)(nil), // 125: concordium.v2.CooldownParametersCpv1 - (*PoolParametersCpv1)(nil), // 126: concordium.v2.PoolParametersCpv1 - (*TimeParametersCpv1)(nil), // 127: concordium.v2.TimeParametersCpv1 - (*MintDistributionCpv1)(nil), // 128: concordium.v2.MintDistributionCpv1 - (*ProtocolUpdate)(nil), // 129: concordium.v2.ProtocolUpdate - (*MintDistributionCpv0)(nil), // 130: concordium.v2.MintDistributionCpv0 - (*TransactionFeeDistribution)(nil), // 131: concordium.v2.TransactionFeeDistribution - (*GasRewards)(nil), // 132: concordium.v2.GasRewards - (*GasRewardsCpv2)(nil), // 133: concordium.v2.GasRewardsCpv2 - (*BakerStakeThreshold)(nil), // 134: concordium.v2.BakerStakeThreshold - (*RootUpdate)(nil), // 135: concordium.v2.RootUpdate - (*Level1Update)(nil), // 136: concordium.v2.Level1Update - (*UpdatePayload)(nil), // 137: concordium.v2.UpdatePayload - (*AccountTransactionDetails)(nil), // 138: concordium.v2.AccountTransactionDetails - (*AccountCreationDetails)(nil), // 139: concordium.v2.AccountCreationDetails - (*TransactionTime)(nil), // 140: concordium.v2.TransactionTime - (*UpdateDetails)(nil), // 141: concordium.v2.UpdateDetails - (*BlockItemSummary)(nil), // 142: concordium.v2.BlockItemSummary - (*GenesisIndex)(nil), // 143: concordium.v2.GenesisIndex - (*ConsensusInfo)(nil), // 144: concordium.v2.ConsensusInfo - (*ArrivedBlockInfo)(nil), // 145: concordium.v2.ArrivedBlockInfo - (*CryptographicParameters)(nil), // 146: concordium.v2.CryptographicParameters - (*BlockInfo)(nil), // 147: concordium.v2.BlockInfo - (*PoolInfoRequest)(nil), // 148: concordium.v2.PoolInfoRequest - (*PoolPendingChange)(nil), // 149: concordium.v2.PoolPendingChange - (*PoolCurrentPaydayInfo)(nil), // 150: concordium.v2.PoolCurrentPaydayInfo - (*PoolInfoResponse)(nil), // 151: concordium.v2.PoolInfoResponse - (*PassiveDelegationInfo)(nil), // 152: concordium.v2.PassiveDelegationInfo - (*BlocksAtHeightRequest)(nil), // 153: concordium.v2.BlocksAtHeightRequest - (*BlocksAtHeightResponse)(nil), // 154: concordium.v2.BlocksAtHeightResponse - (*TokenomicsInfo)(nil), // 155: concordium.v2.TokenomicsInfo - (*InvokeInstanceRequest)(nil), // 156: concordium.v2.InvokeInstanceRequest - (*InvokeInstanceResponse)(nil), // 157: concordium.v2.InvokeInstanceResponse - (*GetPoolDelegatorsRequest)(nil), // 158: concordium.v2.GetPoolDelegatorsRequest - (*DelegatorInfo)(nil), // 159: concordium.v2.DelegatorInfo - (*DelegatorRewardPeriodInfo)(nil), // 160: concordium.v2.DelegatorRewardPeriodInfo - (*Branch)(nil), // 161: concordium.v2.Branch - (*LeadershipElectionNonce)(nil), // 162: concordium.v2.LeadershipElectionNonce - (*ElectionInfo)(nil), // 163: concordium.v2.ElectionInfo - (*BlockSpecialEvent)(nil), // 164: concordium.v2.BlockSpecialEvent - (*PendingUpdate)(nil), // 165: concordium.v2.PendingUpdate - (*NextUpdateSequenceNumbers)(nil), // 166: concordium.v2.NextUpdateSequenceNumbers - (*IpAddress)(nil), // 167: concordium.v2.IpAddress - (*Port)(nil), // 168: concordium.v2.Port - (*IpSocketAddress)(nil), // 169: concordium.v2.IpSocketAddress - (*PeerId)(nil), // 170: concordium.v2.PeerId - (*BannedPeer)(nil), // 171: concordium.v2.BannedPeer - (*BannedPeers)(nil), // 172: concordium.v2.BannedPeers - (*PeerToBan)(nil), // 173: concordium.v2.PeerToBan - (*DumpRequest)(nil), // 174: concordium.v2.DumpRequest - (*PeersInfo)(nil), // 175: concordium.v2.PeersInfo - (*NodeInfo)(nil), // 176: concordium.v2.NodeInfo - (*SendBlockItemRequest)(nil), // 177: concordium.v2.SendBlockItemRequest - (*CredentialDeployment)(nil), // 178: concordium.v2.CredentialDeployment - (*Signature)(nil), // 179: concordium.v2.Signature - (*SignatureMap)(nil), // 180: concordium.v2.SignatureMap - (*AccountSignatureMap)(nil), // 181: concordium.v2.AccountSignatureMap - (*AccountTransactionSignature)(nil), // 182: concordium.v2.AccountTransactionSignature - (*AccountTransactionHeader)(nil), // 183: concordium.v2.AccountTransactionHeader - (*InitContractPayload)(nil), // 184: concordium.v2.InitContractPayload - (*UpdateContractPayload)(nil), // 185: concordium.v2.UpdateContractPayload - (*TransferPayload)(nil), // 186: concordium.v2.TransferPayload - (*TransferWithMemoPayload)(nil), // 187: concordium.v2.TransferWithMemoPayload - (*AccountTransactionPayload)(nil), // 188: concordium.v2.AccountTransactionPayload - (*PreAccountTransaction)(nil), // 189: concordium.v2.PreAccountTransaction - (*AccountTransaction)(nil), // 190: concordium.v2.AccountTransaction - (*UpdateInstructionHeader)(nil), // 191: concordium.v2.UpdateInstructionHeader - (*UpdateInstructionPayload)(nil), // 192: concordium.v2.UpdateInstructionPayload - (*UpdateInstruction)(nil), // 193: concordium.v2.UpdateInstruction - (*AccountTransactionSignHash)(nil), // 194: concordium.v2.AccountTransactionSignHash - (*CredentialsPerBlockLimit)(nil), // 195: concordium.v2.CredentialsPerBlockLimit - (*ChainParametersV0)(nil), // 196: concordium.v2.ChainParametersV0 - (*ChainParametersV1)(nil), // 197: concordium.v2.ChainParametersV1 - (*ChainParametersV2)(nil), // 198: concordium.v2.ChainParametersV2 - (*ChainParameters)(nil), // 199: concordium.v2.ChainParameters - (*FinalizationSummaryParty)(nil), // 200: concordium.v2.FinalizationSummaryParty - (*FinalizationIndex)(nil), // 201: concordium.v2.FinalizationIndex - (*FinalizationSummary)(nil), // 202: concordium.v2.FinalizationSummary - (*BlockFinalizationSummary)(nil), // 203: concordium.v2.BlockFinalizationSummary - (*BlockItem)(nil), // 204: concordium.v2.BlockItem - (*BakerRewardPeriodInfo)(nil), // 205: concordium.v2.BakerRewardPeriodInfo - (*QuorumSignature)(nil), // 206: concordium.v2.QuorumSignature - (*QuorumCertificate)(nil), // 207: concordium.v2.QuorumCertificate - (*FinalizerRound)(nil), // 208: concordium.v2.FinalizerRound - (*TimeoutSignature)(nil), // 209: concordium.v2.TimeoutSignature - (*TimeoutCertificate)(nil), // 210: concordium.v2.TimeoutCertificate - (*SuccessorProof)(nil), // 211: concordium.v2.SuccessorProof - (*EpochFinalizationEntry)(nil), // 212: concordium.v2.EpochFinalizationEntry - (*BlockCertificates)(nil), // 213: concordium.v2.BlockCertificates - (*WinningBaker)(nil), // 214: concordium.v2.WinningBaker - (*DryRunRequest)(nil), // 215: concordium.v2.DryRunRequest - (*DryRunStateQuery)(nil), // 216: concordium.v2.DryRunStateQuery - (*DryRunInvokeInstance)(nil), // 217: concordium.v2.DryRunInvokeInstance - (*DryRunStateOperation)(nil), // 218: concordium.v2.DryRunStateOperation - (*DryRunMintToAccount)(nil), // 219: concordium.v2.DryRunMintToAccount - (*DryRunTransaction)(nil), // 220: concordium.v2.DryRunTransaction - (*DryRunSignature)(nil), // 221: concordium.v2.DryRunSignature - (*DryRunResponse)(nil), // 222: concordium.v2.DryRunResponse - (*DryRunErrorResponse)(nil), // 223: concordium.v2.DryRunErrorResponse - (*DryRunSuccessResponse)(nil), // 224: concordium.v2.DryRunSuccessResponse - (*VersionedModuleSource_ModuleSourceV0)(nil), // 225: concordium.v2.VersionedModuleSource.ModuleSourceV0 - (*VersionedModuleSource_ModuleSourceV1)(nil), // 226: concordium.v2.VersionedModuleSource.ModuleSourceV1 - (*StakePendingChange_Reduce)(nil), // 227: concordium.v2.StakePendingChange.Reduce - (*AccountStakingInfo_Baker)(nil), // 228: concordium.v2.AccountStakingInfo.Baker - (*AccountStakingInfo_Delegator)(nil), // 229: concordium.v2.AccountStakingInfo.Delegator - nil, // 230: concordium.v2.CredentialPublicKeys.KeysEntry - nil, // 231: concordium.v2.Policy.AttributesEntry - nil, // 232: concordium.v2.CredentialCommitments.AttributesEntry - nil, // 233: concordium.v2.NormalCredentialValues.ArDataEntry - nil, // 234: concordium.v2.AccountInfo.CredsEntry - (*BlockHashInput_RelativeHeight)(nil), // 235: concordium.v2.BlockHashInput.RelativeHeight - (*EpochRequest_RelativeEpoch)(nil), // 236: concordium.v2.EpochRequest.RelativeEpoch - (*InstanceInfo_V0)(nil), // 237: concordium.v2.InstanceInfo.V0 - (*InstanceInfo_V1)(nil), // 238: concordium.v2.InstanceInfo.V1 - (*BlockItemStatus_Committed)(nil), // 239: concordium.v2.BlockItemStatus.Committed - (*BlockItemStatus_Finalized)(nil), // 240: concordium.v2.BlockItemStatus.Finalized - (*RejectReason_InvalidInitMethod)(nil), // 241: concordium.v2.RejectReason.InvalidInitMethod - (*RejectReason_InvalidReceiveMethod)(nil), // 242: concordium.v2.RejectReason.InvalidReceiveMethod - (*RejectReason_AmountTooLarge)(nil), // 243: concordium.v2.RejectReason.AmountTooLarge - (*RejectReason_RejectedInit)(nil), // 244: concordium.v2.RejectReason.RejectedInit - (*RejectReason_RejectedReceive)(nil), // 245: concordium.v2.RejectReason.RejectedReceive - (*RejectReason_DuplicateCredIds)(nil), // 246: concordium.v2.RejectReason.DuplicateCredIds - (*RejectReason_NonExistentCredIds)(nil), // 247: concordium.v2.RejectReason.NonExistentCredIds - (*ContractTraceElement_Transferred)(nil), // 248: concordium.v2.ContractTraceElement.Transferred - (*ContractTraceElement_Interrupted)(nil), // 249: concordium.v2.ContractTraceElement.Interrupted - (*ContractTraceElement_Resumed)(nil), // 250: concordium.v2.ContractTraceElement.Resumed - (*ContractTraceElement_Upgraded)(nil), // 251: concordium.v2.ContractTraceElement.Upgraded - (*BakerEvent_BakerAdded)(nil), // 252: concordium.v2.BakerEvent.BakerAdded - (*BakerEvent_BakerStakeIncreased)(nil), // 253: concordium.v2.BakerEvent.BakerStakeIncreased - (*BakerEvent_BakerStakeDecreased)(nil), // 254: concordium.v2.BakerEvent.BakerStakeDecreased - (*BakerEvent_BakerRestakeEarningsUpdated)(nil), // 255: concordium.v2.BakerEvent.BakerRestakeEarningsUpdated - (*BakerEvent_BakerSetOpenStatus)(nil), // 256: concordium.v2.BakerEvent.BakerSetOpenStatus - (*BakerEvent_BakerSetMetadataUrl)(nil), // 257: concordium.v2.BakerEvent.BakerSetMetadataUrl - (*BakerEvent_BakerSetTransactionFeeCommission)(nil), // 258: concordium.v2.BakerEvent.BakerSetTransactionFeeCommission - (*BakerEvent_BakerSetBakingRewardCommission)(nil), // 259: concordium.v2.BakerEvent.BakerSetBakingRewardCommission - (*BakerEvent_BakerSetFinalizationRewardCommission)(nil), // 260: concordium.v2.BakerEvent.BakerSetFinalizationRewardCommission - (*BakerEvent_DelegationRemoved)(nil), // 261: concordium.v2.BakerEvent.DelegationRemoved - (*DelegationEvent_DelegationStakeIncreased)(nil), // 262: concordium.v2.DelegationEvent.DelegationStakeIncreased - (*DelegationEvent_DelegationStakeDecreased)(nil), // 263: concordium.v2.DelegationEvent.DelegationStakeDecreased - (*DelegationEvent_DelegationSetRestakeEarnings)(nil), // 264: concordium.v2.DelegationEvent.DelegationSetRestakeEarnings - (*DelegationEvent_DelegationSetDelegationTarget)(nil), // 265: concordium.v2.DelegationEvent.DelegationSetDelegationTarget - (*DelegationEvent_BakerRemoved)(nil), // 266: concordium.v2.DelegationEvent.BakerRemoved - (*AccountTransactionEffects_None)(nil), // 267: concordium.v2.AccountTransactionEffects.None - (*AccountTransactionEffects_ContractUpdateIssued)(nil), // 268: concordium.v2.AccountTransactionEffects.ContractUpdateIssued - (*AccountTransactionEffects_AccountTransfer)(nil), // 269: concordium.v2.AccountTransactionEffects.AccountTransfer - (*AccountTransactionEffects_BakerStakeUpdated)(nil), // 270: concordium.v2.AccountTransactionEffects.BakerStakeUpdated - (*AccountTransactionEffects_EncryptedAmountTransferred)(nil), // 271: concordium.v2.AccountTransactionEffects.EncryptedAmountTransferred - (*AccountTransactionEffects_TransferredToPublic)(nil), // 272: concordium.v2.AccountTransactionEffects.TransferredToPublic - (*AccountTransactionEffects_TransferredWithSchedule)(nil), // 273: concordium.v2.AccountTransactionEffects.TransferredWithSchedule - (*AccountTransactionEffects_CredentialsUpdated)(nil), // 274: concordium.v2.AccountTransactionEffects.CredentialsUpdated - (*AccountTransactionEffects_BakerConfigured)(nil), // 275: concordium.v2.AccountTransactionEffects.BakerConfigured - (*AccountTransactionEffects_DelegationConfigured)(nil), // 276: concordium.v2.AccountTransactionEffects.DelegationConfigured - (*ArInfo_ArIdentity)(nil), // 277: concordium.v2.ArInfo.ArIdentity - (*ArInfo_ArPublicKey)(nil), // 278: concordium.v2.ArInfo.ArPublicKey - (*IpInfo_IpVerifyKey)(nil), // 279: concordium.v2.IpInfo.IpVerifyKey - (*IpInfo_IpCdiVerifyKey)(nil), // 280: concordium.v2.IpInfo.IpCdiVerifyKey - (*BlockItemSummary_TransactionIndex)(nil), // 281: concordium.v2.BlockItemSummary.TransactionIndex - (*PoolPendingChange_Reduce)(nil), // 282: concordium.v2.PoolPendingChange.Reduce - (*PoolPendingChange_Remove)(nil), // 283: concordium.v2.PoolPendingChange.Remove - (*BlocksAtHeightRequest_Absolute)(nil), // 284: concordium.v2.BlocksAtHeightRequest.Absolute - (*BlocksAtHeightRequest_Relative)(nil), // 285: concordium.v2.BlocksAtHeightRequest.Relative - (*TokenomicsInfo_V0)(nil), // 286: concordium.v2.TokenomicsInfo.V0 - (*TokenomicsInfo_V1)(nil), // 287: concordium.v2.TokenomicsInfo.V1 - (*InvokeInstanceResponse_Failure)(nil), // 288: concordium.v2.InvokeInstanceResponse.Failure - (*InvokeInstanceResponse_Success)(nil), // 289: concordium.v2.InvokeInstanceResponse.Success - (*ElectionInfo_Baker)(nil), // 290: concordium.v2.ElectionInfo.Baker - (*BlockSpecialEvent_AccountAmounts)(nil), // 291: concordium.v2.BlockSpecialEvent.AccountAmounts - (*BlockSpecialEvent_BakingRewards)(nil), // 292: concordium.v2.BlockSpecialEvent.BakingRewards - (*BlockSpecialEvent_Mint)(nil), // 293: concordium.v2.BlockSpecialEvent.Mint - (*BlockSpecialEvent_FinalizationRewards)(nil), // 294: concordium.v2.BlockSpecialEvent.FinalizationRewards - (*BlockSpecialEvent_BlockReward)(nil), // 295: concordium.v2.BlockSpecialEvent.BlockReward - (*BlockSpecialEvent_PaydayFoundationReward)(nil), // 296: concordium.v2.BlockSpecialEvent.PaydayFoundationReward - (*BlockSpecialEvent_PaydayAccountReward)(nil), // 297: concordium.v2.BlockSpecialEvent.PaydayAccountReward - (*BlockSpecialEvent_BlockAccrueReward)(nil), // 298: concordium.v2.BlockSpecialEvent.BlockAccrueReward - (*BlockSpecialEvent_PaydayPoolReward)(nil), // 299: concordium.v2.BlockSpecialEvent.PaydayPoolReward - (*BlockSpecialEvent_AccountAmounts_Entry)(nil), // 300: concordium.v2.BlockSpecialEvent.AccountAmounts.Entry - (*PeersInfo_Peer)(nil), // 301: concordium.v2.PeersInfo.Peer - (*PeersInfo_Peer_NetworkStats)(nil), // 302: concordium.v2.PeersInfo.Peer.NetworkStats - (*NodeInfo_NetworkInfo)(nil), // 303: concordium.v2.NodeInfo.NetworkInfo - (*NodeInfo_BakerConsensusInfo)(nil), // 304: concordium.v2.NodeInfo.BakerConsensusInfo - (*NodeInfo_Node)(nil), // 305: concordium.v2.NodeInfo.Node - (*NodeInfo_BakerConsensusInfo_ActiveBakerCommitteeInfo)(nil), // 306: concordium.v2.NodeInfo.BakerConsensusInfo.ActiveBakerCommitteeInfo - (*NodeInfo_BakerConsensusInfo_ActiveFinalizerCommitteeInfo)(nil), // 307: concordium.v2.NodeInfo.BakerConsensusInfo.ActiveFinalizerCommitteeInfo - nil, // 308: concordium.v2.SignatureMap.SignaturesEntry - nil, // 309: concordium.v2.AccountSignatureMap.SignaturesEntry - nil, // 310: concordium.v2.AccountTransactionSignature.SignaturesEntry - (*DryRunErrorResponse_NoState)(nil), // 311: concordium.v2.DryRunErrorResponse.NoState - (*DryRunErrorResponse_BlockNotFound)(nil), // 312: concordium.v2.DryRunErrorResponse.BlockNotFound - (*DryRunErrorResponse_AccountNotFound)(nil), // 313: concordium.v2.DryRunErrorResponse.AccountNotFound - (*DryRunErrorResponse_InstanceNotFound)(nil), // 314: concordium.v2.DryRunErrorResponse.InstanceNotFound - (*DryRunErrorResponse_AmountOverLimit)(nil), // 315: concordium.v2.DryRunErrorResponse.AmountOverLimit - (*DryRunErrorResponse_BalanceInsufficient)(nil), // 316: concordium.v2.DryRunErrorResponse.BalanceInsufficient - (*DryRunErrorResponse_EnergyInsufficient)(nil), // 317: concordium.v2.DryRunErrorResponse.EnergyInsufficient - (*DryRunErrorResponse_InvokeFailure)(nil), // 318: concordium.v2.DryRunErrorResponse.InvokeFailure - (*DryRunSuccessResponse_BlockStateLoaded)(nil), // 319: concordium.v2.DryRunSuccessResponse.BlockStateLoaded - (*DryRunSuccessResponse_TimestampSet)(nil), // 320: concordium.v2.DryRunSuccessResponse.TimestampSet - (*DryRunSuccessResponse_MintedToAccount)(nil), // 321: concordium.v2.DryRunSuccessResponse.MintedToAccount - (*DryRunSuccessResponse_TransactionExecuted)(nil), // 322: concordium.v2.DryRunSuccessResponse.TransactionExecuted - (*DryRunSuccessResponse_InvokeSuccess)(nil), // 323: concordium.v2.DryRunSuccessResponse.InvokeSuccess + (*ValidatorScoreParameters)(nil), // 102: concordium.v2.ValidatorScoreParameters + (*ConsensusParametersV1)(nil), // 103: concordium.v2.ConsensusParametersV1 + (*ExchangeRate)(nil), // 104: concordium.v2.ExchangeRate + (*Ratio)(nil), // 105: concordium.v2.Ratio + (*UpdatePublicKey)(nil), // 106: concordium.v2.UpdatePublicKey + (*UpdateKeysThreshold)(nil), // 107: concordium.v2.UpdateKeysThreshold + (*UpdateKeysIndex)(nil), // 108: concordium.v2.UpdateKeysIndex + (*HigherLevelKeys)(nil), // 109: concordium.v2.HigherLevelKeys + (*AccessStructure)(nil), // 110: concordium.v2.AccessStructure + (*AuthorizationsV0)(nil), // 111: concordium.v2.AuthorizationsV0 + (*AuthorizationsV1)(nil), // 112: concordium.v2.AuthorizationsV1 + (*Description)(nil), // 113: concordium.v2.Description + (*ArInfo)(nil), // 114: concordium.v2.ArInfo + (*IpIdentity)(nil), // 115: concordium.v2.IpIdentity + (*IpInfo)(nil), // 116: concordium.v2.IpInfo + (*DurationSeconds)(nil), // 117: concordium.v2.DurationSeconds + (*InclusiveRangeAmountFraction)(nil), // 118: concordium.v2.InclusiveRangeAmountFraction + (*CommissionRanges)(nil), // 119: concordium.v2.CommissionRanges + (*CapitalBound)(nil), // 120: concordium.v2.CapitalBound + (*LeverageFactor)(nil), // 121: concordium.v2.LeverageFactor + (*Epoch)(nil), // 122: concordium.v2.Epoch + (*Round)(nil), // 123: concordium.v2.Round + (*RewardPeriodLength)(nil), // 124: concordium.v2.RewardPeriodLength + (*MintRate)(nil), // 125: concordium.v2.MintRate + (*CooldownParametersCpv1)(nil), // 126: concordium.v2.CooldownParametersCpv1 + (*PoolParametersCpv1)(nil), // 127: concordium.v2.PoolParametersCpv1 + (*TimeParametersCpv1)(nil), // 128: concordium.v2.TimeParametersCpv1 + (*MintDistributionCpv1)(nil), // 129: concordium.v2.MintDistributionCpv1 + (*ProtocolUpdate)(nil), // 130: concordium.v2.ProtocolUpdate + (*MintDistributionCpv0)(nil), // 131: concordium.v2.MintDistributionCpv0 + (*TransactionFeeDistribution)(nil), // 132: concordium.v2.TransactionFeeDistribution + (*GasRewards)(nil), // 133: concordium.v2.GasRewards + (*GasRewardsCpv2)(nil), // 134: concordium.v2.GasRewardsCpv2 + (*BakerStakeThreshold)(nil), // 135: concordium.v2.BakerStakeThreshold + (*RootUpdate)(nil), // 136: concordium.v2.RootUpdate + (*Level1Update)(nil), // 137: concordium.v2.Level1Update + (*UpdatePayload)(nil), // 138: concordium.v2.UpdatePayload + (*AccountTransactionDetails)(nil), // 139: concordium.v2.AccountTransactionDetails + (*AccountCreationDetails)(nil), // 140: concordium.v2.AccountCreationDetails + (*TransactionTime)(nil), // 141: concordium.v2.TransactionTime + (*UpdateDetails)(nil), // 142: concordium.v2.UpdateDetails + (*BlockItemSummary)(nil), // 143: concordium.v2.BlockItemSummary + (*GenesisIndex)(nil), // 144: concordium.v2.GenesisIndex + (*ConsensusInfo)(nil), // 145: concordium.v2.ConsensusInfo + (*ArrivedBlockInfo)(nil), // 146: concordium.v2.ArrivedBlockInfo + (*CryptographicParameters)(nil), // 147: concordium.v2.CryptographicParameters + (*BlockInfo)(nil), // 148: concordium.v2.BlockInfo + (*PoolInfoRequest)(nil), // 149: concordium.v2.PoolInfoRequest + (*PoolPendingChange)(nil), // 150: concordium.v2.PoolPendingChange + (*PoolCurrentPaydayInfo)(nil), // 151: concordium.v2.PoolCurrentPaydayInfo + (*PoolInfoResponse)(nil), // 152: concordium.v2.PoolInfoResponse + (*PassiveDelegationInfo)(nil), // 153: concordium.v2.PassiveDelegationInfo + (*BlocksAtHeightRequest)(nil), // 154: concordium.v2.BlocksAtHeightRequest + (*BlocksAtHeightResponse)(nil), // 155: concordium.v2.BlocksAtHeightResponse + (*TokenomicsInfo)(nil), // 156: concordium.v2.TokenomicsInfo + (*InvokeInstanceRequest)(nil), // 157: concordium.v2.InvokeInstanceRequest + (*InvokeInstanceResponse)(nil), // 158: concordium.v2.InvokeInstanceResponse + (*GetPoolDelegatorsRequest)(nil), // 159: concordium.v2.GetPoolDelegatorsRequest + (*DelegatorInfo)(nil), // 160: concordium.v2.DelegatorInfo + (*DelegatorRewardPeriodInfo)(nil), // 161: concordium.v2.DelegatorRewardPeriodInfo + (*Branch)(nil), // 162: concordium.v2.Branch + (*LeadershipElectionNonce)(nil), // 163: concordium.v2.LeadershipElectionNonce + (*ElectionInfo)(nil), // 164: concordium.v2.ElectionInfo + (*BlockSpecialEvent)(nil), // 165: concordium.v2.BlockSpecialEvent + (*PendingUpdate)(nil), // 166: concordium.v2.PendingUpdate + (*NextUpdateSequenceNumbers)(nil), // 167: concordium.v2.NextUpdateSequenceNumbers + (*IpAddress)(nil), // 168: concordium.v2.IpAddress + (*Port)(nil), // 169: concordium.v2.Port + (*IpSocketAddress)(nil), // 170: concordium.v2.IpSocketAddress + (*PeerId)(nil), // 171: concordium.v2.PeerId + (*BannedPeer)(nil), // 172: concordium.v2.BannedPeer + (*BannedPeers)(nil), // 173: concordium.v2.BannedPeers + (*PeerToBan)(nil), // 174: concordium.v2.PeerToBan + (*DumpRequest)(nil), // 175: concordium.v2.DumpRequest + (*PeersInfo)(nil), // 176: concordium.v2.PeersInfo + (*NodeInfo)(nil), // 177: concordium.v2.NodeInfo + (*SendBlockItemRequest)(nil), // 178: concordium.v2.SendBlockItemRequest + (*CredentialDeployment)(nil), // 179: concordium.v2.CredentialDeployment + (*Signature)(nil), // 180: concordium.v2.Signature + (*SignatureMap)(nil), // 181: concordium.v2.SignatureMap + (*AccountSignatureMap)(nil), // 182: concordium.v2.AccountSignatureMap + (*AccountTransactionSignature)(nil), // 183: concordium.v2.AccountTransactionSignature + (*AccountTransactionHeader)(nil), // 184: concordium.v2.AccountTransactionHeader + (*InitContractPayload)(nil), // 185: concordium.v2.InitContractPayload + (*UpdateContractPayload)(nil), // 186: concordium.v2.UpdateContractPayload + (*TransferPayload)(nil), // 187: concordium.v2.TransferPayload + (*TransferWithMemoPayload)(nil), // 188: concordium.v2.TransferWithMemoPayload + (*AccountTransactionPayload)(nil), // 189: concordium.v2.AccountTransactionPayload + (*PreAccountTransaction)(nil), // 190: concordium.v2.PreAccountTransaction + (*AccountTransaction)(nil), // 191: concordium.v2.AccountTransaction + (*UpdateInstructionHeader)(nil), // 192: concordium.v2.UpdateInstructionHeader + (*UpdateInstructionPayload)(nil), // 193: concordium.v2.UpdateInstructionPayload + (*UpdateInstruction)(nil), // 194: concordium.v2.UpdateInstruction + (*AccountTransactionSignHash)(nil), // 195: concordium.v2.AccountTransactionSignHash + (*CredentialsPerBlockLimit)(nil), // 196: concordium.v2.CredentialsPerBlockLimit + (*ChainParametersV0)(nil), // 197: concordium.v2.ChainParametersV0 + (*ChainParametersV1)(nil), // 198: concordium.v2.ChainParametersV1 + (*ChainParametersV2)(nil), // 199: concordium.v2.ChainParametersV2 + (*ChainParametersV3)(nil), // 200: concordium.v2.ChainParametersV3 + (*ChainParameters)(nil), // 201: concordium.v2.ChainParameters + (*FinalizationSummaryParty)(nil), // 202: concordium.v2.FinalizationSummaryParty + (*FinalizationIndex)(nil), // 203: concordium.v2.FinalizationIndex + (*FinalizationSummary)(nil), // 204: concordium.v2.FinalizationSummary + (*BlockFinalizationSummary)(nil), // 205: concordium.v2.BlockFinalizationSummary + (*BlockItem)(nil), // 206: concordium.v2.BlockItem + (*BakerRewardPeriodInfo)(nil), // 207: concordium.v2.BakerRewardPeriodInfo + (*QuorumSignature)(nil), // 208: concordium.v2.QuorumSignature + (*QuorumCertificate)(nil), // 209: concordium.v2.QuorumCertificate + (*FinalizerRound)(nil), // 210: concordium.v2.FinalizerRound + (*TimeoutSignature)(nil), // 211: concordium.v2.TimeoutSignature + (*TimeoutCertificate)(nil), // 212: concordium.v2.TimeoutCertificate + (*SuccessorProof)(nil), // 213: concordium.v2.SuccessorProof + (*EpochFinalizationEntry)(nil), // 214: concordium.v2.EpochFinalizationEntry + (*BlockCertificates)(nil), // 215: concordium.v2.BlockCertificates + (*WinningBaker)(nil), // 216: concordium.v2.WinningBaker + (*DryRunRequest)(nil), // 217: concordium.v2.DryRunRequest + (*DryRunStateQuery)(nil), // 218: concordium.v2.DryRunStateQuery + (*DryRunInvokeInstance)(nil), // 219: concordium.v2.DryRunInvokeInstance + (*DryRunStateOperation)(nil), // 220: concordium.v2.DryRunStateOperation + (*DryRunMintToAccount)(nil), // 221: concordium.v2.DryRunMintToAccount + (*DryRunTransaction)(nil), // 222: concordium.v2.DryRunTransaction + (*DryRunSignature)(nil), // 223: concordium.v2.DryRunSignature + (*DryRunResponse)(nil), // 224: concordium.v2.DryRunResponse + (*DryRunErrorResponse)(nil), // 225: concordium.v2.DryRunErrorResponse + (*DryRunSuccessResponse)(nil), // 226: concordium.v2.DryRunSuccessResponse + (*FinalizerIndex)(nil), // 227: concordium.v2.FinalizerIndex + (*QuorumMessage)(nil), // 228: concordium.v2.QuorumMessage + (*RawQuorumCertificate)(nil), // 229: concordium.v2.RawQuorumCertificate + (*BlockSignature)(nil), // 230: concordium.v2.BlockSignature + (*TimeoutMessage)(nil), // 231: concordium.v2.TimeoutMessage + (*RawFinalizerRound)(nil), // 232: concordium.v2.RawFinalizerRound + (*RawTimeoutCertificate)(nil), // 233: concordium.v2.RawTimeoutCertificate + (*PersistentRoundStatus)(nil), // 234: concordium.v2.PersistentRoundStatus + (*RoundTimeout)(nil), // 235: concordium.v2.RoundTimeout + (*RawFinalizationEntry)(nil), // 236: concordium.v2.RawFinalizationEntry + (*RoundStatus)(nil), // 237: concordium.v2.RoundStatus + (*BlockTableSummary)(nil), // 238: concordium.v2.BlockTableSummary + (*BranchBlocks)(nil), // 239: concordium.v2.BranchBlocks + (*RoundExistingBlock)(nil), // 240: concordium.v2.RoundExistingBlock + (*RoundExistingQC)(nil), // 241: concordium.v2.RoundExistingQC + (*FullBakerInfo)(nil), // 242: concordium.v2.FullBakerInfo + (*FinalizationCommitteeHash)(nil), // 243: concordium.v2.FinalizationCommitteeHash + (*BakersAndFinalizers)(nil), // 244: concordium.v2.BakersAndFinalizers + (*EpochBakers)(nil), // 245: concordium.v2.EpochBakers + (*TimeoutMessages)(nil), // 246: concordium.v2.TimeoutMessages + (*AggregatedSignatures)(nil), // 247: concordium.v2.AggregatedSignatures + (*QuorumMessages)(nil), // 248: concordium.v2.QuorumMessages + (*ConsensusDetailedStatusQuery)(nil), // 249: concordium.v2.ConsensusDetailedStatusQuery + (*ConsensusDetailedStatus)(nil), // 250: concordium.v2.ConsensusDetailedStatus + (*AccountPending)(nil), // 251: concordium.v2.AccountPending + (*VersionedModuleSource_ModuleSourceV0)(nil), // 252: concordium.v2.VersionedModuleSource.ModuleSourceV0 + (*VersionedModuleSource_ModuleSourceV1)(nil), // 253: concordium.v2.VersionedModuleSource.ModuleSourceV1 + (*StakePendingChange_Reduce)(nil), // 254: concordium.v2.StakePendingChange.Reduce + (*AccountStakingInfo_Baker)(nil), // 255: concordium.v2.AccountStakingInfo.Baker + (*AccountStakingInfo_Delegator)(nil), // 256: concordium.v2.AccountStakingInfo.Delegator + nil, // 257: concordium.v2.CredentialPublicKeys.KeysEntry + nil, // 258: concordium.v2.Policy.AttributesEntry + nil, // 259: concordium.v2.CredentialCommitments.AttributesEntry + nil, // 260: concordium.v2.NormalCredentialValues.ArDataEntry + nil, // 261: concordium.v2.AccountInfo.CredsEntry + (*BlockHashInput_RelativeHeight)(nil), // 262: concordium.v2.BlockHashInput.RelativeHeight + (*EpochRequest_RelativeEpoch)(nil), // 263: concordium.v2.EpochRequest.RelativeEpoch + (*InstanceInfo_V0)(nil), // 264: concordium.v2.InstanceInfo.V0 + (*InstanceInfo_V1)(nil), // 265: concordium.v2.InstanceInfo.V1 + (*BlockItemStatus_Committed)(nil), // 266: concordium.v2.BlockItemStatus.Committed + (*BlockItemStatus_Finalized)(nil), // 267: concordium.v2.BlockItemStatus.Finalized + (*RejectReason_InvalidInitMethod)(nil), // 268: concordium.v2.RejectReason.InvalidInitMethod + (*RejectReason_InvalidReceiveMethod)(nil), // 269: concordium.v2.RejectReason.InvalidReceiveMethod + (*RejectReason_AmountTooLarge)(nil), // 270: concordium.v2.RejectReason.AmountTooLarge + (*RejectReason_RejectedInit)(nil), // 271: concordium.v2.RejectReason.RejectedInit + (*RejectReason_RejectedReceive)(nil), // 272: concordium.v2.RejectReason.RejectedReceive + (*RejectReason_DuplicateCredIds)(nil), // 273: concordium.v2.RejectReason.DuplicateCredIds + (*RejectReason_NonExistentCredIds)(nil), // 274: concordium.v2.RejectReason.NonExistentCredIds + (*ContractTraceElement_Transferred)(nil), // 275: concordium.v2.ContractTraceElement.Transferred + (*ContractTraceElement_Interrupted)(nil), // 276: concordium.v2.ContractTraceElement.Interrupted + (*ContractTraceElement_Resumed)(nil), // 277: concordium.v2.ContractTraceElement.Resumed + (*ContractTraceElement_Upgraded)(nil), // 278: concordium.v2.ContractTraceElement.Upgraded + (*BakerEvent_BakerAdded)(nil), // 279: concordium.v2.BakerEvent.BakerAdded + (*BakerEvent_BakerStakeIncreased)(nil), // 280: concordium.v2.BakerEvent.BakerStakeIncreased + (*BakerEvent_BakerStakeDecreased)(nil), // 281: concordium.v2.BakerEvent.BakerStakeDecreased + (*BakerEvent_BakerRestakeEarningsUpdated)(nil), // 282: concordium.v2.BakerEvent.BakerRestakeEarningsUpdated + (*BakerEvent_BakerSetOpenStatus)(nil), // 283: concordium.v2.BakerEvent.BakerSetOpenStatus + (*BakerEvent_BakerSetMetadataUrl)(nil), // 284: concordium.v2.BakerEvent.BakerSetMetadataUrl + (*BakerEvent_BakerSetTransactionFeeCommission)(nil), // 285: concordium.v2.BakerEvent.BakerSetTransactionFeeCommission + (*BakerEvent_BakerSetBakingRewardCommission)(nil), // 286: concordium.v2.BakerEvent.BakerSetBakingRewardCommission + (*BakerEvent_BakerSetFinalizationRewardCommission)(nil), // 287: concordium.v2.BakerEvent.BakerSetFinalizationRewardCommission + (*BakerEvent_DelegationRemoved)(nil), // 288: concordium.v2.BakerEvent.DelegationRemoved + (*BakerEvent_BakerSuspended)(nil), // 289: concordium.v2.BakerEvent.BakerSuspended + (*BakerEvent_BakerResumed)(nil), // 290: concordium.v2.BakerEvent.BakerResumed + (*DelegationEvent_DelegationStakeIncreased)(nil), // 291: concordium.v2.DelegationEvent.DelegationStakeIncreased + (*DelegationEvent_DelegationStakeDecreased)(nil), // 292: concordium.v2.DelegationEvent.DelegationStakeDecreased + (*DelegationEvent_DelegationSetRestakeEarnings)(nil), // 293: concordium.v2.DelegationEvent.DelegationSetRestakeEarnings + (*DelegationEvent_DelegationSetDelegationTarget)(nil), // 294: concordium.v2.DelegationEvent.DelegationSetDelegationTarget + (*DelegationEvent_BakerRemoved)(nil), // 295: concordium.v2.DelegationEvent.BakerRemoved + (*AccountTransactionEffects_None)(nil), // 296: concordium.v2.AccountTransactionEffects.None + (*AccountTransactionEffects_ContractUpdateIssued)(nil), // 297: concordium.v2.AccountTransactionEffects.ContractUpdateIssued + (*AccountTransactionEffects_AccountTransfer)(nil), // 298: concordium.v2.AccountTransactionEffects.AccountTransfer + (*AccountTransactionEffects_BakerStakeUpdated)(nil), // 299: concordium.v2.AccountTransactionEffects.BakerStakeUpdated + (*AccountTransactionEffects_EncryptedAmountTransferred)(nil), // 300: concordium.v2.AccountTransactionEffects.EncryptedAmountTransferred + (*AccountTransactionEffects_TransferredToPublic)(nil), // 301: concordium.v2.AccountTransactionEffects.TransferredToPublic + (*AccountTransactionEffects_TransferredWithSchedule)(nil), // 302: concordium.v2.AccountTransactionEffects.TransferredWithSchedule + (*AccountTransactionEffects_CredentialsUpdated)(nil), // 303: concordium.v2.AccountTransactionEffects.CredentialsUpdated + (*AccountTransactionEffects_BakerConfigured)(nil), // 304: concordium.v2.AccountTransactionEffects.BakerConfigured + (*AccountTransactionEffects_DelegationConfigured)(nil), // 305: concordium.v2.AccountTransactionEffects.DelegationConfigured + (*ArInfo_ArIdentity)(nil), // 306: concordium.v2.ArInfo.ArIdentity + (*ArInfo_ArPublicKey)(nil), // 307: concordium.v2.ArInfo.ArPublicKey + (*IpInfo_IpVerifyKey)(nil), // 308: concordium.v2.IpInfo.IpVerifyKey + (*IpInfo_IpCdiVerifyKey)(nil), // 309: concordium.v2.IpInfo.IpCdiVerifyKey + (*BlockItemSummary_TransactionIndex)(nil), // 310: concordium.v2.BlockItemSummary.TransactionIndex + (*PoolPendingChange_Reduce)(nil), // 311: concordium.v2.PoolPendingChange.Reduce + (*PoolPendingChange_Remove)(nil), // 312: concordium.v2.PoolPendingChange.Remove + (*BlocksAtHeightRequest_Absolute)(nil), // 313: concordium.v2.BlocksAtHeightRequest.Absolute + (*BlocksAtHeightRequest_Relative)(nil), // 314: concordium.v2.BlocksAtHeightRequest.Relative + (*TokenomicsInfo_V0)(nil), // 315: concordium.v2.TokenomicsInfo.V0 + (*TokenomicsInfo_V1)(nil), // 316: concordium.v2.TokenomicsInfo.V1 + (*InvokeInstanceResponse_Failure)(nil), // 317: concordium.v2.InvokeInstanceResponse.Failure + (*InvokeInstanceResponse_Success)(nil), // 318: concordium.v2.InvokeInstanceResponse.Success + (*ElectionInfo_Baker)(nil), // 319: concordium.v2.ElectionInfo.Baker + (*BlockSpecialEvent_AccountAmounts)(nil), // 320: concordium.v2.BlockSpecialEvent.AccountAmounts + (*BlockSpecialEvent_BakingRewards)(nil), // 321: concordium.v2.BlockSpecialEvent.BakingRewards + (*BlockSpecialEvent_Mint)(nil), // 322: concordium.v2.BlockSpecialEvent.Mint + (*BlockSpecialEvent_FinalizationRewards)(nil), // 323: concordium.v2.BlockSpecialEvent.FinalizationRewards + (*BlockSpecialEvent_BlockReward)(nil), // 324: concordium.v2.BlockSpecialEvent.BlockReward + (*BlockSpecialEvent_PaydayFoundationReward)(nil), // 325: concordium.v2.BlockSpecialEvent.PaydayFoundationReward + (*BlockSpecialEvent_PaydayAccountReward)(nil), // 326: concordium.v2.BlockSpecialEvent.PaydayAccountReward + (*BlockSpecialEvent_BlockAccrueReward)(nil), // 327: concordium.v2.BlockSpecialEvent.BlockAccrueReward + (*BlockSpecialEvent_PaydayPoolReward)(nil), // 328: concordium.v2.BlockSpecialEvent.PaydayPoolReward + (*BlockSpecialEvent_ValidatorSuspended)(nil), // 329: concordium.v2.BlockSpecialEvent.ValidatorSuspended + (*BlockSpecialEvent_ValidatorPrimedForSuspension)(nil), // 330: concordium.v2.BlockSpecialEvent.ValidatorPrimedForSuspension + (*BlockSpecialEvent_AccountAmounts_Entry)(nil), // 331: concordium.v2.BlockSpecialEvent.AccountAmounts.Entry + (*PeersInfo_Peer)(nil), // 332: concordium.v2.PeersInfo.Peer + (*PeersInfo_Peer_NetworkStats)(nil), // 333: concordium.v2.PeersInfo.Peer.NetworkStats + (*NodeInfo_NetworkInfo)(nil), // 334: concordium.v2.NodeInfo.NetworkInfo + (*NodeInfo_BakerConsensusInfo)(nil), // 335: concordium.v2.NodeInfo.BakerConsensusInfo + (*NodeInfo_Node)(nil), // 336: concordium.v2.NodeInfo.Node + (*NodeInfo_BakerConsensusInfo_ActiveBakerCommitteeInfo)(nil), // 337: concordium.v2.NodeInfo.BakerConsensusInfo.ActiveBakerCommitteeInfo + (*NodeInfo_BakerConsensusInfo_ActiveFinalizerCommitteeInfo)(nil), // 338: concordium.v2.NodeInfo.BakerConsensusInfo.ActiveFinalizerCommitteeInfo + nil, // 339: concordium.v2.SignatureMap.SignaturesEntry + nil, // 340: concordium.v2.AccountSignatureMap.SignaturesEntry + nil, // 341: concordium.v2.AccountTransactionSignature.SignaturesEntry + (*DryRunErrorResponse_NoState)(nil), // 342: concordium.v2.DryRunErrorResponse.NoState + (*DryRunErrorResponse_BlockNotFound)(nil), // 343: concordium.v2.DryRunErrorResponse.BlockNotFound + (*DryRunErrorResponse_AccountNotFound)(nil), // 344: concordium.v2.DryRunErrorResponse.AccountNotFound + (*DryRunErrorResponse_InstanceNotFound)(nil), // 345: concordium.v2.DryRunErrorResponse.InstanceNotFound + (*DryRunErrorResponse_AmountOverLimit)(nil), // 346: concordium.v2.DryRunErrorResponse.AmountOverLimit + (*DryRunErrorResponse_BalanceInsufficient)(nil), // 347: concordium.v2.DryRunErrorResponse.BalanceInsufficient + (*DryRunErrorResponse_EnergyInsufficient)(nil), // 348: concordium.v2.DryRunErrorResponse.EnergyInsufficient + (*DryRunErrorResponse_InvokeFailure)(nil), // 349: concordium.v2.DryRunErrorResponse.InvokeFailure + (*DryRunSuccessResponse_BlockStateLoaded)(nil), // 350: concordium.v2.DryRunSuccessResponse.BlockStateLoaded + (*DryRunSuccessResponse_TimestampSet)(nil), // 351: concordium.v2.DryRunSuccessResponse.TimestampSet + (*DryRunSuccessResponse_MintedToAccount)(nil), // 352: concordium.v2.DryRunSuccessResponse.MintedToAccount + (*DryRunSuccessResponse_TransactionExecuted)(nil), // 353: concordium.v2.DryRunSuccessResponse.TransactionExecuted + (*DryRunSuccessResponse_InvokeSuccess)(nil), // 354: concordium.v2.DryRunSuccessResponse.InvokeSuccess } var file_v2_concordium_types_proto_depIdxs = []int32{ - 225, // 0: concordium.v2.VersionedModuleSource.v0:type_name -> concordium.v2.VersionedModuleSource.ModuleSourceV0 - 226, // 1: concordium.v2.VersionedModuleSource.v1:type_name -> concordium.v2.VersionedModuleSource.ModuleSourceV1 + 252, // 0: concordium.v2.VersionedModuleSource.v0:type_name -> concordium.v2.VersionedModuleSource.ModuleSourceV0 + 253, // 1: concordium.v2.VersionedModuleSource.v1:type_name -> concordium.v2.VersionedModuleSource.ModuleSourceV1 20, // 2: concordium.v2.Release.timestamp:type_name -> concordium.v2.Timestamp 38, // 3: concordium.v2.Release.amount:type_name -> concordium.v2.Amount 12, // 4: concordium.v2.Release.transactions:type_name -> concordium.v2.TransactionHash @@ -29050,22 +31691,22 @@ var file_v2_concordium_types_proto_depIdxs = []int32{ 27, // 15: concordium.v2.BakerInfo.election_key:type_name -> concordium.v2.BakerElectionVerifyKey 28, // 16: concordium.v2.BakerInfo.signature_key:type_name -> concordium.v2.BakerSignatureVerifyKey 29, // 17: concordium.v2.BakerInfo.aggregation_key:type_name -> concordium.v2.BakerAggregationVerifyKey - 227, // 18: concordium.v2.StakePendingChange.reduce:type_name -> concordium.v2.StakePendingChange.Reduce + 254, // 18: concordium.v2.StakePendingChange.reduce:type_name -> concordium.v2.StakePendingChange.Reduce 20, // 19: concordium.v2.StakePendingChange.remove:type_name -> concordium.v2.Timestamp 32, // 20: concordium.v2.CommissionRates.finalization:type_name -> concordium.v2.AmountFraction 32, // 21: concordium.v2.CommissionRates.baking:type_name -> concordium.v2.AmountFraction 32, // 22: concordium.v2.CommissionRates.transaction:type_name -> concordium.v2.AmountFraction 0, // 23: concordium.v2.BakerPoolInfo.open_status:type_name -> concordium.v2.OpenStatus 33, // 24: concordium.v2.BakerPoolInfo.commission_rates:type_name -> concordium.v2.CommissionRates - 228, // 25: concordium.v2.AccountStakingInfo.baker:type_name -> concordium.v2.AccountStakingInfo.Baker - 229, // 26: concordium.v2.AccountStakingInfo.delegator:type_name -> concordium.v2.AccountStakingInfo.Delegator + 255, // 25: concordium.v2.AccountStakingInfo.baker:type_name -> concordium.v2.AccountStakingInfo.Baker + 256, // 26: concordium.v2.AccountStakingInfo.delegator:type_name -> concordium.v2.AccountStakingInfo.Delegator 43, // 27: concordium.v2.Address.account:type_name -> concordium.v2.AccountAddress 67, // 28: concordium.v2.Address.contract:type_name -> concordium.v2.ContractAddress - 230, // 29: concordium.v2.CredentialPublicKeys.keys:type_name -> concordium.v2.CredentialPublicKeys.KeysEntry + 257, // 29: concordium.v2.CredentialPublicKeys.keys:type_name -> concordium.v2.CredentialPublicKeys.KeysEntry 40, // 30: concordium.v2.CredentialPublicKeys.threshold:type_name -> concordium.v2.SignatureThreshold 49, // 31: concordium.v2.Policy.created_at:type_name -> concordium.v2.YearMonth 49, // 32: concordium.v2.Policy.valid_to:type_name -> concordium.v2.YearMonth - 231, // 33: concordium.v2.Policy.attributes:type_name -> concordium.v2.Policy.AttributesEntry + 258, // 33: concordium.v2.Policy.attributes:type_name -> concordium.v2.Policy.AttributesEntry 46, // 34: concordium.v2.InitialCredentialValues.keys:type_name -> concordium.v2.CredentialPublicKeys 47, // 35: concordium.v2.InitialCredentialValues.cred_id:type_name -> concordium.v2.CredentialRegistrationId 48, // 36: concordium.v2.InitialCredentialValues.ip_id:type_name -> concordium.v2.IdentityProviderIdentity @@ -29073,14 +31714,14 @@ var file_v2_concordium_types_proto_depIdxs = []int32{ 54, // 38: concordium.v2.CredentialCommitments.prf:type_name -> concordium.v2.Commitment 54, // 39: concordium.v2.CredentialCommitments.cred_counter:type_name -> concordium.v2.Commitment 54, // 40: concordium.v2.CredentialCommitments.max_accounts:type_name -> concordium.v2.Commitment - 232, // 41: concordium.v2.CredentialCommitments.attributes:type_name -> concordium.v2.CredentialCommitments.AttributesEntry + 259, // 41: concordium.v2.CredentialCommitments.attributes:type_name -> concordium.v2.CredentialCommitments.AttributesEntry 54, // 42: concordium.v2.CredentialCommitments.id_cred_sec_sharing_coeff:type_name -> concordium.v2.Commitment 46, // 43: concordium.v2.NormalCredentialValues.keys:type_name -> concordium.v2.CredentialPublicKeys 47, // 44: concordium.v2.NormalCredentialValues.cred_id:type_name -> concordium.v2.CredentialRegistrationId 48, // 45: concordium.v2.NormalCredentialValues.ip_id:type_name -> concordium.v2.IdentityProviderIdentity 50, // 46: concordium.v2.NormalCredentialValues.policy:type_name -> concordium.v2.Policy 53, // 47: concordium.v2.NormalCredentialValues.ar_threshold:type_name -> concordium.v2.ArThreshold - 233, // 48: concordium.v2.NormalCredentialValues.ar_data:type_name -> concordium.v2.NormalCredentialValues.ArDataEntry + 260, // 48: concordium.v2.NormalCredentialValues.ar_data:type_name -> concordium.v2.NormalCredentialValues.ArDataEntry 55, // 49: concordium.v2.NormalCredentialValues.commitments:type_name -> concordium.v2.CredentialCommitments 51, // 50: concordium.v2.AccountCredential.initial:type_name -> concordium.v2.InitialCredentialValues 56, // 51: concordium.v2.AccountCredential.normal:type_name -> concordium.v2.NormalCredentialValues @@ -29090,7 +31731,7 @@ var file_v2_concordium_types_proto_depIdxs = []int32{ 36, // 55: concordium.v2.AccountInfo.sequence_number:type_name -> concordium.v2.SequenceNumber 38, // 56: concordium.v2.AccountInfo.amount:type_name -> concordium.v2.Amount 23, // 57: concordium.v2.AccountInfo.schedule:type_name -> concordium.v2.ReleaseSchedule - 234, // 58: concordium.v2.AccountInfo.creds:type_name -> concordium.v2.AccountInfo.CredsEntry + 261, // 58: concordium.v2.AccountInfo.creds:type_name -> concordium.v2.AccountInfo.CredsEntry 41, // 59: concordium.v2.AccountInfo.threshold:type_name -> concordium.v2.AccountThreshold 25, // 60: concordium.v2.AccountInfo.encrypted_balance:type_name -> concordium.v2.EncryptedBalance 42, // 61: concordium.v2.AccountInfo.encryption_key:type_name -> concordium.v2.EncryptionKey @@ -29103,8 +31744,8 @@ var file_v2_concordium_types_proto_depIdxs = []int32{ 9, // 68: concordium.v2.BlockHashInput.last_final:type_name -> concordium.v2.Empty 10, // 69: concordium.v2.BlockHashInput.given:type_name -> concordium.v2.BlockHash 14, // 70: concordium.v2.BlockHashInput.absolute_height:type_name -> concordium.v2.AbsoluteBlockHeight - 235, // 71: concordium.v2.BlockHashInput.relative_height:type_name -> concordium.v2.BlockHashInput.RelativeHeight - 236, // 72: concordium.v2.EpochRequest.relative_epoch:type_name -> concordium.v2.EpochRequest.RelativeEpoch + 262, // 71: concordium.v2.BlockHashInput.relative_height:type_name -> concordium.v2.BlockHashInput.RelativeHeight + 263, // 72: concordium.v2.EpochRequest.relative_epoch:type_name -> concordium.v2.EpochRequest.RelativeEpoch 60, // 73: concordium.v2.EpochRequest.block_hash:type_name -> concordium.v2.BlockHashInput 43, // 74: concordium.v2.AccountIdentifierInput.address:type_name -> concordium.v2.AccountAddress 47, // 75: concordium.v2.AccountIdentifierInput.cred_id:type_name -> concordium.v2.CredentialRegistrationId @@ -29118,29 +31759,29 @@ var file_v2_concordium_types_proto_depIdxs = []int32{ 18, // 83: concordium.v2.ModuleSourceRequest.module_ref:type_name -> concordium.v2.ModuleRef 60, // 84: concordium.v2.InstanceInfoRequest.block_hash:type_name -> concordium.v2.BlockHashInput 67, // 85: concordium.v2.InstanceInfoRequest.address:type_name -> concordium.v2.ContractAddress - 237, // 86: concordium.v2.InstanceInfo.v0:type_name -> concordium.v2.InstanceInfo.V0 - 238, // 87: concordium.v2.InstanceInfo.v1:type_name -> concordium.v2.InstanceInfo.V1 + 264, // 86: concordium.v2.InstanceInfo.v0:type_name -> concordium.v2.InstanceInfo.V0 + 265, // 87: concordium.v2.InstanceInfo.v1:type_name -> concordium.v2.InstanceInfo.V1 60, // 88: concordium.v2.InstanceStateLookupRequest.block_hash:type_name -> concordium.v2.BlockHashInput 67, // 89: concordium.v2.InstanceStateLookupRequest.address:type_name -> concordium.v2.ContractAddress 9, // 90: concordium.v2.BlockItemStatus.received:type_name -> concordium.v2.Empty - 239, // 91: concordium.v2.BlockItemStatus.committed:type_name -> concordium.v2.BlockItemStatus.Committed - 240, // 92: concordium.v2.BlockItemStatus.finalized:type_name -> concordium.v2.BlockItemStatus.Finalized + 266, // 91: concordium.v2.BlockItemStatus.committed:type_name -> concordium.v2.BlockItemStatus.Committed + 267, // 92: concordium.v2.BlockItemStatus.finalized:type_name -> concordium.v2.BlockItemStatus.Finalized 10, // 93: concordium.v2.BlockItemSummaryInBlock.block_hash:type_name -> concordium.v2.BlockHash - 142, // 94: concordium.v2.BlockItemSummaryInBlock.outcome:type_name -> concordium.v2.BlockItemSummary + 143, // 94: concordium.v2.BlockItemSummaryInBlock.outcome:type_name -> concordium.v2.BlockItemSummary 36, // 95: concordium.v2.NextAccountSequenceNumber.sequence_number:type_name -> concordium.v2.SequenceNumber 9, // 96: concordium.v2.RejectReason.module_not_wf:type_name -> concordium.v2.Empty 18, // 97: concordium.v2.RejectReason.module_hash_already_exists:type_name -> concordium.v2.ModuleRef 43, // 98: concordium.v2.RejectReason.invalid_account_reference:type_name -> concordium.v2.AccountAddress - 241, // 99: concordium.v2.RejectReason.invalid_init_method:type_name -> concordium.v2.RejectReason.InvalidInitMethod - 242, // 100: concordium.v2.RejectReason.invalid_receive_method:type_name -> concordium.v2.RejectReason.InvalidReceiveMethod + 268, // 99: concordium.v2.RejectReason.invalid_init_method:type_name -> concordium.v2.RejectReason.InvalidInitMethod + 269, // 100: concordium.v2.RejectReason.invalid_receive_method:type_name -> concordium.v2.RejectReason.InvalidReceiveMethod 18, // 101: concordium.v2.RejectReason.invalid_module_reference:type_name -> concordium.v2.ModuleRef 67, // 102: concordium.v2.RejectReason.invalid_contract_address:type_name -> concordium.v2.ContractAddress 9, // 103: concordium.v2.RejectReason.runtime_failure:type_name -> concordium.v2.Empty - 243, // 104: concordium.v2.RejectReason.amount_too_large:type_name -> concordium.v2.RejectReason.AmountTooLarge + 270, // 104: concordium.v2.RejectReason.amount_too_large:type_name -> concordium.v2.RejectReason.AmountTooLarge 9, // 105: concordium.v2.RejectReason.serialization_failure:type_name -> concordium.v2.Empty 9, // 106: concordium.v2.RejectReason.out_of_energy:type_name -> concordium.v2.Empty - 244, // 107: concordium.v2.RejectReason.rejected_init:type_name -> concordium.v2.RejectReason.RejectedInit - 245, // 108: concordium.v2.RejectReason.rejected_receive:type_name -> concordium.v2.RejectReason.RejectedReceive + 271, // 107: concordium.v2.RejectReason.rejected_init:type_name -> concordium.v2.RejectReason.RejectedInit + 272, // 108: concordium.v2.RejectReason.rejected_receive:type_name -> concordium.v2.RejectReason.RejectedReceive 9, // 109: concordium.v2.RejectReason.invalid_proof:type_name -> concordium.v2.Empty 16, // 110: concordium.v2.RejectReason.already_a_baker:type_name -> concordium.v2.BakerId 43, // 111: concordium.v2.RejectReason.not_a_baker:type_name -> concordium.v2.AccountAddress @@ -29161,8 +31802,8 @@ var file_v2_concordium_types_proto_depIdxs = []int32{ 9, // 126: concordium.v2.RejectReason.first_scheduled_release_expired:type_name -> concordium.v2.Empty 43, // 127: concordium.v2.RejectReason.scheduled_self_transfer:type_name -> concordium.v2.AccountAddress 9, // 128: concordium.v2.RejectReason.invalid_credentials:type_name -> concordium.v2.Empty - 246, // 129: concordium.v2.RejectReason.duplicate_cred_ids:type_name -> concordium.v2.RejectReason.DuplicateCredIds - 247, // 130: concordium.v2.RejectReason.non_existent_cred_ids:type_name -> concordium.v2.RejectReason.NonExistentCredIds + 273, // 129: concordium.v2.RejectReason.duplicate_cred_ids:type_name -> concordium.v2.RejectReason.DuplicateCredIds + 274, // 130: concordium.v2.RejectReason.non_existent_cred_ids:type_name -> concordium.v2.RejectReason.NonExistentCredIds 9, // 131: concordium.v2.RejectReason.remove_first_credential:type_name -> concordium.v2.Empty 9, // 132: concordium.v2.RejectReason.credential_holder_did_not_sign:type_name -> concordium.v2.Empty 9, // 133: concordium.v2.RejectReason.not_allowed_multiple_credentials:type_name -> concordium.v2.Empty @@ -29188,689 +31829,805 @@ var file_v2_concordium_types_proto_depIdxs = []int32{ 38, // 153: concordium.v2.ContractInitializedEvent.amount:type_name -> concordium.v2.Amount 74, // 154: concordium.v2.ContractInitializedEvent.init_name:type_name -> concordium.v2.InitName 85, // 155: concordium.v2.ContractInitializedEvent.events:type_name -> concordium.v2.ContractEvent - 1, // 156: concordium.v2.InstanceUpdatedEvent.contract_version:type_name -> concordium.v2.ContractVersion - 67, // 157: concordium.v2.InstanceUpdatedEvent.address:type_name -> concordium.v2.ContractAddress - 44, // 158: concordium.v2.InstanceUpdatedEvent.instigator:type_name -> concordium.v2.Address - 38, // 159: concordium.v2.InstanceUpdatedEvent.amount:type_name -> concordium.v2.Amount - 75, // 160: concordium.v2.InstanceUpdatedEvent.parameter:type_name -> concordium.v2.Parameter - 73, // 161: concordium.v2.InstanceUpdatedEvent.receive_name:type_name -> concordium.v2.ReceiveName - 85, // 162: concordium.v2.InstanceUpdatedEvent.events:type_name -> concordium.v2.ContractEvent - 86, // 163: concordium.v2.ContractTraceElement.updated:type_name -> concordium.v2.InstanceUpdatedEvent - 248, // 164: concordium.v2.ContractTraceElement.transferred:type_name -> concordium.v2.ContractTraceElement.Transferred - 249, // 165: concordium.v2.ContractTraceElement.interrupted:type_name -> concordium.v2.ContractTraceElement.Interrupted - 250, // 166: concordium.v2.ContractTraceElement.resumed:type_name -> concordium.v2.ContractTraceElement.Resumed - 251, // 167: concordium.v2.ContractTraceElement.upgraded:type_name -> concordium.v2.ContractTraceElement.Upgraded - 16, // 168: concordium.v2.BakerKeysEvent.baker_id:type_name -> concordium.v2.BakerId - 43, // 169: concordium.v2.BakerKeysEvent.account:type_name -> concordium.v2.AccountAddress - 28, // 170: concordium.v2.BakerKeysEvent.sign_key:type_name -> concordium.v2.BakerSignatureVerifyKey - 27, // 171: concordium.v2.BakerKeysEvent.election_key:type_name -> concordium.v2.BakerElectionVerifyKey - 29, // 172: concordium.v2.BakerKeysEvent.aggregation_key:type_name -> concordium.v2.BakerAggregationVerifyKey - 16, // 173: concordium.v2.BakerStakeUpdatedData.baker_id:type_name -> concordium.v2.BakerId - 38, // 174: concordium.v2.BakerStakeUpdatedData.new_stake:type_name -> concordium.v2.Amount - 43, // 175: concordium.v2.EncryptedAmountRemovedEvent.account:type_name -> concordium.v2.AccountAddress - 24, // 176: concordium.v2.EncryptedAmountRemovedEvent.new_amount:type_name -> concordium.v2.EncryptedAmount - 24, // 177: concordium.v2.EncryptedAmountRemovedEvent.input_amount:type_name -> concordium.v2.EncryptedAmount - 43, // 178: concordium.v2.NewEncryptedAmountEvent.receiver:type_name -> concordium.v2.AccountAddress - 24, // 179: concordium.v2.NewEncryptedAmountEvent.encrypted_amount:type_name -> concordium.v2.EncryptedAmount - 43, // 180: concordium.v2.EncryptedSelfAmountAddedEvent.account:type_name -> concordium.v2.AccountAddress - 24, // 181: concordium.v2.EncryptedSelfAmountAddedEvent.new_amount:type_name -> concordium.v2.EncryptedAmount - 38, // 182: concordium.v2.EncryptedSelfAmountAddedEvent.amount:type_name -> concordium.v2.Amount - 252, // 183: concordium.v2.BakerEvent.baker_added:type_name -> concordium.v2.BakerEvent.BakerAdded - 16, // 184: concordium.v2.BakerEvent.baker_removed:type_name -> concordium.v2.BakerId - 253, // 185: concordium.v2.BakerEvent.baker_stake_increased:type_name -> concordium.v2.BakerEvent.BakerStakeIncreased - 254, // 186: concordium.v2.BakerEvent.baker_stake_decreased:type_name -> concordium.v2.BakerEvent.BakerStakeDecreased - 255, // 187: concordium.v2.BakerEvent.baker_restake_earnings_updated:type_name -> concordium.v2.BakerEvent.BakerRestakeEarningsUpdated - 88, // 188: concordium.v2.BakerEvent.baker_keys_updated:type_name -> concordium.v2.BakerKeysEvent - 256, // 189: concordium.v2.BakerEvent.baker_set_open_status:type_name -> concordium.v2.BakerEvent.BakerSetOpenStatus - 257, // 190: concordium.v2.BakerEvent.baker_set_metadata_url:type_name -> concordium.v2.BakerEvent.BakerSetMetadataUrl - 258, // 191: concordium.v2.BakerEvent.baker_set_transaction_fee_commission:type_name -> concordium.v2.BakerEvent.BakerSetTransactionFeeCommission - 259, // 192: concordium.v2.BakerEvent.baker_set_baking_reward_commission:type_name -> concordium.v2.BakerEvent.BakerSetBakingRewardCommission - 260, // 193: concordium.v2.BakerEvent.baker_set_finalization_reward_commission:type_name -> concordium.v2.BakerEvent.BakerSetFinalizationRewardCommission - 261, // 194: concordium.v2.BakerEvent.delegation_removed:type_name -> concordium.v2.BakerEvent.DelegationRemoved - 17, // 195: concordium.v2.DelegatorId.id:type_name -> concordium.v2.AccountIndex - 262, // 196: concordium.v2.DelegationEvent.delegation_stake_increased:type_name -> concordium.v2.DelegationEvent.DelegationStakeIncreased - 263, // 197: concordium.v2.DelegationEvent.delegation_stake_decreased:type_name -> concordium.v2.DelegationEvent.DelegationStakeDecreased - 264, // 198: concordium.v2.DelegationEvent.delegation_set_restake_earnings:type_name -> concordium.v2.DelegationEvent.DelegationSetRestakeEarnings - 265, // 199: concordium.v2.DelegationEvent.delegation_set_delegation_target:type_name -> concordium.v2.DelegationEvent.DelegationSetDelegationTarget - 96, // 200: concordium.v2.DelegationEvent.delegation_added:type_name -> concordium.v2.DelegatorId - 96, // 201: concordium.v2.DelegationEvent.delegation_removed:type_name -> concordium.v2.DelegatorId - 266, // 202: concordium.v2.DelegationEvent.baker_removed:type_name -> concordium.v2.DelegationEvent.BakerRemoved - 267, // 203: concordium.v2.AccountTransactionEffects.none:type_name -> concordium.v2.AccountTransactionEffects.None - 18, // 204: concordium.v2.AccountTransactionEffects.module_deployed:type_name -> concordium.v2.ModuleRef - 84, // 205: concordium.v2.AccountTransactionEffects.contract_initialized:type_name -> concordium.v2.ContractInitializedEvent - 268, // 206: concordium.v2.AccountTransactionEffects.contract_update_issued:type_name -> concordium.v2.AccountTransactionEffects.ContractUpdateIssued - 269, // 207: concordium.v2.AccountTransactionEffects.account_transfer:type_name -> concordium.v2.AccountTransactionEffects.AccountTransfer - 252, // 208: concordium.v2.AccountTransactionEffects.baker_added:type_name -> concordium.v2.BakerEvent.BakerAdded - 16, // 209: concordium.v2.AccountTransactionEffects.baker_removed:type_name -> concordium.v2.BakerId - 270, // 210: concordium.v2.AccountTransactionEffects.baker_stake_updated:type_name -> concordium.v2.AccountTransactionEffects.BakerStakeUpdated - 255, // 211: concordium.v2.AccountTransactionEffects.baker_restake_earnings_updated:type_name -> concordium.v2.BakerEvent.BakerRestakeEarningsUpdated - 88, // 212: concordium.v2.AccountTransactionEffects.baker_keys_updated:type_name -> concordium.v2.BakerKeysEvent - 271, // 213: concordium.v2.AccountTransactionEffects.encrypted_amount_transferred:type_name -> concordium.v2.AccountTransactionEffects.EncryptedAmountTransferred - 93, // 214: concordium.v2.AccountTransactionEffects.transferred_to_encrypted:type_name -> concordium.v2.EncryptedSelfAmountAddedEvent - 272, // 215: concordium.v2.AccountTransactionEffects.transferred_to_public:type_name -> concordium.v2.AccountTransactionEffects.TransferredToPublic - 273, // 216: concordium.v2.AccountTransactionEffects.transferred_with_schedule:type_name -> concordium.v2.AccountTransactionEffects.TransferredWithSchedule - 47, // 217: concordium.v2.AccountTransactionEffects.credential_keys_updated:type_name -> concordium.v2.CredentialRegistrationId - 274, // 218: concordium.v2.AccountTransactionEffects.credentials_updated:type_name -> concordium.v2.AccountTransactionEffects.CredentialsUpdated - 94, // 219: concordium.v2.AccountTransactionEffects.data_registered:type_name -> concordium.v2.RegisteredData - 275, // 220: concordium.v2.AccountTransactionEffects.baker_configured:type_name -> concordium.v2.AccountTransactionEffects.BakerConfigured - 276, // 221: concordium.v2.AccountTransactionEffects.delegation_configured:type_name -> concordium.v2.AccountTransactionEffects.DelegationConfigured - 32, // 222: concordium.v2.ElectionDifficulty.value:type_name -> concordium.v2.AmountFraction - 82, // 223: concordium.v2.TimeoutParameters.timeout_base:type_name -> concordium.v2.Duration - 104, // 224: concordium.v2.TimeoutParameters.timeout_increase:type_name -> concordium.v2.Ratio - 104, // 225: concordium.v2.TimeoutParameters.timeout_decrease:type_name -> concordium.v2.Ratio - 32, // 226: concordium.v2.FinalizationCommitteeParameters.finalizer_relative_stake_threshold:type_name -> concordium.v2.AmountFraction - 100, // 227: concordium.v2.ConsensusParametersV1.timeout_parameters:type_name -> concordium.v2.TimeoutParameters - 82, // 228: concordium.v2.ConsensusParametersV1.min_block_time:type_name -> concordium.v2.Duration - 79, // 229: concordium.v2.ConsensusParametersV1.block_energy_limit:type_name -> concordium.v2.Energy - 104, // 230: concordium.v2.ExchangeRate.value:type_name -> concordium.v2.Ratio - 105, // 231: concordium.v2.HigherLevelKeys.keys:type_name -> concordium.v2.UpdatePublicKey - 106, // 232: concordium.v2.HigherLevelKeys.threshold:type_name -> concordium.v2.UpdateKeysThreshold - 107, // 233: concordium.v2.AccessStructure.access_public_keys:type_name -> concordium.v2.UpdateKeysIndex - 106, // 234: concordium.v2.AccessStructure.access_threshold:type_name -> concordium.v2.UpdateKeysThreshold - 105, // 235: concordium.v2.AuthorizationsV0.keys:type_name -> concordium.v2.UpdatePublicKey - 109, // 236: concordium.v2.AuthorizationsV0.emergency:type_name -> concordium.v2.AccessStructure - 109, // 237: concordium.v2.AuthorizationsV0.protocol:type_name -> concordium.v2.AccessStructure - 109, // 238: concordium.v2.AuthorizationsV0.parameter_consensus:type_name -> concordium.v2.AccessStructure - 109, // 239: concordium.v2.AuthorizationsV0.parameter_euro_per_energy:type_name -> concordium.v2.AccessStructure - 109, // 240: concordium.v2.AuthorizationsV0.parameter_micro_CCD_per_euro:type_name -> concordium.v2.AccessStructure - 109, // 241: concordium.v2.AuthorizationsV0.parameter_foundation_account:type_name -> concordium.v2.AccessStructure - 109, // 242: concordium.v2.AuthorizationsV0.parameter_mint_distribution:type_name -> concordium.v2.AccessStructure - 109, // 243: concordium.v2.AuthorizationsV0.parameter_transaction_fee_distribution:type_name -> concordium.v2.AccessStructure - 109, // 244: concordium.v2.AuthorizationsV0.parameter_gas_rewards:type_name -> concordium.v2.AccessStructure - 109, // 245: concordium.v2.AuthorizationsV0.pool_parameters:type_name -> concordium.v2.AccessStructure - 109, // 246: concordium.v2.AuthorizationsV0.add_anonymity_revoker:type_name -> concordium.v2.AccessStructure - 109, // 247: concordium.v2.AuthorizationsV0.add_identity_provider:type_name -> concordium.v2.AccessStructure - 110, // 248: concordium.v2.AuthorizationsV1.v0:type_name -> concordium.v2.AuthorizationsV0 - 109, // 249: concordium.v2.AuthorizationsV1.parameter_cooldown:type_name -> concordium.v2.AccessStructure - 109, // 250: concordium.v2.AuthorizationsV1.parameter_time:type_name -> concordium.v2.AccessStructure - 277, // 251: concordium.v2.ArInfo.identity:type_name -> concordium.v2.ArInfo.ArIdentity - 112, // 252: concordium.v2.ArInfo.description:type_name -> concordium.v2.Description - 278, // 253: concordium.v2.ArInfo.public_key:type_name -> concordium.v2.ArInfo.ArPublicKey - 114, // 254: concordium.v2.IpInfo.identity:type_name -> concordium.v2.IpIdentity - 112, // 255: concordium.v2.IpInfo.description:type_name -> concordium.v2.Description - 279, // 256: concordium.v2.IpInfo.verify_key:type_name -> concordium.v2.IpInfo.IpVerifyKey - 280, // 257: concordium.v2.IpInfo.cdi_verify_key:type_name -> concordium.v2.IpInfo.IpCdiVerifyKey - 32, // 258: concordium.v2.InclusiveRangeAmountFraction.min:type_name -> concordium.v2.AmountFraction - 32, // 259: concordium.v2.InclusiveRangeAmountFraction.max_:type_name -> concordium.v2.AmountFraction - 117, // 260: concordium.v2.CommissionRanges.finalization:type_name -> concordium.v2.InclusiveRangeAmountFraction - 117, // 261: concordium.v2.CommissionRanges.baking:type_name -> concordium.v2.InclusiveRangeAmountFraction - 117, // 262: concordium.v2.CommissionRanges.transaction:type_name -> concordium.v2.InclusiveRangeAmountFraction - 32, // 263: concordium.v2.CapitalBound.value:type_name -> concordium.v2.AmountFraction - 104, // 264: concordium.v2.LeverageFactor.value:type_name -> concordium.v2.Ratio - 121, // 265: concordium.v2.RewardPeriodLength.value:type_name -> concordium.v2.Epoch - 116, // 266: concordium.v2.CooldownParametersCpv1.pool_owner_cooldown:type_name -> concordium.v2.DurationSeconds - 116, // 267: concordium.v2.CooldownParametersCpv1.delegator_cooldown:type_name -> concordium.v2.DurationSeconds - 32, // 268: concordium.v2.PoolParametersCpv1.passive_finalization_commission:type_name -> concordium.v2.AmountFraction - 32, // 269: concordium.v2.PoolParametersCpv1.passive_baking_commission:type_name -> concordium.v2.AmountFraction - 32, // 270: concordium.v2.PoolParametersCpv1.passive_transaction_commission:type_name -> concordium.v2.AmountFraction - 118, // 271: concordium.v2.PoolParametersCpv1.commission_bounds:type_name -> concordium.v2.CommissionRanges - 38, // 272: concordium.v2.PoolParametersCpv1.minimum_equity_capital:type_name -> concordium.v2.Amount - 119, // 273: concordium.v2.PoolParametersCpv1.capital_bound:type_name -> concordium.v2.CapitalBound - 120, // 274: concordium.v2.PoolParametersCpv1.leverage_bound:type_name -> concordium.v2.LeverageFactor - 123, // 275: concordium.v2.TimeParametersCpv1.reward_period_length:type_name -> concordium.v2.RewardPeriodLength - 124, // 276: concordium.v2.TimeParametersCpv1.mint_per_payday:type_name -> concordium.v2.MintRate - 32, // 277: concordium.v2.MintDistributionCpv1.baking_reward:type_name -> concordium.v2.AmountFraction - 32, // 278: concordium.v2.MintDistributionCpv1.finalization_reward:type_name -> concordium.v2.AmountFraction - 11, // 279: concordium.v2.ProtocolUpdate.specificationHash:type_name -> concordium.v2.Sha256Hash - 124, // 280: concordium.v2.MintDistributionCpv0.mint_per_slot:type_name -> concordium.v2.MintRate - 32, // 281: concordium.v2.MintDistributionCpv0.baking_reward:type_name -> concordium.v2.AmountFraction - 32, // 282: concordium.v2.MintDistributionCpv0.finalization_reward:type_name -> concordium.v2.AmountFraction - 32, // 283: concordium.v2.TransactionFeeDistribution.baker:type_name -> concordium.v2.AmountFraction - 32, // 284: concordium.v2.TransactionFeeDistribution.gas_account:type_name -> concordium.v2.AmountFraction - 32, // 285: concordium.v2.GasRewards.baker:type_name -> concordium.v2.AmountFraction - 32, // 286: concordium.v2.GasRewards.finalization_proof:type_name -> concordium.v2.AmountFraction - 32, // 287: concordium.v2.GasRewards.account_creation:type_name -> concordium.v2.AmountFraction - 32, // 288: concordium.v2.GasRewards.chain_update:type_name -> concordium.v2.AmountFraction - 32, // 289: concordium.v2.GasRewardsCpv2.baker:type_name -> concordium.v2.AmountFraction - 32, // 290: concordium.v2.GasRewardsCpv2.account_creation:type_name -> concordium.v2.AmountFraction - 32, // 291: concordium.v2.GasRewardsCpv2.chain_update:type_name -> concordium.v2.AmountFraction - 38, // 292: concordium.v2.BakerStakeThreshold.baker_stake_threshold:type_name -> concordium.v2.Amount - 108, // 293: concordium.v2.RootUpdate.root_keys_update:type_name -> concordium.v2.HigherLevelKeys - 108, // 294: concordium.v2.RootUpdate.level_1_keys_update:type_name -> concordium.v2.HigherLevelKeys - 110, // 295: concordium.v2.RootUpdate.level_2_keys_update_v0:type_name -> concordium.v2.AuthorizationsV0 - 111, // 296: concordium.v2.RootUpdate.level_2_keys_update_v1:type_name -> concordium.v2.AuthorizationsV1 - 108, // 297: concordium.v2.Level1Update.level_1_keys_update:type_name -> concordium.v2.HigherLevelKeys - 110, // 298: concordium.v2.Level1Update.level_2_keys_update_v0:type_name -> concordium.v2.AuthorizationsV0 - 111, // 299: concordium.v2.Level1Update.level_2_keys_update_v1:type_name -> concordium.v2.AuthorizationsV1 - 129, // 300: concordium.v2.UpdatePayload.protocol_update:type_name -> concordium.v2.ProtocolUpdate - 99, // 301: concordium.v2.UpdatePayload.election_difficulty_update:type_name -> concordium.v2.ElectionDifficulty - 103, // 302: concordium.v2.UpdatePayload.euro_per_energy_update:type_name -> concordium.v2.ExchangeRate - 103, // 303: concordium.v2.UpdatePayload.micro_ccd_per_euro_update:type_name -> concordium.v2.ExchangeRate - 43, // 304: concordium.v2.UpdatePayload.foundation_account_update:type_name -> concordium.v2.AccountAddress - 130, // 305: concordium.v2.UpdatePayload.mint_distribution_update:type_name -> concordium.v2.MintDistributionCpv0 - 131, // 306: concordium.v2.UpdatePayload.transaction_fee_distribution_update:type_name -> concordium.v2.TransactionFeeDistribution - 132, // 307: concordium.v2.UpdatePayload.gas_rewards_update:type_name -> concordium.v2.GasRewards - 134, // 308: concordium.v2.UpdatePayload.baker_stake_threshold_update:type_name -> concordium.v2.BakerStakeThreshold - 135, // 309: concordium.v2.UpdatePayload.root_update:type_name -> concordium.v2.RootUpdate - 136, // 310: concordium.v2.UpdatePayload.level_1_update:type_name -> concordium.v2.Level1Update - 113, // 311: concordium.v2.UpdatePayload.add_anonymity_revoker_update:type_name -> concordium.v2.ArInfo - 115, // 312: concordium.v2.UpdatePayload.add_identity_provider_update:type_name -> concordium.v2.IpInfo - 125, // 313: concordium.v2.UpdatePayload.cooldown_parameters_cpv_1_update:type_name -> concordium.v2.CooldownParametersCpv1 - 126, // 314: concordium.v2.UpdatePayload.pool_parameters_cpv_1_update:type_name -> concordium.v2.PoolParametersCpv1 - 127, // 315: concordium.v2.UpdatePayload.time_parameters_cpv_1_update:type_name -> concordium.v2.TimeParametersCpv1 - 128, // 316: concordium.v2.UpdatePayload.mint_distribution_cpv_1_update:type_name -> concordium.v2.MintDistributionCpv1 - 133, // 317: concordium.v2.UpdatePayload.gas_rewards_cpv_2_update:type_name -> concordium.v2.GasRewardsCpv2 - 100, // 318: concordium.v2.UpdatePayload.timeout_parameters_update:type_name -> concordium.v2.TimeoutParameters - 82, // 319: concordium.v2.UpdatePayload.min_block_time_update:type_name -> concordium.v2.Duration - 79, // 320: concordium.v2.UpdatePayload.block_energy_limit_update:type_name -> concordium.v2.Energy - 101, // 321: concordium.v2.UpdatePayload.finalization_committee_parameters_update:type_name -> concordium.v2.FinalizationCommitteeParameters - 38, // 322: concordium.v2.AccountTransactionDetails.cost:type_name -> concordium.v2.Amount - 43, // 323: concordium.v2.AccountTransactionDetails.sender:type_name -> concordium.v2.AccountAddress - 98, // 324: concordium.v2.AccountTransactionDetails.effects:type_name -> concordium.v2.AccountTransactionEffects - 2, // 325: concordium.v2.AccountCreationDetails.credential_type:type_name -> concordium.v2.CredentialType - 43, // 326: concordium.v2.AccountCreationDetails.address:type_name -> concordium.v2.AccountAddress - 47, // 327: concordium.v2.AccountCreationDetails.reg_id:type_name -> concordium.v2.CredentialRegistrationId - 140, // 328: concordium.v2.UpdateDetails.effective_time:type_name -> concordium.v2.TransactionTime - 137, // 329: concordium.v2.UpdateDetails.payload:type_name -> concordium.v2.UpdatePayload - 281, // 330: concordium.v2.BlockItemSummary.index:type_name -> concordium.v2.BlockItemSummary.TransactionIndex - 79, // 331: concordium.v2.BlockItemSummary.energy_cost:type_name -> concordium.v2.Energy - 12, // 332: concordium.v2.BlockItemSummary.hash:type_name -> concordium.v2.TransactionHash - 138, // 333: concordium.v2.BlockItemSummary.account_transaction:type_name -> concordium.v2.AccountTransactionDetails - 139, // 334: concordium.v2.BlockItemSummary.account_creation:type_name -> concordium.v2.AccountCreationDetails - 141, // 335: concordium.v2.BlockItemSummary.update:type_name -> concordium.v2.UpdateDetails - 10, // 336: concordium.v2.ConsensusInfo.best_block:type_name -> concordium.v2.BlockHash - 10, // 337: concordium.v2.ConsensusInfo.genesis_block:type_name -> concordium.v2.BlockHash - 20, // 338: concordium.v2.ConsensusInfo.genesis_time:type_name -> concordium.v2.Timestamp - 82, // 339: concordium.v2.ConsensusInfo.slot_duration:type_name -> concordium.v2.Duration - 82, // 340: concordium.v2.ConsensusInfo.epoch_duration:type_name -> concordium.v2.Duration - 10, // 341: concordium.v2.ConsensusInfo.last_finalized_block:type_name -> concordium.v2.BlockHash - 14, // 342: concordium.v2.ConsensusInfo.best_block_height:type_name -> concordium.v2.AbsoluteBlockHeight - 14, // 343: concordium.v2.ConsensusInfo.last_finalized_block_height:type_name -> concordium.v2.AbsoluteBlockHeight - 20, // 344: concordium.v2.ConsensusInfo.block_last_received_time:type_name -> concordium.v2.Timestamp - 20, // 345: concordium.v2.ConsensusInfo.block_last_arrived_time:type_name -> concordium.v2.Timestamp - 20, // 346: concordium.v2.ConsensusInfo.last_finalized_time:type_name -> concordium.v2.Timestamp - 5, // 347: concordium.v2.ConsensusInfo.protocol_version:type_name -> concordium.v2.ProtocolVersion - 143, // 348: concordium.v2.ConsensusInfo.genesis_index:type_name -> concordium.v2.GenesisIndex - 10, // 349: concordium.v2.ConsensusInfo.current_era_genesis_block:type_name -> concordium.v2.BlockHash - 20, // 350: concordium.v2.ConsensusInfo.current_era_genesis_time:type_name -> concordium.v2.Timestamp - 82, // 351: concordium.v2.ConsensusInfo.current_timeout_duration:type_name -> concordium.v2.Duration - 122, // 352: concordium.v2.ConsensusInfo.current_round:type_name -> concordium.v2.Round - 121, // 353: concordium.v2.ConsensusInfo.current_epoch:type_name -> concordium.v2.Epoch - 20, // 354: concordium.v2.ConsensusInfo.trigger_block_time:type_name -> concordium.v2.Timestamp - 10, // 355: concordium.v2.ArrivedBlockInfo.hash:type_name -> concordium.v2.BlockHash - 14, // 356: concordium.v2.ArrivedBlockInfo.height:type_name -> concordium.v2.AbsoluteBlockHeight - 10, // 357: concordium.v2.BlockInfo.hash:type_name -> concordium.v2.BlockHash - 14, // 358: concordium.v2.BlockInfo.height:type_name -> concordium.v2.AbsoluteBlockHeight - 10, // 359: concordium.v2.BlockInfo.parent_block:type_name -> concordium.v2.BlockHash - 10, // 360: concordium.v2.BlockInfo.last_finalized_block:type_name -> concordium.v2.BlockHash - 143, // 361: concordium.v2.BlockInfo.genesis_index:type_name -> concordium.v2.GenesisIndex - 15, // 362: concordium.v2.BlockInfo.era_block_height:type_name -> concordium.v2.BlockHeight - 20, // 363: concordium.v2.BlockInfo.receive_time:type_name -> concordium.v2.Timestamp - 20, // 364: concordium.v2.BlockInfo.arrive_time:type_name -> concordium.v2.Timestamp - 80, // 365: concordium.v2.BlockInfo.slot_number:type_name -> concordium.v2.Slot - 20, // 366: concordium.v2.BlockInfo.slot_time:type_name -> concordium.v2.Timestamp - 16, // 367: concordium.v2.BlockInfo.baker:type_name -> concordium.v2.BakerId - 79, // 368: concordium.v2.BlockInfo.transactions_energy_cost:type_name -> concordium.v2.Energy - 13, // 369: concordium.v2.BlockInfo.state_hash:type_name -> concordium.v2.StateHash - 5, // 370: concordium.v2.BlockInfo.protocol_version:type_name -> concordium.v2.ProtocolVersion - 122, // 371: concordium.v2.BlockInfo.round:type_name -> concordium.v2.Round - 121, // 372: concordium.v2.BlockInfo.epoch:type_name -> concordium.v2.Epoch - 60, // 373: concordium.v2.PoolInfoRequest.block_hash:type_name -> concordium.v2.BlockHashInput - 16, // 374: concordium.v2.PoolInfoRequest.baker:type_name -> concordium.v2.BakerId - 282, // 375: concordium.v2.PoolPendingChange.reduce:type_name -> concordium.v2.PoolPendingChange.Reduce - 283, // 376: concordium.v2.PoolPendingChange.remove:type_name -> concordium.v2.PoolPendingChange.Remove - 38, // 377: concordium.v2.PoolCurrentPaydayInfo.transaction_fees_earned:type_name -> concordium.v2.Amount - 38, // 378: concordium.v2.PoolCurrentPaydayInfo.effective_stake:type_name -> concordium.v2.Amount - 38, // 379: concordium.v2.PoolCurrentPaydayInfo.baker_equity_capital:type_name -> concordium.v2.Amount - 38, // 380: concordium.v2.PoolCurrentPaydayInfo.delegated_capital:type_name -> concordium.v2.Amount - 33, // 381: concordium.v2.PoolCurrentPaydayInfo.commission_rates:type_name -> concordium.v2.CommissionRates - 16, // 382: concordium.v2.PoolInfoResponse.baker:type_name -> concordium.v2.BakerId - 43, // 383: concordium.v2.PoolInfoResponse.address:type_name -> concordium.v2.AccountAddress - 38, // 384: concordium.v2.PoolInfoResponse.equity_capital:type_name -> concordium.v2.Amount - 38, // 385: concordium.v2.PoolInfoResponse.delegated_capital:type_name -> concordium.v2.Amount - 38, // 386: concordium.v2.PoolInfoResponse.delegated_capital_cap:type_name -> concordium.v2.Amount - 34, // 387: concordium.v2.PoolInfoResponse.pool_info:type_name -> concordium.v2.BakerPoolInfo - 149, // 388: concordium.v2.PoolInfoResponse.equity_pending_change:type_name -> concordium.v2.PoolPendingChange - 150, // 389: concordium.v2.PoolInfoResponse.current_payday_info:type_name -> concordium.v2.PoolCurrentPaydayInfo - 38, // 390: concordium.v2.PoolInfoResponse.all_pool_total_capital:type_name -> concordium.v2.Amount - 38, // 391: concordium.v2.PassiveDelegationInfo.delegated_capital:type_name -> concordium.v2.Amount - 33, // 392: concordium.v2.PassiveDelegationInfo.commission_rates:type_name -> concordium.v2.CommissionRates - 38, // 393: concordium.v2.PassiveDelegationInfo.current_payday_transaction_fees_earned:type_name -> concordium.v2.Amount - 38, // 394: concordium.v2.PassiveDelegationInfo.current_payday_delegated_capital:type_name -> concordium.v2.Amount - 38, // 395: concordium.v2.PassiveDelegationInfo.all_pool_total_capital:type_name -> concordium.v2.Amount - 284, // 396: concordium.v2.BlocksAtHeightRequest.absolute:type_name -> concordium.v2.BlocksAtHeightRequest.Absolute - 285, // 397: concordium.v2.BlocksAtHeightRequest.relative:type_name -> concordium.v2.BlocksAtHeightRequest.Relative - 10, // 398: concordium.v2.BlocksAtHeightResponse.blocks:type_name -> concordium.v2.BlockHash - 286, // 399: concordium.v2.TokenomicsInfo.v0:type_name -> concordium.v2.TokenomicsInfo.V0 - 287, // 400: concordium.v2.TokenomicsInfo.v1:type_name -> concordium.v2.TokenomicsInfo.V1 - 60, // 401: concordium.v2.InvokeInstanceRequest.block_hash:type_name -> concordium.v2.BlockHashInput - 44, // 402: concordium.v2.InvokeInstanceRequest.invoker:type_name -> concordium.v2.Address - 67, // 403: concordium.v2.InvokeInstanceRequest.instance:type_name -> concordium.v2.ContractAddress - 38, // 404: concordium.v2.InvokeInstanceRequest.amount:type_name -> concordium.v2.Amount - 73, // 405: concordium.v2.InvokeInstanceRequest.entrypoint:type_name -> concordium.v2.ReceiveName - 75, // 406: concordium.v2.InvokeInstanceRequest.parameter:type_name -> concordium.v2.Parameter - 79, // 407: concordium.v2.InvokeInstanceRequest.energy:type_name -> concordium.v2.Energy - 289, // 408: concordium.v2.InvokeInstanceResponse.success:type_name -> concordium.v2.InvokeInstanceResponse.Success - 288, // 409: concordium.v2.InvokeInstanceResponse.failure:type_name -> concordium.v2.InvokeInstanceResponse.Failure - 60, // 410: concordium.v2.GetPoolDelegatorsRequest.block_hash:type_name -> concordium.v2.BlockHashInput - 16, // 411: concordium.v2.GetPoolDelegatorsRequest.baker:type_name -> concordium.v2.BakerId - 43, // 412: concordium.v2.DelegatorInfo.account:type_name -> concordium.v2.AccountAddress - 38, // 413: concordium.v2.DelegatorInfo.stake:type_name -> concordium.v2.Amount - 31, // 414: concordium.v2.DelegatorInfo.pending_change:type_name -> concordium.v2.StakePendingChange - 43, // 415: concordium.v2.DelegatorRewardPeriodInfo.account:type_name -> concordium.v2.AccountAddress - 38, // 416: concordium.v2.DelegatorRewardPeriodInfo.stake:type_name -> concordium.v2.Amount - 10, // 417: concordium.v2.Branch.block_hash:type_name -> concordium.v2.BlockHash - 161, // 418: concordium.v2.Branch.children:type_name -> concordium.v2.Branch - 99, // 419: concordium.v2.ElectionInfo.election_difficulty:type_name -> concordium.v2.ElectionDifficulty - 162, // 420: concordium.v2.ElectionInfo.election_nonce:type_name -> concordium.v2.LeadershipElectionNonce - 290, // 421: concordium.v2.ElectionInfo.baker_election_info:type_name -> concordium.v2.ElectionInfo.Baker - 292, // 422: concordium.v2.BlockSpecialEvent.baking_rewards:type_name -> concordium.v2.BlockSpecialEvent.BakingRewards - 293, // 423: concordium.v2.BlockSpecialEvent.mint:type_name -> concordium.v2.BlockSpecialEvent.Mint - 294, // 424: concordium.v2.BlockSpecialEvent.finalization_rewards:type_name -> concordium.v2.BlockSpecialEvent.FinalizationRewards - 295, // 425: concordium.v2.BlockSpecialEvent.block_reward:type_name -> concordium.v2.BlockSpecialEvent.BlockReward - 296, // 426: concordium.v2.BlockSpecialEvent.payday_foundation_reward:type_name -> concordium.v2.BlockSpecialEvent.PaydayFoundationReward - 297, // 427: concordium.v2.BlockSpecialEvent.payday_account_reward:type_name -> concordium.v2.BlockSpecialEvent.PaydayAccountReward - 298, // 428: concordium.v2.BlockSpecialEvent.block_accrue_reward:type_name -> concordium.v2.BlockSpecialEvent.BlockAccrueReward - 299, // 429: concordium.v2.BlockSpecialEvent.payday_pool_reward:type_name -> concordium.v2.BlockSpecialEvent.PaydayPoolReward - 140, // 430: concordium.v2.PendingUpdate.effective_time:type_name -> concordium.v2.TransactionTime - 108, // 431: concordium.v2.PendingUpdate.root_keys:type_name -> concordium.v2.HigherLevelKeys - 108, // 432: concordium.v2.PendingUpdate.level1_keys:type_name -> concordium.v2.HigherLevelKeys - 110, // 433: concordium.v2.PendingUpdate.level2_keys_cpv_0:type_name -> concordium.v2.AuthorizationsV0 - 111, // 434: concordium.v2.PendingUpdate.level2_keys_cpv_1:type_name -> concordium.v2.AuthorizationsV1 - 129, // 435: concordium.v2.PendingUpdate.protocol:type_name -> concordium.v2.ProtocolUpdate - 99, // 436: concordium.v2.PendingUpdate.election_difficulty:type_name -> concordium.v2.ElectionDifficulty - 103, // 437: concordium.v2.PendingUpdate.euro_per_energy:type_name -> concordium.v2.ExchangeRate - 103, // 438: concordium.v2.PendingUpdate.micro_ccd_per_euro:type_name -> concordium.v2.ExchangeRate - 43, // 439: concordium.v2.PendingUpdate.foundation_account:type_name -> concordium.v2.AccountAddress - 130, // 440: concordium.v2.PendingUpdate.mint_distribution_cpv_0:type_name -> concordium.v2.MintDistributionCpv0 - 128, // 441: concordium.v2.PendingUpdate.mint_distribution_cpv_1:type_name -> concordium.v2.MintDistributionCpv1 - 131, // 442: concordium.v2.PendingUpdate.transaction_fee_distribution:type_name -> concordium.v2.TransactionFeeDistribution - 132, // 443: concordium.v2.PendingUpdate.gas_rewards:type_name -> concordium.v2.GasRewards - 134, // 444: concordium.v2.PendingUpdate.pool_parameters_cpv_0:type_name -> concordium.v2.BakerStakeThreshold - 126, // 445: concordium.v2.PendingUpdate.pool_parameters_cpv_1:type_name -> concordium.v2.PoolParametersCpv1 - 113, // 446: concordium.v2.PendingUpdate.add_anonymity_revoker:type_name -> concordium.v2.ArInfo - 115, // 447: concordium.v2.PendingUpdate.add_identity_provider:type_name -> concordium.v2.IpInfo - 125, // 448: concordium.v2.PendingUpdate.cooldown_parameters:type_name -> concordium.v2.CooldownParametersCpv1 - 127, // 449: concordium.v2.PendingUpdate.time_parameters:type_name -> concordium.v2.TimeParametersCpv1 - 133, // 450: concordium.v2.PendingUpdate.gas_rewards_cpv_2:type_name -> concordium.v2.GasRewardsCpv2 - 100, // 451: concordium.v2.PendingUpdate.timeout_parameters:type_name -> concordium.v2.TimeoutParameters - 82, // 452: concordium.v2.PendingUpdate.min_block_time:type_name -> concordium.v2.Duration - 79, // 453: concordium.v2.PendingUpdate.block_energy_limit:type_name -> concordium.v2.Energy - 101, // 454: concordium.v2.PendingUpdate.finalization_committee_parameters:type_name -> concordium.v2.FinalizationCommitteeParameters - 36, // 455: concordium.v2.NextUpdateSequenceNumbers.root_keys:type_name -> concordium.v2.SequenceNumber - 36, // 456: concordium.v2.NextUpdateSequenceNumbers.level1_keys:type_name -> concordium.v2.SequenceNumber - 36, // 457: concordium.v2.NextUpdateSequenceNumbers.level2_keys:type_name -> concordium.v2.SequenceNumber - 36, // 458: concordium.v2.NextUpdateSequenceNumbers.protocol:type_name -> concordium.v2.SequenceNumber - 36, // 459: concordium.v2.NextUpdateSequenceNumbers.election_difficulty:type_name -> concordium.v2.SequenceNumber - 36, // 460: concordium.v2.NextUpdateSequenceNumbers.euro_per_energy:type_name -> concordium.v2.SequenceNumber - 36, // 461: concordium.v2.NextUpdateSequenceNumbers.micro_ccd_per_euro:type_name -> concordium.v2.SequenceNumber - 36, // 462: concordium.v2.NextUpdateSequenceNumbers.foundation_account:type_name -> concordium.v2.SequenceNumber - 36, // 463: concordium.v2.NextUpdateSequenceNumbers.mint_distribution:type_name -> concordium.v2.SequenceNumber - 36, // 464: concordium.v2.NextUpdateSequenceNumbers.transaction_fee_distribution:type_name -> concordium.v2.SequenceNumber - 36, // 465: concordium.v2.NextUpdateSequenceNumbers.gas_rewards:type_name -> concordium.v2.SequenceNumber - 36, // 466: concordium.v2.NextUpdateSequenceNumbers.pool_parameters:type_name -> concordium.v2.SequenceNumber - 36, // 467: concordium.v2.NextUpdateSequenceNumbers.add_anonymity_revoker:type_name -> concordium.v2.SequenceNumber - 36, // 468: concordium.v2.NextUpdateSequenceNumbers.add_identity_provider:type_name -> concordium.v2.SequenceNumber - 36, // 469: concordium.v2.NextUpdateSequenceNumbers.cooldown_parameters:type_name -> concordium.v2.SequenceNumber - 36, // 470: concordium.v2.NextUpdateSequenceNumbers.time_parameters:type_name -> concordium.v2.SequenceNumber - 36, // 471: concordium.v2.NextUpdateSequenceNumbers.timeout_parameters:type_name -> concordium.v2.SequenceNumber - 36, // 472: concordium.v2.NextUpdateSequenceNumbers.min_block_time:type_name -> concordium.v2.SequenceNumber - 36, // 473: concordium.v2.NextUpdateSequenceNumbers.block_energy_limit:type_name -> concordium.v2.SequenceNumber - 36, // 474: concordium.v2.NextUpdateSequenceNumbers.finalization_committee_parameters:type_name -> concordium.v2.SequenceNumber - 167, // 475: concordium.v2.IpSocketAddress.ip:type_name -> concordium.v2.IpAddress - 168, // 476: concordium.v2.IpSocketAddress.port:type_name -> concordium.v2.Port - 167, // 477: concordium.v2.BannedPeer.ip_address:type_name -> concordium.v2.IpAddress - 171, // 478: concordium.v2.BannedPeers.peers:type_name -> concordium.v2.BannedPeer - 167, // 479: concordium.v2.PeerToBan.ip_address:type_name -> concordium.v2.IpAddress - 301, // 480: concordium.v2.PeersInfo.peers:type_name -> concordium.v2.PeersInfo.Peer - 20, // 481: concordium.v2.NodeInfo.local_time:type_name -> concordium.v2.Timestamp - 82, // 482: concordium.v2.NodeInfo.peer_uptime:type_name -> concordium.v2.Duration - 303, // 483: concordium.v2.NodeInfo.network_info:type_name -> concordium.v2.NodeInfo.NetworkInfo - 9, // 484: concordium.v2.NodeInfo.bootstrapper:type_name -> concordium.v2.Empty - 305, // 485: concordium.v2.NodeInfo.node:type_name -> concordium.v2.NodeInfo.Node - 190, // 486: concordium.v2.SendBlockItemRequest.account_transaction:type_name -> concordium.v2.AccountTransaction - 178, // 487: concordium.v2.SendBlockItemRequest.credential_deployment:type_name -> concordium.v2.CredentialDeployment - 193, // 488: concordium.v2.SendBlockItemRequest.update_instruction:type_name -> concordium.v2.UpdateInstruction - 140, // 489: concordium.v2.CredentialDeployment.message_expiry:type_name -> concordium.v2.TransactionTime - 308, // 490: concordium.v2.SignatureMap.signatures:type_name -> concordium.v2.SignatureMap.SignaturesEntry - 309, // 491: concordium.v2.AccountSignatureMap.signatures:type_name -> concordium.v2.AccountSignatureMap.SignaturesEntry - 310, // 492: concordium.v2.AccountTransactionSignature.signatures:type_name -> concordium.v2.AccountTransactionSignature.SignaturesEntry - 43, // 493: concordium.v2.AccountTransactionHeader.sender:type_name -> concordium.v2.AccountAddress - 36, // 494: concordium.v2.AccountTransactionHeader.sequence_number:type_name -> concordium.v2.SequenceNumber - 79, // 495: concordium.v2.AccountTransactionHeader.energy_amount:type_name -> concordium.v2.Energy - 140, // 496: concordium.v2.AccountTransactionHeader.expiry:type_name -> concordium.v2.TransactionTime - 38, // 497: concordium.v2.InitContractPayload.amount:type_name -> concordium.v2.Amount - 18, // 498: concordium.v2.InitContractPayload.module_ref:type_name -> concordium.v2.ModuleRef - 74, // 499: concordium.v2.InitContractPayload.init_name:type_name -> concordium.v2.InitName - 75, // 500: concordium.v2.InitContractPayload.parameter:type_name -> concordium.v2.Parameter - 38, // 501: concordium.v2.UpdateContractPayload.amount:type_name -> concordium.v2.Amount - 67, // 502: concordium.v2.UpdateContractPayload.address:type_name -> concordium.v2.ContractAddress - 73, // 503: concordium.v2.UpdateContractPayload.receive_name:type_name -> concordium.v2.ReceiveName - 75, // 504: concordium.v2.UpdateContractPayload.parameter:type_name -> concordium.v2.Parameter - 38, // 505: concordium.v2.TransferPayload.amount:type_name -> concordium.v2.Amount - 43, // 506: concordium.v2.TransferPayload.receiver:type_name -> concordium.v2.AccountAddress - 38, // 507: concordium.v2.TransferWithMemoPayload.amount:type_name -> concordium.v2.Amount - 43, // 508: concordium.v2.TransferWithMemoPayload.receiver:type_name -> concordium.v2.AccountAddress - 89, // 509: concordium.v2.TransferWithMemoPayload.memo:type_name -> concordium.v2.Memo - 19, // 510: concordium.v2.AccountTransactionPayload.deploy_module:type_name -> concordium.v2.VersionedModuleSource - 184, // 511: concordium.v2.AccountTransactionPayload.init_contract:type_name -> concordium.v2.InitContractPayload - 185, // 512: concordium.v2.AccountTransactionPayload.update_contract:type_name -> concordium.v2.UpdateContractPayload - 186, // 513: concordium.v2.AccountTransactionPayload.transfer:type_name -> concordium.v2.TransferPayload - 187, // 514: concordium.v2.AccountTransactionPayload.transfer_with_memo:type_name -> concordium.v2.TransferWithMemoPayload - 94, // 515: concordium.v2.AccountTransactionPayload.register_data:type_name -> concordium.v2.RegisteredData - 183, // 516: concordium.v2.PreAccountTransaction.header:type_name -> concordium.v2.AccountTransactionHeader - 188, // 517: concordium.v2.PreAccountTransaction.payload:type_name -> concordium.v2.AccountTransactionPayload - 182, // 518: concordium.v2.AccountTransaction.signature:type_name -> concordium.v2.AccountTransactionSignature - 183, // 519: concordium.v2.AccountTransaction.header:type_name -> concordium.v2.AccountTransactionHeader - 188, // 520: concordium.v2.AccountTransaction.payload:type_name -> concordium.v2.AccountTransactionPayload - 37, // 521: concordium.v2.UpdateInstructionHeader.sequence_number:type_name -> concordium.v2.UpdateSequenceNumber - 140, // 522: concordium.v2.UpdateInstructionHeader.effective_time:type_name -> concordium.v2.TransactionTime - 140, // 523: concordium.v2.UpdateInstructionHeader.timeout:type_name -> concordium.v2.TransactionTime - 180, // 524: concordium.v2.UpdateInstruction.signatures:type_name -> concordium.v2.SignatureMap - 191, // 525: concordium.v2.UpdateInstruction.header:type_name -> concordium.v2.UpdateInstructionHeader - 192, // 526: concordium.v2.UpdateInstruction.payload:type_name -> concordium.v2.UpdateInstructionPayload - 99, // 527: concordium.v2.ChainParametersV0.election_difficulty:type_name -> concordium.v2.ElectionDifficulty - 103, // 528: concordium.v2.ChainParametersV0.euro_per_energy:type_name -> concordium.v2.ExchangeRate - 103, // 529: concordium.v2.ChainParametersV0.micro_ccd_per_euro:type_name -> concordium.v2.ExchangeRate - 121, // 530: concordium.v2.ChainParametersV0.baker_cooldown_epochs:type_name -> concordium.v2.Epoch - 195, // 531: concordium.v2.ChainParametersV0.account_creation_limit:type_name -> concordium.v2.CredentialsPerBlockLimit - 130, // 532: concordium.v2.ChainParametersV0.mint_distribution:type_name -> concordium.v2.MintDistributionCpv0 - 131, // 533: concordium.v2.ChainParametersV0.transaction_fee_distribution:type_name -> concordium.v2.TransactionFeeDistribution - 132, // 534: concordium.v2.ChainParametersV0.gas_rewards:type_name -> concordium.v2.GasRewards - 43, // 535: concordium.v2.ChainParametersV0.foundation_account:type_name -> concordium.v2.AccountAddress - 38, // 536: concordium.v2.ChainParametersV0.minimum_threshold_for_baking:type_name -> concordium.v2.Amount - 108, // 537: concordium.v2.ChainParametersV0.root_keys:type_name -> concordium.v2.HigherLevelKeys - 108, // 538: concordium.v2.ChainParametersV0.level1_keys:type_name -> concordium.v2.HigherLevelKeys - 110, // 539: concordium.v2.ChainParametersV0.level2_keys:type_name -> concordium.v2.AuthorizationsV0 - 99, // 540: concordium.v2.ChainParametersV1.election_difficulty:type_name -> concordium.v2.ElectionDifficulty - 103, // 541: concordium.v2.ChainParametersV1.euro_per_energy:type_name -> concordium.v2.ExchangeRate - 103, // 542: concordium.v2.ChainParametersV1.micro_ccd_per_euro:type_name -> concordium.v2.ExchangeRate - 125, // 543: concordium.v2.ChainParametersV1.cooldown_parameters:type_name -> concordium.v2.CooldownParametersCpv1 - 127, // 544: concordium.v2.ChainParametersV1.time_parameters:type_name -> concordium.v2.TimeParametersCpv1 - 195, // 545: concordium.v2.ChainParametersV1.account_creation_limit:type_name -> concordium.v2.CredentialsPerBlockLimit - 128, // 546: concordium.v2.ChainParametersV1.mint_distribution:type_name -> concordium.v2.MintDistributionCpv1 - 131, // 547: concordium.v2.ChainParametersV1.transaction_fee_distribution:type_name -> concordium.v2.TransactionFeeDistribution - 132, // 548: concordium.v2.ChainParametersV1.gas_rewards:type_name -> concordium.v2.GasRewards - 43, // 549: concordium.v2.ChainParametersV1.foundation_account:type_name -> concordium.v2.AccountAddress - 126, // 550: concordium.v2.ChainParametersV1.pool_parameters:type_name -> concordium.v2.PoolParametersCpv1 - 108, // 551: concordium.v2.ChainParametersV1.root_keys:type_name -> concordium.v2.HigherLevelKeys - 108, // 552: concordium.v2.ChainParametersV1.level1_keys:type_name -> concordium.v2.HigherLevelKeys - 111, // 553: concordium.v2.ChainParametersV1.level2_keys:type_name -> concordium.v2.AuthorizationsV1 - 102, // 554: concordium.v2.ChainParametersV2.consensus_parameters:type_name -> concordium.v2.ConsensusParametersV1 - 103, // 555: concordium.v2.ChainParametersV2.euro_per_energy:type_name -> concordium.v2.ExchangeRate - 103, // 556: concordium.v2.ChainParametersV2.micro_ccd_per_euro:type_name -> concordium.v2.ExchangeRate - 125, // 557: concordium.v2.ChainParametersV2.cooldown_parameters:type_name -> concordium.v2.CooldownParametersCpv1 - 127, // 558: concordium.v2.ChainParametersV2.time_parameters:type_name -> concordium.v2.TimeParametersCpv1 - 195, // 559: concordium.v2.ChainParametersV2.account_creation_limit:type_name -> concordium.v2.CredentialsPerBlockLimit - 128, // 560: concordium.v2.ChainParametersV2.mint_distribution:type_name -> concordium.v2.MintDistributionCpv1 - 131, // 561: concordium.v2.ChainParametersV2.transaction_fee_distribution:type_name -> concordium.v2.TransactionFeeDistribution - 133, // 562: concordium.v2.ChainParametersV2.gas_rewards:type_name -> concordium.v2.GasRewardsCpv2 - 43, // 563: concordium.v2.ChainParametersV2.foundation_account:type_name -> concordium.v2.AccountAddress - 126, // 564: concordium.v2.ChainParametersV2.pool_parameters:type_name -> concordium.v2.PoolParametersCpv1 - 108, // 565: concordium.v2.ChainParametersV2.root_keys:type_name -> concordium.v2.HigherLevelKeys - 108, // 566: concordium.v2.ChainParametersV2.level1_keys:type_name -> concordium.v2.HigherLevelKeys - 111, // 567: concordium.v2.ChainParametersV2.level2_keys:type_name -> concordium.v2.AuthorizationsV1 - 101, // 568: concordium.v2.ChainParametersV2.finalization_committee_parameters:type_name -> concordium.v2.FinalizationCommitteeParameters - 196, // 569: concordium.v2.ChainParameters.v0:type_name -> concordium.v2.ChainParametersV0 - 197, // 570: concordium.v2.ChainParameters.v1:type_name -> concordium.v2.ChainParametersV1 - 198, // 571: concordium.v2.ChainParameters.v2:type_name -> concordium.v2.ChainParametersV2 - 16, // 572: concordium.v2.FinalizationSummaryParty.baker:type_name -> concordium.v2.BakerId - 10, // 573: concordium.v2.FinalizationSummary.block:type_name -> concordium.v2.BlockHash - 201, // 574: concordium.v2.FinalizationSummary.index:type_name -> concordium.v2.FinalizationIndex - 15, // 575: concordium.v2.FinalizationSummary.delay:type_name -> concordium.v2.BlockHeight - 200, // 576: concordium.v2.FinalizationSummary.finalizers:type_name -> concordium.v2.FinalizationSummaryParty - 9, // 577: concordium.v2.BlockFinalizationSummary.none:type_name -> concordium.v2.Empty - 202, // 578: concordium.v2.BlockFinalizationSummary.record:type_name -> concordium.v2.FinalizationSummary - 12, // 579: concordium.v2.BlockItem.hash:type_name -> concordium.v2.TransactionHash - 190, // 580: concordium.v2.BlockItem.account_transaction:type_name -> concordium.v2.AccountTransaction - 178, // 581: concordium.v2.BlockItem.credential_deployment:type_name -> concordium.v2.CredentialDeployment - 193, // 582: concordium.v2.BlockItem.update_instruction:type_name -> concordium.v2.UpdateInstruction - 30, // 583: concordium.v2.BakerRewardPeriodInfo.baker:type_name -> concordium.v2.BakerInfo - 38, // 584: concordium.v2.BakerRewardPeriodInfo.effective_stake:type_name -> concordium.v2.Amount - 33, // 585: concordium.v2.BakerRewardPeriodInfo.commission_rates:type_name -> concordium.v2.CommissionRates - 38, // 586: concordium.v2.BakerRewardPeriodInfo.equity_capital:type_name -> concordium.v2.Amount - 38, // 587: concordium.v2.BakerRewardPeriodInfo.delegated_capital:type_name -> concordium.v2.Amount - 10, // 588: concordium.v2.QuorumCertificate.block_hash:type_name -> concordium.v2.BlockHash - 122, // 589: concordium.v2.QuorumCertificate.round:type_name -> concordium.v2.Round - 121, // 590: concordium.v2.QuorumCertificate.epoch:type_name -> concordium.v2.Epoch - 206, // 591: concordium.v2.QuorumCertificate.aggregate_signature:type_name -> concordium.v2.QuorumSignature - 16, // 592: concordium.v2.QuorumCertificate.signatories:type_name -> concordium.v2.BakerId - 122, // 593: concordium.v2.FinalizerRound.round:type_name -> concordium.v2.Round - 16, // 594: concordium.v2.FinalizerRound.finalizers:type_name -> concordium.v2.BakerId - 122, // 595: concordium.v2.TimeoutCertificate.round:type_name -> concordium.v2.Round - 121, // 596: concordium.v2.TimeoutCertificate.min_epoch:type_name -> concordium.v2.Epoch - 208, // 597: concordium.v2.TimeoutCertificate.qc_rounds_first_epoch:type_name -> concordium.v2.FinalizerRound - 208, // 598: concordium.v2.TimeoutCertificate.qc_rounds_second_epoch:type_name -> concordium.v2.FinalizerRound - 209, // 599: concordium.v2.TimeoutCertificate.aggregate_signature:type_name -> concordium.v2.TimeoutSignature - 207, // 600: concordium.v2.EpochFinalizationEntry.finalized_qc:type_name -> concordium.v2.QuorumCertificate - 207, // 601: concordium.v2.EpochFinalizationEntry.successor_qc:type_name -> concordium.v2.QuorumCertificate - 211, // 602: concordium.v2.EpochFinalizationEntry.successor_proof:type_name -> concordium.v2.SuccessorProof - 207, // 603: concordium.v2.BlockCertificates.quorum_certificate:type_name -> concordium.v2.QuorumCertificate - 210, // 604: concordium.v2.BlockCertificates.timeout_certificate:type_name -> concordium.v2.TimeoutCertificate - 212, // 605: concordium.v2.BlockCertificates.epoch_finalization_entry:type_name -> concordium.v2.EpochFinalizationEntry - 122, // 606: concordium.v2.WinningBaker.round:type_name -> concordium.v2.Round - 16, // 607: concordium.v2.WinningBaker.winner:type_name -> concordium.v2.BakerId - 60, // 608: concordium.v2.DryRunRequest.load_block_state:type_name -> concordium.v2.BlockHashInput - 216, // 609: concordium.v2.DryRunRequest.state_query:type_name -> concordium.v2.DryRunStateQuery - 218, // 610: concordium.v2.DryRunRequest.state_operation:type_name -> concordium.v2.DryRunStateOperation - 62, // 611: concordium.v2.DryRunStateQuery.get_account_info:type_name -> concordium.v2.AccountIdentifierInput - 67, // 612: concordium.v2.DryRunStateQuery.get_instance_info:type_name -> concordium.v2.ContractAddress - 217, // 613: concordium.v2.DryRunStateQuery.invoke_instance:type_name -> concordium.v2.DryRunInvokeInstance - 44, // 614: concordium.v2.DryRunInvokeInstance.invoker:type_name -> concordium.v2.Address - 67, // 615: concordium.v2.DryRunInvokeInstance.instance:type_name -> concordium.v2.ContractAddress - 38, // 616: concordium.v2.DryRunInvokeInstance.amount:type_name -> concordium.v2.Amount - 73, // 617: concordium.v2.DryRunInvokeInstance.entrypoint:type_name -> concordium.v2.ReceiveName - 75, // 618: concordium.v2.DryRunInvokeInstance.parameter:type_name -> concordium.v2.Parameter - 79, // 619: concordium.v2.DryRunInvokeInstance.energy:type_name -> concordium.v2.Energy - 20, // 620: concordium.v2.DryRunStateOperation.set_timestamp:type_name -> concordium.v2.Timestamp - 219, // 621: concordium.v2.DryRunStateOperation.mint_to_account:type_name -> concordium.v2.DryRunMintToAccount - 220, // 622: concordium.v2.DryRunStateOperation.run_transaction:type_name -> concordium.v2.DryRunTransaction - 43, // 623: concordium.v2.DryRunMintToAccount.account:type_name -> concordium.v2.AccountAddress - 38, // 624: concordium.v2.DryRunMintToAccount.amount:type_name -> concordium.v2.Amount - 43, // 625: concordium.v2.DryRunTransaction.sender:type_name -> concordium.v2.AccountAddress - 79, // 626: concordium.v2.DryRunTransaction.energy_amount:type_name -> concordium.v2.Energy - 188, // 627: concordium.v2.DryRunTransaction.payload:type_name -> concordium.v2.AccountTransactionPayload - 221, // 628: concordium.v2.DryRunTransaction.signatures:type_name -> concordium.v2.DryRunSignature - 223, // 629: concordium.v2.DryRunResponse.error:type_name -> concordium.v2.DryRunErrorResponse - 224, // 630: concordium.v2.DryRunResponse.success:type_name -> concordium.v2.DryRunSuccessResponse - 79, // 631: concordium.v2.DryRunResponse.quota_remaining:type_name -> concordium.v2.Energy - 311, // 632: concordium.v2.DryRunErrorResponse.no_state:type_name -> concordium.v2.DryRunErrorResponse.NoState - 312, // 633: concordium.v2.DryRunErrorResponse.block_not_found:type_name -> concordium.v2.DryRunErrorResponse.BlockNotFound - 313, // 634: concordium.v2.DryRunErrorResponse.account_not_found:type_name -> concordium.v2.DryRunErrorResponse.AccountNotFound - 314, // 635: concordium.v2.DryRunErrorResponse.instance_not_found:type_name -> concordium.v2.DryRunErrorResponse.InstanceNotFound - 315, // 636: concordium.v2.DryRunErrorResponse.amount_over_limit:type_name -> concordium.v2.DryRunErrorResponse.AmountOverLimit - 316, // 637: concordium.v2.DryRunErrorResponse.balance_insufficient:type_name -> concordium.v2.DryRunErrorResponse.BalanceInsufficient - 317, // 638: concordium.v2.DryRunErrorResponse.energy_insufficient:type_name -> concordium.v2.DryRunErrorResponse.EnergyInsufficient - 318, // 639: concordium.v2.DryRunErrorResponse.invoke_failed:type_name -> concordium.v2.DryRunErrorResponse.InvokeFailure - 319, // 640: concordium.v2.DryRunSuccessResponse.block_state_loaded:type_name -> concordium.v2.DryRunSuccessResponse.BlockStateLoaded - 59, // 641: concordium.v2.DryRunSuccessResponse.account_info:type_name -> concordium.v2.AccountInfo - 69, // 642: concordium.v2.DryRunSuccessResponse.instance_info:type_name -> concordium.v2.InstanceInfo - 323, // 643: concordium.v2.DryRunSuccessResponse.invoke_succeeded:type_name -> concordium.v2.DryRunSuccessResponse.InvokeSuccess - 320, // 644: concordium.v2.DryRunSuccessResponse.timestamp_set:type_name -> concordium.v2.DryRunSuccessResponse.TimestampSet - 321, // 645: concordium.v2.DryRunSuccessResponse.minted_to_account:type_name -> concordium.v2.DryRunSuccessResponse.MintedToAccount - 322, // 646: concordium.v2.DryRunSuccessResponse.transaction_executed:type_name -> concordium.v2.DryRunSuccessResponse.TransactionExecuted - 38, // 647: concordium.v2.StakePendingChange.Reduce.new_stake:type_name -> concordium.v2.Amount - 20, // 648: concordium.v2.StakePendingChange.Reduce.effective_time:type_name -> concordium.v2.Timestamp - 38, // 649: concordium.v2.AccountStakingInfo.Baker.staked_amount:type_name -> concordium.v2.Amount - 30, // 650: concordium.v2.AccountStakingInfo.Baker.baker_info:type_name -> concordium.v2.BakerInfo - 31, // 651: concordium.v2.AccountStakingInfo.Baker.pending_change:type_name -> concordium.v2.StakePendingChange - 34, // 652: concordium.v2.AccountStakingInfo.Baker.pool_info:type_name -> concordium.v2.BakerPoolInfo - 38, // 653: concordium.v2.AccountStakingInfo.Delegator.staked_amount:type_name -> concordium.v2.Amount - 26, // 654: concordium.v2.AccountStakingInfo.Delegator.target:type_name -> concordium.v2.DelegationTarget - 31, // 655: concordium.v2.AccountStakingInfo.Delegator.pending_change:type_name -> concordium.v2.StakePendingChange - 45, // 656: concordium.v2.CredentialPublicKeys.KeysEntry.value:type_name -> concordium.v2.AccountVerifyKey - 54, // 657: concordium.v2.CredentialCommitments.AttributesEntry.value:type_name -> concordium.v2.Commitment - 52, // 658: concordium.v2.NormalCredentialValues.ArDataEntry.value:type_name -> concordium.v2.ChainArData - 57, // 659: concordium.v2.AccountInfo.CredsEntry.value:type_name -> concordium.v2.AccountCredential - 143, // 660: concordium.v2.BlockHashInput.RelativeHeight.genesis_index:type_name -> concordium.v2.GenesisIndex - 15, // 661: concordium.v2.BlockHashInput.RelativeHeight.height:type_name -> concordium.v2.BlockHeight - 143, // 662: concordium.v2.EpochRequest.RelativeEpoch.genesis_index:type_name -> concordium.v2.GenesisIndex - 121, // 663: concordium.v2.EpochRequest.RelativeEpoch.epoch:type_name -> concordium.v2.Epoch - 76, // 664: concordium.v2.InstanceInfo.V0.model:type_name -> concordium.v2.ContractStateV0 - 43, // 665: concordium.v2.InstanceInfo.V0.owner:type_name -> concordium.v2.AccountAddress - 38, // 666: concordium.v2.InstanceInfo.V0.amount:type_name -> concordium.v2.Amount - 73, // 667: concordium.v2.InstanceInfo.V0.methods:type_name -> concordium.v2.ReceiveName - 74, // 668: concordium.v2.InstanceInfo.V0.name:type_name -> concordium.v2.InitName - 18, // 669: concordium.v2.InstanceInfo.V0.source_module:type_name -> concordium.v2.ModuleRef - 43, // 670: concordium.v2.InstanceInfo.V1.owner:type_name -> concordium.v2.AccountAddress - 38, // 671: concordium.v2.InstanceInfo.V1.amount:type_name -> concordium.v2.Amount - 73, // 672: concordium.v2.InstanceInfo.V1.methods:type_name -> concordium.v2.ReceiveName - 74, // 673: concordium.v2.InstanceInfo.V1.name:type_name -> concordium.v2.InitName - 18, // 674: concordium.v2.InstanceInfo.V1.source_module:type_name -> concordium.v2.ModuleRef - 78, // 675: concordium.v2.BlockItemStatus.Committed.outcomes:type_name -> concordium.v2.BlockItemSummaryInBlock - 78, // 676: concordium.v2.BlockItemStatus.Finalized.outcome:type_name -> concordium.v2.BlockItemSummaryInBlock - 18, // 677: concordium.v2.RejectReason.InvalidInitMethod.module_ref:type_name -> concordium.v2.ModuleRef - 74, // 678: concordium.v2.RejectReason.InvalidInitMethod.init_name:type_name -> concordium.v2.InitName - 18, // 679: concordium.v2.RejectReason.InvalidReceiveMethod.module_ref:type_name -> concordium.v2.ModuleRef - 73, // 680: concordium.v2.RejectReason.InvalidReceiveMethod.receive_name:type_name -> concordium.v2.ReceiveName - 44, // 681: concordium.v2.RejectReason.AmountTooLarge.address:type_name -> concordium.v2.Address - 38, // 682: concordium.v2.RejectReason.AmountTooLarge.amount:type_name -> concordium.v2.Amount - 67, // 683: concordium.v2.RejectReason.RejectedReceive.contract_address:type_name -> concordium.v2.ContractAddress - 73, // 684: concordium.v2.RejectReason.RejectedReceive.receive_name:type_name -> concordium.v2.ReceiveName - 75, // 685: concordium.v2.RejectReason.RejectedReceive.parameter:type_name -> concordium.v2.Parameter - 47, // 686: concordium.v2.RejectReason.DuplicateCredIds.ids:type_name -> concordium.v2.CredentialRegistrationId - 47, // 687: concordium.v2.RejectReason.NonExistentCredIds.ids:type_name -> concordium.v2.CredentialRegistrationId - 67, // 688: concordium.v2.ContractTraceElement.Transferred.sender:type_name -> concordium.v2.ContractAddress - 38, // 689: concordium.v2.ContractTraceElement.Transferred.amount:type_name -> concordium.v2.Amount - 43, // 690: concordium.v2.ContractTraceElement.Transferred.receiver:type_name -> concordium.v2.AccountAddress - 67, // 691: concordium.v2.ContractTraceElement.Interrupted.address:type_name -> concordium.v2.ContractAddress - 85, // 692: concordium.v2.ContractTraceElement.Interrupted.events:type_name -> concordium.v2.ContractEvent - 67, // 693: concordium.v2.ContractTraceElement.Resumed.address:type_name -> concordium.v2.ContractAddress - 67, // 694: concordium.v2.ContractTraceElement.Upgraded.address:type_name -> concordium.v2.ContractAddress - 18, // 695: concordium.v2.ContractTraceElement.Upgraded.from:type_name -> concordium.v2.ModuleRef - 18, // 696: concordium.v2.ContractTraceElement.Upgraded.to:type_name -> concordium.v2.ModuleRef - 88, // 697: concordium.v2.BakerEvent.BakerAdded.keys_event:type_name -> concordium.v2.BakerKeysEvent - 38, // 698: concordium.v2.BakerEvent.BakerAdded.stake:type_name -> concordium.v2.Amount - 16, // 699: concordium.v2.BakerEvent.BakerStakeIncreased.baker_id:type_name -> concordium.v2.BakerId - 38, // 700: concordium.v2.BakerEvent.BakerStakeIncreased.new_stake:type_name -> concordium.v2.Amount - 16, // 701: concordium.v2.BakerEvent.BakerStakeDecreased.baker_id:type_name -> concordium.v2.BakerId - 38, // 702: concordium.v2.BakerEvent.BakerStakeDecreased.new_stake:type_name -> concordium.v2.Amount - 16, // 703: concordium.v2.BakerEvent.BakerRestakeEarningsUpdated.baker_id:type_name -> concordium.v2.BakerId - 16, // 704: concordium.v2.BakerEvent.BakerSetOpenStatus.baker_id:type_name -> concordium.v2.BakerId - 0, // 705: concordium.v2.BakerEvent.BakerSetOpenStatus.open_status:type_name -> concordium.v2.OpenStatus - 16, // 706: concordium.v2.BakerEvent.BakerSetMetadataUrl.baker_id:type_name -> concordium.v2.BakerId - 16, // 707: concordium.v2.BakerEvent.BakerSetTransactionFeeCommission.baker_id:type_name -> concordium.v2.BakerId - 32, // 708: concordium.v2.BakerEvent.BakerSetTransactionFeeCommission.transaction_fee_commission:type_name -> concordium.v2.AmountFraction - 16, // 709: concordium.v2.BakerEvent.BakerSetBakingRewardCommission.baker_id:type_name -> concordium.v2.BakerId - 32, // 710: concordium.v2.BakerEvent.BakerSetBakingRewardCommission.baking_reward_commission:type_name -> concordium.v2.AmountFraction - 16, // 711: concordium.v2.BakerEvent.BakerSetFinalizationRewardCommission.baker_id:type_name -> concordium.v2.BakerId - 32, // 712: concordium.v2.BakerEvent.BakerSetFinalizationRewardCommission.finalization_reward_commission:type_name -> concordium.v2.AmountFraction - 96, // 713: concordium.v2.BakerEvent.DelegationRemoved.delegator_id:type_name -> concordium.v2.DelegatorId - 96, // 714: concordium.v2.DelegationEvent.DelegationStakeIncreased.delegator_id:type_name -> concordium.v2.DelegatorId - 38, // 715: concordium.v2.DelegationEvent.DelegationStakeIncreased.new_stake:type_name -> concordium.v2.Amount - 96, // 716: concordium.v2.DelegationEvent.DelegationStakeDecreased.delegator_id:type_name -> concordium.v2.DelegatorId - 38, // 717: concordium.v2.DelegationEvent.DelegationStakeDecreased.new_stake:type_name -> concordium.v2.Amount - 96, // 718: concordium.v2.DelegationEvent.DelegationSetRestakeEarnings.delegator_id:type_name -> concordium.v2.DelegatorId - 96, // 719: concordium.v2.DelegationEvent.DelegationSetDelegationTarget.delegator_id:type_name -> concordium.v2.DelegatorId - 26, // 720: concordium.v2.DelegationEvent.DelegationSetDelegationTarget.delegation_target:type_name -> concordium.v2.DelegationTarget - 16, // 721: concordium.v2.DelegationEvent.BakerRemoved.baker_id:type_name -> concordium.v2.BakerId - 4, // 722: concordium.v2.AccountTransactionEffects.None.transaction_type:type_name -> concordium.v2.TransactionType - 83, // 723: concordium.v2.AccountTransactionEffects.None.reject_reason:type_name -> concordium.v2.RejectReason - 87, // 724: concordium.v2.AccountTransactionEffects.ContractUpdateIssued.effects:type_name -> concordium.v2.ContractTraceElement - 38, // 725: concordium.v2.AccountTransactionEffects.AccountTransfer.amount:type_name -> concordium.v2.Amount - 43, // 726: concordium.v2.AccountTransactionEffects.AccountTransfer.receiver:type_name -> concordium.v2.AccountAddress - 89, // 727: concordium.v2.AccountTransactionEffects.AccountTransfer.memo:type_name -> concordium.v2.Memo - 90, // 728: concordium.v2.AccountTransactionEffects.BakerStakeUpdated.update:type_name -> concordium.v2.BakerStakeUpdatedData - 91, // 729: concordium.v2.AccountTransactionEffects.EncryptedAmountTransferred.removed:type_name -> concordium.v2.EncryptedAmountRemovedEvent - 92, // 730: concordium.v2.AccountTransactionEffects.EncryptedAmountTransferred.added:type_name -> concordium.v2.NewEncryptedAmountEvent - 89, // 731: concordium.v2.AccountTransactionEffects.EncryptedAmountTransferred.memo:type_name -> concordium.v2.Memo - 91, // 732: concordium.v2.AccountTransactionEffects.TransferredToPublic.removed:type_name -> concordium.v2.EncryptedAmountRemovedEvent - 38, // 733: concordium.v2.AccountTransactionEffects.TransferredToPublic.amount:type_name -> concordium.v2.Amount - 43, // 734: concordium.v2.AccountTransactionEffects.TransferredWithSchedule.receiver:type_name -> concordium.v2.AccountAddress - 22, // 735: concordium.v2.AccountTransactionEffects.TransferredWithSchedule.amount:type_name -> concordium.v2.NewRelease - 89, // 736: concordium.v2.AccountTransactionEffects.TransferredWithSchedule.memo:type_name -> concordium.v2.Memo - 47, // 737: concordium.v2.AccountTransactionEffects.CredentialsUpdated.new_cred_ids:type_name -> concordium.v2.CredentialRegistrationId - 47, // 738: concordium.v2.AccountTransactionEffects.CredentialsUpdated.removed_cred_ids:type_name -> concordium.v2.CredentialRegistrationId - 41, // 739: concordium.v2.AccountTransactionEffects.CredentialsUpdated.new_threshold:type_name -> concordium.v2.AccountThreshold - 95, // 740: concordium.v2.AccountTransactionEffects.BakerConfigured.events:type_name -> concordium.v2.BakerEvent - 97, // 741: concordium.v2.AccountTransactionEffects.DelegationConfigured.events:type_name -> concordium.v2.DelegationEvent - 38, // 742: concordium.v2.PoolPendingChange.Reduce.reduced_equity_capital:type_name -> concordium.v2.Amount - 20, // 743: concordium.v2.PoolPendingChange.Reduce.effective_time:type_name -> concordium.v2.Timestamp - 20, // 744: concordium.v2.PoolPendingChange.Remove.effective_time:type_name -> concordium.v2.Timestamp - 14, // 745: concordium.v2.BlocksAtHeightRequest.Absolute.height:type_name -> concordium.v2.AbsoluteBlockHeight - 143, // 746: concordium.v2.BlocksAtHeightRequest.Relative.genesis_index:type_name -> concordium.v2.GenesisIndex - 15, // 747: concordium.v2.BlocksAtHeightRequest.Relative.height:type_name -> concordium.v2.BlockHeight - 38, // 748: concordium.v2.TokenomicsInfo.V0.total_amount:type_name -> concordium.v2.Amount - 38, // 749: concordium.v2.TokenomicsInfo.V0.total_encrypted_amount:type_name -> concordium.v2.Amount - 38, // 750: concordium.v2.TokenomicsInfo.V0.baking_reward_account:type_name -> concordium.v2.Amount - 38, // 751: concordium.v2.TokenomicsInfo.V0.finalization_reward_account:type_name -> concordium.v2.Amount - 38, // 752: concordium.v2.TokenomicsInfo.V0.gas_account:type_name -> concordium.v2.Amount - 5, // 753: concordium.v2.TokenomicsInfo.V0.protocol_version:type_name -> concordium.v2.ProtocolVersion - 38, // 754: concordium.v2.TokenomicsInfo.V1.total_amount:type_name -> concordium.v2.Amount - 38, // 755: concordium.v2.TokenomicsInfo.V1.total_encrypted_amount:type_name -> concordium.v2.Amount - 38, // 756: concordium.v2.TokenomicsInfo.V1.baking_reward_account:type_name -> concordium.v2.Amount - 38, // 757: concordium.v2.TokenomicsInfo.V1.finalization_reward_account:type_name -> concordium.v2.Amount - 38, // 758: concordium.v2.TokenomicsInfo.V1.gas_account:type_name -> concordium.v2.Amount - 38, // 759: concordium.v2.TokenomicsInfo.V1.foundation_transaction_rewards:type_name -> concordium.v2.Amount - 20, // 760: concordium.v2.TokenomicsInfo.V1.next_payday_time:type_name -> concordium.v2.Timestamp - 124, // 761: concordium.v2.TokenomicsInfo.V1.next_payday_mint_rate:type_name -> concordium.v2.MintRate - 38, // 762: concordium.v2.TokenomicsInfo.V1.total_staked_capital:type_name -> concordium.v2.Amount - 5, // 763: concordium.v2.TokenomicsInfo.V1.protocol_version:type_name -> concordium.v2.ProtocolVersion - 79, // 764: concordium.v2.InvokeInstanceResponse.Failure.used_energy:type_name -> concordium.v2.Energy - 83, // 765: concordium.v2.InvokeInstanceResponse.Failure.reason:type_name -> concordium.v2.RejectReason - 79, // 766: concordium.v2.InvokeInstanceResponse.Success.used_energy:type_name -> concordium.v2.Energy - 87, // 767: concordium.v2.InvokeInstanceResponse.Success.effects:type_name -> concordium.v2.ContractTraceElement - 16, // 768: concordium.v2.ElectionInfo.Baker.baker:type_name -> concordium.v2.BakerId - 43, // 769: concordium.v2.ElectionInfo.Baker.account:type_name -> concordium.v2.AccountAddress - 300, // 770: concordium.v2.BlockSpecialEvent.AccountAmounts.entries:type_name -> concordium.v2.BlockSpecialEvent.AccountAmounts.Entry - 291, // 771: concordium.v2.BlockSpecialEvent.BakingRewards.baker_rewards:type_name -> concordium.v2.BlockSpecialEvent.AccountAmounts - 38, // 772: concordium.v2.BlockSpecialEvent.BakingRewards.remainder:type_name -> concordium.v2.Amount - 38, // 773: concordium.v2.BlockSpecialEvent.Mint.mint_baking_reward:type_name -> concordium.v2.Amount - 38, // 774: concordium.v2.BlockSpecialEvent.Mint.mint_finalization_reward:type_name -> concordium.v2.Amount - 38, // 775: concordium.v2.BlockSpecialEvent.Mint.mint_platform_development_charge:type_name -> concordium.v2.Amount - 43, // 776: concordium.v2.BlockSpecialEvent.Mint.foundation_account:type_name -> concordium.v2.AccountAddress - 291, // 777: concordium.v2.BlockSpecialEvent.FinalizationRewards.finalization_rewards:type_name -> concordium.v2.BlockSpecialEvent.AccountAmounts - 38, // 778: concordium.v2.BlockSpecialEvent.FinalizationRewards.remainder:type_name -> concordium.v2.Amount - 38, // 779: concordium.v2.BlockSpecialEvent.BlockReward.transaction_fees:type_name -> concordium.v2.Amount - 38, // 780: concordium.v2.BlockSpecialEvent.BlockReward.old_gas_account:type_name -> concordium.v2.Amount - 38, // 781: concordium.v2.BlockSpecialEvent.BlockReward.new_gas_account:type_name -> concordium.v2.Amount - 38, // 782: concordium.v2.BlockSpecialEvent.BlockReward.baker_reward:type_name -> concordium.v2.Amount - 38, // 783: concordium.v2.BlockSpecialEvent.BlockReward.foundation_charge:type_name -> concordium.v2.Amount - 43, // 784: concordium.v2.BlockSpecialEvent.BlockReward.baker:type_name -> concordium.v2.AccountAddress - 43, // 785: concordium.v2.BlockSpecialEvent.BlockReward.foundation_account:type_name -> concordium.v2.AccountAddress - 43, // 786: concordium.v2.BlockSpecialEvent.PaydayFoundationReward.foundation_account:type_name -> concordium.v2.AccountAddress - 38, // 787: concordium.v2.BlockSpecialEvent.PaydayFoundationReward.development_charge:type_name -> concordium.v2.Amount - 43, // 788: concordium.v2.BlockSpecialEvent.PaydayAccountReward.account:type_name -> concordium.v2.AccountAddress - 38, // 789: concordium.v2.BlockSpecialEvent.PaydayAccountReward.transaction_fees:type_name -> concordium.v2.Amount - 38, // 790: concordium.v2.BlockSpecialEvent.PaydayAccountReward.baker_reward:type_name -> concordium.v2.Amount - 38, // 791: concordium.v2.BlockSpecialEvent.PaydayAccountReward.finalization_reward:type_name -> concordium.v2.Amount - 38, // 792: concordium.v2.BlockSpecialEvent.BlockAccrueReward.transaction_fees:type_name -> concordium.v2.Amount - 38, // 793: concordium.v2.BlockSpecialEvent.BlockAccrueReward.old_gas_account:type_name -> concordium.v2.Amount - 38, // 794: concordium.v2.BlockSpecialEvent.BlockAccrueReward.new_gas_account:type_name -> concordium.v2.Amount - 38, // 795: concordium.v2.BlockSpecialEvent.BlockAccrueReward.baker_reward:type_name -> concordium.v2.Amount - 38, // 796: concordium.v2.BlockSpecialEvent.BlockAccrueReward.passive_reward:type_name -> concordium.v2.Amount - 38, // 797: concordium.v2.BlockSpecialEvent.BlockAccrueReward.foundation_charge:type_name -> concordium.v2.Amount - 16, // 798: concordium.v2.BlockSpecialEvent.BlockAccrueReward.baker:type_name -> concordium.v2.BakerId - 16, // 799: concordium.v2.BlockSpecialEvent.PaydayPoolReward.pool_owner:type_name -> concordium.v2.BakerId - 38, // 800: concordium.v2.BlockSpecialEvent.PaydayPoolReward.transaction_fees:type_name -> concordium.v2.Amount - 38, // 801: concordium.v2.BlockSpecialEvent.PaydayPoolReward.baker_reward:type_name -> concordium.v2.Amount - 38, // 802: concordium.v2.BlockSpecialEvent.PaydayPoolReward.finalization_reward:type_name -> concordium.v2.Amount - 43, // 803: concordium.v2.BlockSpecialEvent.AccountAmounts.Entry.account:type_name -> concordium.v2.AccountAddress - 38, // 804: concordium.v2.BlockSpecialEvent.AccountAmounts.Entry.amount:type_name -> concordium.v2.Amount - 170, // 805: concordium.v2.PeersInfo.Peer.peer_id:type_name -> concordium.v2.PeerId - 169, // 806: concordium.v2.PeersInfo.Peer.socket_address:type_name -> concordium.v2.IpSocketAddress - 302, // 807: concordium.v2.PeersInfo.Peer.network_stats:type_name -> concordium.v2.PeersInfo.Peer.NetworkStats - 9, // 808: concordium.v2.PeersInfo.Peer.bootstrapper:type_name -> concordium.v2.Empty - 7, // 809: concordium.v2.PeersInfo.Peer.node_catchup_status:type_name -> concordium.v2.PeersInfo.Peer.CatchupStatus - 170, // 810: concordium.v2.NodeInfo.NetworkInfo.node_id:type_name -> concordium.v2.PeerId - 16, // 811: concordium.v2.NodeInfo.BakerConsensusInfo.baker_id:type_name -> concordium.v2.BakerId - 8, // 812: concordium.v2.NodeInfo.BakerConsensusInfo.passive_committee_info:type_name -> concordium.v2.NodeInfo.BakerConsensusInfo.PassiveCommitteeInfo - 306, // 813: concordium.v2.NodeInfo.BakerConsensusInfo.active_baker_committee_info:type_name -> concordium.v2.NodeInfo.BakerConsensusInfo.ActiveBakerCommitteeInfo - 307, // 814: concordium.v2.NodeInfo.BakerConsensusInfo.active_finalizer_committee_info:type_name -> concordium.v2.NodeInfo.BakerConsensusInfo.ActiveFinalizerCommitteeInfo - 9, // 815: concordium.v2.NodeInfo.Node.not_running:type_name -> concordium.v2.Empty - 9, // 816: concordium.v2.NodeInfo.Node.passive:type_name -> concordium.v2.Empty - 304, // 817: concordium.v2.NodeInfo.Node.active:type_name -> concordium.v2.NodeInfo.BakerConsensusInfo - 179, // 818: concordium.v2.SignatureMap.SignaturesEntry.value:type_name -> concordium.v2.Signature - 179, // 819: concordium.v2.AccountSignatureMap.SignaturesEntry.value:type_name -> concordium.v2.Signature - 181, // 820: concordium.v2.AccountTransactionSignature.SignaturesEntry.value:type_name -> concordium.v2.AccountSignatureMap - 38, // 821: concordium.v2.DryRunErrorResponse.AmountOverLimit.amount_limit:type_name -> concordium.v2.Amount - 38, // 822: concordium.v2.DryRunErrorResponse.BalanceInsufficient.required_amount:type_name -> concordium.v2.Amount - 38, // 823: concordium.v2.DryRunErrorResponse.BalanceInsufficient.available_amount:type_name -> concordium.v2.Amount - 79, // 824: concordium.v2.DryRunErrorResponse.EnergyInsufficient.energy_required:type_name -> concordium.v2.Energy - 79, // 825: concordium.v2.DryRunErrorResponse.InvokeFailure.used_energy:type_name -> concordium.v2.Energy - 83, // 826: concordium.v2.DryRunErrorResponse.InvokeFailure.reason:type_name -> concordium.v2.RejectReason - 20, // 827: concordium.v2.DryRunSuccessResponse.BlockStateLoaded.current_timestamp:type_name -> concordium.v2.Timestamp - 10, // 828: concordium.v2.DryRunSuccessResponse.BlockStateLoaded.block_hash:type_name -> concordium.v2.BlockHash - 5, // 829: concordium.v2.DryRunSuccessResponse.BlockStateLoaded.protocol_version:type_name -> concordium.v2.ProtocolVersion - 79, // 830: concordium.v2.DryRunSuccessResponse.TransactionExecuted.energy_cost:type_name -> concordium.v2.Energy - 138, // 831: concordium.v2.DryRunSuccessResponse.TransactionExecuted.details:type_name -> concordium.v2.AccountTransactionDetails - 79, // 832: concordium.v2.DryRunSuccessResponse.InvokeSuccess.used_energy:type_name -> concordium.v2.Energy - 87, // 833: concordium.v2.DryRunSuccessResponse.InvokeSuccess.effects:type_name -> concordium.v2.ContractTraceElement - 834, // [834:834] is the sub-list for method output_type - 834, // [834:834] is the sub-list for method input_type - 834, // [834:834] is the sub-list for extension type_name - 834, // [834:834] is the sub-list for extension extendee - 0, // [0:834] is the sub-list for field type_name + 75, // 156: concordium.v2.ContractInitializedEvent.parameter:type_name -> concordium.v2.Parameter + 1, // 157: concordium.v2.InstanceUpdatedEvent.contract_version:type_name -> concordium.v2.ContractVersion + 67, // 158: concordium.v2.InstanceUpdatedEvent.address:type_name -> concordium.v2.ContractAddress + 44, // 159: concordium.v2.InstanceUpdatedEvent.instigator:type_name -> concordium.v2.Address + 38, // 160: concordium.v2.InstanceUpdatedEvent.amount:type_name -> concordium.v2.Amount + 75, // 161: concordium.v2.InstanceUpdatedEvent.parameter:type_name -> concordium.v2.Parameter + 73, // 162: concordium.v2.InstanceUpdatedEvent.receive_name:type_name -> concordium.v2.ReceiveName + 85, // 163: concordium.v2.InstanceUpdatedEvent.events:type_name -> concordium.v2.ContractEvent + 86, // 164: concordium.v2.ContractTraceElement.updated:type_name -> concordium.v2.InstanceUpdatedEvent + 275, // 165: concordium.v2.ContractTraceElement.transferred:type_name -> concordium.v2.ContractTraceElement.Transferred + 276, // 166: concordium.v2.ContractTraceElement.interrupted:type_name -> concordium.v2.ContractTraceElement.Interrupted + 277, // 167: concordium.v2.ContractTraceElement.resumed:type_name -> concordium.v2.ContractTraceElement.Resumed + 278, // 168: concordium.v2.ContractTraceElement.upgraded:type_name -> concordium.v2.ContractTraceElement.Upgraded + 16, // 169: concordium.v2.BakerKeysEvent.baker_id:type_name -> concordium.v2.BakerId + 43, // 170: concordium.v2.BakerKeysEvent.account:type_name -> concordium.v2.AccountAddress + 28, // 171: concordium.v2.BakerKeysEvent.sign_key:type_name -> concordium.v2.BakerSignatureVerifyKey + 27, // 172: concordium.v2.BakerKeysEvent.election_key:type_name -> concordium.v2.BakerElectionVerifyKey + 29, // 173: concordium.v2.BakerKeysEvent.aggregation_key:type_name -> concordium.v2.BakerAggregationVerifyKey + 16, // 174: concordium.v2.BakerStakeUpdatedData.baker_id:type_name -> concordium.v2.BakerId + 38, // 175: concordium.v2.BakerStakeUpdatedData.new_stake:type_name -> concordium.v2.Amount + 43, // 176: concordium.v2.EncryptedAmountRemovedEvent.account:type_name -> concordium.v2.AccountAddress + 24, // 177: concordium.v2.EncryptedAmountRemovedEvent.new_amount:type_name -> concordium.v2.EncryptedAmount + 24, // 178: concordium.v2.EncryptedAmountRemovedEvent.input_amount:type_name -> concordium.v2.EncryptedAmount + 43, // 179: concordium.v2.NewEncryptedAmountEvent.receiver:type_name -> concordium.v2.AccountAddress + 24, // 180: concordium.v2.NewEncryptedAmountEvent.encrypted_amount:type_name -> concordium.v2.EncryptedAmount + 43, // 181: concordium.v2.EncryptedSelfAmountAddedEvent.account:type_name -> concordium.v2.AccountAddress + 24, // 182: concordium.v2.EncryptedSelfAmountAddedEvent.new_amount:type_name -> concordium.v2.EncryptedAmount + 38, // 183: concordium.v2.EncryptedSelfAmountAddedEvent.amount:type_name -> concordium.v2.Amount + 279, // 184: concordium.v2.BakerEvent.baker_added:type_name -> concordium.v2.BakerEvent.BakerAdded + 16, // 185: concordium.v2.BakerEvent.baker_removed:type_name -> concordium.v2.BakerId + 280, // 186: concordium.v2.BakerEvent.baker_stake_increased:type_name -> concordium.v2.BakerEvent.BakerStakeIncreased + 281, // 187: concordium.v2.BakerEvent.baker_stake_decreased:type_name -> concordium.v2.BakerEvent.BakerStakeDecreased + 282, // 188: concordium.v2.BakerEvent.baker_restake_earnings_updated:type_name -> concordium.v2.BakerEvent.BakerRestakeEarningsUpdated + 88, // 189: concordium.v2.BakerEvent.baker_keys_updated:type_name -> concordium.v2.BakerKeysEvent + 283, // 190: concordium.v2.BakerEvent.baker_set_open_status:type_name -> concordium.v2.BakerEvent.BakerSetOpenStatus + 284, // 191: concordium.v2.BakerEvent.baker_set_metadata_url:type_name -> concordium.v2.BakerEvent.BakerSetMetadataUrl + 285, // 192: concordium.v2.BakerEvent.baker_set_transaction_fee_commission:type_name -> concordium.v2.BakerEvent.BakerSetTransactionFeeCommission + 286, // 193: concordium.v2.BakerEvent.baker_set_baking_reward_commission:type_name -> concordium.v2.BakerEvent.BakerSetBakingRewardCommission + 287, // 194: concordium.v2.BakerEvent.baker_set_finalization_reward_commission:type_name -> concordium.v2.BakerEvent.BakerSetFinalizationRewardCommission + 288, // 195: concordium.v2.BakerEvent.delegation_removed:type_name -> concordium.v2.BakerEvent.DelegationRemoved + 289, // 196: concordium.v2.BakerEvent.baker_suspended:type_name -> concordium.v2.BakerEvent.BakerSuspended + 290, // 197: concordium.v2.BakerEvent.baker_resumed:type_name -> concordium.v2.BakerEvent.BakerResumed + 17, // 198: concordium.v2.DelegatorId.id:type_name -> concordium.v2.AccountIndex + 291, // 199: concordium.v2.DelegationEvent.delegation_stake_increased:type_name -> concordium.v2.DelegationEvent.DelegationStakeIncreased + 292, // 200: concordium.v2.DelegationEvent.delegation_stake_decreased:type_name -> concordium.v2.DelegationEvent.DelegationStakeDecreased + 293, // 201: concordium.v2.DelegationEvent.delegation_set_restake_earnings:type_name -> concordium.v2.DelegationEvent.DelegationSetRestakeEarnings + 294, // 202: concordium.v2.DelegationEvent.delegation_set_delegation_target:type_name -> concordium.v2.DelegationEvent.DelegationSetDelegationTarget + 96, // 203: concordium.v2.DelegationEvent.delegation_added:type_name -> concordium.v2.DelegatorId + 96, // 204: concordium.v2.DelegationEvent.delegation_removed:type_name -> concordium.v2.DelegatorId + 295, // 205: concordium.v2.DelegationEvent.baker_removed:type_name -> concordium.v2.DelegationEvent.BakerRemoved + 296, // 206: concordium.v2.AccountTransactionEffects.none:type_name -> concordium.v2.AccountTransactionEffects.None + 18, // 207: concordium.v2.AccountTransactionEffects.module_deployed:type_name -> concordium.v2.ModuleRef + 84, // 208: concordium.v2.AccountTransactionEffects.contract_initialized:type_name -> concordium.v2.ContractInitializedEvent + 297, // 209: concordium.v2.AccountTransactionEffects.contract_update_issued:type_name -> concordium.v2.AccountTransactionEffects.ContractUpdateIssued + 298, // 210: concordium.v2.AccountTransactionEffects.account_transfer:type_name -> concordium.v2.AccountTransactionEffects.AccountTransfer + 279, // 211: concordium.v2.AccountTransactionEffects.baker_added:type_name -> concordium.v2.BakerEvent.BakerAdded + 16, // 212: concordium.v2.AccountTransactionEffects.baker_removed:type_name -> concordium.v2.BakerId + 299, // 213: concordium.v2.AccountTransactionEffects.baker_stake_updated:type_name -> concordium.v2.AccountTransactionEffects.BakerStakeUpdated + 282, // 214: concordium.v2.AccountTransactionEffects.baker_restake_earnings_updated:type_name -> concordium.v2.BakerEvent.BakerRestakeEarningsUpdated + 88, // 215: concordium.v2.AccountTransactionEffects.baker_keys_updated:type_name -> concordium.v2.BakerKeysEvent + 300, // 216: concordium.v2.AccountTransactionEffects.encrypted_amount_transferred:type_name -> concordium.v2.AccountTransactionEffects.EncryptedAmountTransferred + 93, // 217: concordium.v2.AccountTransactionEffects.transferred_to_encrypted:type_name -> concordium.v2.EncryptedSelfAmountAddedEvent + 301, // 218: concordium.v2.AccountTransactionEffects.transferred_to_public:type_name -> concordium.v2.AccountTransactionEffects.TransferredToPublic + 302, // 219: concordium.v2.AccountTransactionEffects.transferred_with_schedule:type_name -> concordium.v2.AccountTransactionEffects.TransferredWithSchedule + 47, // 220: concordium.v2.AccountTransactionEffects.credential_keys_updated:type_name -> concordium.v2.CredentialRegistrationId + 303, // 221: concordium.v2.AccountTransactionEffects.credentials_updated:type_name -> concordium.v2.AccountTransactionEffects.CredentialsUpdated + 94, // 222: concordium.v2.AccountTransactionEffects.data_registered:type_name -> concordium.v2.RegisteredData + 304, // 223: concordium.v2.AccountTransactionEffects.baker_configured:type_name -> concordium.v2.AccountTransactionEffects.BakerConfigured + 305, // 224: concordium.v2.AccountTransactionEffects.delegation_configured:type_name -> concordium.v2.AccountTransactionEffects.DelegationConfigured + 32, // 225: concordium.v2.ElectionDifficulty.value:type_name -> concordium.v2.AmountFraction + 82, // 226: concordium.v2.TimeoutParameters.timeout_base:type_name -> concordium.v2.Duration + 105, // 227: concordium.v2.TimeoutParameters.timeout_increase:type_name -> concordium.v2.Ratio + 105, // 228: concordium.v2.TimeoutParameters.timeout_decrease:type_name -> concordium.v2.Ratio + 32, // 229: concordium.v2.FinalizationCommitteeParameters.finalizer_relative_stake_threshold:type_name -> concordium.v2.AmountFraction + 100, // 230: concordium.v2.ConsensusParametersV1.timeout_parameters:type_name -> concordium.v2.TimeoutParameters + 82, // 231: concordium.v2.ConsensusParametersV1.min_block_time:type_name -> concordium.v2.Duration + 79, // 232: concordium.v2.ConsensusParametersV1.block_energy_limit:type_name -> concordium.v2.Energy + 105, // 233: concordium.v2.ExchangeRate.value:type_name -> concordium.v2.Ratio + 106, // 234: concordium.v2.HigherLevelKeys.keys:type_name -> concordium.v2.UpdatePublicKey + 107, // 235: concordium.v2.HigherLevelKeys.threshold:type_name -> concordium.v2.UpdateKeysThreshold + 108, // 236: concordium.v2.AccessStructure.access_public_keys:type_name -> concordium.v2.UpdateKeysIndex + 107, // 237: concordium.v2.AccessStructure.access_threshold:type_name -> concordium.v2.UpdateKeysThreshold + 106, // 238: concordium.v2.AuthorizationsV0.keys:type_name -> concordium.v2.UpdatePublicKey + 110, // 239: concordium.v2.AuthorizationsV0.emergency:type_name -> concordium.v2.AccessStructure + 110, // 240: concordium.v2.AuthorizationsV0.protocol:type_name -> concordium.v2.AccessStructure + 110, // 241: concordium.v2.AuthorizationsV0.parameter_consensus:type_name -> concordium.v2.AccessStructure + 110, // 242: concordium.v2.AuthorizationsV0.parameter_euro_per_energy:type_name -> concordium.v2.AccessStructure + 110, // 243: concordium.v2.AuthorizationsV0.parameter_micro_CCD_per_euro:type_name -> concordium.v2.AccessStructure + 110, // 244: concordium.v2.AuthorizationsV0.parameter_foundation_account:type_name -> concordium.v2.AccessStructure + 110, // 245: concordium.v2.AuthorizationsV0.parameter_mint_distribution:type_name -> concordium.v2.AccessStructure + 110, // 246: concordium.v2.AuthorizationsV0.parameter_transaction_fee_distribution:type_name -> concordium.v2.AccessStructure + 110, // 247: concordium.v2.AuthorizationsV0.parameter_gas_rewards:type_name -> concordium.v2.AccessStructure + 110, // 248: concordium.v2.AuthorizationsV0.pool_parameters:type_name -> concordium.v2.AccessStructure + 110, // 249: concordium.v2.AuthorizationsV0.add_anonymity_revoker:type_name -> concordium.v2.AccessStructure + 110, // 250: concordium.v2.AuthorizationsV0.add_identity_provider:type_name -> concordium.v2.AccessStructure + 111, // 251: concordium.v2.AuthorizationsV1.v0:type_name -> concordium.v2.AuthorizationsV0 + 110, // 252: concordium.v2.AuthorizationsV1.parameter_cooldown:type_name -> concordium.v2.AccessStructure + 110, // 253: concordium.v2.AuthorizationsV1.parameter_time:type_name -> concordium.v2.AccessStructure + 306, // 254: concordium.v2.ArInfo.identity:type_name -> concordium.v2.ArInfo.ArIdentity + 113, // 255: concordium.v2.ArInfo.description:type_name -> concordium.v2.Description + 307, // 256: concordium.v2.ArInfo.public_key:type_name -> concordium.v2.ArInfo.ArPublicKey + 115, // 257: concordium.v2.IpInfo.identity:type_name -> concordium.v2.IpIdentity + 113, // 258: concordium.v2.IpInfo.description:type_name -> concordium.v2.Description + 308, // 259: concordium.v2.IpInfo.verify_key:type_name -> concordium.v2.IpInfo.IpVerifyKey + 309, // 260: concordium.v2.IpInfo.cdi_verify_key:type_name -> concordium.v2.IpInfo.IpCdiVerifyKey + 32, // 261: concordium.v2.InclusiveRangeAmountFraction.min:type_name -> concordium.v2.AmountFraction + 32, // 262: concordium.v2.InclusiveRangeAmountFraction.max_:type_name -> concordium.v2.AmountFraction + 118, // 263: concordium.v2.CommissionRanges.finalization:type_name -> concordium.v2.InclusiveRangeAmountFraction + 118, // 264: concordium.v2.CommissionRanges.baking:type_name -> concordium.v2.InclusiveRangeAmountFraction + 118, // 265: concordium.v2.CommissionRanges.transaction:type_name -> concordium.v2.InclusiveRangeAmountFraction + 32, // 266: concordium.v2.CapitalBound.value:type_name -> concordium.v2.AmountFraction + 105, // 267: concordium.v2.LeverageFactor.value:type_name -> concordium.v2.Ratio + 122, // 268: concordium.v2.RewardPeriodLength.value:type_name -> concordium.v2.Epoch + 117, // 269: concordium.v2.CooldownParametersCpv1.pool_owner_cooldown:type_name -> concordium.v2.DurationSeconds + 117, // 270: concordium.v2.CooldownParametersCpv1.delegator_cooldown:type_name -> concordium.v2.DurationSeconds + 32, // 271: concordium.v2.PoolParametersCpv1.passive_finalization_commission:type_name -> concordium.v2.AmountFraction + 32, // 272: concordium.v2.PoolParametersCpv1.passive_baking_commission:type_name -> concordium.v2.AmountFraction + 32, // 273: concordium.v2.PoolParametersCpv1.passive_transaction_commission:type_name -> concordium.v2.AmountFraction + 119, // 274: concordium.v2.PoolParametersCpv1.commission_bounds:type_name -> concordium.v2.CommissionRanges + 38, // 275: concordium.v2.PoolParametersCpv1.minimum_equity_capital:type_name -> concordium.v2.Amount + 120, // 276: concordium.v2.PoolParametersCpv1.capital_bound:type_name -> concordium.v2.CapitalBound + 121, // 277: concordium.v2.PoolParametersCpv1.leverage_bound:type_name -> concordium.v2.LeverageFactor + 124, // 278: concordium.v2.TimeParametersCpv1.reward_period_length:type_name -> concordium.v2.RewardPeriodLength + 125, // 279: concordium.v2.TimeParametersCpv1.mint_per_payday:type_name -> concordium.v2.MintRate + 32, // 280: concordium.v2.MintDistributionCpv1.baking_reward:type_name -> concordium.v2.AmountFraction + 32, // 281: concordium.v2.MintDistributionCpv1.finalization_reward:type_name -> concordium.v2.AmountFraction + 11, // 282: concordium.v2.ProtocolUpdate.specificationHash:type_name -> concordium.v2.Sha256Hash + 125, // 283: concordium.v2.MintDistributionCpv0.mint_per_slot:type_name -> concordium.v2.MintRate + 32, // 284: concordium.v2.MintDistributionCpv0.baking_reward:type_name -> concordium.v2.AmountFraction + 32, // 285: concordium.v2.MintDistributionCpv0.finalization_reward:type_name -> concordium.v2.AmountFraction + 32, // 286: concordium.v2.TransactionFeeDistribution.baker:type_name -> concordium.v2.AmountFraction + 32, // 287: concordium.v2.TransactionFeeDistribution.gas_account:type_name -> concordium.v2.AmountFraction + 32, // 288: concordium.v2.GasRewards.baker:type_name -> concordium.v2.AmountFraction + 32, // 289: concordium.v2.GasRewards.finalization_proof:type_name -> concordium.v2.AmountFraction + 32, // 290: concordium.v2.GasRewards.account_creation:type_name -> concordium.v2.AmountFraction + 32, // 291: concordium.v2.GasRewards.chain_update:type_name -> concordium.v2.AmountFraction + 32, // 292: concordium.v2.GasRewardsCpv2.baker:type_name -> concordium.v2.AmountFraction + 32, // 293: concordium.v2.GasRewardsCpv2.account_creation:type_name -> concordium.v2.AmountFraction + 32, // 294: concordium.v2.GasRewardsCpv2.chain_update:type_name -> concordium.v2.AmountFraction + 38, // 295: concordium.v2.BakerStakeThreshold.baker_stake_threshold:type_name -> concordium.v2.Amount + 109, // 296: concordium.v2.RootUpdate.root_keys_update:type_name -> concordium.v2.HigherLevelKeys + 109, // 297: concordium.v2.RootUpdate.level_1_keys_update:type_name -> concordium.v2.HigherLevelKeys + 111, // 298: concordium.v2.RootUpdate.level_2_keys_update_v0:type_name -> concordium.v2.AuthorizationsV0 + 112, // 299: concordium.v2.RootUpdate.level_2_keys_update_v1:type_name -> concordium.v2.AuthorizationsV1 + 109, // 300: concordium.v2.Level1Update.level_1_keys_update:type_name -> concordium.v2.HigherLevelKeys + 111, // 301: concordium.v2.Level1Update.level_2_keys_update_v0:type_name -> concordium.v2.AuthorizationsV0 + 112, // 302: concordium.v2.Level1Update.level_2_keys_update_v1:type_name -> concordium.v2.AuthorizationsV1 + 130, // 303: concordium.v2.UpdatePayload.protocol_update:type_name -> concordium.v2.ProtocolUpdate + 99, // 304: concordium.v2.UpdatePayload.election_difficulty_update:type_name -> concordium.v2.ElectionDifficulty + 104, // 305: concordium.v2.UpdatePayload.euro_per_energy_update:type_name -> concordium.v2.ExchangeRate + 104, // 306: concordium.v2.UpdatePayload.micro_ccd_per_euro_update:type_name -> concordium.v2.ExchangeRate + 43, // 307: concordium.v2.UpdatePayload.foundation_account_update:type_name -> concordium.v2.AccountAddress + 131, // 308: concordium.v2.UpdatePayload.mint_distribution_update:type_name -> concordium.v2.MintDistributionCpv0 + 132, // 309: concordium.v2.UpdatePayload.transaction_fee_distribution_update:type_name -> concordium.v2.TransactionFeeDistribution + 133, // 310: concordium.v2.UpdatePayload.gas_rewards_update:type_name -> concordium.v2.GasRewards + 135, // 311: concordium.v2.UpdatePayload.baker_stake_threshold_update:type_name -> concordium.v2.BakerStakeThreshold + 136, // 312: concordium.v2.UpdatePayload.root_update:type_name -> concordium.v2.RootUpdate + 137, // 313: concordium.v2.UpdatePayload.level_1_update:type_name -> concordium.v2.Level1Update + 114, // 314: concordium.v2.UpdatePayload.add_anonymity_revoker_update:type_name -> concordium.v2.ArInfo + 116, // 315: concordium.v2.UpdatePayload.add_identity_provider_update:type_name -> concordium.v2.IpInfo + 126, // 316: concordium.v2.UpdatePayload.cooldown_parameters_cpv_1_update:type_name -> concordium.v2.CooldownParametersCpv1 + 127, // 317: concordium.v2.UpdatePayload.pool_parameters_cpv_1_update:type_name -> concordium.v2.PoolParametersCpv1 + 128, // 318: concordium.v2.UpdatePayload.time_parameters_cpv_1_update:type_name -> concordium.v2.TimeParametersCpv1 + 129, // 319: concordium.v2.UpdatePayload.mint_distribution_cpv_1_update:type_name -> concordium.v2.MintDistributionCpv1 + 134, // 320: concordium.v2.UpdatePayload.gas_rewards_cpv_2_update:type_name -> concordium.v2.GasRewardsCpv2 + 100, // 321: concordium.v2.UpdatePayload.timeout_parameters_update:type_name -> concordium.v2.TimeoutParameters + 82, // 322: concordium.v2.UpdatePayload.min_block_time_update:type_name -> concordium.v2.Duration + 79, // 323: concordium.v2.UpdatePayload.block_energy_limit_update:type_name -> concordium.v2.Energy + 101, // 324: concordium.v2.UpdatePayload.finalization_committee_parameters_update:type_name -> concordium.v2.FinalizationCommitteeParameters + 102, // 325: concordium.v2.UpdatePayload.validator_score_parameters_update:type_name -> concordium.v2.ValidatorScoreParameters + 38, // 326: concordium.v2.AccountTransactionDetails.cost:type_name -> concordium.v2.Amount + 43, // 327: concordium.v2.AccountTransactionDetails.sender:type_name -> concordium.v2.AccountAddress + 98, // 328: concordium.v2.AccountTransactionDetails.effects:type_name -> concordium.v2.AccountTransactionEffects + 2, // 329: concordium.v2.AccountCreationDetails.credential_type:type_name -> concordium.v2.CredentialType + 43, // 330: concordium.v2.AccountCreationDetails.address:type_name -> concordium.v2.AccountAddress + 47, // 331: concordium.v2.AccountCreationDetails.reg_id:type_name -> concordium.v2.CredentialRegistrationId + 141, // 332: concordium.v2.UpdateDetails.effective_time:type_name -> concordium.v2.TransactionTime + 138, // 333: concordium.v2.UpdateDetails.payload:type_name -> concordium.v2.UpdatePayload + 310, // 334: concordium.v2.BlockItemSummary.index:type_name -> concordium.v2.BlockItemSummary.TransactionIndex + 79, // 335: concordium.v2.BlockItemSummary.energy_cost:type_name -> concordium.v2.Energy + 12, // 336: concordium.v2.BlockItemSummary.hash:type_name -> concordium.v2.TransactionHash + 139, // 337: concordium.v2.BlockItemSummary.account_transaction:type_name -> concordium.v2.AccountTransactionDetails + 140, // 338: concordium.v2.BlockItemSummary.account_creation:type_name -> concordium.v2.AccountCreationDetails + 142, // 339: concordium.v2.BlockItemSummary.update:type_name -> concordium.v2.UpdateDetails + 10, // 340: concordium.v2.ConsensusInfo.best_block:type_name -> concordium.v2.BlockHash + 10, // 341: concordium.v2.ConsensusInfo.genesis_block:type_name -> concordium.v2.BlockHash + 20, // 342: concordium.v2.ConsensusInfo.genesis_time:type_name -> concordium.v2.Timestamp + 82, // 343: concordium.v2.ConsensusInfo.slot_duration:type_name -> concordium.v2.Duration + 82, // 344: concordium.v2.ConsensusInfo.epoch_duration:type_name -> concordium.v2.Duration + 10, // 345: concordium.v2.ConsensusInfo.last_finalized_block:type_name -> concordium.v2.BlockHash + 14, // 346: concordium.v2.ConsensusInfo.best_block_height:type_name -> concordium.v2.AbsoluteBlockHeight + 14, // 347: concordium.v2.ConsensusInfo.last_finalized_block_height:type_name -> concordium.v2.AbsoluteBlockHeight + 20, // 348: concordium.v2.ConsensusInfo.block_last_received_time:type_name -> concordium.v2.Timestamp + 20, // 349: concordium.v2.ConsensusInfo.block_last_arrived_time:type_name -> concordium.v2.Timestamp + 20, // 350: concordium.v2.ConsensusInfo.last_finalized_time:type_name -> concordium.v2.Timestamp + 5, // 351: concordium.v2.ConsensusInfo.protocol_version:type_name -> concordium.v2.ProtocolVersion + 144, // 352: concordium.v2.ConsensusInfo.genesis_index:type_name -> concordium.v2.GenesisIndex + 10, // 353: concordium.v2.ConsensusInfo.current_era_genesis_block:type_name -> concordium.v2.BlockHash + 20, // 354: concordium.v2.ConsensusInfo.current_era_genesis_time:type_name -> concordium.v2.Timestamp + 82, // 355: concordium.v2.ConsensusInfo.current_timeout_duration:type_name -> concordium.v2.Duration + 123, // 356: concordium.v2.ConsensusInfo.current_round:type_name -> concordium.v2.Round + 122, // 357: concordium.v2.ConsensusInfo.current_epoch:type_name -> concordium.v2.Epoch + 20, // 358: concordium.v2.ConsensusInfo.trigger_block_time:type_name -> concordium.v2.Timestamp + 10, // 359: concordium.v2.ArrivedBlockInfo.hash:type_name -> concordium.v2.BlockHash + 14, // 360: concordium.v2.ArrivedBlockInfo.height:type_name -> concordium.v2.AbsoluteBlockHeight + 10, // 361: concordium.v2.BlockInfo.hash:type_name -> concordium.v2.BlockHash + 14, // 362: concordium.v2.BlockInfo.height:type_name -> concordium.v2.AbsoluteBlockHeight + 10, // 363: concordium.v2.BlockInfo.parent_block:type_name -> concordium.v2.BlockHash + 10, // 364: concordium.v2.BlockInfo.last_finalized_block:type_name -> concordium.v2.BlockHash + 144, // 365: concordium.v2.BlockInfo.genesis_index:type_name -> concordium.v2.GenesisIndex + 15, // 366: concordium.v2.BlockInfo.era_block_height:type_name -> concordium.v2.BlockHeight + 20, // 367: concordium.v2.BlockInfo.receive_time:type_name -> concordium.v2.Timestamp + 20, // 368: concordium.v2.BlockInfo.arrive_time:type_name -> concordium.v2.Timestamp + 80, // 369: concordium.v2.BlockInfo.slot_number:type_name -> concordium.v2.Slot + 20, // 370: concordium.v2.BlockInfo.slot_time:type_name -> concordium.v2.Timestamp + 16, // 371: concordium.v2.BlockInfo.baker:type_name -> concordium.v2.BakerId + 79, // 372: concordium.v2.BlockInfo.transactions_energy_cost:type_name -> concordium.v2.Energy + 13, // 373: concordium.v2.BlockInfo.state_hash:type_name -> concordium.v2.StateHash + 5, // 374: concordium.v2.BlockInfo.protocol_version:type_name -> concordium.v2.ProtocolVersion + 123, // 375: concordium.v2.BlockInfo.round:type_name -> concordium.v2.Round + 122, // 376: concordium.v2.BlockInfo.epoch:type_name -> concordium.v2.Epoch + 60, // 377: concordium.v2.PoolInfoRequest.block_hash:type_name -> concordium.v2.BlockHashInput + 16, // 378: concordium.v2.PoolInfoRequest.baker:type_name -> concordium.v2.BakerId + 311, // 379: concordium.v2.PoolPendingChange.reduce:type_name -> concordium.v2.PoolPendingChange.Reduce + 312, // 380: concordium.v2.PoolPendingChange.remove:type_name -> concordium.v2.PoolPendingChange.Remove + 38, // 381: concordium.v2.PoolCurrentPaydayInfo.transaction_fees_earned:type_name -> concordium.v2.Amount + 38, // 382: concordium.v2.PoolCurrentPaydayInfo.effective_stake:type_name -> concordium.v2.Amount + 38, // 383: concordium.v2.PoolCurrentPaydayInfo.baker_equity_capital:type_name -> concordium.v2.Amount + 38, // 384: concordium.v2.PoolCurrentPaydayInfo.delegated_capital:type_name -> concordium.v2.Amount + 33, // 385: concordium.v2.PoolCurrentPaydayInfo.commission_rates:type_name -> concordium.v2.CommissionRates + 16, // 386: concordium.v2.PoolInfoResponse.baker:type_name -> concordium.v2.BakerId + 43, // 387: concordium.v2.PoolInfoResponse.address:type_name -> concordium.v2.AccountAddress + 38, // 388: concordium.v2.PoolInfoResponse.equity_capital:type_name -> concordium.v2.Amount + 38, // 389: concordium.v2.PoolInfoResponse.delegated_capital:type_name -> concordium.v2.Amount + 38, // 390: concordium.v2.PoolInfoResponse.delegated_capital_cap:type_name -> concordium.v2.Amount + 34, // 391: concordium.v2.PoolInfoResponse.pool_info:type_name -> concordium.v2.BakerPoolInfo + 150, // 392: concordium.v2.PoolInfoResponse.equity_pending_change:type_name -> concordium.v2.PoolPendingChange + 151, // 393: concordium.v2.PoolInfoResponse.current_payday_info:type_name -> concordium.v2.PoolCurrentPaydayInfo + 38, // 394: concordium.v2.PoolInfoResponse.all_pool_total_capital:type_name -> concordium.v2.Amount + 38, // 395: concordium.v2.PassiveDelegationInfo.delegated_capital:type_name -> concordium.v2.Amount + 33, // 396: concordium.v2.PassiveDelegationInfo.commission_rates:type_name -> concordium.v2.CommissionRates + 38, // 397: concordium.v2.PassiveDelegationInfo.current_payday_transaction_fees_earned:type_name -> concordium.v2.Amount + 38, // 398: concordium.v2.PassiveDelegationInfo.current_payday_delegated_capital:type_name -> concordium.v2.Amount + 38, // 399: concordium.v2.PassiveDelegationInfo.all_pool_total_capital:type_name -> concordium.v2.Amount + 313, // 400: concordium.v2.BlocksAtHeightRequest.absolute:type_name -> concordium.v2.BlocksAtHeightRequest.Absolute + 314, // 401: concordium.v2.BlocksAtHeightRequest.relative:type_name -> concordium.v2.BlocksAtHeightRequest.Relative + 10, // 402: concordium.v2.BlocksAtHeightResponse.blocks:type_name -> concordium.v2.BlockHash + 315, // 403: concordium.v2.TokenomicsInfo.v0:type_name -> concordium.v2.TokenomicsInfo.V0 + 316, // 404: concordium.v2.TokenomicsInfo.v1:type_name -> concordium.v2.TokenomicsInfo.V1 + 60, // 405: concordium.v2.InvokeInstanceRequest.block_hash:type_name -> concordium.v2.BlockHashInput + 44, // 406: concordium.v2.InvokeInstanceRequest.invoker:type_name -> concordium.v2.Address + 67, // 407: concordium.v2.InvokeInstanceRequest.instance:type_name -> concordium.v2.ContractAddress + 38, // 408: concordium.v2.InvokeInstanceRequest.amount:type_name -> concordium.v2.Amount + 73, // 409: concordium.v2.InvokeInstanceRequest.entrypoint:type_name -> concordium.v2.ReceiveName + 75, // 410: concordium.v2.InvokeInstanceRequest.parameter:type_name -> concordium.v2.Parameter + 79, // 411: concordium.v2.InvokeInstanceRequest.energy:type_name -> concordium.v2.Energy + 318, // 412: concordium.v2.InvokeInstanceResponse.success:type_name -> concordium.v2.InvokeInstanceResponse.Success + 317, // 413: concordium.v2.InvokeInstanceResponse.failure:type_name -> concordium.v2.InvokeInstanceResponse.Failure + 60, // 414: concordium.v2.GetPoolDelegatorsRequest.block_hash:type_name -> concordium.v2.BlockHashInput + 16, // 415: concordium.v2.GetPoolDelegatorsRequest.baker:type_name -> concordium.v2.BakerId + 43, // 416: concordium.v2.DelegatorInfo.account:type_name -> concordium.v2.AccountAddress + 38, // 417: concordium.v2.DelegatorInfo.stake:type_name -> concordium.v2.Amount + 31, // 418: concordium.v2.DelegatorInfo.pending_change:type_name -> concordium.v2.StakePendingChange + 43, // 419: concordium.v2.DelegatorRewardPeriodInfo.account:type_name -> concordium.v2.AccountAddress + 38, // 420: concordium.v2.DelegatorRewardPeriodInfo.stake:type_name -> concordium.v2.Amount + 10, // 421: concordium.v2.Branch.block_hash:type_name -> concordium.v2.BlockHash + 162, // 422: concordium.v2.Branch.children:type_name -> concordium.v2.Branch + 99, // 423: concordium.v2.ElectionInfo.election_difficulty:type_name -> concordium.v2.ElectionDifficulty + 163, // 424: concordium.v2.ElectionInfo.election_nonce:type_name -> concordium.v2.LeadershipElectionNonce + 319, // 425: concordium.v2.ElectionInfo.baker_election_info:type_name -> concordium.v2.ElectionInfo.Baker + 321, // 426: concordium.v2.BlockSpecialEvent.baking_rewards:type_name -> concordium.v2.BlockSpecialEvent.BakingRewards + 322, // 427: concordium.v2.BlockSpecialEvent.mint:type_name -> concordium.v2.BlockSpecialEvent.Mint + 323, // 428: concordium.v2.BlockSpecialEvent.finalization_rewards:type_name -> concordium.v2.BlockSpecialEvent.FinalizationRewards + 324, // 429: concordium.v2.BlockSpecialEvent.block_reward:type_name -> concordium.v2.BlockSpecialEvent.BlockReward + 325, // 430: concordium.v2.BlockSpecialEvent.payday_foundation_reward:type_name -> concordium.v2.BlockSpecialEvent.PaydayFoundationReward + 326, // 431: concordium.v2.BlockSpecialEvent.payday_account_reward:type_name -> concordium.v2.BlockSpecialEvent.PaydayAccountReward + 327, // 432: concordium.v2.BlockSpecialEvent.block_accrue_reward:type_name -> concordium.v2.BlockSpecialEvent.BlockAccrueReward + 328, // 433: concordium.v2.BlockSpecialEvent.payday_pool_reward:type_name -> concordium.v2.BlockSpecialEvent.PaydayPoolReward + 329, // 434: concordium.v2.BlockSpecialEvent.validator_suspended:type_name -> concordium.v2.BlockSpecialEvent.ValidatorSuspended + 330, // 435: concordium.v2.BlockSpecialEvent.validator_primed_for_suspension:type_name -> concordium.v2.BlockSpecialEvent.ValidatorPrimedForSuspension + 141, // 436: concordium.v2.PendingUpdate.effective_time:type_name -> concordium.v2.TransactionTime + 109, // 437: concordium.v2.PendingUpdate.root_keys:type_name -> concordium.v2.HigherLevelKeys + 109, // 438: concordium.v2.PendingUpdate.level1_keys:type_name -> concordium.v2.HigherLevelKeys + 111, // 439: concordium.v2.PendingUpdate.level2_keys_cpv_0:type_name -> concordium.v2.AuthorizationsV0 + 112, // 440: concordium.v2.PendingUpdate.level2_keys_cpv_1:type_name -> concordium.v2.AuthorizationsV1 + 130, // 441: concordium.v2.PendingUpdate.protocol:type_name -> concordium.v2.ProtocolUpdate + 99, // 442: concordium.v2.PendingUpdate.election_difficulty:type_name -> concordium.v2.ElectionDifficulty + 104, // 443: concordium.v2.PendingUpdate.euro_per_energy:type_name -> concordium.v2.ExchangeRate + 104, // 444: concordium.v2.PendingUpdate.micro_ccd_per_euro:type_name -> concordium.v2.ExchangeRate + 43, // 445: concordium.v2.PendingUpdate.foundation_account:type_name -> concordium.v2.AccountAddress + 131, // 446: concordium.v2.PendingUpdate.mint_distribution_cpv_0:type_name -> concordium.v2.MintDistributionCpv0 + 129, // 447: concordium.v2.PendingUpdate.mint_distribution_cpv_1:type_name -> concordium.v2.MintDistributionCpv1 + 132, // 448: concordium.v2.PendingUpdate.transaction_fee_distribution:type_name -> concordium.v2.TransactionFeeDistribution + 133, // 449: concordium.v2.PendingUpdate.gas_rewards:type_name -> concordium.v2.GasRewards + 135, // 450: concordium.v2.PendingUpdate.pool_parameters_cpv_0:type_name -> concordium.v2.BakerStakeThreshold + 127, // 451: concordium.v2.PendingUpdate.pool_parameters_cpv_1:type_name -> concordium.v2.PoolParametersCpv1 + 114, // 452: concordium.v2.PendingUpdate.add_anonymity_revoker:type_name -> concordium.v2.ArInfo + 116, // 453: concordium.v2.PendingUpdate.add_identity_provider:type_name -> concordium.v2.IpInfo + 126, // 454: concordium.v2.PendingUpdate.cooldown_parameters:type_name -> concordium.v2.CooldownParametersCpv1 + 128, // 455: concordium.v2.PendingUpdate.time_parameters:type_name -> concordium.v2.TimeParametersCpv1 + 134, // 456: concordium.v2.PendingUpdate.gas_rewards_cpv_2:type_name -> concordium.v2.GasRewardsCpv2 + 100, // 457: concordium.v2.PendingUpdate.timeout_parameters:type_name -> concordium.v2.TimeoutParameters + 82, // 458: concordium.v2.PendingUpdate.min_block_time:type_name -> concordium.v2.Duration + 79, // 459: concordium.v2.PendingUpdate.block_energy_limit:type_name -> concordium.v2.Energy + 101, // 460: concordium.v2.PendingUpdate.finalization_committee_parameters:type_name -> concordium.v2.FinalizationCommitteeParameters + 102, // 461: concordium.v2.PendingUpdate.validator_score_parameters:type_name -> concordium.v2.ValidatorScoreParameters + 36, // 462: concordium.v2.NextUpdateSequenceNumbers.root_keys:type_name -> concordium.v2.SequenceNumber + 36, // 463: concordium.v2.NextUpdateSequenceNumbers.level1_keys:type_name -> concordium.v2.SequenceNumber + 36, // 464: concordium.v2.NextUpdateSequenceNumbers.level2_keys:type_name -> concordium.v2.SequenceNumber + 36, // 465: concordium.v2.NextUpdateSequenceNumbers.protocol:type_name -> concordium.v2.SequenceNumber + 36, // 466: concordium.v2.NextUpdateSequenceNumbers.election_difficulty:type_name -> concordium.v2.SequenceNumber + 36, // 467: concordium.v2.NextUpdateSequenceNumbers.euro_per_energy:type_name -> concordium.v2.SequenceNumber + 36, // 468: concordium.v2.NextUpdateSequenceNumbers.micro_ccd_per_euro:type_name -> concordium.v2.SequenceNumber + 36, // 469: concordium.v2.NextUpdateSequenceNumbers.foundation_account:type_name -> concordium.v2.SequenceNumber + 36, // 470: concordium.v2.NextUpdateSequenceNumbers.mint_distribution:type_name -> concordium.v2.SequenceNumber + 36, // 471: concordium.v2.NextUpdateSequenceNumbers.transaction_fee_distribution:type_name -> concordium.v2.SequenceNumber + 36, // 472: concordium.v2.NextUpdateSequenceNumbers.gas_rewards:type_name -> concordium.v2.SequenceNumber + 36, // 473: concordium.v2.NextUpdateSequenceNumbers.pool_parameters:type_name -> concordium.v2.SequenceNumber + 36, // 474: concordium.v2.NextUpdateSequenceNumbers.add_anonymity_revoker:type_name -> concordium.v2.SequenceNumber + 36, // 475: concordium.v2.NextUpdateSequenceNumbers.add_identity_provider:type_name -> concordium.v2.SequenceNumber + 36, // 476: concordium.v2.NextUpdateSequenceNumbers.cooldown_parameters:type_name -> concordium.v2.SequenceNumber + 36, // 477: concordium.v2.NextUpdateSequenceNumbers.time_parameters:type_name -> concordium.v2.SequenceNumber + 36, // 478: concordium.v2.NextUpdateSequenceNumbers.timeout_parameters:type_name -> concordium.v2.SequenceNumber + 36, // 479: concordium.v2.NextUpdateSequenceNumbers.min_block_time:type_name -> concordium.v2.SequenceNumber + 36, // 480: concordium.v2.NextUpdateSequenceNumbers.block_energy_limit:type_name -> concordium.v2.SequenceNumber + 36, // 481: concordium.v2.NextUpdateSequenceNumbers.finalization_committee_parameters:type_name -> concordium.v2.SequenceNumber + 36, // 482: concordium.v2.NextUpdateSequenceNumbers.validator_score_parameters:type_name -> concordium.v2.SequenceNumber + 168, // 483: concordium.v2.IpSocketAddress.ip:type_name -> concordium.v2.IpAddress + 169, // 484: concordium.v2.IpSocketAddress.port:type_name -> concordium.v2.Port + 168, // 485: concordium.v2.BannedPeer.ip_address:type_name -> concordium.v2.IpAddress + 172, // 486: concordium.v2.BannedPeers.peers:type_name -> concordium.v2.BannedPeer + 168, // 487: concordium.v2.PeerToBan.ip_address:type_name -> concordium.v2.IpAddress + 332, // 488: concordium.v2.PeersInfo.peers:type_name -> concordium.v2.PeersInfo.Peer + 20, // 489: concordium.v2.NodeInfo.local_time:type_name -> concordium.v2.Timestamp + 82, // 490: concordium.v2.NodeInfo.peer_uptime:type_name -> concordium.v2.Duration + 334, // 491: concordium.v2.NodeInfo.network_info:type_name -> concordium.v2.NodeInfo.NetworkInfo + 9, // 492: concordium.v2.NodeInfo.bootstrapper:type_name -> concordium.v2.Empty + 336, // 493: concordium.v2.NodeInfo.node:type_name -> concordium.v2.NodeInfo.Node + 191, // 494: concordium.v2.SendBlockItemRequest.account_transaction:type_name -> concordium.v2.AccountTransaction + 179, // 495: concordium.v2.SendBlockItemRequest.credential_deployment:type_name -> concordium.v2.CredentialDeployment + 194, // 496: concordium.v2.SendBlockItemRequest.update_instruction:type_name -> concordium.v2.UpdateInstruction + 141, // 497: concordium.v2.CredentialDeployment.message_expiry:type_name -> concordium.v2.TransactionTime + 339, // 498: concordium.v2.SignatureMap.signatures:type_name -> concordium.v2.SignatureMap.SignaturesEntry + 340, // 499: concordium.v2.AccountSignatureMap.signatures:type_name -> concordium.v2.AccountSignatureMap.SignaturesEntry + 341, // 500: concordium.v2.AccountTransactionSignature.signatures:type_name -> concordium.v2.AccountTransactionSignature.SignaturesEntry + 43, // 501: concordium.v2.AccountTransactionHeader.sender:type_name -> concordium.v2.AccountAddress + 36, // 502: concordium.v2.AccountTransactionHeader.sequence_number:type_name -> concordium.v2.SequenceNumber + 79, // 503: concordium.v2.AccountTransactionHeader.energy_amount:type_name -> concordium.v2.Energy + 141, // 504: concordium.v2.AccountTransactionHeader.expiry:type_name -> concordium.v2.TransactionTime + 38, // 505: concordium.v2.InitContractPayload.amount:type_name -> concordium.v2.Amount + 18, // 506: concordium.v2.InitContractPayload.module_ref:type_name -> concordium.v2.ModuleRef + 74, // 507: concordium.v2.InitContractPayload.init_name:type_name -> concordium.v2.InitName + 75, // 508: concordium.v2.InitContractPayload.parameter:type_name -> concordium.v2.Parameter + 38, // 509: concordium.v2.UpdateContractPayload.amount:type_name -> concordium.v2.Amount + 67, // 510: concordium.v2.UpdateContractPayload.address:type_name -> concordium.v2.ContractAddress + 73, // 511: concordium.v2.UpdateContractPayload.receive_name:type_name -> concordium.v2.ReceiveName + 75, // 512: concordium.v2.UpdateContractPayload.parameter:type_name -> concordium.v2.Parameter + 38, // 513: concordium.v2.TransferPayload.amount:type_name -> concordium.v2.Amount + 43, // 514: concordium.v2.TransferPayload.receiver:type_name -> concordium.v2.AccountAddress + 38, // 515: concordium.v2.TransferWithMemoPayload.amount:type_name -> concordium.v2.Amount + 43, // 516: concordium.v2.TransferWithMemoPayload.receiver:type_name -> concordium.v2.AccountAddress + 89, // 517: concordium.v2.TransferWithMemoPayload.memo:type_name -> concordium.v2.Memo + 19, // 518: concordium.v2.AccountTransactionPayload.deploy_module:type_name -> concordium.v2.VersionedModuleSource + 185, // 519: concordium.v2.AccountTransactionPayload.init_contract:type_name -> concordium.v2.InitContractPayload + 186, // 520: concordium.v2.AccountTransactionPayload.update_contract:type_name -> concordium.v2.UpdateContractPayload + 187, // 521: concordium.v2.AccountTransactionPayload.transfer:type_name -> concordium.v2.TransferPayload + 188, // 522: concordium.v2.AccountTransactionPayload.transfer_with_memo:type_name -> concordium.v2.TransferWithMemoPayload + 94, // 523: concordium.v2.AccountTransactionPayload.register_data:type_name -> concordium.v2.RegisteredData + 184, // 524: concordium.v2.PreAccountTransaction.header:type_name -> concordium.v2.AccountTransactionHeader + 189, // 525: concordium.v2.PreAccountTransaction.payload:type_name -> concordium.v2.AccountTransactionPayload + 183, // 526: concordium.v2.AccountTransaction.signature:type_name -> concordium.v2.AccountTransactionSignature + 184, // 527: concordium.v2.AccountTransaction.header:type_name -> concordium.v2.AccountTransactionHeader + 189, // 528: concordium.v2.AccountTransaction.payload:type_name -> concordium.v2.AccountTransactionPayload + 37, // 529: concordium.v2.UpdateInstructionHeader.sequence_number:type_name -> concordium.v2.UpdateSequenceNumber + 141, // 530: concordium.v2.UpdateInstructionHeader.effective_time:type_name -> concordium.v2.TransactionTime + 141, // 531: concordium.v2.UpdateInstructionHeader.timeout:type_name -> concordium.v2.TransactionTime + 181, // 532: concordium.v2.UpdateInstruction.signatures:type_name -> concordium.v2.SignatureMap + 192, // 533: concordium.v2.UpdateInstruction.header:type_name -> concordium.v2.UpdateInstructionHeader + 193, // 534: concordium.v2.UpdateInstruction.payload:type_name -> concordium.v2.UpdateInstructionPayload + 99, // 535: concordium.v2.ChainParametersV0.election_difficulty:type_name -> concordium.v2.ElectionDifficulty + 104, // 536: concordium.v2.ChainParametersV0.euro_per_energy:type_name -> concordium.v2.ExchangeRate + 104, // 537: concordium.v2.ChainParametersV0.micro_ccd_per_euro:type_name -> concordium.v2.ExchangeRate + 122, // 538: concordium.v2.ChainParametersV0.baker_cooldown_epochs:type_name -> concordium.v2.Epoch + 196, // 539: concordium.v2.ChainParametersV0.account_creation_limit:type_name -> concordium.v2.CredentialsPerBlockLimit + 131, // 540: concordium.v2.ChainParametersV0.mint_distribution:type_name -> concordium.v2.MintDistributionCpv0 + 132, // 541: concordium.v2.ChainParametersV0.transaction_fee_distribution:type_name -> concordium.v2.TransactionFeeDistribution + 133, // 542: concordium.v2.ChainParametersV0.gas_rewards:type_name -> concordium.v2.GasRewards + 43, // 543: concordium.v2.ChainParametersV0.foundation_account:type_name -> concordium.v2.AccountAddress + 38, // 544: concordium.v2.ChainParametersV0.minimum_threshold_for_baking:type_name -> concordium.v2.Amount + 109, // 545: concordium.v2.ChainParametersV0.root_keys:type_name -> concordium.v2.HigherLevelKeys + 109, // 546: concordium.v2.ChainParametersV0.level1_keys:type_name -> concordium.v2.HigherLevelKeys + 111, // 547: concordium.v2.ChainParametersV0.level2_keys:type_name -> concordium.v2.AuthorizationsV0 + 99, // 548: concordium.v2.ChainParametersV1.election_difficulty:type_name -> concordium.v2.ElectionDifficulty + 104, // 549: concordium.v2.ChainParametersV1.euro_per_energy:type_name -> concordium.v2.ExchangeRate + 104, // 550: concordium.v2.ChainParametersV1.micro_ccd_per_euro:type_name -> concordium.v2.ExchangeRate + 126, // 551: concordium.v2.ChainParametersV1.cooldown_parameters:type_name -> concordium.v2.CooldownParametersCpv1 + 128, // 552: concordium.v2.ChainParametersV1.time_parameters:type_name -> concordium.v2.TimeParametersCpv1 + 196, // 553: concordium.v2.ChainParametersV1.account_creation_limit:type_name -> concordium.v2.CredentialsPerBlockLimit + 129, // 554: concordium.v2.ChainParametersV1.mint_distribution:type_name -> concordium.v2.MintDistributionCpv1 + 132, // 555: concordium.v2.ChainParametersV1.transaction_fee_distribution:type_name -> concordium.v2.TransactionFeeDistribution + 133, // 556: concordium.v2.ChainParametersV1.gas_rewards:type_name -> concordium.v2.GasRewards + 43, // 557: concordium.v2.ChainParametersV1.foundation_account:type_name -> concordium.v2.AccountAddress + 127, // 558: concordium.v2.ChainParametersV1.pool_parameters:type_name -> concordium.v2.PoolParametersCpv1 + 109, // 559: concordium.v2.ChainParametersV1.root_keys:type_name -> concordium.v2.HigherLevelKeys + 109, // 560: concordium.v2.ChainParametersV1.level1_keys:type_name -> concordium.v2.HigherLevelKeys + 112, // 561: concordium.v2.ChainParametersV1.level2_keys:type_name -> concordium.v2.AuthorizationsV1 + 103, // 562: concordium.v2.ChainParametersV2.consensus_parameters:type_name -> concordium.v2.ConsensusParametersV1 + 104, // 563: concordium.v2.ChainParametersV2.euro_per_energy:type_name -> concordium.v2.ExchangeRate + 104, // 564: concordium.v2.ChainParametersV2.micro_ccd_per_euro:type_name -> concordium.v2.ExchangeRate + 126, // 565: concordium.v2.ChainParametersV2.cooldown_parameters:type_name -> concordium.v2.CooldownParametersCpv1 + 128, // 566: concordium.v2.ChainParametersV2.time_parameters:type_name -> concordium.v2.TimeParametersCpv1 + 196, // 567: concordium.v2.ChainParametersV2.account_creation_limit:type_name -> concordium.v2.CredentialsPerBlockLimit + 129, // 568: concordium.v2.ChainParametersV2.mint_distribution:type_name -> concordium.v2.MintDistributionCpv1 + 132, // 569: concordium.v2.ChainParametersV2.transaction_fee_distribution:type_name -> concordium.v2.TransactionFeeDistribution + 134, // 570: concordium.v2.ChainParametersV2.gas_rewards:type_name -> concordium.v2.GasRewardsCpv2 + 43, // 571: concordium.v2.ChainParametersV2.foundation_account:type_name -> concordium.v2.AccountAddress + 127, // 572: concordium.v2.ChainParametersV2.pool_parameters:type_name -> concordium.v2.PoolParametersCpv1 + 109, // 573: concordium.v2.ChainParametersV2.root_keys:type_name -> concordium.v2.HigherLevelKeys + 109, // 574: concordium.v2.ChainParametersV2.level1_keys:type_name -> concordium.v2.HigherLevelKeys + 112, // 575: concordium.v2.ChainParametersV2.level2_keys:type_name -> concordium.v2.AuthorizationsV1 + 101, // 576: concordium.v2.ChainParametersV2.finalization_committee_parameters:type_name -> concordium.v2.FinalizationCommitteeParameters + 103, // 577: concordium.v2.ChainParametersV3.consensus_parameters:type_name -> concordium.v2.ConsensusParametersV1 + 104, // 578: concordium.v2.ChainParametersV3.euro_per_energy:type_name -> concordium.v2.ExchangeRate + 104, // 579: concordium.v2.ChainParametersV3.micro_ccd_per_euro:type_name -> concordium.v2.ExchangeRate + 126, // 580: concordium.v2.ChainParametersV3.cooldown_parameters:type_name -> concordium.v2.CooldownParametersCpv1 + 128, // 581: concordium.v2.ChainParametersV3.time_parameters:type_name -> concordium.v2.TimeParametersCpv1 + 196, // 582: concordium.v2.ChainParametersV3.account_creation_limit:type_name -> concordium.v2.CredentialsPerBlockLimit + 129, // 583: concordium.v2.ChainParametersV3.mint_distribution:type_name -> concordium.v2.MintDistributionCpv1 + 132, // 584: concordium.v2.ChainParametersV3.transaction_fee_distribution:type_name -> concordium.v2.TransactionFeeDistribution + 134, // 585: concordium.v2.ChainParametersV3.gas_rewards:type_name -> concordium.v2.GasRewardsCpv2 + 43, // 586: concordium.v2.ChainParametersV3.foundation_account:type_name -> concordium.v2.AccountAddress + 127, // 587: concordium.v2.ChainParametersV3.pool_parameters:type_name -> concordium.v2.PoolParametersCpv1 + 109, // 588: concordium.v2.ChainParametersV3.root_keys:type_name -> concordium.v2.HigherLevelKeys + 109, // 589: concordium.v2.ChainParametersV3.level1_keys:type_name -> concordium.v2.HigherLevelKeys + 112, // 590: concordium.v2.ChainParametersV3.level2_keys:type_name -> concordium.v2.AuthorizationsV1 + 101, // 591: concordium.v2.ChainParametersV3.finalization_committee_parameters:type_name -> concordium.v2.FinalizationCommitteeParameters + 102, // 592: concordium.v2.ChainParametersV3.validator_score_parameters:type_name -> concordium.v2.ValidatorScoreParameters + 197, // 593: concordium.v2.ChainParameters.v0:type_name -> concordium.v2.ChainParametersV0 + 198, // 594: concordium.v2.ChainParameters.v1:type_name -> concordium.v2.ChainParametersV1 + 199, // 595: concordium.v2.ChainParameters.v2:type_name -> concordium.v2.ChainParametersV2 + 200, // 596: concordium.v2.ChainParameters.v3:type_name -> concordium.v2.ChainParametersV3 + 16, // 597: concordium.v2.FinalizationSummaryParty.baker:type_name -> concordium.v2.BakerId + 10, // 598: concordium.v2.FinalizationSummary.block:type_name -> concordium.v2.BlockHash + 203, // 599: concordium.v2.FinalizationSummary.index:type_name -> concordium.v2.FinalizationIndex + 15, // 600: concordium.v2.FinalizationSummary.delay:type_name -> concordium.v2.BlockHeight + 202, // 601: concordium.v2.FinalizationSummary.finalizers:type_name -> concordium.v2.FinalizationSummaryParty + 9, // 602: concordium.v2.BlockFinalizationSummary.none:type_name -> concordium.v2.Empty + 204, // 603: concordium.v2.BlockFinalizationSummary.record:type_name -> concordium.v2.FinalizationSummary + 12, // 604: concordium.v2.BlockItem.hash:type_name -> concordium.v2.TransactionHash + 191, // 605: concordium.v2.BlockItem.account_transaction:type_name -> concordium.v2.AccountTransaction + 179, // 606: concordium.v2.BlockItem.credential_deployment:type_name -> concordium.v2.CredentialDeployment + 194, // 607: concordium.v2.BlockItem.update_instruction:type_name -> concordium.v2.UpdateInstruction + 30, // 608: concordium.v2.BakerRewardPeriodInfo.baker:type_name -> concordium.v2.BakerInfo + 38, // 609: concordium.v2.BakerRewardPeriodInfo.effective_stake:type_name -> concordium.v2.Amount + 33, // 610: concordium.v2.BakerRewardPeriodInfo.commission_rates:type_name -> concordium.v2.CommissionRates + 38, // 611: concordium.v2.BakerRewardPeriodInfo.equity_capital:type_name -> concordium.v2.Amount + 38, // 612: concordium.v2.BakerRewardPeriodInfo.delegated_capital:type_name -> concordium.v2.Amount + 10, // 613: concordium.v2.QuorumCertificate.block_hash:type_name -> concordium.v2.BlockHash + 123, // 614: concordium.v2.QuorumCertificate.round:type_name -> concordium.v2.Round + 122, // 615: concordium.v2.QuorumCertificate.epoch:type_name -> concordium.v2.Epoch + 208, // 616: concordium.v2.QuorumCertificate.aggregate_signature:type_name -> concordium.v2.QuorumSignature + 16, // 617: concordium.v2.QuorumCertificate.signatories:type_name -> concordium.v2.BakerId + 123, // 618: concordium.v2.FinalizerRound.round:type_name -> concordium.v2.Round + 16, // 619: concordium.v2.FinalizerRound.finalizers:type_name -> concordium.v2.BakerId + 123, // 620: concordium.v2.TimeoutCertificate.round:type_name -> concordium.v2.Round + 122, // 621: concordium.v2.TimeoutCertificate.min_epoch:type_name -> concordium.v2.Epoch + 210, // 622: concordium.v2.TimeoutCertificate.qc_rounds_first_epoch:type_name -> concordium.v2.FinalizerRound + 210, // 623: concordium.v2.TimeoutCertificate.qc_rounds_second_epoch:type_name -> concordium.v2.FinalizerRound + 211, // 624: concordium.v2.TimeoutCertificate.aggregate_signature:type_name -> concordium.v2.TimeoutSignature + 209, // 625: concordium.v2.EpochFinalizationEntry.finalized_qc:type_name -> concordium.v2.QuorumCertificate + 209, // 626: concordium.v2.EpochFinalizationEntry.successor_qc:type_name -> concordium.v2.QuorumCertificate + 213, // 627: concordium.v2.EpochFinalizationEntry.successor_proof:type_name -> concordium.v2.SuccessorProof + 209, // 628: concordium.v2.BlockCertificates.quorum_certificate:type_name -> concordium.v2.QuorumCertificate + 212, // 629: concordium.v2.BlockCertificates.timeout_certificate:type_name -> concordium.v2.TimeoutCertificate + 214, // 630: concordium.v2.BlockCertificates.epoch_finalization_entry:type_name -> concordium.v2.EpochFinalizationEntry + 123, // 631: concordium.v2.WinningBaker.round:type_name -> concordium.v2.Round + 16, // 632: concordium.v2.WinningBaker.winner:type_name -> concordium.v2.BakerId + 60, // 633: concordium.v2.DryRunRequest.load_block_state:type_name -> concordium.v2.BlockHashInput + 218, // 634: concordium.v2.DryRunRequest.state_query:type_name -> concordium.v2.DryRunStateQuery + 220, // 635: concordium.v2.DryRunRequest.state_operation:type_name -> concordium.v2.DryRunStateOperation + 62, // 636: concordium.v2.DryRunStateQuery.get_account_info:type_name -> concordium.v2.AccountIdentifierInput + 67, // 637: concordium.v2.DryRunStateQuery.get_instance_info:type_name -> concordium.v2.ContractAddress + 219, // 638: concordium.v2.DryRunStateQuery.invoke_instance:type_name -> concordium.v2.DryRunInvokeInstance + 44, // 639: concordium.v2.DryRunInvokeInstance.invoker:type_name -> concordium.v2.Address + 67, // 640: concordium.v2.DryRunInvokeInstance.instance:type_name -> concordium.v2.ContractAddress + 38, // 641: concordium.v2.DryRunInvokeInstance.amount:type_name -> concordium.v2.Amount + 73, // 642: concordium.v2.DryRunInvokeInstance.entrypoint:type_name -> concordium.v2.ReceiveName + 75, // 643: concordium.v2.DryRunInvokeInstance.parameter:type_name -> concordium.v2.Parameter + 79, // 644: concordium.v2.DryRunInvokeInstance.energy:type_name -> concordium.v2.Energy + 20, // 645: concordium.v2.DryRunStateOperation.set_timestamp:type_name -> concordium.v2.Timestamp + 221, // 646: concordium.v2.DryRunStateOperation.mint_to_account:type_name -> concordium.v2.DryRunMintToAccount + 222, // 647: concordium.v2.DryRunStateOperation.run_transaction:type_name -> concordium.v2.DryRunTransaction + 43, // 648: concordium.v2.DryRunMintToAccount.account:type_name -> concordium.v2.AccountAddress + 38, // 649: concordium.v2.DryRunMintToAccount.amount:type_name -> concordium.v2.Amount + 43, // 650: concordium.v2.DryRunTransaction.sender:type_name -> concordium.v2.AccountAddress + 79, // 651: concordium.v2.DryRunTransaction.energy_amount:type_name -> concordium.v2.Energy + 189, // 652: concordium.v2.DryRunTransaction.payload:type_name -> concordium.v2.AccountTransactionPayload + 223, // 653: concordium.v2.DryRunTransaction.signatures:type_name -> concordium.v2.DryRunSignature + 225, // 654: concordium.v2.DryRunResponse.error:type_name -> concordium.v2.DryRunErrorResponse + 226, // 655: concordium.v2.DryRunResponse.success:type_name -> concordium.v2.DryRunSuccessResponse + 79, // 656: concordium.v2.DryRunResponse.quota_remaining:type_name -> concordium.v2.Energy + 342, // 657: concordium.v2.DryRunErrorResponse.no_state:type_name -> concordium.v2.DryRunErrorResponse.NoState + 343, // 658: concordium.v2.DryRunErrorResponse.block_not_found:type_name -> concordium.v2.DryRunErrorResponse.BlockNotFound + 344, // 659: concordium.v2.DryRunErrorResponse.account_not_found:type_name -> concordium.v2.DryRunErrorResponse.AccountNotFound + 345, // 660: concordium.v2.DryRunErrorResponse.instance_not_found:type_name -> concordium.v2.DryRunErrorResponse.InstanceNotFound + 346, // 661: concordium.v2.DryRunErrorResponse.amount_over_limit:type_name -> concordium.v2.DryRunErrorResponse.AmountOverLimit + 347, // 662: concordium.v2.DryRunErrorResponse.balance_insufficient:type_name -> concordium.v2.DryRunErrorResponse.BalanceInsufficient + 348, // 663: concordium.v2.DryRunErrorResponse.energy_insufficient:type_name -> concordium.v2.DryRunErrorResponse.EnergyInsufficient + 349, // 664: concordium.v2.DryRunErrorResponse.invoke_failed:type_name -> concordium.v2.DryRunErrorResponse.InvokeFailure + 350, // 665: concordium.v2.DryRunSuccessResponse.block_state_loaded:type_name -> concordium.v2.DryRunSuccessResponse.BlockStateLoaded + 59, // 666: concordium.v2.DryRunSuccessResponse.account_info:type_name -> concordium.v2.AccountInfo + 69, // 667: concordium.v2.DryRunSuccessResponse.instance_info:type_name -> concordium.v2.InstanceInfo + 354, // 668: concordium.v2.DryRunSuccessResponse.invoke_succeeded:type_name -> concordium.v2.DryRunSuccessResponse.InvokeSuccess + 351, // 669: concordium.v2.DryRunSuccessResponse.timestamp_set:type_name -> concordium.v2.DryRunSuccessResponse.TimestampSet + 352, // 670: concordium.v2.DryRunSuccessResponse.minted_to_account:type_name -> concordium.v2.DryRunSuccessResponse.MintedToAccount + 353, // 671: concordium.v2.DryRunSuccessResponse.transaction_executed:type_name -> concordium.v2.DryRunSuccessResponse.TransactionExecuted + 208, // 672: concordium.v2.QuorumMessage.signature:type_name -> concordium.v2.QuorumSignature + 10, // 673: concordium.v2.QuorumMessage.block:type_name -> concordium.v2.BlockHash + 227, // 674: concordium.v2.QuorumMessage.finalizer:type_name -> concordium.v2.FinalizerIndex + 123, // 675: concordium.v2.QuorumMessage.round:type_name -> concordium.v2.Round + 122, // 676: concordium.v2.QuorumMessage.epoch:type_name -> concordium.v2.Epoch + 10, // 677: concordium.v2.RawQuorumCertificate.block_hash:type_name -> concordium.v2.BlockHash + 123, // 678: concordium.v2.RawQuorumCertificate.round:type_name -> concordium.v2.Round + 122, // 679: concordium.v2.RawQuorumCertificate.epoch:type_name -> concordium.v2.Epoch + 208, // 680: concordium.v2.RawQuorumCertificate.aggregate_signature:type_name -> concordium.v2.QuorumSignature + 227, // 681: concordium.v2.RawQuorumCertificate.signatories:type_name -> concordium.v2.FinalizerIndex + 227, // 682: concordium.v2.TimeoutMessage.finalizer:type_name -> concordium.v2.FinalizerIndex + 123, // 683: concordium.v2.TimeoutMessage.round:type_name -> concordium.v2.Round + 122, // 684: concordium.v2.TimeoutMessage.epoch:type_name -> concordium.v2.Epoch + 229, // 685: concordium.v2.TimeoutMessage.quorum_certificate:type_name -> concordium.v2.RawQuorumCertificate + 211, // 686: concordium.v2.TimeoutMessage.signature:type_name -> concordium.v2.TimeoutSignature + 230, // 687: concordium.v2.TimeoutMessage.message_signature:type_name -> concordium.v2.BlockSignature + 123, // 688: concordium.v2.RawFinalizerRound.round:type_name -> concordium.v2.Round + 227, // 689: concordium.v2.RawFinalizerRound.finalizers:type_name -> concordium.v2.FinalizerIndex + 123, // 690: concordium.v2.RawTimeoutCertificate.round:type_name -> concordium.v2.Round + 122, // 691: concordium.v2.RawTimeoutCertificate.min_epoch:type_name -> concordium.v2.Epoch + 232, // 692: concordium.v2.RawTimeoutCertificate.qc_rounds_first_epoch:type_name -> concordium.v2.RawFinalizerRound + 232, // 693: concordium.v2.RawTimeoutCertificate.qc_rounds_second_epoch:type_name -> concordium.v2.RawFinalizerRound + 211, // 694: concordium.v2.RawTimeoutCertificate.aggregate_signature:type_name -> concordium.v2.TimeoutSignature + 228, // 695: concordium.v2.PersistentRoundStatus.last_signed_quorum_message:type_name -> concordium.v2.QuorumMessage + 231, // 696: concordium.v2.PersistentRoundStatus.last_signed_timeout_message:type_name -> concordium.v2.TimeoutMessage + 123, // 697: concordium.v2.PersistentRoundStatus.last_baked_round:type_name -> concordium.v2.Round + 233, // 698: concordium.v2.PersistentRoundStatus.latest_timeout:type_name -> concordium.v2.RawTimeoutCertificate + 233, // 699: concordium.v2.RoundTimeout.timeout_certificate:type_name -> concordium.v2.RawTimeoutCertificate + 229, // 700: concordium.v2.RoundTimeout.quorum_certificate:type_name -> concordium.v2.RawQuorumCertificate + 229, // 701: concordium.v2.RawFinalizationEntry.finalized_qc:type_name -> concordium.v2.RawQuorumCertificate + 229, // 702: concordium.v2.RawFinalizationEntry.successor_qc:type_name -> concordium.v2.RawQuorumCertificate + 213, // 703: concordium.v2.RawFinalizationEntry.successor_proof:type_name -> concordium.v2.SuccessorProof + 123, // 704: concordium.v2.RoundStatus.current_round:type_name -> concordium.v2.Round + 229, // 705: concordium.v2.RoundStatus.highest_certified_block:type_name -> concordium.v2.RawQuorumCertificate + 235, // 706: concordium.v2.RoundStatus.previous_round_timeout:type_name -> concordium.v2.RoundTimeout + 122, // 707: concordium.v2.RoundStatus.current_epoch:type_name -> concordium.v2.Epoch + 236, // 708: concordium.v2.RoundStatus.last_epoch_finalization_entry:type_name -> concordium.v2.RawFinalizationEntry + 82, // 709: concordium.v2.RoundStatus.current_timeout:type_name -> concordium.v2.Duration + 10, // 710: concordium.v2.BlockTableSummary.live_blocks:type_name -> concordium.v2.BlockHash + 10, // 711: concordium.v2.BranchBlocks.blocks_at_branch_height:type_name -> concordium.v2.BlockHash + 123, // 712: concordium.v2.RoundExistingBlock.round:type_name -> concordium.v2.Round + 16, // 713: concordium.v2.RoundExistingBlock.baker:type_name -> concordium.v2.BakerId + 10, // 714: concordium.v2.RoundExistingBlock.block:type_name -> concordium.v2.BlockHash + 123, // 715: concordium.v2.RoundExistingQC.round:type_name -> concordium.v2.Round + 122, // 716: concordium.v2.RoundExistingQC.epoch:type_name -> concordium.v2.Epoch + 16, // 717: concordium.v2.FullBakerInfo.baker_identity:type_name -> concordium.v2.BakerId + 27, // 718: concordium.v2.FullBakerInfo.election_verify_key:type_name -> concordium.v2.BakerElectionVerifyKey + 28, // 719: concordium.v2.FullBakerInfo.signature_verify_key:type_name -> concordium.v2.BakerSignatureVerifyKey + 29, // 720: concordium.v2.FullBakerInfo.aggregation_verify_key:type_name -> concordium.v2.BakerAggregationVerifyKey + 38, // 721: concordium.v2.FullBakerInfo.stake:type_name -> concordium.v2.Amount + 242, // 722: concordium.v2.BakersAndFinalizers.bakers:type_name -> concordium.v2.FullBakerInfo + 16, // 723: concordium.v2.BakersAndFinalizers.finalizers:type_name -> concordium.v2.BakerId + 38, // 724: concordium.v2.BakersAndFinalizers.baker_total_stake:type_name -> concordium.v2.Amount + 38, // 725: concordium.v2.BakersAndFinalizers.finalizer_total_stake:type_name -> concordium.v2.Amount + 243, // 726: concordium.v2.BakersAndFinalizers.finalization_committee_hash:type_name -> concordium.v2.FinalizationCommitteeHash + 244, // 727: concordium.v2.EpochBakers.previous_epoch_bakers:type_name -> concordium.v2.BakersAndFinalizers + 244, // 728: concordium.v2.EpochBakers.current_epoch_bakers:type_name -> concordium.v2.BakersAndFinalizers + 244, // 729: concordium.v2.EpochBakers.next_epoch_bakers:type_name -> concordium.v2.BakersAndFinalizers + 122, // 730: concordium.v2.EpochBakers.next_payday:type_name -> concordium.v2.Epoch + 122, // 731: concordium.v2.TimeoutMessages.first_epoch:type_name -> concordium.v2.Epoch + 231, // 732: concordium.v2.TimeoutMessages.first_epoch_timeouts:type_name -> concordium.v2.TimeoutMessage + 231, // 733: concordium.v2.TimeoutMessages.second_epoch_timeouts:type_name -> concordium.v2.TimeoutMessage + 10, // 734: concordium.v2.AggregatedSignatures.signed_block:type_name -> concordium.v2.BlockHash + 38, // 735: concordium.v2.AggregatedSignatures.signature_weight:type_name -> concordium.v2.Amount + 208, // 736: concordium.v2.AggregatedSignatures.aggregate_signature:type_name -> concordium.v2.QuorumSignature + 227, // 737: concordium.v2.AggregatedSignatures.signatories:type_name -> concordium.v2.FinalizerIndex + 228, // 738: concordium.v2.QuorumMessages.quorum_messages:type_name -> concordium.v2.QuorumMessage + 247, // 739: concordium.v2.QuorumMessages.aggregated_signatures:type_name -> concordium.v2.AggregatedSignatures + 144, // 740: concordium.v2.ConsensusDetailedStatusQuery.genesis_index:type_name -> concordium.v2.GenesisIndex + 10, // 741: concordium.v2.ConsensusDetailedStatus.genesis_block:type_name -> concordium.v2.BlockHash + 234, // 742: concordium.v2.ConsensusDetailedStatus.persistent_round_status:type_name -> concordium.v2.PersistentRoundStatus + 237, // 743: concordium.v2.ConsensusDetailedStatus.round_status:type_name -> concordium.v2.RoundStatus + 238, // 744: concordium.v2.ConsensusDetailedStatus.block_table:type_name -> concordium.v2.BlockTableSummary + 239, // 745: concordium.v2.ConsensusDetailedStatus.branches:type_name -> concordium.v2.BranchBlocks + 240, // 746: concordium.v2.ConsensusDetailedStatus.round_existing_blocks:type_name -> concordium.v2.RoundExistingBlock + 241, // 747: concordium.v2.ConsensusDetailedStatus.round_existing_qcs:type_name -> concordium.v2.RoundExistingQC + 14, // 748: concordium.v2.ConsensusDetailedStatus.genesis_block_height:type_name -> concordium.v2.AbsoluteBlockHeight + 10, // 749: concordium.v2.ConsensusDetailedStatus.last_finalized_block:type_name -> concordium.v2.BlockHash + 15, // 750: concordium.v2.ConsensusDetailedStatus.last_finalized_block_height:type_name -> concordium.v2.BlockHeight + 236, // 751: concordium.v2.ConsensusDetailedStatus.latest_finalization_entry:type_name -> concordium.v2.RawFinalizationEntry + 245, // 752: concordium.v2.ConsensusDetailedStatus.epoch_bakers:type_name -> concordium.v2.EpochBakers + 246, // 753: concordium.v2.ConsensusDetailedStatus.timeout_messages:type_name -> concordium.v2.TimeoutMessages + 10, // 754: concordium.v2.ConsensusDetailedStatus.terminal_block:type_name -> concordium.v2.BlockHash + 17, // 755: concordium.v2.AccountPending.account_index:type_name -> concordium.v2.AccountIndex + 20, // 756: concordium.v2.AccountPending.first_timestamp:type_name -> concordium.v2.Timestamp + 38, // 757: concordium.v2.StakePendingChange.Reduce.new_stake:type_name -> concordium.v2.Amount + 20, // 758: concordium.v2.StakePendingChange.Reduce.effective_time:type_name -> concordium.v2.Timestamp + 38, // 759: concordium.v2.AccountStakingInfo.Baker.staked_amount:type_name -> concordium.v2.Amount + 30, // 760: concordium.v2.AccountStakingInfo.Baker.baker_info:type_name -> concordium.v2.BakerInfo + 31, // 761: concordium.v2.AccountStakingInfo.Baker.pending_change:type_name -> concordium.v2.StakePendingChange + 34, // 762: concordium.v2.AccountStakingInfo.Baker.pool_info:type_name -> concordium.v2.BakerPoolInfo + 38, // 763: concordium.v2.AccountStakingInfo.Delegator.staked_amount:type_name -> concordium.v2.Amount + 26, // 764: concordium.v2.AccountStakingInfo.Delegator.target:type_name -> concordium.v2.DelegationTarget + 31, // 765: concordium.v2.AccountStakingInfo.Delegator.pending_change:type_name -> concordium.v2.StakePendingChange + 45, // 766: concordium.v2.CredentialPublicKeys.KeysEntry.value:type_name -> concordium.v2.AccountVerifyKey + 54, // 767: concordium.v2.CredentialCommitments.AttributesEntry.value:type_name -> concordium.v2.Commitment + 52, // 768: concordium.v2.NormalCredentialValues.ArDataEntry.value:type_name -> concordium.v2.ChainArData + 57, // 769: concordium.v2.AccountInfo.CredsEntry.value:type_name -> concordium.v2.AccountCredential + 144, // 770: concordium.v2.BlockHashInput.RelativeHeight.genesis_index:type_name -> concordium.v2.GenesisIndex + 15, // 771: concordium.v2.BlockHashInput.RelativeHeight.height:type_name -> concordium.v2.BlockHeight + 144, // 772: concordium.v2.EpochRequest.RelativeEpoch.genesis_index:type_name -> concordium.v2.GenesisIndex + 122, // 773: concordium.v2.EpochRequest.RelativeEpoch.epoch:type_name -> concordium.v2.Epoch + 76, // 774: concordium.v2.InstanceInfo.V0.model:type_name -> concordium.v2.ContractStateV0 + 43, // 775: concordium.v2.InstanceInfo.V0.owner:type_name -> concordium.v2.AccountAddress + 38, // 776: concordium.v2.InstanceInfo.V0.amount:type_name -> concordium.v2.Amount + 73, // 777: concordium.v2.InstanceInfo.V0.methods:type_name -> concordium.v2.ReceiveName + 74, // 778: concordium.v2.InstanceInfo.V0.name:type_name -> concordium.v2.InitName + 18, // 779: concordium.v2.InstanceInfo.V0.source_module:type_name -> concordium.v2.ModuleRef + 43, // 780: concordium.v2.InstanceInfo.V1.owner:type_name -> concordium.v2.AccountAddress + 38, // 781: concordium.v2.InstanceInfo.V1.amount:type_name -> concordium.v2.Amount + 73, // 782: concordium.v2.InstanceInfo.V1.methods:type_name -> concordium.v2.ReceiveName + 74, // 783: concordium.v2.InstanceInfo.V1.name:type_name -> concordium.v2.InitName + 18, // 784: concordium.v2.InstanceInfo.V1.source_module:type_name -> concordium.v2.ModuleRef + 78, // 785: concordium.v2.BlockItemStatus.Committed.outcomes:type_name -> concordium.v2.BlockItemSummaryInBlock + 78, // 786: concordium.v2.BlockItemStatus.Finalized.outcome:type_name -> concordium.v2.BlockItemSummaryInBlock + 18, // 787: concordium.v2.RejectReason.InvalidInitMethod.module_ref:type_name -> concordium.v2.ModuleRef + 74, // 788: concordium.v2.RejectReason.InvalidInitMethod.init_name:type_name -> concordium.v2.InitName + 18, // 789: concordium.v2.RejectReason.InvalidReceiveMethod.module_ref:type_name -> concordium.v2.ModuleRef + 73, // 790: concordium.v2.RejectReason.InvalidReceiveMethod.receive_name:type_name -> concordium.v2.ReceiveName + 44, // 791: concordium.v2.RejectReason.AmountTooLarge.address:type_name -> concordium.v2.Address + 38, // 792: concordium.v2.RejectReason.AmountTooLarge.amount:type_name -> concordium.v2.Amount + 67, // 793: concordium.v2.RejectReason.RejectedReceive.contract_address:type_name -> concordium.v2.ContractAddress + 73, // 794: concordium.v2.RejectReason.RejectedReceive.receive_name:type_name -> concordium.v2.ReceiveName + 75, // 795: concordium.v2.RejectReason.RejectedReceive.parameter:type_name -> concordium.v2.Parameter + 47, // 796: concordium.v2.RejectReason.DuplicateCredIds.ids:type_name -> concordium.v2.CredentialRegistrationId + 47, // 797: concordium.v2.RejectReason.NonExistentCredIds.ids:type_name -> concordium.v2.CredentialRegistrationId + 67, // 798: concordium.v2.ContractTraceElement.Transferred.sender:type_name -> concordium.v2.ContractAddress + 38, // 799: concordium.v2.ContractTraceElement.Transferred.amount:type_name -> concordium.v2.Amount + 43, // 800: concordium.v2.ContractTraceElement.Transferred.receiver:type_name -> concordium.v2.AccountAddress + 67, // 801: concordium.v2.ContractTraceElement.Interrupted.address:type_name -> concordium.v2.ContractAddress + 85, // 802: concordium.v2.ContractTraceElement.Interrupted.events:type_name -> concordium.v2.ContractEvent + 67, // 803: concordium.v2.ContractTraceElement.Resumed.address:type_name -> concordium.v2.ContractAddress + 67, // 804: concordium.v2.ContractTraceElement.Upgraded.address:type_name -> concordium.v2.ContractAddress + 18, // 805: concordium.v2.ContractTraceElement.Upgraded.from:type_name -> concordium.v2.ModuleRef + 18, // 806: concordium.v2.ContractTraceElement.Upgraded.to:type_name -> concordium.v2.ModuleRef + 88, // 807: concordium.v2.BakerEvent.BakerAdded.keys_event:type_name -> concordium.v2.BakerKeysEvent + 38, // 808: concordium.v2.BakerEvent.BakerAdded.stake:type_name -> concordium.v2.Amount + 16, // 809: concordium.v2.BakerEvent.BakerStakeIncreased.baker_id:type_name -> concordium.v2.BakerId + 38, // 810: concordium.v2.BakerEvent.BakerStakeIncreased.new_stake:type_name -> concordium.v2.Amount + 16, // 811: concordium.v2.BakerEvent.BakerStakeDecreased.baker_id:type_name -> concordium.v2.BakerId + 38, // 812: concordium.v2.BakerEvent.BakerStakeDecreased.new_stake:type_name -> concordium.v2.Amount + 16, // 813: concordium.v2.BakerEvent.BakerRestakeEarningsUpdated.baker_id:type_name -> concordium.v2.BakerId + 16, // 814: concordium.v2.BakerEvent.BakerSetOpenStatus.baker_id:type_name -> concordium.v2.BakerId + 0, // 815: concordium.v2.BakerEvent.BakerSetOpenStatus.open_status:type_name -> concordium.v2.OpenStatus + 16, // 816: concordium.v2.BakerEvent.BakerSetMetadataUrl.baker_id:type_name -> concordium.v2.BakerId + 16, // 817: concordium.v2.BakerEvent.BakerSetTransactionFeeCommission.baker_id:type_name -> concordium.v2.BakerId + 32, // 818: concordium.v2.BakerEvent.BakerSetTransactionFeeCommission.transaction_fee_commission:type_name -> concordium.v2.AmountFraction + 16, // 819: concordium.v2.BakerEvent.BakerSetBakingRewardCommission.baker_id:type_name -> concordium.v2.BakerId + 32, // 820: concordium.v2.BakerEvent.BakerSetBakingRewardCommission.baking_reward_commission:type_name -> concordium.v2.AmountFraction + 16, // 821: concordium.v2.BakerEvent.BakerSetFinalizationRewardCommission.baker_id:type_name -> concordium.v2.BakerId + 32, // 822: concordium.v2.BakerEvent.BakerSetFinalizationRewardCommission.finalization_reward_commission:type_name -> concordium.v2.AmountFraction + 96, // 823: concordium.v2.BakerEvent.DelegationRemoved.delegator_id:type_name -> concordium.v2.DelegatorId + 16, // 824: concordium.v2.BakerEvent.BakerSuspended.baker_id:type_name -> concordium.v2.BakerId + 16, // 825: concordium.v2.BakerEvent.BakerResumed.baker_id:type_name -> concordium.v2.BakerId + 96, // 826: concordium.v2.DelegationEvent.DelegationStakeIncreased.delegator_id:type_name -> concordium.v2.DelegatorId + 38, // 827: concordium.v2.DelegationEvent.DelegationStakeIncreased.new_stake:type_name -> concordium.v2.Amount + 96, // 828: concordium.v2.DelegationEvent.DelegationStakeDecreased.delegator_id:type_name -> concordium.v2.DelegatorId + 38, // 829: concordium.v2.DelegationEvent.DelegationStakeDecreased.new_stake:type_name -> concordium.v2.Amount + 96, // 830: concordium.v2.DelegationEvent.DelegationSetRestakeEarnings.delegator_id:type_name -> concordium.v2.DelegatorId + 96, // 831: concordium.v2.DelegationEvent.DelegationSetDelegationTarget.delegator_id:type_name -> concordium.v2.DelegatorId + 26, // 832: concordium.v2.DelegationEvent.DelegationSetDelegationTarget.delegation_target:type_name -> concordium.v2.DelegationTarget + 16, // 833: concordium.v2.DelegationEvent.BakerRemoved.baker_id:type_name -> concordium.v2.BakerId + 4, // 834: concordium.v2.AccountTransactionEffects.None.transaction_type:type_name -> concordium.v2.TransactionType + 83, // 835: concordium.v2.AccountTransactionEffects.None.reject_reason:type_name -> concordium.v2.RejectReason + 87, // 836: concordium.v2.AccountTransactionEffects.ContractUpdateIssued.effects:type_name -> concordium.v2.ContractTraceElement + 38, // 837: concordium.v2.AccountTransactionEffects.AccountTransfer.amount:type_name -> concordium.v2.Amount + 43, // 838: concordium.v2.AccountTransactionEffects.AccountTransfer.receiver:type_name -> concordium.v2.AccountAddress + 89, // 839: concordium.v2.AccountTransactionEffects.AccountTransfer.memo:type_name -> concordium.v2.Memo + 90, // 840: concordium.v2.AccountTransactionEffects.BakerStakeUpdated.update:type_name -> concordium.v2.BakerStakeUpdatedData + 91, // 841: concordium.v2.AccountTransactionEffects.EncryptedAmountTransferred.removed:type_name -> concordium.v2.EncryptedAmountRemovedEvent + 92, // 842: concordium.v2.AccountTransactionEffects.EncryptedAmountTransferred.added:type_name -> concordium.v2.NewEncryptedAmountEvent + 89, // 843: concordium.v2.AccountTransactionEffects.EncryptedAmountTransferred.memo:type_name -> concordium.v2.Memo + 91, // 844: concordium.v2.AccountTransactionEffects.TransferredToPublic.removed:type_name -> concordium.v2.EncryptedAmountRemovedEvent + 38, // 845: concordium.v2.AccountTransactionEffects.TransferredToPublic.amount:type_name -> concordium.v2.Amount + 43, // 846: concordium.v2.AccountTransactionEffects.TransferredWithSchedule.receiver:type_name -> concordium.v2.AccountAddress + 22, // 847: concordium.v2.AccountTransactionEffects.TransferredWithSchedule.amount:type_name -> concordium.v2.NewRelease + 89, // 848: concordium.v2.AccountTransactionEffects.TransferredWithSchedule.memo:type_name -> concordium.v2.Memo + 47, // 849: concordium.v2.AccountTransactionEffects.CredentialsUpdated.new_cred_ids:type_name -> concordium.v2.CredentialRegistrationId + 47, // 850: concordium.v2.AccountTransactionEffects.CredentialsUpdated.removed_cred_ids:type_name -> concordium.v2.CredentialRegistrationId + 41, // 851: concordium.v2.AccountTransactionEffects.CredentialsUpdated.new_threshold:type_name -> concordium.v2.AccountThreshold + 95, // 852: concordium.v2.AccountTransactionEffects.BakerConfigured.events:type_name -> concordium.v2.BakerEvent + 97, // 853: concordium.v2.AccountTransactionEffects.DelegationConfigured.events:type_name -> concordium.v2.DelegationEvent + 38, // 854: concordium.v2.PoolPendingChange.Reduce.reduced_equity_capital:type_name -> concordium.v2.Amount + 20, // 855: concordium.v2.PoolPendingChange.Reduce.effective_time:type_name -> concordium.v2.Timestamp + 20, // 856: concordium.v2.PoolPendingChange.Remove.effective_time:type_name -> concordium.v2.Timestamp + 14, // 857: concordium.v2.BlocksAtHeightRequest.Absolute.height:type_name -> concordium.v2.AbsoluteBlockHeight + 144, // 858: concordium.v2.BlocksAtHeightRequest.Relative.genesis_index:type_name -> concordium.v2.GenesisIndex + 15, // 859: concordium.v2.BlocksAtHeightRequest.Relative.height:type_name -> concordium.v2.BlockHeight + 38, // 860: concordium.v2.TokenomicsInfo.V0.total_amount:type_name -> concordium.v2.Amount + 38, // 861: concordium.v2.TokenomicsInfo.V0.total_encrypted_amount:type_name -> concordium.v2.Amount + 38, // 862: concordium.v2.TokenomicsInfo.V0.baking_reward_account:type_name -> concordium.v2.Amount + 38, // 863: concordium.v2.TokenomicsInfo.V0.finalization_reward_account:type_name -> concordium.v2.Amount + 38, // 864: concordium.v2.TokenomicsInfo.V0.gas_account:type_name -> concordium.v2.Amount + 5, // 865: concordium.v2.TokenomicsInfo.V0.protocol_version:type_name -> concordium.v2.ProtocolVersion + 38, // 866: concordium.v2.TokenomicsInfo.V1.total_amount:type_name -> concordium.v2.Amount + 38, // 867: concordium.v2.TokenomicsInfo.V1.total_encrypted_amount:type_name -> concordium.v2.Amount + 38, // 868: concordium.v2.TokenomicsInfo.V1.baking_reward_account:type_name -> concordium.v2.Amount + 38, // 869: concordium.v2.TokenomicsInfo.V1.finalization_reward_account:type_name -> concordium.v2.Amount + 38, // 870: concordium.v2.TokenomicsInfo.V1.gas_account:type_name -> concordium.v2.Amount + 38, // 871: concordium.v2.TokenomicsInfo.V1.foundation_transaction_rewards:type_name -> concordium.v2.Amount + 20, // 872: concordium.v2.TokenomicsInfo.V1.next_payday_time:type_name -> concordium.v2.Timestamp + 125, // 873: concordium.v2.TokenomicsInfo.V1.next_payday_mint_rate:type_name -> concordium.v2.MintRate + 38, // 874: concordium.v2.TokenomicsInfo.V1.total_staked_capital:type_name -> concordium.v2.Amount + 5, // 875: concordium.v2.TokenomicsInfo.V1.protocol_version:type_name -> concordium.v2.ProtocolVersion + 79, // 876: concordium.v2.InvokeInstanceResponse.Failure.used_energy:type_name -> concordium.v2.Energy + 83, // 877: concordium.v2.InvokeInstanceResponse.Failure.reason:type_name -> concordium.v2.RejectReason + 79, // 878: concordium.v2.InvokeInstanceResponse.Success.used_energy:type_name -> concordium.v2.Energy + 87, // 879: concordium.v2.InvokeInstanceResponse.Success.effects:type_name -> concordium.v2.ContractTraceElement + 16, // 880: concordium.v2.ElectionInfo.Baker.baker:type_name -> concordium.v2.BakerId + 43, // 881: concordium.v2.ElectionInfo.Baker.account:type_name -> concordium.v2.AccountAddress + 331, // 882: concordium.v2.BlockSpecialEvent.AccountAmounts.entries:type_name -> concordium.v2.BlockSpecialEvent.AccountAmounts.Entry + 320, // 883: concordium.v2.BlockSpecialEvent.BakingRewards.baker_rewards:type_name -> concordium.v2.BlockSpecialEvent.AccountAmounts + 38, // 884: concordium.v2.BlockSpecialEvent.BakingRewards.remainder:type_name -> concordium.v2.Amount + 38, // 885: concordium.v2.BlockSpecialEvent.Mint.mint_baking_reward:type_name -> concordium.v2.Amount + 38, // 886: concordium.v2.BlockSpecialEvent.Mint.mint_finalization_reward:type_name -> concordium.v2.Amount + 38, // 887: concordium.v2.BlockSpecialEvent.Mint.mint_platform_development_charge:type_name -> concordium.v2.Amount + 43, // 888: concordium.v2.BlockSpecialEvent.Mint.foundation_account:type_name -> concordium.v2.AccountAddress + 320, // 889: concordium.v2.BlockSpecialEvent.FinalizationRewards.finalization_rewards:type_name -> concordium.v2.BlockSpecialEvent.AccountAmounts + 38, // 890: concordium.v2.BlockSpecialEvent.FinalizationRewards.remainder:type_name -> concordium.v2.Amount + 38, // 891: concordium.v2.BlockSpecialEvent.BlockReward.transaction_fees:type_name -> concordium.v2.Amount + 38, // 892: concordium.v2.BlockSpecialEvent.BlockReward.old_gas_account:type_name -> concordium.v2.Amount + 38, // 893: concordium.v2.BlockSpecialEvent.BlockReward.new_gas_account:type_name -> concordium.v2.Amount + 38, // 894: concordium.v2.BlockSpecialEvent.BlockReward.baker_reward:type_name -> concordium.v2.Amount + 38, // 895: concordium.v2.BlockSpecialEvent.BlockReward.foundation_charge:type_name -> concordium.v2.Amount + 43, // 896: concordium.v2.BlockSpecialEvent.BlockReward.baker:type_name -> concordium.v2.AccountAddress + 43, // 897: concordium.v2.BlockSpecialEvent.BlockReward.foundation_account:type_name -> concordium.v2.AccountAddress + 43, // 898: concordium.v2.BlockSpecialEvent.PaydayFoundationReward.foundation_account:type_name -> concordium.v2.AccountAddress + 38, // 899: concordium.v2.BlockSpecialEvent.PaydayFoundationReward.development_charge:type_name -> concordium.v2.Amount + 43, // 900: concordium.v2.BlockSpecialEvent.PaydayAccountReward.account:type_name -> concordium.v2.AccountAddress + 38, // 901: concordium.v2.BlockSpecialEvent.PaydayAccountReward.transaction_fees:type_name -> concordium.v2.Amount + 38, // 902: concordium.v2.BlockSpecialEvent.PaydayAccountReward.baker_reward:type_name -> concordium.v2.Amount + 38, // 903: concordium.v2.BlockSpecialEvent.PaydayAccountReward.finalization_reward:type_name -> concordium.v2.Amount + 38, // 904: concordium.v2.BlockSpecialEvent.BlockAccrueReward.transaction_fees:type_name -> concordium.v2.Amount + 38, // 905: concordium.v2.BlockSpecialEvent.BlockAccrueReward.old_gas_account:type_name -> concordium.v2.Amount + 38, // 906: concordium.v2.BlockSpecialEvent.BlockAccrueReward.new_gas_account:type_name -> concordium.v2.Amount + 38, // 907: concordium.v2.BlockSpecialEvent.BlockAccrueReward.baker_reward:type_name -> concordium.v2.Amount + 38, // 908: concordium.v2.BlockSpecialEvent.BlockAccrueReward.passive_reward:type_name -> concordium.v2.Amount + 38, // 909: concordium.v2.BlockSpecialEvent.BlockAccrueReward.foundation_charge:type_name -> concordium.v2.Amount + 16, // 910: concordium.v2.BlockSpecialEvent.BlockAccrueReward.baker:type_name -> concordium.v2.BakerId + 16, // 911: concordium.v2.BlockSpecialEvent.PaydayPoolReward.pool_owner:type_name -> concordium.v2.BakerId + 38, // 912: concordium.v2.BlockSpecialEvent.PaydayPoolReward.transaction_fees:type_name -> concordium.v2.Amount + 38, // 913: concordium.v2.BlockSpecialEvent.PaydayPoolReward.baker_reward:type_name -> concordium.v2.Amount + 38, // 914: concordium.v2.BlockSpecialEvent.PaydayPoolReward.finalization_reward:type_name -> concordium.v2.Amount + 16, // 915: concordium.v2.BlockSpecialEvent.ValidatorSuspended.bakerId:type_name -> concordium.v2.BakerId + 43, // 916: concordium.v2.BlockSpecialEvent.ValidatorSuspended.account:type_name -> concordium.v2.AccountAddress + 16, // 917: concordium.v2.BlockSpecialEvent.ValidatorPrimedForSuspension.bakerId:type_name -> concordium.v2.BakerId + 43, // 918: concordium.v2.BlockSpecialEvent.ValidatorPrimedForSuspension.account:type_name -> concordium.v2.AccountAddress + 43, // 919: concordium.v2.BlockSpecialEvent.AccountAmounts.Entry.account:type_name -> concordium.v2.AccountAddress + 38, // 920: concordium.v2.BlockSpecialEvent.AccountAmounts.Entry.amount:type_name -> concordium.v2.Amount + 171, // 921: concordium.v2.PeersInfo.Peer.peer_id:type_name -> concordium.v2.PeerId + 170, // 922: concordium.v2.PeersInfo.Peer.socket_address:type_name -> concordium.v2.IpSocketAddress + 333, // 923: concordium.v2.PeersInfo.Peer.network_stats:type_name -> concordium.v2.PeersInfo.Peer.NetworkStats + 9, // 924: concordium.v2.PeersInfo.Peer.bootstrapper:type_name -> concordium.v2.Empty + 7, // 925: concordium.v2.PeersInfo.Peer.node_catchup_status:type_name -> concordium.v2.PeersInfo.Peer.CatchupStatus + 171, // 926: concordium.v2.NodeInfo.NetworkInfo.node_id:type_name -> concordium.v2.PeerId + 16, // 927: concordium.v2.NodeInfo.BakerConsensusInfo.baker_id:type_name -> concordium.v2.BakerId + 8, // 928: concordium.v2.NodeInfo.BakerConsensusInfo.passive_committee_info:type_name -> concordium.v2.NodeInfo.BakerConsensusInfo.PassiveCommitteeInfo + 337, // 929: concordium.v2.NodeInfo.BakerConsensusInfo.active_baker_committee_info:type_name -> concordium.v2.NodeInfo.BakerConsensusInfo.ActiveBakerCommitteeInfo + 338, // 930: concordium.v2.NodeInfo.BakerConsensusInfo.active_finalizer_committee_info:type_name -> concordium.v2.NodeInfo.BakerConsensusInfo.ActiveFinalizerCommitteeInfo + 9, // 931: concordium.v2.NodeInfo.Node.not_running:type_name -> concordium.v2.Empty + 9, // 932: concordium.v2.NodeInfo.Node.passive:type_name -> concordium.v2.Empty + 335, // 933: concordium.v2.NodeInfo.Node.active:type_name -> concordium.v2.NodeInfo.BakerConsensusInfo + 180, // 934: concordium.v2.SignatureMap.SignaturesEntry.value:type_name -> concordium.v2.Signature + 180, // 935: concordium.v2.AccountSignatureMap.SignaturesEntry.value:type_name -> concordium.v2.Signature + 182, // 936: concordium.v2.AccountTransactionSignature.SignaturesEntry.value:type_name -> concordium.v2.AccountSignatureMap + 38, // 937: concordium.v2.DryRunErrorResponse.AmountOverLimit.amount_limit:type_name -> concordium.v2.Amount + 38, // 938: concordium.v2.DryRunErrorResponse.BalanceInsufficient.required_amount:type_name -> concordium.v2.Amount + 38, // 939: concordium.v2.DryRunErrorResponse.BalanceInsufficient.available_amount:type_name -> concordium.v2.Amount + 79, // 940: concordium.v2.DryRunErrorResponse.EnergyInsufficient.energy_required:type_name -> concordium.v2.Energy + 79, // 941: concordium.v2.DryRunErrorResponse.InvokeFailure.used_energy:type_name -> concordium.v2.Energy + 83, // 942: concordium.v2.DryRunErrorResponse.InvokeFailure.reason:type_name -> concordium.v2.RejectReason + 20, // 943: concordium.v2.DryRunSuccessResponse.BlockStateLoaded.current_timestamp:type_name -> concordium.v2.Timestamp + 10, // 944: concordium.v2.DryRunSuccessResponse.BlockStateLoaded.block_hash:type_name -> concordium.v2.BlockHash + 5, // 945: concordium.v2.DryRunSuccessResponse.BlockStateLoaded.protocol_version:type_name -> concordium.v2.ProtocolVersion + 79, // 946: concordium.v2.DryRunSuccessResponse.TransactionExecuted.energy_cost:type_name -> concordium.v2.Energy + 139, // 947: concordium.v2.DryRunSuccessResponse.TransactionExecuted.details:type_name -> concordium.v2.AccountTransactionDetails + 79, // 948: concordium.v2.DryRunSuccessResponse.InvokeSuccess.used_energy:type_name -> concordium.v2.Energy + 87, // 949: concordium.v2.DryRunSuccessResponse.InvokeSuccess.effects:type_name -> concordium.v2.ContractTraceElement + 950, // [950:950] is the sub-list for method output_type + 950, // [950:950] is the sub-list for method input_type + 950, // [950:950] is the sub-list for extension type_name + 950, // [950:950] is the sub-list for extension extendee + 0, // [0:950] is the sub-list for field type_name } func init() { file_v2_concordium_types_proto_init() } @@ -29878,3692 +32635,6 @@ func file_v2_concordium_types_proto_init() { if File_v2_concordium_types_proto != nil { return } - if !protoimpl.UnsafeEnabled { - file_v2_concordium_types_proto_msgTypes[0].Exporter = func(v any, i int) any { - switch v := v.(*Empty); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[1].Exporter = func(v any, i int) any { - switch v := v.(*BlockHash); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[2].Exporter = func(v any, i int) any { - switch v := v.(*Sha256Hash); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[3].Exporter = func(v any, i int) any { - switch v := v.(*TransactionHash); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[4].Exporter = func(v any, i int) any { - switch v := v.(*StateHash); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[5].Exporter = func(v any, i int) any { - switch v := v.(*AbsoluteBlockHeight); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[6].Exporter = func(v any, i int) any { - switch v := v.(*BlockHeight); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[7].Exporter = func(v any, i int) any { - switch v := v.(*BakerId); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[8].Exporter = func(v any, i int) any { - switch v := v.(*AccountIndex); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[9].Exporter = func(v any, i int) any { - switch v := v.(*ModuleRef); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[10].Exporter = func(v any, i int) any { - switch v := v.(*VersionedModuleSource); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[11].Exporter = func(v any, i int) any { - switch v := v.(*Timestamp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[12].Exporter = func(v any, i int) any { - switch v := v.(*Release); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[13].Exporter = func(v any, i int) any { - switch v := v.(*NewRelease); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[14].Exporter = func(v any, i int) any { - switch v := v.(*ReleaseSchedule); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[15].Exporter = func(v any, i int) any { - switch v := v.(*EncryptedAmount); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[16].Exporter = func(v any, i int) any { - switch v := v.(*EncryptedBalance); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[17].Exporter = func(v any, i int) any { - switch v := v.(*DelegationTarget); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[18].Exporter = func(v any, i int) any { - switch v := v.(*BakerElectionVerifyKey); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[19].Exporter = func(v any, i int) any { - switch v := v.(*BakerSignatureVerifyKey); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[20].Exporter = func(v any, i int) any { - switch v := v.(*BakerAggregationVerifyKey); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[21].Exporter = func(v any, i int) any { - switch v := v.(*BakerInfo); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[22].Exporter = func(v any, i int) any { - switch v := v.(*StakePendingChange); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[23].Exporter = func(v any, i int) any { - switch v := v.(*AmountFraction); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[24].Exporter = func(v any, i int) any { - switch v := v.(*CommissionRates); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[25].Exporter = func(v any, i int) any { - switch v := v.(*BakerPoolInfo); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[26].Exporter = func(v any, i int) any { - switch v := v.(*AccountStakingInfo); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[27].Exporter = func(v any, i int) any { - switch v := v.(*SequenceNumber); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[28].Exporter = func(v any, i int) any { - switch v := v.(*UpdateSequenceNumber); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[29].Exporter = func(v any, i int) any { - switch v := v.(*Amount); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[30].Exporter = func(v any, i int) any { - switch v := v.(*CredentialIndex); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[31].Exporter = func(v any, i int) any { - switch v := v.(*SignatureThreshold); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[32].Exporter = func(v any, i int) any { - switch v := v.(*AccountThreshold); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[33].Exporter = func(v any, i int) any { - switch v := v.(*EncryptionKey); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[34].Exporter = func(v any, i int) any { - switch v := v.(*AccountAddress); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[35].Exporter = func(v any, i int) any { - switch v := v.(*Address); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[36].Exporter = func(v any, i int) any { - switch v := v.(*AccountVerifyKey); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[37].Exporter = func(v any, i int) any { - switch v := v.(*CredentialPublicKeys); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[38].Exporter = func(v any, i int) any { - switch v := v.(*CredentialRegistrationId); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[39].Exporter = func(v any, i int) any { - switch v := v.(*IdentityProviderIdentity); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[40].Exporter = func(v any, i int) any { - switch v := v.(*YearMonth); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[41].Exporter = func(v any, i int) any { - switch v := v.(*Policy); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[42].Exporter = func(v any, i int) any { - switch v := v.(*InitialCredentialValues); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[43].Exporter = func(v any, i int) any { - switch v := v.(*ChainArData); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[44].Exporter = func(v any, i int) any { - switch v := v.(*ArThreshold); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[45].Exporter = func(v any, i int) any { - switch v := v.(*Commitment); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[46].Exporter = func(v any, i int) any { - switch v := v.(*CredentialCommitments); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[47].Exporter = func(v any, i int) any { - switch v := v.(*NormalCredentialValues); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[48].Exporter = func(v any, i int) any { - switch v := v.(*AccountCredential); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[49].Exporter = func(v any, i int) any { - switch v := v.(*Cooldown); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[50].Exporter = func(v any, i int) any { - switch v := v.(*AccountInfo); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[51].Exporter = func(v any, i int) any { - switch v := v.(*BlockHashInput); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[52].Exporter = func(v any, i int) any { - switch v := v.(*EpochRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[53].Exporter = func(v any, i int) any { - switch v := v.(*AccountIdentifierInput); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[54].Exporter = func(v any, i int) any { - switch v := v.(*AccountInfoRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[55].Exporter = func(v any, i int) any { - switch v := v.(*FinalizedBlockInfo); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[56].Exporter = func(v any, i int) any { - switch v := v.(*AncestorsRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[57].Exporter = func(v any, i int) any { - switch v := v.(*ModuleSourceRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[58].Exporter = func(v any, i int) any { - switch v := v.(*ContractAddress); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[59].Exporter = func(v any, i int) any { - switch v := v.(*InstanceInfoRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[60].Exporter = func(v any, i int) any { - switch v := v.(*InstanceInfo); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[61].Exporter = func(v any, i int) any { - switch v := v.(*InstanceStateKVPair); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[62].Exporter = func(v any, i int) any { - switch v := v.(*InstanceStateLookupRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[63].Exporter = func(v any, i int) any { - switch v := v.(*InstanceStateValueAtKey); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[64].Exporter = func(v any, i int) any { - switch v := v.(*ReceiveName); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[65].Exporter = func(v any, i int) any { - switch v := v.(*InitName); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[66].Exporter = func(v any, i int) any { - switch v := v.(*Parameter); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[67].Exporter = func(v any, i int) any { - switch v := v.(*ContractStateV0); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[68].Exporter = func(v any, i int) any { - switch v := v.(*BlockItemStatus); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[69].Exporter = func(v any, i int) any { - switch v := v.(*BlockItemSummaryInBlock); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[70].Exporter = func(v any, i int) any { - switch v := v.(*Energy); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[71].Exporter = func(v any, i int) any { - switch v := v.(*Slot); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[72].Exporter = func(v any, i int) any { - switch v := v.(*NextAccountSequenceNumber); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[73].Exporter = func(v any, i int) any { - switch v := v.(*Duration); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[74].Exporter = func(v any, i int) any { - switch v := v.(*RejectReason); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[75].Exporter = func(v any, i int) any { - switch v := v.(*ContractInitializedEvent); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[76].Exporter = func(v any, i int) any { - switch v := v.(*ContractEvent); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[77].Exporter = func(v any, i int) any { - switch v := v.(*InstanceUpdatedEvent); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[78].Exporter = func(v any, i int) any { - switch v := v.(*ContractTraceElement); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[79].Exporter = func(v any, i int) any { - switch v := v.(*BakerKeysEvent); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[80].Exporter = func(v any, i int) any { - switch v := v.(*Memo); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[81].Exporter = func(v any, i int) any { - switch v := v.(*BakerStakeUpdatedData); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[82].Exporter = func(v any, i int) any { - switch v := v.(*EncryptedAmountRemovedEvent); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[83].Exporter = func(v any, i int) any { - switch v := v.(*NewEncryptedAmountEvent); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[84].Exporter = func(v any, i int) any { - switch v := v.(*EncryptedSelfAmountAddedEvent); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[85].Exporter = func(v any, i int) any { - switch v := v.(*RegisteredData); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[86].Exporter = func(v any, i int) any { - switch v := v.(*BakerEvent); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[87].Exporter = func(v any, i int) any { - switch v := v.(*DelegatorId); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[88].Exporter = func(v any, i int) any { - switch v := v.(*DelegationEvent); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[89].Exporter = func(v any, i int) any { - switch v := v.(*AccountTransactionEffects); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[90].Exporter = func(v any, i int) any { - switch v := v.(*ElectionDifficulty); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[91].Exporter = func(v any, i int) any { - switch v := v.(*TimeoutParameters); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[92].Exporter = func(v any, i int) any { - switch v := v.(*FinalizationCommitteeParameters); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[93].Exporter = func(v any, i int) any { - switch v := v.(*ConsensusParametersV1); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[94].Exporter = func(v any, i int) any { - switch v := v.(*ExchangeRate); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[95].Exporter = func(v any, i int) any { - switch v := v.(*Ratio); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[96].Exporter = func(v any, i int) any { - switch v := v.(*UpdatePublicKey); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[97].Exporter = func(v any, i int) any { - switch v := v.(*UpdateKeysThreshold); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[98].Exporter = func(v any, i int) any { - switch v := v.(*UpdateKeysIndex); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[99].Exporter = func(v any, i int) any { - switch v := v.(*HigherLevelKeys); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[100].Exporter = func(v any, i int) any { - switch v := v.(*AccessStructure); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[101].Exporter = func(v any, i int) any { - switch v := v.(*AuthorizationsV0); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[102].Exporter = func(v any, i int) any { - switch v := v.(*AuthorizationsV1); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[103].Exporter = func(v any, i int) any { - switch v := v.(*Description); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[104].Exporter = func(v any, i int) any { - switch v := v.(*ArInfo); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[105].Exporter = func(v any, i int) any { - switch v := v.(*IpIdentity); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[106].Exporter = func(v any, i int) any { - switch v := v.(*IpInfo); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[107].Exporter = func(v any, i int) any { - switch v := v.(*DurationSeconds); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[108].Exporter = func(v any, i int) any { - switch v := v.(*InclusiveRangeAmountFraction); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[109].Exporter = func(v any, i int) any { - switch v := v.(*CommissionRanges); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[110].Exporter = func(v any, i int) any { - switch v := v.(*CapitalBound); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[111].Exporter = func(v any, i int) any { - switch v := v.(*LeverageFactor); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[112].Exporter = func(v any, i int) any { - switch v := v.(*Epoch); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[113].Exporter = func(v any, i int) any { - switch v := v.(*Round); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[114].Exporter = func(v any, i int) any { - switch v := v.(*RewardPeriodLength); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[115].Exporter = func(v any, i int) any { - switch v := v.(*MintRate); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[116].Exporter = func(v any, i int) any { - switch v := v.(*CooldownParametersCpv1); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[117].Exporter = func(v any, i int) any { - switch v := v.(*PoolParametersCpv1); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[118].Exporter = func(v any, i int) any { - switch v := v.(*TimeParametersCpv1); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[119].Exporter = func(v any, i int) any { - switch v := v.(*MintDistributionCpv1); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[120].Exporter = func(v any, i int) any { - switch v := v.(*ProtocolUpdate); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[121].Exporter = func(v any, i int) any { - switch v := v.(*MintDistributionCpv0); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[122].Exporter = func(v any, i int) any { - switch v := v.(*TransactionFeeDistribution); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[123].Exporter = func(v any, i int) any { - switch v := v.(*GasRewards); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[124].Exporter = func(v any, i int) any { - switch v := v.(*GasRewardsCpv2); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[125].Exporter = func(v any, i int) any { - switch v := v.(*BakerStakeThreshold); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[126].Exporter = func(v any, i int) any { - switch v := v.(*RootUpdate); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[127].Exporter = func(v any, i int) any { - switch v := v.(*Level1Update); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[128].Exporter = func(v any, i int) any { - switch v := v.(*UpdatePayload); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[129].Exporter = func(v any, i int) any { - switch v := v.(*AccountTransactionDetails); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[130].Exporter = func(v any, i int) any { - switch v := v.(*AccountCreationDetails); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[131].Exporter = func(v any, i int) any { - switch v := v.(*TransactionTime); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[132].Exporter = func(v any, i int) any { - switch v := v.(*UpdateDetails); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[133].Exporter = func(v any, i int) any { - switch v := v.(*BlockItemSummary); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[134].Exporter = func(v any, i int) any { - switch v := v.(*GenesisIndex); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[135].Exporter = func(v any, i int) any { - switch v := v.(*ConsensusInfo); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[136].Exporter = func(v any, i int) any { - switch v := v.(*ArrivedBlockInfo); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[137].Exporter = func(v any, i int) any { - switch v := v.(*CryptographicParameters); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[138].Exporter = func(v any, i int) any { - switch v := v.(*BlockInfo); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[139].Exporter = func(v any, i int) any { - switch v := v.(*PoolInfoRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[140].Exporter = func(v any, i int) any { - switch v := v.(*PoolPendingChange); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[141].Exporter = func(v any, i int) any { - switch v := v.(*PoolCurrentPaydayInfo); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[142].Exporter = func(v any, i int) any { - switch v := v.(*PoolInfoResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[143].Exporter = func(v any, i int) any { - switch v := v.(*PassiveDelegationInfo); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[144].Exporter = func(v any, i int) any { - switch v := v.(*BlocksAtHeightRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[145].Exporter = func(v any, i int) any { - switch v := v.(*BlocksAtHeightResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[146].Exporter = func(v any, i int) any { - switch v := v.(*TokenomicsInfo); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[147].Exporter = func(v any, i int) any { - switch v := v.(*InvokeInstanceRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[148].Exporter = func(v any, i int) any { - switch v := v.(*InvokeInstanceResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[149].Exporter = func(v any, i int) any { - switch v := v.(*GetPoolDelegatorsRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[150].Exporter = func(v any, i int) any { - switch v := v.(*DelegatorInfo); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[151].Exporter = func(v any, i int) any { - switch v := v.(*DelegatorRewardPeriodInfo); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[152].Exporter = func(v any, i int) any { - switch v := v.(*Branch); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[153].Exporter = func(v any, i int) any { - switch v := v.(*LeadershipElectionNonce); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[154].Exporter = func(v any, i int) any { - switch v := v.(*ElectionInfo); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[155].Exporter = func(v any, i int) any { - switch v := v.(*BlockSpecialEvent); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[156].Exporter = func(v any, i int) any { - switch v := v.(*PendingUpdate); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[157].Exporter = func(v any, i int) any { - switch v := v.(*NextUpdateSequenceNumbers); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[158].Exporter = func(v any, i int) any { - switch v := v.(*IpAddress); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[159].Exporter = func(v any, i int) any { - switch v := v.(*Port); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[160].Exporter = func(v any, i int) any { - switch v := v.(*IpSocketAddress); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[161].Exporter = func(v any, i int) any { - switch v := v.(*PeerId); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[162].Exporter = func(v any, i int) any { - switch v := v.(*BannedPeer); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[163].Exporter = func(v any, i int) any { - switch v := v.(*BannedPeers); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[164].Exporter = func(v any, i int) any { - switch v := v.(*PeerToBan); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[165].Exporter = func(v any, i int) any { - switch v := v.(*DumpRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[166].Exporter = func(v any, i int) any { - switch v := v.(*PeersInfo); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[167].Exporter = func(v any, i int) any { - switch v := v.(*NodeInfo); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[168].Exporter = func(v any, i int) any { - switch v := v.(*SendBlockItemRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[169].Exporter = func(v any, i int) any { - switch v := v.(*CredentialDeployment); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[170].Exporter = func(v any, i int) any { - switch v := v.(*Signature); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[171].Exporter = func(v any, i int) any { - switch v := v.(*SignatureMap); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[172].Exporter = func(v any, i int) any { - switch v := v.(*AccountSignatureMap); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[173].Exporter = func(v any, i int) any { - switch v := v.(*AccountTransactionSignature); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[174].Exporter = func(v any, i int) any { - switch v := v.(*AccountTransactionHeader); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[175].Exporter = func(v any, i int) any { - switch v := v.(*InitContractPayload); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[176].Exporter = func(v any, i int) any { - switch v := v.(*UpdateContractPayload); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[177].Exporter = func(v any, i int) any { - switch v := v.(*TransferPayload); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[178].Exporter = func(v any, i int) any { - switch v := v.(*TransferWithMemoPayload); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[179].Exporter = func(v any, i int) any { - switch v := v.(*AccountTransactionPayload); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[180].Exporter = func(v any, i int) any { - switch v := v.(*PreAccountTransaction); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[181].Exporter = func(v any, i int) any { - switch v := v.(*AccountTransaction); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[182].Exporter = func(v any, i int) any { - switch v := v.(*UpdateInstructionHeader); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[183].Exporter = func(v any, i int) any { - switch v := v.(*UpdateInstructionPayload); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[184].Exporter = func(v any, i int) any { - switch v := v.(*UpdateInstruction); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[185].Exporter = func(v any, i int) any { - switch v := v.(*AccountTransactionSignHash); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[186].Exporter = func(v any, i int) any { - switch v := v.(*CredentialsPerBlockLimit); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[187].Exporter = func(v any, i int) any { - switch v := v.(*ChainParametersV0); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[188].Exporter = func(v any, i int) any { - switch v := v.(*ChainParametersV1); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[189].Exporter = func(v any, i int) any { - switch v := v.(*ChainParametersV2); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[190].Exporter = func(v any, i int) any { - switch v := v.(*ChainParameters); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[191].Exporter = func(v any, i int) any { - switch v := v.(*FinalizationSummaryParty); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[192].Exporter = func(v any, i int) any { - switch v := v.(*FinalizationIndex); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[193].Exporter = func(v any, i int) any { - switch v := v.(*FinalizationSummary); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[194].Exporter = func(v any, i int) any { - switch v := v.(*BlockFinalizationSummary); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[195].Exporter = func(v any, i int) any { - switch v := v.(*BlockItem); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[196].Exporter = func(v any, i int) any { - switch v := v.(*BakerRewardPeriodInfo); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[197].Exporter = func(v any, i int) any { - switch v := v.(*QuorumSignature); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[198].Exporter = func(v any, i int) any { - switch v := v.(*QuorumCertificate); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[199].Exporter = func(v any, i int) any { - switch v := v.(*FinalizerRound); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[200].Exporter = func(v any, i int) any { - switch v := v.(*TimeoutSignature); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[201].Exporter = func(v any, i int) any { - switch v := v.(*TimeoutCertificate); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[202].Exporter = func(v any, i int) any { - switch v := v.(*SuccessorProof); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[203].Exporter = func(v any, i int) any { - switch v := v.(*EpochFinalizationEntry); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[204].Exporter = func(v any, i int) any { - switch v := v.(*BlockCertificates); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[205].Exporter = func(v any, i int) any { - switch v := v.(*WinningBaker); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[206].Exporter = func(v any, i int) any { - switch v := v.(*DryRunRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[207].Exporter = func(v any, i int) any { - switch v := v.(*DryRunStateQuery); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[208].Exporter = func(v any, i int) any { - switch v := v.(*DryRunInvokeInstance); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[209].Exporter = func(v any, i int) any { - switch v := v.(*DryRunStateOperation); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[210].Exporter = func(v any, i int) any { - switch v := v.(*DryRunMintToAccount); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[211].Exporter = func(v any, i int) any { - switch v := v.(*DryRunTransaction); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[212].Exporter = func(v any, i int) any { - switch v := v.(*DryRunSignature); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[213].Exporter = func(v any, i int) any { - switch v := v.(*DryRunResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[214].Exporter = func(v any, i int) any { - switch v := v.(*DryRunErrorResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[215].Exporter = func(v any, i int) any { - switch v := v.(*DryRunSuccessResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[216].Exporter = func(v any, i int) any { - switch v := v.(*VersionedModuleSource_ModuleSourceV0); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[217].Exporter = func(v any, i int) any { - switch v := v.(*VersionedModuleSource_ModuleSourceV1); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[218].Exporter = func(v any, i int) any { - switch v := v.(*StakePendingChange_Reduce); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[219].Exporter = func(v any, i int) any { - switch v := v.(*AccountStakingInfo_Baker); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[220].Exporter = func(v any, i int) any { - switch v := v.(*AccountStakingInfo_Delegator); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[226].Exporter = func(v any, i int) any { - switch v := v.(*BlockHashInput_RelativeHeight); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[227].Exporter = func(v any, i int) any { - switch v := v.(*EpochRequest_RelativeEpoch); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[228].Exporter = func(v any, i int) any { - switch v := v.(*InstanceInfo_V0); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[229].Exporter = func(v any, i int) any { - switch v := v.(*InstanceInfo_V1); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[230].Exporter = func(v any, i int) any { - switch v := v.(*BlockItemStatus_Committed); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[231].Exporter = func(v any, i int) any { - switch v := v.(*BlockItemStatus_Finalized); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[232].Exporter = func(v any, i int) any { - switch v := v.(*RejectReason_InvalidInitMethod); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[233].Exporter = func(v any, i int) any { - switch v := v.(*RejectReason_InvalidReceiveMethod); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[234].Exporter = func(v any, i int) any { - switch v := v.(*RejectReason_AmountTooLarge); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[235].Exporter = func(v any, i int) any { - switch v := v.(*RejectReason_RejectedInit); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[236].Exporter = func(v any, i int) any { - switch v := v.(*RejectReason_RejectedReceive); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[237].Exporter = func(v any, i int) any { - switch v := v.(*RejectReason_DuplicateCredIds); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[238].Exporter = func(v any, i int) any { - switch v := v.(*RejectReason_NonExistentCredIds); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[239].Exporter = func(v any, i int) any { - switch v := v.(*ContractTraceElement_Transferred); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[240].Exporter = func(v any, i int) any { - switch v := v.(*ContractTraceElement_Interrupted); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[241].Exporter = func(v any, i int) any { - switch v := v.(*ContractTraceElement_Resumed); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[242].Exporter = func(v any, i int) any { - switch v := v.(*ContractTraceElement_Upgraded); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[243].Exporter = func(v any, i int) any { - switch v := v.(*BakerEvent_BakerAdded); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[244].Exporter = func(v any, i int) any { - switch v := v.(*BakerEvent_BakerStakeIncreased); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[245].Exporter = func(v any, i int) any { - switch v := v.(*BakerEvent_BakerStakeDecreased); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[246].Exporter = func(v any, i int) any { - switch v := v.(*BakerEvent_BakerRestakeEarningsUpdated); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[247].Exporter = func(v any, i int) any { - switch v := v.(*BakerEvent_BakerSetOpenStatus); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[248].Exporter = func(v any, i int) any { - switch v := v.(*BakerEvent_BakerSetMetadataUrl); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[249].Exporter = func(v any, i int) any { - switch v := v.(*BakerEvent_BakerSetTransactionFeeCommission); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[250].Exporter = func(v any, i int) any { - switch v := v.(*BakerEvent_BakerSetBakingRewardCommission); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[251].Exporter = func(v any, i int) any { - switch v := v.(*BakerEvent_BakerSetFinalizationRewardCommission); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[252].Exporter = func(v any, i int) any { - switch v := v.(*BakerEvent_DelegationRemoved); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[253].Exporter = func(v any, i int) any { - switch v := v.(*DelegationEvent_DelegationStakeIncreased); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[254].Exporter = func(v any, i int) any { - switch v := v.(*DelegationEvent_DelegationStakeDecreased); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[255].Exporter = func(v any, i int) any { - switch v := v.(*DelegationEvent_DelegationSetRestakeEarnings); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[256].Exporter = func(v any, i int) any { - switch v := v.(*DelegationEvent_DelegationSetDelegationTarget); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[257].Exporter = func(v any, i int) any { - switch v := v.(*DelegationEvent_BakerRemoved); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[258].Exporter = func(v any, i int) any { - switch v := v.(*AccountTransactionEffects_None); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[259].Exporter = func(v any, i int) any { - switch v := v.(*AccountTransactionEffects_ContractUpdateIssued); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[260].Exporter = func(v any, i int) any { - switch v := v.(*AccountTransactionEffects_AccountTransfer); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[261].Exporter = func(v any, i int) any { - switch v := v.(*AccountTransactionEffects_BakerStakeUpdated); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[262].Exporter = func(v any, i int) any { - switch v := v.(*AccountTransactionEffects_EncryptedAmountTransferred); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[263].Exporter = func(v any, i int) any { - switch v := v.(*AccountTransactionEffects_TransferredToPublic); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[264].Exporter = func(v any, i int) any { - switch v := v.(*AccountTransactionEffects_TransferredWithSchedule); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[265].Exporter = func(v any, i int) any { - switch v := v.(*AccountTransactionEffects_CredentialsUpdated); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[266].Exporter = func(v any, i int) any { - switch v := v.(*AccountTransactionEffects_BakerConfigured); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[267].Exporter = func(v any, i int) any { - switch v := v.(*AccountTransactionEffects_DelegationConfigured); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[268].Exporter = func(v any, i int) any { - switch v := v.(*ArInfo_ArIdentity); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[269].Exporter = func(v any, i int) any { - switch v := v.(*ArInfo_ArPublicKey); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[270].Exporter = func(v any, i int) any { - switch v := v.(*IpInfo_IpVerifyKey); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[271].Exporter = func(v any, i int) any { - switch v := v.(*IpInfo_IpCdiVerifyKey); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[272].Exporter = func(v any, i int) any { - switch v := v.(*BlockItemSummary_TransactionIndex); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[273].Exporter = func(v any, i int) any { - switch v := v.(*PoolPendingChange_Reduce); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[274].Exporter = func(v any, i int) any { - switch v := v.(*PoolPendingChange_Remove); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[275].Exporter = func(v any, i int) any { - switch v := v.(*BlocksAtHeightRequest_Absolute); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[276].Exporter = func(v any, i int) any { - switch v := v.(*BlocksAtHeightRequest_Relative); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[277].Exporter = func(v any, i int) any { - switch v := v.(*TokenomicsInfo_V0); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[278].Exporter = func(v any, i int) any { - switch v := v.(*TokenomicsInfo_V1); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[279].Exporter = func(v any, i int) any { - switch v := v.(*InvokeInstanceResponse_Failure); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[280].Exporter = func(v any, i int) any { - switch v := v.(*InvokeInstanceResponse_Success); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[281].Exporter = func(v any, i int) any { - switch v := v.(*ElectionInfo_Baker); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[282].Exporter = func(v any, i int) any { - switch v := v.(*BlockSpecialEvent_AccountAmounts); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[283].Exporter = func(v any, i int) any { - switch v := v.(*BlockSpecialEvent_BakingRewards); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[284].Exporter = func(v any, i int) any { - switch v := v.(*BlockSpecialEvent_Mint); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[285].Exporter = func(v any, i int) any { - switch v := v.(*BlockSpecialEvent_FinalizationRewards); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[286].Exporter = func(v any, i int) any { - switch v := v.(*BlockSpecialEvent_BlockReward); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[287].Exporter = func(v any, i int) any { - switch v := v.(*BlockSpecialEvent_PaydayFoundationReward); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[288].Exporter = func(v any, i int) any { - switch v := v.(*BlockSpecialEvent_PaydayAccountReward); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[289].Exporter = func(v any, i int) any { - switch v := v.(*BlockSpecialEvent_BlockAccrueReward); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[290].Exporter = func(v any, i int) any { - switch v := v.(*BlockSpecialEvent_PaydayPoolReward); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[291].Exporter = func(v any, i int) any { - switch v := v.(*BlockSpecialEvent_AccountAmounts_Entry); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[292].Exporter = func(v any, i int) any { - switch v := v.(*PeersInfo_Peer); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[293].Exporter = func(v any, i int) any { - switch v := v.(*PeersInfo_Peer_NetworkStats); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[294].Exporter = func(v any, i int) any { - switch v := v.(*NodeInfo_NetworkInfo); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[295].Exporter = func(v any, i int) any { - switch v := v.(*NodeInfo_BakerConsensusInfo); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[296].Exporter = func(v any, i int) any { - switch v := v.(*NodeInfo_Node); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[297].Exporter = func(v any, i int) any { - switch v := v.(*NodeInfo_BakerConsensusInfo_ActiveBakerCommitteeInfo); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[298].Exporter = func(v any, i int) any { - switch v := v.(*NodeInfo_BakerConsensusInfo_ActiveFinalizerCommitteeInfo); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[302].Exporter = func(v any, i int) any { - switch v := v.(*DryRunErrorResponse_NoState); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[303].Exporter = func(v any, i int) any { - switch v := v.(*DryRunErrorResponse_BlockNotFound); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[304].Exporter = func(v any, i int) any { - switch v := v.(*DryRunErrorResponse_AccountNotFound); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[305].Exporter = func(v any, i int) any { - switch v := v.(*DryRunErrorResponse_InstanceNotFound); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[306].Exporter = func(v any, i int) any { - switch v := v.(*DryRunErrorResponse_AmountOverLimit); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[307].Exporter = func(v any, i int) any { - switch v := v.(*DryRunErrorResponse_BalanceInsufficient); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[308].Exporter = func(v any, i int) any { - switch v := v.(*DryRunErrorResponse_EnergyInsufficient); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[309].Exporter = func(v any, i int) any { - switch v := v.(*DryRunErrorResponse_InvokeFailure); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[310].Exporter = func(v any, i int) any { - switch v := v.(*DryRunSuccessResponse_BlockStateLoaded); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[311].Exporter = func(v any, i int) any { - switch v := v.(*DryRunSuccessResponse_TimestampSet); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[312].Exporter = func(v any, i int) any { - switch v := v.(*DryRunSuccessResponse_MintedToAccount); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[313].Exporter = func(v any, i int) any { - switch v := v.(*DryRunSuccessResponse_TransactionExecuted); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_v2_concordium_types_proto_msgTypes[314].Exporter = func(v any, i int) any { - switch v := v.(*DryRunSuccessResponse_InvokeSuccess); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } file_v2_concordium_types_proto_msgTypes[10].OneofWrappers = []any{ (*VersionedModuleSource_V0)(nil), (*VersionedModuleSource_V1)(nil), @@ -33694,6 +32765,8 @@ func file_v2_concordium_types_proto_init() { (*BakerEvent_BakerSetBakingRewardCommission_)(nil), (*BakerEvent_BakerSetFinalizationRewardCommission_)(nil), (*BakerEvent_DelegationRemoved_)(nil), + (*BakerEvent_BakerSuspended_)(nil), + (*BakerEvent_BakerResumed_)(nil), } file_v2_concordium_types_proto_msgTypes[88].OneofWrappers = []any{ (*DelegationEvent_DelegationStakeIncreased_)(nil), @@ -33725,18 +32798,18 @@ func file_v2_concordium_types_proto_init() { (*AccountTransactionEffects_BakerConfigured_)(nil), (*AccountTransactionEffects_DelegationConfigured_)(nil), } - file_v2_concordium_types_proto_msgTypes[126].OneofWrappers = []any{ + file_v2_concordium_types_proto_msgTypes[127].OneofWrappers = []any{ (*RootUpdate_RootKeysUpdate)(nil), (*RootUpdate_Level_1KeysUpdate)(nil), (*RootUpdate_Level_2KeysUpdateV0)(nil), (*RootUpdate_Level_2KeysUpdateV1)(nil), } - file_v2_concordium_types_proto_msgTypes[127].OneofWrappers = []any{ + file_v2_concordium_types_proto_msgTypes[128].OneofWrappers = []any{ (*Level1Update_Level_1KeysUpdate)(nil), (*Level1Update_Level_2KeysUpdateV0)(nil), (*Level1Update_Level_2KeysUpdateV1)(nil), } - file_v2_concordium_types_proto_msgTypes[128].OneofWrappers = []any{ + file_v2_concordium_types_proto_msgTypes[129].OneofWrappers = []any{ (*UpdatePayload_ProtocolUpdate)(nil), (*UpdatePayload_ElectionDifficultyUpdate)(nil), (*UpdatePayload_EuroPerEnergyUpdate)(nil), @@ -33759,35 +32832,37 @@ func file_v2_concordium_types_proto_init() { (*UpdatePayload_MinBlockTimeUpdate)(nil), (*UpdatePayload_BlockEnergyLimitUpdate)(nil), (*UpdatePayload_FinalizationCommitteeParametersUpdate)(nil), + (*UpdatePayload_ValidatorScoreParametersUpdate)(nil), } - file_v2_concordium_types_proto_msgTypes[133].OneofWrappers = []any{ + file_v2_concordium_types_proto_msgTypes[134].OneofWrappers = []any{ (*BlockItemSummary_AccountTransaction)(nil), (*BlockItemSummary_AccountCreation)(nil), (*BlockItemSummary_Update)(nil), } - file_v2_concordium_types_proto_msgTypes[135].OneofWrappers = []any{} - file_v2_concordium_types_proto_msgTypes[138].OneofWrappers = []any{} - file_v2_concordium_types_proto_msgTypes[140].OneofWrappers = []any{ + file_v2_concordium_types_proto_msgTypes[136].OneofWrappers = []any{} + file_v2_concordium_types_proto_msgTypes[139].OneofWrappers = []any{} + file_v2_concordium_types_proto_msgTypes[141].OneofWrappers = []any{ (*PoolPendingChange_Reduce_)(nil), (*PoolPendingChange_Remove_)(nil), } file_v2_concordium_types_proto_msgTypes[142].OneofWrappers = []any{} - file_v2_concordium_types_proto_msgTypes[144].OneofWrappers = []any{ + file_v2_concordium_types_proto_msgTypes[143].OneofWrappers = []any{} + file_v2_concordium_types_proto_msgTypes[145].OneofWrappers = []any{ (*BlocksAtHeightRequest_Absolute_)(nil), (*BlocksAtHeightRequest_Relative_)(nil), } - file_v2_concordium_types_proto_msgTypes[146].OneofWrappers = []any{ + file_v2_concordium_types_proto_msgTypes[147].OneofWrappers = []any{ (*TokenomicsInfo_V0_)(nil), (*TokenomicsInfo_V1_)(nil), } - file_v2_concordium_types_proto_msgTypes[147].OneofWrappers = []any{} - file_v2_concordium_types_proto_msgTypes[148].OneofWrappers = []any{ + file_v2_concordium_types_proto_msgTypes[148].OneofWrappers = []any{} + file_v2_concordium_types_proto_msgTypes[149].OneofWrappers = []any{ (*InvokeInstanceResponse_Success_)(nil), (*InvokeInstanceResponse_Failure_)(nil), } - file_v2_concordium_types_proto_msgTypes[150].OneofWrappers = []any{} - file_v2_concordium_types_proto_msgTypes[154].OneofWrappers = []any{} - file_v2_concordium_types_proto_msgTypes[155].OneofWrappers = []any{ + file_v2_concordium_types_proto_msgTypes[151].OneofWrappers = []any{} + file_v2_concordium_types_proto_msgTypes[155].OneofWrappers = []any{} + file_v2_concordium_types_proto_msgTypes[156].OneofWrappers = []any{ (*BlockSpecialEvent_BakingRewards_)(nil), (*BlockSpecialEvent_Mint_)(nil), (*BlockSpecialEvent_FinalizationRewards_)(nil), @@ -33796,8 +32871,10 @@ func file_v2_concordium_types_proto_init() { (*BlockSpecialEvent_PaydayAccountReward_)(nil), (*BlockSpecialEvent_BlockAccrueReward_)(nil), (*BlockSpecialEvent_PaydayPoolReward_)(nil), + (*BlockSpecialEvent_ValidatorSuspended_)(nil), + (*BlockSpecialEvent_ValidatorPrimedForSuspension_)(nil), } - file_v2_concordium_types_proto_msgTypes[156].OneofWrappers = []any{ + file_v2_concordium_types_proto_msgTypes[157].OneofWrappers = []any{ (*PendingUpdate_RootKeys)(nil), (*PendingUpdate_Level1Keys)(nil), (*PendingUpdate_Level2KeysCpv_0)(nil), @@ -33822,20 +32899,21 @@ func file_v2_concordium_types_proto_init() { (*PendingUpdate_MinBlockTime)(nil), (*PendingUpdate_BlockEnergyLimit)(nil), (*PendingUpdate_FinalizationCommitteeParameters)(nil), + (*PendingUpdate_ValidatorScoreParameters)(nil), } - file_v2_concordium_types_proto_msgTypes[167].OneofWrappers = []any{ + file_v2_concordium_types_proto_msgTypes[168].OneofWrappers = []any{ (*NodeInfo_Bootstrapper)(nil), (*NodeInfo_Node_)(nil), } - file_v2_concordium_types_proto_msgTypes[168].OneofWrappers = []any{ + file_v2_concordium_types_proto_msgTypes[169].OneofWrappers = []any{ (*SendBlockItemRequest_AccountTransaction)(nil), (*SendBlockItemRequest_CredentialDeployment)(nil), (*SendBlockItemRequest_UpdateInstruction)(nil), } - file_v2_concordium_types_proto_msgTypes[169].OneofWrappers = []any{ + file_v2_concordium_types_proto_msgTypes[170].OneofWrappers = []any{ (*CredentialDeployment_RawPayload)(nil), } - file_v2_concordium_types_proto_msgTypes[179].OneofWrappers = []any{ + file_v2_concordium_types_proto_msgTypes[180].OneofWrappers = []any{ (*AccountTransactionPayload_RawPayload)(nil), (*AccountTransactionPayload_DeployModule)(nil), (*AccountTransactionPayload_InitContract)(nil), @@ -33844,45 +32922,46 @@ func file_v2_concordium_types_proto_init() { (*AccountTransactionPayload_TransferWithMemo)(nil), (*AccountTransactionPayload_RegisterData)(nil), } - file_v2_concordium_types_proto_msgTypes[183].OneofWrappers = []any{ + file_v2_concordium_types_proto_msgTypes[184].OneofWrappers = []any{ (*UpdateInstructionPayload_RawPayload)(nil), } - file_v2_concordium_types_proto_msgTypes[190].OneofWrappers = []any{ + file_v2_concordium_types_proto_msgTypes[192].OneofWrappers = []any{ (*ChainParameters_V0)(nil), (*ChainParameters_V1)(nil), (*ChainParameters_V2)(nil), + (*ChainParameters_V3)(nil), } - file_v2_concordium_types_proto_msgTypes[194].OneofWrappers = []any{ + file_v2_concordium_types_proto_msgTypes[196].OneofWrappers = []any{ (*BlockFinalizationSummary_None)(nil), (*BlockFinalizationSummary_Record)(nil), } - file_v2_concordium_types_proto_msgTypes[195].OneofWrappers = []any{ + file_v2_concordium_types_proto_msgTypes[197].OneofWrappers = []any{ (*BlockItem_AccountTransaction)(nil), (*BlockItem_CredentialDeployment)(nil), (*BlockItem_UpdateInstruction)(nil), } - file_v2_concordium_types_proto_msgTypes[204].OneofWrappers = []any{} - file_v2_concordium_types_proto_msgTypes[206].OneofWrappers = []any{ + file_v2_concordium_types_proto_msgTypes[206].OneofWrappers = []any{} + file_v2_concordium_types_proto_msgTypes[208].OneofWrappers = []any{ (*DryRunRequest_LoadBlockState)(nil), (*DryRunRequest_StateQuery)(nil), (*DryRunRequest_StateOperation)(nil), } - file_v2_concordium_types_proto_msgTypes[207].OneofWrappers = []any{ + file_v2_concordium_types_proto_msgTypes[209].OneofWrappers = []any{ (*DryRunStateQuery_GetAccountInfo)(nil), (*DryRunStateQuery_GetInstanceInfo)(nil), (*DryRunStateQuery_InvokeInstance)(nil), } - file_v2_concordium_types_proto_msgTypes[208].OneofWrappers = []any{} - file_v2_concordium_types_proto_msgTypes[209].OneofWrappers = []any{ + file_v2_concordium_types_proto_msgTypes[210].OneofWrappers = []any{} + file_v2_concordium_types_proto_msgTypes[211].OneofWrappers = []any{ (*DryRunStateOperation_SetTimestamp)(nil), (*DryRunStateOperation_MintToAccount)(nil), (*DryRunStateOperation_RunTransaction)(nil), } - file_v2_concordium_types_proto_msgTypes[213].OneofWrappers = []any{ + file_v2_concordium_types_proto_msgTypes[215].OneofWrappers = []any{ (*DryRunResponse_Error)(nil), (*DryRunResponse_Success)(nil), } - file_v2_concordium_types_proto_msgTypes[214].OneofWrappers = []any{ + file_v2_concordium_types_proto_msgTypes[216].OneofWrappers = []any{ (*DryRunErrorResponse_NoState_)(nil), (*DryRunErrorResponse_BlockNotFound_)(nil), (*DryRunErrorResponse_AccountNotFound_)(nil), @@ -33892,7 +32971,7 @@ func file_v2_concordium_types_proto_init() { (*DryRunErrorResponse_EnergyInsufficient_)(nil), (*DryRunErrorResponse_InvokeFailed)(nil), } - file_v2_concordium_types_proto_msgTypes[215].OneofWrappers = []any{ + file_v2_concordium_types_proto_msgTypes[217].OneofWrappers = []any{ (*DryRunSuccessResponse_BlockStateLoaded_)(nil), (*DryRunSuccessResponse_AccountInfo)(nil), (*DryRunSuccessResponse_InstanceInfo)(nil), @@ -33901,40 +32980,45 @@ func file_v2_concordium_types_proto_init() { (*DryRunSuccessResponse_MintedToAccount_)(nil), (*DryRunSuccessResponse_TransactionExecuted_)(nil), } - file_v2_concordium_types_proto_msgTypes[219].OneofWrappers = []any{} - file_v2_concordium_types_proto_msgTypes[220].OneofWrappers = []any{} - file_v2_concordium_types_proto_msgTypes[258].OneofWrappers = []any{} - file_v2_concordium_types_proto_msgTypes[260].OneofWrappers = []any{} - file_v2_concordium_types_proto_msgTypes[261].OneofWrappers = []any{} - file_v2_concordium_types_proto_msgTypes[262].OneofWrappers = []any{} - file_v2_concordium_types_proto_msgTypes[264].OneofWrappers = []any{} - file_v2_concordium_types_proto_msgTypes[279].OneofWrappers = []any{} - file_v2_concordium_types_proto_msgTypes[280].OneofWrappers = []any{} + file_v2_concordium_types_proto_msgTypes[225].OneofWrappers = []any{} + file_v2_concordium_types_proto_msgTypes[228].OneofWrappers = []any{} + file_v2_concordium_types_proto_msgTypes[236].OneofWrappers = []any{} + file_v2_concordium_types_proto_msgTypes[240].OneofWrappers = []any{} + file_v2_concordium_types_proto_msgTypes[241].OneofWrappers = []any{} + file_v2_concordium_types_proto_msgTypes[246].OneofWrappers = []any{} + file_v2_concordium_types_proto_msgTypes[247].OneofWrappers = []any{} + file_v2_concordium_types_proto_msgTypes[287].OneofWrappers = []any{} + file_v2_concordium_types_proto_msgTypes[289].OneofWrappers = []any{} file_v2_concordium_types_proto_msgTypes[290].OneofWrappers = []any{} - file_v2_concordium_types_proto_msgTypes[292].OneofWrappers = []any{ + file_v2_concordium_types_proto_msgTypes[291].OneofWrappers = []any{} + file_v2_concordium_types_proto_msgTypes[293].OneofWrappers = []any{} + file_v2_concordium_types_proto_msgTypes[308].OneofWrappers = []any{} + file_v2_concordium_types_proto_msgTypes[309].OneofWrappers = []any{} + file_v2_concordium_types_proto_msgTypes[319].OneofWrappers = []any{} + file_v2_concordium_types_proto_msgTypes[323].OneofWrappers = []any{ (*PeersInfo_Peer_Bootstrapper)(nil), (*PeersInfo_Peer_NodeCatchupStatus)(nil), } - file_v2_concordium_types_proto_msgTypes[295].OneofWrappers = []any{ + file_v2_concordium_types_proto_msgTypes[326].OneofWrappers = []any{ (*NodeInfo_BakerConsensusInfo_PassiveCommitteeInfo_)(nil), (*NodeInfo_BakerConsensusInfo_ActiveBakerCommitteeInfo_)(nil), (*NodeInfo_BakerConsensusInfo_ActiveFinalizerCommitteeInfo_)(nil), } - file_v2_concordium_types_proto_msgTypes[296].OneofWrappers = []any{ + file_v2_concordium_types_proto_msgTypes[327].OneofWrappers = []any{ (*NodeInfo_Node_NotRunning)(nil), (*NodeInfo_Node_Passive)(nil), (*NodeInfo_Node_Active)(nil), } - file_v2_concordium_types_proto_msgTypes[309].OneofWrappers = []any{} - file_v2_concordium_types_proto_msgTypes[313].OneofWrappers = []any{} - file_v2_concordium_types_proto_msgTypes[314].OneofWrappers = []any{} + file_v2_concordium_types_proto_msgTypes[340].OneofWrappers = []any{} + file_v2_concordium_types_proto_msgTypes[344].OneofWrappers = []any{} + file_v2_concordium_types_proto_msgTypes[345].OneofWrappers = []any{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_v2_concordium_types_proto_rawDesc, + RawDescriptor: unsafe.Slice(unsafe.StringData(file_v2_concordium_types_proto_rawDesc), len(file_v2_concordium_types_proto_rawDesc)), NumEnums: 9, - NumMessages: 315, + NumMessages: 346, NumExtensions: 0, NumServices: 0, }, @@ -33944,7 +33028,6 @@ func file_v2_concordium_types_proto_init() { MessageInfos: file_v2_concordium_types_proto_msgTypes, }.Build() File_v2_concordium_types_proto = out.File - file_v2_concordium_types_proto_rawDesc = nil file_v2_concordium_types_proto_goTypes = nil file_v2_concordium_types_proto_depIdxs = nil } diff --git a/v2/types.go b/v2/types.go index 9141cc9..285b001 100644 --- a/v2/types.go +++ b/v2/types.go @@ -289,16 +289,28 @@ type BlockHash struct { Value [BlockHashLength]byte } -// BlockHashFromBytes creates a BlockHash from given []byte. Length of given []byte must be excactly 32 bytes. +// BlockHashFromBytes creates a BlockHash from given []byte. Length of given []byte must be exactly 32 bytes. func BlockHashFromBytes(b []byte) (BlockHash, error) { if len(b) != BlockHashLength { - return BlockHash{}, errors.New("BlockHash must be excactly 32 bytes") + return BlockHash{}, errors.New("BlockHash must be exactly 32 bytes") } var blockHash BlockHash copy(blockHash.Value[:], b) return blockHash, nil } +// BlockHashFromHex creates a BlockHash from a hex string. The length of the hex string must be exactly 64 characters. +func BlockHashFromHex(s string) (BlockHash, error) { + if len(s) != BlockHashLength*2 { + return BlockHash{}, errors.New("BlockHash hex string must be exactly 64 characters") + } + bytes, err := hex.DecodeString(s) + if err != nil { + return BlockHash{}, err + } + return BlockHashFromBytes(bytes) +} + // Parses *pb.BlockHash to BlockHash func parseBlockHash(h *pb.BlockHash) (BlockHash, error) { return BlockHashFromBytes(h.Value)