From 4f17206cdba58c50164a2683b0990f80a11bbd24 Mon Sep 17 00:00:00 2001 From: LINCKODE Date: Mon, 17 Jun 2024 14:35:28 +0300 Subject: [PATCH 1/7] Implement endpoint for transaction with additional data. --- protobuff/archive.pb.go | 1380 +++++++++++++++++++--------------- protobuff/archive.pb.gw.go | 189 +++-- protobuff/archive.proto | 46 +- protobuff/archive_grpc.pb.go | 39 +- rpc/rpc_server.go | 29 + 5 files changed, 1018 insertions(+), 665 deletions(-) diff --git a/protobuff/archive.pb.go b/protobuff/archive.pb.go index 432619e..d50aec1 100644 --- a/protobuff/archive.pb.go +++ b/protobuff/archive.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.32.0 -// protoc v4.23.4 +// protoc-gen-go v1.33.0 +// protoc v4.25.3 // source: archive.proto package protobuff @@ -338,6 +338,116 @@ func (x *Transaction) GetTxId() string { return "" } +type GetTransactionDataRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TxId string `protobuf:"bytes,1,opt,name=tx_id,json=txId,proto3" json:"tx_id,omitempty"` +} + +func (x *GetTransactionDataRequest) Reset() { + *x = GetTransactionDataRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_archive_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetTransactionDataRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetTransactionDataRequest) ProtoMessage() {} + +func (x *GetTransactionDataRequest) ProtoReflect() protoreflect.Message { + mi := &file_archive_proto_msgTypes[4] + 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 GetTransactionDataRequest.ProtoReflect.Descriptor instead. +func (*GetTransactionDataRequest) Descriptor() ([]byte, []int) { + return file_archive_proto_rawDescGZIP(), []int{4} +} + +func (x *GetTransactionDataRequest) GetTxId() string { + if x != nil { + return x.TxId + } + return "" +} + +type GetTransactionDataResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Transaction *Transaction `protobuf:"bytes,1,opt,name=transaction,proto3" json:"transaction,omitempty"` + Timestamp uint64 `protobuf:"varint,2,opt,name=timestamp,proto3" json:"timestamp,omitempty"` + MoneyFlew bool `protobuf:"varint,3,opt,name=money_flew,json=moneyFlew,proto3" json:"money_flew,omitempty"` +} + +func (x *GetTransactionDataResponse) Reset() { + *x = GetTransactionDataResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_archive_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetTransactionDataResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetTransactionDataResponse) ProtoMessage() {} + +func (x *GetTransactionDataResponse) ProtoReflect() protoreflect.Message { + mi := &file_archive_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetTransactionDataResponse.ProtoReflect.Descriptor instead. +func (*GetTransactionDataResponse) Descriptor() ([]byte, []int) { + return file_archive_proto_rawDescGZIP(), []int{5} +} + +func (x *GetTransactionDataResponse) GetTransaction() *Transaction { + if x != nil { + return x.Transaction + } + return nil +} + +func (x *GetTransactionDataResponse) GetTimestamp() uint64 { + if x != nil { + return x.Timestamp + } + return 0 +} + +func (x *GetTransactionDataResponse) GetMoneyFlew() bool { + if x != nil { + return x.MoneyFlew + } + return false +} + type TransactionStatus struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -350,7 +460,7 @@ type TransactionStatus struct { func (x *TransactionStatus) Reset() { *x = TransactionStatus{} if protoimpl.UnsafeEnabled { - mi := &file_archive_proto_msgTypes[4] + mi := &file_archive_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -363,7 +473,7 @@ func (x *TransactionStatus) String() string { func (*TransactionStatus) ProtoMessage() {} func (x *TransactionStatus) ProtoReflect() protoreflect.Message { - mi := &file_archive_proto_msgTypes[4] + mi := &file_archive_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -376,7 +486,7 @@ func (x *TransactionStatus) ProtoReflect() protoreflect.Message { // Deprecated: Use TransactionStatus.ProtoReflect.Descriptor instead. func (*TransactionStatus) Descriptor() ([]byte, []int) { - return file_archive_proto_rawDescGZIP(), []int{4} + return file_archive_proto_rawDescGZIP(), []int{6} } func (x *TransactionStatus) GetTxId() string { @@ -404,7 +514,7 @@ type TickTransactionsStatus struct { func (x *TickTransactionsStatus) Reset() { *x = TickTransactionsStatus{} if protoimpl.UnsafeEnabled { - mi := &file_archive_proto_msgTypes[5] + mi := &file_archive_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -417,7 +527,7 @@ func (x *TickTransactionsStatus) String() string { func (*TickTransactionsStatus) ProtoMessage() {} func (x *TickTransactionsStatus) ProtoReflect() protoreflect.Message { - mi := &file_archive_proto_msgTypes[5] + mi := &file_archive_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -430,7 +540,7 @@ func (x *TickTransactionsStatus) ProtoReflect() protoreflect.Message { // Deprecated: Use TickTransactionsStatus.ProtoReflect.Descriptor instead. func (*TickTransactionsStatus) Descriptor() ([]byte, []int) { - return file_archive_proto_rawDescGZIP(), []int{5} + return file_archive_proto_rawDescGZIP(), []int{7} } func (x *TickTransactionsStatus) GetTransactions() []*TransactionStatus { @@ -451,7 +561,7 @@ type NextAvailableTick struct { func (x *NextAvailableTick) Reset() { *x = NextAvailableTick{} if protoimpl.UnsafeEnabled { - mi := &file_archive_proto_msgTypes[6] + mi := &file_archive_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -464,7 +574,7 @@ func (x *NextAvailableTick) String() string { func (*NextAvailableTick) ProtoMessage() {} func (x *NextAvailableTick) ProtoReflect() protoreflect.Message { - mi := &file_archive_proto_msgTypes[6] + mi := &file_archive_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -477,7 +587,7 @@ func (x *NextAvailableTick) ProtoReflect() protoreflect.Message { // Deprecated: Use NextAvailableTick.ProtoReflect.Descriptor instead. func (*NextAvailableTick) Descriptor() ([]byte, []int) { - return file_archive_proto_rawDescGZIP(), []int{6} + return file_archive_proto_rawDescGZIP(), []int{8} } func (x *NextAvailableTick) GetNextTickNumber() uint32 { @@ -498,7 +608,7 @@ type LastProcessedTick struct { func (x *LastProcessedTick) Reset() { *x = LastProcessedTick{} if protoimpl.UnsafeEnabled { - mi := &file_archive_proto_msgTypes[7] + mi := &file_archive_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -511,7 +621,7 @@ func (x *LastProcessedTick) String() string { func (*LastProcessedTick) ProtoMessage() {} func (x *LastProcessedTick) ProtoReflect() protoreflect.Message { - mi := &file_archive_proto_msgTypes[7] + mi := &file_archive_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -524,7 +634,7 @@ func (x *LastProcessedTick) ProtoReflect() protoreflect.Message { // Deprecated: Use LastProcessedTick.ProtoReflect.Descriptor instead. func (*LastProcessedTick) Descriptor() ([]byte, []int) { - return file_archive_proto_rawDescGZIP(), []int{7} + return file_archive_proto_rawDescGZIP(), []int{9} } func (x *LastProcessedTick) GetLastProcessedTick() uint32 { @@ -545,7 +655,7 @@ type GetTransactionRequest struct { func (x *GetTransactionRequest) Reset() { *x = GetTransactionRequest{} if protoimpl.UnsafeEnabled { - mi := &file_archive_proto_msgTypes[8] + mi := &file_archive_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -558,7 +668,7 @@ func (x *GetTransactionRequest) String() string { func (*GetTransactionRequest) ProtoMessage() {} func (x *GetTransactionRequest) ProtoReflect() protoreflect.Message { - mi := &file_archive_proto_msgTypes[8] + mi := &file_archive_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -571,7 +681,7 @@ func (x *GetTransactionRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetTransactionRequest.ProtoReflect.Descriptor instead. func (*GetTransactionRequest) Descriptor() ([]byte, []int) { - return file_archive_proto_rawDescGZIP(), []int{8} + return file_archive_proto_rawDescGZIP(), []int{10} } func (x *GetTransactionRequest) GetTxId() string { @@ -592,7 +702,7 @@ type GetTransactionResponse struct { func (x *GetTransactionResponse) Reset() { *x = GetTransactionResponse{} if protoimpl.UnsafeEnabled { - mi := &file_archive_proto_msgTypes[9] + mi := &file_archive_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -605,7 +715,7 @@ func (x *GetTransactionResponse) String() string { func (*GetTransactionResponse) ProtoMessage() {} func (x *GetTransactionResponse) ProtoReflect() protoreflect.Message { - mi := &file_archive_proto_msgTypes[9] + mi := &file_archive_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -618,7 +728,7 @@ func (x *GetTransactionResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetTransactionResponse.ProtoReflect.Descriptor instead. func (*GetTransactionResponse) Descriptor() ([]byte, []int) { - return file_archive_proto_rawDescGZIP(), []int{9} + return file_archive_proto_rawDescGZIP(), []int{11} } func (x *GetTransactionResponse) GetTransaction() *Transaction { @@ -639,7 +749,7 @@ type GetTransactionStatusRequest struct { func (x *GetTransactionStatusRequest) Reset() { *x = GetTransactionStatusRequest{} if protoimpl.UnsafeEnabled { - mi := &file_archive_proto_msgTypes[10] + mi := &file_archive_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -652,7 +762,7 @@ func (x *GetTransactionStatusRequest) String() string { func (*GetTransactionStatusRequest) ProtoMessage() {} func (x *GetTransactionStatusRequest) ProtoReflect() protoreflect.Message { - mi := &file_archive_proto_msgTypes[10] + mi := &file_archive_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -665,7 +775,7 @@ func (x *GetTransactionStatusRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetTransactionStatusRequest.ProtoReflect.Descriptor instead. func (*GetTransactionStatusRequest) Descriptor() ([]byte, []int) { - return file_archive_proto_rawDescGZIP(), []int{10} + return file_archive_proto_rawDescGZIP(), []int{12} } func (x *GetTransactionStatusRequest) GetTxId() string { @@ -686,7 +796,7 @@ type GetTransactionStatusResponse struct { func (x *GetTransactionStatusResponse) Reset() { *x = GetTransactionStatusResponse{} if protoimpl.UnsafeEnabled { - mi := &file_archive_proto_msgTypes[11] + mi := &file_archive_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -699,7 +809,7 @@ func (x *GetTransactionStatusResponse) String() string { func (*GetTransactionStatusResponse) ProtoMessage() {} func (x *GetTransactionStatusResponse) ProtoReflect() protoreflect.Message { - mi := &file_archive_proto_msgTypes[11] + mi := &file_archive_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -712,7 +822,7 @@ func (x *GetTransactionStatusResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetTransactionStatusResponse.ProtoReflect.Descriptor instead. func (*GetTransactionStatusResponse) Descriptor() ([]byte, []int) { - return file_archive_proto_rawDescGZIP(), []int{11} + return file_archive_proto_rawDescGZIP(), []int{13} } func (x *GetTransactionStatusResponse) GetTransactionStatus() *TransactionStatus { @@ -733,7 +843,7 @@ type GetTickTransactionsRequest struct { func (x *GetTickTransactionsRequest) Reset() { *x = GetTickTransactionsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_archive_proto_msgTypes[12] + mi := &file_archive_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -746,7 +856,7 @@ func (x *GetTickTransactionsRequest) String() string { func (*GetTickTransactionsRequest) ProtoMessage() {} func (x *GetTickTransactionsRequest) ProtoReflect() protoreflect.Message { - mi := &file_archive_proto_msgTypes[12] + mi := &file_archive_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -759,7 +869,7 @@ func (x *GetTickTransactionsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetTickTransactionsRequest.ProtoReflect.Descriptor instead. func (*GetTickTransactionsRequest) Descriptor() ([]byte, []int) { - return file_archive_proto_rawDescGZIP(), []int{12} + return file_archive_proto_rawDescGZIP(), []int{14} } func (x *GetTickTransactionsRequest) GetTickNumber() uint32 { @@ -780,7 +890,7 @@ type GetTickTransactionsResponse struct { func (x *GetTickTransactionsResponse) Reset() { *x = GetTickTransactionsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_archive_proto_msgTypes[13] + mi := &file_archive_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -793,7 +903,7 @@ func (x *GetTickTransactionsResponse) String() string { func (*GetTickTransactionsResponse) ProtoMessage() {} func (x *GetTickTransactionsResponse) ProtoReflect() protoreflect.Message { - mi := &file_archive_proto_msgTypes[13] + mi := &file_archive_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -806,7 +916,7 @@ func (x *GetTickTransactionsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetTickTransactionsResponse.ProtoReflect.Descriptor instead. func (*GetTickTransactionsResponse) Descriptor() ([]byte, []int) { - return file_archive_proto_rawDescGZIP(), []int{13} + return file_archive_proto_rawDescGZIP(), []int{15} } func (x *GetTickTransactionsResponse) GetTransactions() []*Transaction { @@ -827,7 +937,7 @@ type GetTickApprovedTransactionsRequest struct { func (x *GetTickApprovedTransactionsRequest) Reset() { *x = GetTickApprovedTransactionsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_archive_proto_msgTypes[14] + mi := &file_archive_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -840,7 +950,7 @@ func (x *GetTickApprovedTransactionsRequest) String() string { func (*GetTickApprovedTransactionsRequest) ProtoMessage() {} func (x *GetTickApprovedTransactionsRequest) ProtoReflect() protoreflect.Message { - mi := &file_archive_proto_msgTypes[14] + mi := &file_archive_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -853,7 +963,7 @@ func (x *GetTickApprovedTransactionsRequest) ProtoReflect() protoreflect.Message // Deprecated: Use GetTickApprovedTransactionsRequest.ProtoReflect.Descriptor instead. func (*GetTickApprovedTransactionsRequest) Descriptor() ([]byte, []int) { - return file_archive_proto_rawDescGZIP(), []int{14} + return file_archive_proto_rawDescGZIP(), []int{16} } func (x *GetTickApprovedTransactionsRequest) GetTickNumber() uint32 { @@ -874,7 +984,7 @@ type GetTickApprovedTransactionsResponse struct { func (x *GetTickApprovedTransactionsResponse) Reset() { *x = GetTickApprovedTransactionsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_archive_proto_msgTypes[15] + mi := &file_archive_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -887,7 +997,7 @@ func (x *GetTickApprovedTransactionsResponse) String() string { func (*GetTickApprovedTransactionsResponse) ProtoMessage() {} func (x *GetTickApprovedTransactionsResponse) ProtoReflect() protoreflect.Message { - mi := &file_archive_proto_msgTypes[15] + mi := &file_archive_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -900,7 +1010,7 @@ func (x *GetTickApprovedTransactionsResponse) ProtoReflect() protoreflect.Messag // Deprecated: Use GetTickApprovedTransactionsResponse.ProtoReflect.Descriptor instead. func (*GetTickApprovedTransactionsResponse) Descriptor() ([]byte, []int) { - return file_archive_proto_rawDescGZIP(), []int{15} + return file_archive_proto_rawDescGZIP(), []int{17} } func (x *GetTickApprovedTransactionsResponse) GetApprovedTransactions() []*Transaction { @@ -926,7 +1036,7 @@ type QuorumDiff struct { func (x *QuorumDiff) Reset() { *x = QuorumDiff{} if protoimpl.UnsafeEnabled { - mi := &file_archive_proto_msgTypes[16] + mi := &file_archive_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -939,7 +1049,7 @@ func (x *QuorumDiff) String() string { func (*QuorumDiff) ProtoMessage() {} func (x *QuorumDiff) ProtoReflect() protoreflect.Message { - mi := &file_archive_proto_msgTypes[16] + mi := &file_archive_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -952,7 +1062,7 @@ func (x *QuorumDiff) ProtoReflect() protoreflect.Message { // Deprecated: Use QuorumDiff.ProtoReflect.Descriptor instead. func (*QuorumDiff) Descriptor() ([]byte, []int) { - return file_archive_proto_rawDescGZIP(), []int{16} + return file_archive_proto_rawDescGZIP(), []int{18} } func (x *QuorumDiff) GetSaltedResourceTestingDigestHex() string { @@ -1015,7 +1125,7 @@ type QuorumTickStructure struct { func (x *QuorumTickStructure) Reset() { *x = QuorumTickStructure{} if protoimpl.UnsafeEnabled { - mi := &file_archive_proto_msgTypes[17] + mi := &file_archive_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1028,7 +1138,7 @@ func (x *QuorumTickStructure) String() string { func (*QuorumTickStructure) ProtoMessage() {} func (x *QuorumTickStructure) ProtoReflect() protoreflect.Message { - mi := &file_archive_proto_msgTypes[17] + mi := &file_archive_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1041,7 +1151,7 @@ func (x *QuorumTickStructure) ProtoReflect() protoreflect.Message { // Deprecated: Use QuorumTickStructure.ProtoReflect.Descriptor instead. func (*QuorumTickStructure) Descriptor() ([]byte, []int) { - return file_archive_proto_rawDescGZIP(), []int{17} + return file_archive_proto_rawDescGZIP(), []int{19} } func (x *QuorumTickStructure) GetEpoch() uint32 { @@ -1112,7 +1222,7 @@ type SkippedTicksInterval struct { func (x *SkippedTicksInterval) Reset() { *x = SkippedTicksInterval{} if protoimpl.UnsafeEnabled { - mi := &file_archive_proto_msgTypes[18] + mi := &file_archive_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1125,7 +1235,7 @@ func (x *SkippedTicksInterval) String() string { func (*SkippedTicksInterval) ProtoMessage() {} func (x *SkippedTicksInterval) ProtoReflect() protoreflect.Message { - mi := &file_archive_proto_msgTypes[18] + mi := &file_archive_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1138,7 +1248,7 @@ func (x *SkippedTicksInterval) ProtoReflect() protoreflect.Message { // Deprecated: Use SkippedTicksInterval.ProtoReflect.Descriptor instead. func (*SkippedTicksInterval) Descriptor() ([]byte, []int) { - return file_archive_proto_rawDescGZIP(), []int{18} + return file_archive_proto_rawDescGZIP(), []int{20} } func (x *SkippedTicksInterval) GetStartTick() uint32 { @@ -1166,7 +1276,7 @@ type SkippedTicksIntervalList struct { func (x *SkippedTicksIntervalList) Reset() { *x = SkippedTicksIntervalList{} if protoimpl.UnsafeEnabled { - mi := &file_archive_proto_msgTypes[19] + mi := &file_archive_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1179,7 +1289,7 @@ func (x *SkippedTicksIntervalList) String() string { func (*SkippedTicksIntervalList) ProtoMessage() {} func (x *SkippedTicksIntervalList) ProtoReflect() protoreflect.Message { - mi := &file_archive_proto_msgTypes[19] + mi := &file_archive_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1192,7 +1302,7 @@ func (x *SkippedTicksIntervalList) ProtoReflect() protoreflect.Message { // Deprecated: Use SkippedTicksIntervalList.ProtoReflect.Descriptor instead. func (*SkippedTicksIntervalList) Descriptor() ([]byte, []int) { - return file_archive_proto_rawDescGZIP(), []int{19} + return file_archive_proto_rawDescGZIP(), []int{21} } func (x *SkippedTicksIntervalList) GetSkippedTicks() []*SkippedTicksInterval { @@ -1214,7 +1324,7 @@ type QuorumTickData struct { func (x *QuorumTickData) Reset() { *x = QuorumTickData{} if protoimpl.UnsafeEnabled { - mi := &file_archive_proto_msgTypes[20] + mi := &file_archive_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1227,7 +1337,7 @@ func (x *QuorumTickData) String() string { func (*QuorumTickData) ProtoMessage() {} func (x *QuorumTickData) ProtoReflect() protoreflect.Message { - mi := &file_archive_proto_msgTypes[20] + mi := &file_archive_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1240,7 +1350,7 @@ func (x *QuorumTickData) ProtoReflect() protoreflect.Message { // Deprecated: Use QuorumTickData.ProtoReflect.Descriptor instead. func (*QuorumTickData) Descriptor() ([]byte, []int) { - return file_archive_proto_rawDescGZIP(), []int{20} + return file_archive_proto_rawDescGZIP(), []int{22} } func (x *QuorumTickData) GetQuorumTickStructure() *QuorumTickStructure { @@ -1268,7 +1378,7 @@ type GetQuorumTickDataRequest struct { func (x *GetQuorumTickDataRequest) Reset() { *x = GetQuorumTickDataRequest{} if protoimpl.UnsafeEnabled { - mi := &file_archive_proto_msgTypes[21] + mi := &file_archive_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1281,7 +1391,7 @@ func (x *GetQuorumTickDataRequest) String() string { func (*GetQuorumTickDataRequest) ProtoMessage() {} func (x *GetQuorumTickDataRequest) ProtoReflect() protoreflect.Message { - mi := &file_archive_proto_msgTypes[21] + mi := &file_archive_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1294,7 +1404,7 @@ func (x *GetQuorumTickDataRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetQuorumTickDataRequest.ProtoReflect.Descriptor instead. func (*GetQuorumTickDataRequest) Descriptor() ([]byte, []int) { - return file_archive_proto_rawDescGZIP(), []int{21} + return file_archive_proto_rawDescGZIP(), []int{23} } func (x *GetQuorumTickDataRequest) GetTickNumber() uint32 { @@ -1315,7 +1425,7 @@ type GetQuorumTickDataResponse struct { func (x *GetQuorumTickDataResponse) Reset() { *x = GetQuorumTickDataResponse{} if protoimpl.UnsafeEnabled { - mi := &file_archive_proto_msgTypes[22] + mi := &file_archive_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1328,7 +1438,7 @@ func (x *GetQuorumTickDataResponse) String() string { func (*GetQuorumTickDataResponse) ProtoMessage() {} func (x *GetQuorumTickDataResponse) ProtoReflect() protoreflect.Message { - mi := &file_archive_proto_msgTypes[22] + mi := &file_archive_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1341,7 +1451,7 @@ func (x *GetQuorumTickDataResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetQuorumTickDataResponse.ProtoReflect.Descriptor instead. func (*GetQuorumTickDataResponse) Descriptor() ([]byte, []int) { - return file_archive_proto_rawDescGZIP(), []int{22} + return file_archive_proto_rawDescGZIP(), []int{24} } func (x *GetQuorumTickDataResponse) GetQuorumTickData() *QuorumTickData { @@ -1364,7 +1474,7 @@ type Computors struct { func (x *Computors) Reset() { *x = Computors{} if protoimpl.UnsafeEnabled { - mi := &file_archive_proto_msgTypes[23] + mi := &file_archive_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1377,7 +1487,7 @@ func (x *Computors) String() string { func (*Computors) ProtoMessage() {} func (x *Computors) ProtoReflect() protoreflect.Message { - mi := &file_archive_proto_msgTypes[23] + mi := &file_archive_proto_msgTypes[25] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1390,7 +1500,7 @@ func (x *Computors) ProtoReflect() protoreflect.Message { // Deprecated: Use Computors.ProtoReflect.Descriptor instead. func (*Computors) Descriptor() ([]byte, []int) { - return file_archive_proto_rawDescGZIP(), []int{23} + return file_archive_proto_rawDescGZIP(), []int{25} } func (x *Computors) GetEpoch() uint32 { @@ -1425,7 +1535,7 @@ type GetComputorsRequest struct { func (x *GetComputorsRequest) Reset() { *x = GetComputorsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_archive_proto_msgTypes[24] + mi := &file_archive_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1438,7 +1548,7 @@ func (x *GetComputorsRequest) String() string { func (*GetComputorsRequest) ProtoMessage() {} func (x *GetComputorsRequest) ProtoReflect() protoreflect.Message { - mi := &file_archive_proto_msgTypes[24] + mi := &file_archive_proto_msgTypes[26] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1451,7 +1561,7 @@ func (x *GetComputorsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetComputorsRequest.ProtoReflect.Descriptor instead. func (*GetComputorsRequest) Descriptor() ([]byte, []int) { - return file_archive_proto_rawDescGZIP(), []int{24} + return file_archive_proto_rawDescGZIP(), []int{26} } func (x *GetComputorsRequest) GetEpoch() uint32 { @@ -1472,7 +1582,7 @@ type GetComputorsResponse struct { func (x *GetComputorsResponse) Reset() { *x = GetComputorsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_archive_proto_msgTypes[25] + mi := &file_archive_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1485,7 +1595,7 @@ func (x *GetComputorsResponse) String() string { func (*GetComputorsResponse) ProtoMessage() {} func (x *GetComputorsResponse) ProtoReflect() protoreflect.Message { - mi := &file_archive_proto_msgTypes[25] + mi := &file_archive_proto_msgTypes[27] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1498,7 +1608,7 @@ func (x *GetComputorsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetComputorsResponse.ProtoReflect.Descriptor instead. func (*GetComputorsResponse) Descriptor() ([]byte, []int) { - return file_archive_proto_rawDescGZIP(), []int{25} + return file_archive_proto_rawDescGZIP(), []int{27} } func (x *GetComputorsResponse) GetComputors() *Computors { @@ -1521,7 +1631,7 @@ type TransferTransactionsPerTick struct { func (x *TransferTransactionsPerTick) Reset() { *x = TransferTransactionsPerTick{} if protoimpl.UnsafeEnabled { - mi := &file_archive_proto_msgTypes[26] + mi := &file_archive_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1534,7 +1644,7 @@ func (x *TransferTransactionsPerTick) String() string { func (*TransferTransactionsPerTick) ProtoMessage() {} func (x *TransferTransactionsPerTick) ProtoReflect() protoreflect.Message { - mi := &file_archive_proto_msgTypes[26] + mi := &file_archive_proto_msgTypes[28] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1547,7 +1657,7 @@ func (x *TransferTransactionsPerTick) ProtoReflect() protoreflect.Message { // Deprecated: Use TransferTransactionsPerTick.ProtoReflect.Descriptor instead. func (*TransferTransactionsPerTick) Descriptor() ([]byte, []int) { - return file_archive_proto_rawDescGZIP(), []int{26} + return file_archive_proto_rawDescGZIP(), []int{28} } func (x *TransferTransactionsPerTick) GetTickNumber() uint32 { @@ -1583,7 +1693,7 @@ type ProcessedTick struct { func (x *ProcessedTick) Reset() { *x = ProcessedTick{} if protoimpl.UnsafeEnabled { - mi := &file_archive_proto_msgTypes[27] + mi := &file_archive_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1596,7 +1706,7 @@ func (x *ProcessedTick) String() string { func (*ProcessedTick) ProtoMessage() {} func (x *ProcessedTick) ProtoReflect() protoreflect.Message { - mi := &file_archive_proto_msgTypes[27] + mi := &file_archive_proto_msgTypes[29] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1609,7 +1719,7 @@ func (x *ProcessedTick) ProtoReflect() protoreflect.Message { // Deprecated: Use ProcessedTick.ProtoReflect.Descriptor instead. func (*ProcessedTick) Descriptor() ([]byte, []int) { - return file_archive_proto_rawDescGZIP(), []int{27} + return file_archive_proto_rawDescGZIP(), []int{29} } func (x *ProcessedTick) GetTickNumber() uint32 { @@ -1640,7 +1750,7 @@ type GetStatusResponse struct { func (x *GetStatusResponse) Reset() { *x = GetStatusResponse{} if protoimpl.UnsafeEnabled { - mi := &file_archive_proto_msgTypes[28] + mi := &file_archive_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1653,7 +1763,7 @@ func (x *GetStatusResponse) String() string { func (*GetStatusResponse) ProtoMessage() {} func (x *GetStatusResponse) ProtoReflect() protoreflect.Message { - mi := &file_archive_proto_msgTypes[28] + mi := &file_archive_proto_msgTypes[30] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1666,7 +1776,7 @@ func (x *GetStatusResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetStatusResponse.ProtoReflect.Descriptor instead. func (*GetStatusResponse) Descriptor() ([]byte, []int) { - return file_archive_proto_rawDescGZIP(), []int{28} + return file_archive_proto_rawDescGZIP(), []int{30} } func (x *GetStatusResponse) GetLastProcessedTick() *ProcessedTick { @@ -1708,7 +1818,7 @@ type GetHealthCheckResponse struct { func (x *GetHealthCheckResponse) Reset() { *x = GetHealthCheckResponse{} if protoimpl.UnsafeEnabled { - mi := &file_archive_proto_msgTypes[29] + mi := &file_archive_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1721,7 +1831,7 @@ func (x *GetHealthCheckResponse) String() string { func (*GetHealthCheckResponse) ProtoMessage() {} func (x *GetHealthCheckResponse) ProtoReflect() protoreflect.Message { - mi := &file_archive_proto_msgTypes[29] + mi := &file_archive_proto_msgTypes[31] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1734,7 +1844,7 @@ func (x *GetHealthCheckResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetHealthCheckResponse.ProtoReflect.Descriptor instead. func (*GetHealthCheckResponse) Descriptor() ([]byte, []int) { - return file_archive_proto_rawDescGZIP(), []int{29} + return file_archive_proto_rawDescGZIP(), []int{31} } func (x *GetHealthCheckResponse) GetStatus() bool { @@ -1755,7 +1865,7 @@ type GetLatestTickResponse struct { func (x *GetLatestTickResponse) Reset() { *x = GetLatestTickResponse{} if protoimpl.UnsafeEnabled { - mi := &file_archive_proto_msgTypes[30] + mi := &file_archive_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1768,7 +1878,7 @@ func (x *GetLatestTickResponse) String() string { func (*GetLatestTickResponse) ProtoMessage() {} func (x *GetLatestTickResponse) ProtoReflect() protoreflect.Message { - mi := &file_archive_proto_msgTypes[30] + mi := &file_archive_proto_msgTypes[32] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1781,7 +1891,7 @@ func (x *GetLatestTickResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetLatestTickResponse.ProtoReflect.Descriptor instead. func (*GetLatestTickResponse) Descriptor() ([]byte, []int) { - return file_archive_proto_rawDescGZIP(), []int{30} + return file_archive_proto_rawDescGZIP(), []int{32} } func (x *GetLatestTickResponse) GetLatestTick() uint32 { @@ -1804,7 +1914,7 @@ type GetTransferTransactionsPerTickRequest struct { func (x *GetTransferTransactionsPerTickRequest) Reset() { *x = GetTransferTransactionsPerTickRequest{} if protoimpl.UnsafeEnabled { - mi := &file_archive_proto_msgTypes[31] + mi := &file_archive_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1817,7 +1927,7 @@ func (x *GetTransferTransactionsPerTickRequest) String() string { func (*GetTransferTransactionsPerTickRequest) ProtoMessage() {} func (x *GetTransferTransactionsPerTickRequest) ProtoReflect() protoreflect.Message { - mi := &file_archive_proto_msgTypes[31] + mi := &file_archive_proto_msgTypes[33] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1830,7 +1940,7 @@ func (x *GetTransferTransactionsPerTickRequest) ProtoReflect() protoreflect.Mess // Deprecated: Use GetTransferTransactionsPerTickRequest.ProtoReflect.Descriptor instead. func (*GetTransferTransactionsPerTickRequest) Descriptor() ([]byte, []int) { - return file_archive_proto_rawDescGZIP(), []int{31} + return file_archive_proto_rawDescGZIP(), []int{33} } func (x *GetTransferTransactionsPerTickRequest) GetIdentity() string { @@ -1865,7 +1975,7 @@ type GetTransferTransactionsPerTickResponse struct { func (x *GetTransferTransactionsPerTickResponse) Reset() { *x = GetTransferTransactionsPerTickResponse{} if protoimpl.UnsafeEnabled { - mi := &file_archive_proto_msgTypes[32] + mi := &file_archive_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1878,7 +1988,7 @@ func (x *GetTransferTransactionsPerTickResponse) String() string { func (*GetTransferTransactionsPerTickResponse) ProtoMessage() {} func (x *GetTransferTransactionsPerTickResponse) ProtoReflect() protoreflect.Message { - mi := &file_archive_proto_msgTypes[32] + mi := &file_archive_proto_msgTypes[34] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1891,7 +2001,7 @@ func (x *GetTransferTransactionsPerTickResponse) ProtoReflect() protoreflect.Mes // Deprecated: Use GetTransferTransactionsPerTickResponse.ProtoReflect.Descriptor instead. func (*GetTransferTransactionsPerTickResponse) Descriptor() ([]byte, []int) { - return file_archive_proto_rawDescGZIP(), []int{32} + return file_archive_proto_rawDescGZIP(), []int{34} } func (x *GetTransferTransactionsPerTickResponse) GetTransferTransactionsPerTick() []*TransferTransactionsPerTick { @@ -1912,7 +2022,7 @@ type GetChainHashRequest struct { func (x *GetChainHashRequest) Reset() { *x = GetChainHashRequest{} if protoimpl.UnsafeEnabled { - mi := &file_archive_proto_msgTypes[33] + mi := &file_archive_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1925,7 +2035,7 @@ func (x *GetChainHashRequest) String() string { func (*GetChainHashRequest) ProtoMessage() {} func (x *GetChainHashRequest) ProtoReflect() protoreflect.Message { - mi := &file_archive_proto_msgTypes[33] + mi := &file_archive_proto_msgTypes[35] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1938,7 +2048,7 @@ func (x *GetChainHashRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetChainHashRequest.ProtoReflect.Descriptor instead. func (*GetChainHashRequest) Descriptor() ([]byte, []int) { - return file_archive_proto_rawDescGZIP(), []int{33} + return file_archive_proto_rawDescGZIP(), []int{35} } func (x *GetChainHashRequest) GetTickNumber() uint32 { @@ -1959,7 +2069,7 @@ type GetChainHashResponse struct { func (x *GetChainHashResponse) Reset() { *x = GetChainHashResponse{} if protoimpl.UnsafeEnabled { - mi := &file_archive_proto_msgTypes[34] + mi := &file_archive_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1972,7 +2082,7 @@ func (x *GetChainHashResponse) String() string { func (*GetChainHashResponse) ProtoMessage() {} func (x *GetChainHashResponse) ProtoReflect() protoreflect.Message { - mi := &file_archive_proto_msgTypes[34] + mi := &file_archive_proto_msgTypes[36] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1985,7 +2095,7 @@ func (x *GetChainHashResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetChainHashResponse.ProtoReflect.Descriptor instead. func (*GetChainHashResponse) Descriptor() ([]byte, []int) { - return file_archive_proto_rawDescGZIP(), []int{34} + return file_archive_proto_rawDescGZIP(), []int{36} } func (x *GetChainHashResponse) GetHexDigest() string { @@ -2007,7 +2117,7 @@ type ProcessedTickInterval struct { func (x *ProcessedTickInterval) Reset() { *x = ProcessedTickInterval{} if protoimpl.UnsafeEnabled { - mi := &file_archive_proto_msgTypes[35] + mi := &file_archive_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2020,7 +2130,7 @@ func (x *ProcessedTickInterval) String() string { func (*ProcessedTickInterval) ProtoMessage() {} func (x *ProcessedTickInterval) ProtoReflect() protoreflect.Message { - mi := &file_archive_proto_msgTypes[35] + mi := &file_archive_proto_msgTypes[37] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2033,7 +2143,7 @@ func (x *ProcessedTickInterval) ProtoReflect() protoreflect.Message { // Deprecated: Use ProcessedTickInterval.ProtoReflect.Descriptor instead. func (*ProcessedTickInterval) Descriptor() ([]byte, []int) { - return file_archive_proto_rawDescGZIP(), []int{35} + return file_archive_proto_rawDescGZIP(), []int{37} } func (x *ProcessedTickInterval) GetInitialProcessedTick() uint32 { @@ -2062,7 +2172,7 @@ type ProcessedTickIntervalsPerEpoch struct { func (x *ProcessedTickIntervalsPerEpoch) Reset() { *x = ProcessedTickIntervalsPerEpoch{} if protoimpl.UnsafeEnabled { - mi := &file_archive_proto_msgTypes[36] + mi := &file_archive_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2075,7 +2185,7 @@ func (x *ProcessedTickIntervalsPerEpoch) String() string { func (*ProcessedTickIntervalsPerEpoch) ProtoMessage() {} func (x *ProcessedTickIntervalsPerEpoch) ProtoReflect() protoreflect.Message { - mi := &file_archive_proto_msgTypes[36] + mi := &file_archive_proto_msgTypes[38] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2088,7 +2198,7 @@ func (x *ProcessedTickIntervalsPerEpoch) ProtoReflect() protoreflect.Message { // Deprecated: Use ProcessedTickIntervalsPerEpoch.ProtoReflect.Descriptor instead. func (*ProcessedTickIntervalsPerEpoch) Descriptor() ([]byte, []int) { - return file_archive_proto_rawDescGZIP(), []int{36} + return file_archive_proto_rawDescGZIP(), []int{38} } func (x *ProcessedTickIntervalsPerEpoch) GetEpoch() uint32 { @@ -2160,288 +2270,312 @@ var file_archive_proto_rawDesc = []byte{ 0x74, 0x75, 0x72, 0x65, 0x5f, 0x68, 0x65, 0x78, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x48, 0x65, 0x78, 0x12, 0x13, 0x0a, 0x05, 0x74, 0x78, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x78, 0x49, - 0x64, 0x22, 0x46, 0x0a, 0x11, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x13, 0x0a, 0x05, 0x74, 0x78, 0x5f, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x78, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x6d, - 0x6f, 0x6e, 0x65, 0x79, 0x46, 0x6c, 0x65, 0x77, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, - 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x46, 0x6c, 0x65, 0x77, 0x22, 0x6a, 0x0a, 0x16, 0x54, 0x69, 0x63, - 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x12, 0x50, 0x0a, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x71, 0x75, 0x62, 0x69, - 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, - 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x3d, 0x0a, 0x11, 0x4e, 0x65, 0x78, 0x74, 0x41, 0x76, 0x61, - 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x69, 0x63, 0x6b, 0x12, 0x28, 0x0a, 0x10, 0x6e, 0x65, - 0x78, 0x74, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x6e, 0x65, 0x78, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x4e, 0x75, - 0x6d, 0x62, 0x65, 0x72, 0x22, 0x43, 0x0a, 0x11, 0x4c, 0x61, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x63, - 0x65, 0x73, 0x73, 0x65, 0x64, 0x54, 0x69, 0x63, 0x6b, 0x12, 0x2e, 0x0a, 0x13, 0x6c, 0x61, 0x73, - 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x63, 0x6b, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x6c, 0x61, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x63, - 0x65, 0x73, 0x73, 0x65, 0x64, 0x54, 0x69, 0x63, 0x6b, 0x22, 0x2c, 0x0a, 0x15, 0x47, 0x65, 0x74, - 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x13, 0x0a, 0x05, 0x74, 0x78, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x74, 0x78, 0x49, 0x64, 0x22, 0x62, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x54, 0x72, - 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x48, 0x0a, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, - 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, - 0x70, 0x62, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, - 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x32, 0x0a, 0x1b, 0x47, - 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x13, 0x0a, 0x05, 0x74, 0x78, + 0x64, 0x22, 0x30, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x13, + 0x0a, 0x05, 0x74, 0x78, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, + 0x78, 0x49, 0x64, 0x22, 0xa3, 0x01, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x48, 0x0a, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, + 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, + 0x2e, 0x70, 0x62, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, + 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x6f, + 0x6e, 0x65, 0x79, 0x5f, 0x66, 0x6c, 0x65, 0x77, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, + 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x46, 0x6c, 0x65, 0x77, 0x22, 0x46, 0x0a, 0x11, 0x54, 0x72, 0x61, + 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x13, + 0x0a, 0x05, 0x74, 0x78, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, + 0x78, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x46, 0x6c, 0x65, 0x77, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x46, 0x6c, 0x65, + 0x77, 0x22, 0x6a, 0x0a, 0x16, 0x54, 0x69, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x50, 0x0a, 0x0c, 0x74, + 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x2c, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, + 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x54, 0x72, + 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, + 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x3d, 0x0a, + 0x11, 0x4e, 0x65, 0x78, 0x74, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x69, + 0x63, 0x6b, 0x12, 0x28, 0x0a, 0x10, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x5f, + 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x6e, 0x65, + 0x78, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x43, 0x0a, 0x11, + 0x4c, 0x61, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x54, 0x69, 0x63, + 0x6b, 0x12, 0x2e, 0x0a, 0x13, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, + 0x73, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, + 0x6c, 0x61, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x54, 0x69, 0x63, + 0x6b, 0x22, 0x2c, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x13, 0x0a, 0x05, 0x74, 0x78, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x78, 0x49, 0x64, 0x22, - 0x7b, 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x5b, 0x0a, 0x12, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x71, 0x75, - 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, - 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x11, 0x74, 0x72, 0x61, 0x6e, 0x73, - 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x3d, 0x0a, 0x1a, - 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x69, - 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x0a, 0x74, 0x69, 0x63, 0x6b, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x69, 0x0a, 0x1b, 0x47, - 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x0c, 0x74, 0x72, - 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x26, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, - 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x54, 0x72, 0x61, - 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x45, 0x0a, 0x22, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, - 0x6b, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, - 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x0a, 0x74, 0x69, 0x63, 0x6b, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x82, 0x01, - 0x0a, 0x23, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, - 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5b, 0x0a, 0x15, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, - 0x64, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, - 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, - 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x14, 0x61, 0x70, - 0x70, 0x72, 0x6f, 0x76, 0x65, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x22, 0xfb, 0x02, 0x0a, 0x0a, 0x51, 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x44, 0x69, 0x66, - 0x66, 0x12, 0x4a, 0x0a, 0x22, 0x73, 0x61, 0x6c, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x69, 0x67, - 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1e, 0x73, - 0x61, 0x6c, 0x74, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x65, 0x73, - 0x74, 0x69, 0x6e, 0x67, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, 0x48, 0x65, 0x78, 0x12, 0x3b, 0x0a, - 0x1a, 0x73, 0x61, 0x6c, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x74, 0x72, 0x75, 0x6d, - 0x5f, 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x17, 0x73, 0x61, 0x6c, 0x74, 0x65, 0x64, 0x53, 0x70, 0x65, 0x63, 0x74, 0x72, 0x75, - 0x6d, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, 0x48, 0x65, 0x78, 0x12, 0x3b, 0x0a, 0x1a, 0x73, 0x61, - 0x6c, 0x74, 0x65, 0x64, 0x5f, 0x75, 0x6e, 0x69, 0x76, 0x65, 0x72, 0x73, 0x65, 0x5f, 0x64, 0x69, - 0x67, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x17, - 0x73, 0x61, 0x6c, 0x74, 0x65, 0x64, 0x55, 0x6e, 0x69, 0x76, 0x65, 0x72, 0x73, 0x65, 0x44, 0x69, - 0x67, 0x65, 0x73, 0x74, 0x48, 0x65, 0x78, 0x12, 0x3b, 0x0a, 0x1a, 0x73, 0x61, 0x6c, 0x74, 0x65, - 0x64, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x72, 0x5f, 0x64, 0x69, 0x67, 0x65, 0x73, - 0x74, 0x5f, 0x68, 0x65, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x17, 0x73, 0x61, 0x6c, - 0x74, 0x65, 0x64, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x72, 0x44, 0x69, 0x67, 0x65, 0x73, - 0x74, 0x48, 0x65, 0x78, 0x12, 0x45, 0x0a, 0x20, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, - 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x74, 0x78, 0x5f, 0x64, 0x69, - 0x67, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1b, - 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x4e, 0x65, 0x78, 0x74, 0x54, 0x69, 0x63, 0x6b, - 0x54, 0x78, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, 0x48, 0x65, 0x78, 0x12, 0x23, 0x0a, 0x0d, 0x73, - 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x68, 0x65, 0x78, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0c, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x48, 0x65, 0x78, - 0x22, 0x81, 0x03, 0x0a, 0x13, 0x51, 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x54, 0x69, 0x63, 0x6b, 0x53, - 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, - 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x1f, - 0x0a, 0x0b, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x74, 0x69, 0x63, 0x6b, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, - 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x46, 0x0a, - 0x20, 0x70, 0x72, 0x65, 0x76, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, - 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, - 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1c, 0x70, 0x72, 0x65, 0x76, 0x52, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x44, 0x69, 0x67, 0x65, - 0x73, 0x74, 0x48, 0x65, 0x78, 0x12, 0x37, 0x0a, 0x18, 0x70, 0x72, 0x65, 0x76, 0x5f, 0x73, 0x70, - 0x65, 0x63, 0x74, 0x72, 0x75, 0x6d, 0x5f, 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, - 0x78, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x70, 0x72, 0x65, 0x76, 0x53, 0x70, 0x65, - 0x63, 0x74, 0x72, 0x75, 0x6d, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, 0x48, 0x65, 0x78, 0x12, 0x37, - 0x0a, 0x18, 0x70, 0x72, 0x65, 0x76, 0x5f, 0x75, 0x6e, 0x69, 0x76, 0x65, 0x72, 0x73, 0x65, 0x5f, - 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x78, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x15, 0x70, 0x72, 0x65, 0x76, 0x55, 0x6e, 0x69, 0x76, 0x65, 0x72, 0x73, 0x65, 0x44, 0x69, - 0x67, 0x65, 0x73, 0x74, 0x48, 0x65, 0x78, 0x12, 0x37, 0x0a, 0x18, 0x70, 0x72, 0x65, 0x76, 0x5f, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x72, 0x5f, 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x5f, - 0x68, 0x65, 0x78, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x70, 0x72, 0x65, 0x76, 0x43, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x72, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, 0x48, 0x65, 0x78, - 0x12, 0x22, 0x0a, 0x0d, 0x74, 0x78, 0x5f, 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, - 0x78, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x74, 0x78, 0x44, 0x69, 0x67, 0x65, 0x73, - 0x74, 0x48, 0x65, 0x78, 0x22, 0x50, 0x0a, 0x14, 0x53, 0x6b, 0x69, 0x70, 0x70, 0x65, 0x64, 0x54, - 0x69, 0x63, 0x6b, 0x73, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, - 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x12, 0x19, 0x0a, 0x08, 0x65, - 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, - 0x6e, 0x64, 0x54, 0x69, 0x63, 0x6b, 0x22, 0x70, 0x0a, 0x18, 0x53, 0x6b, 0x69, 0x70, 0x70, 0x65, - 0x64, 0x54, 0x69, 0x63, 0x6b, 0x73, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x4c, 0x69, - 0x73, 0x74, 0x12, 0x54, 0x0a, 0x0d, 0x73, 0x6b, 0x69, 0x70, 0x70, 0x65, 0x64, 0x5f, 0x74, 0x69, - 0x63, 0x6b, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x71, 0x75, 0x62, 0x69, - 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, - 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x6b, 0x69, 0x70, 0x70, 0x65, 0x64, 0x54, 0x69, 0x63, - 0x6b, 0x73, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x52, 0x0c, 0x73, 0x6b, 0x69, 0x70, - 0x70, 0x65, 0x64, 0x54, 0x69, 0x63, 0x6b, 0x73, 0x22, 0xe4, 0x02, 0x0a, 0x0e, 0x51, 0x75, 0x6f, - 0x72, 0x75, 0x6d, 0x54, 0x69, 0x63, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x12, 0x62, 0x0a, 0x15, 0x71, - 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x73, 0x74, 0x72, 0x75, 0x63, - 0x74, 0x75, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x71, 0x75, 0x62, - 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, - 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x51, 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x54, 0x69, 0x63, - 0x6b, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x52, 0x13, 0x71, 0x75, 0x6f, 0x72, - 0x75, 0x6d, 0x54, 0x69, 0x63, 0x6b, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x12, - 0x7d, 0x0a, 0x18, 0x71, 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x5f, 0x64, 0x69, 0x66, 0x66, 0x5f, 0x70, - 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x44, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, - 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x51, 0x75, - 0x6f, 0x72, 0x75, 0x6d, 0x54, 0x69, 0x63, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x51, 0x75, 0x6f, - 0x72, 0x75, 0x6d, 0x44, 0x69, 0x66, 0x66, 0x50, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x6f, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x15, 0x71, 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x44, - 0x69, 0x66, 0x66, 0x50, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x6f, 0x72, 0x1a, 0x6f, - 0x0a, 0x1a, 0x51, 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x44, 0x69, 0x66, 0x66, 0x50, 0x65, 0x72, 0x43, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x6f, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, - 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x3b, - 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, - 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, - 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x51, 0x75, 0x6f, 0x72, 0x75, 0x6d, - 0x44, 0x69, 0x66, 0x66, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, - 0x3b, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x51, 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x54, 0x69, 0x63, 0x6b, - 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x74, - 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x0a, 0x74, 0x69, 0x63, 0x6b, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x70, 0x0a, 0x19, - 0x47, 0x65, 0x74, 0x51, 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x54, 0x69, 0x63, 0x6b, 0x44, 0x61, 0x74, - 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x10, 0x71, 0x75, 0x6f, - 0x72, 0x75, 0x6d, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, - 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, - 0x51, 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x54, 0x69, 0x63, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0e, - 0x71, 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x54, 0x69, 0x63, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x22, 0x66, - 0x0a, 0x09, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x65, - 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, - 0x68, 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, - 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, - 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x68, - 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, - 0x75, 0x72, 0x65, 0x48, 0x65, 0x78, 0x22, 0x2b, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, - 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x65, 0x70, - 0x6f, 0x63, 0x68, 0x22, 0x5a, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x6f, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x42, 0x0a, 0x09, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, + 0x62, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x48, 0x0a, 0x0b, 0x74, 0x72, 0x61, + 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, - 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x6f, 0x72, 0x73, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x6f, 0x72, 0x73, 0x22, - 0xa6, 0x01, 0x0a, 0x1b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x54, 0x72, 0x61, 0x6e, - 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x50, 0x65, 0x72, 0x54, 0x69, 0x63, 0x6b, 0x12, - 0x1f, 0x0a, 0x0b, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x74, 0x69, 0x63, 0x6b, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, - 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x4a, 0x0a, 0x0c, - 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, - 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x54, - 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x74, 0x72, 0x61, 0x6e, - 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x46, 0x0a, 0x0d, 0x50, 0x72, 0x6f, 0x63, - 0x65, 0x73, 0x73, 0x65, 0x64, 0x54, 0x69, 0x63, 0x6b, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x69, 0x63, - 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, - 0x74, 0x69, 0x63, 0x6b, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x70, - 0x6f, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, - 0x22, 0xad, 0x04, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x58, 0x0a, 0x13, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x70, - 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, + 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x22, 0x32, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x13, 0x0a, 0x05, 0x74, 0x78, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x74, 0x78, 0x49, 0x64, 0x22, 0x7b, 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x54, 0x72, + 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5b, 0x0a, 0x12, 0x74, 0x72, 0x61, 0x6e, 0x73, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, - 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x54, 0x69, 0x63, 0x6b, 0x52, 0x11, 0x6c, - 0x61, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x54, 0x69, 0x63, 0x6b, - 0x12, 0x90, 0x01, 0x0a, 0x1e, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, - 0x73, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x65, 0x70, - 0x6f, 0x63, 0x68, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4c, 0x2e, 0x71, 0x75, 0x62, 0x69, + 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x52, 0x11, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x22, 0x3d, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x54, + 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, + 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x74, 0x69, 0x63, 0x6b, 0x4e, 0x75, 0x6d, + 0x62, 0x65, 0x72, 0x22, 0x69, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x54, 0x72, + 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, + 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, + 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x45, + 0x0a, 0x22, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, + 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, + 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x74, 0x69, 0x63, 0x6b, 0x4e, + 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x82, 0x01, 0x0a, 0x23, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, + 0x6b, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5b, 0x0a, + 0x15, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x64, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x71, + 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, + 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x14, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x64, 0x54, 0x72, + 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xfb, 0x02, 0x0a, 0x0a, 0x51, + 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x44, 0x69, 0x66, 0x66, 0x12, 0x4a, 0x0a, 0x22, 0x73, 0x61, 0x6c, + 0x74, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x65, 0x73, + 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x78, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1e, 0x73, 0x61, 0x6c, 0x74, 0x65, 0x64, 0x52, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x44, 0x69, 0x67, 0x65, + 0x73, 0x74, 0x48, 0x65, 0x78, 0x12, 0x3b, 0x0a, 0x1a, 0x73, 0x61, 0x6c, 0x74, 0x65, 0x64, 0x5f, + 0x73, 0x70, 0x65, 0x63, 0x74, 0x72, 0x75, 0x6d, 0x5f, 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x5f, + 0x68, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x17, 0x73, 0x61, 0x6c, 0x74, 0x65, + 0x64, 0x53, 0x70, 0x65, 0x63, 0x74, 0x72, 0x75, 0x6d, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, 0x48, + 0x65, 0x78, 0x12, 0x3b, 0x0a, 0x1a, 0x73, 0x61, 0x6c, 0x74, 0x65, 0x64, 0x5f, 0x75, 0x6e, 0x69, + 0x76, 0x65, 0x72, 0x73, 0x65, 0x5f, 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x78, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x17, 0x73, 0x61, 0x6c, 0x74, 0x65, 0x64, 0x55, 0x6e, + 0x69, 0x76, 0x65, 0x72, 0x73, 0x65, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, 0x48, 0x65, 0x78, 0x12, + 0x3b, 0x0a, 0x1a, 0x73, 0x61, 0x6c, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x72, 0x5f, 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x78, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x17, 0x73, 0x61, 0x6c, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x72, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, 0x48, 0x65, 0x78, 0x12, 0x45, 0x0a, 0x20, + 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x74, 0x69, + 0x63, 0x6b, 0x5f, 0x74, 0x78, 0x5f, 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x78, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1b, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, + 0x4e, 0x65, 0x78, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x54, 0x78, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, + 0x48, 0x65, 0x78, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x5f, 0x68, 0x65, 0x78, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x69, 0x67, 0x6e, + 0x61, 0x74, 0x75, 0x72, 0x65, 0x48, 0x65, 0x78, 0x22, 0x81, 0x03, 0x0a, 0x13, 0x51, 0x75, 0x6f, + 0x72, 0x75, 0x6d, 0x54, 0x69, 0x63, 0x6b, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, + 0x12, 0x14, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x6e, + 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x74, 0x69, 0x63, + 0x6b, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x46, 0x0a, 0x20, 0x70, 0x72, 0x65, 0x76, 0x5f, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x64, + 0x69, 0x67, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x1c, 0x70, 0x72, 0x65, 0x76, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x65, 0x73, + 0x74, 0x69, 0x6e, 0x67, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, 0x48, 0x65, 0x78, 0x12, 0x37, 0x0a, + 0x18, 0x70, 0x72, 0x65, 0x76, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x74, 0x72, 0x75, 0x6d, 0x5f, 0x64, + 0x69, 0x67, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x78, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x15, 0x70, 0x72, 0x65, 0x76, 0x53, 0x70, 0x65, 0x63, 0x74, 0x72, 0x75, 0x6d, 0x44, 0x69, 0x67, + 0x65, 0x73, 0x74, 0x48, 0x65, 0x78, 0x12, 0x37, 0x0a, 0x18, 0x70, 0x72, 0x65, 0x76, 0x5f, 0x75, + 0x6e, 0x69, 0x76, 0x65, 0x72, 0x73, 0x65, 0x5f, 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x5f, 0x68, + 0x65, 0x78, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x70, 0x72, 0x65, 0x76, 0x55, 0x6e, + 0x69, 0x76, 0x65, 0x72, 0x73, 0x65, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, 0x48, 0x65, 0x78, 0x12, + 0x37, 0x0a, 0x18, 0x70, 0x72, 0x65, 0x76, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x72, + 0x5f, 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x78, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x15, 0x70, 0x72, 0x65, 0x76, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x72, 0x44, + 0x69, 0x67, 0x65, 0x73, 0x74, 0x48, 0x65, 0x78, 0x12, 0x22, 0x0a, 0x0d, 0x74, 0x78, 0x5f, 0x64, + 0x69, 0x67, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x78, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0b, 0x74, 0x78, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, 0x48, 0x65, 0x78, 0x22, 0x50, 0x0a, 0x14, + 0x53, 0x6b, 0x69, 0x70, 0x70, 0x65, 0x64, 0x54, 0x69, 0x63, 0x6b, 0x73, 0x49, 0x6e, 0x74, 0x65, + 0x72, 0x76, 0x61, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, + 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, + 0x69, 0x63, 0x6b, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x63, 0x6b, 0x22, 0x70, + 0x0a, 0x18, 0x53, 0x6b, 0x69, 0x70, 0x70, 0x65, 0x64, 0x54, 0x69, 0x63, 0x6b, 0x73, 0x49, 0x6e, + 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x54, 0x0a, 0x0d, 0x73, 0x6b, + 0x69, 0x70, 0x70, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x2f, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, + 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x6b, + 0x69, 0x70, 0x70, 0x65, 0x64, 0x54, 0x69, 0x63, 0x6b, 0x73, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, + 0x61, 0x6c, 0x52, 0x0c, 0x73, 0x6b, 0x69, 0x70, 0x70, 0x65, 0x64, 0x54, 0x69, 0x63, 0x6b, 0x73, + 0x22, 0xe4, 0x02, 0x0a, 0x0e, 0x51, 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x54, 0x69, 0x63, 0x6b, 0x44, + 0x61, 0x74, 0x61, 0x12, 0x62, 0x0a, 0x15, 0x71, 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x5f, 0x74, 0x69, + 0x63, 0x6b, 0x5f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, + 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x51, + 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x54, 0x69, 0x63, 0x6b, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, + 0x72, 0x65, 0x52, 0x13, 0x71, 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x54, 0x69, 0x63, 0x6b, 0x53, 0x74, + 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x12, 0x7d, 0x0a, 0x18, 0x71, 0x75, 0x6f, 0x72, 0x75, + 0x6d, 0x5f, 0x64, 0x69, 0x66, 0x66, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, - 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4c, 0x61, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x63, - 0x65, 0x73, 0x73, 0x65, 0x64, 0x54, 0x69, 0x63, 0x6b, 0x73, 0x50, 0x65, 0x72, 0x45, 0x70, 0x6f, - 0x63, 0x68, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x1a, 0x6c, 0x61, 0x73, 0x74, 0x50, 0x72, 0x6f, - 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x54, 0x69, 0x63, 0x6b, 0x73, 0x50, 0x65, 0x72, 0x45, 0x70, - 0x6f, 0x63, 0x68, 0x12, 0x54, 0x0a, 0x0d, 0x73, 0x6b, 0x69, 0x70, 0x70, 0x65, 0x64, 0x5f, 0x74, - 0x69, 0x63, 0x6b, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x71, 0x75, 0x62, - 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, - 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x6b, 0x69, 0x70, 0x70, 0x65, 0x64, 0x54, 0x69, - 0x63, 0x6b, 0x73, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x52, 0x0c, 0x73, 0x6b, 0x69, - 0x70, 0x70, 0x65, 0x64, 0x54, 0x69, 0x63, 0x6b, 0x73, 0x12, 0x85, 0x01, 0x0a, 0x22, 0x70, 0x72, - 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x69, 0x6e, 0x74, - 0x65, 0x72, 0x76, 0x61, 0x6c, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, - 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, - 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, - 0x70, 0x62, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x54, 0x69, 0x63, 0x6b, - 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x73, 0x50, 0x65, 0x72, 0x45, 0x70, 0x6f, 0x63, - 0x68, 0x52, 0x1e, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x54, 0x69, 0x63, 0x6b, - 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x73, 0x50, 0x65, 0x72, 0x45, 0x70, 0x6f, 0x63, - 0x68, 0x1a, 0x4d, 0x0a, 0x1f, 0x4c, 0x61, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, - 0x65, 0x64, 0x54, 0x69, 0x63, 0x6b, 0x73, 0x50, 0x65, 0x72, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x45, + 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x51, 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x54, 0x69, 0x63, 0x6b, + 0x44, 0x61, 0x74, 0x61, 0x2e, 0x51, 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x44, 0x69, 0x66, 0x66, 0x50, + 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x6f, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, + 0x15, 0x71, 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x44, 0x69, 0x66, 0x66, 0x50, 0x65, 0x72, 0x43, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x6f, 0x72, 0x1a, 0x6f, 0x0a, 0x1a, 0x51, 0x75, 0x6f, 0x72, 0x75, 0x6d, + 0x44, 0x69, 0x66, 0x66, 0x50, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x6f, 0x72, 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, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, - 0x22, 0x30, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, - 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x22, 0x38, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x54, - 0x69, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, - 0x61, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x0a, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x22, 0x7d, 0x0a, 0x25, - 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x54, 0x72, 0x61, 0x6e, 0x73, - 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x50, 0x65, 0x72, 0x54, 0x69, 0x63, 0x6b, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, - 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, - 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x63, 0x6b, - 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x63, 0x6b, 0x22, 0xa5, 0x01, 0x0a, 0x26, - 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x54, 0x72, 0x61, 0x6e, 0x73, - 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x50, 0x65, 0x72, 0x54, 0x69, 0x63, 0x6b, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7b, 0x0a, 0x1e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, - 0x65, 0x72, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, - 0x70, 0x65, 0x72, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, + 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x3b, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, + 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, + 0x62, 0x2e, 0x51, 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x44, 0x69, 0x66, 0x66, 0x52, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x3b, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x51, 0x75, + 0x6f, 0x72, 0x75, 0x6d, 0x54, 0x69, 0x63, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, + 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x74, 0x69, 0x63, 0x6b, 0x4e, 0x75, + 0x6d, 0x62, 0x65, 0x72, 0x22, 0x70, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x51, 0x75, 0x6f, 0x72, 0x75, + 0x6d, 0x54, 0x69, 0x63, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x53, 0x0a, 0x10, 0x71, 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x5f, 0x74, 0x69, 0x63, 0x6b, + 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x71, 0x75, + 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, + 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x51, 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x54, 0x69, + 0x63, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0e, 0x71, 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x54, 0x69, + 0x63, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x22, 0x66, 0x0a, 0x09, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x6f, 0x72, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x64, 0x65, + 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x69, + 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x69, 0x67, + 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x68, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0c, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x48, 0x65, 0x78, 0x22, 0x2b, + 0x0a, 0x13, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x22, 0x5a, 0x0a, 0x14, 0x47, + 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x42, 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x6f, 0x72, 0x73, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, + 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, + 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x09, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x6f, 0x72, 0x73, 0x22, 0xa6, 0x01, 0x0a, 0x1b, 0x54, 0x72, 0x61, 0x6e, + 0x73, 0x66, 0x65, 0x72, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x50, 0x65, 0x72, 0x54, 0x69, 0x63, 0x6b, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x69, 0x63, 0x6b, 0x5f, + 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x74, 0x69, + 0x63, 0x6b, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x64, 0x65, 0x6e, + 0x74, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x64, 0x65, 0x6e, + 0x74, 0x69, 0x74, 0x79, 0x12, 0x4a, 0x0a, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x71, 0x75, 0x62, + 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, + 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x22, 0x46, 0x0a, 0x0d, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x54, 0x69, 0x63, + 0x6b, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x74, 0x69, 0x63, 0x6b, 0x4e, 0x75, 0x6d, 0x62, + 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x22, 0xad, 0x04, 0x0a, 0x11, 0x47, 0x65, 0x74, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x58, + 0x0a, 0x13, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, + 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x71, 0x75, + 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, + 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, + 0x64, 0x54, 0x69, 0x63, 0x6b, 0x52, 0x11, 0x6c, 0x61, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x63, 0x65, + 0x73, 0x73, 0x65, 0x64, 0x54, 0x69, 0x63, 0x6b, 0x12, 0x90, 0x01, 0x0a, 0x1e, 0x6c, 0x61, 0x73, + 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x63, 0x6b, + 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x4c, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, + 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, + 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, + 0x4c, 0x61, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x54, 0x69, 0x63, + 0x6b, 0x73, 0x50, 0x65, 0x72, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, + 0x1a, 0x6c, 0x61, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x54, 0x69, + 0x63, 0x6b, 0x73, 0x50, 0x65, 0x72, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x54, 0x0a, 0x0d, 0x73, + 0x6b, 0x69, 0x70, 0x70, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x73, 0x18, 0x03, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, + 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x53, + 0x6b, 0x69, 0x70, 0x70, 0x65, 0x64, 0x54, 0x69, 0x63, 0x6b, 0x73, 0x49, 0x6e, 0x74, 0x65, 0x72, + 0x76, 0x61, 0x6c, 0x52, 0x0c, 0x73, 0x6b, 0x69, 0x70, 0x70, 0x65, 0x64, 0x54, 0x69, 0x63, 0x6b, + 0x73, 0x12, 0x85, 0x01, 0x0a, 0x22, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x5f, + 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x73, 0x5f, 0x70, + 0x65, 0x72, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, - 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, + 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, + 0x73, 0x73, 0x65, 0x64, 0x54, 0x69, 0x63, 0x6b, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, + 0x73, 0x50, 0x65, 0x72, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x52, 0x1e, 0x70, 0x72, 0x6f, 0x63, 0x65, + 0x73, 0x73, 0x65, 0x64, 0x54, 0x69, 0x63, 0x6b, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, + 0x73, 0x50, 0x65, 0x72, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x1a, 0x4d, 0x0a, 0x1f, 0x4c, 0x61, 0x73, + 0x74, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x54, 0x69, 0x63, 0x6b, 0x73, 0x50, + 0x65, 0x72, 0x45, 0x70, 0x6f, 0x63, 0x68, 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, 0x0d, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x30, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x48, + 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x38, 0x0a, 0x15, 0x47, 0x65, + 0x74, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x74, 0x69, + 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, + 0x54, 0x69, 0x63, 0x6b, 0x22, 0x7d, 0x0a, 0x25, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x50, - 0x65, 0x72, 0x54, 0x69, 0x63, 0x6b, 0x52, 0x1b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, - 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x50, 0x65, 0x72, 0x54, - 0x69, 0x63, 0x6b, 0x22, 0x36, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x48, - 0x61, 0x73, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x69, - 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x0a, 0x74, 0x69, 0x63, 0x6b, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x35, 0x0a, 0x14, 0x47, - 0x65, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x48, 0x61, 0x73, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x68, 0x65, 0x78, 0x5f, 0x64, 0x69, 0x67, 0x65, 0x73, - 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x68, 0x65, 0x78, 0x44, 0x69, 0x67, 0x65, - 0x73, 0x74, 0x22, 0x7d, 0x0a, 0x15, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x54, - 0x69, 0x63, 0x6b, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x34, 0x0a, 0x16, 0x69, - 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, - 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x14, 0x69, 0x6e, 0x69, - 0x74, 0x69, 0x61, 0x6c, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x54, 0x69, 0x63, - 0x6b, 0x12, 0x2e, 0x0a, 0x13, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, - 0x73, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, - 0x6c, 0x61, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x54, 0x69, 0x63, - 0x6b, 0x22, 0x86, 0x01, 0x0a, 0x1e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x54, - 0x69, 0x63, 0x6b, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x73, 0x50, 0x65, 0x72, 0x45, - 0x70, 0x6f, 0x63, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x4e, 0x0a, 0x09, 0x69, 0x6e, - 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, - 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, - 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, - 0x73, 0x65, 0x64, 0x54, 0x69, 0x63, 0x6b, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x52, - 0x09, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x73, 0x32, 0xcc, 0x11, 0x0a, 0x0e, 0x41, - 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x94, 0x01, - 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x12, 0x2d, 0x2e, - 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, - 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, - 0x6b, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x71, + 0x65, 0x72, 0x54, 0x69, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, + 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, + 0x72, 0x74, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x73, + 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, + 0x74, 0x69, 0x63, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, + 0x69, 0x63, 0x6b, 0x22, 0xa5, 0x01, 0x0a, 0x26, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, + 0x66, 0x65, 0x72, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x50, + 0x65, 0x72, 0x54, 0x69, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7b, + 0x0a, 0x1e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x74, 0x69, 0x63, 0x6b, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, + 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, + 0x70, 0x62, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x54, 0x72, 0x61, 0x6e, 0x73, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x50, 0x65, 0x72, 0x54, 0x69, 0x63, 0x6b, 0x52, 0x1b, + 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x50, 0x65, 0x72, 0x54, 0x69, 0x63, 0x6b, 0x22, 0x36, 0x0a, 0x13, 0x47, + 0x65, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x48, 0x61, 0x73, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, + 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x74, 0x69, 0x63, 0x6b, 0x4e, 0x75, 0x6d, + 0x62, 0x65, 0x72, 0x22, 0x35, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x48, + 0x61, 0x73, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x68, + 0x65, 0x78, 0x5f, 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x68, 0x65, 0x78, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, 0x22, 0x7d, 0x0a, 0x15, 0x50, 0x72, + 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x54, 0x69, 0x63, 0x6b, 0x49, 0x6e, 0x74, 0x65, 0x72, + 0x76, 0x61, 0x6c, 0x12, 0x34, 0x0a, 0x16, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x70, + 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x14, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x50, 0x72, 0x6f, 0x63, + 0x65, 0x73, 0x73, 0x65, 0x64, 0x54, 0x69, 0x63, 0x6b, 0x12, 0x2e, 0x0a, 0x13, 0x6c, 0x61, 0x73, + 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x63, 0x6b, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x6c, 0x61, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x63, + 0x65, 0x73, 0x73, 0x65, 0x64, 0x54, 0x69, 0x63, 0x6b, 0x22, 0x86, 0x01, 0x0a, 0x1e, 0x50, 0x72, + 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x54, 0x69, 0x63, 0x6b, 0x49, 0x6e, 0x74, 0x65, 0x72, + 0x76, 0x61, 0x6c, 0x73, 0x50, 0x65, 0x72, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x14, 0x0a, 0x05, + 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x65, 0x70, 0x6f, + 0x63, 0x68, 0x12, 0x4e, 0x0a, 0x09, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x73, 0x18, + 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, + 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, + 0x62, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x54, 0x69, 0x63, 0x6b, 0x49, + 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x52, 0x09, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, + 0x6c, 0x73, 0x32, 0x9b, 0x13, 0x0a, 0x0e, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x53, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xa2, 0x01, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, + 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x12, 0x34, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, - 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, - 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x26, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x20, 0x12, 0x1e, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x73, 0x2f, 0x7b, 0x74, 0x69, + 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, + 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, + 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, + 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, + 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1f, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x19, 0x12, 0x17, 0x2f, 0x76, 0x32, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x2f, 0x7b, 0x74, 0x78, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0x97, 0x01, 0x0a, 0x0b, 0x47, + 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x12, 0x2d, 0x2e, 0x71, 0x75, 0x62, + 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, + 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x44, 0x61, + 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x71, 0x75, 0x62, 0x69, + 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, + 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x44, 0x61, 0x74, + 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x29, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x23, 0x12, 0x21, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x73, 0x2f, 0x7b, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x7d, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x2d, - 0x64, 0x61, 0x74, 0x61, 0x12, 0xad, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x51, 0x75, 0x6f, 0x72, + 0x64, 0x61, 0x74, 0x61, 0x12, 0xb0, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x51, 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x54, 0x69, 0x63, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x12, 0x33, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x51, 0x75, 0x6f, 0x72, 0x75, 0x6d, @@ -2449,10 +2583,22 @@ var file_archive_proto_rawDesc = []byte{ 0x34, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x51, 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x54, 0x69, 0x63, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x27, 0x12, 0x25, 0x2f, - 0x74, 0x69, 0x63, 0x6b, 0x73, 0x2f, 0x7b, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, - 0x65, 0x72, 0x7d, 0x2f, 0x71, 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x2d, 0x74, 0x69, 0x63, 0x6b, 0x2d, - 0x64, 0x61, 0x74, 0x61, 0x12, 0xaf, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x30, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2a, 0x12, 0x28, 0x2f, + 0x76, 0x31, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x73, 0x2f, 0x7b, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x6e, + 0x75, 0x6d, 0x62, 0x65, 0x72, 0x7d, 0x2f, 0x71, 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x2d, 0x74, 0x69, + 0x63, 0x6b, 0x2d, 0x64, 0x61, 0x74, 0x61, 0x12, 0xb2, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x54, + 0x69, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, + 0x35, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, + 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, + 0x69, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, + 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, + 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2c, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x26, 0x12, 0x24, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x69, 0x63, 0x6b, + 0x73, 0x2f, 0x7b, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x7d, 0x2f, + 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0xc3, 0x01, 0x0a, + 0x1b, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x35, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, @@ -2460,121 +2606,112 @@ var file_archive_proto_rawDesc = []byte{ 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x29, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x23, 0x12, 0x21, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x73, 0x2f, 0x7b, 0x74, 0x69, 0x63, - 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x7d, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0xc0, 0x01, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x54, 0x69, - 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x35, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, - 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, - 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, - 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, - 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, - 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x32, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2c, 0x12, 0x2a, 0x2f, - 0x74, 0x69, 0x63, 0x6b, 0x73, 0x2f, 0x7b, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, - 0x65, 0x72, 0x7d, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2d, 0x74, 0x72, 0x61, - 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0xd0, 0x01, 0x0a, 0x1b, 0x47, 0x65, + 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x35, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x2f, 0x12, 0x2d, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x73, 0x2f, 0x7b, + 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x7d, 0x2f, 0x74, 0x72, 0x61, + 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x12, 0xd3, 0x01, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x41, 0x70, + 0x70, 0x72, 0x6f, 0x76, 0x65, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x12, 0x3d, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, + 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, + 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x64, 0x54, 0x72, + 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x3e, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, + 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x64, 0x54, 0x72, 0x61, - 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3d, 0x2e, 0x71, 0x75, 0x62, 0x69, + 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x35, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x12, 0x2d, 0x2f, 0x76, 0x31, 0x2f, 0x74, + 0x69, 0x63, 0x6b, 0x73, 0x2f, 0x7b, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, + 0x72, 0x7d, 0x2f, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x64, 0x2d, 0x74, 0x72, 0x61, 0x6e, + 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x9b, 0x01, 0x0a, 0x0c, 0x47, 0x65, 0x74, + 0x43, 0x68, 0x61, 0x69, 0x6e, 0x48, 0x61, 0x73, 0x68, 0x12, 0x2e, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, - 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x41, 0x70, 0x70, - 0x72, 0x6f, 0x76, 0x65, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3e, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, - 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, - 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x41, 0x70, 0x70, 0x72, - 0x6f, 0x76, 0x65, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x32, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2c, - 0x12, 0x2a, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x73, 0x2f, 0x7b, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x6e, - 0x75, 0x6d, 0x62, 0x65, 0x72, 0x7d, 0x2f, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x64, 0x2d, - 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x98, 0x01, 0x0a, - 0x0c, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x48, 0x61, 0x73, 0x68, 0x12, 0x2e, 0x2e, - 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, - 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, - 0x69, 0x6e, 0x48, 0x61, 0x73, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, - 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, - 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, - 0x69, 0x6e, 0x48, 0x61, 0x73, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x27, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x21, 0x12, 0x1f, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x73, 0x2f, 0x7b, - 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x7d, 0x2f, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2d, 0x68, 0x61, 0x73, 0x68, 0x12, 0x98, 0x01, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x53, - 0x74, 0x6f, 0x72, 0x65, 0x48, 0x61, 0x73, 0x68, 0x12, 0x2e, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, - 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, - 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x48, 0x61, 0x73, - 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, - 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, - 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x48, 0x61, 0x73, - 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x27, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x21, 0x12, 0x1f, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x73, 0x2f, 0x7b, 0x74, 0x69, 0x63, 0x6b, 0x5f, - 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x7d, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2d, 0x68, 0x61, - 0x73, 0x68, 0x12, 0x94, 0x01, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x30, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, - 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, - 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, + 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x48, 0x61, + 0x73, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x71, 0x75, 0x62, 0x69, + 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, + 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x48, 0x61, + 0x73, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2a, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x24, 0x12, 0x22, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x73, 0x2f, 0x7b, 0x74, + 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x7d, 0x2f, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2d, 0x68, 0x61, 0x73, 0x68, 0x12, 0x9b, 0x01, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x53, 0x74, + 0x6f, 0x72, 0x65, 0x48, 0x61, 0x73, 0x68, 0x12, 0x2e, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, + 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, + 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x48, 0x61, 0x73, 0x68, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, + 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, + 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x48, 0x61, 0x73, 0x68, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x24, + 0x12, 0x22, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x73, 0x2f, 0x7b, 0x74, 0x69, 0x63, + 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x7d, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2d, + 0x68, 0x61, 0x73, 0x68, 0x12, 0x97, 0x01, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, + 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x30, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1d, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x17, 0x12, 0x15, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x2f, 0x7b, 0x74, 0x78, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xa3, 0x01, 0x0a, 0x14, 0x47, 0x65, - 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x12, 0x36, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, - 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, - 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x71, 0x75, 0x62, - 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, - 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x1a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x14, 0x12, 0x12, 0x2f, 0x74, 0x78, - 0x2d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2f, 0x7b, 0x74, 0x78, 0x5f, 0x69, 0x64, 0x7d, 0x12, - 0xdb, 0x01, 0x0a, 0x1e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x54, - 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x50, 0x65, 0x72, 0x54, 0x69, - 0x63, 0x6b, 0x12, 0x40, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, - 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, - 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x50, 0x65, 0x72, 0x54, 0x69, 0x63, 0x6b, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x41, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, - 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, - 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x54, 0x72, 0x61, 0x6e, - 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x50, 0x65, 0x72, 0x54, 0x69, 0x63, 0x6b, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x34, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2e, 0x12, - 0x2c, 0x2f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x64, - 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x7d, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, - 0x2d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x92, 0x01, - 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x2e, - 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, - 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, - 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, - 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x21, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1b, 0x12, 0x19, 0x2f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x73, - 0x2f, 0x7b, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x7d, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x6f, - 0x72, 0x73, 0x12, 0x62, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, - 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x2c, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, + 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x71, 0x75, 0x62, 0x69, + 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, + 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x20, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x1a, 0x12, 0x18, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x74, 0x78, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xa6, + 0x01, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x36, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, - 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x0f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x09, 0x12, 0x07, 0x2f, - 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x6e, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x74, - 0x65, 0x73, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, - 0x30, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, - 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x4c, - 0x61, 0x74, 0x65, 0x73, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x13, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0d, 0x12, 0x0b, 0x2f, 0x6c, 0x61, 0x74, 0x65, - 0x73, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x12, 0x71, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x48, 0x65, 0x61, - 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x37, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, + 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, + 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x17, + 0x12, 0x15, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x78, 0x2d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2f, + 0x7b, 0x74, 0x78, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xde, 0x01, 0x0a, 0x1e, 0x47, 0x65, 0x74, 0x54, + 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x50, 0x65, 0x72, 0x54, 0x69, 0x63, 0x6b, 0x12, 0x40, 0x2e, 0x71, 0x75, 0x62, + 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, + 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, + 0x65, 0x72, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x50, 0x65, + 0x72, 0x54, 0x69, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x41, 0x2e, 0x71, + 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, + 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, + 0x73, 0x66, 0x65, 0x72, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x50, 0x65, 0x72, 0x54, 0x69, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x37, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x31, 0x12, 0x2f, 0x2f, 0x76, 0x31, 0x2f, 0x69, 0x64, 0x65, + 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, + 0x79, 0x7d, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2d, 0x74, 0x72, 0x61, 0x6e, + 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x95, 0x01, 0x0a, 0x0c, 0x47, 0x65, 0x74, + 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x2e, 0x2e, 0x71, 0x75, 0x62, 0x69, + 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, + 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x6f, + 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x71, 0x75, 0x62, 0x69, + 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, + 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x6f, + 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x24, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x1e, 0x12, 0x1c, 0x2f, 0x76, 0x31, 0x2f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x73, 0x2f, 0x7b, + 0x65, 0x70, 0x6f, 0x63, 0x68, 0x7d, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x6f, 0x72, 0x73, + 0x12, 0x65, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x2c, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, + 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, + 0x62, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x12, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0c, 0x12, 0x0a, 0x2f, 0x76, 0x31, + 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x71, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x4c, 0x61, + 0x74, 0x65, 0x73, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, - 0x1a, 0x31, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, + 0x1a, 0x30, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, - 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x14, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0e, 0x12, 0x0c, 0x2f, 0x68, 0x65, - 0x61, 0x6c, 0x74, 0x68, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x42, 0x29, 0x5a, 0x27, 0x67, 0x69, 0x74, - 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2f, 0x67, 0x6f, - 0x2d, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x66, 0x2f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x16, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x10, 0x12, 0x0e, 0x2f, 0x76, 0x31, 0x2f, + 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x12, 0x74, 0x0a, 0x0e, 0x47, 0x65, + 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x16, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, + 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x31, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, + 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, + 0x2e, 0x47, 0x65, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x17, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x11, 0x12, + 0x0f, 0x2f, 0x76, 0x31, 0x2f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x63, 0x68, 0x65, 0x63, 0x6b, + 0x42, 0x29, 0x5a, 0x27, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x71, + 0x75, 0x62, 0x69, 0x63, 0x2f, 0x67, 0x6f, 0x2d, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, + 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x66, 0x2f, 0x62, 0x06, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x33, } var ( @@ -2589,102 +2726,107 @@ func file_archive_proto_rawDescGZIP() []byte { return file_archive_proto_rawDescData } -var file_archive_proto_msgTypes = make([]protoimpl.MessageInfo, 39) +var file_archive_proto_msgTypes = make([]protoimpl.MessageInfo, 41) var file_archive_proto_goTypes = []interface{}{ (*TickData)(nil), // 0: qubic.archiver.archive.pb.TickData (*GetTickDataRequest)(nil), // 1: qubic.archiver.archive.pb.GetTickDataRequest (*GetTickDataResponse)(nil), // 2: qubic.archiver.archive.pb.GetTickDataResponse (*Transaction)(nil), // 3: qubic.archiver.archive.pb.Transaction - (*TransactionStatus)(nil), // 4: qubic.archiver.archive.pb.TransactionStatus - (*TickTransactionsStatus)(nil), // 5: qubic.archiver.archive.pb.TickTransactionsStatus - (*NextAvailableTick)(nil), // 6: qubic.archiver.archive.pb.NextAvailableTick - (*LastProcessedTick)(nil), // 7: qubic.archiver.archive.pb.LastProcessedTick - (*GetTransactionRequest)(nil), // 8: qubic.archiver.archive.pb.GetTransactionRequest - (*GetTransactionResponse)(nil), // 9: qubic.archiver.archive.pb.GetTransactionResponse - (*GetTransactionStatusRequest)(nil), // 10: qubic.archiver.archive.pb.GetTransactionStatusRequest - (*GetTransactionStatusResponse)(nil), // 11: qubic.archiver.archive.pb.GetTransactionStatusResponse - (*GetTickTransactionsRequest)(nil), // 12: qubic.archiver.archive.pb.GetTickTransactionsRequest - (*GetTickTransactionsResponse)(nil), // 13: qubic.archiver.archive.pb.GetTickTransactionsResponse - (*GetTickApprovedTransactionsRequest)(nil), // 14: qubic.archiver.archive.pb.GetTickApprovedTransactionsRequest - (*GetTickApprovedTransactionsResponse)(nil), // 15: qubic.archiver.archive.pb.GetTickApprovedTransactionsResponse - (*QuorumDiff)(nil), // 16: qubic.archiver.archive.pb.QuorumDiff - (*QuorumTickStructure)(nil), // 17: qubic.archiver.archive.pb.QuorumTickStructure - (*SkippedTicksInterval)(nil), // 18: qubic.archiver.archive.pb.SkippedTicksInterval - (*SkippedTicksIntervalList)(nil), // 19: qubic.archiver.archive.pb.SkippedTicksIntervalList - (*QuorumTickData)(nil), // 20: qubic.archiver.archive.pb.QuorumTickData - (*GetQuorumTickDataRequest)(nil), // 21: qubic.archiver.archive.pb.GetQuorumTickDataRequest - (*GetQuorumTickDataResponse)(nil), // 22: qubic.archiver.archive.pb.GetQuorumTickDataResponse - (*Computors)(nil), // 23: qubic.archiver.archive.pb.Computors - (*GetComputorsRequest)(nil), // 24: qubic.archiver.archive.pb.GetComputorsRequest - (*GetComputorsResponse)(nil), // 25: qubic.archiver.archive.pb.GetComputorsResponse - (*TransferTransactionsPerTick)(nil), // 26: qubic.archiver.archive.pb.TransferTransactionsPerTick - (*ProcessedTick)(nil), // 27: qubic.archiver.archive.pb.ProcessedTick - (*GetStatusResponse)(nil), // 28: qubic.archiver.archive.pb.GetStatusResponse - (*GetHealthCheckResponse)(nil), // 29: qubic.archiver.archive.pb.GetHealthCheckResponse - (*GetLatestTickResponse)(nil), // 30: qubic.archiver.archive.pb.GetLatestTickResponse - (*GetTransferTransactionsPerTickRequest)(nil), // 31: qubic.archiver.archive.pb.GetTransferTransactionsPerTickRequest - (*GetTransferTransactionsPerTickResponse)(nil), // 32: qubic.archiver.archive.pb.GetTransferTransactionsPerTickResponse - (*GetChainHashRequest)(nil), // 33: qubic.archiver.archive.pb.GetChainHashRequest - (*GetChainHashResponse)(nil), // 34: qubic.archiver.archive.pb.GetChainHashResponse - (*ProcessedTickInterval)(nil), // 35: qubic.archiver.archive.pb.ProcessedTickInterval - (*ProcessedTickIntervalsPerEpoch)(nil), // 36: qubic.archiver.archive.pb.ProcessedTickIntervalsPerEpoch - nil, // 37: qubic.archiver.archive.pb.QuorumTickData.QuorumDiffPerComputorEntry - nil, // 38: qubic.archiver.archive.pb.GetStatusResponse.LastProcessedTicksPerEpochEntry - (*emptypb.Empty)(nil), // 39: google.protobuf.Empty + (*GetTransactionDataRequest)(nil), // 4: qubic.archiver.archive.pb.GetTransactionDataRequest + (*GetTransactionDataResponse)(nil), // 5: qubic.archiver.archive.pb.GetTransactionDataResponse + (*TransactionStatus)(nil), // 6: qubic.archiver.archive.pb.TransactionStatus + (*TickTransactionsStatus)(nil), // 7: qubic.archiver.archive.pb.TickTransactionsStatus + (*NextAvailableTick)(nil), // 8: qubic.archiver.archive.pb.NextAvailableTick + (*LastProcessedTick)(nil), // 9: qubic.archiver.archive.pb.LastProcessedTick + (*GetTransactionRequest)(nil), // 10: qubic.archiver.archive.pb.GetTransactionRequest + (*GetTransactionResponse)(nil), // 11: qubic.archiver.archive.pb.GetTransactionResponse + (*GetTransactionStatusRequest)(nil), // 12: qubic.archiver.archive.pb.GetTransactionStatusRequest + (*GetTransactionStatusResponse)(nil), // 13: qubic.archiver.archive.pb.GetTransactionStatusResponse + (*GetTickTransactionsRequest)(nil), // 14: qubic.archiver.archive.pb.GetTickTransactionsRequest + (*GetTickTransactionsResponse)(nil), // 15: qubic.archiver.archive.pb.GetTickTransactionsResponse + (*GetTickApprovedTransactionsRequest)(nil), // 16: qubic.archiver.archive.pb.GetTickApprovedTransactionsRequest + (*GetTickApprovedTransactionsResponse)(nil), // 17: qubic.archiver.archive.pb.GetTickApprovedTransactionsResponse + (*QuorumDiff)(nil), // 18: qubic.archiver.archive.pb.QuorumDiff + (*QuorumTickStructure)(nil), // 19: qubic.archiver.archive.pb.QuorumTickStructure + (*SkippedTicksInterval)(nil), // 20: qubic.archiver.archive.pb.SkippedTicksInterval + (*SkippedTicksIntervalList)(nil), // 21: qubic.archiver.archive.pb.SkippedTicksIntervalList + (*QuorumTickData)(nil), // 22: qubic.archiver.archive.pb.QuorumTickData + (*GetQuorumTickDataRequest)(nil), // 23: qubic.archiver.archive.pb.GetQuorumTickDataRequest + (*GetQuorumTickDataResponse)(nil), // 24: qubic.archiver.archive.pb.GetQuorumTickDataResponse + (*Computors)(nil), // 25: qubic.archiver.archive.pb.Computors + (*GetComputorsRequest)(nil), // 26: qubic.archiver.archive.pb.GetComputorsRequest + (*GetComputorsResponse)(nil), // 27: qubic.archiver.archive.pb.GetComputorsResponse + (*TransferTransactionsPerTick)(nil), // 28: qubic.archiver.archive.pb.TransferTransactionsPerTick + (*ProcessedTick)(nil), // 29: qubic.archiver.archive.pb.ProcessedTick + (*GetStatusResponse)(nil), // 30: qubic.archiver.archive.pb.GetStatusResponse + (*GetHealthCheckResponse)(nil), // 31: qubic.archiver.archive.pb.GetHealthCheckResponse + (*GetLatestTickResponse)(nil), // 32: qubic.archiver.archive.pb.GetLatestTickResponse + (*GetTransferTransactionsPerTickRequest)(nil), // 33: qubic.archiver.archive.pb.GetTransferTransactionsPerTickRequest + (*GetTransferTransactionsPerTickResponse)(nil), // 34: qubic.archiver.archive.pb.GetTransferTransactionsPerTickResponse + (*GetChainHashRequest)(nil), // 35: qubic.archiver.archive.pb.GetChainHashRequest + (*GetChainHashResponse)(nil), // 36: qubic.archiver.archive.pb.GetChainHashResponse + (*ProcessedTickInterval)(nil), // 37: qubic.archiver.archive.pb.ProcessedTickInterval + (*ProcessedTickIntervalsPerEpoch)(nil), // 38: qubic.archiver.archive.pb.ProcessedTickIntervalsPerEpoch + nil, // 39: qubic.archiver.archive.pb.QuorumTickData.QuorumDiffPerComputorEntry + nil, // 40: qubic.archiver.archive.pb.GetStatusResponse.LastProcessedTicksPerEpochEntry + (*emptypb.Empty)(nil), // 41: google.protobuf.Empty } var file_archive_proto_depIdxs = []int32{ 0, // 0: qubic.archiver.archive.pb.GetTickDataResponse.tick_data:type_name -> qubic.archiver.archive.pb.TickData - 4, // 1: qubic.archiver.archive.pb.TickTransactionsStatus.transactions:type_name -> qubic.archiver.archive.pb.TransactionStatus - 3, // 2: qubic.archiver.archive.pb.GetTransactionResponse.transaction:type_name -> qubic.archiver.archive.pb.Transaction - 4, // 3: qubic.archiver.archive.pb.GetTransactionStatusResponse.transaction_status:type_name -> qubic.archiver.archive.pb.TransactionStatus - 3, // 4: qubic.archiver.archive.pb.GetTickTransactionsResponse.transactions:type_name -> qubic.archiver.archive.pb.Transaction - 3, // 5: qubic.archiver.archive.pb.GetTickApprovedTransactionsResponse.approved_transactions:type_name -> qubic.archiver.archive.pb.Transaction - 18, // 6: qubic.archiver.archive.pb.SkippedTicksIntervalList.skipped_ticks:type_name -> qubic.archiver.archive.pb.SkippedTicksInterval - 17, // 7: qubic.archiver.archive.pb.QuorumTickData.quorum_tick_structure:type_name -> qubic.archiver.archive.pb.QuorumTickStructure - 37, // 8: qubic.archiver.archive.pb.QuorumTickData.quorum_diff_per_computor:type_name -> qubic.archiver.archive.pb.QuorumTickData.QuorumDiffPerComputorEntry - 20, // 9: qubic.archiver.archive.pb.GetQuorumTickDataResponse.quorum_tick_data:type_name -> qubic.archiver.archive.pb.QuorumTickData - 23, // 10: qubic.archiver.archive.pb.GetComputorsResponse.computors:type_name -> qubic.archiver.archive.pb.Computors - 3, // 11: qubic.archiver.archive.pb.TransferTransactionsPerTick.transactions:type_name -> qubic.archiver.archive.pb.Transaction - 27, // 12: qubic.archiver.archive.pb.GetStatusResponse.last_processed_tick:type_name -> qubic.archiver.archive.pb.ProcessedTick - 38, // 13: qubic.archiver.archive.pb.GetStatusResponse.last_processed_ticks_per_epoch:type_name -> qubic.archiver.archive.pb.GetStatusResponse.LastProcessedTicksPerEpochEntry - 18, // 14: qubic.archiver.archive.pb.GetStatusResponse.skipped_ticks:type_name -> qubic.archiver.archive.pb.SkippedTicksInterval - 36, // 15: qubic.archiver.archive.pb.GetStatusResponse.processed_tick_intervals_per_epoch:type_name -> qubic.archiver.archive.pb.ProcessedTickIntervalsPerEpoch - 26, // 16: qubic.archiver.archive.pb.GetTransferTransactionsPerTickResponse.transfer_transactions_per_tick:type_name -> qubic.archiver.archive.pb.TransferTransactionsPerTick - 35, // 17: qubic.archiver.archive.pb.ProcessedTickIntervalsPerEpoch.intervals:type_name -> qubic.archiver.archive.pb.ProcessedTickInterval - 16, // 18: qubic.archiver.archive.pb.QuorumTickData.QuorumDiffPerComputorEntry.value:type_name -> qubic.archiver.archive.pb.QuorumDiff - 1, // 19: qubic.archiver.archive.pb.ArchiveService.GetTickData:input_type -> qubic.archiver.archive.pb.GetTickDataRequest - 21, // 20: qubic.archiver.archive.pb.ArchiveService.GetQuorumTickData:input_type -> qubic.archiver.archive.pb.GetQuorumTickDataRequest - 12, // 21: qubic.archiver.archive.pb.ArchiveService.GetTickTransactions:input_type -> qubic.archiver.archive.pb.GetTickTransactionsRequest - 12, // 22: qubic.archiver.archive.pb.ArchiveService.GetTickTransferTransactions:input_type -> qubic.archiver.archive.pb.GetTickTransactionsRequest - 14, // 23: qubic.archiver.archive.pb.ArchiveService.GetTickApprovedTransactions:input_type -> qubic.archiver.archive.pb.GetTickApprovedTransactionsRequest - 33, // 24: qubic.archiver.archive.pb.ArchiveService.GetChainHash:input_type -> qubic.archiver.archive.pb.GetChainHashRequest - 33, // 25: qubic.archiver.archive.pb.ArchiveService.GetStoreHash:input_type -> qubic.archiver.archive.pb.GetChainHashRequest - 8, // 26: qubic.archiver.archive.pb.ArchiveService.GetTransaction:input_type -> qubic.archiver.archive.pb.GetTransactionRequest - 10, // 27: qubic.archiver.archive.pb.ArchiveService.GetTransactionStatus:input_type -> qubic.archiver.archive.pb.GetTransactionStatusRequest - 31, // 28: qubic.archiver.archive.pb.ArchiveService.GetTransferTransactionsPerTick:input_type -> qubic.archiver.archive.pb.GetTransferTransactionsPerTickRequest - 24, // 29: qubic.archiver.archive.pb.ArchiveService.GetComputors:input_type -> qubic.archiver.archive.pb.GetComputorsRequest - 39, // 30: qubic.archiver.archive.pb.ArchiveService.GetStatus:input_type -> google.protobuf.Empty - 39, // 31: qubic.archiver.archive.pb.ArchiveService.GetLatestTick:input_type -> google.protobuf.Empty - 39, // 32: qubic.archiver.archive.pb.ArchiveService.GetHealthCheck:input_type -> google.protobuf.Empty - 2, // 33: qubic.archiver.archive.pb.ArchiveService.GetTickData:output_type -> qubic.archiver.archive.pb.GetTickDataResponse - 22, // 34: qubic.archiver.archive.pb.ArchiveService.GetQuorumTickData:output_type -> qubic.archiver.archive.pb.GetQuorumTickDataResponse - 13, // 35: qubic.archiver.archive.pb.ArchiveService.GetTickTransactions:output_type -> qubic.archiver.archive.pb.GetTickTransactionsResponse - 13, // 36: qubic.archiver.archive.pb.ArchiveService.GetTickTransferTransactions:output_type -> qubic.archiver.archive.pb.GetTickTransactionsResponse - 15, // 37: qubic.archiver.archive.pb.ArchiveService.GetTickApprovedTransactions:output_type -> qubic.archiver.archive.pb.GetTickApprovedTransactionsResponse - 34, // 38: qubic.archiver.archive.pb.ArchiveService.GetChainHash:output_type -> qubic.archiver.archive.pb.GetChainHashResponse - 34, // 39: qubic.archiver.archive.pb.ArchiveService.GetStoreHash:output_type -> qubic.archiver.archive.pb.GetChainHashResponse - 9, // 40: qubic.archiver.archive.pb.ArchiveService.GetTransaction:output_type -> qubic.archiver.archive.pb.GetTransactionResponse - 11, // 41: qubic.archiver.archive.pb.ArchiveService.GetTransactionStatus:output_type -> qubic.archiver.archive.pb.GetTransactionStatusResponse - 32, // 42: qubic.archiver.archive.pb.ArchiveService.GetTransferTransactionsPerTick:output_type -> qubic.archiver.archive.pb.GetTransferTransactionsPerTickResponse - 25, // 43: qubic.archiver.archive.pb.ArchiveService.GetComputors:output_type -> qubic.archiver.archive.pb.GetComputorsResponse - 28, // 44: qubic.archiver.archive.pb.ArchiveService.GetStatus:output_type -> qubic.archiver.archive.pb.GetStatusResponse - 30, // 45: qubic.archiver.archive.pb.ArchiveService.GetLatestTick:output_type -> qubic.archiver.archive.pb.GetLatestTickResponse - 29, // 46: qubic.archiver.archive.pb.ArchiveService.GetHealthCheck:output_type -> qubic.archiver.archive.pb.GetHealthCheckResponse - 33, // [33:47] is the sub-list for method output_type - 19, // [19:33] is the sub-list for method input_type - 19, // [19:19] is the sub-list for extension type_name - 19, // [19:19] is the sub-list for extension extendee - 0, // [0:19] is the sub-list for field type_name + 3, // 1: qubic.archiver.archive.pb.GetTransactionDataResponse.transaction:type_name -> qubic.archiver.archive.pb.Transaction + 6, // 2: qubic.archiver.archive.pb.TickTransactionsStatus.transactions:type_name -> qubic.archiver.archive.pb.TransactionStatus + 3, // 3: qubic.archiver.archive.pb.GetTransactionResponse.transaction:type_name -> qubic.archiver.archive.pb.Transaction + 6, // 4: qubic.archiver.archive.pb.GetTransactionStatusResponse.transaction_status:type_name -> qubic.archiver.archive.pb.TransactionStatus + 3, // 5: qubic.archiver.archive.pb.GetTickTransactionsResponse.transactions:type_name -> qubic.archiver.archive.pb.Transaction + 3, // 6: qubic.archiver.archive.pb.GetTickApprovedTransactionsResponse.approved_transactions:type_name -> qubic.archiver.archive.pb.Transaction + 20, // 7: qubic.archiver.archive.pb.SkippedTicksIntervalList.skipped_ticks:type_name -> qubic.archiver.archive.pb.SkippedTicksInterval + 19, // 8: qubic.archiver.archive.pb.QuorumTickData.quorum_tick_structure:type_name -> qubic.archiver.archive.pb.QuorumTickStructure + 39, // 9: qubic.archiver.archive.pb.QuorumTickData.quorum_diff_per_computor:type_name -> qubic.archiver.archive.pb.QuorumTickData.QuorumDiffPerComputorEntry + 22, // 10: qubic.archiver.archive.pb.GetQuorumTickDataResponse.quorum_tick_data:type_name -> qubic.archiver.archive.pb.QuorumTickData + 25, // 11: qubic.archiver.archive.pb.GetComputorsResponse.computors:type_name -> qubic.archiver.archive.pb.Computors + 3, // 12: qubic.archiver.archive.pb.TransferTransactionsPerTick.transactions:type_name -> qubic.archiver.archive.pb.Transaction + 29, // 13: qubic.archiver.archive.pb.GetStatusResponse.last_processed_tick:type_name -> qubic.archiver.archive.pb.ProcessedTick + 40, // 14: qubic.archiver.archive.pb.GetStatusResponse.last_processed_ticks_per_epoch:type_name -> qubic.archiver.archive.pb.GetStatusResponse.LastProcessedTicksPerEpochEntry + 20, // 15: qubic.archiver.archive.pb.GetStatusResponse.skipped_ticks:type_name -> qubic.archiver.archive.pb.SkippedTicksInterval + 38, // 16: qubic.archiver.archive.pb.GetStatusResponse.processed_tick_intervals_per_epoch:type_name -> qubic.archiver.archive.pb.ProcessedTickIntervalsPerEpoch + 28, // 17: qubic.archiver.archive.pb.GetTransferTransactionsPerTickResponse.transfer_transactions_per_tick:type_name -> qubic.archiver.archive.pb.TransferTransactionsPerTick + 37, // 18: qubic.archiver.archive.pb.ProcessedTickIntervalsPerEpoch.intervals:type_name -> qubic.archiver.archive.pb.ProcessedTickInterval + 18, // 19: qubic.archiver.archive.pb.QuorumTickData.QuorumDiffPerComputorEntry.value:type_name -> qubic.archiver.archive.pb.QuorumDiff + 4, // 20: qubic.archiver.archive.pb.ArchiveService.GetTransactionData:input_type -> qubic.archiver.archive.pb.GetTransactionDataRequest + 1, // 21: qubic.archiver.archive.pb.ArchiveService.GetTickData:input_type -> qubic.archiver.archive.pb.GetTickDataRequest + 23, // 22: qubic.archiver.archive.pb.ArchiveService.GetQuorumTickData:input_type -> qubic.archiver.archive.pb.GetQuorumTickDataRequest + 14, // 23: qubic.archiver.archive.pb.ArchiveService.GetTickTransactions:input_type -> qubic.archiver.archive.pb.GetTickTransactionsRequest + 14, // 24: qubic.archiver.archive.pb.ArchiveService.GetTickTransferTransactions:input_type -> qubic.archiver.archive.pb.GetTickTransactionsRequest + 16, // 25: qubic.archiver.archive.pb.ArchiveService.GetTickApprovedTransactions:input_type -> qubic.archiver.archive.pb.GetTickApprovedTransactionsRequest + 35, // 26: qubic.archiver.archive.pb.ArchiveService.GetChainHash:input_type -> qubic.archiver.archive.pb.GetChainHashRequest + 35, // 27: qubic.archiver.archive.pb.ArchiveService.GetStoreHash:input_type -> qubic.archiver.archive.pb.GetChainHashRequest + 10, // 28: qubic.archiver.archive.pb.ArchiveService.GetTransaction:input_type -> qubic.archiver.archive.pb.GetTransactionRequest + 12, // 29: qubic.archiver.archive.pb.ArchiveService.GetTransactionStatus:input_type -> qubic.archiver.archive.pb.GetTransactionStatusRequest + 33, // 30: qubic.archiver.archive.pb.ArchiveService.GetTransferTransactionsPerTick:input_type -> qubic.archiver.archive.pb.GetTransferTransactionsPerTickRequest + 26, // 31: qubic.archiver.archive.pb.ArchiveService.GetComputors:input_type -> qubic.archiver.archive.pb.GetComputorsRequest + 41, // 32: qubic.archiver.archive.pb.ArchiveService.GetStatus:input_type -> google.protobuf.Empty + 41, // 33: qubic.archiver.archive.pb.ArchiveService.GetLatestTick:input_type -> google.protobuf.Empty + 41, // 34: qubic.archiver.archive.pb.ArchiveService.GetHealthCheck:input_type -> google.protobuf.Empty + 5, // 35: qubic.archiver.archive.pb.ArchiveService.GetTransactionData:output_type -> qubic.archiver.archive.pb.GetTransactionDataResponse + 2, // 36: qubic.archiver.archive.pb.ArchiveService.GetTickData:output_type -> qubic.archiver.archive.pb.GetTickDataResponse + 24, // 37: qubic.archiver.archive.pb.ArchiveService.GetQuorumTickData:output_type -> qubic.archiver.archive.pb.GetQuorumTickDataResponse + 15, // 38: qubic.archiver.archive.pb.ArchiveService.GetTickTransactions:output_type -> qubic.archiver.archive.pb.GetTickTransactionsResponse + 15, // 39: qubic.archiver.archive.pb.ArchiveService.GetTickTransferTransactions:output_type -> qubic.archiver.archive.pb.GetTickTransactionsResponse + 17, // 40: qubic.archiver.archive.pb.ArchiveService.GetTickApprovedTransactions:output_type -> qubic.archiver.archive.pb.GetTickApprovedTransactionsResponse + 36, // 41: qubic.archiver.archive.pb.ArchiveService.GetChainHash:output_type -> qubic.archiver.archive.pb.GetChainHashResponse + 36, // 42: qubic.archiver.archive.pb.ArchiveService.GetStoreHash:output_type -> qubic.archiver.archive.pb.GetChainHashResponse + 11, // 43: qubic.archiver.archive.pb.ArchiveService.GetTransaction:output_type -> qubic.archiver.archive.pb.GetTransactionResponse + 13, // 44: qubic.archiver.archive.pb.ArchiveService.GetTransactionStatus:output_type -> qubic.archiver.archive.pb.GetTransactionStatusResponse + 34, // 45: qubic.archiver.archive.pb.ArchiveService.GetTransferTransactionsPerTick:output_type -> qubic.archiver.archive.pb.GetTransferTransactionsPerTickResponse + 27, // 46: qubic.archiver.archive.pb.ArchiveService.GetComputors:output_type -> qubic.archiver.archive.pb.GetComputorsResponse + 30, // 47: qubic.archiver.archive.pb.ArchiveService.GetStatus:output_type -> qubic.archiver.archive.pb.GetStatusResponse + 32, // 48: qubic.archiver.archive.pb.ArchiveService.GetLatestTick:output_type -> qubic.archiver.archive.pb.GetLatestTickResponse + 31, // 49: qubic.archiver.archive.pb.ArchiveService.GetHealthCheck:output_type -> qubic.archiver.archive.pb.GetHealthCheckResponse + 35, // [35:50] is the sub-list for method output_type + 20, // [20:35] is the sub-list for method input_type + 20, // [20:20] is the sub-list for extension type_name + 20, // [20:20] is the sub-list for extension extendee + 0, // [0:20] is the sub-list for field type_name } func init() { file_archive_proto_init() } @@ -2742,7 +2884,7 @@ func file_archive_proto_init() { } } file_archive_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TransactionStatus); i { + switch v := v.(*GetTransactionDataRequest); i { case 0: return &v.state case 1: @@ -2754,7 +2896,7 @@ func file_archive_proto_init() { } } file_archive_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TickTransactionsStatus); i { + switch v := v.(*GetTransactionDataResponse); i { case 0: return &v.state case 1: @@ -2766,7 +2908,7 @@ func file_archive_proto_init() { } } file_archive_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NextAvailableTick); i { + switch v := v.(*TransactionStatus); i { case 0: return &v.state case 1: @@ -2778,7 +2920,7 @@ func file_archive_proto_init() { } } file_archive_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LastProcessedTick); i { + switch v := v.(*TickTransactionsStatus); i { case 0: return &v.state case 1: @@ -2790,7 +2932,7 @@ func file_archive_proto_init() { } } file_archive_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetTransactionRequest); i { + switch v := v.(*NextAvailableTick); i { case 0: return &v.state case 1: @@ -2802,7 +2944,7 @@ func file_archive_proto_init() { } } file_archive_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetTransactionResponse); i { + switch v := v.(*LastProcessedTick); i { case 0: return &v.state case 1: @@ -2814,7 +2956,7 @@ func file_archive_proto_init() { } } file_archive_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetTransactionStatusRequest); i { + switch v := v.(*GetTransactionRequest); i { case 0: return &v.state case 1: @@ -2826,7 +2968,7 @@ func file_archive_proto_init() { } } file_archive_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetTransactionStatusResponse); i { + switch v := v.(*GetTransactionResponse); i { case 0: return &v.state case 1: @@ -2838,7 +2980,7 @@ func file_archive_proto_init() { } } file_archive_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetTickTransactionsRequest); i { + switch v := v.(*GetTransactionStatusRequest); i { case 0: return &v.state case 1: @@ -2850,7 +2992,7 @@ func file_archive_proto_init() { } } file_archive_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetTickTransactionsResponse); i { + switch v := v.(*GetTransactionStatusResponse); i { case 0: return &v.state case 1: @@ -2862,7 +3004,7 @@ func file_archive_proto_init() { } } file_archive_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetTickApprovedTransactionsRequest); i { + switch v := v.(*GetTickTransactionsRequest); i { case 0: return &v.state case 1: @@ -2874,7 +3016,7 @@ func file_archive_proto_init() { } } file_archive_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetTickApprovedTransactionsResponse); i { + switch v := v.(*GetTickTransactionsResponse); i { case 0: return &v.state case 1: @@ -2886,7 +3028,7 @@ func file_archive_proto_init() { } } file_archive_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*QuorumDiff); i { + switch v := v.(*GetTickApprovedTransactionsRequest); i { case 0: return &v.state case 1: @@ -2898,7 +3040,7 @@ func file_archive_proto_init() { } } file_archive_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*QuorumTickStructure); i { + switch v := v.(*GetTickApprovedTransactionsResponse); i { case 0: return &v.state case 1: @@ -2910,7 +3052,7 @@ func file_archive_proto_init() { } } file_archive_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SkippedTicksInterval); i { + switch v := v.(*QuorumDiff); i { case 0: return &v.state case 1: @@ -2922,7 +3064,7 @@ func file_archive_proto_init() { } } file_archive_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SkippedTicksIntervalList); i { + switch v := v.(*QuorumTickStructure); i { case 0: return &v.state case 1: @@ -2934,7 +3076,7 @@ func file_archive_proto_init() { } } file_archive_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*QuorumTickData); i { + switch v := v.(*SkippedTicksInterval); i { case 0: return &v.state case 1: @@ -2946,7 +3088,7 @@ func file_archive_proto_init() { } } file_archive_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetQuorumTickDataRequest); i { + switch v := v.(*SkippedTicksIntervalList); i { case 0: return &v.state case 1: @@ -2958,7 +3100,7 @@ func file_archive_proto_init() { } } file_archive_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetQuorumTickDataResponse); i { + switch v := v.(*QuorumTickData); i { case 0: return &v.state case 1: @@ -2970,7 +3112,7 @@ func file_archive_proto_init() { } } file_archive_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Computors); i { + switch v := v.(*GetQuorumTickDataRequest); i { case 0: return &v.state case 1: @@ -2982,7 +3124,7 @@ func file_archive_proto_init() { } } file_archive_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetComputorsRequest); i { + switch v := v.(*GetQuorumTickDataResponse); i { case 0: return &v.state case 1: @@ -2994,7 +3136,7 @@ func file_archive_proto_init() { } } file_archive_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetComputorsResponse); i { + switch v := v.(*Computors); i { case 0: return &v.state case 1: @@ -3006,7 +3148,7 @@ func file_archive_proto_init() { } } file_archive_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TransferTransactionsPerTick); i { + switch v := v.(*GetComputorsRequest); i { case 0: return &v.state case 1: @@ -3018,7 +3160,7 @@ func file_archive_proto_init() { } } file_archive_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ProcessedTick); i { + switch v := v.(*GetComputorsResponse); i { case 0: return &v.state case 1: @@ -3030,7 +3172,7 @@ func file_archive_proto_init() { } } file_archive_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetStatusResponse); i { + switch v := v.(*TransferTransactionsPerTick); i { case 0: return &v.state case 1: @@ -3042,7 +3184,7 @@ func file_archive_proto_init() { } } file_archive_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetHealthCheckResponse); i { + switch v := v.(*ProcessedTick); i { case 0: return &v.state case 1: @@ -3054,7 +3196,7 @@ func file_archive_proto_init() { } } file_archive_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetLatestTickResponse); i { + switch v := v.(*GetStatusResponse); i { case 0: return &v.state case 1: @@ -3066,7 +3208,7 @@ func file_archive_proto_init() { } } file_archive_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetTransferTransactionsPerTickRequest); i { + switch v := v.(*GetHealthCheckResponse); i { case 0: return &v.state case 1: @@ -3078,7 +3220,7 @@ func file_archive_proto_init() { } } file_archive_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetTransferTransactionsPerTickResponse); i { + switch v := v.(*GetLatestTickResponse); i { case 0: return &v.state case 1: @@ -3090,7 +3232,7 @@ func file_archive_proto_init() { } } file_archive_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetChainHashRequest); i { + switch v := v.(*GetTransferTransactionsPerTickRequest); i { case 0: return &v.state case 1: @@ -3102,7 +3244,7 @@ func file_archive_proto_init() { } } file_archive_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetChainHashResponse); i { + switch v := v.(*GetTransferTransactionsPerTickResponse); i { case 0: return &v.state case 1: @@ -3114,7 +3256,7 @@ func file_archive_proto_init() { } } file_archive_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ProcessedTickInterval); i { + switch v := v.(*GetChainHashRequest); i { case 0: return &v.state case 1: @@ -3126,6 +3268,30 @@ func file_archive_proto_init() { } } file_archive_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetChainHashResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_archive_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ProcessedTickInterval); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_archive_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ProcessedTickIntervalsPerEpoch); i { case 0: return &v.state @@ -3144,7 +3310,7 @@ func file_archive_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_archive_proto_rawDesc, NumEnums: 0, - NumMessages: 39, + NumMessages: 41, NumExtensions: 0, NumServices: 1, }, diff --git a/protobuff/archive.pb.gw.go b/protobuff/archive.pb.gw.go index 0925e18..214602c 100644 --- a/protobuff/archive.pb.gw.go +++ b/protobuff/archive.pb.gw.go @@ -32,6 +32,58 @@ var _ = runtime.String var _ = utilities.NewDoubleArray var _ = metadata.Join +func request_ArchiveService_GetTransactionData_0(ctx context.Context, marshaler runtime.Marshaler, client ArchiveServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetTransactionDataRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["tx_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "tx_id") + } + + protoReq.TxId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "tx_id", err) + } + + msg, err := client.GetTransactionData(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_ArchiveService_GetTransactionData_0(ctx context.Context, marshaler runtime.Marshaler, server ArchiveServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetTransactionDataRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["tx_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "tx_id") + } + + protoReq.TxId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "tx_id", err) + } + + msg, err := server.GetTransactionData(ctx, &protoReq) + return msg, metadata, err + +} + func request_ArchiveService_GetTickData_0(ctx context.Context, marshaler runtime.Marshaler, client ArchiveServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq GetTickDataRequest var metadata runtime.ServerMetadata @@ -501,7 +553,7 @@ func local_request_ArchiveService_GetTransactionStatus_0(ctx context.Context, ma } var ( - filter_ArchiveService_GetTransferTransactionsPerTick_0 = &utilities.DoubleArray{Encoding: map[string]int{"identity": 0}, Base: []int{1, 2, 0, 0}, Check: []int{0, 1, 2, 2}} + filter_ArchiveService_GetTransferTransactionsPerTick_0 = &utilities.DoubleArray{Encoding: map[string]int{"identity": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} ) func request_ArchiveService_GetTransferTransactionsPerTick_0(ctx context.Context, marshaler runtime.Marshaler, client ArchiveServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { @@ -682,6 +734,31 @@ func local_request_ArchiveService_GetHealthCheck_0(ctx context.Context, marshale // Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterArchiveServiceHandlerFromEndpoint instead. func RegisterArchiveServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux, server ArchiveServiceServer) error { + mux.Handle("GET", pattern_ArchiveService_GetTransactionData_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/qubic.archiver.archive.pb.ArchiveService/GetTransactionData", runtime.WithHTTPPathPattern("/v2/transaction/{tx_id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ArchiveService_GetTransactionData_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ArchiveService_GetTransactionData_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + mux.Handle("GET", pattern_ArchiveService_GetTickData_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() @@ -690,7 +767,7 @@ func RegisterArchiveServiceHandlerServer(ctx context.Context, mux *runtime.Serve inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/qubic.archiver.archive.pb.ArchiveService/GetTickData", runtime.WithHTTPPathPattern("/ticks/{tick_number}/tick-data")) + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/qubic.archiver.archive.pb.ArchiveService/GetTickData", runtime.WithHTTPPathPattern("/v1/ticks/{tick_number}/tick-data")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -715,7 +792,7 @@ func RegisterArchiveServiceHandlerServer(ctx context.Context, mux *runtime.Serve inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/qubic.archiver.archive.pb.ArchiveService/GetQuorumTickData", runtime.WithHTTPPathPattern("/ticks/{tick_number}/quorum-tick-data")) + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/qubic.archiver.archive.pb.ArchiveService/GetQuorumTickData", runtime.WithHTTPPathPattern("/v1/ticks/{tick_number}/quorum-tick-data")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -740,7 +817,7 @@ func RegisterArchiveServiceHandlerServer(ctx context.Context, mux *runtime.Serve inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/qubic.archiver.archive.pb.ArchiveService/GetTickTransactions", runtime.WithHTTPPathPattern("/ticks/{tick_number}/transactions")) + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/qubic.archiver.archive.pb.ArchiveService/GetTickTransactions", runtime.WithHTTPPathPattern("/v1/ticks/{tick_number}/transactions")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -765,7 +842,7 @@ func RegisterArchiveServiceHandlerServer(ctx context.Context, mux *runtime.Serve inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/qubic.archiver.archive.pb.ArchiveService/GetTickTransferTransactions", runtime.WithHTTPPathPattern("/ticks/{tick_number}/transfer-transactions")) + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/qubic.archiver.archive.pb.ArchiveService/GetTickTransferTransactions", runtime.WithHTTPPathPattern("/v1/ticks/{tick_number}/transfer-transactions")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -790,7 +867,7 @@ func RegisterArchiveServiceHandlerServer(ctx context.Context, mux *runtime.Serve inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/qubic.archiver.archive.pb.ArchiveService/GetTickApprovedTransactions", runtime.WithHTTPPathPattern("/ticks/{tick_number}/approved-transactions")) + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/qubic.archiver.archive.pb.ArchiveService/GetTickApprovedTransactions", runtime.WithHTTPPathPattern("/v1/ticks/{tick_number}/approved-transactions")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -815,7 +892,7 @@ func RegisterArchiveServiceHandlerServer(ctx context.Context, mux *runtime.Serve inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/qubic.archiver.archive.pb.ArchiveService/GetChainHash", runtime.WithHTTPPathPattern("/ticks/{tick_number}/chain-hash")) + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/qubic.archiver.archive.pb.ArchiveService/GetChainHash", runtime.WithHTTPPathPattern("/v1/ticks/{tick_number}/chain-hash")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -840,7 +917,7 @@ func RegisterArchiveServiceHandlerServer(ctx context.Context, mux *runtime.Serve inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/qubic.archiver.archive.pb.ArchiveService/GetStoreHash", runtime.WithHTTPPathPattern("/ticks/{tick_number}/store-hash")) + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/qubic.archiver.archive.pb.ArchiveService/GetStoreHash", runtime.WithHTTPPathPattern("/v1/ticks/{tick_number}/store-hash")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -865,7 +942,7 @@ func RegisterArchiveServiceHandlerServer(ctx context.Context, mux *runtime.Serve inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/qubic.archiver.archive.pb.ArchiveService/GetTransaction", runtime.WithHTTPPathPattern("/transactions/{tx_id}")) + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/qubic.archiver.archive.pb.ArchiveService/GetTransaction", runtime.WithHTTPPathPattern("/v1/transactions/{tx_id}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -890,7 +967,7 @@ func RegisterArchiveServiceHandlerServer(ctx context.Context, mux *runtime.Serve inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/qubic.archiver.archive.pb.ArchiveService/GetTransactionStatus", runtime.WithHTTPPathPattern("/tx-status/{tx_id}")) + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/qubic.archiver.archive.pb.ArchiveService/GetTransactionStatus", runtime.WithHTTPPathPattern("/v1/tx-status/{tx_id}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -915,7 +992,7 @@ func RegisterArchiveServiceHandlerServer(ctx context.Context, mux *runtime.Serve inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/qubic.archiver.archive.pb.ArchiveService/GetTransferTransactionsPerTick", runtime.WithHTTPPathPattern("/identities/{identity}/transfer-transactions")) + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/qubic.archiver.archive.pb.ArchiveService/GetTransferTransactionsPerTick", runtime.WithHTTPPathPattern("/v1/identities/{identity}/transfer-transactions")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -940,7 +1017,7 @@ func RegisterArchiveServiceHandlerServer(ctx context.Context, mux *runtime.Serve inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/qubic.archiver.archive.pb.ArchiveService/GetComputors", runtime.WithHTTPPathPattern("/epochs/{epoch}/computors")) + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/qubic.archiver.archive.pb.ArchiveService/GetComputors", runtime.WithHTTPPathPattern("/v1/epochs/{epoch}/computors")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -965,7 +1042,7 @@ func RegisterArchiveServiceHandlerServer(ctx context.Context, mux *runtime.Serve inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/qubic.archiver.archive.pb.ArchiveService/GetStatus", runtime.WithHTTPPathPattern("/status")) + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/qubic.archiver.archive.pb.ArchiveService/GetStatus", runtime.WithHTTPPathPattern("/v1/status")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -990,7 +1067,7 @@ func RegisterArchiveServiceHandlerServer(ctx context.Context, mux *runtime.Serve inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/qubic.archiver.archive.pb.ArchiveService/GetLatestTick", runtime.WithHTTPPathPattern("/latestTick")) + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/qubic.archiver.archive.pb.ArchiveService/GetLatestTick", runtime.WithHTTPPathPattern("/v1/latestTick")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -1015,7 +1092,7 @@ func RegisterArchiveServiceHandlerServer(ctx context.Context, mux *runtime.Serve inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/qubic.archiver.archive.pb.ArchiveService/GetHealthCheck", runtime.WithHTTPPathPattern("/healthcheck")) + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/qubic.archiver.archive.pb.ArchiveService/GetHealthCheck", runtime.WithHTTPPathPattern("/v1/healthcheck")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -1073,13 +1150,35 @@ func RegisterArchiveServiceHandler(ctx context.Context, mux *runtime.ServeMux, c // "ArchiveServiceClient" to call the correct interceptors. func RegisterArchiveServiceHandlerClient(ctx context.Context, mux *runtime.ServeMux, client ArchiveServiceClient) error { + mux.Handle("GET", pattern_ArchiveService_GetTransactionData_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/qubic.archiver.archive.pb.ArchiveService/GetTransactionData", runtime.WithHTTPPathPattern("/v2/transaction/{tx_id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_ArchiveService_GetTransactionData_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ArchiveService_GetTransactionData_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + mux.Handle("GET", pattern_ArchiveService_GetTickData_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/qubic.archiver.archive.pb.ArchiveService/GetTickData", runtime.WithHTTPPathPattern("/ticks/{tick_number}/tick-data")) + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/qubic.archiver.archive.pb.ArchiveService/GetTickData", runtime.WithHTTPPathPattern("/v1/ticks/{tick_number}/tick-data")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -1101,7 +1200,7 @@ func RegisterArchiveServiceHandlerClient(ctx context.Context, mux *runtime.Serve inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/qubic.archiver.archive.pb.ArchiveService/GetQuorumTickData", runtime.WithHTTPPathPattern("/ticks/{tick_number}/quorum-tick-data")) + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/qubic.archiver.archive.pb.ArchiveService/GetQuorumTickData", runtime.WithHTTPPathPattern("/v1/ticks/{tick_number}/quorum-tick-data")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -1123,7 +1222,7 @@ func RegisterArchiveServiceHandlerClient(ctx context.Context, mux *runtime.Serve inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/qubic.archiver.archive.pb.ArchiveService/GetTickTransactions", runtime.WithHTTPPathPattern("/ticks/{tick_number}/transactions")) + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/qubic.archiver.archive.pb.ArchiveService/GetTickTransactions", runtime.WithHTTPPathPattern("/v1/ticks/{tick_number}/transactions")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -1145,7 +1244,7 @@ func RegisterArchiveServiceHandlerClient(ctx context.Context, mux *runtime.Serve inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/qubic.archiver.archive.pb.ArchiveService/GetTickTransferTransactions", runtime.WithHTTPPathPattern("/ticks/{tick_number}/transfer-transactions")) + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/qubic.archiver.archive.pb.ArchiveService/GetTickTransferTransactions", runtime.WithHTTPPathPattern("/v1/ticks/{tick_number}/transfer-transactions")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -1167,7 +1266,7 @@ func RegisterArchiveServiceHandlerClient(ctx context.Context, mux *runtime.Serve inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/qubic.archiver.archive.pb.ArchiveService/GetTickApprovedTransactions", runtime.WithHTTPPathPattern("/ticks/{tick_number}/approved-transactions")) + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/qubic.archiver.archive.pb.ArchiveService/GetTickApprovedTransactions", runtime.WithHTTPPathPattern("/v1/ticks/{tick_number}/approved-transactions")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -1189,7 +1288,7 @@ func RegisterArchiveServiceHandlerClient(ctx context.Context, mux *runtime.Serve inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/qubic.archiver.archive.pb.ArchiveService/GetChainHash", runtime.WithHTTPPathPattern("/ticks/{tick_number}/chain-hash")) + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/qubic.archiver.archive.pb.ArchiveService/GetChainHash", runtime.WithHTTPPathPattern("/v1/ticks/{tick_number}/chain-hash")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -1211,7 +1310,7 @@ func RegisterArchiveServiceHandlerClient(ctx context.Context, mux *runtime.Serve inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/qubic.archiver.archive.pb.ArchiveService/GetStoreHash", runtime.WithHTTPPathPattern("/ticks/{tick_number}/store-hash")) + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/qubic.archiver.archive.pb.ArchiveService/GetStoreHash", runtime.WithHTTPPathPattern("/v1/ticks/{tick_number}/store-hash")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -1233,7 +1332,7 @@ func RegisterArchiveServiceHandlerClient(ctx context.Context, mux *runtime.Serve inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/qubic.archiver.archive.pb.ArchiveService/GetTransaction", runtime.WithHTTPPathPattern("/transactions/{tx_id}")) + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/qubic.archiver.archive.pb.ArchiveService/GetTransaction", runtime.WithHTTPPathPattern("/v1/transactions/{tx_id}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -1255,7 +1354,7 @@ func RegisterArchiveServiceHandlerClient(ctx context.Context, mux *runtime.Serve inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/qubic.archiver.archive.pb.ArchiveService/GetTransactionStatus", runtime.WithHTTPPathPattern("/tx-status/{tx_id}")) + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/qubic.archiver.archive.pb.ArchiveService/GetTransactionStatus", runtime.WithHTTPPathPattern("/v1/tx-status/{tx_id}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -1277,7 +1376,7 @@ func RegisterArchiveServiceHandlerClient(ctx context.Context, mux *runtime.Serve inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/qubic.archiver.archive.pb.ArchiveService/GetTransferTransactionsPerTick", runtime.WithHTTPPathPattern("/identities/{identity}/transfer-transactions")) + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/qubic.archiver.archive.pb.ArchiveService/GetTransferTransactionsPerTick", runtime.WithHTTPPathPattern("/v1/identities/{identity}/transfer-transactions")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -1299,7 +1398,7 @@ func RegisterArchiveServiceHandlerClient(ctx context.Context, mux *runtime.Serve inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/qubic.archiver.archive.pb.ArchiveService/GetComputors", runtime.WithHTTPPathPattern("/epochs/{epoch}/computors")) + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/qubic.archiver.archive.pb.ArchiveService/GetComputors", runtime.WithHTTPPathPattern("/v1/epochs/{epoch}/computors")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -1321,7 +1420,7 @@ func RegisterArchiveServiceHandlerClient(ctx context.Context, mux *runtime.Serve inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/qubic.archiver.archive.pb.ArchiveService/GetStatus", runtime.WithHTTPPathPattern("/status")) + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/qubic.archiver.archive.pb.ArchiveService/GetStatus", runtime.WithHTTPPathPattern("/v1/status")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -1343,7 +1442,7 @@ func RegisterArchiveServiceHandlerClient(ctx context.Context, mux *runtime.Serve inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/qubic.archiver.archive.pb.ArchiveService/GetLatestTick", runtime.WithHTTPPathPattern("/latestTick")) + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/qubic.archiver.archive.pb.ArchiveService/GetLatestTick", runtime.WithHTTPPathPattern("/v1/latestTick")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -1365,7 +1464,7 @@ func RegisterArchiveServiceHandlerClient(ctx context.Context, mux *runtime.Serve inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/qubic.archiver.archive.pb.ArchiveService/GetHealthCheck", runtime.WithHTTPPathPattern("/healthcheck")) + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/qubic.archiver.archive.pb.ArchiveService/GetHealthCheck", runtime.WithHTTPPathPattern("/v1/healthcheck")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -1385,36 +1484,40 @@ func RegisterArchiveServiceHandlerClient(ctx context.Context, mux *runtime.Serve } var ( - pattern_ArchiveService_GetTickData_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"ticks", "tick_number", "tick-data"}, "")) + pattern_ArchiveService_GetTransactionData_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2}, []string{"v2", "transaction", "tx_id"}, "")) - pattern_ArchiveService_GetQuorumTickData_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"ticks", "tick_number", "quorum-tick-data"}, "")) + pattern_ArchiveService_GetTickData_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3}, []string{"v1", "ticks", "tick_number", "tick-data"}, "")) - pattern_ArchiveService_GetTickTransactions_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"ticks", "tick_number", "transactions"}, "")) + pattern_ArchiveService_GetQuorumTickData_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3}, []string{"v1", "ticks", "tick_number", "quorum-tick-data"}, "")) - pattern_ArchiveService_GetTickTransferTransactions_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"ticks", "tick_number", "transfer-transactions"}, "")) + pattern_ArchiveService_GetTickTransactions_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3}, []string{"v1", "ticks", "tick_number", "transactions"}, "")) - pattern_ArchiveService_GetTickApprovedTransactions_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"ticks", "tick_number", "approved-transactions"}, "")) + pattern_ArchiveService_GetTickTransferTransactions_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3}, []string{"v1", "ticks", "tick_number", "transfer-transactions"}, "")) - pattern_ArchiveService_GetChainHash_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"ticks", "tick_number", "chain-hash"}, "")) + pattern_ArchiveService_GetTickApprovedTransactions_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3}, []string{"v1", "ticks", "tick_number", "approved-transactions"}, "")) - pattern_ArchiveService_GetStoreHash_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"ticks", "tick_number", "store-hash"}, "")) + pattern_ArchiveService_GetChainHash_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3}, []string{"v1", "ticks", "tick_number", "chain-hash"}, "")) - pattern_ArchiveService_GetTransaction_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1}, []string{"transactions", "tx_id"}, "")) + pattern_ArchiveService_GetStoreHash_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3}, []string{"v1", "ticks", "tick_number", "store-hash"}, "")) - pattern_ArchiveService_GetTransactionStatus_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1}, []string{"tx-status", "tx_id"}, "")) + pattern_ArchiveService_GetTransaction_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2}, []string{"v1", "transactions", "tx_id"}, "")) - pattern_ArchiveService_GetTransferTransactionsPerTick_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"identities", "identity", "transfer-transactions"}, "")) + pattern_ArchiveService_GetTransactionStatus_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2}, []string{"v1", "tx-status", "tx_id"}, "")) - pattern_ArchiveService_GetComputors_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"epochs", "epoch", "computors"}, "")) + pattern_ArchiveService_GetTransferTransactionsPerTick_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3}, []string{"v1", "identities", "identity", "transfer-transactions"}, "")) - pattern_ArchiveService_GetStatus_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0}, []string{"status"}, "")) + pattern_ArchiveService_GetComputors_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3}, []string{"v1", "epochs", "epoch", "computors"}, "")) - pattern_ArchiveService_GetLatestTick_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0}, []string{"latestTick"}, "")) + pattern_ArchiveService_GetStatus_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"v1", "status"}, "")) - pattern_ArchiveService_GetHealthCheck_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0}, []string{"healthcheck"}, "")) + pattern_ArchiveService_GetLatestTick_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"v1", "latestTick"}, "")) + + pattern_ArchiveService_GetHealthCheck_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"v1", "healthcheck"}, "")) ) var ( + forward_ArchiveService_GetTransactionData_0 = runtime.ForwardResponseMessage + forward_ArchiveService_GetTickData_0 = runtime.ForwardResponseMessage forward_ArchiveService_GetQuorumTickData_0 = runtime.ForwardResponseMessage diff --git a/protobuff/archive.proto b/protobuff/archive.proto index 81f0746..e0d6eaa 100644 --- a/protobuff/archive.proto +++ b/protobuff/archive.proto @@ -38,6 +38,17 @@ message Transaction { string tx_id = 9; } + +message GetTransactionDataRequest { + string tx_id = 1; +} + +message GetTransactionDataResponse { + Transaction transaction = 1; + uint64 timestamp = 2; + bool money_flew = 3; +} + message TransactionStatus { string tx_id = 1; bool moneyFlew = 2; @@ -198,83 +209,90 @@ message ProcessedTickIntervalsPerEpoch { } service ArchiveService { + + rpc GetTransactionData(GetTransactionDataRequest) returns (GetTransactionDataResponse) { + option (google.api.http) = { + get: "/v2/transaction/{tx_id}" + }; + }; + rpc GetTickData(GetTickDataRequest) returns (GetTickDataResponse){ option (google.api.http) = { - get: "/ticks/{tick_number}/tick-data" + get: "/v1/ticks/{tick_number}/tick-data" }; }; rpc GetQuorumTickData(GetQuorumTickDataRequest) returns (GetQuorumTickDataResponse) { option (google.api.http) = { - get: "/ticks/{tick_number}/quorum-tick-data" + get: "/v1/ticks/{tick_number}/quorum-tick-data" }; }; rpc GetTickTransactions(GetTickTransactionsRequest) returns (GetTickTransactionsResponse) { option (google.api.http) = { - get: "/ticks/{tick_number}/transactions" + get: "/v1/ticks/{tick_number}/transactions" }; }; rpc GetTickTransferTransactions(GetTickTransactionsRequest) returns (GetTickTransactionsResponse) { option (google.api.http) = { - get: "/ticks/{tick_number}/transfer-transactions" + get: "/v1/ticks/{tick_number}/transfer-transactions" }; }; rpc GetTickApprovedTransactions (GetTickApprovedTransactionsRequest) returns (GetTickApprovedTransactionsResponse) { option (google.api.http) = { - get: "/ticks/{tick_number}/approved-transactions" + get: "/v1/ticks/{tick_number}/approved-transactions" }; } rpc GetChainHash(GetChainHashRequest) returns (GetChainHashResponse) { option (google.api.http) = { - get: "/ticks/{tick_number}/chain-hash" + get: "/v1/ticks/{tick_number}/chain-hash" }; }; rpc GetStoreHash(GetChainHashRequest) returns (GetChainHashResponse) { option (google.api.http) = { - get: "/ticks/{tick_number}/store-hash" + get: "/v1/ticks/{tick_number}/store-hash" }; }; rpc GetTransaction(GetTransactionRequest) returns (GetTransactionResponse) { option (google.api.http) = { - get: "/transactions/{tx_id}" + get: "/v1/transactions/{tx_id}" }; }; rpc GetTransactionStatus (GetTransactionStatusRequest) returns (GetTransactionStatusResponse) { option (google.api.http) = { - get: "/tx-status/{tx_id}" + get: "/v1/tx-status/{tx_id}" }; } rpc GetTransferTransactionsPerTick(GetTransferTransactionsPerTickRequest) returns (GetTransferTransactionsPerTickResponse) { option (google.api.http) = { - get: "/identities/{identity}/transfer-transactions" + get: "/v1/identities/{identity}/transfer-transactions" }; }; rpc GetComputors(GetComputorsRequest) returns (GetComputorsResponse) { option (google.api.http) = { - get: "/epochs/{epoch}/computors" + get: "/v1/epochs/{epoch}/computors" }; }; rpc GetStatus(google.protobuf.Empty) returns (GetStatusResponse) { option (google.api.http) = { - get: "/status" + get: "/v1/status" }; }; rpc GetLatestTick(google.protobuf.Empty) returns (GetLatestTickResponse) { option (google.api.http) = { - get: "/latestTick" + get: "/v1/latestTick" }; }; rpc GetHealthCheck(google.protobuf.Empty) returns (GetHealthCheckResponse){ option (google.api.http) = { - get: "/healthcheck" + get: "/v1/healthcheck" }; }; } \ No newline at end of file diff --git a/protobuff/archive_grpc.pb.go b/protobuff/archive_grpc.pb.go index ed21769..91b538d 100644 --- a/protobuff/archive_grpc.pb.go +++ b/protobuff/archive_grpc.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: // - protoc-gen-go-grpc v1.3.0 -// - protoc v4.23.4 +// - protoc v4.25.3 // source: archive.proto package protobuff @@ -20,6 +20,7 @@ import ( const _ = grpc.SupportPackageIsVersion7 const ( + ArchiveService_GetTransactionData_FullMethodName = "/qubic.archiver.archive.pb.ArchiveService/GetTransactionData" ArchiveService_GetTickData_FullMethodName = "/qubic.archiver.archive.pb.ArchiveService/GetTickData" ArchiveService_GetQuorumTickData_FullMethodName = "/qubic.archiver.archive.pb.ArchiveService/GetQuorumTickData" ArchiveService_GetTickTransactions_FullMethodName = "/qubic.archiver.archive.pb.ArchiveService/GetTickTransactions" @@ -40,6 +41,7 @@ const ( // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. type ArchiveServiceClient interface { + GetTransactionData(ctx context.Context, in *GetTransactionDataRequest, opts ...grpc.CallOption) (*GetTransactionDataResponse, error) GetTickData(ctx context.Context, in *GetTickDataRequest, opts ...grpc.CallOption) (*GetTickDataResponse, error) GetQuorumTickData(ctx context.Context, in *GetQuorumTickDataRequest, opts ...grpc.CallOption) (*GetQuorumTickDataResponse, error) GetTickTransactions(ctx context.Context, in *GetTickTransactionsRequest, opts ...grpc.CallOption) (*GetTickTransactionsResponse, error) @@ -64,6 +66,15 @@ func NewArchiveServiceClient(cc grpc.ClientConnInterface) ArchiveServiceClient { return &archiveServiceClient{cc} } +func (c *archiveServiceClient) GetTransactionData(ctx context.Context, in *GetTransactionDataRequest, opts ...grpc.CallOption) (*GetTransactionDataResponse, error) { + out := new(GetTransactionDataResponse) + err := c.cc.Invoke(ctx, ArchiveService_GetTransactionData_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *archiveServiceClient) GetTickData(ctx context.Context, in *GetTickDataRequest, opts ...grpc.CallOption) (*GetTickDataResponse, error) { out := new(GetTickDataResponse) err := c.cc.Invoke(ctx, ArchiveService_GetTickData_FullMethodName, in, out, opts...) @@ -194,6 +205,7 @@ func (c *archiveServiceClient) GetHealthCheck(ctx context.Context, in *emptypb.E // All implementations must embed UnimplementedArchiveServiceServer // for forward compatibility type ArchiveServiceServer interface { + GetTransactionData(context.Context, *GetTransactionDataRequest) (*GetTransactionDataResponse, error) GetTickData(context.Context, *GetTickDataRequest) (*GetTickDataResponse, error) GetQuorumTickData(context.Context, *GetQuorumTickDataRequest) (*GetQuorumTickDataResponse, error) GetTickTransactions(context.Context, *GetTickTransactionsRequest) (*GetTickTransactionsResponse, error) @@ -215,6 +227,9 @@ type ArchiveServiceServer interface { type UnimplementedArchiveServiceServer struct { } +func (UnimplementedArchiveServiceServer) GetTransactionData(context.Context, *GetTransactionDataRequest) (*GetTransactionDataResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetTransactionData not implemented") +} func (UnimplementedArchiveServiceServer) GetTickData(context.Context, *GetTickDataRequest) (*GetTickDataResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method GetTickData not implemented") } @@ -270,6 +285,24 @@ func RegisterArchiveServiceServer(s grpc.ServiceRegistrar, srv ArchiveServiceSer s.RegisterService(&ArchiveService_ServiceDesc, srv) } +func _ArchiveService_GetTransactionData_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetTransactionDataRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ArchiveServiceServer).GetTransactionData(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ArchiveService_GetTransactionData_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ArchiveServiceServer).GetTransactionData(ctx, req.(*GetTransactionDataRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _ArchiveService_GetTickData_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(GetTickDataRequest) if err := dec(in); err != nil { @@ -529,6 +562,10 @@ var ArchiveService_ServiceDesc = grpc.ServiceDesc{ ServiceName: "qubic.archiver.archive.pb.ArchiveService", HandlerType: (*ArchiveServiceServer)(nil), Methods: []grpc.MethodDesc{ + { + MethodName: "GetTransactionData", + Handler: _ArchiveService_GetTransactionData_Handler, + }, { MethodName: "GetTickData", Handler: _ArchiveService_GetTickData_Handler, diff --git a/rpc/rpc_server.go b/rpc/rpc_server.go index 4485fd5..ae0b55e 100644 --- a/rpc/rpc_server.go +++ b/rpc/rpc_server.go @@ -48,6 +48,35 @@ func NewServer(listenAddrGRPC, listenAddrHTTP string, syncThreshold int, chainTi } } +func (s *Server) GetTransactionData(ctx context.Context, req *protobuff.GetTransactionDataRequest) (*protobuff.GetTransactionDataResponse, error) { + + tx, err := s.store.GetTransaction(ctx, req.TxId) + if err != nil { + if errors.Is(err, store.ErrNotFound) { + return nil, status.Errorf(codes.NotFound, "transaction not found") + } + return nil, status.Errorf(codes.Internal, "getting transaction: %v", err) + } + + txStatus, err := s.store.GetTransactionStatus(ctx, req.TxId) + if err != nil { + return nil, status.Errorf(codes.Internal, "getting tx status: %v", err) + } + + tickData, err := s.store.GetTickData(ctx, tx.TickNumber) + if err != nil { + return nil, status.Errorf(codes.Internal, "getting tick data: %v", err) + } + + res := protobuff.GetTransactionDataResponse{ + Transaction: tx, + MoneyFlew: txStatus.MoneyFlew, + Timestamp: tickData.Timestamp, + } + return &res, nil + +} + func (s *Server) GetTickData(ctx context.Context, req *protobuff.GetTickDataRequest) (*protobuff.GetTickDataResponse, error) { lastProcessedTick, err := s.store.GetLastProcessedTick(ctx) if err != nil { From 15f9997d1fcd957675f85415c5f7333a39f569ed Mon Sep 17 00:00:00 2001 From: LINCKODE Date: Mon, 17 Jun 2024 17:03:09 +0300 Subject: [PATCH 2/7] Implement endpoints for tick transactions with additional info. --- protobuff/archive.pb.go | 1791 +++++++++++++++++++--------------- protobuff/archive.pb.gw.go | 341 ++++++- protobuff/archive.proto | 60 +- protobuff/archive_grpc.pb.go | 145 ++- rpc/rpc_server.go | 222 ++++- 5 files changed, 1742 insertions(+), 817 deletions(-) diff --git a/protobuff/archive.pb.go b/protobuff/archive.pb.go index d50aec1..33aa8d1 100644 --- a/protobuff/archive.pb.go +++ b/protobuff/archive.pb.go @@ -338,116 +338,6 @@ func (x *Transaction) GetTxId() string { return "" } -type GetTransactionDataRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - TxId string `protobuf:"bytes,1,opt,name=tx_id,json=txId,proto3" json:"tx_id,omitempty"` -} - -func (x *GetTransactionDataRequest) Reset() { - *x = GetTransactionDataRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_archive_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetTransactionDataRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetTransactionDataRequest) ProtoMessage() {} - -func (x *GetTransactionDataRequest) ProtoReflect() protoreflect.Message { - mi := &file_archive_proto_msgTypes[4] - 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 GetTransactionDataRequest.ProtoReflect.Descriptor instead. -func (*GetTransactionDataRequest) Descriptor() ([]byte, []int) { - return file_archive_proto_rawDescGZIP(), []int{4} -} - -func (x *GetTransactionDataRequest) GetTxId() string { - if x != nil { - return x.TxId - } - return "" -} - -type GetTransactionDataResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Transaction *Transaction `protobuf:"bytes,1,opt,name=transaction,proto3" json:"transaction,omitempty"` - Timestamp uint64 `protobuf:"varint,2,opt,name=timestamp,proto3" json:"timestamp,omitempty"` - MoneyFlew bool `protobuf:"varint,3,opt,name=money_flew,json=moneyFlew,proto3" json:"money_flew,omitempty"` -} - -func (x *GetTransactionDataResponse) Reset() { - *x = GetTransactionDataResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_archive_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetTransactionDataResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetTransactionDataResponse) ProtoMessage() {} - -func (x *GetTransactionDataResponse) ProtoReflect() protoreflect.Message { - mi := &file_archive_proto_msgTypes[5] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetTransactionDataResponse.ProtoReflect.Descriptor instead. -func (*GetTransactionDataResponse) Descriptor() ([]byte, []int) { - return file_archive_proto_rawDescGZIP(), []int{5} -} - -func (x *GetTransactionDataResponse) GetTransaction() *Transaction { - if x != nil { - return x.Transaction - } - return nil -} - -func (x *GetTransactionDataResponse) GetTimestamp() uint64 { - if x != nil { - return x.Timestamp - } - return 0 -} - -func (x *GetTransactionDataResponse) GetMoneyFlew() bool { - if x != nil { - return x.MoneyFlew - } - return false -} - type TransactionStatus struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -460,7 +350,7 @@ type TransactionStatus struct { func (x *TransactionStatus) Reset() { *x = TransactionStatus{} if protoimpl.UnsafeEnabled { - mi := &file_archive_proto_msgTypes[6] + mi := &file_archive_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -473,7 +363,7 @@ func (x *TransactionStatus) String() string { func (*TransactionStatus) ProtoMessage() {} func (x *TransactionStatus) ProtoReflect() protoreflect.Message { - mi := &file_archive_proto_msgTypes[6] + mi := &file_archive_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -486,7 +376,7 @@ func (x *TransactionStatus) ProtoReflect() protoreflect.Message { // Deprecated: Use TransactionStatus.ProtoReflect.Descriptor instead. func (*TransactionStatus) Descriptor() ([]byte, []int) { - return file_archive_proto_rawDescGZIP(), []int{6} + return file_archive_proto_rawDescGZIP(), []int{4} } func (x *TransactionStatus) GetTxId() string { @@ -514,7 +404,7 @@ type TickTransactionsStatus struct { func (x *TickTransactionsStatus) Reset() { *x = TickTransactionsStatus{} if protoimpl.UnsafeEnabled { - mi := &file_archive_proto_msgTypes[7] + mi := &file_archive_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -527,7 +417,7 @@ func (x *TickTransactionsStatus) String() string { func (*TickTransactionsStatus) ProtoMessage() {} func (x *TickTransactionsStatus) ProtoReflect() protoreflect.Message { - mi := &file_archive_proto_msgTypes[7] + mi := &file_archive_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -540,7 +430,7 @@ func (x *TickTransactionsStatus) ProtoReflect() protoreflect.Message { // Deprecated: Use TickTransactionsStatus.ProtoReflect.Descriptor instead. func (*TickTransactionsStatus) Descriptor() ([]byte, []int) { - return file_archive_proto_rawDescGZIP(), []int{7} + return file_archive_proto_rawDescGZIP(), []int{5} } func (x *TickTransactionsStatus) GetTransactions() []*TransactionStatus { @@ -561,7 +451,7 @@ type NextAvailableTick struct { func (x *NextAvailableTick) Reset() { *x = NextAvailableTick{} if protoimpl.UnsafeEnabled { - mi := &file_archive_proto_msgTypes[8] + mi := &file_archive_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -574,7 +464,7 @@ func (x *NextAvailableTick) String() string { func (*NextAvailableTick) ProtoMessage() {} func (x *NextAvailableTick) ProtoReflect() protoreflect.Message { - mi := &file_archive_proto_msgTypes[8] + mi := &file_archive_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -587,7 +477,7 @@ func (x *NextAvailableTick) ProtoReflect() protoreflect.Message { // Deprecated: Use NextAvailableTick.ProtoReflect.Descriptor instead. func (*NextAvailableTick) Descriptor() ([]byte, []int) { - return file_archive_proto_rawDescGZIP(), []int{8} + return file_archive_proto_rawDescGZIP(), []int{6} } func (x *NextAvailableTick) GetNextTickNumber() uint32 { @@ -608,7 +498,7 @@ type LastProcessedTick struct { func (x *LastProcessedTick) Reset() { *x = LastProcessedTick{} if protoimpl.UnsafeEnabled { - mi := &file_archive_proto_msgTypes[9] + mi := &file_archive_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -621,7 +511,7 @@ func (x *LastProcessedTick) String() string { func (*LastProcessedTick) ProtoMessage() {} func (x *LastProcessedTick) ProtoReflect() protoreflect.Message { - mi := &file_archive_proto_msgTypes[9] + mi := &file_archive_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -634,7 +524,7 @@ func (x *LastProcessedTick) ProtoReflect() protoreflect.Message { // Deprecated: Use LastProcessedTick.ProtoReflect.Descriptor instead. func (*LastProcessedTick) Descriptor() ([]byte, []int) { - return file_archive_proto_rawDescGZIP(), []int{9} + return file_archive_proto_rawDescGZIP(), []int{7} } func (x *LastProcessedTick) GetLastProcessedTick() uint32 { @@ -655,7 +545,7 @@ type GetTransactionRequest struct { func (x *GetTransactionRequest) Reset() { *x = GetTransactionRequest{} if protoimpl.UnsafeEnabled { - mi := &file_archive_proto_msgTypes[10] + mi := &file_archive_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -668,7 +558,7 @@ func (x *GetTransactionRequest) String() string { func (*GetTransactionRequest) ProtoMessage() {} func (x *GetTransactionRequest) ProtoReflect() protoreflect.Message { - mi := &file_archive_proto_msgTypes[10] + mi := &file_archive_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -681,7 +571,7 @@ func (x *GetTransactionRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetTransactionRequest.ProtoReflect.Descriptor instead. func (*GetTransactionRequest) Descriptor() ([]byte, []int) { - return file_archive_proto_rawDescGZIP(), []int{10} + return file_archive_proto_rawDescGZIP(), []int{8} } func (x *GetTransactionRequest) GetTxId() string { @@ -702,7 +592,7 @@ type GetTransactionResponse struct { func (x *GetTransactionResponse) Reset() { *x = GetTransactionResponse{} if protoimpl.UnsafeEnabled { - mi := &file_archive_proto_msgTypes[11] + mi := &file_archive_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -715,7 +605,7 @@ func (x *GetTransactionResponse) String() string { func (*GetTransactionResponse) ProtoMessage() {} func (x *GetTransactionResponse) ProtoReflect() protoreflect.Message { - mi := &file_archive_proto_msgTypes[11] + mi := &file_archive_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -728,7 +618,7 @@ func (x *GetTransactionResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetTransactionResponse.ProtoReflect.Descriptor instead. func (*GetTransactionResponse) Descriptor() ([]byte, []int) { - return file_archive_proto_rawDescGZIP(), []int{11} + return file_archive_proto_rawDescGZIP(), []int{9} } func (x *GetTransactionResponse) GetTransaction() *Transaction { @@ -749,7 +639,7 @@ type GetTransactionStatusRequest struct { func (x *GetTransactionStatusRequest) Reset() { *x = GetTransactionStatusRequest{} if protoimpl.UnsafeEnabled { - mi := &file_archive_proto_msgTypes[12] + mi := &file_archive_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -762,7 +652,7 @@ func (x *GetTransactionStatusRequest) String() string { func (*GetTransactionStatusRequest) ProtoMessage() {} func (x *GetTransactionStatusRequest) ProtoReflect() protoreflect.Message { - mi := &file_archive_proto_msgTypes[12] + mi := &file_archive_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -775,7 +665,7 @@ func (x *GetTransactionStatusRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetTransactionStatusRequest.ProtoReflect.Descriptor instead. func (*GetTransactionStatusRequest) Descriptor() ([]byte, []int) { - return file_archive_proto_rawDescGZIP(), []int{12} + return file_archive_proto_rawDescGZIP(), []int{10} } func (x *GetTransactionStatusRequest) GetTxId() string { @@ -796,7 +686,7 @@ type GetTransactionStatusResponse struct { func (x *GetTransactionStatusResponse) Reset() { *x = GetTransactionStatusResponse{} if protoimpl.UnsafeEnabled { - mi := &file_archive_proto_msgTypes[13] + mi := &file_archive_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -809,7 +699,7 @@ func (x *GetTransactionStatusResponse) String() string { func (*GetTransactionStatusResponse) ProtoMessage() {} func (x *GetTransactionStatusResponse) ProtoReflect() protoreflect.Message { - mi := &file_archive_proto_msgTypes[13] + mi := &file_archive_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -822,7 +712,7 @@ func (x *GetTransactionStatusResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetTransactionStatusResponse.ProtoReflect.Descriptor instead. func (*GetTransactionStatusResponse) Descriptor() ([]byte, []int) { - return file_archive_proto_rawDescGZIP(), []int{13} + return file_archive_proto_rawDescGZIP(), []int{11} } func (x *GetTransactionStatusResponse) GetTransactionStatus() *TransactionStatus { @@ -843,7 +733,7 @@ type GetTickTransactionsRequest struct { func (x *GetTickTransactionsRequest) Reset() { *x = GetTickTransactionsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_archive_proto_msgTypes[14] + mi := &file_archive_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -856,7 +746,7 @@ func (x *GetTickTransactionsRequest) String() string { func (*GetTickTransactionsRequest) ProtoMessage() {} func (x *GetTickTransactionsRequest) ProtoReflect() protoreflect.Message { - mi := &file_archive_proto_msgTypes[14] + mi := &file_archive_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -869,7 +759,7 @@ func (x *GetTickTransactionsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetTickTransactionsRequest.ProtoReflect.Descriptor instead. func (*GetTickTransactionsRequest) Descriptor() ([]byte, []int) { - return file_archive_proto_rawDescGZIP(), []int{14} + return file_archive_proto_rawDescGZIP(), []int{12} } func (x *GetTickTransactionsRequest) GetTickNumber() uint32 { @@ -890,7 +780,7 @@ type GetTickTransactionsResponse struct { func (x *GetTickTransactionsResponse) Reset() { *x = GetTickTransactionsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_archive_proto_msgTypes[15] + mi := &file_archive_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -903,7 +793,7 @@ func (x *GetTickTransactionsResponse) String() string { func (*GetTickTransactionsResponse) ProtoMessage() {} func (x *GetTickTransactionsResponse) ProtoReflect() protoreflect.Message { - mi := &file_archive_proto_msgTypes[15] + mi := &file_archive_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -916,7 +806,7 @@ func (x *GetTickTransactionsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetTickTransactionsResponse.ProtoReflect.Descriptor instead. func (*GetTickTransactionsResponse) Descriptor() ([]byte, []int) { - return file_archive_proto_rawDescGZIP(), []int{15} + return file_archive_proto_rawDescGZIP(), []int{13} } func (x *GetTickTransactionsResponse) GetTransactions() []*Transaction { @@ -937,7 +827,7 @@ type GetTickApprovedTransactionsRequest struct { func (x *GetTickApprovedTransactionsRequest) Reset() { *x = GetTickApprovedTransactionsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_archive_proto_msgTypes[16] + mi := &file_archive_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -950,7 +840,7 @@ func (x *GetTickApprovedTransactionsRequest) String() string { func (*GetTickApprovedTransactionsRequest) ProtoMessage() {} func (x *GetTickApprovedTransactionsRequest) ProtoReflect() protoreflect.Message { - mi := &file_archive_proto_msgTypes[16] + mi := &file_archive_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -963,7 +853,7 @@ func (x *GetTickApprovedTransactionsRequest) ProtoReflect() protoreflect.Message // Deprecated: Use GetTickApprovedTransactionsRequest.ProtoReflect.Descriptor instead. func (*GetTickApprovedTransactionsRequest) Descriptor() ([]byte, []int) { - return file_archive_proto_rawDescGZIP(), []int{16} + return file_archive_proto_rawDescGZIP(), []int{14} } func (x *GetTickApprovedTransactionsRequest) GetTickNumber() uint32 { @@ -984,7 +874,7 @@ type GetTickApprovedTransactionsResponse struct { func (x *GetTickApprovedTransactionsResponse) Reset() { *x = GetTickApprovedTransactionsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_archive_proto_msgTypes[17] + mi := &file_archive_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -997,7 +887,7 @@ func (x *GetTickApprovedTransactionsResponse) String() string { func (*GetTickApprovedTransactionsResponse) ProtoMessage() {} func (x *GetTickApprovedTransactionsResponse) ProtoReflect() protoreflect.Message { - mi := &file_archive_proto_msgTypes[17] + mi := &file_archive_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1010,7 +900,7 @@ func (x *GetTickApprovedTransactionsResponse) ProtoReflect() protoreflect.Messag // Deprecated: Use GetTickApprovedTransactionsResponse.ProtoReflect.Descriptor instead. func (*GetTickApprovedTransactionsResponse) Descriptor() ([]byte, []int) { - return file_archive_proto_rawDescGZIP(), []int{17} + return file_archive_proto_rawDescGZIP(), []int{15} } func (x *GetTickApprovedTransactionsResponse) GetApprovedTransactions() []*Transaction { @@ -1036,7 +926,7 @@ type QuorumDiff struct { func (x *QuorumDiff) Reset() { *x = QuorumDiff{} if protoimpl.UnsafeEnabled { - mi := &file_archive_proto_msgTypes[18] + mi := &file_archive_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1049,7 +939,7 @@ func (x *QuorumDiff) String() string { func (*QuorumDiff) ProtoMessage() {} func (x *QuorumDiff) ProtoReflect() protoreflect.Message { - mi := &file_archive_proto_msgTypes[18] + mi := &file_archive_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1062,7 +952,7 @@ func (x *QuorumDiff) ProtoReflect() protoreflect.Message { // Deprecated: Use QuorumDiff.ProtoReflect.Descriptor instead. func (*QuorumDiff) Descriptor() ([]byte, []int) { - return file_archive_proto_rawDescGZIP(), []int{18} + return file_archive_proto_rawDescGZIP(), []int{16} } func (x *QuorumDiff) GetSaltedResourceTestingDigestHex() string { @@ -1125,7 +1015,7 @@ type QuorumTickStructure struct { func (x *QuorumTickStructure) Reset() { *x = QuorumTickStructure{} if protoimpl.UnsafeEnabled { - mi := &file_archive_proto_msgTypes[19] + mi := &file_archive_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1138,7 +1028,7 @@ func (x *QuorumTickStructure) String() string { func (*QuorumTickStructure) ProtoMessage() {} func (x *QuorumTickStructure) ProtoReflect() protoreflect.Message { - mi := &file_archive_proto_msgTypes[19] + mi := &file_archive_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1151,7 +1041,7 @@ func (x *QuorumTickStructure) ProtoReflect() protoreflect.Message { // Deprecated: Use QuorumTickStructure.ProtoReflect.Descriptor instead. func (*QuorumTickStructure) Descriptor() ([]byte, []int) { - return file_archive_proto_rawDescGZIP(), []int{19} + return file_archive_proto_rawDescGZIP(), []int{17} } func (x *QuorumTickStructure) GetEpoch() uint32 { @@ -1222,7 +1112,7 @@ type SkippedTicksInterval struct { func (x *SkippedTicksInterval) Reset() { *x = SkippedTicksInterval{} if protoimpl.UnsafeEnabled { - mi := &file_archive_proto_msgTypes[20] + mi := &file_archive_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1235,7 +1125,7 @@ func (x *SkippedTicksInterval) String() string { func (*SkippedTicksInterval) ProtoMessage() {} func (x *SkippedTicksInterval) ProtoReflect() protoreflect.Message { - mi := &file_archive_proto_msgTypes[20] + mi := &file_archive_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1248,7 +1138,7 @@ func (x *SkippedTicksInterval) ProtoReflect() protoreflect.Message { // Deprecated: Use SkippedTicksInterval.ProtoReflect.Descriptor instead. func (*SkippedTicksInterval) Descriptor() ([]byte, []int) { - return file_archive_proto_rawDescGZIP(), []int{20} + return file_archive_proto_rawDescGZIP(), []int{18} } func (x *SkippedTicksInterval) GetStartTick() uint32 { @@ -1276,7 +1166,7 @@ type SkippedTicksIntervalList struct { func (x *SkippedTicksIntervalList) Reset() { *x = SkippedTicksIntervalList{} if protoimpl.UnsafeEnabled { - mi := &file_archive_proto_msgTypes[21] + mi := &file_archive_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1289,7 +1179,7 @@ func (x *SkippedTicksIntervalList) String() string { func (*SkippedTicksIntervalList) ProtoMessage() {} func (x *SkippedTicksIntervalList) ProtoReflect() protoreflect.Message { - mi := &file_archive_proto_msgTypes[21] + mi := &file_archive_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1302,7 +1192,7 @@ func (x *SkippedTicksIntervalList) ProtoReflect() protoreflect.Message { // Deprecated: Use SkippedTicksIntervalList.ProtoReflect.Descriptor instead. func (*SkippedTicksIntervalList) Descriptor() ([]byte, []int) { - return file_archive_proto_rawDescGZIP(), []int{21} + return file_archive_proto_rawDescGZIP(), []int{19} } func (x *SkippedTicksIntervalList) GetSkippedTicks() []*SkippedTicksInterval { @@ -1324,7 +1214,7 @@ type QuorumTickData struct { func (x *QuorumTickData) Reset() { *x = QuorumTickData{} if protoimpl.UnsafeEnabled { - mi := &file_archive_proto_msgTypes[22] + mi := &file_archive_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1337,7 +1227,7 @@ func (x *QuorumTickData) String() string { func (*QuorumTickData) ProtoMessage() {} func (x *QuorumTickData) ProtoReflect() protoreflect.Message { - mi := &file_archive_proto_msgTypes[22] + mi := &file_archive_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1350,7 +1240,7 @@ func (x *QuorumTickData) ProtoReflect() protoreflect.Message { // Deprecated: Use QuorumTickData.ProtoReflect.Descriptor instead. func (*QuorumTickData) Descriptor() ([]byte, []int) { - return file_archive_proto_rawDescGZIP(), []int{22} + return file_archive_proto_rawDescGZIP(), []int{20} } func (x *QuorumTickData) GetQuorumTickStructure() *QuorumTickStructure { @@ -1378,7 +1268,7 @@ type GetQuorumTickDataRequest struct { func (x *GetQuorumTickDataRequest) Reset() { *x = GetQuorumTickDataRequest{} if protoimpl.UnsafeEnabled { - mi := &file_archive_proto_msgTypes[23] + mi := &file_archive_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1391,7 +1281,7 @@ func (x *GetQuorumTickDataRequest) String() string { func (*GetQuorumTickDataRequest) ProtoMessage() {} func (x *GetQuorumTickDataRequest) ProtoReflect() protoreflect.Message { - mi := &file_archive_proto_msgTypes[23] + mi := &file_archive_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1404,7 +1294,7 @@ func (x *GetQuorumTickDataRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetQuorumTickDataRequest.ProtoReflect.Descriptor instead. func (*GetQuorumTickDataRequest) Descriptor() ([]byte, []int) { - return file_archive_proto_rawDescGZIP(), []int{23} + return file_archive_proto_rawDescGZIP(), []int{21} } func (x *GetQuorumTickDataRequest) GetTickNumber() uint32 { @@ -1425,7 +1315,7 @@ type GetQuorumTickDataResponse struct { func (x *GetQuorumTickDataResponse) Reset() { *x = GetQuorumTickDataResponse{} if protoimpl.UnsafeEnabled { - mi := &file_archive_proto_msgTypes[24] + mi := &file_archive_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1438,7 +1328,7 @@ func (x *GetQuorumTickDataResponse) String() string { func (*GetQuorumTickDataResponse) ProtoMessage() {} func (x *GetQuorumTickDataResponse) ProtoReflect() protoreflect.Message { - mi := &file_archive_proto_msgTypes[24] + mi := &file_archive_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1451,7 +1341,7 @@ func (x *GetQuorumTickDataResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetQuorumTickDataResponse.ProtoReflect.Descriptor instead. func (*GetQuorumTickDataResponse) Descriptor() ([]byte, []int) { - return file_archive_proto_rawDescGZIP(), []int{24} + return file_archive_proto_rawDescGZIP(), []int{22} } func (x *GetQuorumTickDataResponse) GetQuorumTickData() *QuorumTickData { @@ -1474,7 +1364,7 @@ type Computors struct { func (x *Computors) Reset() { *x = Computors{} if protoimpl.UnsafeEnabled { - mi := &file_archive_proto_msgTypes[25] + mi := &file_archive_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1487,7 +1377,7 @@ func (x *Computors) String() string { func (*Computors) ProtoMessage() {} func (x *Computors) ProtoReflect() protoreflect.Message { - mi := &file_archive_proto_msgTypes[25] + mi := &file_archive_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1500,7 +1390,7 @@ func (x *Computors) ProtoReflect() protoreflect.Message { // Deprecated: Use Computors.ProtoReflect.Descriptor instead. func (*Computors) Descriptor() ([]byte, []int) { - return file_archive_proto_rawDescGZIP(), []int{25} + return file_archive_proto_rawDescGZIP(), []int{23} } func (x *Computors) GetEpoch() uint32 { @@ -1535,7 +1425,7 @@ type GetComputorsRequest struct { func (x *GetComputorsRequest) Reset() { *x = GetComputorsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_archive_proto_msgTypes[26] + mi := &file_archive_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1548,7 +1438,7 @@ func (x *GetComputorsRequest) String() string { func (*GetComputorsRequest) ProtoMessage() {} func (x *GetComputorsRequest) ProtoReflect() protoreflect.Message { - mi := &file_archive_proto_msgTypes[26] + mi := &file_archive_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1561,7 +1451,7 @@ func (x *GetComputorsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetComputorsRequest.ProtoReflect.Descriptor instead. func (*GetComputorsRequest) Descriptor() ([]byte, []int) { - return file_archive_proto_rawDescGZIP(), []int{26} + return file_archive_proto_rawDescGZIP(), []int{24} } func (x *GetComputorsRequest) GetEpoch() uint32 { @@ -1582,7 +1472,7 @@ type GetComputorsResponse struct { func (x *GetComputorsResponse) Reset() { *x = GetComputorsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_archive_proto_msgTypes[27] + mi := &file_archive_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1595,7 +1485,7 @@ func (x *GetComputorsResponse) String() string { func (*GetComputorsResponse) ProtoMessage() {} func (x *GetComputorsResponse) ProtoReflect() protoreflect.Message { - mi := &file_archive_proto_msgTypes[27] + mi := &file_archive_proto_msgTypes[25] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1608,7 +1498,7 @@ func (x *GetComputorsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetComputorsResponse.ProtoReflect.Descriptor instead. func (*GetComputorsResponse) Descriptor() ([]byte, []int) { - return file_archive_proto_rawDescGZIP(), []int{27} + return file_archive_proto_rawDescGZIP(), []int{25} } func (x *GetComputorsResponse) GetComputors() *Computors { @@ -1631,7 +1521,7 @@ type TransferTransactionsPerTick struct { func (x *TransferTransactionsPerTick) Reset() { *x = TransferTransactionsPerTick{} if protoimpl.UnsafeEnabled { - mi := &file_archive_proto_msgTypes[28] + mi := &file_archive_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1644,7 +1534,7 @@ func (x *TransferTransactionsPerTick) String() string { func (*TransferTransactionsPerTick) ProtoMessage() {} func (x *TransferTransactionsPerTick) ProtoReflect() protoreflect.Message { - mi := &file_archive_proto_msgTypes[28] + mi := &file_archive_proto_msgTypes[26] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1657,7 +1547,7 @@ func (x *TransferTransactionsPerTick) ProtoReflect() protoreflect.Message { // Deprecated: Use TransferTransactionsPerTick.ProtoReflect.Descriptor instead. func (*TransferTransactionsPerTick) Descriptor() ([]byte, []int) { - return file_archive_proto_rawDescGZIP(), []int{28} + return file_archive_proto_rawDescGZIP(), []int{26} } func (x *TransferTransactionsPerTick) GetTickNumber() uint32 { @@ -1693,7 +1583,7 @@ type ProcessedTick struct { func (x *ProcessedTick) Reset() { *x = ProcessedTick{} if protoimpl.UnsafeEnabled { - mi := &file_archive_proto_msgTypes[29] + mi := &file_archive_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1706,7 +1596,7 @@ func (x *ProcessedTick) String() string { func (*ProcessedTick) ProtoMessage() {} func (x *ProcessedTick) ProtoReflect() protoreflect.Message { - mi := &file_archive_proto_msgTypes[29] + mi := &file_archive_proto_msgTypes[27] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1719,7 +1609,7 @@ func (x *ProcessedTick) ProtoReflect() protoreflect.Message { // Deprecated: Use ProcessedTick.ProtoReflect.Descriptor instead. func (*ProcessedTick) Descriptor() ([]byte, []int) { - return file_archive_proto_rawDescGZIP(), []int{29} + return file_archive_proto_rawDescGZIP(), []int{27} } func (x *ProcessedTick) GetTickNumber() uint32 { @@ -1750,7 +1640,7 @@ type GetStatusResponse struct { func (x *GetStatusResponse) Reset() { *x = GetStatusResponse{} if protoimpl.UnsafeEnabled { - mi := &file_archive_proto_msgTypes[30] + mi := &file_archive_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1763,7 +1653,7 @@ func (x *GetStatusResponse) String() string { func (*GetStatusResponse) ProtoMessage() {} func (x *GetStatusResponse) ProtoReflect() protoreflect.Message { - mi := &file_archive_proto_msgTypes[30] + mi := &file_archive_proto_msgTypes[28] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1776,7 +1666,7 @@ func (x *GetStatusResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetStatusResponse.ProtoReflect.Descriptor instead. func (*GetStatusResponse) Descriptor() ([]byte, []int) { - return file_archive_proto_rawDescGZIP(), []int{30} + return file_archive_proto_rawDescGZIP(), []int{28} } func (x *GetStatusResponse) GetLastProcessedTick() *ProcessedTick { @@ -1818,7 +1708,7 @@ type GetHealthCheckResponse struct { func (x *GetHealthCheckResponse) Reset() { *x = GetHealthCheckResponse{} if protoimpl.UnsafeEnabled { - mi := &file_archive_proto_msgTypes[31] + mi := &file_archive_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1831,7 +1721,7 @@ func (x *GetHealthCheckResponse) String() string { func (*GetHealthCheckResponse) ProtoMessage() {} func (x *GetHealthCheckResponse) ProtoReflect() protoreflect.Message { - mi := &file_archive_proto_msgTypes[31] + mi := &file_archive_proto_msgTypes[29] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1844,7 +1734,7 @@ func (x *GetHealthCheckResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetHealthCheckResponse.ProtoReflect.Descriptor instead. func (*GetHealthCheckResponse) Descriptor() ([]byte, []int) { - return file_archive_proto_rawDescGZIP(), []int{31} + return file_archive_proto_rawDescGZIP(), []int{29} } func (x *GetHealthCheckResponse) GetStatus() bool { @@ -1865,7 +1755,7 @@ type GetLatestTickResponse struct { func (x *GetLatestTickResponse) Reset() { *x = GetLatestTickResponse{} if protoimpl.UnsafeEnabled { - mi := &file_archive_proto_msgTypes[32] + mi := &file_archive_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1878,7 +1768,7 @@ func (x *GetLatestTickResponse) String() string { func (*GetLatestTickResponse) ProtoMessage() {} func (x *GetLatestTickResponse) ProtoReflect() protoreflect.Message { - mi := &file_archive_proto_msgTypes[32] + mi := &file_archive_proto_msgTypes[30] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1891,7 +1781,7 @@ func (x *GetLatestTickResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetLatestTickResponse.ProtoReflect.Descriptor instead. func (*GetLatestTickResponse) Descriptor() ([]byte, []int) { - return file_archive_proto_rawDescGZIP(), []int{32} + return file_archive_proto_rawDescGZIP(), []int{30} } func (x *GetLatestTickResponse) GetLatestTick() uint32 { @@ -1914,7 +1804,7 @@ type GetTransferTransactionsPerTickRequest struct { func (x *GetTransferTransactionsPerTickRequest) Reset() { *x = GetTransferTransactionsPerTickRequest{} if protoimpl.UnsafeEnabled { - mi := &file_archive_proto_msgTypes[33] + mi := &file_archive_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1927,7 +1817,7 @@ func (x *GetTransferTransactionsPerTickRequest) String() string { func (*GetTransferTransactionsPerTickRequest) ProtoMessage() {} func (x *GetTransferTransactionsPerTickRequest) ProtoReflect() protoreflect.Message { - mi := &file_archive_proto_msgTypes[33] + mi := &file_archive_proto_msgTypes[31] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1940,7 +1830,7 @@ func (x *GetTransferTransactionsPerTickRequest) ProtoReflect() protoreflect.Mess // Deprecated: Use GetTransferTransactionsPerTickRequest.ProtoReflect.Descriptor instead. func (*GetTransferTransactionsPerTickRequest) Descriptor() ([]byte, []int) { - return file_archive_proto_rawDescGZIP(), []int{33} + return file_archive_proto_rawDescGZIP(), []int{31} } func (x *GetTransferTransactionsPerTickRequest) GetIdentity() string { @@ -1975,7 +1865,7 @@ type GetTransferTransactionsPerTickResponse struct { func (x *GetTransferTransactionsPerTickResponse) Reset() { *x = GetTransferTransactionsPerTickResponse{} if protoimpl.UnsafeEnabled { - mi := &file_archive_proto_msgTypes[34] + mi := &file_archive_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1988,7 +1878,7 @@ func (x *GetTransferTransactionsPerTickResponse) String() string { func (*GetTransferTransactionsPerTickResponse) ProtoMessage() {} func (x *GetTransferTransactionsPerTickResponse) ProtoReflect() protoreflect.Message { - mi := &file_archive_proto_msgTypes[34] + mi := &file_archive_proto_msgTypes[32] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2001,7 +1891,7 @@ func (x *GetTransferTransactionsPerTickResponse) ProtoReflect() protoreflect.Mes // Deprecated: Use GetTransferTransactionsPerTickResponse.ProtoReflect.Descriptor instead. func (*GetTransferTransactionsPerTickResponse) Descriptor() ([]byte, []int) { - return file_archive_proto_rawDescGZIP(), []int{34} + return file_archive_proto_rawDescGZIP(), []int{32} } func (x *GetTransferTransactionsPerTickResponse) GetTransferTransactionsPerTick() []*TransferTransactionsPerTick { @@ -2022,7 +1912,7 @@ type GetChainHashRequest struct { func (x *GetChainHashRequest) Reset() { *x = GetChainHashRequest{} if protoimpl.UnsafeEnabled { - mi := &file_archive_proto_msgTypes[35] + mi := &file_archive_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2035,7 +1925,7 @@ func (x *GetChainHashRequest) String() string { func (*GetChainHashRequest) ProtoMessage() {} func (x *GetChainHashRequest) ProtoReflect() protoreflect.Message { - mi := &file_archive_proto_msgTypes[35] + mi := &file_archive_proto_msgTypes[33] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2048,7 +1938,7 @@ func (x *GetChainHashRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetChainHashRequest.ProtoReflect.Descriptor instead. func (*GetChainHashRequest) Descriptor() ([]byte, []int) { - return file_archive_proto_rawDescGZIP(), []int{35} + return file_archive_proto_rawDescGZIP(), []int{33} } func (x *GetChainHashRequest) GetTickNumber() uint32 { @@ -2069,7 +1959,7 @@ type GetChainHashResponse struct { func (x *GetChainHashResponse) Reset() { *x = GetChainHashResponse{} if protoimpl.UnsafeEnabled { - mi := &file_archive_proto_msgTypes[36] + mi := &file_archive_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2082,7 +1972,7 @@ func (x *GetChainHashResponse) String() string { func (*GetChainHashResponse) ProtoMessage() {} func (x *GetChainHashResponse) ProtoReflect() protoreflect.Message { - mi := &file_archive_proto_msgTypes[36] + mi := &file_archive_proto_msgTypes[34] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2095,7 +1985,7 @@ func (x *GetChainHashResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetChainHashResponse.ProtoReflect.Descriptor instead. func (*GetChainHashResponse) Descriptor() ([]byte, []int) { - return file_archive_proto_rawDescGZIP(), []int{36} + return file_archive_proto_rawDescGZIP(), []int{34} } func (x *GetChainHashResponse) GetHexDigest() string { @@ -2117,7 +2007,7 @@ type ProcessedTickInterval struct { func (x *ProcessedTickInterval) Reset() { *x = ProcessedTickInterval{} if protoimpl.UnsafeEnabled { - mi := &file_archive_proto_msgTypes[37] + mi := &file_archive_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2130,7 +2020,7 @@ func (x *ProcessedTickInterval) String() string { func (*ProcessedTickInterval) ProtoMessage() {} func (x *ProcessedTickInterval) ProtoReflect() protoreflect.Message { - mi := &file_archive_proto_msgTypes[37] + mi := &file_archive_proto_msgTypes[35] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2143,7 +2033,7 @@ func (x *ProcessedTickInterval) ProtoReflect() protoreflect.Message { // Deprecated: Use ProcessedTickInterval.ProtoReflect.Descriptor instead. func (*ProcessedTickInterval) Descriptor() ([]byte, []int) { - return file_archive_proto_rawDescGZIP(), []int{37} + return file_archive_proto_rawDescGZIP(), []int{35} } func (x *ProcessedTickInterval) GetInitialProcessedTick() uint32 { @@ -2172,7 +2062,7 @@ type ProcessedTickIntervalsPerEpoch struct { func (x *ProcessedTickIntervalsPerEpoch) Reset() { *x = ProcessedTickIntervalsPerEpoch{} if protoimpl.UnsafeEnabled { - mi := &file_archive_proto_msgTypes[38] + mi := &file_archive_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2185,7 +2075,7 @@ func (x *ProcessedTickIntervalsPerEpoch) String() string { func (*ProcessedTickIntervalsPerEpoch) ProtoMessage() {} func (x *ProcessedTickIntervalsPerEpoch) ProtoReflect() protoreflect.Message { - mi := &file_archive_proto_msgTypes[38] + mi := &file_archive_proto_msgTypes[36] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2198,7 +2088,7 @@ func (x *ProcessedTickIntervalsPerEpoch) ProtoReflect() protoreflect.Message { // Deprecated: Use ProcessedTickIntervalsPerEpoch.ProtoReflect.Descriptor instead. func (*ProcessedTickIntervalsPerEpoch) Descriptor() ([]byte, []int) { - return file_archive_proto_rawDescGZIP(), []int{38} + return file_archive_proto_rawDescGZIP(), []int{36} } func (x *ProcessedTickIntervalsPerEpoch) GetEpoch() uint32 { @@ -2215,6 +2105,276 @@ func (x *ProcessedTickIntervalsPerEpoch) GetIntervals() []*ProcessedTickInterval return nil } +// Wrapper around transaction and additional data +type TransactionData struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Transaction *Transaction `protobuf:"bytes,1,opt,name=transaction,proto3" json:"transaction,omitempty"` + Timestamp uint64 `protobuf:"varint,2,opt,name=timestamp,proto3" json:"timestamp,omitempty"` + MoneyFlew bool `protobuf:"varint,3,opt,name=money_flew,json=moneyFlew,proto3" json:"money_flew,omitempty"` +} + +func (x *TransactionData) Reset() { + *x = TransactionData{} + if protoimpl.UnsafeEnabled { + mi := &file_archive_proto_msgTypes[37] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TransactionData) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TransactionData) ProtoMessage() {} + +func (x *TransactionData) ProtoReflect() protoreflect.Message { + mi := &file_archive_proto_msgTypes[37] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TransactionData.ProtoReflect.Descriptor instead. +func (*TransactionData) Descriptor() ([]byte, []int) { + return file_archive_proto_rawDescGZIP(), []int{37} +} + +func (x *TransactionData) GetTransaction() *Transaction { + if x != nil { + return x.Transaction + } + return nil +} + +func (x *TransactionData) GetTimestamp() uint64 { + if x != nil { + return x.Timestamp + } + return 0 +} + +func (x *TransactionData) GetMoneyFlew() bool { + if x != nil { + return x.MoneyFlew + } + return false +} + +// Tick Transactions +type GetTickTransactionsRequestV2 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TickNumber uint32 `protobuf:"varint,1,opt,name=tick_number,json=tickNumber,proto3" json:"tick_number,omitempty"` +} + +func (x *GetTickTransactionsRequestV2) Reset() { + *x = GetTickTransactionsRequestV2{} + if protoimpl.UnsafeEnabled { + mi := &file_archive_proto_msgTypes[38] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetTickTransactionsRequestV2) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetTickTransactionsRequestV2) ProtoMessage() {} + +func (x *GetTickTransactionsRequestV2) ProtoReflect() protoreflect.Message { + mi := &file_archive_proto_msgTypes[38] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetTickTransactionsRequestV2.ProtoReflect.Descriptor instead. +func (*GetTickTransactionsRequestV2) Descriptor() ([]byte, []int) { + return file_archive_proto_rawDescGZIP(), []int{38} +} + +func (x *GetTickTransactionsRequestV2) GetTickNumber() uint32 { + if x != nil { + return x.TickNumber + } + return 0 +} + +type GetTickTransactionsResponseV2 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Transactions []*TransactionData `protobuf:"bytes,1,rep,name=transactions,proto3" json:"transactions,omitempty"` +} + +func (x *GetTickTransactionsResponseV2) Reset() { + *x = GetTickTransactionsResponseV2{} + if protoimpl.UnsafeEnabled { + mi := &file_archive_proto_msgTypes[39] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetTickTransactionsResponseV2) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetTickTransactionsResponseV2) ProtoMessage() {} + +func (x *GetTickTransactionsResponseV2) ProtoReflect() protoreflect.Message { + mi := &file_archive_proto_msgTypes[39] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetTickTransactionsResponseV2.ProtoReflect.Descriptor instead. +func (*GetTickTransactionsResponseV2) Descriptor() ([]byte, []int) { + return file_archive_proto_rawDescGZIP(), []int{39} +} + +func (x *GetTickTransactionsResponseV2) GetTransactions() []*TransactionData { + if x != nil { + return x.Transactions + } + return nil +} + +// Get Transaction +type GetTransactionRequestV2 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TxId string `protobuf:"bytes,1,opt,name=tx_id,json=txId,proto3" json:"tx_id,omitempty"` +} + +func (x *GetTransactionRequestV2) Reset() { + *x = GetTransactionRequestV2{} + if protoimpl.UnsafeEnabled { + mi := &file_archive_proto_msgTypes[40] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetTransactionRequestV2) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetTransactionRequestV2) ProtoMessage() {} + +func (x *GetTransactionRequestV2) ProtoReflect() protoreflect.Message { + mi := &file_archive_proto_msgTypes[40] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetTransactionRequestV2.ProtoReflect.Descriptor instead. +func (*GetTransactionRequestV2) Descriptor() ([]byte, []int) { + return file_archive_proto_rawDescGZIP(), []int{40} +} + +func (x *GetTransactionRequestV2) GetTxId() string { + if x != nil { + return x.TxId + } + return "" +} + +type GetTransactionResponseV2 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Transaction *Transaction `protobuf:"bytes,1,opt,name=transaction,proto3" json:"transaction,omitempty"` + Timestamp uint64 `protobuf:"varint,2,opt,name=timestamp,proto3" json:"timestamp,omitempty"` + MoneyFlew bool `protobuf:"varint,3,opt,name=money_flew,json=moneyFlew,proto3" json:"money_flew,omitempty"` +} + +func (x *GetTransactionResponseV2) Reset() { + *x = GetTransactionResponseV2{} + if protoimpl.UnsafeEnabled { + mi := &file_archive_proto_msgTypes[41] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetTransactionResponseV2) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetTransactionResponseV2) ProtoMessage() {} + +func (x *GetTransactionResponseV2) ProtoReflect() protoreflect.Message { + mi := &file_archive_proto_msgTypes[41] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetTransactionResponseV2.ProtoReflect.Descriptor instead. +func (*GetTransactionResponseV2) Descriptor() ([]byte, []int) { + return file_archive_proto_rawDescGZIP(), []int{41} +} + +func (x *GetTransactionResponseV2) GetTransaction() *Transaction { + if x != nil { + return x.Transaction + } + return nil +} + +func (x *GetTransactionResponseV2) GetTimestamp() uint64 { + if x != nil { + return x.Timestamp + } + return 0 +} + +func (x *GetTransactionResponseV2) GetMoneyFlew() bool { + if x != nil { + return x.MoneyFlew + } + return false +} + var File_archive_proto protoreflect.FileDescriptor var file_archive_proto_rawDesc = []byte{ @@ -2270,448 +2430,506 @@ var file_archive_proto_rawDesc = []byte{ 0x74, 0x75, 0x72, 0x65, 0x5f, 0x68, 0x65, 0x78, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x48, 0x65, 0x78, 0x12, 0x13, 0x0a, 0x05, 0x74, 0x78, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x78, 0x49, - 0x64, 0x22, 0x30, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x13, - 0x0a, 0x05, 0x74, 0x78, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, - 0x78, 0x49, 0x64, 0x22, 0xa3, 0x01, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, - 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x48, 0x0a, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, - 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, - 0x2e, 0x70, 0x62, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, - 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x6f, - 0x6e, 0x65, 0x79, 0x5f, 0x66, 0x6c, 0x65, 0x77, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, - 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x46, 0x6c, 0x65, 0x77, 0x22, 0x46, 0x0a, 0x11, 0x54, 0x72, 0x61, - 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x13, - 0x0a, 0x05, 0x74, 0x78, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, - 0x78, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x46, 0x6c, 0x65, 0x77, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x46, 0x6c, 0x65, - 0x77, 0x22, 0x6a, 0x0a, 0x16, 0x54, 0x69, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x50, 0x0a, 0x0c, 0x74, - 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x2c, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, - 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x54, 0x72, - 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, - 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x3d, 0x0a, - 0x11, 0x4e, 0x65, 0x78, 0x74, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x69, - 0x63, 0x6b, 0x12, 0x28, 0x0a, 0x10, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x5f, - 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x6e, 0x65, - 0x78, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x43, 0x0a, 0x11, - 0x4c, 0x61, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x54, 0x69, 0x63, - 0x6b, 0x12, 0x2e, 0x0a, 0x13, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, - 0x73, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, - 0x6c, 0x61, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x54, 0x69, 0x63, - 0x6b, 0x22, 0x2c, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x13, 0x0a, 0x05, 0x74, 0x78, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x78, 0x49, 0x64, 0x22, - 0x62, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x48, 0x0a, 0x0b, 0x74, 0x72, 0x61, - 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, - 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, - 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, - 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x22, 0x32, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x64, 0x22, 0x46, 0x0a, 0x11, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x13, 0x0a, 0x05, 0x74, 0x78, 0x5f, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x78, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x6d, + 0x6f, 0x6e, 0x65, 0x79, 0x46, 0x6c, 0x65, 0x77, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, + 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x46, 0x6c, 0x65, 0x77, 0x22, 0x6a, 0x0a, 0x16, 0x54, 0x69, 0x63, + 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x12, 0x50, 0x0a, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x71, 0x75, 0x62, 0x69, + 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, + 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x3d, 0x0a, 0x11, 0x4e, 0x65, 0x78, 0x74, 0x41, 0x76, 0x61, + 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x69, 0x63, 0x6b, 0x12, 0x28, 0x0a, 0x10, 0x6e, 0x65, + 0x78, 0x74, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x6e, 0x65, 0x78, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x4e, 0x75, + 0x6d, 0x62, 0x65, 0x72, 0x22, 0x43, 0x0a, 0x11, 0x4c, 0x61, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x63, + 0x65, 0x73, 0x73, 0x65, 0x64, 0x54, 0x69, 0x63, 0x6b, 0x12, 0x2e, 0x0a, 0x13, 0x6c, 0x61, 0x73, + 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x63, 0x6b, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x6c, 0x61, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x63, + 0x65, 0x73, 0x73, 0x65, 0x64, 0x54, 0x69, 0x63, 0x6b, 0x22, 0x2c, 0x0a, 0x15, 0x47, 0x65, 0x74, + 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x13, 0x0a, 0x05, 0x74, 0x78, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x74, 0x78, 0x49, 0x64, 0x22, 0x7b, 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x54, 0x72, - 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5b, 0x0a, 0x12, 0x74, 0x72, 0x61, 0x6e, 0x73, - 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, - 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, - 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x52, 0x11, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x22, 0x3d, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x54, - 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, - 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x74, 0x69, 0x63, 0x6b, 0x4e, 0x75, 0x6d, - 0x62, 0x65, 0x72, 0x22, 0x69, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x54, 0x72, - 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, - 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, - 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x45, - 0x0a, 0x22, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, - 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, - 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x74, 0x69, 0x63, 0x6b, 0x4e, - 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x82, 0x01, 0x0a, 0x23, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, + 0x09, 0x52, 0x04, 0x74, 0x78, 0x49, 0x64, 0x22, 0x62, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x54, 0x72, + 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x48, 0x0a, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, + 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, + 0x70, 0x62, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, + 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x32, 0x0a, 0x1b, 0x47, + 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x13, 0x0a, 0x05, 0x74, 0x78, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x78, 0x49, 0x64, 0x22, + 0x7b, 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x5b, 0x0a, 0x12, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x71, 0x75, + 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, + 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x11, 0x74, 0x72, 0x61, 0x6e, 0x73, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x3d, 0x0a, 0x1a, + 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x69, + 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x0a, 0x74, 0x69, 0x63, 0x6b, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x69, 0x0a, 0x1b, 0x47, + 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x0c, 0x74, 0x72, + 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x26, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, + 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x54, 0x72, 0x61, + 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x45, 0x0a, 0x22, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5b, 0x0a, - 0x15, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x64, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x71, - 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, - 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x14, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x64, 0x54, 0x72, - 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xfb, 0x02, 0x0a, 0x0a, 0x51, - 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x44, 0x69, 0x66, 0x66, 0x12, 0x4a, 0x0a, 0x22, 0x73, 0x61, 0x6c, - 0x74, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x65, 0x73, - 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x78, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1e, 0x73, 0x61, 0x6c, 0x74, 0x65, 0x64, 0x52, 0x65, 0x73, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, + 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x0a, 0x74, 0x69, 0x63, 0x6b, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x82, 0x01, + 0x0a, 0x23, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, + 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5b, 0x0a, 0x15, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, + 0x64, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, + 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, + 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x14, 0x61, 0x70, + 0x70, 0x72, 0x6f, 0x76, 0x65, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x22, 0xfb, 0x02, 0x0a, 0x0a, 0x51, 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x44, 0x69, 0x66, + 0x66, 0x12, 0x4a, 0x0a, 0x22, 0x73, 0x61, 0x6c, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x69, 0x67, + 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1e, 0x73, + 0x61, 0x6c, 0x74, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x65, 0x73, + 0x74, 0x69, 0x6e, 0x67, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, 0x48, 0x65, 0x78, 0x12, 0x3b, 0x0a, + 0x1a, 0x73, 0x61, 0x6c, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x74, 0x72, 0x75, 0x6d, + 0x5f, 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x17, 0x73, 0x61, 0x6c, 0x74, 0x65, 0x64, 0x53, 0x70, 0x65, 0x63, 0x74, 0x72, 0x75, + 0x6d, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, 0x48, 0x65, 0x78, 0x12, 0x3b, 0x0a, 0x1a, 0x73, 0x61, + 0x6c, 0x74, 0x65, 0x64, 0x5f, 0x75, 0x6e, 0x69, 0x76, 0x65, 0x72, 0x73, 0x65, 0x5f, 0x64, 0x69, + 0x67, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x17, + 0x73, 0x61, 0x6c, 0x74, 0x65, 0x64, 0x55, 0x6e, 0x69, 0x76, 0x65, 0x72, 0x73, 0x65, 0x44, 0x69, + 0x67, 0x65, 0x73, 0x74, 0x48, 0x65, 0x78, 0x12, 0x3b, 0x0a, 0x1a, 0x73, 0x61, 0x6c, 0x74, 0x65, + 0x64, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x72, 0x5f, 0x64, 0x69, 0x67, 0x65, 0x73, + 0x74, 0x5f, 0x68, 0x65, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x17, 0x73, 0x61, 0x6c, + 0x74, 0x65, 0x64, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x72, 0x44, 0x69, 0x67, 0x65, 0x73, + 0x74, 0x48, 0x65, 0x78, 0x12, 0x45, 0x0a, 0x20, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, + 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x74, 0x78, 0x5f, 0x64, 0x69, + 0x67, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1b, + 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x4e, 0x65, 0x78, 0x74, 0x54, 0x69, 0x63, 0x6b, + 0x54, 0x78, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, 0x48, 0x65, 0x78, 0x12, 0x23, 0x0a, 0x0d, 0x73, + 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x68, 0x65, 0x78, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0c, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x48, 0x65, 0x78, + 0x22, 0x81, 0x03, 0x0a, 0x13, 0x51, 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x54, 0x69, 0x63, 0x6b, 0x53, + 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, + 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x1f, + 0x0a, 0x0b, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x74, 0x69, 0x63, 0x6b, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, + 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x46, 0x0a, + 0x20, 0x70, 0x72, 0x65, 0x76, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, + 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, + 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1c, 0x70, 0x72, 0x65, 0x76, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x44, 0x69, 0x67, 0x65, - 0x73, 0x74, 0x48, 0x65, 0x78, 0x12, 0x3b, 0x0a, 0x1a, 0x73, 0x61, 0x6c, 0x74, 0x65, 0x64, 0x5f, - 0x73, 0x70, 0x65, 0x63, 0x74, 0x72, 0x75, 0x6d, 0x5f, 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x5f, - 0x68, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x17, 0x73, 0x61, 0x6c, 0x74, 0x65, - 0x64, 0x53, 0x70, 0x65, 0x63, 0x74, 0x72, 0x75, 0x6d, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, 0x48, - 0x65, 0x78, 0x12, 0x3b, 0x0a, 0x1a, 0x73, 0x61, 0x6c, 0x74, 0x65, 0x64, 0x5f, 0x75, 0x6e, 0x69, - 0x76, 0x65, 0x72, 0x73, 0x65, 0x5f, 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x78, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x17, 0x73, 0x61, 0x6c, 0x74, 0x65, 0x64, 0x55, 0x6e, - 0x69, 0x76, 0x65, 0x72, 0x73, 0x65, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, 0x48, 0x65, 0x78, 0x12, - 0x3b, 0x0a, 0x1a, 0x73, 0x61, 0x6c, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x72, 0x5f, 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x78, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x17, 0x73, 0x61, 0x6c, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x72, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, 0x48, 0x65, 0x78, 0x12, 0x45, 0x0a, 0x20, - 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x74, 0x69, - 0x63, 0x6b, 0x5f, 0x74, 0x78, 0x5f, 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x78, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1b, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, - 0x4e, 0x65, 0x78, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x54, 0x78, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, - 0x48, 0x65, 0x78, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, - 0x5f, 0x68, 0x65, 0x78, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x69, 0x67, 0x6e, - 0x61, 0x74, 0x75, 0x72, 0x65, 0x48, 0x65, 0x78, 0x22, 0x81, 0x03, 0x0a, 0x13, 0x51, 0x75, 0x6f, - 0x72, 0x75, 0x6d, 0x54, 0x69, 0x63, 0x6b, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, - 0x12, 0x14, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x6e, - 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x74, 0x69, 0x63, - 0x6b, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, - 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x46, 0x0a, 0x20, 0x70, 0x72, 0x65, 0x76, 0x5f, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x64, - 0x69, 0x67, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x1c, 0x70, 0x72, 0x65, 0x76, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x65, 0x73, - 0x74, 0x69, 0x6e, 0x67, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, 0x48, 0x65, 0x78, 0x12, 0x37, 0x0a, - 0x18, 0x70, 0x72, 0x65, 0x76, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x74, 0x72, 0x75, 0x6d, 0x5f, 0x64, - 0x69, 0x67, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x78, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x15, 0x70, 0x72, 0x65, 0x76, 0x53, 0x70, 0x65, 0x63, 0x74, 0x72, 0x75, 0x6d, 0x44, 0x69, 0x67, - 0x65, 0x73, 0x74, 0x48, 0x65, 0x78, 0x12, 0x37, 0x0a, 0x18, 0x70, 0x72, 0x65, 0x76, 0x5f, 0x75, - 0x6e, 0x69, 0x76, 0x65, 0x72, 0x73, 0x65, 0x5f, 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x5f, 0x68, - 0x65, 0x78, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x70, 0x72, 0x65, 0x76, 0x55, 0x6e, - 0x69, 0x76, 0x65, 0x72, 0x73, 0x65, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, 0x48, 0x65, 0x78, 0x12, - 0x37, 0x0a, 0x18, 0x70, 0x72, 0x65, 0x76, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x72, - 0x5f, 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x78, 0x18, 0x08, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x15, 0x70, 0x72, 0x65, 0x76, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x72, 0x44, - 0x69, 0x67, 0x65, 0x73, 0x74, 0x48, 0x65, 0x78, 0x12, 0x22, 0x0a, 0x0d, 0x74, 0x78, 0x5f, 0x64, - 0x69, 0x67, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x78, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0b, 0x74, 0x78, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, 0x48, 0x65, 0x78, 0x22, 0x50, 0x0a, 0x14, - 0x53, 0x6b, 0x69, 0x70, 0x70, 0x65, 0x64, 0x54, 0x69, 0x63, 0x6b, 0x73, 0x49, 0x6e, 0x74, 0x65, - 0x72, 0x76, 0x61, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, - 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, - 0x69, 0x63, 0x6b, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x63, 0x6b, 0x22, 0x70, - 0x0a, 0x18, 0x53, 0x6b, 0x69, 0x70, 0x70, 0x65, 0x64, 0x54, 0x69, 0x63, 0x6b, 0x73, 0x49, 0x6e, - 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x54, 0x0a, 0x0d, 0x73, 0x6b, - 0x69, 0x70, 0x70, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x2f, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, - 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x6b, - 0x69, 0x70, 0x70, 0x65, 0x64, 0x54, 0x69, 0x63, 0x6b, 0x73, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, - 0x61, 0x6c, 0x52, 0x0c, 0x73, 0x6b, 0x69, 0x70, 0x70, 0x65, 0x64, 0x54, 0x69, 0x63, 0x6b, 0x73, - 0x22, 0xe4, 0x02, 0x0a, 0x0e, 0x51, 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x54, 0x69, 0x63, 0x6b, 0x44, - 0x61, 0x74, 0x61, 0x12, 0x62, 0x0a, 0x15, 0x71, 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x5f, 0x74, 0x69, - 0x63, 0x6b, 0x5f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, - 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x51, - 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x54, 0x69, 0x63, 0x6b, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, - 0x72, 0x65, 0x52, 0x13, 0x71, 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x54, 0x69, 0x63, 0x6b, 0x53, 0x74, - 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x12, 0x7d, 0x0a, 0x18, 0x71, 0x75, 0x6f, 0x72, 0x75, - 0x6d, 0x5f, 0x64, 0x69, 0x66, 0x66, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x71, 0x75, 0x62, 0x69, + 0x73, 0x74, 0x48, 0x65, 0x78, 0x12, 0x37, 0x0a, 0x18, 0x70, 0x72, 0x65, 0x76, 0x5f, 0x73, 0x70, + 0x65, 0x63, 0x74, 0x72, 0x75, 0x6d, 0x5f, 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, + 0x78, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x70, 0x72, 0x65, 0x76, 0x53, 0x70, 0x65, + 0x63, 0x74, 0x72, 0x75, 0x6d, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, 0x48, 0x65, 0x78, 0x12, 0x37, + 0x0a, 0x18, 0x70, 0x72, 0x65, 0x76, 0x5f, 0x75, 0x6e, 0x69, 0x76, 0x65, 0x72, 0x73, 0x65, 0x5f, + 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x78, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x15, 0x70, 0x72, 0x65, 0x76, 0x55, 0x6e, 0x69, 0x76, 0x65, 0x72, 0x73, 0x65, 0x44, 0x69, + 0x67, 0x65, 0x73, 0x74, 0x48, 0x65, 0x78, 0x12, 0x37, 0x0a, 0x18, 0x70, 0x72, 0x65, 0x76, 0x5f, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x72, 0x5f, 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x5f, + 0x68, 0x65, 0x78, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x70, 0x72, 0x65, 0x76, 0x43, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x72, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, 0x48, 0x65, 0x78, + 0x12, 0x22, 0x0a, 0x0d, 0x74, 0x78, 0x5f, 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, + 0x78, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x74, 0x78, 0x44, 0x69, 0x67, 0x65, 0x73, + 0x74, 0x48, 0x65, 0x78, 0x22, 0x50, 0x0a, 0x14, 0x53, 0x6b, 0x69, 0x70, 0x70, 0x65, 0x64, 0x54, + 0x69, 0x63, 0x6b, 0x73, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, + 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x12, 0x19, 0x0a, 0x08, 0x65, + 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, + 0x6e, 0x64, 0x54, 0x69, 0x63, 0x6b, 0x22, 0x70, 0x0a, 0x18, 0x53, 0x6b, 0x69, 0x70, 0x70, 0x65, + 0x64, 0x54, 0x69, 0x63, 0x6b, 0x73, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x4c, 0x69, + 0x73, 0x74, 0x12, 0x54, 0x0a, 0x0d, 0x73, 0x6b, 0x69, 0x70, 0x70, 0x65, 0x64, 0x5f, 0x74, 0x69, + 0x63, 0x6b, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, - 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x51, 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x54, 0x69, 0x63, 0x6b, - 0x44, 0x61, 0x74, 0x61, 0x2e, 0x51, 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x44, 0x69, 0x66, 0x66, 0x50, - 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x6f, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, - 0x15, 0x71, 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x44, 0x69, 0x66, 0x66, 0x50, 0x65, 0x72, 0x43, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x6f, 0x72, 0x1a, 0x6f, 0x0a, 0x1a, 0x51, 0x75, 0x6f, 0x72, 0x75, 0x6d, - 0x44, 0x69, 0x66, 0x66, 0x50, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x6f, 0x72, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x3b, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, - 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, - 0x62, 0x2e, 0x51, 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x44, 0x69, 0x66, 0x66, 0x52, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x3b, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x51, 0x75, - 0x6f, 0x72, 0x75, 0x6d, 0x54, 0x69, 0x63, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, - 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x74, 0x69, 0x63, 0x6b, 0x4e, 0x75, - 0x6d, 0x62, 0x65, 0x72, 0x22, 0x70, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x51, 0x75, 0x6f, 0x72, 0x75, - 0x6d, 0x54, 0x69, 0x63, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x53, 0x0a, 0x10, 0x71, 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x5f, 0x74, 0x69, 0x63, 0x6b, - 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x71, 0x75, - 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, - 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x51, 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x54, 0x69, - 0x63, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0e, 0x71, 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x54, 0x69, - 0x63, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x22, 0x66, 0x0a, 0x09, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x6f, 0x72, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x64, 0x65, - 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x69, - 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x69, 0x67, - 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x68, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0c, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x48, 0x65, 0x78, 0x22, 0x2b, - 0x0a, 0x13, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x22, 0x5a, 0x0a, 0x14, 0x47, - 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x42, 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x6f, 0x72, 0x73, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, - 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, - 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x09, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x6f, 0x72, 0x73, 0x22, 0xa6, 0x01, 0x0a, 0x1b, 0x54, 0x72, 0x61, 0x6e, - 0x73, 0x66, 0x65, 0x72, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x50, 0x65, 0x72, 0x54, 0x69, 0x63, 0x6b, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x69, 0x63, 0x6b, 0x5f, - 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x74, 0x69, - 0x63, 0x6b, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x64, 0x65, 0x6e, - 0x74, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x64, 0x65, 0x6e, - 0x74, 0x69, 0x74, 0x79, 0x12, 0x4a, 0x0a, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x71, 0x75, 0x62, + 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x6b, 0x69, 0x70, 0x70, 0x65, 0x64, 0x54, 0x69, 0x63, + 0x6b, 0x73, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x52, 0x0c, 0x73, 0x6b, 0x69, 0x70, + 0x70, 0x65, 0x64, 0x54, 0x69, 0x63, 0x6b, 0x73, 0x22, 0xe4, 0x02, 0x0a, 0x0e, 0x51, 0x75, 0x6f, + 0x72, 0x75, 0x6d, 0x54, 0x69, 0x63, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x12, 0x62, 0x0a, 0x15, 0x71, + 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x73, 0x74, 0x72, 0x75, 0x63, + 0x74, 0x75, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, - 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x22, 0x46, 0x0a, 0x0d, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x54, 0x69, 0x63, - 0x6b, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x74, 0x69, 0x63, 0x6b, 0x4e, 0x75, 0x6d, 0x62, - 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x22, 0xad, 0x04, 0x0a, 0x11, 0x47, 0x65, 0x74, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x58, - 0x0a, 0x13, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, - 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x71, 0x75, - 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, - 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, - 0x64, 0x54, 0x69, 0x63, 0x6b, 0x52, 0x11, 0x6c, 0x61, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x63, 0x65, - 0x73, 0x73, 0x65, 0x64, 0x54, 0x69, 0x63, 0x6b, 0x12, 0x90, 0x01, 0x0a, 0x1e, 0x6c, 0x61, 0x73, - 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x63, 0x6b, - 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x02, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x4c, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, - 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, - 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, - 0x4c, 0x61, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x54, 0x69, 0x63, - 0x6b, 0x73, 0x50, 0x65, 0x72, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, - 0x1a, 0x6c, 0x61, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x54, 0x69, - 0x63, 0x6b, 0x73, 0x50, 0x65, 0x72, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x54, 0x0a, 0x0d, 0x73, - 0x6b, 0x69, 0x70, 0x70, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x73, 0x18, 0x03, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, - 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x53, - 0x6b, 0x69, 0x70, 0x70, 0x65, 0x64, 0x54, 0x69, 0x63, 0x6b, 0x73, 0x49, 0x6e, 0x74, 0x65, 0x72, - 0x76, 0x61, 0x6c, 0x52, 0x0c, 0x73, 0x6b, 0x69, 0x70, 0x70, 0x65, 0x64, 0x54, 0x69, 0x63, 0x6b, - 0x73, 0x12, 0x85, 0x01, 0x0a, 0x22, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x5f, - 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x73, 0x5f, 0x70, - 0x65, 0x72, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, + 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x51, 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x54, 0x69, 0x63, + 0x6b, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x52, 0x13, 0x71, 0x75, 0x6f, 0x72, + 0x75, 0x6d, 0x54, 0x69, 0x63, 0x6b, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x12, + 0x7d, 0x0a, 0x18, 0x71, 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x5f, 0x64, 0x69, 0x66, 0x66, 0x5f, 0x70, + 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x44, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, + 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x51, 0x75, + 0x6f, 0x72, 0x75, 0x6d, 0x54, 0x69, 0x63, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x51, 0x75, 0x6f, + 0x72, 0x75, 0x6d, 0x44, 0x69, 0x66, 0x66, 0x50, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x6f, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x15, 0x71, 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x44, + 0x69, 0x66, 0x66, 0x50, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x6f, 0x72, 0x1a, 0x6f, + 0x0a, 0x1a, 0x51, 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x44, 0x69, 0x66, 0x66, 0x50, 0x65, 0x72, 0x43, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x6f, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, + 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x3b, + 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, + 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, + 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x51, 0x75, 0x6f, 0x72, 0x75, 0x6d, + 0x44, 0x69, 0x66, 0x66, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, + 0x3b, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x51, 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x54, 0x69, 0x63, 0x6b, + 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x74, + 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x0a, 0x74, 0x69, 0x63, 0x6b, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x70, 0x0a, 0x19, + 0x47, 0x65, 0x74, 0x51, 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x54, 0x69, 0x63, 0x6b, 0x44, 0x61, 0x74, + 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x10, 0x71, 0x75, 0x6f, + 0x72, 0x75, 0x6d, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, + 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, + 0x51, 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x54, 0x69, 0x63, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0e, + 0x71, 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x54, 0x69, 0x63, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x22, 0x66, + 0x0a, 0x09, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x65, + 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, + 0x68, 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, + 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, + 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x68, + 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x48, 0x65, 0x78, 0x22, 0x2b, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, + 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x65, 0x70, + 0x6f, 0x63, 0x68, 0x22, 0x5a, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x6f, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x42, 0x0a, 0x09, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, - 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, - 0x73, 0x73, 0x65, 0x64, 0x54, 0x69, 0x63, 0x6b, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, - 0x73, 0x50, 0x65, 0x72, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x52, 0x1e, 0x70, 0x72, 0x6f, 0x63, 0x65, - 0x73, 0x73, 0x65, 0x64, 0x54, 0x69, 0x63, 0x6b, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, - 0x73, 0x50, 0x65, 0x72, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x1a, 0x4d, 0x0a, 0x1f, 0x4c, 0x61, 0x73, - 0x74, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x54, 0x69, 0x63, 0x6b, 0x73, 0x50, - 0x65, 0x72, 0x45, 0x70, 0x6f, 0x63, 0x68, 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, 0x0d, 0x52, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x30, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x48, - 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x38, 0x0a, 0x15, 0x47, 0x65, - 0x74, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x74, 0x69, - 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, - 0x54, 0x69, 0x63, 0x6b, 0x22, 0x7d, 0x0a, 0x25, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, - 0x66, 0x65, 0x72, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x50, - 0x65, 0x72, 0x54, 0x69, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, - 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, - 0x72, 0x74, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x73, - 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, - 0x74, 0x69, 0x63, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, - 0x69, 0x63, 0x6b, 0x22, 0xa5, 0x01, 0x0a, 0x26, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, - 0x66, 0x65, 0x72, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x50, - 0x65, 0x72, 0x54, 0x69, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7b, - 0x0a, 0x1e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, - 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x74, 0x69, 0x63, 0x6b, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, - 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, - 0x70, 0x62, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x54, 0x72, 0x61, 0x6e, 0x73, - 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x50, 0x65, 0x72, 0x54, 0x69, 0x63, 0x6b, 0x52, 0x1b, - 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x50, 0x65, 0x72, 0x54, 0x69, 0x63, 0x6b, 0x22, 0x36, 0x0a, 0x13, 0x47, - 0x65, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x48, 0x61, 0x73, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, - 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x74, 0x69, 0x63, 0x6b, 0x4e, 0x75, 0x6d, - 0x62, 0x65, 0x72, 0x22, 0x35, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x48, - 0x61, 0x73, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x68, - 0x65, 0x78, 0x5f, 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x09, 0x68, 0x65, 0x78, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, 0x22, 0x7d, 0x0a, 0x15, 0x50, 0x72, - 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x54, 0x69, 0x63, 0x6b, 0x49, 0x6e, 0x74, 0x65, 0x72, - 0x76, 0x61, 0x6c, 0x12, 0x34, 0x0a, 0x16, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x70, + 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x6f, 0x72, 0x73, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x6f, 0x72, 0x73, 0x22, + 0xa6, 0x01, 0x0a, 0x1b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x54, 0x72, 0x61, 0x6e, + 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x50, 0x65, 0x72, 0x54, 0x69, 0x63, 0x6b, 0x12, + 0x1f, 0x0a, 0x0b, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x74, 0x69, 0x63, 0x6b, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, + 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x4a, 0x0a, 0x0c, + 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, + 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x54, + 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x74, 0x72, 0x61, 0x6e, + 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x46, 0x0a, 0x0d, 0x50, 0x72, 0x6f, 0x63, + 0x65, 0x73, 0x73, 0x65, 0x64, 0x54, 0x69, 0x63, 0x6b, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x69, 0x63, + 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, + 0x74, 0x69, 0x63, 0x6b, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x70, + 0x6f, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, + 0x22, 0xad, 0x04, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x58, 0x0a, 0x13, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x14, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x50, 0x72, 0x6f, 0x63, - 0x65, 0x73, 0x73, 0x65, 0x64, 0x54, 0x69, 0x63, 0x6b, 0x12, 0x2e, 0x0a, 0x13, 0x6c, 0x61, 0x73, - 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x63, 0x6b, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x6c, 0x61, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x63, - 0x65, 0x73, 0x73, 0x65, 0x64, 0x54, 0x69, 0x63, 0x6b, 0x22, 0x86, 0x01, 0x0a, 0x1e, 0x50, 0x72, - 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x54, 0x69, 0x63, 0x6b, 0x49, 0x6e, 0x74, 0x65, 0x72, - 0x76, 0x61, 0x6c, 0x73, 0x50, 0x65, 0x72, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x14, 0x0a, 0x05, - 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x65, 0x70, 0x6f, - 0x63, 0x68, 0x12, 0x4e, 0x0a, 0x09, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x73, 0x18, - 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, - 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, - 0x62, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x54, 0x69, 0x63, 0x6b, 0x49, - 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x52, 0x09, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, - 0x6c, 0x73, 0x32, 0x9b, 0x13, 0x0a, 0x0e, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x53, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xa2, 0x01, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, - 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x12, 0x34, 0x2e, 0x71, - 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, - 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, - 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, - 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, - 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, - 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1f, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x19, 0x12, 0x17, 0x2f, 0x76, 0x32, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x2f, 0x7b, 0x74, 0x78, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0x97, 0x01, 0x0a, 0x0b, 0x47, - 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x12, 0x2d, 0x2e, 0x71, 0x75, 0x62, - 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, - 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x44, 0x61, - 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x71, 0x75, 0x62, 0x69, + 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, + 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, + 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x54, 0x69, 0x63, 0x6b, 0x52, 0x11, 0x6c, + 0x61, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x54, 0x69, 0x63, 0x6b, + 0x12, 0x90, 0x01, 0x0a, 0x1e, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, + 0x73, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x65, 0x70, + 0x6f, 0x63, 0x68, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4c, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, - 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x44, 0x61, 0x74, - 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x29, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x23, 0x12, 0x21, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x73, 0x2f, 0x7b, 0x74, 0x69, - 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x7d, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x2d, - 0x64, 0x61, 0x74, 0x61, 0x12, 0xb0, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x51, 0x75, 0x6f, 0x72, - 0x75, 0x6d, 0x54, 0x69, 0x63, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x12, 0x33, 0x2e, 0x71, 0x75, 0x62, + 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4c, 0x61, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x63, + 0x65, 0x73, 0x73, 0x65, 0x64, 0x54, 0x69, 0x63, 0x6b, 0x73, 0x50, 0x65, 0x72, 0x45, 0x70, 0x6f, + 0x63, 0x68, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x1a, 0x6c, 0x61, 0x73, 0x74, 0x50, 0x72, 0x6f, + 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x54, 0x69, 0x63, 0x6b, 0x73, 0x50, 0x65, 0x72, 0x45, 0x70, + 0x6f, 0x63, 0x68, 0x12, 0x54, 0x0a, 0x0d, 0x73, 0x6b, 0x69, 0x70, 0x70, 0x65, 0x64, 0x5f, 0x74, + 0x69, 0x63, 0x6b, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, - 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x51, 0x75, 0x6f, 0x72, 0x75, 0x6d, - 0x54, 0x69, 0x63, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x34, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, - 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x51, - 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x54, 0x69, 0x63, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x30, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2a, 0x12, 0x28, 0x2f, - 0x76, 0x31, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x73, 0x2f, 0x7b, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x6e, - 0x75, 0x6d, 0x62, 0x65, 0x72, 0x7d, 0x2f, 0x71, 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x2d, 0x74, 0x69, - 0x63, 0x6b, 0x2d, 0x64, 0x61, 0x74, 0x61, 0x12, 0xb2, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x54, - 0x69, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, - 0x35, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, - 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, - 0x69, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, + 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x6b, 0x69, 0x70, 0x70, 0x65, 0x64, 0x54, 0x69, + 0x63, 0x6b, 0x73, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x52, 0x0c, 0x73, 0x6b, 0x69, + 0x70, 0x70, 0x65, 0x64, 0x54, 0x69, 0x63, 0x6b, 0x73, 0x12, 0x85, 0x01, 0x0a, 0x22, 0x70, 0x72, + 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x69, 0x6e, 0x74, + 0x65, 0x72, 0x76, 0x61, 0x6c, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, + 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, - 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2c, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x26, 0x12, 0x24, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x69, 0x63, 0x6b, - 0x73, 0x2f, 0x7b, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x7d, 0x2f, - 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0xc3, 0x01, 0x0a, - 0x1b, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, - 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x35, 0x2e, 0x71, - 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, - 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, - 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, + 0x70, 0x62, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x54, 0x69, 0x63, 0x6b, + 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x73, 0x50, 0x65, 0x72, 0x45, 0x70, 0x6f, 0x63, + 0x68, 0x52, 0x1e, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x54, 0x69, 0x63, 0x6b, + 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x73, 0x50, 0x65, 0x72, 0x45, 0x70, 0x6f, 0x63, + 0x68, 0x1a, 0x4d, 0x0a, 0x1f, 0x4c, 0x61, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, + 0x65, 0x64, 0x54, 0x69, 0x63, 0x6b, 0x73, 0x50, 0x65, 0x72, 0x45, 0x70, 0x6f, 0x63, 0x68, 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, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, + 0x22, 0x30, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, + 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x22, 0x38, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x54, + 0x69, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, + 0x61, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x0a, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x22, 0x7d, 0x0a, 0x25, + 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x54, 0x72, 0x61, 0x6e, 0x73, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x50, 0x65, 0x72, 0x54, 0x69, 0x63, 0x6b, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, + 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, + 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x63, 0x6b, + 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x63, 0x6b, 0x22, 0xa5, 0x01, 0x0a, 0x26, + 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x54, 0x72, 0x61, 0x6e, 0x73, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x50, 0x65, 0x72, 0x54, 0x69, 0x63, 0x6b, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7b, 0x0a, 0x1e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, + 0x65, 0x72, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, + 0x70, 0x65, 0x72, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, + 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, + 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, + 0x66, 0x65, 0x72, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x50, + 0x65, 0x72, 0x54, 0x69, 0x63, 0x6b, 0x52, 0x1b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, + 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x50, 0x65, 0x72, 0x54, + 0x69, 0x63, 0x6b, 0x22, 0x36, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x48, + 0x61, 0x73, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x69, + 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x0a, 0x74, 0x69, 0x63, 0x6b, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x35, 0x0a, 0x14, 0x47, + 0x65, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x48, 0x61, 0x73, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x68, 0x65, 0x78, 0x5f, 0x64, 0x69, 0x67, 0x65, 0x73, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x68, 0x65, 0x78, 0x44, 0x69, 0x67, 0x65, + 0x73, 0x74, 0x22, 0x7d, 0x0a, 0x15, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x54, + 0x69, 0x63, 0x6b, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x34, 0x0a, 0x16, 0x69, + 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, + 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x14, 0x69, 0x6e, 0x69, + 0x74, 0x69, 0x61, 0x6c, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x54, 0x69, 0x63, + 0x6b, 0x12, 0x2e, 0x0a, 0x13, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, + 0x73, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, + 0x6c, 0x61, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x54, 0x69, 0x63, + 0x6b, 0x22, 0x86, 0x01, 0x0a, 0x1e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x54, + 0x69, 0x63, 0x6b, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x73, 0x50, 0x65, 0x72, 0x45, + 0x70, 0x6f, 0x63, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x4e, 0x0a, 0x09, 0x69, 0x6e, + 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, + 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, + 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, + 0x73, 0x65, 0x64, 0x54, 0x69, 0x63, 0x6b, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x52, + 0x09, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x73, 0x22, 0x98, 0x01, 0x0a, 0x0f, 0x54, + 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x12, 0x48, + 0x0a, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, - 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x35, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x2f, 0x12, 0x2d, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x73, 0x2f, 0x7b, - 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x7d, 0x2f, 0x74, 0x72, 0x61, - 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x12, 0xd3, 0x01, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x41, 0x70, - 0x70, 0x72, 0x6f, 0x76, 0x65, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x12, 0x3d, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, - 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, - 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x64, 0x54, 0x72, - 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x3e, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, - 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, - 0x74, 0x54, 0x69, 0x63, 0x6b, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x64, 0x54, 0x72, 0x61, - 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x35, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x12, 0x2d, 0x2f, 0x76, 0x31, 0x2f, 0x74, - 0x69, 0x63, 0x6b, 0x73, 0x2f, 0x7b, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, - 0x72, 0x7d, 0x2f, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x64, 0x2d, 0x74, 0x72, 0x61, 0x6e, - 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x9b, 0x01, 0x0a, 0x0c, 0x47, 0x65, 0x74, - 0x43, 0x68, 0x61, 0x69, 0x6e, 0x48, 0x61, 0x73, 0x68, 0x12, 0x2e, 0x2e, 0x71, 0x75, 0x62, 0x69, - 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, - 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x48, 0x61, - 0x73, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x71, 0x75, 0x62, 0x69, + 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x74, 0x72, 0x61, + 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x74, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x5f, + 0x66, 0x6c, 0x65, 0x77, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x6d, 0x6f, 0x6e, 0x65, + 0x79, 0x46, 0x6c, 0x65, 0x77, 0x22, 0x3f, 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, + 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x56, 0x32, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x75, + 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x74, 0x69, 0x63, 0x6b, + 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x6f, 0x0a, 0x1d, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, + 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x56, 0x32, 0x12, 0x4e, 0x0a, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, + 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, + 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x2e, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x54, 0x72, + 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x56, 0x32, 0x12, 0x13, 0x0a, 0x05, 0x74, 0x78, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x74, 0x78, 0x49, 0x64, 0x22, 0xa1, 0x01, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x54, + 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x56, 0x32, 0x12, 0x48, 0x0a, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, - 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x48, 0x61, - 0x73, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2a, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x24, 0x12, 0x22, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x73, 0x2f, 0x7b, 0x74, - 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x7d, 0x2f, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x2d, 0x68, 0x61, 0x73, 0x68, 0x12, 0x9b, 0x01, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x53, 0x74, - 0x6f, 0x72, 0x65, 0x48, 0x61, 0x73, 0x68, 0x12, 0x2e, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, - 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, - 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x48, 0x61, 0x73, 0x68, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, - 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, - 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x48, 0x61, 0x73, 0x68, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x24, - 0x12, 0x22, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x73, 0x2f, 0x7b, 0x74, 0x69, 0x63, - 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x7d, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2d, - 0x68, 0x61, 0x73, 0x68, 0x12, 0x97, 0x01, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, - 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x30, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, - 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, - 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x71, 0x75, 0x62, 0x69, + 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, + 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1d, 0x0a, 0x0a, + 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x5f, 0x66, 0x6c, 0x65, 0x77, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x09, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x46, 0x6c, 0x65, 0x77, 0x32, 0xf3, 0x17, 0x0a, 0x0e, + 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xba, + 0x01, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x69, 0x63, 0x6b, 0x54, 0x72, 0x61, + 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x56, 0x32, 0x12, 0x37, 0x2e, 0x71, 0x75, + 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, + 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x54, + 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x56, 0x32, 0x1a, 0x38, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, + 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, + 0x2e, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x56, 0x32, 0x22, 0x2b, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x25, 0x12, 0x23, 0x2f, 0x76, 0x32, 0x2f, 0x74, 0x69, 0x63, 0x6b, + 0x2f, 0x7b, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x7d, 0x2f, 0x74, + 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0xc9, 0x01, 0x0a, 0x1d, + 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x54, 0x69, 0x63, 0x6b, 0x54, + 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x56, 0x32, 0x12, 0x37, 0x2e, + 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, + 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, + 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x56, 0x32, 0x1a, 0x38, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, + 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, + 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x56, 0x32, + 0x22, 0x35, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x12, 0x2d, 0x2f, 0x76, 0x32, 0x2f, 0x74, 0x69, + 0x63, 0x6b, 0x2f, 0x7b, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x7d, + 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x74, 0x72, + 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x73, 0x12, 0xd2, 0x01, 0x0a, 0x1d, 0x47, 0x65, 0x74, 0x41, + 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x64, 0x54, 0x69, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x56, 0x32, 0x12, 0x37, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, - 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x20, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x1a, 0x12, 0x18, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x74, 0x78, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xa6, - 0x01, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x36, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, + 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x54, 0x72, 0x61, + 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x56, 0x32, 0x1a, 0x38, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, + 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, + 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x56, 0x32, 0x22, 0x3e, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x38, 0x12, 0x36, 0x2f, 0x76, 0x32, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x2f, 0x7b, + 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x7d, 0x2f, 0x74, 0x72, 0x61, + 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, + 0x65, 0x72, 0x73, 0x2f, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x64, 0x12, 0x9c, 0x01, 0x0a, + 0x10, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x56, + 0x32, 0x12, 0x32, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, + 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, + 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x56, 0x32, 0x1a, 0x33, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, + 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, + 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x56, 0x32, 0x22, 0x1f, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x19, 0x12, 0x17, 0x2f, 0x76, 0x32, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x2f, 0x7b, 0x74, 0x78, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0x97, 0x01, 0x0a, 0x0b, + 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x12, 0x2d, 0x2e, 0x71, 0x75, + 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, + 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x44, + 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x71, 0x75, 0x62, + 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, + 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x44, 0x61, + 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x29, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x23, 0x12, 0x21, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x73, 0x2f, 0x7b, 0x74, + 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x7d, 0x2f, 0x74, 0x69, 0x63, 0x6b, + 0x2d, 0x64, 0x61, 0x74, 0x61, 0x12, 0xb0, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x51, 0x75, 0x6f, + 0x72, 0x75, 0x6d, 0x54, 0x69, 0x63, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x12, 0x33, 0x2e, 0x71, 0x75, + 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, + 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x51, 0x75, 0x6f, 0x72, 0x75, + 0x6d, 0x54, 0x69, 0x63, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x34, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, + 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, + 0x51, 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x54, 0x69, 0x63, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x30, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2a, 0x12, 0x28, + 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x73, 0x2f, 0x7b, 0x74, 0x69, 0x63, 0x6b, 0x5f, + 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x7d, 0x2f, 0x71, 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x2d, 0x74, + 0x69, 0x63, 0x6b, 0x2d, 0x64, 0x61, 0x74, 0x61, 0x12, 0xb2, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x74, + 0x54, 0x69, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x12, 0x35, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, + 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, + 0x54, 0x69, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, - 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x37, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, - 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, - 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x17, - 0x12, 0x15, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x78, 0x2d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2f, - 0x7b, 0x74, 0x78, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xde, 0x01, 0x0a, 0x1e, 0x47, 0x65, 0x74, 0x54, - 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x50, 0x65, 0x72, 0x54, 0x69, 0x63, 0x6b, 0x12, 0x40, 0x2e, 0x71, 0x75, 0x62, + 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x2c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x26, 0x12, 0x24, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x69, 0x63, + 0x6b, 0x73, 0x2f, 0x7b, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x7d, + 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0xc3, 0x01, + 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, + 0x72, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x35, 0x2e, + 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, + 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, + 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, + 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, + 0x2e, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x35, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x2f, 0x12, 0x2d, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x73, 0x2f, + 0x7b, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x7d, 0x2f, 0x74, 0x72, + 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x12, 0xd3, 0x01, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x41, + 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x12, 0x3d, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, + 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, + 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x64, 0x54, + 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x3e, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, + 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, + 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x64, 0x54, 0x72, + 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x35, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x12, 0x2d, 0x2f, 0x76, 0x31, 0x2f, + 0x74, 0x69, 0x63, 0x6b, 0x73, 0x2f, 0x7b, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, + 0x65, 0x72, 0x7d, 0x2f, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x64, 0x2d, 0x74, 0x72, 0x61, + 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x9b, 0x01, 0x0a, 0x0c, 0x47, 0x65, + 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x48, 0x61, 0x73, 0x68, 0x12, 0x2e, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, - 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, - 0x65, 0x72, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x50, 0x65, - 0x72, 0x54, 0x69, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x41, 0x2e, 0x71, - 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, - 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, - 0x73, 0x66, 0x65, 0x72, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x50, 0x65, 0x72, 0x54, 0x69, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x37, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x31, 0x12, 0x2f, 0x2f, 0x76, 0x31, 0x2f, 0x69, 0x64, 0x65, - 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, - 0x79, 0x7d, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2d, 0x74, 0x72, 0x61, 0x6e, - 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x95, 0x01, 0x0a, 0x0c, 0x47, 0x65, 0x74, - 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x2e, 0x2e, 0x71, 0x75, 0x62, 0x69, - 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, - 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x6f, - 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x71, 0x75, 0x62, 0x69, - 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, - 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x6f, - 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x24, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x1e, 0x12, 0x1c, 0x2f, 0x76, 0x31, 0x2f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x73, 0x2f, 0x7b, - 0x65, 0x70, 0x6f, 0x63, 0x68, 0x7d, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x6f, 0x72, 0x73, - 0x12, 0x65, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x2e, + 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x48, + 0x61, 0x73, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x71, 0x75, 0x62, + 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, + 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x48, + 0x61, 0x73, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2a, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x24, 0x12, 0x22, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x73, 0x2f, 0x7b, + 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x7d, 0x2f, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2d, 0x68, 0x61, 0x73, 0x68, 0x12, 0x9b, 0x01, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x53, + 0x74, 0x6f, 0x72, 0x65, 0x48, 0x61, 0x73, 0x68, 0x12, 0x2e, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, + 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, + 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x48, 0x61, 0x73, + 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, + 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, + 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x48, 0x61, 0x73, + 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2a, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x24, 0x12, 0x22, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x73, 0x2f, 0x7b, 0x74, 0x69, + 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x7d, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x65, + 0x2d, 0x68, 0x61, 0x73, 0x68, 0x12, 0x97, 0x01, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, + 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x30, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, + 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, + 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x71, 0x75, 0x62, + 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, + 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x20, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x12, 0x18, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x74, 0x78, 0x5f, 0x69, 0x64, 0x7d, 0x12, + 0xa6, 0x01, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x36, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, + 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, + 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x37, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, + 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, + 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1d, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x17, 0x12, 0x15, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x78, 0x2d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x2f, 0x7b, 0x74, 0x78, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xde, 0x01, 0x0a, 0x1e, 0x47, 0x65, 0x74, + 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x50, 0x65, 0x72, 0x54, 0x69, 0x63, 0x6b, 0x12, 0x40, 0x2e, 0x71, 0x75, + 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, + 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, + 0x66, 0x65, 0x72, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x50, + 0x65, 0x72, 0x54, 0x69, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x41, 0x2e, + 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, + 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, + 0x6e, 0x73, 0x66, 0x65, 0x72, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x50, 0x65, 0x72, 0x54, 0x69, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x37, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x31, 0x12, 0x2f, 0x2f, 0x76, 0x31, 0x2f, 0x69, 0x64, + 0x65, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, + 0x74, 0x79, 0x7d, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2d, 0x74, 0x72, 0x61, + 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x95, 0x01, 0x0a, 0x0c, 0x47, 0x65, + 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x2e, 0x2e, 0x71, 0x75, 0x62, + 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, + 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x6f, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x71, 0x75, 0x62, + 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, + 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x6f, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x24, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x1e, 0x12, 0x1c, 0x2f, 0x76, 0x31, 0x2f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x73, 0x2f, + 0x7b, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x7d, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x6f, 0x72, + 0x73, 0x12, 0x65, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x2c, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, + 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, + 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x12, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0c, 0x12, 0x0a, 0x2f, 0x76, + 0x31, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x71, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x4c, + 0x61, 0x74, 0x65, 0x73, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, + 0x79, 0x1a, 0x30, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, + 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, + 0x74, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x16, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x10, 0x12, 0x0e, 0x2f, 0x76, 0x31, + 0x2f, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x12, 0x74, 0x0a, 0x0e, 0x47, + 0x65, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, - 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x2c, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, + 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x31, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, - 0x62, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x12, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0c, 0x12, 0x0a, 0x2f, 0x76, 0x31, - 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x71, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x4c, 0x61, - 0x74, 0x65, 0x73, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, - 0x1a, 0x30, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, - 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, - 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x16, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x10, 0x12, 0x0e, 0x2f, 0x76, 0x31, 0x2f, - 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x12, 0x74, 0x0a, 0x0e, 0x47, 0x65, - 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x16, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, - 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x31, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, - 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, - 0x2e, 0x47, 0x65, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x17, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x11, 0x12, - 0x0f, 0x2f, 0x76, 0x31, 0x2f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x63, 0x68, 0x65, 0x63, 0x6b, - 0x42, 0x29, 0x5a, 0x27, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x71, - 0x75, 0x62, 0x69, 0x63, 0x2f, 0x67, 0x6f, 0x2d, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, - 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x66, 0x2f, 0x62, 0x06, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x33, + 0x62, 0x2e, 0x47, 0x65, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x17, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x11, + 0x12, 0x0f, 0x2f, 0x76, 0x31, 0x2f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x63, 0x68, 0x65, 0x63, + 0x6b, 0x42, 0x29, 0x5a, 0x27, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x71, 0x75, 0x62, 0x69, 0x63, 0x2f, 0x67, 0x6f, 0x2d, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, + 0x72, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x66, 0x2f, 0x62, 0x06, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -2726,107 +2944,118 @@ func file_archive_proto_rawDescGZIP() []byte { return file_archive_proto_rawDescData } -var file_archive_proto_msgTypes = make([]protoimpl.MessageInfo, 41) +var file_archive_proto_msgTypes = make([]protoimpl.MessageInfo, 44) var file_archive_proto_goTypes = []interface{}{ (*TickData)(nil), // 0: qubic.archiver.archive.pb.TickData (*GetTickDataRequest)(nil), // 1: qubic.archiver.archive.pb.GetTickDataRequest (*GetTickDataResponse)(nil), // 2: qubic.archiver.archive.pb.GetTickDataResponse (*Transaction)(nil), // 3: qubic.archiver.archive.pb.Transaction - (*GetTransactionDataRequest)(nil), // 4: qubic.archiver.archive.pb.GetTransactionDataRequest - (*GetTransactionDataResponse)(nil), // 5: qubic.archiver.archive.pb.GetTransactionDataResponse - (*TransactionStatus)(nil), // 6: qubic.archiver.archive.pb.TransactionStatus - (*TickTransactionsStatus)(nil), // 7: qubic.archiver.archive.pb.TickTransactionsStatus - (*NextAvailableTick)(nil), // 8: qubic.archiver.archive.pb.NextAvailableTick - (*LastProcessedTick)(nil), // 9: qubic.archiver.archive.pb.LastProcessedTick - (*GetTransactionRequest)(nil), // 10: qubic.archiver.archive.pb.GetTransactionRequest - (*GetTransactionResponse)(nil), // 11: qubic.archiver.archive.pb.GetTransactionResponse - (*GetTransactionStatusRequest)(nil), // 12: qubic.archiver.archive.pb.GetTransactionStatusRequest - (*GetTransactionStatusResponse)(nil), // 13: qubic.archiver.archive.pb.GetTransactionStatusResponse - (*GetTickTransactionsRequest)(nil), // 14: qubic.archiver.archive.pb.GetTickTransactionsRequest - (*GetTickTransactionsResponse)(nil), // 15: qubic.archiver.archive.pb.GetTickTransactionsResponse - (*GetTickApprovedTransactionsRequest)(nil), // 16: qubic.archiver.archive.pb.GetTickApprovedTransactionsRequest - (*GetTickApprovedTransactionsResponse)(nil), // 17: qubic.archiver.archive.pb.GetTickApprovedTransactionsResponse - (*QuorumDiff)(nil), // 18: qubic.archiver.archive.pb.QuorumDiff - (*QuorumTickStructure)(nil), // 19: qubic.archiver.archive.pb.QuorumTickStructure - (*SkippedTicksInterval)(nil), // 20: qubic.archiver.archive.pb.SkippedTicksInterval - (*SkippedTicksIntervalList)(nil), // 21: qubic.archiver.archive.pb.SkippedTicksIntervalList - (*QuorumTickData)(nil), // 22: qubic.archiver.archive.pb.QuorumTickData - (*GetQuorumTickDataRequest)(nil), // 23: qubic.archiver.archive.pb.GetQuorumTickDataRequest - (*GetQuorumTickDataResponse)(nil), // 24: qubic.archiver.archive.pb.GetQuorumTickDataResponse - (*Computors)(nil), // 25: qubic.archiver.archive.pb.Computors - (*GetComputorsRequest)(nil), // 26: qubic.archiver.archive.pb.GetComputorsRequest - (*GetComputorsResponse)(nil), // 27: qubic.archiver.archive.pb.GetComputorsResponse - (*TransferTransactionsPerTick)(nil), // 28: qubic.archiver.archive.pb.TransferTransactionsPerTick - (*ProcessedTick)(nil), // 29: qubic.archiver.archive.pb.ProcessedTick - (*GetStatusResponse)(nil), // 30: qubic.archiver.archive.pb.GetStatusResponse - (*GetHealthCheckResponse)(nil), // 31: qubic.archiver.archive.pb.GetHealthCheckResponse - (*GetLatestTickResponse)(nil), // 32: qubic.archiver.archive.pb.GetLatestTickResponse - (*GetTransferTransactionsPerTickRequest)(nil), // 33: qubic.archiver.archive.pb.GetTransferTransactionsPerTickRequest - (*GetTransferTransactionsPerTickResponse)(nil), // 34: qubic.archiver.archive.pb.GetTransferTransactionsPerTickResponse - (*GetChainHashRequest)(nil), // 35: qubic.archiver.archive.pb.GetChainHashRequest - (*GetChainHashResponse)(nil), // 36: qubic.archiver.archive.pb.GetChainHashResponse - (*ProcessedTickInterval)(nil), // 37: qubic.archiver.archive.pb.ProcessedTickInterval - (*ProcessedTickIntervalsPerEpoch)(nil), // 38: qubic.archiver.archive.pb.ProcessedTickIntervalsPerEpoch - nil, // 39: qubic.archiver.archive.pb.QuorumTickData.QuorumDiffPerComputorEntry - nil, // 40: qubic.archiver.archive.pb.GetStatusResponse.LastProcessedTicksPerEpochEntry - (*emptypb.Empty)(nil), // 41: google.protobuf.Empty + (*TransactionStatus)(nil), // 4: qubic.archiver.archive.pb.TransactionStatus + (*TickTransactionsStatus)(nil), // 5: qubic.archiver.archive.pb.TickTransactionsStatus + (*NextAvailableTick)(nil), // 6: qubic.archiver.archive.pb.NextAvailableTick + (*LastProcessedTick)(nil), // 7: qubic.archiver.archive.pb.LastProcessedTick + (*GetTransactionRequest)(nil), // 8: qubic.archiver.archive.pb.GetTransactionRequest + (*GetTransactionResponse)(nil), // 9: qubic.archiver.archive.pb.GetTransactionResponse + (*GetTransactionStatusRequest)(nil), // 10: qubic.archiver.archive.pb.GetTransactionStatusRequest + (*GetTransactionStatusResponse)(nil), // 11: qubic.archiver.archive.pb.GetTransactionStatusResponse + (*GetTickTransactionsRequest)(nil), // 12: qubic.archiver.archive.pb.GetTickTransactionsRequest + (*GetTickTransactionsResponse)(nil), // 13: qubic.archiver.archive.pb.GetTickTransactionsResponse + (*GetTickApprovedTransactionsRequest)(nil), // 14: qubic.archiver.archive.pb.GetTickApprovedTransactionsRequest + (*GetTickApprovedTransactionsResponse)(nil), // 15: qubic.archiver.archive.pb.GetTickApprovedTransactionsResponse + (*QuorumDiff)(nil), // 16: qubic.archiver.archive.pb.QuorumDiff + (*QuorumTickStructure)(nil), // 17: qubic.archiver.archive.pb.QuorumTickStructure + (*SkippedTicksInterval)(nil), // 18: qubic.archiver.archive.pb.SkippedTicksInterval + (*SkippedTicksIntervalList)(nil), // 19: qubic.archiver.archive.pb.SkippedTicksIntervalList + (*QuorumTickData)(nil), // 20: qubic.archiver.archive.pb.QuorumTickData + (*GetQuorumTickDataRequest)(nil), // 21: qubic.archiver.archive.pb.GetQuorumTickDataRequest + (*GetQuorumTickDataResponse)(nil), // 22: qubic.archiver.archive.pb.GetQuorumTickDataResponse + (*Computors)(nil), // 23: qubic.archiver.archive.pb.Computors + (*GetComputorsRequest)(nil), // 24: qubic.archiver.archive.pb.GetComputorsRequest + (*GetComputorsResponse)(nil), // 25: qubic.archiver.archive.pb.GetComputorsResponse + (*TransferTransactionsPerTick)(nil), // 26: qubic.archiver.archive.pb.TransferTransactionsPerTick + (*ProcessedTick)(nil), // 27: qubic.archiver.archive.pb.ProcessedTick + (*GetStatusResponse)(nil), // 28: qubic.archiver.archive.pb.GetStatusResponse + (*GetHealthCheckResponse)(nil), // 29: qubic.archiver.archive.pb.GetHealthCheckResponse + (*GetLatestTickResponse)(nil), // 30: qubic.archiver.archive.pb.GetLatestTickResponse + (*GetTransferTransactionsPerTickRequest)(nil), // 31: qubic.archiver.archive.pb.GetTransferTransactionsPerTickRequest + (*GetTransferTransactionsPerTickResponse)(nil), // 32: qubic.archiver.archive.pb.GetTransferTransactionsPerTickResponse + (*GetChainHashRequest)(nil), // 33: qubic.archiver.archive.pb.GetChainHashRequest + (*GetChainHashResponse)(nil), // 34: qubic.archiver.archive.pb.GetChainHashResponse + (*ProcessedTickInterval)(nil), // 35: qubic.archiver.archive.pb.ProcessedTickInterval + (*ProcessedTickIntervalsPerEpoch)(nil), // 36: qubic.archiver.archive.pb.ProcessedTickIntervalsPerEpoch + (*TransactionData)(nil), // 37: qubic.archiver.archive.pb.TransactionData + (*GetTickTransactionsRequestV2)(nil), // 38: qubic.archiver.archive.pb.GetTickTransactionsRequestV2 + (*GetTickTransactionsResponseV2)(nil), // 39: qubic.archiver.archive.pb.GetTickTransactionsResponseV2 + (*GetTransactionRequestV2)(nil), // 40: qubic.archiver.archive.pb.GetTransactionRequestV2 + (*GetTransactionResponseV2)(nil), // 41: qubic.archiver.archive.pb.GetTransactionResponseV2 + nil, // 42: qubic.archiver.archive.pb.QuorumTickData.QuorumDiffPerComputorEntry + nil, // 43: qubic.archiver.archive.pb.GetStatusResponse.LastProcessedTicksPerEpochEntry + (*emptypb.Empty)(nil), // 44: google.protobuf.Empty } var file_archive_proto_depIdxs = []int32{ 0, // 0: qubic.archiver.archive.pb.GetTickDataResponse.tick_data:type_name -> qubic.archiver.archive.pb.TickData - 3, // 1: qubic.archiver.archive.pb.GetTransactionDataResponse.transaction:type_name -> qubic.archiver.archive.pb.Transaction - 6, // 2: qubic.archiver.archive.pb.TickTransactionsStatus.transactions:type_name -> qubic.archiver.archive.pb.TransactionStatus - 3, // 3: qubic.archiver.archive.pb.GetTransactionResponse.transaction:type_name -> qubic.archiver.archive.pb.Transaction - 6, // 4: qubic.archiver.archive.pb.GetTransactionStatusResponse.transaction_status:type_name -> qubic.archiver.archive.pb.TransactionStatus - 3, // 5: qubic.archiver.archive.pb.GetTickTransactionsResponse.transactions:type_name -> qubic.archiver.archive.pb.Transaction - 3, // 6: qubic.archiver.archive.pb.GetTickApprovedTransactionsResponse.approved_transactions:type_name -> qubic.archiver.archive.pb.Transaction - 20, // 7: qubic.archiver.archive.pb.SkippedTicksIntervalList.skipped_ticks:type_name -> qubic.archiver.archive.pb.SkippedTicksInterval - 19, // 8: qubic.archiver.archive.pb.QuorumTickData.quorum_tick_structure:type_name -> qubic.archiver.archive.pb.QuorumTickStructure - 39, // 9: qubic.archiver.archive.pb.QuorumTickData.quorum_diff_per_computor:type_name -> qubic.archiver.archive.pb.QuorumTickData.QuorumDiffPerComputorEntry - 22, // 10: qubic.archiver.archive.pb.GetQuorumTickDataResponse.quorum_tick_data:type_name -> qubic.archiver.archive.pb.QuorumTickData - 25, // 11: qubic.archiver.archive.pb.GetComputorsResponse.computors:type_name -> qubic.archiver.archive.pb.Computors - 3, // 12: qubic.archiver.archive.pb.TransferTransactionsPerTick.transactions:type_name -> qubic.archiver.archive.pb.Transaction - 29, // 13: qubic.archiver.archive.pb.GetStatusResponse.last_processed_tick:type_name -> qubic.archiver.archive.pb.ProcessedTick - 40, // 14: qubic.archiver.archive.pb.GetStatusResponse.last_processed_ticks_per_epoch:type_name -> qubic.archiver.archive.pb.GetStatusResponse.LastProcessedTicksPerEpochEntry - 20, // 15: qubic.archiver.archive.pb.GetStatusResponse.skipped_ticks:type_name -> qubic.archiver.archive.pb.SkippedTicksInterval - 38, // 16: qubic.archiver.archive.pb.GetStatusResponse.processed_tick_intervals_per_epoch:type_name -> qubic.archiver.archive.pb.ProcessedTickIntervalsPerEpoch - 28, // 17: qubic.archiver.archive.pb.GetTransferTransactionsPerTickResponse.transfer_transactions_per_tick:type_name -> qubic.archiver.archive.pb.TransferTransactionsPerTick - 37, // 18: qubic.archiver.archive.pb.ProcessedTickIntervalsPerEpoch.intervals:type_name -> qubic.archiver.archive.pb.ProcessedTickInterval - 18, // 19: qubic.archiver.archive.pb.QuorumTickData.QuorumDiffPerComputorEntry.value:type_name -> qubic.archiver.archive.pb.QuorumDiff - 4, // 20: qubic.archiver.archive.pb.ArchiveService.GetTransactionData:input_type -> qubic.archiver.archive.pb.GetTransactionDataRequest - 1, // 21: qubic.archiver.archive.pb.ArchiveService.GetTickData:input_type -> qubic.archiver.archive.pb.GetTickDataRequest - 23, // 22: qubic.archiver.archive.pb.ArchiveService.GetQuorumTickData:input_type -> qubic.archiver.archive.pb.GetQuorumTickDataRequest - 14, // 23: qubic.archiver.archive.pb.ArchiveService.GetTickTransactions:input_type -> qubic.archiver.archive.pb.GetTickTransactionsRequest - 14, // 24: qubic.archiver.archive.pb.ArchiveService.GetTickTransferTransactions:input_type -> qubic.archiver.archive.pb.GetTickTransactionsRequest - 16, // 25: qubic.archiver.archive.pb.ArchiveService.GetTickApprovedTransactions:input_type -> qubic.archiver.archive.pb.GetTickApprovedTransactionsRequest - 35, // 26: qubic.archiver.archive.pb.ArchiveService.GetChainHash:input_type -> qubic.archiver.archive.pb.GetChainHashRequest - 35, // 27: qubic.archiver.archive.pb.ArchiveService.GetStoreHash:input_type -> qubic.archiver.archive.pb.GetChainHashRequest - 10, // 28: qubic.archiver.archive.pb.ArchiveService.GetTransaction:input_type -> qubic.archiver.archive.pb.GetTransactionRequest - 12, // 29: qubic.archiver.archive.pb.ArchiveService.GetTransactionStatus:input_type -> qubic.archiver.archive.pb.GetTransactionStatusRequest - 33, // 30: qubic.archiver.archive.pb.ArchiveService.GetTransferTransactionsPerTick:input_type -> qubic.archiver.archive.pb.GetTransferTransactionsPerTickRequest - 26, // 31: qubic.archiver.archive.pb.ArchiveService.GetComputors:input_type -> qubic.archiver.archive.pb.GetComputorsRequest - 41, // 32: qubic.archiver.archive.pb.ArchiveService.GetStatus:input_type -> google.protobuf.Empty - 41, // 33: qubic.archiver.archive.pb.ArchiveService.GetLatestTick:input_type -> google.protobuf.Empty - 41, // 34: qubic.archiver.archive.pb.ArchiveService.GetHealthCheck:input_type -> google.protobuf.Empty - 5, // 35: qubic.archiver.archive.pb.ArchiveService.GetTransactionData:output_type -> qubic.archiver.archive.pb.GetTransactionDataResponse - 2, // 36: qubic.archiver.archive.pb.ArchiveService.GetTickData:output_type -> qubic.archiver.archive.pb.GetTickDataResponse - 24, // 37: qubic.archiver.archive.pb.ArchiveService.GetQuorumTickData:output_type -> qubic.archiver.archive.pb.GetQuorumTickDataResponse - 15, // 38: qubic.archiver.archive.pb.ArchiveService.GetTickTransactions:output_type -> qubic.archiver.archive.pb.GetTickTransactionsResponse - 15, // 39: qubic.archiver.archive.pb.ArchiveService.GetTickTransferTransactions:output_type -> qubic.archiver.archive.pb.GetTickTransactionsResponse - 17, // 40: qubic.archiver.archive.pb.ArchiveService.GetTickApprovedTransactions:output_type -> qubic.archiver.archive.pb.GetTickApprovedTransactionsResponse - 36, // 41: qubic.archiver.archive.pb.ArchiveService.GetChainHash:output_type -> qubic.archiver.archive.pb.GetChainHashResponse - 36, // 42: qubic.archiver.archive.pb.ArchiveService.GetStoreHash:output_type -> qubic.archiver.archive.pb.GetChainHashResponse - 11, // 43: qubic.archiver.archive.pb.ArchiveService.GetTransaction:output_type -> qubic.archiver.archive.pb.GetTransactionResponse - 13, // 44: qubic.archiver.archive.pb.ArchiveService.GetTransactionStatus:output_type -> qubic.archiver.archive.pb.GetTransactionStatusResponse - 34, // 45: qubic.archiver.archive.pb.ArchiveService.GetTransferTransactionsPerTick:output_type -> qubic.archiver.archive.pb.GetTransferTransactionsPerTickResponse - 27, // 46: qubic.archiver.archive.pb.ArchiveService.GetComputors:output_type -> qubic.archiver.archive.pb.GetComputorsResponse - 30, // 47: qubic.archiver.archive.pb.ArchiveService.GetStatus:output_type -> qubic.archiver.archive.pb.GetStatusResponse - 32, // 48: qubic.archiver.archive.pb.ArchiveService.GetLatestTick:output_type -> qubic.archiver.archive.pb.GetLatestTickResponse - 31, // 49: qubic.archiver.archive.pb.ArchiveService.GetHealthCheck:output_type -> qubic.archiver.archive.pb.GetHealthCheckResponse - 35, // [35:50] is the sub-list for method output_type - 20, // [20:35] is the sub-list for method input_type - 20, // [20:20] is the sub-list for extension type_name - 20, // [20:20] is the sub-list for extension extendee - 0, // [0:20] is the sub-list for field type_name + 4, // 1: qubic.archiver.archive.pb.TickTransactionsStatus.transactions:type_name -> qubic.archiver.archive.pb.TransactionStatus + 3, // 2: qubic.archiver.archive.pb.GetTransactionResponse.transaction:type_name -> qubic.archiver.archive.pb.Transaction + 4, // 3: qubic.archiver.archive.pb.GetTransactionStatusResponse.transaction_status:type_name -> qubic.archiver.archive.pb.TransactionStatus + 3, // 4: qubic.archiver.archive.pb.GetTickTransactionsResponse.transactions:type_name -> qubic.archiver.archive.pb.Transaction + 3, // 5: qubic.archiver.archive.pb.GetTickApprovedTransactionsResponse.approved_transactions:type_name -> qubic.archiver.archive.pb.Transaction + 18, // 6: qubic.archiver.archive.pb.SkippedTicksIntervalList.skipped_ticks:type_name -> qubic.archiver.archive.pb.SkippedTicksInterval + 17, // 7: qubic.archiver.archive.pb.QuorumTickData.quorum_tick_structure:type_name -> qubic.archiver.archive.pb.QuorumTickStructure + 42, // 8: qubic.archiver.archive.pb.QuorumTickData.quorum_diff_per_computor:type_name -> qubic.archiver.archive.pb.QuorumTickData.QuorumDiffPerComputorEntry + 20, // 9: qubic.archiver.archive.pb.GetQuorumTickDataResponse.quorum_tick_data:type_name -> qubic.archiver.archive.pb.QuorumTickData + 23, // 10: qubic.archiver.archive.pb.GetComputorsResponse.computors:type_name -> qubic.archiver.archive.pb.Computors + 3, // 11: qubic.archiver.archive.pb.TransferTransactionsPerTick.transactions:type_name -> qubic.archiver.archive.pb.Transaction + 27, // 12: qubic.archiver.archive.pb.GetStatusResponse.last_processed_tick:type_name -> qubic.archiver.archive.pb.ProcessedTick + 43, // 13: qubic.archiver.archive.pb.GetStatusResponse.last_processed_ticks_per_epoch:type_name -> qubic.archiver.archive.pb.GetStatusResponse.LastProcessedTicksPerEpochEntry + 18, // 14: qubic.archiver.archive.pb.GetStatusResponse.skipped_ticks:type_name -> qubic.archiver.archive.pb.SkippedTicksInterval + 36, // 15: qubic.archiver.archive.pb.GetStatusResponse.processed_tick_intervals_per_epoch:type_name -> qubic.archiver.archive.pb.ProcessedTickIntervalsPerEpoch + 26, // 16: qubic.archiver.archive.pb.GetTransferTransactionsPerTickResponse.transfer_transactions_per_tick:type_name -> qubic.archiver.archive.pb.TransferTransactionsPerTick + 35, // 17: qubic.archiver.archive.pb.ProcessedTickIntervalsPerEpoch.intervals:type_name -> qubic.archiver.archive.pb.ProcessedTickInterval + 3, // 18: qubic.archiver.archive.pb.TransactionData.transaction:type_name -> qubic.archiver.archive.pb.Transaction + 37, // 19: qubic.archiver.archive.pb.GetTickTransactionsResponseV2.transactions:type_name -> qubic.archiver.archive.pb.TransactionData + 3, // 20: qubic.archiver.archive.pb.GetTransactionResponseV2.transaction:type_name -> qubic.archiver.archive.pb.Transaction + 16, // 21: qubic.archiver.archive.pb.QuorumTickData.QuorumDiffPerComputorEntry.value:type_name -> qubic.archiver.archive.pb.QuorumDiff + 38, // 22: qubic.archiver.archive.pb.ArchiveService.GetAllTickTransactionsV2:input_type -> qubic.archiver.archive.pb.GetTickTransactionsRequestV2 + 38, // 23: qubic.archiver.archive.pb.ArchiveService.GetTransferTickTransactionsV2:input_type -> qubic.archiver.archive.pb.GetTickTransactionsRequestV2 + 38, // 24: qubic.archiver.archive.pb.ArchiveService.GetApprovedTickTransactionsV2:input_type -> qubic.archiver.archive.pb.GetTickTransactionsRequestV2 + 40, // 25: qubic.archiver.archive.pb.ArchiveService.GetTransactionV2:input_type -> qubic.archiver.archive.pb.GetTransactionRequestV2 + 1, // 26: qubic.archiver.archive.pb.ArchiveService.GetTickData:input_type -> qubic.archiver.archive.pb.GetTickDataRequest + 21, // 27: qubic.archiver.archive.pb.ArchiveService.GetQuorumTickData:input_type -> qubic.archiver.archive.pb.GetQuorumTickDataRequest + 12, // 28: qubic.archiver.archive.pb.ArchiveService.GetTickTransactions:input_type -> qubic.archiver.archive.pb.GetTickTransactionsRequest + 12, // 29: qubic.archiver.archive.pb.ArchiveService.GetTickTransferTransactions:input_type -> qubic.archiver.archive.pb.GetTickTransactionsRequest + 14, // 30: qubic.archiver.archive.pb.ArchiveService.GetTickApprovedTransactions:input_type -> qubic.archiver.archive.pb.GetTickApprovedTransactionsRequest + 33, // 31: qubic.archiver.archive.pb.ArchiveService.GetChainHash:input_type -> qubic.archiver.archive.pb.GetChainHashRequest + 33, // 32: qubic.archiver.archive.pb.ArchiveService.GetStoreHash:input_type -> qubic.archiver.archive.pb.GetChainHashRequest + 8, // 33: qubic.archiver.archive.pb.ArchiveService.GetTransaction:input_type -> qubic.archiver.archive.pb.GetTransactionRequest + 10, // 34: qubic.archiver.archive.pb.ArchiveService.GetTransactionStatus:input_type -> qubic.archiver.archive.pb.GetTransactionStatusRequest + 31, // 35: qubic.archiver.archive.pb.ArchiveService.GetTransferTransactionsPerTick:input_type -> qubic.archiver.archive.pb.GetTransferTransactionsPerTickRequest + 24, // 36: qubic.archiver.archive.pb.ArchiveService.GetComputors:input_type -> qubic.archiver.archive.pb.GetComputorsRequest + 44, // 37: qubic.archiver.archive.pb.ArchiveService.GetStatus:input_type -> google.protobuf.Empty + 44, // 38: qubic.archiver.archive.pb.ArchiveService.GetLatestTick:input_type -> google.protobuf.Empty + 44, // 39: qubic.archiver.archive.pb.ArchiveService.GetHealthCheck:input_type -> google.protobuf.Empty + 39, // 40: qubic.archiver.archive.pb.ArchiveService.GetAllTickTransactionsV2:output_type -> qubic.archiver.archive.pb.GetTickTransactionsResponseV2 + 39, // 41: qubic.archiver.archive.pb.ArchiveService.GetTransferTickTransactionsV2:output_type -> qubic.archiver.archive.pb.GetTickTransactionsResponseV2 + 39, // 42: qubic.archiver.archive.pb.ArchiveService.GetApprovedTickTransactionsV2:output_type -> qubic.archiver.archive.pb.GetTickTransactionsResponseV2 + 41, // 43: qubic.archiver.archive.pb.ArchiveService.GetTransactionV2:output_type -> qubic.archiver.archive.pb.GetTransactionResponseV2 + 2, // 44: qubic.archiver.archive.pb.ArchiveService.GetTickData:output_type -> qubic.archiver.archive.pb.GetTickDataResponse + 22, // 45: qubic.archiver.archive.pb.ArchiveService.GetQuorumTickData:output_type -> qubic.archiver.archive.pb.GetQuorumTickDataResponse + 13, // 46: qubic.archiver.archive.pb.ArchiveService.GetTickTransactions:output_type -> qubic.archiver.archive.pb.GetTickTransactionsResponse + 13, // 47: qubic.archiver.archive.pb.ArchiveService.GetTickTransferTransactions:output_type -> qubic.archiver.archive.pb.GetTickTransactionsResponse + 15, // 48: qubic.archiver.archive.pb.ArchiveService.GetTickApprovedTransactions:output_type -> qubic.archiver.archive.pb.GetTickApprovedTransactionsResponse + 34, // 49: qubic.archiver.archive.pb.ArchiveService.GetChainHash:output_type -> qubic.archiver.archive.pb.GetChainHashResponse + 34, // 50: qubic.archiver.archive.pb.ArchiveService.GetStoreHash:output_type -> qubic.archiver.archive.pb.GetChainHashResponse + 9, // 51: qubic.archiver.archive.pb.ArchiveService.GetTransaction:output_type -> qubic.archiver.archive.pb.GetTransactionResponse + 11, // 52: qubic.archiver.archive.pb.ArchiveService.GetTransactionStatus:output_type -> qubic.archiver.archive.pb.GetTransactionStatusResponse + 32, // 53: qubic.archiver.archive.pb.ArchiveService.GetTransferTransactionsPerTick:output_type -> qubic.archiver.archive.pb.GetTransferTransactionsPerTickResponse + 25, // 54: qubic.archiver.archive.pb.ArchiveService.GetComputors:output_type -> qubic.archiver.archive.pb.GetComputorsResponse + 28, // 55: qubic.archiver.archive.pb.ArchiveService.GetStatus:output_type -> qubic.archiver.archive.pb.GetStatusResponse + 30, // 56: qubic.archiver.archive.pb.ArchiveService.GetLatestTick:output_type -> qubic.archiver.archive.pb.GetLatestTickResponse + 29, // 57: qubic.archiver.archive.pb.ArchiveService.GetHealthCheck:output_type -> qubic.archiver.archive.pb.GetHealthCheckResponse + 40, // [40:58] is the sub-list for method output_type + 22, // [22:40] is the sub-list for method input_type + 22, // [22:22] is the sub-list for extension type_name + 22, // [22:22] is the sub-list for extension extendee + 0, // [0:22] is the sub-list for field type_name } func init() { file_archive_proto_init() } @@ -2884,7 +3113,7 @@ func file_archive_proto_init() { } } file_archive_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetTransactionDataRequest); i { + switch v := v.(*TransactionStatus); i { case 0: return &v.state case 1: @@ -2896,7 +3125,7 @@ func file_archive_proto_init() { } } file_archive_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetTransactionDataResponse); i { + switch v := v.(*TickTransactionsStatus); i { case 0: return &v.state case 1: @@ -2908,7 +3137,7 @@ func file_archive_proto_init() { } } file_archive_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TransactionStatus); i { + switch v := v.(*NextAvailableTick); i { case 0: return &v.state case 1: @@ -2920,7 +3149,7 @@ func file_archive_proto_init() { } } file_archive_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TickTransactionsStatus); i { + switch v := v.(*LastProcessedTick); i { case 0: return &v.state case 1: @@ -2932,7 +3161,7 @@ func file_archive_proto_init() { } } file_archive_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NextAvailableTick); i { + switch v := v.(*GetTransactionRequest); i { case 0: return &v.state case 1: @@ -2944,7 +3173,7 @@ func file_archive_proto_init() { } } file_archive_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LastProcessedTick); i { + switch v := v.(*GetTransactionResponse); i { case 0: return &v.state case 1: @@ -2956,7 +3185,7 @@ func file_archive_proto_init() { } } file_archive_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetTransactionRequest); i { + switch v := v.(*GetTransactionStatusRequest); i { case 0: return &v.state case 1: @@ -2968,7 +3197,7 @@ func file_archive_proto_init() { } } file_archive_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetTransactionResponse); i { + switch v := v.(*GetTransactionStatusResponse); i { case 0: return &v.state case 1: @@ -2980,7 +3209,7 @@ func file_archive_proto_init() { } } file_archive_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetTransactionStatusRequest); i { + switch v := v.(*GetTickTransactionsRequest); i { case 0: return &v.state case 1: @@ -2992,7 +3221,7 @@ func file_archive_proto_init() { } } file_archive_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetTransactionStatusResponse); i { + switch v := v.(*GetTickTransactionsResponse); i { case 0: return &v.state case 1: @@ -3004,7 +3233,7 @@ func file_archive_proto_init() { } } file_archive_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetTickTransactionsRequest); i { + switch v := v.(*GetTickApprovedTransactionsRequest); i { case 0: return &v.state case 1: @@ -3016,7 +3245,7 @@ func file_archive_proto_init() { } } file_archive_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetTickTransactionsResponse); i { + switch v := v.(*GetTickApprovedTransactionsResponse); i { case 0: return &v.state case 1: @@ -3028,7 +3257,7 @@ func file_archive_proto_init() { } } file_archive_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetTickApprovedTransactionsRequest); i { + switch v := v.(*QuorumDiff); i { case 0: return &v.state case 1: @@ -3040,7 +3269,7 @@ func file_archive_proto_init() { } } file_archive_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetTickApprovedTransactionsResponse); i { + switch v := v.(*QuorumTickStructure); i { case 0: return &v.state case 1: @@ -3052,7 +3281,7 @@ func file_archive_proto_init() { } } file_archive_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*QuorumDiff); i { + switch v := v.(*SkippedTicksInterval); i { case 0: return &v.state case 1: @@ -3064,7 +3293,7 @@ func file_archive_proto_init() { } } file_archive_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*QuorumTickStructure); i { + switch v := v.(*SkippedTicksIntervalList); i { case 0: return &v.state case 1: @@ -3076,7 +3305,7 @@ func file_archive_proto_init() { } } file_archive_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SkippedTicksInterval); i { + switch v := v.(*QuorumTickData); i { case 0: return &v.state case 1: @@ -3088,7 +3317,7 @@ func file_archive_proto_init() { } } file_archive_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SkippedTicksIntervalList); i { + switch v := v.(*GetQuorumTickDataRequest); i { case 0: return &v.state case 1: @@ -3100,7 +3329,7 @@ func file_archive_proto_init() { } } file_archive_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*QuorumTickData); i { + switch v := v.(*GetQuorumTickDataResponse); i { case 0: return &v.state case 1: @@ -3112,7 +3341,7 @@ func file_archive_proto_init() { } } file_archive_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetQuorumTickDataRequest); i { + switch v := v.(*Computors); i { case 0: return &v.state case 1: @@ -3124,7 +3353,7 @@ func file_archive_proto_init() { } } file_archive_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetQuorumTickDataResponse); i { + switch v := v.(*GetComputorsRequest); i { case 0: return &v.state case 1: @@ -3136,7 +3365,7 @@ func file_archive_proto_init() { } } file_archive_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Computors); i { + switch v := v.(*GetComputorsResponse); i { case 0: return &v.state case 1: @@ -3148,7 +3377,7 @@ func file_archive_proto_init() { } } file_archive_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetComputorsRequest); i { + switch v := v.(*TransferTransactionsPerTick); i { case 0: return &v.state case 1: @@ -3160,7 +3389,7 @@ func file_archive_proto_init() { } } file_archive_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetComputorsResponse); i { + switch v := v.(*ProcessedTick); i { case 0: return &v.state case 1: @@ -3172,7 +3401,7 @@ func file_archive_proto_init() { } } file_archive_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TransferTransactionsPerTick); i { + switch v := v.(*GetStatusResponse); i { case 0: return &v.state case 1: @@ -3184,7 +3413,7 @@ func file_archive_proto_init() { } } file_archive_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ProcessedTick); i { + switch v := v.(*GetHealthCheckResponse); i { case 0: return &v.state case 1: @@ -3196,7 +3425,7 @@ func file_archive_proto_init() { } } file_archive_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetStatusResponse); i { + switch v := v.(*GetLatestTickResponse); i { case 0: return &v.state case 1: @@ -3208,7 +3437,7 @@ func file_archive_proto_init() { } } file_archive_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetHealthCheckResponse); i { + switch v := v.(*GetTransferTransactionsPerTickRequest); i { case 0: return &v.state case 1: @@ -3220,7 +3449,7 @@ func file_archive_proto_init() { } } file_archive_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetLatestTickResponse); i { + switch v := v.(*GetTransferTransactionsPerTickResponse); i { case 0: return &v.state case 1: @@ -3232,7 +3461,7 @@ func file_archive_proto_init() { } } file_archive_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetTransferTransactionsPerTickRequest); i { + switch v := v.(*GetChainHashRequest); i { case 0: return &v.state case 1: @@ -3244,7 +3473,7 @@ func file_archive_proto_init() { } } file_archive_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetTransferTransactionsPerTickResponse); i { + switch v := v.(*GetChainHashResponse); i { case 0: return &v.state case 1: @@ -3256,7 +3485,7 @@ func file_archive_proto_init() { } } file_archive_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetChainHashRequest); i { + switch v := v.(*ProcessedTickInterval); i { case 0: return &v.state case 1: @@ -3268,7 +3497,7 @@ func file_archive_proto_init() { } } file_archive_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetChainHashResponse); i { + switch v := v.(*ProcessedTickIntervalsPerEpoch); i { case 0: return &v.state case 1: @@ -3280,7 +3509,7 @@ func file_archive_proto_init() { } } file_archive_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ProcessedTickInterval); i { + switch v := v.(*TransactionData); i { case 0: return &v.state case 1: @@ -3292,7 +3521,43 @@ func file_archive_proto_init() { } } file_archive_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ProcessedTickIntervalsPerEpoch); i { + switch v := v.(*GetTickTransactionsRequestV2); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_archive_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetTickTransactionsResponseV2); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_archive_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetTransactionRequestV2); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_archive_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetTransactionResponseV2); i { case 0: return &v.state case 1: @@ -3310,7 +3575,7 @@ func file_archive_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_archive_proto_rawDesc, NumEnums: 0, - NumMessages: 41, + NumMessages: 44, NumExtensions: 0, NumServices: 1, }, diff --git a/protobuff/archive.pb.gw.go b/protobuff/archive.pb.gw.go index 214602c..dc89877 100644 --- a/protobuff/archive.pb.gw.go +++ b/protobuff/archive.pb.gw.go @@ -32,8 +32,164 @@ var _ = runtime.String var _ = utilities.NewDoubleArray var _ = metadata.Join -func request_ArchiveService_GetTransactionData_0(ctx context.Context, marshaler runtime.Marshaler, client ArchiveServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetTransactionDataRequest +func request_ArchiveService_GetAllTickTransactionsV2_0(ctx context.Context, marshaler runtime.Marshaler, client ArchiveServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetTickTransactionsRequestV2 + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["tick_number"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "tick_number") + } + + protoReq.TickNumber, err = runtime.Uint32(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "tick_number", err) + } + + msg, err := client.GetAllTickTransactionsV2(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_ArchiveService_GetAllTickTransactionsV2_0(ctx context.Context, marshaler runtime.Marshaler, server ArchiveServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetTickTransactionsRequestV2 + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["tick_number"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "tick_number") + } + + protoReq.TickNumber, err = runtime.Uint32(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "tick_number", err) + } + + msg, err := server.GetAllTickTransactionsV2(ctx, &protoReq) + return msg, metadata, err + +} + +func request_ArchiveService_GetTransferTickTransactionsV2_0(ctx context.Context, marshaler runtime.Marshaler, client ArchiveServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetTickTransactionsRequestV2 + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["tick_number"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "tick_number") + } + + protoReq.TickNumber, err = runtime.Uint32(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "tick_number", err) + } + + msg, err := client.GetTransferTickTransactionsV2(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_ArchiveService_GetTransferTickTransactionsV2_0(ctx context.Context, marshaler runtime.Marshaler, server ArchiveServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetTickTransactionsRequestV2 + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["tick_number"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "tick_number") + } + + protoReq.TickNumber, err = runtime.Uint32(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "tick_number", err) + } + + msg, err := server.GetTransferTickTransactionsV2(ctx, &protoReq) + return msg, metadata, err + +} + +func request_ArchiveService_GetApprovedTickTransactionsV2_0(ctx context.Context, marshaler runtime.Marshaler, client ArchiveServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetTickTransactionsRequestV2 + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["tick_number"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "tick_number") + } + + protoReq.TickNumber, err = runtime.Uint32(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "tick_number", err) + } + + msg, err := client.GetApprovedTickTransactionsV2(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_ArchiveService_GetApprovedTickTransactionsV2_0(ctx context.Context, marshaler runtime.Marshaler, server ArchiveServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetTickTransactionsRequestV2 + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["tick_number"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "tick_number") + } + + protoReq.TickNumber, err = runtime.Uint32(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "tick_number", err) + } + + msg, err := server.GetApprovedTickTransactionsV2(ctx, &protoReq) + return msg, metadata, err + +} + +func request_ArchiveService_GetTransactionV2_0(ctx context.Context, marshaler runtime.Marshaler, client ArchiveServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetTransactionRequestV2 var metadata runtime.ServerMetadata var ( @@ -53,13 +209,13 @@ func request_ArchiveService_GetTransactionData_0(ctx context.Context, marshaler return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "tx_id", err) } - msg, err := client.GetTransactionData(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + msg, err := client.GetTransactionV2(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err } -func local_request_ArchiveService_GetTransactionData_0(ctx context.Context, marshaler runtime.Marshaler, server ArchiveServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetTransactionDataRequest +func local_request_ArchiveService_GetTransactionV2_0(ctx context.Context, marshaler runtime.Marshaler, server ArchiveServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetTransactionRequestV2 var metadata runtime.ServerMetadata var ( @@ -79,7 +235,7 @@ func local_request_ArchiveService_GetTransactionData_0(ctx context.Context, mars return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "tx_id", err) } - msg, err := server.GetTransactionData(ctx, &protoReq) + msg, err := server.GetTransactionV2(ctx, &protoReq) return msg, metadata, err } @@ -734,7 +890,82 @@ func local_request_ArchiveService_GetHealthCheck_0(ctx context.Context, marshale // Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterArchiveServiceHandlerFromEndpoint instead. func RegisterArchiveServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux, server ArchiveServiceServer) error { - mux.Handle("GET", pattern_ArchiveService_GetTransactionData_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_ArchiveService_GetAllTickTransactionsV2_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/qubic.archiver.archive.pb.ArchiveService/GetAllTickTransactionsV2", runtime.WithHTTPPathPattern("/v2/tick/{tick_number}/transactions")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ArchiveService_GetAllTickTransactionsV2_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ArchiveService_GetAllTickTransactionsV2_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ArchiveService_GetTransferTickTransactionsV2_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/qubic.archiver.archive.pb.ArchiveService/GetTransferTickTransactionsV2", runtime.WithHTTPPathPattern("/v2/tick/{tick_number}/transactions/transfers")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ArchiveService_GetTransferTickTransactionsV2_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ArchiveService_GetTransferTickTransactionsV2_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ArchiveService_GetApprovedTickTransactionsV2_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/qubic.archiver.archive.pb.ArchiveService/GetApprovedTickTransactionsV2", runtime.WithHTTPPathPattern("/v2/tick/{tick_number}/transactions/transfers/approved")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ArchiveService_GetApprovedTickTransactionsV2_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ArchiveService_GetApprovedTickTransactionsV2_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ArchiveService_GetTransactionV2_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream @@ -742,12 +973,12 @@ func RegisterArchiveServiceHandlerServer(ctx context.Context, mux *runtime.Serve inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/qubic.archiver.archive.pb.ArchiveService/GetTransactionData", runtime.WithHTTPPathPattern("/v2/transaction/{tx_id}")) + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/qubic.archiver.archive.pb.ArchiveService/GetTransactionV2", runtime.WithHTTPPathPattern("/v2/transaction/{tx_id}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_ArchiveService_GetTransactionData_0(annotatedContext, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_ArchiveService_GetTransactionV2_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { @@ -755,7 +986,7 @@ func RegisterArchiveServiceHandlerServer(ctx context.Context, mux *runtime.Serve return } - forward_ArchiveService_GetTransactionData_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_ArchiveService_GetTransactionV2_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1150,25 +1381,91 @@ func RegisterArchiveServiceHandler(ctx context.Context, mux *runtime.ServeMux, c // "ArchiveServiceClient" to call the correct interceptors. func RegisterArchiveServiceHandlerClient(ctx context.Context, mux *runtime.ServeMux, client ArchiveServiceClient) error { - mux.Handle("GET", pattern_ArchiveService_GetTransactionData_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_ArchiveService_GetAllTickTransactionsV2_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/qubic.archiver.archive.pb.ArchiveService/GetTransactionData", runtime.WithHTTPPathPattern("/v2/transaction/{tx_id}")) + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/qubic.archiver.archive.pb.ArchiveService/GetAllTickTransactionsV2", runtime.WithHTTPPathPattern("/v2/tick/{tick_number}/transactions")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_ArchiveService_GetTransactionData_0(annotatedContext, inboundMarshaler, client, req, pathParams) + resp, md, err := request_ArchiveService_GetAllTickTransactionsV2_0(annotatedContext, inboundMarshaler, client, req, pathParams) annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_ArchiveService_GetTransactionData_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_ArchiveService_GetAllTickTransactionsV2_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ArchiveService_GetTransferTickTransactionsV2_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/qubic.archiver.archive.pb.ArchiveService/GetTransferTickTransactionsV2", runtime.WithHTTPPathPattern("/v2/tick/{tick_number}/transactions/transfers")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_ArchiveService_GetTransferTickTransactionsV2_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ArchiveService_GetTransferTickTransactionsV2_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ArchiveService_GetApprovedTickTransactionsV2_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/qubic.archiver.archive.pb.ArchiveService/GetApprovedTickTransactionsV2", runtime.WithHTTPPathPattern("/v2/tick/{tick_number}/transactions/transfers/approved")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_ArchiveService_GetApprovedTickTransactionsV2_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ArchiveService_GetApprovedTickTransactionsV2_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ArchiveService_GetTransactionV2_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/qubic.archiver.archive.pb.ArchiveService/GetTransactionV2", runtime.WithHTTPPathPattern("/v2/transaction/{tx_id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_ArchiveService_GetTransactionV2_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ArchiveService_GetTransactionV2_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1484,7 +1781,13 @@ func RegisterArchiveServiceHandlerClient(ctx context.Context, mux *runtime.Serve } var ( - pattern_ArchiveService_GetTransactionData_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2}, []string{"v2", "transaction", "tx_id"}, "")) + pattern_ArchiveService_GetAllTickTransactionsV2_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3}, []string{"v2", "tick", "tick_number", "transactions"}, "")) + + pattern_ArchiveService_GetTransferTickTransactionsV2_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3, 2, 4}, []string{"v2", "tick", "tick_number", "transactions", "transfers"}, "")) + + pattern_ArchiveService_GetApprovedTickTransactionsV2_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3, 2, 4, 2, 5}, []string{"v2", "tick", "tick_number", "transactions", "transfers", "approved"}, "")) + + pattern_ArchiveService_GetTransactionV2_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2}, []string{"v2", "transaction", "tx_id"}, "")) pattern_ArchiveService_GetTickData_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3}, []string{"v1", "ticks", "tick_number", "tick-data"}, "")) @@ -1516,7 +1819,13 @@ var ( ) var ( - forward_ArchiveService_GetTransactionData_0 = runtime.ForwardResponseMessage + forward_ArchiveService_GetAllTickTransactionsV2_0 = runtime.ForwardResponseMessage + + forward_ArchiveService_GetTransferTickTransactionsV2_0 = runtime.ForwardResponseMessage + + forward_ArchiveService_GetApprovedTickTransactionsV2_0 = runtime.ForwardResponseMessage + + forward_ArchiveService_GetTransactionV2_0 = runtime.ForwardResponseMessage forward_ArchiveService_GetTickData_0 = runtime.ForwardResponseMessage diff --git a/protobuff/archive.proto b/protobuff/archive.proto index e0d6eaa..3dcda21 100644 --- a/protobuff/archive.proto +++ b/protobuff/archive.proto @@ -38,17 +38,6 @@ message Transaction { string tx_id = 9; } - -message GetTransactionDataRequest { - string tx_id = 1; -} - -message GetTransactionDataResponse { - Transaction transaction = 1; - uint64 timestamp = 2; - bool money_flew = 3; -} - message TransactionStatus { string tx_id = 1; bool moneyFlew = 2; @@ -208,9 +197,56 @@ message ProcessedTickIntervalsPerEpoch { repeated ProcessedTickInterval intervals = 2; } +// Wrapper around transaction and additional data +message TransactionData { + Transaction transaction = 1; + uint64 timestamp = 2; + bool money_flew = 3; +} + +//Ticks + +// Tick Transactions +message GetTickTransactionsRequestV2 { + uint32 tick_number = 1; +} +message GetTickTransactionsResponseV2 { + repeated TransactionData transactions = 1; +} + + +// Get Transaction +message GetTransactionRequestV2 { + string tx_id = 1; +} +message GetTransactionResponseV2 { + Transaction transaction = 1; + uint64 timestamp = 2; + bool money_flew = 3; +} + + service ArchiveService { - rpc GetTransactionData(GetTransactionDataRequest) returns (GetTransactionDataResponse) { + //Tick + rpc GetAllTickTransactionsV2(GetTickTransactionsRequestV2) returns (GetTickTransactionsResponseV2){ + option (google.api.http) = { + get: "/v2/tick/{tick_number}/transactions" + }; + }; + rpc GetTransferTickTransactionsV2(GetTickTransactionsRequestV2) returns (GetTickTransactionsResponseV2){ + option (google.api.http) = { + get: "/v2/tick/{tick_number}/transactions/transfers" + }; + }; + rpc GetApprovedTickTransactionsV2(GetTickTransactionsRequestV2) returns (GetTickTransactionsResponseV2){ + option (google.api.http) = { + get: "/v2/tick/{tick_number}/transactions/transfers/approved" + }; + }; + + //Transaction + rpc GetTransactionV2(GetTransactionRequestV2) returns (GetTransactionResponseV2) { option (google.api.http) = { get: "/v2/transaction/{tx_id}" }; diff --git a/protobuff/archive_grpc.pb.go b/protobuff/archive_grpc.pb.go index 91b538d..55ec445 100644 --- a/protobuff/archive_grpc.pb.go +++ b/protobuff/archive_grpc.pb.go @@ -20,7 +20,10 @@ import ( const _ = grpc.SupportPackageIsVersion7 const ( - ArchiveService_GetTransactionData_FullMethodName = "/qubic.archiver.archive.pb.ArchiveService/GetTransactionData" + ArchiveService_GetAllTickTransactionsV2_FullMethodName = "/qubic.archiver.archive.pb.ArchiveService/GetAllTickTransactionsV2" + ArchiveService_GetTransferTickTransactionsV2_FullMethodName = "/qubic.archiver.archive.pb.ArchiveService/GetTransferTickTransactionsV2" + ArchiveService_GetApprovedTickTransactionsV2_FullMethodName = "/qubic.archiver.archive.pb.ArchiveService/GetApprovedTickTransactionsV2" + ArchiveService_GetTransactionV2_FullMethodName = "/qubic.archiver.archive.pb.ArchiveService/GetTransactionV2" ArchiveService_GetTickData_FullMethodName = "/qubic.archiver.archive.pb.ArchiveService/GetTickData" ArchiveService_GetQuorumTickData_FullMethodName = "/qubic.archiver.archive.pb.ArchiveService/GetQuorumTickData" ArchiveService_GetTickTransactions_FullMethodName = "/qubic.archiver.archive.pb.ArchiveService/GetTickTransactions" @@ -41,7 +44,12 @@ const ( // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. type ArchiveServiceClient interface { - GetTransactionData(ctx context.Context, in *GetTransactionDataRequest, opts ...grpc.CallOption) (*GetTransactionDataResponse, error) + // Tick + GetAllTickTransactionsV2(ctx context.Context, in *GetTickTransactionsRequestV2, opts ...grpc.CallOption) (*GetTickTransactionsResponseV2, error) + GetTransferTickTransactionsV2(ctx context.Context, in *GetTickTransactionsRequestV2, opts ...grpc.CallOption) (*GetTickTransactionsResponseV2, error) + GetApprovedTickTransactionsV2(ctx context.Context, in *GetTickTransactionsRequestV2, opts ...grpc.CallOption) (*GetTickTransactionsResponseV2, error) + // Transaction + GetTransactionV2(ctx context.Context, in *GetTransactionRequestV2, opts ...grpc.CallOption) (*GetTransactionResponseV2, error) GetTickData(ctx context.Context, in *GetTickDataRequest, opts ...grpc.CallOption) (*GetTickDataResponse, error) GetQuorumTickData(ctx context.Context, in *GetQuorumTickDataRequest, opts ...grpc.CallOption) (*GetQuorumTickDataResponse, error) GetTickTransactions(ctx context.Context, in *GetTickTransactionsRequest, opts ...grpc.CallOption) (*GetTickTransactionsResponse, error) @@ -66,9 +74,36 @@ func NewArchiveServiceClient(cc grpc.ClientConnInterface) ArchiveServiceClient { return &archiveServiceClient{cc} } -func (c *archiveServiceClient) GetTransactionData(ctx context.Context, in *GetTransactionDataRequest, opts ...grpc.CallOption) (*GetTransactionDataResponse, error) { - out := new(GetTransactionDataResponse) - err := c.cc.Invoke(ctx, ArchiveService_GetTransactionData_FullMethodName, in, out, opts...) +func (c *archiveServiceClient) GetAllTickTransactionsV2(ctx context.Context, in *GetTickTransactionsRequestV2, opts ...grpc.CallOption) (*GetTickTransactionsResponseV2, error) { + out := new(GetTickTransactionsResponseV2) + err := c.cc.Invoke(ctx, ArchiveService_GetAllTickTransactionsV2_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *archiveServiceClient) GetTransferTickTransactionsV2(ctx context.Context, in *GetTickTransactionsRequestV2, opts ...grpc.CallOption) (*GetTickTransactionsResponseV2, error) { + out := new(GetTickTransactionsResponseV2) + err := c.cc.Invoke(ctx, ArchiveService_GetTransferTickTransactionsV2_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *archiveServiceClient) GetApprovedTickTransactionsV2(ctx context.Context, in *GetTickTransactionsRequestV2, opts ...grpc.CallOption) (*GetTickTransactionsResponseV2, error) { + out := new(GetTickTransactionsResponseV2) + err := c.cc.Invoke(ctx, ArchiveService_GetApprovedTickTransactionsV2_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *archiveServiceClient) GetTransactionV2(ctx context.Context, in *GetTransactionRequestV2, opts ...grpc.CallOption) (*GetTransactionResponseV2, error) { + out := new(GetTransactionResponseV2) + err := c.cc.Invoke(ctx, ArchiveService_GetTransactionV2_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -205,7 +240,12 @@ func (c *archiveServiceClient) GetHealthCheck(ctx context.Context, in *emptypb.E // All implementations must embed UnimplementedArchiveServiceServer // for forward compatibility type ArchiveServiceServer interface { - GetTransactionData(context.Context, *GetTransactionDataRequest) (*GetTransactionDataResponse, error) + // Tick + GetAllTickTransactionsV2(context.Context, *GetTickTransactionsRequestV2) (*GetTickTransactionsResponseV2, error) + GetTransferTickTransactionsV2(context.Context, *GetTickTransactionsRequestV2) (*GetTickTransactionsResponseV2, error) + GetApprovedTickTransactionsV2(context.Context, *GetTickTransactionsRequestV2) (*GetTickTransactionsResponseV2, error) + // Transaction + GetTransactionV2(context.Context, *GetTransactionRequestV2) (*GetTransactionResponseV2, error) GetTickData(context.Context, *GetTickDataRequest) (*GetTickDataResponse, error) GetQuorumTickData(context.Context, *GetQuorumTickDataRequest) (*GetQuorumTickDataResponse, error) GetTickTransactions(context.Context, *GetTickTransactionsRequest) (*GetTickTransactionsResponse, error) @@ -227,8 +267,17 @@ type ArchiveServiceServer interface { type UnimplementedArchiveServiceServer struct { } -func (UnimplementedArchiveServiceServer) GetTransactionData(context.Context, *GetTransactionDataRequest) (*GetTransactionDataResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetTransactionData not implemented") +func (UnimplementedArchiveServiceServer) GetAllTickTransactionsV2(context.Context, *GetTickTransactionsRequestV2) (*GetTickTransactionsResponseV2, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetAllTickTransactionsV2 not implemented") +} +func (UnimplementedArchiveServiceServer) GetTransferTickTransactionsV2(context.Context, *GetTickTransactionsRequestV2) (*GetTickTransactionsResponseV2, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetTransferTickTransactionsV2 not implemented") +} +func (UnimplementedArchiveServiceServer) GetApprovedTickTransactionsV2(context.Context, *GetTickTransactionsRequestV2) (*GetTickTransactionsResponseV2, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetApprovedTickTransactionsV2 not implemented") +} +func (UnimplementedArchiveServiceServer) GetTransactionV2(context.Context, *GetTransactionRequestV2) (*GetTransactionResponseV2, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetTransactionV2 not implemented") } func (UnimplementedArchiveServiceServer) GetTickData(context.Context, *GetTickDataRequest) (*GetTickDataResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method GetTickData not implemented") @@ -285,20 +334,74 @@ func RegisterArchiveServiceServer(s grpc.ServiceRegistrar, srv ArchiveServiceSer s.RegisterService(&ArchiveService_ServiceDesc, srv) } -func _ArchiveService_GetTransactionData_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetTransactionDataRequest) +func _ArchiveService_GetAllTickTransactionsV2_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetTickTransactionsRequestV2) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ArchiveServiceServer).GetAllTickTransactionsV2(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ArchiveService_GetAllTickTransactionsV2_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ArchiveServiceServer).GetAllTickTransactionsV2(ctx, req.(*GetTickTransactionsRequestV2)) + } + return interceptor(ctx, in, info, handler) +} + +func _ArchiveService_GetTransferTickTransactionsV2_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetTickTransactionsRequestV2) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(ArchiveServiceServer).GetTransactionData(ctx, in) + return srv.(ArchiveServiceServer).GetTransferTickTransactionsV2(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: ArchiveService_GetTransactionData_FullMethodName, + FullMethod: ArchiveService_GetTransferTickTransactionsV2_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(ArchiveServiceServer).GetTransactionData(ctx, req.(*GetTransactionDataRequest)) + return srv.(ArchiveServiceServer).GetTransferTickTransactionsV2(ctx, req.(*GetTickTransactionsRequestV2)) + } + return interceptor(ctx, in, info, handler) +} + +func _ArchiveService_GetApprovedTickTransactionsV2_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetTickTransactionsRequestV2) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ArchiveServiceServer).GetApprovedTickTransactionsV2(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ArchiveService_GetApprovedTickTransactionsV2_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ArchiveServiceServer).GetApprovedTickTransactionsV2(ctx, req.(*GetTickTransactionsRequestV2)) + } + return interceptor(ctx, in, info, handler) +} + +func _ArchiveService_GetTransactionV2_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetTransactionRequestV2) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ArchiveServiceServer).GetTransactionV2(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ArchiveService_GetTransactionV2_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ArchiveServiceServer).GetTransactionV2(ctx, req.(*GetTransactionRequestV2)) } return interceptor(ctx, in, info, handler) } @@ -563,8 +666,20 @@ var ArchiveService_ServiceDesc = grpc.ServiceDesc{ HandlerType: (*ArchiveServiceServer)(nil), Methods: []grpc.MethodDesc{ { - MethodName: "GetTransactionData", - Handler: _ArchiveService_GetTransactionData_Handler, + MethodName: "GetAllTickTransactionsV2", + Handler: _ArchiveService_GetAllTickTransactionsV2_Handler, + }, + { + MethodName: "GetTransferTickTransactionsV2", + Handler: _ArchiveService_GetTransferTickTransactionsV2_Handler, + }, + { + MethodName: "GetApprovedTickTransactionsV2", + Handler: _ArchiveService_GetApprovedTickTransactionsV2_Handler, + }, + { + MethodName: "GetTransactionV2", + Handler: _ArchiveService_GetTransactionV2_Handler, }, { MethodName: "GetTickData", diff --git a/rpc/rpc_server.go b/rpc/rpc_server.go index ae0b55e..67e1c5f 100644 --- a/rpc/rpc_server.go +++ b/rpc/rpc_server.go @@ -27,6 +27,11 @@ var _ protobuff.ArchiveServiceServer = &Server{} var emptyTd = &protobuff.TickData{} +type TransactionInfo struct { + timestamp uint64 + moneyFlew bool +} + type Server struct { protobuff.UnimplementedArchiveServiceServer listenAddrGRPC string @@ -48,30 +53,225 @@ func NewServer(listenAddrGRPC, listenAddrHTTP string, syncThreshold int, chainTi } } -func (s *Server) GetTransactionData(ctx context.Context, req *protobuff.GetTransactionDataRequest) (*protobuff.GetTransactionDataResponse, error) { +func getTransactionInfo(ctx context.Context, pebbleStore *store.PebbleStore, transactionId string, tickNumber uint32) (*TransactionInfo, error) { - tx, err := s.store.GetTransaction(ctx, req.TxId) + txStatus, err := pebbleStore.GetTransactionStatus(ctx, transactionId) + if err != nil { + return nil, errors.Wrap(err, "getting transaction status") + } + + tickData, err := pebbleStore.GetTickData(ctx, tickNumber) + if err != nil { + return nil, errors.Wrap(err, "getting tick data") + } + + return &TransactionInfo{ + timestamp: tickData.Timestamp, + moneyFlew: txStatus.MoneyFlew, + }, nil + +} + +func (s *Server) GetAllTickTransactionsV2(ctx context.Context, req *protobuff.GetTickTransactionsRequestV2) (*protobuff.GetTickTransactionsResponseV2, error) { + lastProcessedTick, err := s.store.GetLastProcessedTick(ctx) + if err != nil { + return nil, status.Errorf(codes.Internal, "getting last processed tick: %v", err) + } + if req.TickNumber > lastProcessedTick.TickNumber { + st := status.Newf(codes.FailedPrecondition, "requested tick number %d is greater than last processed tick %d", req.TickNumber, lastProcessedTick.TickNumber) + st, err = st.WithDetails(&protobuff.LastProcessedTick{LastProcessedTick: lastProcessedTick.TickNumber}) + if err != nil { + return nil, status.Errorf(codes.Internal, "creating custom status") + } + + return nil, st.Err() + } + + processedTickIntervalsPerEpoch, err := s.store.GetProcessedTickIntervals(ctx) + if err != nil { + return nil, status.Errorf(codes.Internal, "getting processed tick intervals per epoch") + } + + wasSkipped, nextAvailableTick := wasTickSkippedByArchive(req.TickNumber, processedTickIntervalsPerEpoch) + if wasSkipped == true { + st := status.Newf(codes.OutOfRange, "provided tick number %d was skipped by the system, next available tick is %d", req.TickNumber, nextAvailableTick) + st, err = st.WithDetails(&protobuff.NextAvailableTick{NextTickNumber: nextAvailableTick}) + if err != nil { + return nil, status.Errorf(codes.Internal, "creating custom status") + } + + return nil, st.Err() + } + + txs, err := s.store.GetTickTransactions(ctx, req.TickNumber) if err != nil { if errors.Is(err, store.ErrNotFound) { - return nil, status.Errorf(codes.NotFound, "transaction not found") + return nil, status.Errorf(codes.NotFound, "tick transactions for specified tick not found") } - return nil, status.Errorf(codes.Internal, "getting transaction: %v", err) + return nil, status.Errorf(codes.Internal, "getting tick transactions: %v", err) } - txStatus, err := s.store.GetTransactionStatus(ctx, req.TxId) + var transactions []*protobuff.TransactionData + + for _, transaction := range txs { + + transactionInfo, err := getTransactionInfo(ctx, s.store, transaction.TxId, transaction.TickNumber) + if err != nil { + return nil, status.Errorf(codes.Internal, "failed to get transaction info: %v", err) + } + + transactions = append(transactions, &protobuff.TransactionData{ + Transaction: transaction, + Timestamp: transactionInfo.timestamp, + MoneyFlew: transactionInfo.moneyFlew, + }) + + } + + return &protobuff.GetTickTransactionsResponseV2{Transactions: transactions}, nil +} + +func (s *Server) GetTransferTickTransactionsV2(ctx context.Context, req *protobuff.GetTickTransactionsRequestV2) (*protobuff.GetTickTransactionsResponseV2, error) { + lastProcessedTick, err := s.store.GetLastProcessedTick(ctx) if err != nil { - return nil, status.Errorf(codes.Internal, "getting tx status: %v", err) + return nil, status.Errorf(codes.Internal, "getting last processed tick: %v", err) + } + if req.TickNumber > lastProcessedTick.TickNumber { + st := status.Newf(codes.FailedPrecondition, "requested tick number %d is greater than last processed tick %d", req.TickNumber, lastProcessedTick.TickNumber) + st, err = st.WithDetails(&protobuff.LastProcessedTick{LastProcessedTick: lastProcessedTick.TickNumber}) + if err != nil { + return nil, status.Errorf(codes.Internal, "creating custom status") + } + + return nil, st.Err() } - tickData, err := s.store.GetTickData(ctx, tx.TickNumber) + processedTickIntervalsPerEpoch, err := s.store.GetProcessedTickIntervals(ctx) if err != nil { - return nil, status.Errorf(codes.Internal, "getting tick data: %v", err) + return nil, status.Errorf(codes.Internal, "getting processed tick intervals per epoch") + } + + wasSkipped, nextAvailableTick := wasTickSkippedByArchive(req.TickNumber, processedTickIntervalsPerEpoch) + if wasSkipped == true { + st := status.Newf(codes.OutOfRange, "provided tick number %d was skipped by the system, next available tick is %d", req.TickNumber, nextAvailableTick) + st, err = st.WithDetails(&protobuff.NextAvailableTick{NextTickNumber: nextAvailableTick}) + if err != nil { + return nil, status.Errorf(codes.Internal, "creating custom status") + } + + return nil, st.Err() + } + + txs, err := s.store.GetTickTransferTransactions(ctx, req.TickNumber) + if err != nil { + if errors.Is(err, store.ErrNotFound) { + return nil, status.Errorf(codes.NotFound, "tick transfer transactions for specified tick not found") + } + return nil, status.Errorf(codes.Internal, "getting tick transactions: %v", err) + } + + var transactions []*protobuff.TransactionData + + for _, transaction := range txs { + + transactionInfo, err := getTransactionInfo(ctx, s.store, transaction.TxId, transaction.TickNumber) + if err != nil { + return nil, status.Errorf(codes.Internal, "failed to get transaction info: %v", err) + } + + transactions = append(transactions, &protobuff.TransactionData{ + Transaction: transaction, + Timestamp: transactionInfo.timestamp, + MoneyFlew: transactionInfo.moneyFlew, + }) + + } + + return &protobuff.GetTickTransactionsResponseV2{Transactions: transactions}, nil +} + +func (s *Server) GetApprovedTickTransactionsV2(ctx context.Context, req *protobuff.GetTickTransactionsRequestV2) (*protobuff.GetTickTransactionsResponseV2, error) { + lastProcessedTick, err := s.store.GetLastProcessedTick(ctx) + if err != nil { + return nil, status.Errorf(codes.Internal, "getting last processed tick: %v", err) + } + if req.TickNumber > lastProcessedTick.TickNumber { + st := status.Newf(codes.FailedPrecondition, "requested tick number %d is greater than last processed tick %d", req.TickNumber, lastProcessedTick.TickNumber) + st, err = st.WithDetails(&protobuff.LastProcessedTick{LastProcessedTick: lastProcessedTick.TickNumber}) + if err != nil { + return nil, status.Errorf(codes.Internal, "creating custom status") + } + + return nil, st.Err() + } + + processedTickIntervalsPerEpoch, err := s.store.GetProcessedTickIntervals(ctx) + if err != nil { + return nil, status.Errorf(codes.Internal, "getting processed tick intervals per epoch") + } + + wasSkipped, nextAvailableTick := wasTickSkippedByArchive(req.TickNumber, processedTickIntervalsPerEpoch) + if wasSkipped == true { + st := status.Newf(codes.OutOfRange, "provided tick number %d was skipped by the system, next available tick is %d", req.TickNumber, nextAvailableTick) + st, err = st.WithDetails(&protobuff.NextAvailableTick{NextTickNumber: nextAvailableTick}) + if err != nil { + return nil, status.Errorf(codes.Internal, "creating custom status") + } + + return nil, st.Err() + } + + txs, err := s.store.GetTickTransferTransactions(ctx, req.TickNumber) + if err != nil { + if errors.Is(err, store.ErrNotFound) { + return nil, status.Errorf(codes.NotFound, "tick transfer transactions for specified tick not found") + } + return nil, status.Errorf(codes.Internal, "getting tick transactions: %v", err) + } + + var transactions []*protobuff.TransactionData + + for _, transaction := range txs { + + transactionInfo, err := getTransactionInfo(ctx, s.store, transaction.TxId, transaction.TickNumber) + if err != nil { + return nil, status.Errorf(codes.Internal, "failed to get transaction info: %v", err) + } + + if transactionInfo.moneyFlew == false { + continue + } + + transactions = append(transactions, &protobuff.TransactionData{ + Transaction: transaction, + Timestamp: transactionInfo.timestamp, + MoneyFlew: transactionInfo.moneyFlew, + }) + + } + + return &protobuff.GetTickTransactionsResponseV2{Transactions: transactions}, nil +} + +func (s *Server) GetTransactionV2(ctx context.Context, req *protobuff.GetTransactionRequestV2) (*protobuff.GetTransactionResponseV2, error) { + + tx, err := s.store.GetTransaction(ctx, req.TxId) + if err != nil { + if errors.Is(err, store.ErrNotFound) { + return nil, status.Errorf(codes.NotFound, "transaction not found") + } + return nil, status.Errorf(codes.Internal, "getting transaction: %v", err) + } + + transactionInfo, err := getTransactionInfo(ctx, s.store, tx.TxId, tx.TickNumber) + if err != nil { + return nil, status.Errorf(codes.Internal, "getting transaction info") } - res := protobuff.GetTransactionDataResponse{ + res := protobuff.GetTransactionResponseV2{ Transaction: tx, - MoneyFlew: txStatus.MoneyFlew, - Timestamp: tickData.Timestamp, + MoneyFlew: transactionInfo.moneyFlew, + Timestamp: transactionInfo.timestamp, } return &res, nil From 4fc9c40099864cf6cb77c3bb092d9b41497e5016 Mon Sep 17 00:00:00 2001 From: LINCKODE Date: Mon, 1 Jul 2024 23:20:22 +0300 Subject: [PATCH 3/7] Implement most of v2 endpoints --- protobuff/archive.pb.go | 1783 +++++++++++++++++++++++++--------- protobuff/archive.pb.gw.go | 614 +++++++++++- protobuff/archive.proto | 136 ++- protobuff/archive_grpc.pb.go | 328 ++++++- rpc/rpc_server.go | 209 +--- rpc/v2_endpoints.go | 349 +++++++ 6 files changed, 2693 insertions(+), 726 deletions(-) create mode 100644 rpc/v2_endpoints.go diff --git a/protobuff/archive.pb.go b/protobuff/archive.pb.go index 33aa8d1..80ca5da 100644 --- a/protobuff/archive.pb.go +++ b/protobuff/archive.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.33.0 -// protoc v4.25.3 +// protoc v5.27.1 // source: archive.proto package protobuff @@ -1744,53 +1744,6 @@ func (x *GetHealthCheckResponse) GetStatus() bool { return false } -type GetLatestTickResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - LatestTick uint32 `protobuf:"varint,1,opt,name=latest_tick,json=latestTick,proto3" json:"latest_tick,omitempty"` -} - -func (x *GetLatestTickResponse) Reset() { - *x = GetLatestTickResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_archive_proto_msgTypes[30] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetLatestTickResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetLatestTickResponse) ProtoMessage() {} - -func (x *GetLatestTickResponse) ProtoReflect() protoreflect.Message { - mi := &file_archive_proto_msgTypes[30] - 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 GetLatestTickResponse.ProtoReflect.Descriptor instead. -func (*GetLatestTickResponse) Descriptor() ([]byte, []int) { - return file_archive_proto_rawDescGZIP(), []int{30} -} - -func (x *GetLatestTickResponse) GetLatestTick() uint32 { - if x != nil { - return x.LatestTick - } - return 0 -} - type GetTransferTransactionsPerTickRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1804,7 +1757,7 @@ type GetTransferTransactionsPerTickRequest struct { func (x *GetTransferTransactionsPerTickRequest) Reset() { *x = GetTransferTransactionsPerTickRequest{} if protoimpl.UnsafeEnabled { - mi := &file_archive_proto_msgTypes[31] + mi := &file_archive_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1817,7 +1770,7 @@ func (x *GetTransferTransactionsPerTickRequest) String() string { func (*GetTransferTransactionsPerTickRequest) ProtoMessage() {} func (x *GetTransferTransactionsPerTickRequest) ProtoReflect() protoreflect.Message { - mi := &file_archive_proto_msgTypes[31] + mi := &file_archive_proto_msgTypes[30] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1830,7 +1783,7 @@ func (x *GetTransferTransactionsPerTickRequest) ProtoReflect() protoreflect.Mess // Deprecated: Use GetTransferTransactionsPerTickRequest.ProtoReflect.Descriptor instead. func (*GetTransferTransactionsPerTickRequest) Descriptor() ([]byte, []int) { - return file_archive_proto_rawDescGZIP(), []int{31} + return file_archive_proto_rawDescGZIP(), []int{30} } func (x *GetTransferTransactionsPerTickRequest) GetIdentity() string { @@ -1865,7 +1818,7 @@ type GetTransferTransactionsPerTickResponse struct { func (x *GetTransferTransactionsPerTickResponse) Reset() { *x = GetTransferTransactionsPerTickResponse{} if protoimpl.UnsafeEnabled { - mi := &file_archive_proto_msgTypes[32] + mi := &file_archive_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1878,7 +1831,7 @@ func (x *GetTransferTransactionsPerTickResponse) String() string { func (*GetTransferTransactionsPerTickResponse) ProtoMessage() {} func (x *GetTransferTransactionsPerTickResponse) ProtoReflect() protoreflect.Message { - mi := &file_archive_proto_msgTypes[32] + mi := &file_archive_proto_msgTypes[31] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1891,7 +1844,7 @@ func (x *GetTransferTransactionsPerTickResponse) ProtoReflect() protoreflect.Mes // Deprecated: Use GetTransferTransactionsPerTickResponse.ProtoReflect.Descriptor instead. func (*GetTransferTransactionsPerTickResponse) Descriptor() ([]byte, []int) { - return file_archive_proto_rawDescGZIP(), []int{32} + return file_archive_proto_rawDescGZIP(), []int{31} } func (x *GetTransferTransactionsPerTickResponse) GetTransferTransactionsPerTick() []*TransferTransactionsPerTick { @@ -1912,7 +1865,7 @@ type GetChainHashRequest struct { func (x *GetChainHashRequest) Reset() { *x = GetChainHashRequest{} if protoimpl.UnsafeEnabled { - mi := &file_archive_proto_msgTypes[33] + mi := &file_archive_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1925,7 +1878,7 @@ func (x *GetChainHashRequest) String() string { func (*GetChainHashRequest) ProtoMessage() {} func (x *GetChainHashRequest) ProtoReflect() protoreflect.Message { - mi := &file_archive_proto_msgTypes[33] + mi := &file_archive_proto_msgTypes[32] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1938,7 +1891,7 @@ func (x *GetChainHashRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetChainHashRequest.ProtoReflect.Descriptor instead. func (*GetChainHashRequest) Descriptor() ([]byte, []int) { - return file_archive_proto_rawDescGZIP(), []int{33} + return file_archive_proto_rawDescGZIP(), []int{32} } func (x *GetChainHashRequest) GetTickNumber() uint32 { @@ -1959,7 +1912,7 @@ type GetChainHashResponse struct { func (x *GetChainHashResponse) Reset() { *x = GetChainHashResponse{} if protoimpl.UnsafeEnabled { - mi := &file_archive_proto_msgTypes[34] + mi := &file_archive_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1972,7 +1925,7 @@ func (x *GetChainHashResponse) String() string { func (*GetChainHashResponse) ProtoMessage() {} func (x *GetChainHashResponse) ProtoReflect() protoreflect.Message { - mi := &file_archive_proto_msgTypes[34] + mi := &file_archive_proto_msgTypes[33] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1985,7 +1938,7 @@ func (x *GetChainHashResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetChainHashResponse.ProtoReflect.Descriptor instead. func (*GetChainHashResponse) Descriptor() ([]byte, []int) { - return file_archive_proto_rawDescGZIP(), []int{34} + return file_archive_proto_rawDescGZIP(), []int{33} } func (x *GetChainHashResponse) GetHexDigest() string { @@ -2007,7 +1960,7 @@ type ProcessedTickInterval struct { func (x *ProcessedTickInterval) Reset() { *x = ProcessedTickInterval{} if protoimpl.UnsafeEnabled { - mi := &file_archive_proto_msgTypes[35] + mi := &file_archive_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2020,7 +1973,7 @@ func (x *ProcessedTickInterval) String() string { func (*ProcessedTickInterval) ProtoMessage() {} func (x *ProcessedTickInterval) ProtoReflect() protoreflect.Message { - mi := &file_archive_proto_msgTypes[35] + mi := &file_archive_proto_msgTypes[34] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2033,7 +1986,7 @@ func (x *ProcessedTickInterval) ProtoReflect() protoreflect.Message { // Deprecated: Use ProcessedTickInterval.ProtoReflect.Descriptor instead. func (*ProcessedTickInterval) Descriptor() ([]byte, []int) { - return file_archive_proto_rawDescGZIP(), []int{35} + return file_archive_proto_rawDescGZIP(), []int{34} } func (x *ProcessedTickInterval) GetInitialProcessedTick() uint32 { @@ -2062,7 +2015,7 @@ type ProcessedTickIntervalsPerEpoch struct { func (x *ProcessedTickIntervalsPerEpoch) Reset() { *x = ProcessedTickIntervalsPerEpoch{} if protoimpl.UnsafeEnabled { - mi := &file_archive_proto_msgTypes[36] + mi := &file_archive_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2075,7 +2028,7 @@ func (x *ProcessedTickIntervalsPerEpoch) String() string { func (*ProcessedTickIntervalsPerEpoch) ProtoMessage() {} func (x *ProcessedTickIntervalsPerEpoch) ProtoReflect() protoreflect.Message { - mi := &file_archive_proto_msgTypes[36] + mi := &file_archive_proto_msgTypes[35] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2088,21 +2041,606 @@ func (x *ProcessedTickIntervalsPerEpoch) ProtoReflect() protoreflect.Message { // Deprecated: Use ProcessedTickIntervalsPerEpoch.ProtoReflect.Descriptor instead. func (*ProcessedTickIntervalsPerEpoch) Descriptor() ([]byte, []int) { - return file_archive_proto_rawDescGZIP(), []int{36} + return file_archive_proto_rawDescGZIP(), []int{35} } func (x *ProcessedTickIntervalsPerEpoch) GetEpoch() uint32 { if x != nil { - return x.Epoch + return x.Epoch + } + return 0 +} + +func (x *ProcessedTickIntervalsPerEpoch) GetIntervals() []*ProcessedTickInterval { + if x != nil { + return x.Intervals + } + return nil +} + +type Tick struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ComputorIndex uint32 `protobuf:"varint,1,opt,name=computor_index,json=computorIndex,proto3" json:"computor_index,omitempty"` + Epoch uint32 `protobuf:"varint,2,opt,name=epoch,proto3" json:"epoch,omitempty"` + TickNumber uint32 `protobuf:"varint,3,opt,name=tick_number,json=tickNumber,proto3" json:"tick_number,omitempty"` + Timestamp uint64 `protobuf:"varint,4,opt,name=timestamp,proto3" json:"timestamp,omitempty"` + VarStruct []byte `protobuf:"bytes,5,opt,name=var_struct,json=varStruct,proto3" json:"var_struct,omitempty"` //Will change to return with unmarshalled info + TimeLock []byte `protobuf:"bytes,6,opt,name=time_lock,json=timeLock,proto3" json:"time_lock,omitempty"` + TransactionIds []string `protobuf:"bytes,7,rep,name=transaction_ids,json=transactionIds,proto3" json:"transaction_ids,omitempty"` + ContractFees []int64 `protobuf:"varint,8,rep,packed,name=contract_fees,json=contractFees,proto3" json:"contract_fees,omitempty"` + SignatureHex string `protobuf:"bytes,9,opt,name=signature_hex,json=signatureHex,proto3" json:"signature_hex,omitempty"` +} + +func (x *Tick) Reset() { + *x = Tick{} + if protoimpl.UnsafeEnabled { + mi := &file_archive_proto_msgTypes[36] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Tick) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Tick) ProtoMessage() {} + +func (x *Tick) ProtoReflect() protoreflect.Message { + mi := &file_archive_proto_msgTypes[36] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Tick.ProtoReflect.Descriptor instead. +func (*Tick) Descriptor() ([]byte, []int) { + return file_archive_proto_rawDescGZIP(), []int{36} +} + +func (x *Tick) GetComputorIndex() uint32 { + if x != nil { + return x.ComputorIndex + } + return 0 +} + +func (x *Tick) GetEpoch() uint32 { + if x != nil { + return x.Epoch + } + return 0 +} + +func (x *Tick) GetTickNumber() uint32 { + if x != nil { + return x.TickNumber + } + return 0 +} + +func (x *Tick) GetTimestamp() uint64 { + if x != nil { + return x.Timestamp + } + return 0 +} + +func (x *Tick) GetVarStruct() []byte { + if x != nil { + return x.VarStruct + } + return nil +} + +func (x *Tick) GetTimeLock() []byte { + if x != nil { + return x.TimeLock + } + return nil +} + +func (x *Tick) GetTransactionIds() []string { + if x != nil { + return x.TransactionIds + } + return nil +} + +func (x *Tick) GetContractFees() []int64 { + if x != nil { + return x.ContractFees + } + return nil +} + +func (x *Tick) GetSignatureHex() string { + if x != nil { + return x.SignatureHex + } + return "" +} + +type GetTickResponseV2 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Tick_Data *Tick `protobuf:"bytes,1,opt,name=tick_Data,json=tickData,proto3" json:"tick_Data,omitempty"` +} + +func (x *GetTickResponseV2) Reset() { + *x = GetTickResponseV2{} + if protoimpl.UnsafeEnabled { + mi := &file_archive_proto_msgTypes[37] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetTickResponseV2) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetTickResponseV2) ProtoMessage() {} + +func (x *GetTickResponseV2) ProtoReflect() protoreflect.Message { + mi := &file_archive_proto_msgTypes[37] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetTickResponseV2.ProtoReflect.Descriptor instead. +func (*GetTickResponseV2) Descriptor() ([]byte, []int) { + return file_archive_proto_rawDescGZIP(), []int{37} +} + +func (x *GetTickResponseV2) GetTick_Data() *Tick { + if x != nil { + return x.Tick_Data + } + return nil +} + +type PerTickIdentityTransfers struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TickNumber uint32 `protobuf:"varint,1,opt,name=tick_number,json=tickNumber,proto3" json:"tick_number,omitempty"` + Identity string `protobuf:"bytes,2,opt,name=identity,proto3" json:"identity,omitempty"` + Transactions []*TransactionData `protobuf:"bytes,3,rep,name=transactions,proto3" json:"transactions,omitempty"` +} + +func (x *PerTickIdentityTransfers) Reset() { + *x = PerTickIdentityTransfers{} + if protoimpl.UnsafeEnabled { + mi := &file_archive_proto_msgTypes[38] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PerTickIdentityTransfers) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PerTickIdentityTransfers) ProtoMessage() {} + +func (x *PerTickIdentityTransfers) ProtoReflect() protoreflect.Message { + mi := &file_archive_proto_msgTypes[38] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PerTickIdentityTransfers.ProtoReflect.Descriptor instead. +func (*PerTickIdentityTransfers) Descriptor() ([]byte, []int) { + return file_archive_proto_rawDescGZIP(), []int{38} +} + +func (x *PerTickIdentityTransfers) GetTickNumber() uint32 { + if x != nil { + return x.TickNumber + } + return 0 +} + +func (x *PerTickIdentityTransfers) GetIdentity() string { + if x != nil { + return x.Identity + } + return "" +} + +func (x *PerTickIdentityTransfers) GetTransactions() []*TransactionData { + if x != nil { + return x.Transactions + } + return nil +} + +type GetIdentityTransfersInTickRangeResponseV2 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Transactions []*PerTickIdentityTransfers `protobuf:"bytes,1,rep,name=transactions,proto3" json:"transactions,omitempty"` +} + +func (x *GetIdentityTransfersInTickRangeResponseV2) Reset() { + *x = GetIdentityTransfersInTickRangeResponseV2{} + if protoimpl.UnsafeEnabled { + mi := &file_archive_proto_msgTypes[39] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetIdentityTransfersInTickRangeResponseV2) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetIdentityTransfersInTickRangeResponseV2) ProtoMessage() {} + +func (x *GetIdentityTransfersInTickRangeResponseV2) ProtoReflect() protoreflect.Message { + mi := &file_archive_proto_msgTypes[39] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetIdentityTransfersInTickRangeResponseV2.ProtoReflect.Descriptor instead. +func (*GetIdentityTransfersInTickRangeResponseV2) Descriptor() ([]byte, []int) { + return file_archive_proto_rawDescGZIP(), []int{39} +} + +func (x *GetIdentityTransfersInTickRangeResponseV2) GetTransactions() []*PerTickIdentityTransfers { + if x != nil { + return x.Transactions + } + return nil +} + +// SendMany Transaction +type SendManyTransfer struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + DestId string `protobuf:"bytes,1,opt,name=dest_id,json=destId,proto3" json:"dest_id,omitempty"` + Amount int64 `protobuf:"varint,2,opt,name=amount,proto3" json:"amount,omitempty"` +} + +func (x *SendManyTransfer) Reset() { + *x = SendManyTransfer{} + if protoimpl.UnsafeEnabled { + mi := &file_archive_proto_msgTypes[40] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SendManyTransfer) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SendManyTransfer) ProtoMessage() {} + +func (x *SendManyTransfer) ProtoReflect() protoreflect.Message { + mi := &file_archive_proto_msgTypes[40] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SendManyTransfer.ProtoReflect.Descriptor instead. +func (*SendManyTransfer) Descriptor() ([]byte, []int) { + return file_archive_proto_rawDescGZIP(), []int{40} +} + +func (x *SendManyTransfer) GetDestId() string { + if x != nil { + return x.DestId + } + return "" +} + +func (x *SendManyTransfer) GetAmount() int64 { + if x != nil { + return x.Amount + } + return 0 +} + +type SendManyTransaction struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + SourceId string `protobuf:"bytes,1,opt,name=source_id,json=sourceId,proto3" json:"source_id,omitempty"` + TickNumber uint32 `protobuf:"varint,2,opt,name=tick_number,json=tickNumber,proto3" json:"tick_number,omitempty"` + Transfers []*SendManyTransfer `protobuf:"bytes,3,rep,name=transfers,proto3" json:"transfers,omitempty"` + TotalAmount int64 `protobuf:"varint,4,opt,name=total_amount,json=totalAmount,proto3" json:"total_amount,omitempty"` + SignatureHex string `protobuf:"bytes,5,opt,name=signature_hex,json=signatureHex,proto3" json:"signature_hex,omitempty"` + TxId string `protobuf:"bytes,6,opt,name=tx_id,json=txId,proto3" json:"tx_id,omitempty"` +} + +func (x *SendManyTransaction) Reset() { + *x = SendManyTransaction{} + if protoimpl.UnsafeEnabled { + mi := &file_archive_proto_msgTypes[41] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SendManyTransaction) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SendManyTransaction) ProtoMessage() {} + +func (x *SendManyTransaction) ProtoReflect() protoreflect.Message { + mi := &file_archive_proto_msgTypes[41] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SendManyTransaction.ProtoReflect.Descriptor instead. +func (*SendManyTransaction) Descriptor() ([]byte, []int) { + return file_archive_proto_rawDescGZIP(), []int{41} +} + +func (x *SendManyTransaction) GetSourceId() string { + if x != nil { + return x.SourceId + } + return "" +} + +func (x *SendManyTransaction) GetTickNumber() uint32 { + if x != nil { + return x.TickNumber + } + return 0 +} + +func (x *SendManyTransaction) GetTransfers() []*SendManyTransfer { + if x != nil { + return x.Transfers + } + return nil +} + +func (x *SendManyTransaction) GetTotalAmount() int64 { + if x != nil { + return x.TotalAmount + } + return 0 +} + +func (x *SendManyTransaction) GetSignatureHex() string { + if x != nil { + return x.SignatureHex + } + return "" +} + +func (x *SendManyTransaction) GetTxId() string { + if x != nil { + return x.TxId + } + return "" +} + +// Wrapper around send many transaction and additional data +type SendManyTransactionData struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Transaction *SendManyTransaction `protobuf:"bytes,2,opt,name=transaction,proto3" json:"transaction,omitempty"` + Timestamp uint64 `protobuf:"varint,3,opt,name=timestamp,proto3" json:"timestamp,omitempty"` + MoneyFlew bool `protobuf:"varint,4,opt,name=money_flew,json=moneyFlew,proto3" json:"money_flew,omitempty"` +} + +func (x *SendManyTransactionData) Reset() { + *x = SendManyTransactionData{} + if protoimpl.UnsafeEnabled { + mi := &file_archive_proto_msgTypes[42] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SendManyTransactionData) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SendManyTransactionData) ProtoMessage() {} + +func (x *SendManyTransactionData) ProtoReflect() protoreflect.Message { + mi := &file_archive_proto_msgTypes[42] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SendManyTransactionData.ProtoReflect.Descriptor instead. +func (*SendManyTransactionData) Descriptor() ([]byte, []int) { + return file_archive_proto_rawDescGZIP(), []int{42} +} + +func (x *SendManyTransactionData) GetTransaction() *SendManyTransaction { + if x != nil { + return x.Transaction + } + return nil +} + +func (x *SendManyTransactionData) GetTimestamp() uint64 { + if x != nil { + return x.Timestamp + } + return 0 +} + +func (x *SendManyTransactionData) GetMoneyFlew() bool { + if x != nil { + return x.MoneyFlew + } + return false +} + +type GetSendManyTransactionRequestV2 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TxId string `protobuf:"bytes,1,opt,name=tx_id,json=txId,proto3" json:"tx_id,omitempty"` +} + +func (x *GetSendManyTransactionRequestV2) Reset() { + *x = GetSendManyTransactionRequestV2{} + if protoimpl.UnsafeEnabled { + mi := &file_archive_proto_msgTypes[43] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetSendManyTransactionRequestV2) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetSendManyTransactionRequestV2) ProtoMessage() {} + +func (x *GetSendManyTransactionRequestV2) ProtoReflect() protoreflect.Message { + mi := &file_archive_proto_msgTypes[43] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetSendManyTransactionRequestV2.ProtoReflect.Descriptor instead. +func (*GetSendManyTransactionRequestV2) Descriptor() ([]byte, []int) { + return file_archive_proto_rawDescGZIP(), []int{43} +} + +func (x *GetSendManyTransactionRequestV2) GetTxId() string { + if x != nil { + return x.TxId + } + return "" +} + +type GetSendManyTransactionResponseV2 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Transaction *SendManyTransaction `protobuf:"bytes,2,opt,name=transaction,proto3" json:"transaction,omitempty"` + Timestamp uint64 `protobuf:"varint,3,opt,name=timestamp,proto3" json:"timestamp,omitempty"` + MoneyFlew bool `protobuf:"varint,4,opt,name=money_flew,json=moneyFlew,proto3" json:"money_flew,omitempty"` +} + +func (x *GetSendManyTransactionResponseV2) Reset() { + *x = GetSendManyTransactionResponseV2{} + if protoimpl.UnsafeEnabled { + mi := &file_archive_proto_msgTypes[44] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetSendManyTransactionResponseV2) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetSendManyTransactionResponseV2) ProtoMessage() {} + +func (x *GetSendManyTransactionResponseV2) ProtoReflect() protoreflect.Message { + mi := &file_archive_proto_msgTypes[44] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetSendManyTransactionResponseV2.ProtoReflect.Descriptor instead. +func (*GetSendManyTransactionResponseV2) Descriptor() ([]byte, []int) { + return file_archive_proto_rawDescGZIP(), []int{44} +} + +func (x *GetSendManyTransactionResponseV2) GetTransaction() *SendManyTransaction { + if x != nil { + return x.Transaction + } + return nil +} + +func (x *GetSendManyTransactionResponseV2) GetTimestamp() uint64 { + if x != nil { + return x.Timestamp } return 0 } -func (x *ProcessedTickIntervalsPerEpoch) GetIntervals() []*ProcessedTickInterval { +func (x *GetSendManyTransactionResponseV2) GetMoneyFlew() bool { if x != nil { - return x.Intervals + return x.MoneyFlew } - return nil + return false } // Wrapper around transaction and additional data @@ -2119,7 +2657,7 @@ type TransactionData struct { func (x *TransactionData) Reset() { *x = TransactionData{} if protoimpl.UnsafeEnabled { - mi := &file_archive_proto_msgTypes[37] + mi := &file_archive_proto_msgTypes[45] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2132,7 +2670,7 @@ func (x *TransactionData) String() string { func (*TransactionData) ProtoMessage() {} func (x *TransactionData) ProtoReflect() protoreflect.Message { - mi := &file_archive_proto_msgTypes[37] + mi := &file_archive_proto_msgTypes[45] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2145,7 +2683,7 @@ func (x *TransactionData) ProtoReflect() protoreflect.Message { // Deprecated: Use TransactionData.ProtoReflect.Descriptor instead. func (*TransactionData) Descriptor() ([]byte, []int) { - return file_archive_proto_rawDescGZIP(), []int{37} + return file_archive_proto_rawDescGZIP(), []int{45} } func (x *TransactionData) GetTransaction() *Transaction { @@ -2169,8 +2707,55 @@ func (x *TransactionData) GetMoneyFlew() bool { return false } +type GetLatestTickResponseV2 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + LatestTick uint32 `protobuf:"varint,1,opt,name=latest_tick,json=latestTick,proto3" json:"latest_tick,omitempty"` +} + +func (x *GetLatestTickResponseV2) Reset() { + *x = GetLatestTickResponseV2{} + if protoimpl.UnsafeEnabled { + mi := &file_archive_proto_msgTypes[46] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetLatestTickResponseV2) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetLatestTickResponseV2) ProtoMessage() {} + +func (x *GetLatestTickResponseV2) ProtoReflect() protoreflect.Message { + mi := &file_archive_proto_msgTypes[46] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetLatestTickResponseV2.ProtoReflect.Descriptor instead. +func (*GetLatestTickResponseV2) Descriptor() ([]byte, []int) { + return file_archive_proto_rawDescGZIP(), []int{46} +} + +func (x *GetLatestTickResponseV2) GetLatestTick() uint32 { + if x != nil { + return x.LatestTick + } + return 0 +} + // Tick Transactions -type GetTickTransactionsRequestV2 struct { +type GetTickRequestV2 struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -2178,23 +2763,23 @@ type GetTickTransactionsRequestV2 struct { TickNumber uint32 `protobuf:"varint,1,opt,name=tick_number,json=tickNumber,proto3" json:"tick_number,omitempty"` } -func (x *GetTickTransactionsRequestV2) Reset() { - *x = GetTickTransactionsRequestV2{} +func (x *GetTickRequestV2) Reset() { + *x = GetTickRequestV2{} if protoimpl.UnsafeEnabled { - mi := &file_archive_proto_msgTypes[38] + mi := &file_archive_proto_msgTypes[47] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *GetTickTransactionsRequestV2) String() string { +func (x *GetTickRequestV2) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetTickTransactionsRequestV2) ProtoMessage() {} +func (*GetTickRequestV2) ProtoMessage() {} -func (x *GetTickTransactionsRequestV2) ProtoReflect() protoreflect.Message { - mi := &file_archive_proto_msgTypes[38] +func (x *GetTickRequestV2) ProtoReflect() protoreflect.Message { + mi := &file_archive_proto_msgTypes[47] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2205,12 +2790,12 @@ func (x *GetTickTransactionsRequestV2) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetTickTransactionsRequestV2.ProtoReflect.Descriptor instead. -func (*GetTickTransactionsRequestV2) Descriptor() ([]byte, []int) { - return file_archive_proto_rawDescGZIP(), []int{38} +// Deprecated: Use GetTickRequestV2.ProtoReflect.Descriptor instead. +func (*GetTickRequestV2) Descriptor() ([]byte, []int) { + return file_archive_proto_rawDescGZIP(), []int{47} } -func (x *GetTickTransactionsRequestV2) GetTickNumber() uint32 { +func (x *GetTickRequestV2) GetTickNumber() uint32 { if x != nil { return x.TickNumber } @@ -2228,7 +2813,7 @@ type GetTickTransactionsResponseV2 struct { func (x *GetTickTransactionsResponseV2) Reset() { *x = GetTickTransactionsResponseV2{} if protoimpl.UnsafeEnabled { - mi := &file_archive_proto_msgTypes[39] + mi := &file_archive_proto_msgTypes[48] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2241,7 +2826,7 @@ func (x *GetTickTransactionsResponseV2) String() string { func (*GetTickTransactionsResponseV2) ProtoMessage() {} func (x *GetTickTransactionsResponseV2) ProtoReflect() protoreflect.Message { - mi := &file_archive_proto_msgTypes[39] + mi := &file_archive_proto_msgTypes[48] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2254,7 +2839,7 @@ func (x *GetTickTransactionsResponseV2) ProtoReflect() protoreflect.Message { // Deprecated: Use GetTickTransactionsResponseV2.ProtoReflect.Descriptor instead. func (*GetTickTransactionsResponseV2) Descriptor() ([]byte, []int) { - return file_archive_proto_rawDescGZIP(), []int{39} + return file_archive_proto_rawDescGZIP(), []int{48} } func (x *GetTickTransactionsResponseV2) GetTransactions() []*TransactionData { @@ -2276,7 +2861,7 @@ type GetTransactionRequestV2 struct { func (x *GetTransactionRequestV2) Reset() { *x = GetTransactionRequestV2{} if protoimpl.UnsafeEnabled { - mi := &file_archive_proto_msgTypes[40] + mi := &file_archive_proto_msgTypes[49] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2289,7 +2874,7 @@ func (x *GetTransactionRequestV2) String() string { func (*GetTransactionRequestV2) ProtoMessage() {} func (x *GetTransactionRequestV2) ProtoReflect() protoreflect.Message { - mi := &file_archive_proto_msgTypes[40] + mi := &file_archive_proto_msgTypes[49] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2302,7 +2887,7 @@ func (x *GetTransactionRequestV2) ProtoReflect() protoreflect.Message { // Deprecated: Use GetTransactionRequestV2.ProtoReflect.Descriptor instead. func (*GetTransactionRequestV2) Descriptor() ([]byte, []int) { - return file_archive_proto_rawDescGZIP(), []int{40} + return file_archive_proto_rawDescGZIP(), []int{49} } func (x *GetTransactionRequestV2) GetTxId() string { @@ -2325,7 +2910,7 @@ type GetTransactionResponseV2 struct { func (x *GetTransactionResponseV2) Reset() { *x = GetTransactionResponseV2{} if protoimpl.UnsafeEnabled { - mi := &file_archive_proto_msgTypes[41] + mi := &file_archive_proto_msgTypes[50] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2338,7 +2923,7 @@ func (x *GetTransactionResponseV2) String() string { func (*GetTransactionResponseV2) ProtoMessage() {} func (x *GetTransactionResponseV2) ProtoReflect() protoreflect.Message { - mi := &file_archive_proto_msgTypes[41] + mi := &file_archive_proto_msgTypes[50] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2351,7 +2936,7 @@ func (x *GetTransactionResponseV2) ProtoReflect() protoreflect.Message { // Deprecated: Use GetTransactionResponseV2.ProtoReflect.Descriptor instead. func (*GetTransactionResponseV2) Descriptor() ([]byte, []int) { - return file_archive_proto_rawDescGZIP(), []int{41} + return file_archive_proto_rawDescGZIP(), []int{50} } func (x *GetTransactionResponseV2) GetTransaction() *Transaction { @@ -2655,281 +3240,430 @@ var file_archive_proto_rawDesc = []byte{ 0x22, 0x30, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x22, 0x38, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x54, - 0x69, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, - 0x61, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x0a, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x22, 0x7d, 0x0a, 0x25, - 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x54, 0x72, 0x61, 0x6e, 0x73, - 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x50, 0x65, 0x72, 0x54, 0x69, 0x63, 0x6b, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, - 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, - 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x63, 0x6b, - 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x63, 0x6b, 0x22, 0xa5, 0x01, 0x0a, 0x26, - 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x54, 0x72, 0x61, 0x6e, 0x73, - 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x50, 0x65, 0x72, 0x54, 0x69, 0x63, 0x6b, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7b, 0x0a, 0x1e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, - 0x65, 0x72, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, - 0x70, 0x65, 0x72, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, - 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, - 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, - 0x66, 0x65, 0x72, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x50, - 0x65, 0x72, 0x54, 0x69, 0x63, 0x6b, 0x52, 0x1b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, - 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x50, 0x65, 0x72, 0x54, - 0x69, 0x63, 0x6b, 0x22, 0x36, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x48, - 0x61, 0x73, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x69, - 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x0a, 0x74, 0x69, 0x63, 0x6b, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x35, 0x0a, 0x14, 0x47, - 0x65, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x48, 0x61, 0x73, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x68, 0x65, 0x78, 0x5f, 0x64, 0x69, 0x67, 0x65, 0x73, - 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x68, 0x65, 0x78, 0x44, 0x69, 0x67, 0x65, - 0x73, 0x74, 0x22, 0x7d, 0x0a, 0x15, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x54, - 0x69, 0x63, 0x6b, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x34, 0x0a, 0x16, 0x69, - 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, - 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x14, 0x69, 0x6e, 0x69, - 0x74, 0x69, 0x61, 0x6c, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x54, 0x69, 0x63, - 0x6b, 0x12, 0x2e, 0x0a, 0x13, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, - 0x73, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, - 0x6c, 0x61, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x54, 0x69, 0x63, - 0x6b, 0x22, 0x86, 0x01, 0x0a, 0x1e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x54, - 0x69, 0x63, 0x6b, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x73, 0x50, 0x65, 0x72, 0x45, - 0x70, 0x6f, 0x63, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x4e, 0x0a, 0x09, 0x69, 0x6e, - 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, - 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, - 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, - 0x73, 0x65, 0x64, 0x54, 0x69, 0x63, 0x6b, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x52, - 0x09, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x73, 0x22, 0x98, 0x01, 0x0a, 0x0f, 0x54, - 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x12, 0x48, - 0x0a, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, + 0x75, 0x73, 0x22, 0x7d, 0x0a, 0x25, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, + 0x72, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x50, 0x65, 0x72, + 0x54, 0x69, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x69, + 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, + 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, + 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x73, 0x74, 0x61, + 0x72, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, + 0x63, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x63, + 0x6b, 0x22, 0xa5, 0x01, 0x0a, 0x26, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, + 0x72, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x50, 0x65, 0x72, + 0x54, 0x69, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7b, 0x0a, 0x1e, + 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, + 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, + 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x50, 0x65, 0x72, 0x54, 0x69, 0x63, 0x6b, 0x52, 0x1b, 0x74, 0x72, + 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x50, 0x65, 0x72, 0x54, 0x69, 0x63, 0x6b, 0x22, 0x36, 0x0a, 0x13, 0x47, 0x65, 0x74, + 0x43, 0x68, 0x61, 0x69, 0x6e, 0x48, 0x61, 0x73, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x74, 0x69, 0x63, 0x6b, 0x4e, 0x75, 0x6d, 0x62, 0x65, + 0x72, 0x22, 0x35, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x48, 0x61, 0x73, + 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x68, 0x65, 0x78, + 0x5f, 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x68, + 0x65, 0x78, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, 0x22, 0x7d, 0x0a, 0x15, 0x50, 0x72, 0x6f, 0x63, + 0x65, 0x73, 0x73, 0x65, 0x64, 0x54, 0x69, 0x63, 0x6b, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, + 0x6c, 0x12, 0x34, 0x0a, 0x16, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x70, 0x72, 0x6f, + 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x14, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, + 0x73, 0x65, 0x64, 0x54, 0x69, 0x63, 0x6b, 0x12, 0x2e, 0x0a, 0x13, 0x6c, 0x61, 0x73, 0x74, 0x5f, + 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x6c, 0x61, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, + 0x73, 0x65, 0x64, 0x54, 0x69, 0x63, 0x6b, 0x22, 0x86, 0x01, 0x0a, 0x1e, 0x50, 0x72, 0x6f, 0x63, + 0x65, 0x73, 0x73, 0x65, 0x64, 0x54, 0x69, 0x63, 0x6b, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, + 0x6c, 0x73, 0x50, 0x65, 0x72, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x70, + 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, + 0x12, 0x4e, 0x0a, 0x09, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x73, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, - 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x74, 0x72, 0x61, - 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, - 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x74, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x5f, - 0x66, 0x6c, 0x65, 0x77, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x6d, 0x6f, 0x6e, 0x65, - 0x79, 0x46, 0x6c, 0x65, 0x77, 0x22, 0x3f, 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, - 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x56, 0x32, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x75, - 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x74, 0x69, 0x63, 0x6b, - 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x6f, 0x0a, 0x1d, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, - 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x56, 0x32, 0x12, 0x4e, 0x0a, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, - 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, - 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, - 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, - 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x2e, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x54, 0x72, - 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x56, 0x32, 0x12, 0x13, 0x0a, 0x05, 0x74, 0x78, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x74, 0x78, 0x49, 0x64, 0x22, 0xa1, 0x01, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x54, - 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x56, 0x32, 0x12, 0x48, 0x0a, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x71, 0x75, 0x62, 0x69, - 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, - 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, - 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1d, 0x0a, 0x0a, - 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x5f, 0x66, 0x6c, 0x65, 0x77, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x09, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x46, 0x6c, 0x65, 0x77, 0x32, 0xf3, 0x17, 0x0a, 0x0e, - 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xba, - 0x01, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x69, 0x63, 0x6b, 0x54, 0x72, 0x61, - 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x56, 0x32, 0x12, 0x37, 0x2e, 0x71, 0x75, + 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x54, 0x69, 0x63, 0x6b, 0x49, 0x6e, 0x74, + 0x65, 0x72, 0x76, 0x61, 0x6c, 0x52, 0x09, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x73, + 0x22, 0xb1, 0x02, 0x0a, 0x04, 0x54, 0x69, 0x63, 0x6b, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x6f, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x0d, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x6f, 0x72, 0x49, 0x6e, 0x64, 0x65, 0x78, + 0x12, 0x14, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x6e, + 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x74, 0x69, 0x63, + 0x6b, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1d, 0x0a, 0x0a, 0x76, 0x61, 0x72, 0x5f, 0x73, 0x74, 0x72, + 0x75, 0x63, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x76, 0x61, 0x72, 0x53, 0x74, + 0x72, 0x75, 0x63, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6c, 0x6f, 0x63, + 0x6b, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x74, 0x69, 0x6d, 0x65, 0x4c, 0x6f, 0x63, + 0x6b, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x69, 0x64, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x74, 0x72, 0x61, 0x6e, + 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, + 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5f, 0x66, 0x65, 0x65, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, + 0x03, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x46, 0x65, 0x65, 0x73, 0x12, + 0x23, 0x0a, 0x0d, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x68, 0x65, 0x78, + 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, + 0x65, 0x48, 0x65, 0x78, 0x22, 0x51, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x56, 0x32, 0x12, 0x3c, 0x0a, 0x09, 0x74, 0x69, 0x63, + 0x6b, 0x5f, 0x44, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x71, + 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, + 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x54, 0x69, 0x63, 0x6b, 0x52, 0x08, 0x74, + 0x69, 0x63, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x22, 0xa7, 0x01, 0x0a, 0x18, 0x50, 0x65, 0x72, 0x54, + 0x69, 0x63, 0x6b, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x72, 0x61, 0x6e, 0x73, + 0x66, 0x65, 0x72, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, + 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x74, 0x69, 0x63, 0x6b, 0x4e, + 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, + 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, + 0x79, 0x12, 0x4e, 0x0a, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, + 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, + 0x2e, 0x70, 0x62, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, + 0x61, 0x74, 0x61, 0x52, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x22, 0x84, 0x01, 0x0a, 0x29, 0x47, 0x65, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, + 0x79, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x73, 0x49, 0x6e, 0x54, 0x69, 0x63, 0x6b, + 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x56, 0x32, 0x12, + 0x57, 0x0a, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, + 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, + 0x62, 0x2e, 0x50, 0x65, 0x72, 0x54, 0x69, 0x63, 0x6b, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, + 0x79, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x73, 0x52, 0x0c, 0x74, 0x72, 0x61, 0x6e, + 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x43, 0x0a, 0x10, 0x53, 0x65, 0x6e, 0x64, + 0x4d, 0x61, 0x6e, 0x79, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x12, 0x17, 0x0a, 0x07, + 0x64, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, + 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xfb, 0x01, + 0x0a, 0x13, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x61, 0x6e, 0x79, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, + 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x74, 0x69, 0x63, 0x6b, 0x4e, 0x75, 0x6d, + 0x62, 0x65, 0x72, 0x12, 0x49, 0x0a, 0x09, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x73, + 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, + 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, + 0x70, 0x62, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x61, 0x6e, 0x79, 0x54, 0x72, 0x61, 0x6e, 0x73, + 0x66, 0x65, 0x72, 0x52, 0x09, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x73, 0x12, 0x21, + 0x0a, 0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x41, 0x6d, 0x6f, 0x75, 0x6e, + 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x68, + 0x65, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x48, 0x65, 0x78, 0x12, 0x13, 0x0a, 0x05, 0x74, 0x78, 0x5f, 0x69, 0x64, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x78, 0x49, 0x64, 0x22, 0xa8, 0x01, 0x0a, 0x17, + 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x61, 0x6e, 0x79, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x12, 0x50, 0x0a, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x71, + 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, + 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x61, 0x6e, + 0x79, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x74, 0x72, + 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x74, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x6f, 0x6e, 0x65, 0x79, + 0x5f, 0x66, 0x6c, 0x65, 0x77, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x6d, 0x6f, 0x6e, + 0x65, 0x79, 0x46, 0x6c, 0x65, 0x77, 0x22, 0x36, 0x0a, 0x1f, 0x47, 0x65, 0x74, 0x53, 0x65, 0x6e, + 0x64, 0x4d, 0x61, 0x6e, 0x79, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x56, 0x32, 0x12, 0x13, 0x0a, 0x05, 0x74, 0x78, 0x5f, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x78, 0x49, 0x64, 0x22, 0xb1, + 0x01, 0x0a, 0x20, 0x47, 0x65, 0x74, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x61, 0x6e, 0x79, 0x54, 0x72, + 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x56, 0x32, 0x12, 0x50, 0x0a, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, + 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, + 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x61, 0x6e, 0x79, 0x54, 0x72, 0x61, + 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, + 0x61, 0x6d, 0x70, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x5f, 0x66, 0x6c, 0x65, + 0x77, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x46, 0x6c, + 0x65, 0x77, 0x22, 0x98, 0x01, 0x0a, 0x0f, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x12, 0x48, 0x0a, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, - 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x54, - 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x56, 0x32, 0x1a, 0x38, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, - 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, - 0x2e, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x56, 0x32, 0x22, 0x2b, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x25, 0x12, 0x23, 0x2f, 0x76, 0x32, 0x2f, 0x74, 0x69, 0x63, 0x6b, - 0x2f, 0x7b, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x7d, 0x2f, 0x74, - 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0xc9, 0x01, 0x0a, 0x1d, - 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x54, 0x69, 0x63, 0x6b, 0x54, - 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x56, 0x32, 0x12, 0x37, 0x2e, - 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, - 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, - 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x56, 0x32, 0x1a, 0x38, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, + 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1d, + 0x0a, 0x0a, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x5f, 0x66, 0x6c, 0x65, 0x77, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x09, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x46, 0x6c, 0x65, 0x77, 0x22, 0x3a, 0x0a, + 0x17, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x56, 0x32, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x61, 0x74, 0x65, + 0x73, 0x74, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6c, + 0x61, 0x74, 0x65, 0x73, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x22, 0x33, 0x0a, 0x10, 0x47, 0x65, 0x74, + 0x54, 0x69, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x56, 0x32, 0x12, 0x1f, 0x0a, + 0x0b, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x0a, 0x74, 0x69, 0x63, 0x6b, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x6f, + 0x0a, 0x1d, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x56, 0x32, 0x12, + 0x4e, 0x0a, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, + 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, + 0x62, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, + 0x61, 0x52, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, + 0x2e, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x56, 0x32, 0x12, 0x13, 0x0a, 0x05, 0x74, 0x78, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x78, 0x49, 0x64, 0x22, + 0xa1, 0x01, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x56, 0x32, 0x12, 0x48, 0x0a, 0x0b, + 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x26, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, + 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x54, 0x72, + 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, + 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x5f, 0x66, 0x6c, + 0x65, 0x77, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x46, + 0x6c, 0x65, 0x77, 0x32, 0xc3, 0x1f, 0x0a, 0x0e, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x76, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x74, + 0x65, 0x73, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x56, 0x32, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, + 0x79, 0x1a, 0x32, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, + 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, + 0x74, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x56, 0x32, 0x22, 0x17, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x11, 0x12, 0x0f, 0x2f, + 0x76, 0x32, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x2f, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x12, 0xa4, + 0x01, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x51, 0x75, 0x6f, 0x72, 0x75, 0x6d, + 0x44, 0x61, 0x74, 0x61, 0x56, 0x32, 0x12, 0x2b, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, - 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x56, 0x32, - 0x22, 0x35, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x12, 0x2d, 0x2f, 0x76, 0x32, 0x2f, 0x74, 0x69, - 0x63, 0x6b, 0x2f, 0x7b, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x7d, - 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x74, 0x72, - 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x73, 0x12, 0xd2, 0x01, 0x0a, 0x1d, 0x47, 0x65, 0x74, 0x41, - 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x64, 0x54, 0x69, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, - 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x56, 0x32, 0x12, 0x37, 0x2e, 0x71, 0x75, 0x62, 0x69, + 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x56, 0x32, 0x1a, 0x34, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, + 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, + 0x47, 0x65, 0x74, 0x51, 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x54, 0x69, 0x63, 0x6b, 0x44, 0x61, 0x74, + 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2a, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x24, 0x12, 0x22, 0x2f, 0x76, 0x32, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x2f, 0x7b, 0x74, 0x69, 0x63, + 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x7d, 0x2f, 0x71, 0x75, 0x6f, 0x72, 0x75, 0x6d, + 0x2d, 0x64, 0x61, 0x74, 0x61, 0x12, 0x97, 0x01, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, + 0x6b, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x48, 0x61, 0x73, 0x68, 0x56, 0x32, 0x12, 0x2b, 0x2e, 0x71, + 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, + 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x56, 0x32, 0x1a, 0x2f, 0x2e, 0x71, 0x75, 0x62, 0x69, + 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, + 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x48, 0x61, + 0x73, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x23, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x1d, 0x12, 0x1b, 0x2f, 0x76, 0x32, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x2f, 0x7b, 0x74, 0x69, + 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x7d, 0x2f, 0x68, 0x61, 0x73, 0x68, 0x12, + 0x9d, 0x01, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x53, 0x74, 0x6f, 0x72, 0x65, + 0x48, 0x61, 0x73, 0x68, 0x56, 0x32, 0x12, 0x2b, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, + 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, + 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x56, 0x32, 0x1a, 0x2f, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, + 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, + 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x48, 0x61, 0x73, 0x68, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x29, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x23, 0x12, 0x21, 0x2f, 0x76, + 0x32, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x2f, 0x7b, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, + 0x62, 0x65, 0x72, 0x7d, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2d, 0x68, 0x61, 0x73, 0x68, 0x12, + 0xae, 0x01, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x69, 0x63, 0x6b, 0x54, 0x72, + 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x56, 0x32, 0x12, 0x2b, 0x2e, 0x71, + 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, + 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x56, 0x32, 0x1a, 0x38, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x54, 0x72, 0x61, - 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x56, 0x32, 0x1a, 0x38, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, + 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x56, 0x32, 0x22, 0x2b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x25, 0x12, 0x23, 0x2f, 0x76, 0x32, + 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x2f, 0x7b, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, + 0x65, 0x72, 0x7d, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x12, 0xbd, 0x01, 0x0a, 0x1d, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, + 0x54, 0x69, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x56, 0x32, 0x12, 0x2b, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, - 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x56, 0x32, 0x22, 0x3e, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x38, 0x12, 0x36, 0x2f, 0x76, 0x32, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x2f, 0x7b, - 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x7d, 0x2f, 0x74, 0x72, 0x61, - 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, - 0x65, 0x72, 0x73, 0x2f, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x64, 0x12, 0x9c, 0x01, 0x0a, - 0x10, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x56, - 0x32, 0x12, 0x32, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, - 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, - 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x56, 0x32, 0x1a, 0x33, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, + 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x56, 0x32, 0x1a, + 0x38, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, + 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, + 0x69, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x56, 0x32, 0x22, 0x35, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x2f, 0x12, 0x2d, 0x2f, 0x76, 0x32, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x2f, 0x7b, 0x74, 0x69, 0x63, + 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x7d, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x73, + 0x12, 0xc6, 0x01, 0x0a, 0x1d, 0x47, 0x65, 0x74, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x64, + 0x54, 0x69, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x56, 0x32, 0x12, 0x2b, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, + 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, + 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x56, 0x32, 0x1a, + 0x38, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, + 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, + 0x69, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x56, 0x32, 0x22, 0x3e, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x38, 0x12, 0x36, 0x2f, 0x76, 0x32, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x2f, 0x7b, 0x74, 0x69, 0x63, + 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x7d, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x73, + 0x2f, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x64, 0x12, 0x9c, 0x01, 0x0a, 0x10, 0x47, 0x65, + 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x32, 0x12, 0x32, + 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, + 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, + 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x56, 0x32, 0x1a, 0x33, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, + 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, + 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x56, 0x32, 0x22, 0x1f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x19, 0x12, + 0x17, 0x2f, 0x76, 0x32, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x2f, 0x7b, 0x74, 0x78, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xbd, 0x01, 0x0a, 0x18, 0x47, 0x65, 0x74, + 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x61, 0x6e, 0x79, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x56, 0x32, 0x12, 0x3a, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, - 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x56, 0x32, 0x22, 0x1f, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x19, 0x12, 0x17, 0x2f, 0x76, 0x32, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x2f, 0x7b, 0x74, 0x78, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0x97, 0x01, 0x0a, 0x0b, - 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x12, 0x2d, 0x2e, 0x71, 0x75, - 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, - 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x44, - 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x71, 0x75, 0x62, - 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, - 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x44, 0x61, - 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x29, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x23, 0x12, 0x21, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x73, 0x2f, 0x7b, 0x74, - 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x7d, 0x2f, 0x74, 0x69, 0x63, 0x6b, - 0x2d, 0x64, 0x61, 0x74, 0x61, 0x12, 0xb0, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x51, 0x75, 0x6f, - 0x72, 0x75, 0x6d, 0x54, 0x69, 0x63, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x12, 0x33, 0x2e, 0x71, 0x75, - 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, - 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x51, 0x75, 0x6f, 0x72, 0x75, - 0x6d, 0x54, 0x69, 0x63, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x34, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, + 0x62, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x61, 0x6e, 0x79, 0x54, 0x72, 0x61, + 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x56, + 0x32, 0x1a, 0x3b, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, + 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, + 0x74, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x61, 0x6e, 0x79, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x56, 0x32, 0x22, 0x28, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x22, 0x12, 0x20, 0x2f, 0x76, 0x32, 0x2f, 0x74, 0x72, 0x61, 0x6e, + 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x7b, 0x74, 0x78, 0x5f, 0x69, 0x64, 0x7d, 0x2f, + 0x73, 0x65, 0x6e, 0x64, 0x6d, 0x61, 0x6e, 0x79, 0x12, 0xd6, 0x01, 0x0a, 0x21, 0x47, 0x65, 0x74, + 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, + 0x73, 0x49, 0x6e, 0x54, 0x69, 0x63, 0x6b, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x56, 0x32, 0x12, 0x40, + 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, + 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, + 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x50, 0x65, 0x72, 0x54, 0x69, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x44, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, - 0x51, 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x54, 0x69, 0x63, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x30, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2a, 0x12, 0x28, - 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x73, 0x2f, 0x7b, 0x74, 0x69, 0x63, 0x6b, 0x5f, - 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x7d, 0x2f, 0x71, 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x2d, 0x74, - 0x69, 0x63, 0x6b, 0x2d, 0x64, 0x61, 0x74, 0x61, 0x12, 0xb2, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x74, - 0x54, 0x69, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x12, 0x35, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, + 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, + 0x73, 0x49, 0x6e, 0x54, 0x69, 0x63, 0x6b, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x56, 0x32, 0x22, 0x29, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x23, 0x12, 0x21, + 0x2f, 0x76, 0x32, 0x2f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2f, 0x7b, 0x69, 0x64, + 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x7d, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, + 0x73, 0x12, 0x97, 0x01, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x44, 0x61, 0x74, + 0x61, 0x12, 0x2d, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, + 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, + 0x74, 0x54, 0x69, 0x63, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x2e, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, - 0x54, 0x69, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, - 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, - 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, - 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x2c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x26, 0x12, 0x24, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x69, 0x63, - 0x6b, 0x73, 0x2f, 0x7b, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x7d, - 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0xc3, 0x01, - 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, - 0x72, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x35, 0x2e, + 0x54, 0x69, 0x63, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x29, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x23, 0x12, 0x21, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x69, + 0x63, 0x6b, 0x73, 0x2f, 0x7b, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, + 0x7d, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x2d, 0x64, 0x61, 0x74, 0x61, 0x12, 0xb0, 0x01, 0x0a, 0x11, + 0x47, 0x65, 0x74, 0x51, 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x54, 0x69, 0x63, 0x6b, 0x44, 0x61, 0x74, + 0x61, 0x12, 0x33, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, + 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, + 0x74, 0x51, 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x54, 0x69, 0x63, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, + 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, + 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x51, 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x54, 0x69, 0x63, 0x6b, + 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x30, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x2a, 0x12, 0x28, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x73, 0x2f, + 0x7b, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x7d, 0x2f, 0x71, 0x75, + 0x6f, 0x72, 0x75, 0x6d, 0x2d, 0x74, 0x69, 0x63, 0x6b, 0x2d, 0x64, 0x61, 0x74, 0x61, 0x12, 0xb2, + 0x01, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x35, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, + 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, + 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, - 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, - 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, - 0x2e, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x35, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x2f, 0x12, 0x2d, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x73, 0x2f, - 0x7b, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x7d, 0x2f, 0x74, 0x72, - 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x12, 0xd3, 0x01, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x41, - 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x12, 0x3d, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, + 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x26, 0x12, 0x24, 0x2f, + 0x76, 0x31, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x73, 0x2f, 0x7b, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x6e, + 0x75, 0x6d, 0x62, 0x65, 0x72, 0x7d, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x12, 0xc3, 0x01, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x54, + 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x12, 0x35, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, - 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x64, 0x54, - 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x3e, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, - 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, - 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x64, 0x54, 0x72, + 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x71, 0x75, 0x62, + 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, + 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x35, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x12, 0x2d, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x73, 0x2f, 0x7b, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, - 0x65, 0x72, 0x7d, 0x2f, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x64, 0x2d, 0x74, 0x72, 0x61, - 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x9b, 0x01, 0x0a, 0x0c, 0x47, 0x65, - 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x48, 0x61, 0x73, 0x68, 0x12, 0x2e, 0x2e, 0x71, 0x75, 0x62, - 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, - 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x48, - 0x61, 0x73, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x71, 0x75, 0x62, - 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, - 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x48, - 0x61, 0x73, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2a, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x24, 0x12, 0x22, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x73, 0x2f, 0x7b, - 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x7d, 0x2f, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x2d, 0x68, 0x61, 0x73, 0x68, 0x12, 0x9b, 0x01, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x53, - 0x74, 0x6f, 0x72, 0x65, 0x48, 0x61, 0x73, 0x68, 0x12, 0x2e, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, - 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, - 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x48, 0x61, 0x73, - 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, - 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, - 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x48, 0x61, 0x73, - 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2a, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x24, 0x12, 0x22, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x73, 0x2f, 0x7b, 0x74, 0x69, - 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x7d, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x65, - 0x2d, 0x68, 0x61, 0x73, 0x68, 0x12, 0x97, 0x01, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, - 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x30, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, - 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, - 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x71, 0x75, 0x62, - 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, - 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x20, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x12, 0x18, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, - 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x74, 0x78, 0x5f, 0x69, 0x64, 0x7d, 0x12, - 0xa6, 0x01, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x36, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, + 0x65, 0x72, 0x7d, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2d, 0x74, 0x72, 0x61, + 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0xd3, 0x01, 0x0a, 0x1b, 0x47, 0x65, + 0x74, 0x54, 0x69, 0x63, 0x6b, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x64, 0x54, 0x72, 0x61, + 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3d, 0x2e, 0x71, 0x75, 0x62, 0x69, + 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, + 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x41, 0x70, 0x70, + 0x72, 0x6f, 0x76, 0x65, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3e, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, - 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x37, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, + 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x41, 0x70, 0x70, 0x72, + 0x6f, 0x76, 0x65, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x35, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, + 0x12, 0x2d, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x73, 0x2f, 0x7b, 0x74, 0x69, 0x63, + 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x7d, 0x2f, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, + 0x65, 0x64, 0x2d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, + 0x9b, 0x01, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x48, 0x61, 0x73, 0x68, + 0x12, 0x2e, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, - 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1d, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x17, 0x12, 0x15, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x78, 0x2d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x2f, 0x7b, 0x74, 0x78, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xde, 0x01, 0x0a, 0x1e, 0x47, 0x65, 0x74, - 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x50, 0x65, 0x72, 0x54, 0x69, 0x63, 0x6b, 0x12, 0x40, 0x2e, 0x71, 0x75, - 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, - 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, - 0x66, 0x65, 0x72, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x50, - 0x65, 0x72, 0x54, 0x69, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x41, 0x2e, - 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, - 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, - 0x6e, 0x73, 0x66, 0x65, 0x72, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x50, 0x65, 0x72, 0x54, 0x69, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x37, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x31, 0x12, 0x2f, 0x2f, 0x76, 0x31, 0x2f, 0x69, 0x64, - 0x65, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, - 0x74, 0x79, 0x7d, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2d, 0x74, 0x72, 0x61, - 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x95, 0x01, 0x0a, 0x0c, 0x47, 0x65, - 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x2e, 0x2e, 0x71, 0x75, 0x62, - 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, - 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x6f, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x71, 0x75, 0x62, - 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, - 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x6f, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x24, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x1e, 0x12, 0x1c, 0x2f, 0x76, 0x31, 0x2f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x73, 0x2f, - 0x7b, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x7d, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x6f, 0x72, - 0x73, 0x12, 0x65, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x2c, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, + 0x43, 0x68, 0x61, 0x69, 0x6e, 0x48, 0x61, 0x73, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x2f, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, + 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, + 0x43, 0x68, 0x61, 0x69, 0x6e, 0x48, 0x61, 0x73, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x2a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x24, 0x12, 0x22, 0x2f, 0x76, 0x31, 0x2f, 0x74, + 0x69, 0x63, 0x6b, 0x73, 0x2f, 0x7b, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, + 0x72, 0x7d, 0x2f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2d, 0x68, 0x61, 0x73, 0x68, 0x12, 0x9b, 0x01, + 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x48, 0x61, 0x73, 0x68, 0x12, 0x2e, + 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, + 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, + 0x61, 0x69, 0x6e, 0x48, 0x61, 0x73, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, + 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, + 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, + 0x61, 0x69, 0x6e, 0x48, 0x61, 0x73, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x2a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x24, 0x12, 0x22, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x69, 0x63, + 0x6b, 0x73, 0x2f, 0x7b, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x7d, + 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2d, 0x68, 0x61, 0x73, 0x68, 0x12, 0x97, 0x01, 0x0a, 0x0e, + 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x30, + 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, + 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, + 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x31, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, + 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, + 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x20, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x12, 0x18, 0x2f, 0x76, 0x31, + 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x74, + 0x78, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xa6, 0x01, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, + 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x36, + 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, + 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, + 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, - 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x12, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0c, 0x12, 0x0a, 0x2f, 0x76, - 0x31, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x71, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x4c, - 0x61, 0x74, 0x65, 0x73, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, - 0x79, 0x1a, 0x30, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, + 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x1d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x17, 0x12, 0x15, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x78, 0x2d, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2f, 0x7b, 0x74, 0x78, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xde, + 0x01, 0x0a, 0x1e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x54, 0x72, + 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x50, 0x65, 0x72, 0x54, 0x69, 0x63, + 0x6b, 0x12, 0x40, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, - 0x74, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x16, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x10, 0x12, 0x0e, 0x2f, 0x76, 0x31, - 0x2f, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x12, 0x74, 0x0a, 0x0e, 0x47, - 0x65, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x16, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, - 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x31, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, - 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, - 0x62, 0x2e, 0x47, 0x65, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x17, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x11, - 0x12, 0x0f, 0x2f, 0x76, 0x31, 0x2f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x63, 0x68, 0x65, 0x63, - 0x6b, 0x42, 0x29, 0x5a, 0x27, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, - 0x71, 0x75, 0x62, 0x69, 0x63, 0x2f, 0x67, 0x6f, 0x2d, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, - 0x72, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x66, 0x2f, 0x62, 0x06, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x33, + 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x50, 0x65, 0x72, 0x54, 0x69, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x41, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, + 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, + 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x54, 0x72, 0x61, 0x6e, 0x73, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x50, 0x65, 0x72, 0x54, 0x69, 0x63, 0x6b, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x37, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x31, 0x12, 0x2f, + 0x2f, 0x76, 0x31, 0x2f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x7b, + 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x7d, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, + 0x65, 0x72, 0x2d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, + 0x95, 0x01, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x6f, 0x72, 0x73, + 0x12, 0x2e, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, + 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, + 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x2f, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, + 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, + 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x24, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x12, 0x1c, 0x2f, 0x76, 0x31, 0x2f, 0x65, + 0x70, 0x6f, 0x63, 0x68, 0x73, 0x2f, 0x7b, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x7d, 0x2f, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x65, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x2c, 0x2e, 0x71, + 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, + 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x12, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x0c, 0x12, 0x0a, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x73, + 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x12, + 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x32, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, + 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, + 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x54, 0x69, 0x63, + 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x56, 0x32, 0x22, 0x16, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x10, 0x12, 0x0e, 0x2f, 0x76, 0x31, 0x2f, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x54, + 0x69, 0x63, 0x6b, 0x12, 0x74, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, + 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x31, 0x2e, + 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, + 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x48, 0x65, 0x61, + 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x17, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x11, 0x12, 0x0f, 0x2f, 0x76, 0x31, 0x2f, 0x68, 0x65, + 0x61, 0x6c, 0x74, 0x68, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x42, 0x29, 0x5a, 0x27, 0x67, 0x69, 0x74, + 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2f, 0x67, 0x6f, + 0x2d, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x66, 0x2f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -2944,53 +3678,62 @@ func file_archive_proto_rawDescGZIP() []byte { return file_archive_proto_rawDescData } -var file_archive_proto_msgTypes = make([]protoimpl.MessageInfo, 44) +var file_archive_proto_msgTypes = make([]protoimpl.MessageInfo, 53) var file_archive_proto_goTypes = []interface{}{ - (*TickData)(nil), // 0: qubic.archiver.archive.pb.TickData - (*GetTickDataRequest)(nil), // 1: qubic.archiver.archive.pb.GetTickDataRequest - (*GetTickDataResponse)(nil), // 2: qubic.archiver.archive.pb.GetTickDataResponse - (*Transaction)(nil), // 3: qubic.archiver.archive.pb.Transaction - (*TransactionStatus)(nil), // 4: qubic.archiver.archive.pb.TransactionStatus - (*TickTransactionsStatus)(nil), // 5: qubic.archiver.archive.pb.TickTransactionsStatus - (*NextAvailableTick)(nil), // 6: qubic.archiver.archive.pb.NextAvailableTick - (*LastProcessedTick)(nil), // 7: qubic.archiver.archive.pb.LastProcessedTick - (*GetTransactionRequest)(nil), // 8: qubic.archiver.archive.pb.GetTransactionRequest - (*GetTransactionResponse)(nil), // 9: qubic.archiver.archive.pb.GetTransactionResponse - (*GetTransactionStatusRequest)(nil), // 10: qubic.archiver.archive.pb.GetTransactionStatusRequest - (*GetTransactionStatusResponse)(nil), // 11: qubic.archiver.archive.pb.GetTransactionStatusResponse - (*GetTickTransactionsRequest)(nil), // 12: qubic.archiver.archive.pb.GetTickTransactionsRequest - (*GetTickTransactionsResponse)(nil), // 13: qubic.archiver.archive.pb.GetTickTransactionsResponse - (*GetTickApprovedTransactionsRequest)(nil), // 14: qubic.archiver.archive.pb.GetTickApprovedTransactionsRequest - (*GetTickApprovedTransactionsResponse)(nil), // 15: qubic.archiver.archive.pb.GetTickApprovedTransactionsResponse - (*QuorumDiff)(nil), // 16: qubic.archiver.archive.pb.QuorumDiff - (*QuorumTickStructure)(nil), // 17: qubic.archiver.archive.pb.QuorumTickStructure - (*SkippedTicksInterval)(nil), // 18: qubic.archiver.archive.pb.SkippedTicksInterval - (*SkippedTicksIntervalList)(nil), // 19: qubic.archiver.archive.pb.SkippedTicksIntervalList - (*QuorumTickData)(nil), // 20: qubic.archiver.archive.pb.QuorumTickData - (*GetQuorumTickDataRequest)(nil), // 21: qubic.archiver.archive.pb.GetQuorumTickDataRequest - (*GetQuorumTickDataResponse)(nil), // 22: qubic.archiver.archive.pb.GetQuorumTickDataResponse - (*Computors)(nil), // 23: qubic.archiver.archive.pb.Computors - (*GetComputorsRequest)(nil), // 24: qubic.archiver.archive.pb.GetComputorsRequest - (*GetComputorsResponse)(nil), // 25: qubic.archiver.archive.pb.GetComputorsResponse - (*TransferTransactionsPerTick)(nil), // 26: qubic.archiver.archive.pb.TransferTransactionsPerTick - (*ProcessedTick)(nil), // 27: qubic.archiver.archive.pb.ProcessedTick - (*GetStatusResponse)(nil), // 28: qubic.archiver.archive.pb.GetStatusResponse - (*GetHealthCheckResponse)(nil), // 29: qubic.archiver.archive.pb.GetHealthCheckResponse - (*GetLatestTickResponse)(nil), // 30: qubic.archiver.archive.pb.GetLatestTickResponse - (*GetTransferTransactionsPerTickRequest)(nil), // 31: qubic.archiver.archive.pb.GetTransferTransactionsPerTickRequest - (*GetTransferTransactionsPerTickResponse)(nil), // 32: qubic.archiver.archive.pb.GetTransferTransactionsPerTickResponse - (*GetChainHashRequest)(nil), // 33: qubic.archiver.archive.pb.GetChainHashRequest - (*GetChainHashResponse)(nil), // 34: qubic.archiver.archive.pb.GetChainHashResponse - (*ProcessedTickInterval)(nil), // 35: qubic.archiver.archive.pb.ProcessedTickInterval - (*ProcessedTickIntervalsPerEpoch)(nil), // 36: qubic.archiver.archive.pb.ProcessedTickIntervalsPerEpoch - (*TransactionData)(nil), // 37: qubic.archiver.archive.pb.TransactionData - (*GetTickTransactionsRequestV2)(nil), // 38: qubic.archiver.archive.pb.GetTickTransactionsRequestV2 - (*GetTickTransactionsResponseV2)(nil), // 39: qubic.archiver.archive.pb.GetTickTransactionsResponseV2 - (*GetTransactionRequestV2)(nil), // 40: qubic.archiver.archive.pb.GetTransactionRequestV2 - (*GetTransactionResponseV2)(nil), // 41: qubic.archiver.archive.pb.GetTransactionResponseV2 - nil, // 42: qubic.archiver.archive.pb.QuorumTickData.QuorumDiffPerComputorEntry - nil, // 43: qubic.archiver.archive.pb.GetStatusResponse.LastProcessedTicksPerEpochEntry - (*emptypb.Empty)(nil), // 44: google.protobuf.Empty + (*TickData)(nil), // 0: qubic.archiver.archive.pb.TickData + (*GetTickDataRequest)(nil), // 1: qubic.archiver.archive.pb.GetTickDataRequest + (*GetTickDataResponse)(nil), // 2: qubic.archiver.archive.pb.GetTickDataResponse + (*Transaction)(nil), // 3: qubic.archiver.archive.pb.Transaction + (*TransactionStatus)(nil), // 4: qubic.archiver.archive.pb.TransactionStatus + (*TickTransactionsStatus)(nil), // 5: qubic.archiver.archive.pb.TickTransactionsStatus + (*NextAvailableTick)(nil), // 6: qubic.archiver.archive.pb.NextAvailableTick + (*LastProcessedTick)(nil), // 7: qubic.archiver.archive.pb.LastProcessedTick + (*GetTransactionRequest)(nil), // 8: qubic.archiver.archive.pb.GetTransactionRequest + (*GetTransactionResponse)(nil), // 9: qubic.archiver.archive.pb.GetTransactionResponse + (*GetTransactionStatusRequest)(nil), // 10: qubic.archiver.archive.pb.GetTransactionStatusRequest + (*GetTransactionStatusResponse)(nil), // 11: qubic.archiver.archive.pb.GetTransactionStatusResponse + (*GetTickTransactionsRequest)(nil), // 12: qubic.archiver.archive.pb.GetTickTransactionsRequest + (*GetTickTransactionsResponse)(nil), // 13: qubic.archiver.archive.pb.GetTickTransactionsResponse + (*GetTickApprovedTransactionsRequest)(nil), // 14: qubic.archiver.archive.pb.GetTickApprovedTransactionsRequest + (*GetTickApprovedTransactionsResponse)(nil), // 15: qubic.archiver.archive.pb.GetTickApprovedTransactionsResponse + (*QuorumDiff)(nil), // 16: qubic.archiver.archive.pb.QuorumDiff + (*QuorumTickStructure)(nil), // 17: qubic.archiver.archive.pb.QuorumTickStructure + (*SkippedTicksInterval)(nil), // 18: qubic.archiver.archive.pb.SkippedTicksInterval + (*SkippedTicksIntervalList)(nil), // 19: qubic.archiver.archive.pb.SkippedTicksIntervalList + (*QuorumTickData)(nil), // 20: qubic.archiver.archive.pb.QuorumTickData + (*GetQuorumTickDataRequest)(nil), // 21: qubic.archiver.archive.pb.GetQuorumTickDataRequest + (*GetQuorumTickDataResponse)(nil), // 22: qubic.archiver.archive.pb.GetQuorumTickDataResponse + (*Computors)(nil), // 23: qubic.archiver.archive.pb.Computors + (*GetComputorsRequest)(nil), // 24: qubic.archiver.archive.pb.GetComputorsRequest + (*GetComputorsResponse)(nil), // 25: qubic.archiver.archive.pb.GetComputorsResponse + (*TransferTransactionsPerTick)(nil), // 26: qubic.archiver.archive.pb.TransferTransactionsPerTick + (*ProcessedTick)(nil), // 27: qubic.archiver.archive.pb.ProcessedTick + (*GetStatusResponse)(nil), // 28: qubic.archiver.archive.pb.GetStatusResponse + (*GetHealthCheckResponse)(nil), // 29: qubic.archiver.archive.pb.GetHealthCheckResponse + (*GetTransferTransactionsPerTickRequest)(nil), // 30: qubic.archiver.archive.pb.GetTransferTransactionsPerTickRequest + (*GetTransferTransactionsPerTickResponse)(nil), // 31: qubic.archiver.archive.pb.GetTransferTransactionsPerTickResponse + (*GetChainHashRequest)(nil), // 32: qubic.archiver.archive.pb.GetChainHashRequest + (*GetChainHashResponse)(nil), // 33: qubic.archiver.archive.pb.GetChainHashResponse + (*ProcessedTickInterval)(nil), // 34: qubic.archiver.archive.pb.ProcessedTickInterval + (*ProcessedTickIntervalsPerEpoch)(nil), // 35: qubic.archiver.archive.pb.ProcessedTickIntervalsPerEpoch + (*Tick)(nil), // 36: qubic.archiver.archive.pb.Tick + (*GetTickResponseV2)(nil), // 37: qubic.archiver.archive.pb.GetTickResponseV2 + (*PerTickIdentityTransfers)(nil), // 38: qubic.archiver.archive.pb.PerTickIdentityTransfers + (*GetIdentityTransfersInTickRangeResponseV2)(nil), // 39: qubic.archiver.archive.pb.GetIdentityTransfersInTickRangeResponseV2 + (*SendManyTransfer)(nil), // 40: qubic.archiver.archive.pb.SendManyTransfer + (*SendManyTransaction)(nil), // 41: qubic.archiver.archive.pb.SendManyTransaction + (*SendManyTransactionData)(nil), // 42: qubic.archiver.archive.pb.SendManyTransactionData + (*GetSendManyTransactionRequestV2)(nil), // 43: qubic.archiver.archive.pb.GetSendManyTransactionRequestV2 + (*GetSendManyTransactionResponseV2)(nil), // 44: qubic.archiver.archive.pb.GetSendManyTransactionResponseV2 + (*TransactionData)(nil), // 45: qubic.archiver.archive.pb.TransactionData + (*GetLatestTickResponseV2)(nil), // 46: qubic.archiver.archive.pb.GetLatestTickResponseV2 + (*GetTickRequestV2)(nil), // 47: qubic.archiver.archive.pb.GetTickRequestV2 + (*GetTickTransactionsResponseV2)(nil), // 48: qubic.archiver.archive.pb.GetTickTransactionsResponseV2 + (*GetTransactionRequestV2)(nil), // 49: qubic.archiver.archive.pb.GetTransactionRequestV2 + (*GetTransactionResponseV2)(nil), // 50: qubic.archiver.archive.pb.GetTransactionResponseV2 + nil, // 51: qubic.archiver.archive.pb.QuorumTickData.QuorumDiffPerComputorEntry + nil, // 52: qubic.archiver.archive.pb.GetStatusResponse.LastProcessedTicksPerEpochEntry + (*emptypb.Empty)(nil), // 53: google.protobuf.Empty } var file_archive_proto_depIdxs = []int32{ 0, // 0: qubic.archiver.archive.pb.GetTickDataResponse.tick_data:type_name -> qubic.archiver.archive.pb.TickData @@ -3001,61 +3744,79 @@ var file_archive_proto_depIdxs = []int32{ 3, // 5: qubic.archiver.archive.pb.GetTickApprovedTransactionsResponse.approved_transactions:type_name -> qubic.archiver.archive.pb.Transaction 18, // 6: qubic.archiver.archive.pb.SkippedTicksIntervalList.skipped_ticks:type_name -> qubic.archiver.archive.pb.SkippedTicksInterval 17, // 7: qubic.archiver.archive.pb.QuorumTickData.quorum_tick_structure:type_name -> qubic.archiver.archive.pb.QuorumTickStructure - 42, // 8: qubic.archiver.archive.pb.QuorumTickData.quorum_diff_per_computor:type_name -> qubic.archiver.archive.pb.QuorumTickData.QuorumDiffPerComputorEntry + 51, // 8: qubic.archiver.archive.pb.QuorumTickData.quorum_diff_per_computor:type_name -> qubic.archiver.archive.pb.QuorumTickData.QuorumDiffPerComputorEntry 20, // 9: qubic.archiver.archive.pb.GetQuorumTickDataResponse.quorum_tick_data:type_name -> qubic.archiver.archive.pb.QuorumTickData 23, // 10: qubic.archiver.archive.pb.GetComputorsResponse.computors:type_name -> qubic.archiver.archive.pb.Computors 3, // 11: qubic.archiver.archive.pb.TransferTransactionsPerTick.transactions:type_name -> qubic.archiver.archive.pb.Transaction 27, // 12: qubic.archiver.archive.pb.GetStatusResponse.last_processed_tick:type_name -> qubic.archiver.archive.pb.ProcessedTick - 43, // 13: qubic.archiver.archive.pb.GetStatusResponse.last_processed_ticks_per_epoch:type_name -> qubic.archiver.archive.pb.GetStatusResponse.LastProcessedTicksPerEpochEntry + 52, // 13: qubic.archiver.archive.pb.GetStatusResponse.last_processed_ticks_per_epoch:type_name -> qubic.archiver.archive.pb.GetStatusResponse.LastProcessedTicksPerEpochEntry 18, // 14: qubic.archiver.archive.pb.GetStatusResponse.skipped_ticks:type_name -> qubic.archiver.archive.pb.SkippedTicksInterval - 36, // 15: qubic.archiver.archive.pb.GetStatusResponse.processed_tick_intervals_per_epoch:type_name -> qubic.archiver.archive.pb.ProcessedTickIntervalsPerEpoch + 35, // 15: qubic.archiver.archive.pb.GetStatusResponse.processed_tick_intervals_per_epoch:type_name -> qubic.archiver.archive.pb.ProcessedTickIntervalsPerEpoch 26, // 16: qubic.archiver.archive.pb.GetTransferTransactionsPerTickResponse.transfer_transactions_per_tick:type_name -> qubic.archiver.archive.pb.TransferTransactionsPerTick - 35, // 17: qubic.archiver.archive.pb.ProcessedTickIntervalsPerEpoch.intervals:type_name -> qubic.archiver.archive.pb.ProcessedTickInterval - 3, // 18: qubic.archiver.archive.pb.TransactionData.transaction:type_name -> qubic.archiver.archive.pb.Transaction - 37, // 19: qubic.archiver.archive.pb.GetTickTransactionsResponseV2.transactions:type_name -> qubic.archiver.archive.pb.TransactionData - 3, // 20: qubic.archiver.archive.pb.GetTransactionResponseV2.transaction:type_name -> qubic.archiver.archive.pb.Transaction - 16, // 21: qubic.archiver.archive.pb.QuorumTickData.QuorumDiffPerComputorEntry.value:type_name -> qubic.archiver.archive.pb.QuorumDiff - 38, // 22: qubic.archiver.archive.pb.ArchiveService.GetAllTickTransactionsV2:input_type -> qubic.archiver.archive.pb.GetTickTransactionsRequestV2 - 38, // 23: qubic.archiver.archive.pb.ArchiveService.GetTransferTickTransactionsV2:input_type -> qubic.archiver.archive.pb.GetTickTransactionsRequestV2 - 38, // 24: qubic.archiver.archive.pb.ArchiveService.GetApprovedTickTransactionsV2:input_type -> qubic.archiver.archive.pb.GetTickTransactionsRequestV2 - 40, // 25: qubic.archiver.archive.pb.ArchiveService.GetTransactionV2:input_type -> qubic.archiver.archive.pb.GetTransactionRequestV2 - 1, // 26: qubic.archiver.archive.pb.ArchiveService.GetTickData:input_type -> qubic.archiver.archive.pb.GetTickDataRequest - 21, // 27: qubic.archiver.archive.pb.ArchiveService.GetQuorumTickData:input_type -> qubic.archiver.archive.pb.GetQuorumTickDataRequest - 12, // 28: qubic.archiver.archive.pb.ArchiveService.GetTickTransactions:input_type -> qubic.archiver.archive.pb.GetTickTransactionsRequest - 12, // 29: qubic.archiver.archive.pb.ArchiveService.GetTickTransferTransactions:input_type -> qubic.archiver.archive.pb.GetTickTransactionsRequest - 14, // 30: qubic.archiver.archive.pb.ArchiveService.GetTickApprovedTransactions:input_type -> qubic.archiver.archive.pb.GetTickApprovedTransactionsRequest - 33, // 31: qubic.archiver.archive.pb.ArchiveService.GetChainHash:input_type -> qubic.archiver.archive.pb.GetChainHashRequest - 33, // 32: qubic.archiver.archive.pb.ArchiveService.GetStoreHash:input_type -> qubic.archiver.archive.pb.GetChainHashRequest - 8, // 33: qubic.archiver.archive.pb.ArchiveService.GetTransaction:input_type -> qubic.archiver.archive.pb.GetTransactionRequest - 10, // 34: qubic.archiver.archive.pb.ArchiveService.GetTransactionStatus:input_type -> qubic.archiver.archive.pb.GetTransactionStatusRequest - 31, // 35: qubic.archiver.archive.pb.ArchiveService.GetTransferTransactionsPerTick:input_type -> qubic.archiver.archive.pb.GetTransferTransactionsPerTickRequest - 24, // 36: qubic.archiver.archive.pb.ArchiveService.GetComputors:input_type -> qubic.archiver.archive.pb.GetComputorsRequest - 44, // 37: qubic.archiver.archive.pb.ArchiveService.GetStatus:input_type -> google.protobuf.Empty - 44, // 38: qubic.archiver.archive.pb.ArchiveService.GetLatestTick:input_type -> google.protobuf.Empty - 44, // 39: qubic.archiver.archive.pb.ArchiveService.GetHealthCheck:input_type -> google.protobuf.Empty - 39, // 40: qubic.archiver.archive.pb.ArchiveService.GetAllTickTransactionsV2:output_type -> qubic.archiver.archive.pb.GetTickTransactionsResponseV2 - 39, // 41: qubic.archiver.archive.pb.ArchiveService.GetTransferTickTransactionsV2:output_type -> qubic.archiver.archive.pb.GetTickTransactionsResponseV2 - 39, // 42: qubic.archiver.archive.pb.ArchiveService.GetApprovedTickTransactionsV2:output_type -> qubic.archiver.archive.pb.GetTickTransactionsResponseV2 - 41, // 43: qubic.archiver.archive.pb.ArchiveService.GetTransactionV2:output_type -> qubic.archiver.archive.pb.GetTransactionResponseV2 - 2, // 44: qubic.archiver.archive.pb.ArchiveService.GetTickData:output_type -> qubic.archiver.archive.pb.GetTickDataResponse - 22, // 45: qubic.archiver.archive.pb.ArchiveService.GetQuorumTickData:output_type -> qubic.archiver.archive.pb.GetQuorumTickDataResponse - 13, // 46: qubic.archiver.archive.pb.ArchiveService.GetTickTransactions:output_type -> qubic.archiver.archive.pb.GetTickTransactionsResponse - 13, // 47: qubic.archiver.archive.pb.ArchiveService.GetTickTransferTransactions:output_type -> qubic.archiver.archive.pb.GetTickTransactionsResponse - 15, // 48: qubic.archiver.archive.pb.ArchiveService.GetTickApprovedTransactions:output_type -> qubic.archiver.archive.pb.GetTickApprovedTransactionsResponse - 34, // 49: qubic.archiver.archive.pb.ArchiveService.GetChainHash:output_type -> qubic.archiver.archive.pb.GetChainHashResponse - 34, // 50: qubic.archiver.archive.pb.ArchiveService.GetStoreHash:output_type -> qubic.archiver.archive.pb.GetChainHashResponse - 9, // 51: qubic.archiver.archive.pb.ArchiveService.GetTransaction:output_type -> qubic.archiver.archive.pb.GetTransactionResponse - 11, // 52: qubic.archiver.archive.pb.ArchiveService.GetTransactionStatus:output_type -> qubic.archiver.archive.pb.GetTransactionStatusResponse - 32, // 53: qubic.archiver.archive.pb.ArchiveService.GetTransferTransactionsPerTick:output_type -> qubic.archiver.archive.pb.GetTransferTransactionsPerTickResponse - 25, // 54: qubic.archiver.archive.pb.ArchiveService.GetComputors:output_type -> qubic.archiver.archive.pb.GetComputorsResponse - 28, // 55: qubic.archiver.archive.pb.ArchiveService.GetStatus:output_type -> qubic.archiver.archive.pb.GetStatusResponse - 30, // 56: qubic.archiver.archive.pb.ArchiveService.GetLatestTick:output_type -> qubic.archiver.archive.pb.GetLatestTickResponse - 29, // 57: qubic.archiver.archive.pb.ArchiveService.GetHealthCheck:output_type -> qubic.archiver.archive.pb.GetHealthCheckResponse - 40, // [40:58] is the sub-list for method output_type - 22, // [22:40] is the sub-list for method input_type - 22, // [22:22] is the sub-list for extension type_name - 22, // [22:22] is the sub-list for extension extendee - 0, // [0:22] is the sub-list for field type_name + 34, // 17: qubic.archiver.archive.pb.ProcessedTickIntervalsPerEpoch.intervals:type_name -> qubic.archiver.archive.pb.ProcessedTickInterval + 36, // 18: qubic.archiver.archive.pb.GetTickResponseV2.tick_Data:type_name -> qubic.archiver.archive.pb.Tick + 45, // 19: qubic.archiver.archive.pb.PerTickIdentityTransfers.transactions:type_name -> qubic.archiver.archive.pb.TransactionData + 38, // 20: qubic.archiver.archive.pb.GetIdentityTransfersInTickRangeResponseV2.transactions:type_name -> qubic.archiver.archive.pb.PerTickIdentityTransfers + 40, // 21: qubic.archiver.archive.pb.SendManyTransaction.transfers:type_name -> qubic.archiver.archive.pb.SendManyTransfer + 41, // 22: qubic.archiver.archive.pb.SendManyTransactionData.transaction:type_name -> qubic.archiver.archive.pb.SendManyTransaction + 41, // 23: qubic.archiver.archive.pb.GetSendManyTransactionResponseV2.transaction:type_name -> qubic.archiver.archive.pb.SendManyTransaction + 3, // 24: qubic.archiver.archive.pb.TransactionData.transaction:type_name -> qubic.archiver.archive.pb.Transaction + 45, // 25: qubic.archiver.archive.pb.GetTickTransactionsResponseV2.transactions:type_name -> qubic.archiver.archive.pb.TransactionData + 3, // 26: qubic.archiver.archive.pb.GetTransactionResponseV2.transaction:type_name -> qubic.archiver.archive.pb.Transaction + 16, // 27: qubic.archiver.archive.pb.QuorumTickData.QuorumDiffPerComputorEntry.value:type_name -> qubic.archiver.archive.pb.QuorumDiff + 53, // 28: qubic.archiver.archive.pb.ArchiveService.GetLatestTickV2:input_type -> google.protobuf.Empty + 47, // 29: qubic.archiver.archive.pb.ArchiveService.GetTickQuorumDataV2:input_type -> qubic.archiver.archive.pb.GetTickRequestV2 + 47, // 30: qubic.archiver.archive.pb.ArchiveService.GetTickChainHashV2:input_type -> qubic.archiver.archive.pb.GetTickRequestV2 + 47, // 31: qubic.archiver.archive.pb.ArchiveService.GetTickStoreHashV2:input_type -> qubic.archiver.archive.pb.GetTickRequestV2 + 47, // 32: qubic.archiver.archive.pb.ArchiveService.GetAllTickTransactionsV2:input_type -> qubic.archiver.archive.pb.GetTickRequestV2 + 47, // 33: qubic.archiver.archive.pb.ArchiveService.GetTransferTickTransactionsV2:input_type -> qubic.archiver.archive.pb.GetTickRequestV2 + 47, // 34: qubic.archiver.archive.pb.ArchiveService.GetApprovedTickTransactionsV2:input_type -> qubic.archiver.archive.pb.GetTickRequestV2 + 49, // 35: qubic.archiver.archive.pb.ArchiveService.GetTransactionV2:input_type -> qubic.archiver.archive.pb.GetTransactionRequestV2 + 43, // 36: qubic.archiver.archive.pb.ArchiveService.GetSendManyTransactionV2:input_type -> qubic.archiver.archive.pb.GetSendManyTransactionRequestV2 + 30, // 37: qubic.archiver.archive.pb.ArchiveService.GetIdentityTransfersInTickRangeV2:input_type -> qubic.archiver.archive.pb.GetTransferTransactionsPerTickRequest + 1, // 38: qubic.archiver.archive.pb.ArchiveService.GetTickData:input_type -> qubic.archiver.archive.pb.GetTickDataRequest + 21, // 39: qubic.archiver.archive.pb.ArchiveService.GetQuorumTickData:input_type -> qubic.archiver.archive.pb.GetQuorumTickDataRequest + 12, // 40: qubic.archiver.archive.pb.ArchiveService.GetTickTransactions:input_type -> qubic.archiver.archive.pb.GetTickTransactionsRequest + 12, // 41: qubic.archiver.archive.pb.ArchiveService.GetTickTransferTransactions:input_type -> qubic.archiver.archive.pb.GetTickTransactionsRequest + 14, // 42: qubic.archiver.archive.pb.ArchiveService.GetTickApprovedTransactions:input_type -> qubic.archiver.archive.pb.GetTickApprovedTransactionsRequest + 32, // 43: qubic.archiver.archive.pb.ArchiveService.GetChainHash:input_type -> qubic.archiver.archive.pb.GetChainHashRequest + 32, // 44: qubic.archiver.archive.pb.ArchiveService.GetStoreHash:input_type -> qubic.archiver.archive.pb.GetChainHashRequest + 8, // 45: qubic.archiver.archive.pb.ArchiveService.GetTransaction:input_type -> qubic.archiver.archive.pb.GetTransactionRequest + 10, // 46: qubic.archiver.archive.pb.ArchiveService.GetTransactionStatus:input_type -> qubic.archiver.archive.pb.GetTransactionStatusRequest + 30, // 47: qubic.archiver.archive.pb.ArchiveService.GetTransferTransactionsPerTick:input_type -> qubic.archiver.archive.pb.GetTransferTransactionsPerTickRequest + 24, // 48: qubic.archiver.archive.pb.ArchiveService.GetComputors:input_type -> qubic.archiver.archive.pb.GetComputorsRequest + 53, // 49: qubic.archiver.archive.pb.ArchiveService.GetStatus:input_type -> google.protobuf.Empty + 53, // 50: qubic.archiver.archive.pb.ArchiveService.GetLatestTick:input_type -> google.protobuf.Empty + 53, // 51: qubic.archiver.archive.pb.ArchiveService.GetHealthCheck:input_type -> google.protobuf.Empty + 46, // 52: qubic.archiver.archive.pb.ArchiveService.GetLatestTickV2:output_type -> qubic.archiver.archive.pb.GetLatestTickResponseV2 + 22, // 53: qubic.archiver.archive.pb.ArchiveService.GetTickQuorumDataV2:output_type -> qubic.archiver.archive.pb.GetQuorumTickDataResponse + 33, // 54: qubic.archiver.archive.pb.ArchiveService.GetTickChainHashV2:output_type -> qubic.archiver.archive.pb.GetChainHashResponse + 33, // 55: qubic.archiver.archive.pb.ArchiveService.GetTickStoreHashV2:output_type -> qubic.archiver.archive.pb.GetChainHashResponse + 48, // 56: qubic.archiver.archive.pb.ArchiveService.GetAllTickTransactionsV2:output_type -> qubic.archiver.archive.pb.GetTickTransactionsResponseV2 + 48, // 57: qubic.archiver.archive.pb.ArchiveService.GetTransferTickTransactionsV2:output_type -> qubic.archiver.archive.pb.GetTickTransactionsResponseV2 + 48, // 58: qubic.archiver.archive.pb.ArchiveService.GetApprovedTickTransactionsV2:output_type -> qubic.archiver.archive.pb.GetTickTransactionsResponseV2 + 50, // 59: qubic.archiver.archive.pb.ArchiveService.GetTransactionV2:output_type -> qubic.archiver.archive.pb.GetTransactionResponseV2 + 44, // 60: qubic.archiver.archive.pb.ArchiveService.GetSendManyTransactionV2:output_type -> qubic.archiver.archive.pb.GetSendManyTransactionResponseV2 + 39, // 61: qubic.archiver.archive.pb.ArchiveService.GetIdentityTransfersInTickRangeV2:output_type -> qubic.archiver.archive.pb.GetIdentityTransfersInTickRangeResponseV2 + 2, // 62: qubic.archiver.archive.pb.ArchiveService.GetTickData:output_type -> qubic.archiver.archive.pb.GetTickDataResponse + 22, // 63: qubic.archiver.archive.pb.ArchiveService.GetQuorumTickData:output_type -> qubic.archiver.archive.pb.GetQuorumTickDataResponse + 13, // 64: qubic.archiver.archive.pb.ArchiveService.GetTickTransactions:output_type -> qubic.archiver.archive.pb.GetTickTransactionsResponse + 13, // 65: qubic.archiver.archive.pb.ArchiveService.GetTickTransferTransactions:output_type -> qubic.archiver.archive.pb.GetTickTransactionsResponse + 15, // 66: qubic.archiver.archive.pb.ArchiveService.GetTickApprovedTransactions:output_type -> qubic.archiver.archive.pb.GetTickApprovedTransactionsResponse + 33, // 67: qubic.archiver.archive.pb.ArchiveService.GetChainHash:output_type -> qubic.archiver.archive.pb.GetChainHashResponse + 33, // 68: qubic.archiver.archive.pb.ArchiveService.GetStoreHash:output_type -> qubic.archiver.archive.pb.GetChainHashResponse + 9, // 69: qubic.archiver.archive.pb.ArchiveService.GetTransaction:output_type -> qubic.archiver.archive.pb.GetTransactionResponse + 11, // 70: qubic.archiver.archive.pb.ArchiveService.GetTransactionStatus:output_type -> qubic.archiver.archive.pb.GetTransactionStatusResponse + 31, // 71: qubic.archiver.archive.pb.ArchiveService.GetTransferTransactionsPerTick:output_type -> qubic.archiver.archive.pb.GetTransferTransactionsPerTickResponse + 25, // 72: qubic.archiver.archive.pb.ArchiveService.GetComputors:output_type -> qubic.archiver.archive.pb.GetComputorsResponse + 28, // 73: qubic.archiver.archive.pb.ArchiveService.GetStatus:output_type -> qubic.archiver.archive.pb.GetStatusResponse + 46, // 74: qubic.archiver.archive.pb.ArchiveService.GetLatestTick:output_type -> qubic.archiver.archive.pb.GetLatestTickResponseV2 + 29, // 75: qubic.archiver.archive.pb.ArchiveService.GetHealthCheck:output_type -> qubic.archiver.archive.pb.GetHealthCheckResponse + 52, // [52:76] is the sub-list for method output_type + 28, // [28:52] is the sub-list for method input_type + 28, // [28:28] is the sub-list for extension type_name + 28, // [28:28] is the sub-list for extension extendee + 0, // [0:28] is the sub-list for field type_name } func init() { file_archive_proto_init() } @@ -3425,7 +4186,7 @@ func file_archive_proto_init() { } } file_archive_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetLatestTickResponse); i { + switch v := v.(*GetTransferTransactionsPerTickRequest); i { case 0: return &v.state case 1: @@ -3437,7 +4198,7 @@ func file_archive_proto_init() { } } file_archive_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetTransferTransactionsPerTickRequest); i { + switch v := v.(*GetTransferTransactionsPerTickResponse); i { case 0: return &v.state case 1: @@ -3449,7 +4210,7 @@ func file_archive_proto_init() { } } file_archive_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetTransferTransactionsPerTickResponse); i { + switch v := v.(*GetChainHashRequest); i { case 0: return &v.state case 1: @@ -3461,7 +4222,7 @@ func file_archive_proto_init() { } } file_archive_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetChainHashRequest); i { + switch v := v.(*GetChainHashResponse); i { case 0: return &v.state case 1: @@ -3473,7 +4234,7 @@ func file_archive_proto_init() { } } file_archive_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetChainHashResponse); i { + switch v := v.(*ProcessedTickInterval); i { case 0: return &v.state case 1: @@ -3485,7 +4246,7 @@ func file_archive_proto_init() { } } file_archive_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ProcessedTickInterval); i { + switch v := v.(*ProcessedTickIntervalsPerEpoch); i { case 0: return &v.state case 1: @@ -3497,7 +4258,7 @@ func file_archive_proto_init() { } } file_archive_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ProcessedTickIntervalsPerEpoch); i { + switch v := v.(*Tick); i { case 0: return &v.state case 1: @@ -3509,7 +4270,7 @@ func file_archive_proto_init() { } } file_archive_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TransactionData); i { + switch v := v.(*GetTickResponseV2); i { case 0: return &v.state case 1: @@ -3521,7 +4282,7 @@ func file_archive_proto_init() { } } file_archive_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetTickTransactionsRequestV2); i { + switch v := v.(*PerTickIdentityTransfers); i { case 0: return &v.state case 1: @@ -3533,7 +4294,7 @@ func file_archive_proto_init() { } } file_archive_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetTickTransactionsResponseV2); i { + switch v := v.(*GetIdentityTransfersInTickRangeResponseV2); i { case 0: return &v.state case 1: @@ -3545,7 +4306,7 @@ func file_archive_proto_init() { } } file_archive_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetTransactionRequestV2); i { + switch v := v.(*SendManyTransfer); i { case 0: return &v.state case 1: @@ -3557,6 +4318,114 @@ func file_archive_proto_init() { } } file_archive_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SendManyTransaction); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_archive_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SendManyTransactionData); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_archive_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetSendManyTransactionRequestV2); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_archive_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetSendManyTransactionResponseV2); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_archive_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TransactionData); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_archive_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetLatestTickResponseV2); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_archive_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetTickRequestV2); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_archive_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetTickTransactionsResponseV2); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_archive_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetTransactionRequestV2); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_archive_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetTransactionResponseV2); i { case 0: return &v.state @@ -3575,7 +4444,7 @@ func file_archive_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_archive_proto_rawDesc, NumEnums: 0, - NumMessages: 44, + NumMessages: 53, NumExtensions: 0, NumServices: 1, }, diff --git a/protobuff/archive.pb.gw.go b/protobuff/archive.pb.gw.go index dc89877..41a4a2b 100644 --- a/protobuff/archive.pb.gw.go +++ b/protobuff/archive.pb.gw.go @@ -32,8 +32,182 @@ var _ = runtime.String var _ = utilities.NewDoubleArray var _ = metadata.Join +func request_ArchiveService_GetLatestTickV2_0(ctx context.Context, marshaler runtime.Marshaler, client ArchiveServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq emptypb.Empty + var metadata runtime.ServerMetadata + + msg, err := client.GetLatestTickV2(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_ArchiveService_GetLatestTickV2_0(ctx context.Context, marshaler runtime.Marshaler, server ArchiveServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq emptypb.Empty + var metadata runtime.ServerMetadata + + msg, err := server.GetLatestTickV2(ctx, &protoReq) + return msg, metadata, err + +} + +func request_ArchiveService_GetTickQuorumDataV2_0(ctx context.Context, marshaler runtime.Marshaler, client ArchiveServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetTickRequestV2 + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["tick_number"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "tick_number") + } + + protoReq.TickNumber, err = runtime.Uint32(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "tick_number", err) + } + + msg, err := client.GetTickQuorumDataV2(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_ArchiveService_GetTickQuorumDataV2_0(ctx context.Context, marshaler runtime.Marshaler, server ArchiveServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetTickRequestV2 + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["tick_number"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "tick_number") + } + + protoReq.TickNumber, err = runtime.Uint32(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "tick_number", err) + } + + msg, err := server.GetTickQuorumDataV2(ctx, &protoReq) + return msg, metadata, err + +} + +func request_ArchiveService_GetTickChainHashV2_0(ctx context.Context, marshaler runtime.Marshaler, client ArchiveServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetTickRequestV2 + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["tick_number"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "tick_number") + } + + protoReq.TickNumber, err = runtime.Uint32(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "tick_number", err) + } + + msg, err := client.GetTickChainHashV2(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_ArchiveService_GetTickChainHashV2_0(ctx context.Context, marshaler runtime.Marshaler, server ArchiveServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetTickRequestV2 + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["tick_number"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "tick_number") + } + + protoReq.TickNumber, err = runtime.Uint32(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "tick_number", err) + } + + msg, err := server.GetTickChainHashV2(ctx, &protoReq) + return msg, metadata, err + +} + +func request_ArchiveService_GetTickStoreHashV2_0(ctx context.Context, marshaler runtime.Marshaler, client ArchiveServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetTickRequestV2 + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["tick_number"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "tick_number") + } + + protoReq.TickNumber, err = runtime.Uint32(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "tick_number", err) + } + + msg, err := client.GetTickStoreHashV2(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_ArchiveService_GetTickStoreHashV2_0(ctx context.Context, marshaler runtime.Marshaler, server ArchiveServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetTickRequestV2 + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["tick_number"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "tick_number") + } + + protoReq.TickNumber, err = runtime.Uint32(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "tick_number", err) + } + + msg, err := server.GetTickStoreHashV2(ctx, &protoReq) + return msg, metadata, err + +} + func request_ArchiveService_GetAllTickTransactionsV2_0(ctx context.Context, marshaler runtime.Marshaler, client ArchiveServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetTickTransactionsRequestV2 + var protoReq GetTickRequestV2 var metadata runtime.ServerMetadata var ( @@ -59,7 +233,7 @@ func request_ArchiveService_GetAllTickTransactionsV2_0(ctx context.Context, mars } func local_request_ArchiveService_GetAllTickTransactionsV2_0(ctx context.Context, marshaler runtime.Marshaler, server ArchiveServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetTickTransactionsRequestV2 + var protoReq GetTickRequestV2 var metadata runtime.ServerMetadata var ( @@ -85,7 +259,7 @@ func local_request_ArchiveService_GetAllTickTransactionsV2_0(ctx context.Context } func request_ArchiveService_GetTransferTickTransactionsV2_0(ctx context.Context, marshaler runtime.Marshaler, client ArchiveServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetTickTransactionsRequestV2 + var protoReq GetTickRequestV2 var metadata runtime.ServerMetadata var ( @@ -111,7 +285,7 @@ func request_ArchiveService_GetTransferTickTransactionsV2_0(ctx context.Context, } func local_request_ArchiveService_GetTransferTickTransactionsV2_0(ctx context.Context, marshaler runtime.Marshaler, server ArchiveServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetTickTransactionsRequestV2 + var protoReq GetTickRequestV2 var metadata runtime.ServerMetadata var ( @@ -137,7 +311,7 @@ func local_request_ArchiveService_GetTransferTickTransactionsV2_0(ctx context.Co } func request_ArchiveService_GetApprovedTickTransactionsV2_0(ctx context.Context, marshaler runtime.Marshaler, client ArchiveServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetTickTransactionsRequestV2 + var protoReq GetTickRequestV2 var metadata runtime.ServerMetadata var ( @@ -163,7 +337,7 @@ func request_ArchiveService_GetApprovedTickTransactionsV2_0(ctx context.Context, } func local_request_ArchiveService_GetApprovedTickTransactionsV2_0(ctx context.Context, marshaler runtime.Marshaler, server ArchiveServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetTickTransactionsRequestV2 + var protoReq GetTickRequestV2 var metadata runtime.ServerMetadata var ( @@ -240,6 +414,128 @@ func local_request_ArchiveService_GetTransactionV2_0(ctx context.Context, marsha } +func request_ArchiveService_GetSendManyTransactionV2_0(ctx context.Context, marshaler runtime.Marshaler, client ArchiveServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetSendManyTransactionRequestV2 + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["tx_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "tx_id") + } + + protoReq.TxId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "tx_id", err) + } + + msg, err := client.GetSendManyTransactionV2(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_ArchiveService_GetSendManyTransactionV2_0(ctx context.Context, marshaler runtime.Marshaler, server ArchiveServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetSendManyTransactionRequestV2 + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["tx_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "tx_id") + } + + protoReq.TxId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "tx_id", err) + } + + msg, err := server.GetSendManyTransactionV2(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_ArchiveService_GetIdentityTransfersInTickRangeV2_0 = &utilities.DoubleArray{Encoding: map[string]int{"identity": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} +) + +func request_ArchiveService_GetIdentityTransfersInTickRangeV2_0(ctx context.Context, marshaler runtime.Marshaler, client ArchiveServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetTransferTransactionsPerTickRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["identity"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "identity") + } + + protoReq.Identity, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "identity", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_ArchiveService_GetIdentityTransfersInTickRangeV2_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.GetIdentityTransfersInTickRangeV2(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_ArchiveService_GetIdentityTransfersInTickRangeV2_0(ctx context.Context, marshaler runtime.Marshaler, server ArchiveServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetTransferTransactionsPerTickRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["identity"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "identity") + } + + protoReq.Identity, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "identity", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_ArchiveService_GetIdentityTransfersInTickRangeV2_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.GetIdentityTransfersInTickRangeV2(ctx, &protoReq) + return msg, metadata, err + +} + func request_ArchiveService_GetTickData_0(ctx context.Context, marshaler runtime.Marshaler, client ArchiveServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq GetTickDataRequest var metadata runtime.ServerMetadata @@ -890,6 +1186,106 @@ func local_request_ArchiveService_GetHealthCheck_0(ctx context.Context, marshale // Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterArchiveServiceHandlerFromEndpoint instead. func RegisterArchiveServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux, server ArchiveServiceServer) error { + mux.Handle("GET", pattern_ArchiveService_GetLatestTickV2_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/qubic.archiver.archive.pb.ArchiveService/GetLatestTickV2", runtime.WithHTTPPathPattern("/v2/tick/latest")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ArchiveService_GetLatestTickV2_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ArchiveService_GetLatestTickV2_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ArchiveService_GetTickQuorumDataV2_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/qubic.archiver.archive.pb.ArchiveService/GetTickQuorumDataV2", runtime.WithHTTPPathPattern("/v2/tick/{tick_number}/quorum-data")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ArchiveService_GetTickQuorumDataV2_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ArchiveService_GetTickQuorumDataV2_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ArchiveService_GetTickChainHashV2_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/qubic.archiver.archive.pb.ArchiveService/GetTickChainHashV2", runtime.WithHTTPPathPattern("/v2/tick/{tick_number}/hash")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ArchiveService_GetTickChainHashV2_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ArchiveService_GetTickChainHashV2_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ArchiveService_GetTickStoreHashV2_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/qubic.archiver.archive.pb.ArchiveService/GetTickStoreHashV2", runtime.WithHTTPPathPattern("/v2/tick/{tick_number}/store-hash")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ArchiveService_GetTickStoreHashV2_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ArchiveService_GetTickStoreHashV2_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + mux.Handle("GET", pattern_ArchiveService_GetAllTickTransactionsV2_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() @@ -990,6 +1386,56 @@ func RegisterArchiveServiceHandlerServer(ctx context.Context, mux *runtime.Serve }) + mux.Handle("GET", pattern_ArchiveService_GetSendManyTransactionV2_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/qubic.archiver.archive.pb.ArchiveService/GetSendManyTransactionV2", runtime.WithHTTPPathPattern("/v2/transaction/{tx_id}/sendmany")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ArchiveService_GetSendManyTransactionV2_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ArchiveService_GetSendManyTransactionV2_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ArchiveService_GetIdentityTransfersInTickRangeV2_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/qubic.archiver.archive.pb.ArchiveService/GetIdentityTransfersInTickRangeV2", runtime.WithHTTPPathPattern("/v2/identity/{identity}/transfers")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ArchiveService_GetIdentityTransfersInTickRangeV2_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ArchiveService_GetIdentityTransfersInTickRangeV2_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + mux.Handle("GET", pattern_ArchiveService_GetTickData_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() @@ -1381,6 +1827,94 @@ func RegisterArchiveServiceHandler(ctx context.Context, mux *runtime.ServeMux, c // "ArchiveServiceClient" to call the correct interceptors. func RegisterArchiveServiceHandlerClient(ctx context.Context, mux *runtime.ServeMux, client ArchiveServiceClient) error { + mux.Handle("GET", pattern_ArchiveService_GetLatestTickV2_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/qubic.archiver.archive.pb.ArchiveService/GetLatestTickV2", runtime.WithHTTPPathPattern("/v2/tick/latest")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_ArchiveService_GetLatestTickV2_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ArchiveService_GetLatestTickV2_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ArchiveService_GetTickQuorumDataV2_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/qubic.archiver.archive.pb.ArchiveService/GetTickQuorumDataV2", runtime.WithHTTPPathPattern("/v2/tick/{tick_number}/quorum-data")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_ArchiveService_GetTickQuorumDataV2_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ArchiveService_GetTickQuorumDataV2_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ArchiveService_GetTickChainHashV2_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/qubic.archiver.archive.pb.ArchiveService/GetTickChainHashV2", runtime.WithHTTPPathPattern("/v2/tick/{tick_number}/hash")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_ArchiveService_GetTickChainHashV2_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ArchiveService_GetTickChainHashV2_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ArchiveService_GetTickStoreHashV2_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/qubic.archiver.archive.pb.ArchiveService/GetTickStoreHashV2", runtime.WithHTTPPathPattern("/v2/tick/{tick_number}/store-hash")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_ArchiveService_GetTickStoreHashV2_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ArchiveService_GetTickStoreHashV2_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + mux.Handle("GET", pattern_ArchiveService_GetAllTickTransactionsV2_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() @@ -1469,6 +2003,50 @@ func RegisterArchiveServiceHandlerClient(ctx context.Context, mux *runtime.Serve }) + mux.Handle("GET", pattern_ArchiveService_GetSendManyTransactionV2_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/qubic.archiver.archive.pb.ArchiveService/GetSendManyTransactionV2", runtime.WithHTTPPathPattern("/v2/transaction/{tx_id}/sendmany")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_ArchiveService_GetSendManyTransactionV2_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ArchiveService_GetSendManyTransactionV2_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ArchiveService_GetIdentityTransfersInTickRangeV2_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/qubic.archiver.archive.pb.ArchiveService/GetIdentityTransfersInTickRangeV2", runtime.WithHTTPPathPattern("/v2/identity/{identity}/transfers")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_ArchiveService_GetIdentityTransfersInTickRangeV2_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ArchiveService_GetIdentityTransfersInTickRangeV2_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + mux.Handle("GET", pattern_ArchiveService_GetTickData_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() @@ -1781,6 +2359,14 @@ func RegisterArchiveServiceHandlerClient(ctx context.Context, mux *runtime.Serve } var ( + pattern_ArchiveService_GetLatestTickV2_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"v2", "tick", "latest"}, "")) + + pattern_ArchiveService_GetTickQuorumDataV2_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3}, []string{"v2", "tick", "tick_number", "quorum-data"}, "")) + + pattern_ArchiveService_GetTickChainHashV2_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3}, []string{"v2", "tick", "tick_number", "hash"}, "")) + + pattern_ArchiveService_GetTickStoreHashV2_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3}, []string{"v2", "tick", "tick_number", "store-hash"}, "")) + pattern_ArchiveService_GetAllTickTransactionsV2_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3}, []string{"v2", "tick", "tick_number", "transactions"}, "")) pattern_ArchiveService_GetTransferTickTransactionsV2_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3, 2, 4}, []string{"v2", "tick", "tick_number", "transactions", "transfers"}, "")) @@ -1789,6 +2375,10 @@ var ( pattern_ArchiveService_GetTransactionV2_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2}, []string{"v2", "transaction", "tx_id"}, "")) + pattern_ArchiveService_GetSendManyTransactionV2_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3}, []string{"v2", "transaction", "tx_id", "sendmany"}, "")) + + pattern_ArchiveService_GetIdentityTransfersInTickRangeV2_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"v2", "identity", "transfers"}, "")) + pattern_ArchiveService_GetTickData_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3}, []string{"v1", "ticks", "tick_number", "tick-data"}, "")) pattern_ArchiveService_GetQuorumTickData_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3}, []string{"v1", "ticks", "tick_number", "quorum-tick-data"}, "")) @@ -1819,6 +2409,14 @@ var ( ) var ( + forward_ArchiveService_GetLatestTickV2_0 = runtime.ForwardResponseMessage + + forward_ArchiveService_GetTickQuorumDataV2_0 = runtime.ForwardResponseMessage + + forward_ArchiveService_GetTickChainHashV2_0 = runtime.ForwardResponseMessage + + forward_ArchiveService_GetTickStoreHashV2_0 = runtime.ForwardResponseMessage + forward_ArchiveService_GetAllTickTransactionsV2_0 = runtime.ForwardResponseMessage forward_ArchiveService_GetTransferTickTransactionsV2_0 = runtime.ForwardResponseMessage @@ -1827,6 +2425,10 @@ var ( forward_ArchiveService_GetTransactionV2_0 = runtime.ForwardResponseMessage + forward_ArchiveService_GetSendManyTransactionV2_0 = runtime.ForwardResponseMessage + + forward_ArchiveService_GetIdentityTransfersInTickRangeV2_0 = runtime.ForwardResponseMessage + forward_ArchiveService_GetTickData_0 = runtime.ForwardResponseMessage forward_ArchiveService_GetQuorumTickData_0 = runtime.ForwardResponseMessage diff --git a/protobuff/archive.proto b/protobuff/archive.proto index 3dcda21..c71b240 100644 --- a/protobuff/archive.proto +++ b/protobuff/archive.proto @@ -165,10 +165,6 @@ message GetHealthCheckResponse { bool status = 1; } -message GetLatestTickResponse { - uint32 latest_tick = 1; -} - message GetTransferTransactionsPerTickRequest { string identity = 1; uint32 start_tick = 2; @@ -197,6 +193,67 @@ message ProcessedTickIntervalsPerEpoch { repeated ProcessedTickInterval intervals = 2; } +message Tick { + uint32 computor_index = 1; + uint32 epoch = 2; + uint32 tick_number = 3; + uint64 timestamp = 4; + bytes var_struct = 5; //Will change to return with unmarshalled info + bytes time_lock = 6; + repeated string transaction_ids = 7; + repeated int64 contract_fees = 8; + string signature_hex = 9; +} + +message GetTickResponseV2 { + Tick tick_Data = 1; +} + +message PerTickIdentityTransfers { + uint32 tick_number = 1; + string identity = 2; + repeated TransactionData transactions = 3; +} + +message GetIdentityTransfersInTickRangeResponseV2 { + repeated PerTickIdentityTransfers transactions = 1; +} + +//SendMany Transaction +message SendManyTransfer { + string dest_id = 1; + int64 amount = 2; +} + +message SendManyTransaction { + string source_id = 1; + uint32 tick_number = 2; + repeated SendManyTransfer transfers = 3; + int64 total_amount = 4; + string signature_hex = 5; + string tx_id = 6; +} + +//Wrapper around send many transaction and additional data +message SendManyTransactionData { + SendManyTransaction transaction = 2; + uint64 timestamp = 3; + bool money_flew = 4; +} + +message GetSendManyTransactionRequestV2 { + string tx_id = 1; +} + +message GetSendManyTransactionResponseV2 { + SendManyTransaction transaction = 2; + uint64 timestamp = 3; + bool money_flew = 4; +} + + +//Normal Transaction + // Wrapper around transaction and additional data message TransactionData { Transaction transaction = 1; @@ -206,8 +263,14 @@ message TransactionData { //Ticks +// Latest Tick + +message GetLatestTickResponseV2 { + uint32 latest_tick = 1; +} + // Tick Transactions -message GetTickTransactionsRequestV2 { +message GetTickRequestV2 { uint32 tick_number = 1; } message GetTickTransactionsResponseV2 { @@ -228,30 +291,83 @@ message GetTransactionResponseV2 { service ArchiveService { - //Tick - rpc GetAllTickTransactionsV2(GetTickTransactionsRequestV2) returns (GetTickTransactionsResponseV2){ + // Latest Tick + rpc GetLatestTickV2(google.protobuf.Empty) returns (GetLatestTickResponseV2){ + option (google.api.http) = { + get: "/v2/tick/latest" + }; + }; + + // General data - To be released at a later date + /*rpc GetTickV2(GetTickRequestV2) returns (GetTickResponseV2) { + option (google.api.http) = { + get: "/v2/tick/{tick_number}" + }; + };*/ + + // Quorum data + rpc GetTickQuorumDataV2(GetTickRequestV2) returns (GetQuorumTickDataResponse) { // Uses V1 response + option (google.api.http) = { + get: "/v2/tick/{tick_number}/quorum-data" + }; + }; + + // Chain hash + rpc GetTickChainHashV2(GetTickRequestV2) returns (GetChainHashResponse) { // Uses V1 response + option (google.api.http) = { + get: "/v2/tick/{tick_number}/hash" + }; + } + + // Store hash + rpc GetTickStoreHashV2(GetTickRequestV2) returns (GetChainHashResponse) { // Uses V1 response + option (google.api.http) = { + get: "/v2/tick/{tick_number}/store-hash" + }; + } + + + // Tick transactions + rpc GetAllTickTransactionsV2(GetTickRequestV2) returns (GetTickTransactionsResponseV2){ option (google.api.http) = { get: "/v2/tick/{tick_number}/transactions" }; }; - rpc GetTransferTickTransactionsV2(GetTickTransactionsRequestV2) returns (GetTickTransactionsResponseV2){ + rpc GetTransferTickTransactionsV2(GetTickRequestV2) returns (GetTickTransactionsResponseV2){ option (google.api.http) = { get: "/v2/tick/{tick_number}/transactions/transfers" }; }; - rpc GetApprovedTickTransactionsV2(GetTickTransactionsRequestV2) returns (GetTickTransactionsResponseV2){ + rpc GetApprovedTickTransactionsV2(GetTickRequestV2) returns (GetTickTransactionsResponseV2){ option (google.api.http) = { get: "/v2/tick/{tick_number}/transactions/transfers/approved" }; }; //Transaction + + //Normal rpc GetTransactionV2(GetTransactionRequestV2) returns (GetTransactionResponseV2) { option (google.api.http) = { get: "/v2/transaction/{tx_id}" }; }; + //SendMany + rpc GetSendManyTransactionV2(GetSendManyTransactionRequestV2) returns (GetSendManyTransactionResponseV2) { + option (google.api.http) = { + get: "/v2/transaction/{tx_id}/sendmany" + }; + }; + + //Identity + rpc GetIdentityTransfersInTickRangeV2(GetTransferTransactionsPerTickRequest) returns (GetIdentityTransfersInTickRangeResponseV2) { // Uses V1 request + option (google.api.http) = { + get: "/v2/identity/{identity}/transfers" + }; + }; + + //V1 Endpoints rpc GetTickData(GetTickDataRequest) returns (GetTickDataResponse){ option (google.api.http) = { get: "/v1/ticks/{tick_number}/tick-data" @@ -319,7 +435,7 @@ service ArchiveService { }; }; - rpc GetLatestTick(google.protobuf.Empty) returns (GetLatestTickResponse) { + rpc GetLatestTick(google.protobuf.Empty) returns (GetLatestTickResponseV2) { option (google.api.http) = { get: "/v1/latestTick" }; diff --git a/protobuff/archive_grpc.pb.go b/protobuff/archive_grpc.pb.go index 55ec445..b0cdc6b 100644 --- a/protobuff/archive_grpc.pb.go +++ b/protobuff/archive_grpc.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: // - protoc-gen-go-grpc v1.3.0 -// - protoc v4.25.3 +// - protoc v5.27.1 // source: archive.proto package protobuff @@ -20,36 +20,55 @@ import ( const _ = grpc.SupportPackageIsVersion7 const ( - ArchiveService_GetAllTickTransactionsV2_FullMethodName = "/qubic.archiver.archive.pb.ArchiveService/GetAllTickTransactionsV2" - ArchiveService_GetTransferTickTransactionsV2_FullMethodName = "/qubic.archiver.archive.pb.ArchiveService/GetTransferTickTransactionsV2" - ArchiveService_GetApprovedTickTransactionsV2_FullMethodName = "/qubic.archiver.archive.pb.ArchiveService/GetApprovedTickTransactionsV2" - ArchiveService_GetTransactionV2_FullMethodName = "/qubic.archiver.archive.pb.ArchiveService/GetTransactionV2" - ArchiveService_GetTickData_FullMethodName = "/qubic.archiver.archive.pb.ArchiveService/GetTickData" - ArchiveService_GetQuorumTickData_FullMethodName = "/qubic.archiver.archive.pb.ArchiveService/GetQuorumTickData" - ArchiveService_GetTickTransactions_FullMethodName = "/qubic.archiver.archive.pb.ArchiveService/GetTickTransactions" - ArchiveService_GetTickTransferTransactions_FullMethodName = "/qubic.archiver.archive.pb.ArchiveService/GetTickTransferTransactions" - ArchiveService_GetTickApprovedTransactions_FullMethodName = "/qubic.archiver.archive.pb.ArchiveService/GetTickApprovedTransactions" - ArchiveService_GetChainHash_FullMethodName = "/qubic.archiver.archive.pb.ArchiveService/GetChainHash" - ArchiveService_GetStoreHash_FullMethodName = "/qubic.archiver.archive.pb.ArchiveService/GetStoreHash" - ArchiveService_GetTransaction_FullMethodName = "/qubic.archiver.archive.pb.ArchiveService/GetTransaction" - ArchiveService_GetTransactionStatus_FullMethodName = "/qubic.archiver.archive.pb.ArchiveService/GetTransactionStatus" - ArchiveService_GetTransferTransactionsPerTick_FullMethodName = "/qubic.archiver.archive.pb.ArchiveService/GetTransferTransactionsPerTick" - ArchiveService_GetComputors_FullMethodName = "/qubic.archiver.archive.pb.ArchiveService/GetComputors" - ArchiveService_GetStatus_FullMethodName = "/qubic.archiver.archive.pb.ArchiveService/GetStatus" - ArchiveService_GetLatestTick_FullMethodName = "/qubic.archiver.archive.pb.ArchiveService/GetLatestTick" - ArchiveService_GetHealthCheck_FullMethodName = "/qubic.archiver.archive.pb.ArchiveService/GetHealthCheck" + ArchiveService_GetLatestTickV2_FullMethodName = "/qubic.archiver.archive.pb.ArchiveService/GetLatestTickV2" + ArchiveService_GetTickQuorumDataV2_FullMethodName = "/qubic.archiver.archive.pb.ArchiveService/GetTickQuorumDataV2" + ArchiveService_GetTickChainHashV2_FullMethodName = "/qubic.archiver.archive.pb.ArchiveService/GetTickChainHashV2" + ArchiveService_GetTickStoreHashV2_FullMethodName = "/qubic.archiver.archive.pb.ArchiveService/GetTickStoreHashV2" + ArchiveService_GetAllTickTransactionsV2_FullMethodName = "/qubic.archiver.archive.pb.ArchiveService/GetAllTickTransactionsV2" + ArchiveService_GetTransferTickTransactionsV2_FullMethodName = "/qubic.archiver.archive.pb.ArchiveService/GetTransferTickTransactionsV2" + ArchiveService_GetApprovedTickTransactionsV2_FullMethodName = "/qubic.archiver.archive.pb.ArchiveService/GetApprovedTickTransactionsV2" + ArchiveService_GetTransactionV2_FullMethodName = "/qubic.archiver.archive.pb.ArchiveService/GetTransactionV2" + ArchiveService_GetSendManyTransactionV2_FullMethodName = "/qubic.archiver.archive.pb.ArchiveService/GetSendManyTransactionV2" + ArchiveService_GetIdentityTransfersInTickRangeV2_FullMethodName = "/qubic.archiver.archive.pb.ArchiveService/GetIdentityTransfersInTickRangeV2" + ArchiveService_GetTickData_FullMethodName = "/qubic.archiver.archive.pb.ArchiveService/GetTickData" + ArchiveService_GetQuorumTickData_FullMethodName = "/qubic.archiver.archive.pb.ArchiveService/GetQuorumTickData" + ArchiveService_GetTickTransactions_FullMethodName = "/qubic.archiver.archive.pb.ArchiveService/GetTickTransactions" + ArchiveService_GetTickTransferTransactions_FullMethodName = "/qubic.archiver.archive.pb.ArchiveService/GetTickTransferTransactions" + ArchiveService_GetTickApprovedTransactions_FullMethodName = "/qubic.archiver.archive.pb.ArchiveService/GetTickApprovedTransactions" + ArchiveService_GetChainHash_FullMethodName = "/qubic.archiver.archive.pb.ArchiveService/GetChainHash" + ArchiveService_GetStoreHash_FullMethodName = "/qubic.archiver.archive.pb.ArchiveService/GetStoreHash" + ArchiveService_GetTransaction_FullMethodName = "/qubic.archiver.archive.pb.ArchiveService/GetTransaction" + ArchiveService_GetTransactionStatus_FullMethodName = "/qubic.archiver.archive.pb.ArchiveService/GetTransactionStatus" + ArchiveService_GetTransferTransactionsPerTick_FullMethodName = "/qubic.archiver.archive.pb.ArchiveService/GetTransferTransactionsPerTick" + ArchiveService_GetComputors_FullMethodName = "/qubic.archiver.archive.pb.ArchiveService/GetComputors" + ArchiveService_GetStatus_FullMethodName = "/qubic.archiver.archive.pb.ArchiveService/GetStatus" + ArchiveService_GetLatestTick_FullMethodName = "/qubic.archiver.archive.pb.ArchiveService/GetLatestTick" + ArchiveService_GetHealthCheck_FullMethodName = "/qubic.archiver.archive.pb.ArchiveService/GetHealthCheck" ) // ArchiveServiceClient is the client API for ArchiveService service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. type ArchiveServiceClient interface { - // Tick - GetAllTickTransactionsV2(ctx context.Context, in *GetTickTransactionsRequestV2, opts ...grpc.CallOption) (*GetTickTransactionsResponseV2, error) - GetTransferTickTransactionsV2(ctx context.Context, in *GetTickTransactionsRequestV2, opts ...grpc.CallOption) (*GetTickTransactionsResponseV2, error) - GetApprovedTickTransactionsV2(ctx context.Context, in *GetTickTransactionsRequestV2, opts ...grpc.CallOption) (*GetTickTransactionsResponseV2, error) - // Transaction + // Latest Tick + GetLatestTickV2(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetLatestTickResponseV2, error) + // Quorum data + GetTickQuorumDataV2(ctx context.Context, in *GetTickRequestV2, opts ...grpc.CallOption) (*GetQuorumTickDataResponse, error) + // Chain hash + GetTickChainHashV2(ctx context.Context, in *GetTickRequestV2, opts ...grpc.CallOption) (*GetChainHashResponse, error) + // Store hash + GetTickStoreHashV2(ctx context.Context, in *GetTickRequestV2, opts ...grpc.CallOption) (*GetChainHashResponse, error) + // Tick transactions + GetAllTickTransactionsV2(ctx context.Context, in *GetTickRequestV2, opts ...grpc.CallOption) (*GetTickTransactionsResponseV2, error) + GetTransferTickTransactionsV2(ctx context.Context, in *GetTickRequestV2, opts ...grpc.CallOption) (*GetTickTransactionsResponseV2, error) + GetApprovedTickTransactionsV2(ctx context.Context, in *GetTickRequestV2, opts ...grpc.CallOption) (*GetTickTransactionsResponseV2, error) + // Normal GetTransactionV2(ctx context.Context, in *GetTransactionRequestV2, opts ...grpc.CallOption) (*GetTransactionResponseV2, error) + // SendMany + GetSendManyTransactionV2(ctx context.Context, in *GetSendManyTransactionRequestV2, opts ...grpc.CallOption) (*GetSendManyTransactionResponseV2, error) + // Identity + GetIdentityTransfersInTickRangeV2(ctx context.Context, in *GetTransferTransactionsPerTickRequest, opts ...grpc.CallOption) (*GetIdentityTransfersInTickRangeResponseV2, error) + // V1 Endpoints GetTickData(ctx context.Context, in *GetTickDataRequest, opts ...grpc.CallOption) (*GetTickDataResponse, error) GetQuorumTickData(ctx context.Context, in *GetQuorumTickDataRequest, opts ...grpc.CallOption) (*GetQuorumTickDataResponse, error) GetTickTransactions(ctx context.Context, in *GetTickTransactionsRequest, opts ...grpc.CallOption) (*GetTickTransactionsResponse, error) @@ -62,7 +81,7 @@ type ArchiveServiceClient interface { GetTransferTransactionsPerTick(ctx context.Context, in *GetTransferTransactionsPerTickRequest, opts ...grpc.CallOption) (*GetTransferTransactionsPerTickResponse, error) GetComputors(ctx context.Context, in *GetComputorsRequest, opts ...grpc.CallOption) (*GetComputorsResponse, error) GetStatus(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetStatusResponse, error) - GetLatestTick(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetLatestTickResponse, error) + GetLatestTick(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetLatestTickResponseV2, error) GetHealthCheck(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetHealthCheckResponse, error) } @@ -74,7 +93,43 @@ func NewArchiveServiceClient(cc grpc.ClientConnInterface) ArchiveServiceClient { return &archiveServiceClient{cc} } -func (c *archiveServiceClient) GetAllTickTransactionsV2(ctx context.Context, in *GetTickTransactionsRequestV2, opts ...grpc.CallOption) (*GetTickTransactionsResponseV2, error) { +func (c *archiveServiceClient) GetLatestTickV2(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetLatestTickResponseV2, error) { + out := new(GetLatestTickResponseV2) + err := c.cc.Invoke(ctx, ArchiveService_GetLatestTickV2_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *archiveServiceClient) GetTickQuorumDataV2(ctx context.Context, in *GetTickRequestV2, opts ...grpc.CallOption) (*GetQuorumTickDataResponse, error) { + out := new(GetQuorumTickDataResponse) + err := c.cc.Invoke(ctx, ArchiveService_GetTickQuorumDataV2_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *archiveServiceClient) GetTickChainHashV2(ctx context.Context, in *GetTickRequestV2, opts ...grpc.CallOption) (*GetChainHashResponse, error) { + out := new(GetChainHashResponse) + err := c.cc.Invoke(ctx, ArchiveService_GetTickChainHashV2_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *archiveServiceClient) GetTickStoreHashV2(ctx context.Context, in *GetTickRequestV2, opts ...grpc.CallOption) (*GetChainHashResponse, error) { + out := new(GetChainHashResponse) + err := c.cc.Invoke(ctx, ArchiveService_GetTickStoreHashV2_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *archiveServiceClient) GetAllTickTransactionsV2(ctx context.Context, in *GetTickRequestV2, opts ...grpc.CallOption) (*GetTickTransactionsResponseV2, error) { out := new(GetTickTransactionsResponseV2) err := c.cc.Invoke(ctx, ArchiveService_GetAllTickTransactionsV2_FullMethodName, in, out, opts...) if err != nil { @@ -83,7 +138,7 @@ func (c *archiveServiceClient) GetAllTickTransactionsV2(ctx context.Context, in return out, nil } -func (c *archiveServiceClient) GetTransferTickTransactionsV2(ctx context.Context, in *GetTickTransactionsRequestV2, opts ...grpc.CallOption) (*GetTickTransactionsResponseV2, error) { +func (c *archiveServiceClient) GetTransferTickTransactionsV2(ctx context.Context, in *GetTickRequestV2, opts ...grpc.CallOption) (*GetTickTransactionsResponseV2, error) { out := new(GetTickTransactionsResponseV2) err := c.cc.Invoke(ctx, ArchiveService_GetTransferTickTransactionsV2_FullMethodName, in, out, opts...) if err != nil { @@ -92,7 +147,7 @@ func (c *archiveServiceClient) GetTransferTickTransactionsV2(ctx context.Context return out, nil } -func (c *archiveServiceClient) GetApprovedTickTransactionsV2(ctx context.Context, in *GetTickTransactionsRequestV2, opts ...grpc.CallOption) (*GetTickTransactionsResponseV2, error) { +func (c *archiveServiceClient) GetApprovedTickTransactionsV2(ctx context.Context, in *GetTickRequestV2, opts ...grpc.CallOption) (*GetTickTransactionsResponseV2, error) { out := new(GetTickTransactionsResponseV2) err := c.cc.Invoke(ctx, ArchiveService_GetApprovedTickTransactionsV2_FullMethodName, in, out, opts...) if err != nil { @@ -110,6 +165,24 @@ func (c *archiveServiceClient) GetTransactionV2(ctx context.Context, in *GetTran return out, nil } +func (c *archiveServiceClient) GetSendManyTransactionV2(ctx context.Context, in *GetSendManyTransactionRequestV2, opts ...grpc.CallOption) (*GetSendManyTransactionResponseV2, error) { + out := new(GetSendManyTransactionResponseV2) + err := c.cc.Invoke(ctx, ArchiveService_GetSendManyTransactionV2_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *archiveServiceClient) GetIdentityTransfersInTickRangeV2(ctx context.Context, in *GetTransferTransactionsPerTickRequest, opts ...grpc.CallOption) (*GetIdentityTransfersInTickRangeResponseV2, error) { + out := new(GetIdentityTransfersInTickRangeResponseV2) + err := c.cc.Invoke(ctx, ArchiveService_GetIdentityTransfersInTickRangeV2_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *archiveServiceClient) GetTickData(ctx context.Context, in *GetTickDataRequest, opts ...grpc.CallOption) (*GetTickDataResponse, error) { out := new(GetTickDataResponse) err := c.cc.Invoke(ctx, ArchiveService_GetTickData_FullMethodName, in, out, opts...) @@ -218,8 +291,8 @@ func (c *archiveServiceClient) GetStatus(ctx context.Context, in *emptypb.Empty, return out, nil } -func (c *archiveServiceClient) GetLatestTick(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetLatestTickResponse, error) { - out := new(GetLatestTickResponse) +func (c *archiveServiceClient) GetLatestTick(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetLatestTickResponseV2, error) { + out := new(GetLatestTickResponseV2) err := c.cc.Invoke(ctx, ArchiveService_GetLatestTick_FullMethodName, in, out, opts...) if err != nil { return nil, err @@ -240,12 +313,25 @@ func (c *archiveServiceClient) GetHealthCheck(ctx context.Context, in *emptypb.E // All implementations must embed UnimplementedArchiveServiceServer // for forward compatibility type ArchiveServiceServer interface { - // Tick - GetAllTickTransactionsV2(context.Context, *GetTickTransactionsRequestV2) (*GetTickTransactionsResponseV2, error) - GetTransferTickTransactionsV2(context.Context, *GetTickTransactionsRequestV2) (*GetTickTransactionsResponseV2, error) - GetApprovedTickTransactionsV2(context.Context, *GetTickTransactionsRequestV2) (*GetTickTransactionsResponseV2, error) - // Transaction + // Latest Tick + GetLatestTickV2(context.Context, *emptypb.Empty) (*GetLatestTickResponseV2, error) + // Quorum data + GetTickQuorumDataV2(context.Context, *GetTickRequestV2) (*GetQuorumTickDataResponse, error) + // Chain hash + GetTickChainHashV2(context.Context, *GetTickRequestV2) (*GetChainHashResponse, error) + // Store hash + GetTickStoreHashV2(context.Context, *GetTickRequestV2) (*GetChainHashResponse, error) + // Tick transactions + GetAllTickTransactionsV2(context.Context, *GetTickRequestV2) (*GetTickTransactionsResponseV2, error) + GetTransferTickTransactionsV2(context.Context, *GetTickRequestV2) (*GetTickTransactionsResponseV2, error) + GetApprovedTickTransactionsV2(context.Context, *GetTickRequestV2) (*GetTickTransactionsResponseV2, error) + // Normal GetTransactionV2(context.Context, *GetTransactionRequestV2) (*GetTransactionResponseV2, error) + // SendMany + GetSendManyTransactionV2(context.Context, *GetSendManyTransactionRequestV2) (*GetSendManyTransactionResponseV2, error) + // Identity + GetIdentityTransfersInTickRangeV2(context.Context, *GetTransferTransactionsPerTickRequest) (*GetIdentityTransfersInTickRangeResponseV2, error) + // V1 Endpoints GetTickData(context.Context, *GetTickDataRequest) (*GetTickDataResponse, error) GetQuorumTickData(context.Context, *GetQuorumTickDataRequest) (*GetQuorumTickDataResponse, error) GetTickTransactions(context.Context, *GetTickTransactionsRequest) (*GetTickTransactionsResponse, error) @@ -258,7 +344,7 @@ type ArchiveServiceServer interface { GetTransferTransactionsPerTick(context.Context, *GetTransferTransactionsPerTickRequest) (*GetTransferTransactionsPerTickResponse, error) GetComputors(context.Context, *GetComputorsRequest) (*GetComputorsResponse, error) GetStatus(context.Context, *emptypb.Empty) (*GetStatusResponse, error) - GetLatestTick(context.Context, *emptypb.Empty) (*GetLatestTickResponse, error) + GetLatestTick(context.Context, *emptypb.Empty) (*GetLatestTickResponseV2, error) GetHealthCheck(context.Context, *emptypb.Empty) (*GetHealthCheckResponse, error) mustEmbedUnimplementedArchiveServiceServer() } @@ -267,18 +353,36 @@ type ArchiveServiceServer interface { type UnimplementedArchiveServiceServer struct { } -func (UnimplementedArchiveServiceServer) GetAllTickTransactionsV2(context.Context, *GetTickTransactionsRequestV2) (*GetTickTransactionsResponseV2, error) { +func (UnimplementedArchiveServiceServer) GetLatestTickV2(context.Context, *emptypb.Empty) (*GetLatestTickResponseV2, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetLatestTickV2 not implemented") +} +func (UnimplementedArchiveServiceServer) GetTickQuorumDataV2(context.Context, *GetTickRequestV2) (*GetQuorumTickDataResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetTickQuorumDataV2 not implemented") +} +func (UnimplementedArchiveServiceServer) GetTickChainHashV2(context.Context, *GetTickRequestV2) (*GetChainHashResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetTickChainHashV2 not implemented") +} +func (UnimplementedArchiveServiceServer) GetTickStoreHashV2(context.Context, *GetTickRequestV2) (*GetChainHashResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetTickStoreHashV2 not implemented") +} +func (UnimplementedArchiveServiceServer) GetAllTickTransactionsV2(context.Context, *GetTickRequestV2) (*GetTickTransactionsResponseV2, error) { return nil, status.Errorf(codes.Unimplemented, "method GetAllTickTransactionsV2 not implemented") } -func (UnimplementedArchiveServiceServer) GetTransferTickTransactionsV2(context.Context, *GetTickTransactionsRequestV2) (*GetTickTransactionsResponseV2, error) { +func (UnimplementedArchiveServiceServer) GetTransferTickTransactionsV2(context.Context, *GetTickRequestV2) (*GetTickTransactionsResponseV2, error) { return nil, status.Errorf(codes.Unimplemented, "method GetTransferTickTransactionsV2 not implemented") } -func (UnimplementedArchiveServiceServer) GetApprovedTickTransactionsV2(context.Context, *GetTickTransactionsRequestV2) (*GetTickTransactionsResponseV2, error) { +func (UnimplementedArchiveServiceServer) GetApprovedTickTransactionsV2(context.Context, *GetTickRequestV2) (*GetTickTransactionsResponseV2, error) { return nil, status.Errorf(codes.Unimplemented, "method GetApprovedTickTransactionsV2 not implemented") } func (UnimplementedArchiveServiceServer) GetTransactionV2(context.Context, *GetTransactionRequestV2) (*GetTransactionResponseV2, error) { return nil, status.Errorf(codes.Unimplemented, "method GetTransactionV2 not implemented") } +func (UnimplementedArchiveServiceServer) GetSendManyTransactionV2(context.Context, *GetSendManyTransactionRequestV2) (*GetSendManyTransactionResponseV2, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetSendManyTransactionV2 not implemented") +} +func (UnimplementedArchiveServiceServer) GetIdentityTransfersInTickRangeV2(context.Context, *GetTransferTransactionsPerTickRequest) (*GetIdentityTransfersInTickRangeResponseV2, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetIdentityTransfersInTickRangeV2 not implemented") +} func (UnimplementedArchiveServiceServer) GetTickData(context.Context, *GetTickDataRequest) (*GetTickDataResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method GetTickData not implemented") } @@ -315,7 +419,7 @@ func (UnimplementedArchiveServiceServer) GetComputors(context.Context, *GetCompu func (UnimplementedArchiveServiceServer) GetStatus(context.Context, *emptypb.Empty) (*GetStatusResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method GetStatus not implemented") } -func (UnimplementedArchiveServiceServer) GetLatestTick(context.Context, *emptypb.Empty) (*GetLatestTickResponse, error) { +func (UnimplementedArchiveServiceServer) GetLatestTick(context.Context, *emptypb.Empty) (*GetLatestTickResponseV2, error) { return nil, status.Errorf(codes.Unimplemented, "method GetLatestTick not implemented") } func (UnimplementedArchiveServiceServer) GetHealthCheck(context.Context, *emptypb.Empty) (*GetHealthCheckResponse, error) { @@ -334,8 +438,80 @@ func RegisterArchiveServiceServer(s grpc.ServiceRegistrar, srv ArchiveServiceSer s.RegisterService(&ArchiveService_ServiceDesc, srv) } +func _ArchiveService_GetLatestTickV2_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(emptypb.Empty) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ArchiveServiceServer).GetLatestTickV2(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ArchiveService_GetLatestTickV2_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ArchiveServiceServer).GetLatestTickV2(ctx, req.(*emptypb.Empty)) + } + return interceptor(ctx, in, info, handler) +} + +func _ArchiveService_GetTickQuorumDataV2_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetTickRequestV2) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ArchiveServiceServer).GetTickQuorumDataV2(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ArchiveService_GetTickQuorumDataV2_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ArchiveServiceServer).GetTickQuorumDataV2(ctx, req.(*GetTickRequestV2)) + } + return interceptor(ctx, in, info, handler) +} + +func _ArchiveService_GetTickChainHashV2_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetTickRequestV2) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ArchiveServiceServer).GetTickChainHashV2(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ArchiveService_GetTickChainHashV2_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ArchiveServiceServer).GetTickChainHashV2(ctx, req.(*GetTickRequestV2)) + } + return interceptor(ctx, in, info, handler) +} + +func _ArchiveService_GetTickStoreHashV2_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetTickRequestV2) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ArchiveServiceServer).GetTickStoreHashV2(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ArchiveService_GetTickStoreHashV2_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ArchiveServiceServer).GetTickStoreHashV2(ctx, req.(*GetTickRequestV2)) + } + return interceptor(ctx, in, info, handler) +} + func _ArchiveService_GetAllTickTransactionsV2_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetTickTransactionsRequestV2) + in := new(GetTickRequestV2) if err := dec(in); err != nil { return nil, err } @@ -347,13 +523,13 @@ func _ArchiveService_GetAllTickTransactionsV2_Handler(srv interface{}, ctx conte FullMethod: ArchiveService_GetAllTickTransactionsV2_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(ArchiveServiceServer).GetAllTickTransactionsV2(ctx, req.(*GetTickTransactionsRequestV2)) + return srv.(ArchiveServiceServer).GetAllTickTransactionsV2(ctx, req.(*GetTickRequestV2)) } return interceptor(ctx, in, info, handler) } func _ArchiveService_GetTransferTickTransactionsV2_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetTickTransactionsRequestV2) + in := new(GetTickRequestV2) if err := dec(in); err != nil { return nil, err } @@ -365,13 +541,13 @@ func _ArchiveService_GetTransferTickTransactionsV2_Handler(srv interface{}, ctx FullMethod: ArchiveService_GetTransferTickTransactionsV2_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(ArchiveServiceServer).GetTransferTickTransactionsV2(ctx, req.(*GetTickTransactionsRequestV2)) + return srv.(ArchiveServiceServer).GetTransferTickTransactionsV2(ctx, req.(*GetTickRequestV2)) } return interceptor(ctx, in, info, handler) } func _ArchiveService_GetApprovedTickTransactionsV2_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetTickTransactionsRequestV2) + in := new(GetTickRequestV2) if err := dec(in); err != nil { return nil, err } @@ -383,7 +559,7 @@ func _ArchiveService_GetApprovedTickTransactionsV2_Handler(srv interface{}, ctx FullMethod: ArchiveService_GetApprovedTickTransactionsV2_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(ArchiveServiceServer).GetApprovedTickTransactionsV2(ctx, req.(*GetTickTransactionsRequestV2)) + return srv.(ArchiveServiceServer).GetApprovedTickTransactionsV2(ctx, req.(*GetTickRequestV2)) } return interceptor(ctx, in, info, handler) } @@ -406,6 +582,42 @@ func _ArchiveService_GetTransactionV2_Handler(srv interface{}, ctx context.Conte return interceptor(ctx, in, info, handler) } +func _ArchiveService_GetSendManyTransactionV2_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetSendManyTransactionRequestV2) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ArchiveServiceServer).GetSendManyTransactionV2(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ArchiveService_GetSendManyTransactionV2_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ArchiveServiceServer).GetSendManyTransactionV2(ctx, req.(*GetSendManyTransactionRequestV2)) + } + return interceptor(ctx, in, info, handler) +} + +func _ArchiveService_GetIdentityTransfersInTickRangeV2_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetTransferTransactionsPerTickRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ArchiveServiceServer).GetIdentityTransfersInTickRangeV2(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ArchiveService_GetIdentityTransfersInTickRangeV2_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ArchiveServiceServer).GetIdentityTransfersInTickRangeV2(ctx, req.(*GetTransferTransactionsPerTickRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _ArchiveService_GetTickData_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(GetTickDataRequest) if err := dec(in); err != nil { @@ -665,6 +877,22 @@ var ArchiveService_ServiceDesc = grpc.ServiceDesc{ ServiceName: "qubic.archiver.archive.pb.ArchiveService", HandlerType: (*ArchiveServiceServer)(nil), Methods: []grpc.MethodDesc{ + { + MethodName: "GetLatestTickV2", + Handler: _ArchiveService_GetLatestTickV2_Handler, + }, + { + MethodName: "GetTickQuorumDataV2", + Handler: _ArchiveService_GetTickQuorumDataV2_Handler, + }, + { + MethodName: "GetTickChainHashV2", + Handler: _ArchiveService_GetTickChainHashV2_Handler, + }, + { + MethodName: "GetTickStoreHashV2", + Handler: _ArchiveService_GetTickStoreHashV2_Handler, + }, { MethodName: "GetAllTickTransactionsV2", Handler: _ArchiveService_GetAllTickTransactionsV2_Handler, @@ -681,6 +909,14 @@ var ArchiveService_ServiceDesc = grpc.ServiceDesc{ MethodName: "GetTransactionV2", Handler: _ArchiveService_GetTransactionV2_Handler, }, + { + MethodName: "GetSendManyTransactionV2", + Handler: _ArchiveService_GetSendManyTransactionV2_Handler, + }, + { + MethodName: "GetIdentityTransfersInTickRangeV2", + Handler: _ArchiveService_GetIdentityTransfersInTickRangeV2_Handler, + }, { MethodName: "GetTickData", Handler: _ArchiveService_GetTickData_Handler, diff --git a/rpc/rpc_server.go b/rpc/rpc_server.go index 67e1c5f..3365827 100644 --- a/rpc/rpc_server.go +++ b/rpc/rpc_server.go @@ -72,211 +72,6 @@ func getTransactionInfo(ctx context.Context, pebbleStore *store.PebbleStore, tra } -func (s *Server) GetAllTickTransactionsV2(ctx context.Context, req *protobuff.GetTickTransactionsRequestV2) (*protobuff.GetTickTransactionsResponseV2, error) { - lastProcessedTick, err := s.store.GetLastProcessedTick(ctx) - if err != nil { - return nil, status.Errorf(codes.Internal, "getting last processed tick: %v", err) - } - if req.TickNumber > lastProcessedTick.TickNumber { - st := status.Newf(codes.FailedPrecondition, "requested tick number %d is greater than last processed tick %d", req.TickNumber, lastProcessedTick.TickNumber) - st, err = st.WithDetails(&protobuff.LastProcessedTick{LastProcessedTick: lastProcessedTick.TickNumber}) - if err != nil { - return nil, status.Errorf(codes.Internal, "creating custom status") - } - - return nil, st.Err() - } - - processedTickIntervalsPerEpoch, err := s.store.GetProcessedTickIntervals(ctx) - if err != nil { - return nil, status.Errorf(codes.Internal, "getting processed tick intervals per epoch") - } - - wasSkipped, nextAvailableTick := wasTickSkippedByArchive(req.TickNumber, processedTickIntervalsPerEpoch) - if wasSkipped == true { - st := status.Newf(codes.OutOfRange, "provided tick number %d was skipped by the system, next available tick is %d", req.TickNumber, nextAvailableTick) - st, err = st.WithDetails(&protobuff.NextAvailableTick{NextTickNumber: nextAvailableTick}) - if err != nil { - return nil, status.Errorf(codes.Internal, "creating custom status") - } - - return nil, st.Err() - } - - txs, err := s.store.GetTickTransactions(ctx, req.TickNumber) - if err != nil { - if errors.Is(err, store.ErrNotFound) { - return nil, status.Errorf(codes.NotFound, "tick transactions for specified tick not found") - } - return nil, status.Errorf(codes.Internal, "getting tick transactions: %v", err) - } - - var transactions []*protobuff.TransactionData - - for _, transaction := range txs { - - transactionInfo, err := getTransactionInfo(ctx, s.store, transaction.TxId, transaction.TickNumber) - if err != nil { - return nil, status.Errorf(codes.Internal, "failed to get transaction info: %v", err) - } - - transactions = append(transactions, &protobuff.TransactionData{ - Transaction: transaction, - Timestamp: transactionInfo.timestamp, - MoneyFlew: transactionInfo.moneyFlew, - }) - - } - - return &protobuff.GetTickTransactionsResponseV2{Transactions: transactions}, nil -} - -func (s *Server) GetTransferTickTransactionsV2(ctx context.Context, req *protobuff.GetTickTransactionsRequestV2) (*protobuff.GetTickTransactionsResponseV2, error) { - lastProcessedTick, err := s.store.GetLastProcessedTick(ctx) - if err != nil { - return nil, status.Errorf(codes.Internal, "getting last processed tick: %v", err) - } - if req.TickNumber > lastProcessedTick.TickNumber { - st := status.Newf(codes.FailedPrecondition, "requested tick number %d is greater than last processed tick %d", req.TickNumber, lastProcessedTick.TickNumber) - st, err = st.WithDetails(&protobuff.LastProcessedTick{LastProcessedTick: lastProcessedTick.TickNumber}) - if err != nil { - return nil, status.Errorf(codes.Internal, "creating custom status") - } - - return nil, st.Err() - } - - processedTickIntervalsPerEpoch, err := s.store.GetProcessedTickIntervals(ctx) - if err != nil { - return nil, status.Errorf(codes.Internal, "getting processed tick intervals per epoch") - } - - wasSkipped, nextAvailableTick := wasTickSkippedByArchive(req.TickNumber, processedTickIntervalsPerEpoch) - if wasSkipped == true { - st := status.Newf(codes.OutOfRange, "provided tick number %d was skipped by the system, next available tick is %d", req.TickNumber, nextAvailableTick) - st, err = st.WithDetails(&protobuff.NextAvailableTick{NextTickNumber: nextAvailableTick}) - if err != nil { - return nil, status.Errorf(codes.Internal, "creating custom status") - } - - return nil, st.Err() - } - - txs, err := s.store.GetTickTransferTransactions(ctx, req.TickNumber) - if err != nil { - if errors.Is(err, store.ErrNotFound) { - return nil, status.Errorf(codes.NotFound, "tick transfer transactions for specified tick not found") - } - return nil, status.Errorf(codes.Internal, "getting tick transactions: %v", err) - } - - var transactions []*protobuff.TransactionData - - for _, transaction := range txs { - - transactionInfo, err := getTransactionInfo(ctx, s.store, transaction.TxId, transaction.TickNumber) - if err != nil { - return nil, status.Errorf(codes.Internal, "failed to get transaction info: %v", err) - } - - transactions = append(transactions, &protobuff.TransactionData{ - Transaction: transaction, - Timestamp: transactionInfo.timestamp, - MoneyFlew: transactionInfo.moneyFlew, - }) - - } - - return &protobuff.GetTickTransactionsResponseV2{Transactions: transactions}, nil -} - -func (s *Server) GetApprovedTickTransactionsV2(ctx context.Context, req *protobuff.GetTickTransactionsRequestV2) (*protobuff.GetTickTransactionsResponseV2, error) { - lastProcessedTick, err := s.store.GetLastProcessedTick(ctx) - if err != nil { - return nil, status.Errorf(codes.Internal, "getting last processed tick: %v", err) - } - if req.TickNumber > lastProcessedTick.TickNumber { - st := status.Newf(codes.FailedPrecondition, "requested tick number %d is greater than last processed tick %d", req.TickNumber, lastProcessedTick.TickNumber) - st, err = st.WithDetails(&protobuff.LastProcessedTick{LastProcessedTick: lastProcessedTick.TickNumber}) - if err != nil { - return nil, status.Errorf(codes.Internal, "creating custom status") - } - - return nil, st.Err() - } - - processedTickIntervalsPerEpoch, err := s.store.GetProcessedTickIntervals(ctx) - if err != nil { - return nil, status.Errorf(codes.Internal, "getting processed tick intervals per epoch") - } - - wasSkipped, nextAvailableTick := wasTickSkippedByArchive(req.TickNumber, processedTickIntervalsPerEpoch) - if wasSkipped == true { - st := status.Newf(codes.OutOfRange, "provided tick number %d was skipped by the system, next available tick is %d", req.TickNumber, nextAvailableTick) - st, err = st.WithDetails(&protobuff.NextAvailableTick{NextTickNumber: nextAvailableTick}) - if err != nil { - return nil, status.Errorf(codes.Internal, "creating custom status") - } - - return nil, st.Err() - } - - txs, err := s.store.GetTickTransferTransactions(ctx, req.TickNumber) - if err != nil { - if errors.Is(err, store.ErrNotFound) { - return nil, status.Errorf(codes.NotFound, "tick transfer transactions for specified tick not found") - } - return nil, status.Errorf(codes.Internal, "getting tick transactions: %v", err) - } - - var transactions []*protobuff.TransactionData - - for _, transaction := range txs { - - transactionInfo, err := getTransactionInfo(ctx, s.store, transaction.TxId, transaction.TickNumber) - if err != nil { - return nil, status.Errorf(codes.Internal, "failed to get transaction info: %v", err) - } - - if transactionInfo.moneyFlew == false { - continue - } - - transactions = append(transactions, &protobuff.TransactionData{ - Transaction: transaction, - Timestamp: transactionInfo.timestamp, - MoneyFlew: transactionInfo.moneyFlew, - }) - - } - - return &protobuff.GetTickTransactionsResponseV2{Transactions: transactions}, nil -} - -func (s *Server) GetTransactionV2(ctx context.Context, req *protobuff.GetTransactionRequestV2) (*protobuff.GetTransactionResponseV2, error) { - - tx, err := s.store.GetTransaction(ctx, req.TxId) - if err != nil { - if errors.Is(err, store.ErrNotFound) { - return nil, status.Errorf(codes.NotFound, "transaction not found") - } - return nil, status.Errorf(codes.Internal, "getting transaction: %v", err) - } - - transactionInfo, err := getTransactionInfo(ctx, s.store, tx.TxId, tx.TickNumber) - if err != nil { - return nil, status.Errorf(codes.Internal, "getting transaction info") - } - - res := protobuff.GetTransactionResponseV2{ - Transaction: tx, - MoneyFlew: transactionInfo.moneyFlew, - Timestamp: transactionInfo.timestamp, - } - return &res, nil - -} - func (s *Server) GetTickData(ctx context.Context, req *protobuff.GetTickDataRequest) (*protobuff.GetTickDataResponse, error) { lastProcessedTick, err := s.store.GetLastProcessedTick(ctx) if err != nil { @@ -564,13 +359,13 @@ func (s *Server) GetHealthCheck(ctx context.Context, _ *emptypb.Empty) (*protobu } -func (s *Server) GetLatestTick(ctx context.Context, _ *emptypb.Empty) (*protobuff.GetLatestTickResponse, error) { +func (s *Server) GetLatestTick(ctx context.Context, _ *emptypb.Empty) (*protobuff.GetLatestTickResponseV2, error) { chainTick, err := fetchChainTick(ctx, s.chainTickFetchUrl) if err != nil { return nil, status.Errorf(codes.Internal, "fetching chain tick: %v", err) } - return &protobuff.GetLatestTickResponse{LatestTick: uint32(chainTick)}, nil + return &protobuff.GetLatestTickResponseV2{LatestTick: uint32(chainTick)}, nil } func (s *Server) GetTransferTransactionsPerTick(ctx context.Context, req *protobuff.GetTransferTransactionsPerTickRequest) (*protobuff.GetTransferTransactionsPerTickResponse, error) { diff --git a/rpc/v2_endpoints.go b/rpc/v2_endpoints.go new file mode 100644 index 0000000..cb20270 --- /dev/null +++ b/rpc/v2_endpoints.go @@ -0,0 +1,349 @@ +package rpc + +import ( + "context" + "encoding/hex" + "github.com/pkg/errors" + "github.com/qubic/go-archiver/protobuff" + "github.com/qubic/go-archiver/store" + "github.com/qubic/go-node-connector/types" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/status" + "google.golang.org/protobuf/types/known/emptypb" +) + +func (s *Server) GetLatestTickV2(ctx context.Context, req *emptypb.Empty) (*protobuff.GetLatestTickResponseV2, error) { + return s.GetLatestTick(ctx, req) +} + +func (s *Server) GetTickV2(ctx context.Context, req *protobuff.GetTickRequestV2) (*protobuff.GetTickResponseV2, error) { + + //TODO: Implement + + return nil, status.Errorf(codes.Unimplemented, "Not yet implemented") +} + +func (s *Server) GetTickQuorumDataV2(ctx context.Context, req *protobuff.GetTickRequestV2) (*protobuff.GetQuorumTickDataResponse, error) { + return s.GetQuorumTickData(ctx, &protobuff.GetQuorumTickDataRequest{ + TickNumber: req.TickNumber, + }) +} + +func (s *Server) GetTickChainHashV2(ctx context.Context, req *protobuff.GetTickRequestV2) (*protobuff.GetChainHashResponse, error) { + return s.GetChainHash(ctx, &protobuff.GetChainHashRequest{ + TickNumber: req.TickNumber, + }) +} + +func (s *Server) GetTickStoreHashV2(ctx context.Context, req *protobuff.GetTickRequestV2) (*protobuff.GetChainHashResponse, error) { + return s.GetStoreHash(ctx, &protobuff.GetChainHashRequest{ + TickNumber: req.TickNumber, + }) +} + +func (s *Server) GetAllTickTransactionsV2(ctx context.Context, req *protobuff.GetTickRequestV2) (*protobuff.GetTickTransactionsResponseV2, error) { + lastProcessedTick, err := s.store.GetLastProcessedTick(ctx) + if err != nil { + return nil, status.Errorf(codes.Internal, "getting last processed tick: %v", err) + } + if req.TickNumber > lastProcessedTick.TickNumber { + st := status.Newf(codes.FailedPrecondition, "requested tick number %d is greater than last processed tick %d", req.TickNumber, lastProcessedTick.TickNumber) + st, err = st.WithDetails(&protobuff.LastProcessedTick{LastProcessedTick: lastProcessedTick.TickNumber}) + if err != nil { + return nil, status.Errorf(codes.Internal, "creating custom status") + } + + return nil, st.Err() + } + + processedTickIntervalsPerEpoch, err := s.store.GetProcessedTickIntervals(ctx) + if err != nil { + return nil, status.Errorf(codes.Internal, "getting processed tick intervals per epoch") + } + + wasSkipped, nextAvailableTick := wasTickSkippedByArchive(req.TickNumber, processedTickIntervalsPerEpoch) + if wasSkipped == true { + st := status.Newf(codes.OutOfRange, "provided tick number %d was skipped by the system, next available tick is %d", req.TickNumber, nextAvailableTick) + st, err = st.WithDetails(&protobuff.NextAvailableTick{NextTickNumber: nextAvailableTick}) + if err != nil { + return nil, status.Errorf(codes.Internal, "creating custom status") + } + + return nil, st.Err() + } + + txs, err := s.store.GetTickTransactions(ctx, req.TickNumber) + if err != nil { + if errors.Is(err, store.ErrNotFound) { + return nil, status.Errorf(codes.NotFound, "tick transactions for specified tick not found") + } + return nil, status.Errorf(codes.Internal, "getting tick transactions: %v", err) + } + + var transactions []*protobuff.TransactionData + + for _, transaction := range txs { + + transactionInfo, err := getTransactionInfo(ctx, s.store, transaction.TxId, transaction.TickNumber) + if err != nil { + return nil, status.Errorf(codes.Internal, "failed to get transaction info: %v", err) + } + + transactions = append(transactions, &protobuff.TransactionData{ + Transaction: transaction, + Timestamp: transactionInfo.timestamp, + MoneyFlew: transactionInfo.moneyFlew, + }) + + } + + return &protobuff.GetTickTransactionsResponseV2{Transactions: transactions}, nil +} + +func (s *Server) GetTransferTickTransactionsV2(ctx context.Context, req *protobuff.GetTickRequestV2) (*protobuff.GetTickTransactionsResponseV2, error) { + lastProcessedTick, err := s.store.GetLastProcessedTick(ctx) + if err != nil { + return nil, status.Errorf(codes.Internal, "getting last processed tick: %v", err) + } + if req.TickNumber > lastProcessedTick.TickNumber { + st := status.Newf(codes.FailedPrecondition, "requested tick number %d is greater than last processed tick %d", req.TickNumber, lastProcessedTick.TickNumber) + st, err = st.WithDetails(&protobuff.LastProcessedTick{LastProcessedTick: lastProcessedTick.TickNumber}) + if err != nil { + return nil, status.Errorf(codes.Internal, "creating custom status") + } + + return nil, st.Err() + } + + processedTickIntervalsPerEpoch, err := s.store.GetProcessedTickIntervals(ctx) + if err != nil { + return nil, status.Errorf(codes.Internal, "getting processed tick intervals per epoch") + } + + wasSkipped, nextAvailableTick := wasTickSkippedByArchive(req.TickNumber, processedTickIntervalsPerEpoch) + if wasSkipped == true { + st := status.Newf(codes.OutOfRange, "provided tick number %d was skipped by the system, next available tick is %d", req.TickNumber, nextAvailableTick) + st, err = st.WithDetails(&protobuff.NextAvailableTick{NextTickNumber: nextAvailableTick}) + if err != nil { + return nil, status.Errorf(codes.Internal, "creating custom status") + } + + return nil, st.Err() + } + + txs, err := s.store.GetTickTransferTransactions(ctx, req.TickNumber) + if err != nil { + if errors.Is(err, store.ErrNotFound) { + return nil, status.Errorf(codes.NotFound, "tick transfer transactions for specified tick not found") + } + return nil, status.Errorf(codes.Internal, "getting tick transactions: %v", err) + } + + var transactions []*protobuff.TransactionData + + for _, transaction := range txs { + + transactionInfo, err := getTransactionInfo(ctx, s.store, transaction.TxId, transaction.TickNumber) + if err != nil { + return nil, status.Errorf(codes.Internal, "failed to get transaction info: %v", err) + } + + transactions = append(transactions, &protobuff.TransactionData{ + Transaction: transaction, + Timestamp: transactionInfo.timestamp, + MoneyFlew: transactionInfo.moneyFlew, + }) + + } + + return &protobuff.GetTickTransactionsResponseV2{Transactions: transactions}, nil +} + +func (s *Server) GetApprovedTickTransactionsV2(ctx context.Context, req *protobuff.GetTickRequestV2) (*protobuff.GetTickTransactionsResponseV2, error) { + lastProcessedTick, err := s.store.GetLastProcessedTick(ctx) + if err != nil { + return nil, status.Errorf(codes.Internal, "getting last processed tick: %v", err) + } + if req.TickNumber > lastProcessedTick.TickNumber { + st := status.Newf(codes.FailedPrecondition, "requested tick number %d is greater than last processed tick %d", req.TickNumber, lastProcessedTick.TickNumber) + st, err = st.WithDetails(&protobuff.LastProcessedTick{LastProcessedTick: lastProcessedTick.TickNumber}) + if err != nil { + return nil, status.Errorf(codes.Internal, "creating custom status") + } + + return nil, st.Err() + } + + processedTickIntervalsPerEpoch, err := s.store.GetProcessedTickIntervals(ctx) + if err != nil { + return nil, status.Errorf(codes.Internal, "getting processed tick intervals per epoch") + } + + wasSkipped, nextAvailableTick := wasTickSkippedByArchive(req.TickNumber, processedTickIntervalsPerEpoch) + if wasSkipped == true { + st := status.Newf(codes.OutOfRange, "provided tick number %d was skipped by the system, next available tick is %d", req.TickNumber, nextAvailableTick) + st, err = st.WithDetails(&protobuff.NextAvailableTick{NextTickNumber: nextAvailableTick}) + if err != nil { + return nil, status.Errorf(codes.Internal, "creating custom status") + } + + return nil, st.Err() + } + + txs, err := s.store.GetTickTransferTransactions(ctx, req.TickNumber) + if err != nil { + if errors.Is(err, store.ErrNotFound) { + return nil, status.Errorf(codes.NotFound, "tick transfer transactions for specified tick not found") + } + return nil, status.Errorf(codes.Internal, "getting tick transactions: %v", err) + } + + var transactions []*protobuff.TransactionData + + for _, transaction := range txs { + + transactionInfo, err := getTransactionInfo(ctx, s.store, transaction.TxId, transaction.TickNumber) + if err != nil { + return nil, status.Errorf(codes.Internal, "failed to get transaction info: %v", err) + } + + if transactionInfo.moneyFlew == false { + continue + } + + transactions = append(transactions, &protobuff.TransactionData{ + Transaction: transaction, + Timestamp: transactionInfo.timestamp, + MoneyFlew: transactionInfo.moneyFlew, + }) + + } + + return &protobuff.GetTickTransactionsResponseV2{Transactions: transactions}, nil +} + +func (s *Server) GetTransactionV2(ctx context.Context, req *protobuff.GetTransactionRequestV2) (*protobuff.GetTransactionResponseV2, error) { + + tx, err := s.store.GetTransaction(ctx, req.TxId) + if err != nil { + if errors.Is(err, store.ErrNotFound) { + return nil, status.Errorf(codes.NotFound, "transaction not found") + } + return nil, status.Errorf(codes.Internal, "getting transaction: %v", err) + } + + transactionInfo, err := getTransactionInfo(ctx, s.store, tx.TxId, tx.TickNumber) + if err != nil { + return nil, status.Errorf(codes.Internal, "getting transaction info") + } + + res := protobuff.GetTransactionResponseV2{ + Transaction: tx, + MoneyFlew: transactionInfo.moneyFlew, + Timestamp: transactionInfo.timestamp, + } + return &res, nil + +} + +func (s *Server) GetSendManyTransactionV2(ctx context.Context, req *protobuff.GetSendManyTransactionRequestV2) (*protobuff.GetSendManyTransactionResponseV2, error) { + transaction, err := s.store.GetTransaction(ctx, req.TxId) + if err != nil { + if errors.Is(err, store.ErrNotFound) { + return nil, status.Errorf(codes.NotFound, "transaction not found") + } + return nil, status.Errorf(codes.Internal, "getting transaction: %v", err) + } + + if transaction.InputType != 1 || transaction.DestId != types.QutilAddress { + return nil, status.Errorf(codes.NotFound, "request transaction is not of send-many type") + } + + transactionInfo, err := getTransactionInfo(ctx, s.store, transaction.TxId, transaction.TickNumber) + if err != nil { + return nil, status.Errorf(codes.Internal, "getting transaction info") + } + + rawPayload, err := hex.DecodeString(transaction.InputHex) + if err != nil { + return nil, status.Errorf(codes.Internal, "failed to decode raw payload") + } + + var sendManyPayload types.SendManyTransferPayload + err = sendManyPayload.UnmarshallBinary(rawPayload) + if err != nil { + return nil, status.Errorf(codes.Internal, "failed to unmarshall payload data") + } + + sendManyTransfers := make([]*protobuff.SendManyTransfer, 0) + + transfers, err := sendManyPayload.GetTransfers() + + if err != nil { + return nil, status.Errorf(codes.Internal, "getting send many transfers") + } + + for _, transfer := range transfers { + sendManyTransfers = append(sendManyTransfers, &protobuff.SendManyTransfer{ + DestId: transfer.AddressID.String(), + Amount: transfer.Amount, + }) + } + + sendManyTransaction := protobuff.SendManyTransaction{ + SourceId: transaction.SourceId, + Transfers: sendManyTransfers, + TotalAmount: sendManyPayload.GetTotalAmount(), + TickNumber: transaction.TickNumber, + TxId: transaction.TxId, + SignatureHex: transaction.SignatureHex, + } + + return &protobuff.GetSendManyTransactionResponseV2{ + Transaction: &sendManyTransaction, + Timestamp: transactionInfo.timestamp, + MoneyFlew: transactionInfo.moneyFlew, + }, nil +} + +func (s *Server) GetIdentityTransfersInTickRangeV2(ctx context.Context, req *protobuff.GetTransferTransactionsPerTickRequest) (*protobuff.GetIdentityTransfersInTickRangeResponseV2, error) { + txs, err := s.store.GetTransferTransactions(ctx, req.Identity, uint64(req.GetStartTick()), uint64(req.GetEndTick())) + if err != nil { + return nil, status.Errorf(codes.Internal, "getting transfer transactions: %v", err) + } + + var totalTransactions []*protobuff.PerTickIdentityTransfers + + for _, transactionsPerTick := range txs { + + var tickTransactions []*protobuff.TransactionData + + for _, transaction := range transactionsPerTick.Transactions { + transactionInfo, err := getTransactionInfo(ctx, s.store, transaction.TxId, transaction.TickNumber) + if err != nil { + return nil, status.Errorf(codes.Internal, "getting transaction info: %v", err) + } + + transactionData := &protobuff.TransactionData{ + Transaction: transaction, + Timestamp: transactionInfo.timestamp, + MoneyFlew: transactionInfo.moneyFlew, + } + + tickTransactions = append(tickTransactions, transactionData) + } + + transfers := &protobuff.PerTickIdentityTransfers{ + Transactions: tickTransactions, + Identity: transactionsPerTick.Identity, + TickNumber: transactionsPerTick.TickNumber, + } + + totalTransactions = append(totalTransactions, transfers) + } + + return &protobuff.GetIdentityTransfersInTickRangeResponseV2{ + Transactions: totalTransactions, + }, nil + +} From ee5206df458c50591caec7ddb5a5537fac7b7892 Mon Sep 17 00:00:00 2001 From: LINCKODE Date: Tue, 2 Jul 2024 00:58:31 +0300 Subject: [PATCH 4/7] Implement suggested changes --- protobuff/archive.proto | 42 ++++++++++++++++------------------------- rpc/v2_endpoints.go | 18 ++++++++++++++++++ 2 files changed, 34 insertions(+), 26 deletions(-) diff --git a/protobuff/archive.proto b/protobuff/archive.proto index c71b240..3da9c15 100644 --- a/protobuff/archive.proto +++ b/protobuff/archive.proto @@ -281,6 +281,7 @@ message GetTickTransactionsResponseV2 { // Get Transaction message GetTransactionRequestV2 { string tx_id = 1; + bool send_many = 2; } message GetTransactionResponseV2 { Transaction transaction = 1; @@ -288,59 +289,48 @@ message GetTransactionResponseV2 { bool money_flew = 3; } +message GetTickTransactionsRequestV2 { + uint32 tick_number = 1; + bool transfers = 2; + bool approved = 3; +} -service ArchiveService { - // Latest Tick - rpc GetLatestTickV2(google.protobuf.Empty) returns (GetLatestTickResponseV2){ - option (google.api.http) = { - get: "/v2/tick/latest" - }; - }; +service ArchiveService { // General data - To be released at a later date /*rpc GetTickV2(GetTickRequestV2) returns (GetTickResponseV2) { option (google.api.http) = { - get: "/v2/tick/{tick_number}" + get: "/v2/ticks/{tick_number}" }; };*/ // Quorum data rpc GetTickQuorumDataV2(GetTickRequestV2) returns (GetQuorumTickDataResponse) { // Uses V1 response option (google.api.http) = { - get: "/v2/tick/{tick_number}/quorum-data" + get: "/v2/ticks/{tick_number}/quorum-data" }; }; // Chain hash rpc GetTickChainHashV2(GetTickRequestV2) returns (GetChainHashResponse) { // Uses V1 response option (google.api.http) = { - get: "/v2/tick/{tick_number}/hash" + get: "/v2/ticks/{tick_number}/hash" }; } // Store hash rpc GetTickStoreHashV2(GetTickRequestV2) returns (GetChainHashResponse) { // Uses V1 response option (google.api.http) = { - get: "/v2/tick/{tick_number}/store-hash" + get: "/v2/ticks/{tick_number}/store-hash" }; } // Tick transactions - rpc GetAllTickTransactionsV2(GetTickRequestV2) returns (GetTickTransactionsResponseV2){ - option (google.api.http) = { - get: "/v2/tick/{tick_number}/transactions" - }; - }; - rpc GetTransferTickTransactionsV2(GetTickRequestV2) returns (GetTickTransactionsResponseV2){ - option (google.api.http) = { - get: "/v2/tick/{tick_number}/transactions/transfers" - }; - }; - rpc GetApprovedTickTransactionsV2(GetTickRequestV2) returns (GetTickTransactionsResponseV2){ + rpc GetTickTransactionsV2(GetTickTransactionsRequestV2) returns (GetTickTransactionsResponseV2){ option (google.api.http) = { - get: "/v2/tick/{tick_number}/transactions/transfers/approved" + get: "/v2/ticks/{tick_number}/transactions" }; }; @@ -349,21 +339,21 @@ service ArchiveService { //Normal rpc GetTransactionV2(GetTransactionRequestV2) returns (GetTransactionResponseV2) { option (google.api.http) = { - get: "/v2/transaction/{tx_id}" + get: "/v2/transactions/{tx_id}" }; }; //SendMany rpc GetSendManyTransactionV2(GetSendManyTransactionRequestV2) returns (GetSendManyTransactionResponseV2) { option (google.api.http) = { - get: "/v2/transaction/{tx_id}/sendmany" + get: "/v2/transactions/{tx_id}/sendmany" }; }; //Identity rpc GetIdentityTransfersInTickRangeV2(GetTransferTransactionsPerTickRequest) returns (GetIdentityTransfersInTickRangeResponseV2) { // Uses V1 request option (google.api.http) = { - get: "/v2/identity/{identity}/transfers" + get: "/v2/identities/{identity}/transfers" }; }; diff --git a/rpc/v2_endpoints.go b/rpc/v2_endpoints.go index cb20270..188a406 100644 --- a/rpc/v2_endpoints.go +++ b/rpc/v2_endpoints.go @@ -41,6 +41,24 @@ func (s *Server) GetTickStoreHashV2(ctx context.Context, req *protobuff.GetTickR }) } +func (s *Server) GetTickTransactionsV2(ctx context.Context, req *protobuff.GetTickTransactionsRequestV2) (*protobuff.GetTickTransactionsResponseV2, error) { + + tickRequest := &protobuff.GetTickRequestV2{ + TickNumber: req.TickNumber, + } + + if req.Approved { + return s.GetApprovedTickTransactionsV2(ctx, tickRequest) + } + + if req.Transfers { + return s.GetTransferTickTransactionsV2(ctx, tickRequest) + } + + return s.GetAllTickTransactionsV2(ctx, tickRequest) + +} + func (s *Server) GetAllTickTransactionsV2(ctx context.Context, req *protobuff.GetTickRequestV2) (*protobuff.GetTickTransactionsResponseV2, error) { lastProcessedTick, err := s.store.GetLastProcessedTick(ctx) if err != nil { From a6225452245ab0798f609c5be7ba9225acdff2f8 Mon Sep 17 00:00:00 2001 From: LINCKODE Date: Tue, 2 Jul 2024 00:58:41 +0300 Subject: [PATCH 5/7] Implement suggested changes --- protobuff/archive.pb.go | 665 +++++++++++++++++++---------------- protobuff/archive.pb.gw.go | 363 ++++--------------- protobuff/archive_grpc.pb.go | 141 +------- 3 files changed, 437 insertions(+), 732 deletions(-) diff --git a/protobuff/archive.pb.go b/protobuff/archive.pb.go index 80ca5da..48334dc 100644 --- a/protobuff/archive.pb.go +++ b/protobuff/archive.pb.go @@ -2855,7 +2855,8 @@ type GetTransactionRequestV2 struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - TxId string `protobuf:"bytes,1,opt,name=tx_id,json=txId,proto3" json:"tx_id,omitempty"` + TxId string `protobuf:"bytes,1,opt,name=tx_id,json=txId,proto3" json:"tx_id,omitempty"` + SendMany bool `protobuf:"varint,2,opt,name=send_many,json=sendMany,proto3" json:"send_many,omitempty"` } func (x *GetTransactionRequestV2) Reset() { @@ -2897,6 +2898,13 @@ func (x *GetTransactionRequestV2) GetTxId() string { return "" } +func (x *GetTransactionRequestV2) GetSendMany() bool { + if x != nil { + return x.SendMany + } + return false +} + type GetTransactionResponseV2 struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -2960,6 +2968,69 @@ func (x *GetTransactionResponseV2) GetMoneyFlew() bool { return false } +type GetTickTransactionsRequestV2 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TickNumber uint32 `protobuf:"varint,1,opt,name=tick_number,json=tickNumber,proto3" json:"tick_number,omitempty"` + Transfers bool `protobuf:"varint,2,opt,name=transfers,proto3" json:"transfers,omitempty"` + Approved bool `protobuf:"varint,3,opt,name=approved,proto3" json:"approved,omitempty"` +} + +func (x *GetTickTransactionsRequestV2) Reset() { + *x = GetTickTransactionsRequestV2{} + if protoimpl.UnsafeEnabled { + mi := &file_archive_proto_msgTypes[51] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetTickTransactionsRequestV2) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetTickTransactionsRequestV2) ProtoMessage() {} + +func (x *GetTickTransactionsRequestV2) ProtoReflect() protoreflect.Message { + mi := &file_archive_proto_msgTypes[51] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetTickTransactionsRequestV2.ProtoReflect.Descriptor instead. +func (*GetTickTransactionsRequestV2) Descriptor() ([]byte, []int) { + return file_archive_proto_rawDescGZIP(), []int{51} +} + +func (x *GetTickTransactionsRequestV2) GetTickNumber() uint32 { + if x != nil { + return x.TickNumber + } + return 0 +} + +func (x *GetTickTransactionsRequestV2) GetTransfers() bool { + if x != nil { + return x.Transfers + } + return false +} + +func (x *GetTickTransactionsRequestV2) GetApproved() bool { + if x != nil { + return x.Approved + } + return false +} + var File_archive_proto protoreflect.FileDescriptor var file_archive_proto_rawDesc = []byte{ @@ -3395,28 +3466,30 @@ var file_archive_proto_rawDesc = []byte{ 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, - 0x2e, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x4b, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x56, 0x32, 0x12, 0x13, 0x0a, 0x05, 0x74, 0x78, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x78, 0x49, 0x64, 0x22, - 0xa1, 0x01, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x56, 0x32, 0x12, 0x48, 0x0a, 0x0b, - 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x26, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, - 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x54, 0x72, - 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, - 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x5f, 0x66, 0x6c, - 0x65, 0x77, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x46, - 0x6c, 0x65, 0x77, 0x32, 0xc3, 0x1f, 0x0a, 0x0e, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x53, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x76, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x74, - 0x65, 0x73, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x56, 0x32, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, - 0x79, 0x1a, 0x32, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, - 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, - 0x74, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x56, 0x32, 0x22, 0x17, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x11, 0x12, 0x0f, 0x2f, - 0x76, 0x32, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x2f, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x12, 0xa4, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x78, 0x49, 0x64, 0x12, + 0x1b, 0x0a, 0x09, 0x73, 0x65, 0x6e, 0x64, 0x5f, 0x6d, 0x61, 0x6e, 0x79, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x08, 0x73, 0x65, 0x6e, 0x64, 0x4d, 0x61, 0x6e, 0x79, 0x22, 0xa1, 0x01, 0x0a, + 0x18, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x56, 0x32, 0x12, 0x48, 0x0a, 0x0b, 0x74, 0x72, 0x61, + 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, + 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, + 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, + 0x70, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x5f, 0x66, 0x6c, 0x65, 0x77, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x46, 0x6c, 0x65, 0x77, + 0x22, 0x79, 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x56, 0x32, + 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x74, 0x69, 0x63, 0x6b, 0x4e, 0x75, 0x6d, 0x62, 0x65, + 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x73, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x73, 0x12, + 0x1a, 0x0a, 0x08, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x08, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x64, 0x32, 0xd3, 0x1b, 0x0a, 0x0e, + 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xa5, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x51, 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x56, 0x32, 0x12, 0x2b, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, @@ -3424,246 +3497,223 @@ var file_archive_proto_rawDesc = []byte{ 0x74, 0x56, 0x32, 0x1a, 0x34, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x51, 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x54, 0x69, 0x63, 0x6b, 0x44, 0x61, 0x74, - 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2a, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x24, 0x12, 0x22, 0x2f, 0x76, 0x32, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x2f, 0x7b, 0x74, 0x69, 0x63, - 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x7d, 0x2f, 0x71, 0x75, 0x6f, 0x72, 0x75, 0x6d, - 0x2d, 0x64, 0x61, 0x74, 0x61, 0x12, 0x97, 0x01, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, - 0x6b, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x48, 0x61, 0x73, 0x68, 0x56, 0x32, 0x12, 0x2b, 0x2e, 0x71, + 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2b, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x25, 0x12, 0x23, 0x2f, 0x76, 0x32, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x73, 0x2f, 0x7b, 0x74, 0x69, + 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x7d, 0x2f, 0x71, 0x75, 0x6f, 0x72, 0x75, + 0x6d, 0x2d, 0x64, 0x61, 0x74, 0x61, 0x12, 0x98, 0x01, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x54, 0x69, + 0x63, 0x6b, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x48, 0x61, 0x73, 0x68, 0x56, 0x32, 0x12, 0x2b, 0x2e, + 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, + 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, + 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x56, 0x32, 0x1a, 0x2f, 0x2e, 0x71, 0x75, 0x62, + 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, + 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x48, + 0x61, 0x73, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x24, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x1e, 0x12, 0x1c, 0x2f, 0x76, 0x32, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x73, 0x2f, 0x7b, + 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x7d, 0x2f, 0x68, 0x61, 0x73, + 0x68, 0x12, 0x9e, 0x01, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x53, 0x74, 0x6f, + 0x72, 0x65, 0x48, 0x61, 0x73, 0x68, 0x56, 0x32, 0x12, 0x2b, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, + 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, + 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x56, 0x32, 0x1a, 0x2f, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, + 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, + 0x62, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x48, 0x61, 0x73, 0x68, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x24, 0x12, 0x22, + 0x2f, 0x76, 0x32, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x73, 0x2f, 0x7b, 0x74, 0x69, 0x63, 0x6b, 0x5f, + 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x7d, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2d, 0x68, 0x61, + 0x73, 0x68, 0x12, 0xb8, 0x01, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x54, 0x72, + 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x56, 0x32, 0x12, 0x37, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x56, 0x32, 0x1a, 0x2f, 0x2e, 0x71, 0x75, 0x62, 0x69, - 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, - 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x48, 0x61, - 0x73, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x23, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x1d, 0x12, 0x1b, 0x2f, 0x76, 0x32, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x2f, 0x7b, 0x74, 0x69, - 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x7d, 0x2f, 0x68, 0x61, 0x73, 0x68, 0x12, - 0x9d, 0x01, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x53, 0x74, 0x6f, 0x72, 0x65, - 0x48, 0x61, 0x73, 0x68, 0x56, 0x32, 0x12, 0x2b, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, + 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x56, 0x32, 0x1a, 0x38, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, + 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, + 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x56, 0x32, 0x22, + 0x2c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x26, 0x12, 0x24, 0x2f, 0x76, 0x32, 0x2f, 0x74, 0x69, 0x63, + 0x6b, 0x73, 0x2f, 0x7b, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x7d, + 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x9d, 0x01, + 0x0a, 0x10, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x56, 0x32, 0x12, 0x32, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, + 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, + 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x56, 0x32, 0x1a, 0x33, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, - 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x56, 0x32, 0x1a, 0x2f, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, - 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, - 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x48, 0x61, 0x73, 0x68, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x29, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x23, 0x12, 0x21, 0x2f, 0x76, - 0x32, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x2f, 0x7b, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, - 0x62, 0x65, 0x72, 0x7d, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2d, 0x68, 0x61, 0x73, 0x68, 0x12, - 0xae, 0x01, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x69, 0x63, 0x6b, 0x54, 0x72, - 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x56, 0x32, 0x12, 0x2b, 0x2e, 0x71, - 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, - 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x56, 0x32, 0x1a, 0x38, 0x2e, 0x71, 0x75, 0x62, 0x69, + 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x56, 0x32, 0x22, 0x20, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x1a, 0x12, 0x18, 0x2f, 0x76, 0x32, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x74, 0x78, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xbe, 0x01, + 0x0a, 0x18, 0x47, 0x65, 0x74, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x61, 0x6e, 0x79, 0x54, 0x72, 0x61, + 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x32, 0x12, 0x3a, 0x2e, 0x71, 0x75, 0x62, + 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, + 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x61, + 0x6e, 0x79, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x56, 0x32, 0x1a, 0x3b, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, + 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, + 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x61, 0x6e, 0x79, 0x54, 0x72, + 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x56, 0x32, 0x22, 0x29, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x23, 0x12, 0x21, 0x2f, 0x76, 0x32, + 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x74, + 0x78, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x73, 0x65, 0x6e, 0x64, 0x6d, 0x61, 0x6e, 0x79, 0x12, 0xd8, + 0x01, 0x0a, 0x21, 0x47, 0x65, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x72, + 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x73, 0x49, 0x6e, 0x54, 0x69, 0x63, 0x6b, 0x52, 0x61, 0x6e, + 0x67, 0x65, 0x56, 0x32, 0x12, 0x40, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, + 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, + 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x54, 0x72, 0x61, 0x6e, + 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x50, 0x65, 0x72, 0x54, 0x69, 0x63, 0x6b, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x44, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, + 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, + 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x72, + 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x73, 0x49, 0x6e, 0x54, 0x69, 0x63, 0x6b, 0x52, 0x61, 0x6e, + 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x56, 0x32, 0x22, 0x2b, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x25, 0x12, 0x23, 0x2f, 0x76, 0x32, 0x2f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, + 0x74, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x7d, 0x2f, + 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x73, 0x12, 0x97, 0x01, 0x0a, 0x0b, 0x47, 0x65, + 0x74, 0x54, 0x69, 0x63, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x12, 0x2d, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, - 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x54, 0x72, 0x61, - 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x56, 0x32, 0x22, 0x2b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x25, 0x12, 0x23, 0x2f, 0x76, 0x32, - 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x2f, 0x7b, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, - 0x65, 0x72, 0x7d, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x12, 0xbd, 0x01, 0x0a, 0x1d, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, - 0x54, 0x69, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x56, 0x32, 0x12, 0x2b, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, - 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, - 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x56, 0x32, 0x1a, - 0x38, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, - 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, - 0x69, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x56, 0x32, 0x22, 0x35, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x2f, 0x12, 0x2d, 0x2f, 0x76, 0x32, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x2f, 0x7b, 0x74, 0x69, 0x63, - 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x7d, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x73, - 0x12, 0xc6, 0x01, 0x0a, 0x1d, 0x47, 0x65, 0x74, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x64, - 0x54, 0x69, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x56, 0x32, 0x12, 0x2b, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, - 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, - 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x56, 0x32, 0x1a, - 0x38, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, - 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, - 0x69, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x56, 0x32, 0x22, 0x3e, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x38, 0x12, 0x36, 0x2f, 0x76, 0x32, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x2f, 0x7b, 0x74, 0x69, 0x63, - 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x7d, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x73, - 0x2f, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x64, 0x12, 0x9c, 0x01, 0x0a, 0x10, 0x47, 0x65, - 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x32, 0x12, 0x32, + 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x44, 0x61, 0x74, + 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, + 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, + 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x44, 0x61, 0x74, 0x61, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x29, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x23, + 0x12, 0x21, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x73, 0x2f, 0x7b, 0x74, 0x69, 0x63, + 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x7d, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x2d, 0x64, + 0x61, 0x74, 0x61, 0x12, 0xb0, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x51, 0x75, 0x6f, 0x72, 0x75, + 0x6d, 0x54, 0x69, 0x63, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x12, 0x33, 0x2e, 0x71, 0x75, 0x62, 0x69, + 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, + 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x51, 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x54, + 0x69, 0x63, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, - 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, - 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x56, 0x32, 0x1a, 0x33, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, - 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, - 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x56, 0x32, 0x22, 0x1f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x19, 0x12, - 0x17, 0x2f, 0x76, 0x32, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x2f, 0x7b, 0x74, 0x78, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xbd, 0x01, 0x0a, 0x18, 0x47, 0x65, 0x74, - 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x61, 0x6e, 0x79, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x56, 0x32, 0x12, 0x3a, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, - 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, - 0x62, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x61, 0x6e, 0x79, 0x54, 0x72, 0x61, - 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x56, - 0x32, 0x1a, 0x3b, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, - 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, - 0x74, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x61, 0x6e, 0x79, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x56, 0x32, 0x22, 0x28, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x22, 0x12, 0x20, 0x2f, 0x76, 0x32, 0x2f, 0x74, 0x72, 0x61, 0x6e, - 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x7b, 0x74, 0x78, 0x5f, 0x69, 0x64, 0x7d, 0x2f, - 0x73, 0x65, 0x6e, 0x64, 0x6d, 0x61, 0x6e, 0x79, 0x12, 0xd6, 0x01, 0x0a, 0x21, 0x47, 0x65, 0x74, - 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, - 0x73, 0x49, 0x6e, 0x54, 0x69, 0x63, 0x6b, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x56, 0x32, 0x12, 0x40, + 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x51, 0x75, + 0x6f, 0x72, 0x75, 0x6d, 0x54, 0x69, 0x63, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x30, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2a, 0x12, 0x28, 0x2f, 0x76, + 0x31, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x73, 0x2f, 0x7b, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x75, + 0x6d, 0x62, 0x65, 0x72, 0x7d, 0x2f, 0x71, 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x2d, 0x74, 0x69, 0x63, + 0x6b, 0x2d, 0x64, 0x61, 0x74, 0x61, 0x12, 0xb2, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x54, 0x69, + 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x35, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, - 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, - 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x50, 0x65, 0x72, 0x54, 0x69, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x44, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, - 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, - 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, - 0x73, 0x49, 0x6e, 0x54, 0x69, 0x63, 0x6b, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x56, 0x32, 0x22, 0x29, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x23, 0x12, 0x21, - 0x2f, 0x76, 0x32, 0x2f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2f, 0x7b, 0x69, 0x64, - 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x7d, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, - 0x73, 0x12, 0x97, 0x01, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x44, 0x61, 0x74, - 0x61, 0x12, 0x2d, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, + 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x69, + 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, + 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, + 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2c, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x26, 0x12, 0x24, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x73, + 0x2f, 0x7b, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x7d, 0x2f, 0x74, + 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0xc3, 0x01, 0x0a, 0x1b, + 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x54, + 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x35, 0x2e, 0x71, 0x75, + 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, + 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x54, + 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, + 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, + 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x35, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x2f, 0x12, 0x2d, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x73, 0x2f, 0x7b, 0x74, + 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x7d, 0x2f, 0x74, 0x72, 0x61, 0x6e, + 0x73, 0x66, 0x65, 0x72, 0x2d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x12, 0xd3, 0x01, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x41, 0x70, 0x70, + 0x72, 0x6f, 0x76, 0x65, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x12, 0x3d, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, - 0x74, 0x54, 0x69, 0x63, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x2e, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, + 0x74, 0x54, 0x69, 0x63, 0x6b, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x64, 0x54, 0x72, 0x61, + 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x3e, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, - 0x54, 0x69, 0x63, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x29, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x23, 0x12, 0x21, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x69, + 0x54, 0x69, 0x63, 0x6b, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x64, 0x54, 0x72, 0x61, 0x6e, + 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x35, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x12, 0x2d, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x73, 0x2f, 0x7b, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, - 0x7d, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x2d, 0x64, 0x61, 0x74, 0x61, 0x12, 0xb0, 0x01, 0x0a, 0x11, - 0x47, 0x65, 0x74, 0x51, 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x54, 0x69, 0x63, 0x6b, 0x44, 0x61, 0x74, - 0x61, 0x12, 0x33, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, - 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, - 0x74, 0x51, 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x54, 0x69, 0x63, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, + 0x7d, 0x2f, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x64, 0x2d, 0x74, 0x72, 0x61, 0x6e, 0x73, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x9b, 0x01, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x43, + 0x68, 0x61, 0x69, 0x6e, 0x48, 0x61, 0x73, 0x68, 0x12, 0x2e, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, + 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, + 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x48, 0x61, 0x73, + 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, + 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, + 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x48, 0x61, 0x73, + 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2a, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x24, 0x12, 0x22, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x73, 0x2f, 0x7b, 0x74, 0x69, + 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x7d, 0x2f, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x2d, 0x68, 0x61, 0x73, 0x68, 0x12, 0x9b, 0x01, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x53, 0x74, 0x6f, + 0x72, 0x65, 0x48, 0x61, 0x73, 0x68, 0x12, 0x2e, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, - 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x51, 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x54, 0x69, 0x63, 0x6b, - 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x30, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x2a, 0x12, 0x28, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x73, 0x2f, - 0x7b, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x7d, 0x2f, 0x71, 0x75, - 0x6f, 0x72, 0x75, 0x6d, 0x2d, 0x74, 0x69, 0x63, 0x6b, 0x2d, 0x64, 0x61, 0x74, 0x61, 0x12, 0xb2, - 0x01, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x35, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, + 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x48, 0x61, 0x73, 0x68, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, - 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, - 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, - 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, - 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x26, 0x12, 0x24, 0x2f, - 0x76, 0x31, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x73, 0x2f, 0x7b, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x6e, - 0x75, 0x6d, 0x62, 0x65, 0x72, 0x7d, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x12, 0xc3, 0x01, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x54, - 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x12, 0x35, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, - 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, - 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x71, 0x75, 0x62, - 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, - 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x54, 0x72, - 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x35, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x12, 0x2d, 0x2f, 0x76, 0x31, 0x2f, - 0x74, 0x69, 0x63, 0x6b, 0x73, 0x2f, 0x7b, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, - 0x65, 0x72, 0x7d, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2d, 0x74, 0x72, 0x61, - 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0xd3, 0x01, 0x0a, 0x1b, 0x47, 0x65, - 0x74, 0x54, 0x69, 0x63, 0x6b, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x64, 0x54, 0x72, 0x61, - 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3d, 0x2e, 0x71, 0x75, 0x62, 0x69, - 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, - 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x41, 0x70, 0x70, - 0x72, 0x6f, 0x76, 0x65, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3e, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, + 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x48, 0x61, 0x73, 0x68, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x24, 0x12, + 0x22, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x73, 0x2f, 0x7b, 0x74, 0x69, 0x63, 0x6b, + 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x7d, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2d, 0x68, + 0x61, 0x73, 0x68, 0x12, 0x97, 0x01, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x30, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, + 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, + 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, - 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x41, 0x70, 0x70, 0x72, - 0x6f, 0x76, 0x65, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x35, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, - 0x12, 0x2d, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x73, 0x2f, 0x7b, 0x74, 0x69, 0x63, - 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x7d, 0x2f, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, - 0x65, 0x64, 0x2d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, - 0x9b, 0x01, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x48, 0x61, 0x73, 0x68, - 0x12, 0x2e, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, - 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, - 0x43, 0x68, 0x61, 0x69, 0x6e, 0x48, 0x61, 0x73, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x2f, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, - 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, - 0x43, 0x68, 0x61, 0x69, 0x6e, 0x48, 0x61, 0x73, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x2a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x24, 0x12, 0x22, 0x2f, 0x76, 0x31, 0x2f, 0x74, - 0x69, 0x63, 0x6b, 0x73, 0x2f, 0x7b, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, - 0x72, 0x7d, 0x2f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2d, 0x68, 0x61, 0x73, 0x68, 0x12, 0x9b, 0x01, - 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x48, 0x61, 0x73, 0x68, 0x12, 0x2e, - 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, - 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, - 0x61, 0x69, 0x6e, 0x48, 0x61, 0x73, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, - 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, - 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, - 0x61, 0x69, 0x6e, 0x48, 0x61, 0x73, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x2a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x24, 0x12, 0x22, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x69, 0x63, - 0x6b, 0x73, 0x2f, 0x7b, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x7d, - 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2d, 0x68, 0x61, 0x73, 0x68, 0x12, 0x97, 0x01, 0x0a, 0x0e, - 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x30, - 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, - 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, - 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x31, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, - 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, - 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x20, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x12, 0x18, 0x2f, 0x76, 0x31, - 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x74, - 0x78, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xa6, 0x01, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, - 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x36, + 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x20, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x1a, 0x12, 0x18, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x74, 0x78, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xa6, 0x01, + 0x0a, 0x14, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x36, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, + 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, + 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, - 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, - 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x1d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x17, 0x12, 0x15, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x78, 0x2d, - 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2f, 0x7b, 0x74, 0x78, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xde, - 0x01, 0x0a, 0x1e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x54, 0x72, - 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x50, 0x65, 0x72, 0x54, 0x69, 0x63, - 0x6b, 0x12, 0x40, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, - 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, - 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x50, 0x65, 0x72, 0x54, 0x69, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x41, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, - 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, - 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x54, 0x72, 0x61, 0x6e, 0x73, - 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x50, 0x65, 0x72, 0x54, 0x69, 0x63, 0x6b, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x37, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x31, 0x12, 0x2f, - 0x2f, 0x76, 0x31, 0x2f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x7b, - 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x7d, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, - 0x65, 0x72, 0x2d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, - 0x95, 0x01, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x6f, 0x72, 0x73, - 0x12, 0x2e, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, - 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, - 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x2f, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, - 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, - 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x24, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x12, 0x1c, 0x2f, 0x76, 0x31, 0x2f, 0x65, - 0x70, 0x6f, 0x63, 0x68, 0x73, 0x2f, 0x7b, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x7d, 0x2f, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x65, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x2c, 0x2e, 0x71, - 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, - 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x12, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x0c, 0x12, 0x0a, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x73, - 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x12, - 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x32, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, - 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, - 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x54, 0x69, 0x63, - 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x56, 0x32, 0x22, 0x16, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x10, 0x12, 0x0e, 0x2f, 0x76, 0x31, 0x2f, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x54, - 0x69, 0x63, 0x6b, 0x12, 0x74, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, - 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x31, 0x2e, - 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, - 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x48, 0x65, 0x61, - 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x17, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x11, 0x12, 0x0f, 0x2f, 0x76, 0x31, 0x2f, 0x68, 0x65, - 0x61, 0x6c, 0x74, 0x68, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x42, 0x29, 0x5a, 0x27, 0x67, 0x69, 0x74, - 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2f, 0x67, 0x6f, - 0x2d, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x66, 0x2f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x17, 0x12, + 0x15, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x78, 0x2d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2f, 0x7b, + 0x74, 0x78, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xde, 0x01, 0x0a, 0x1e, 0x47, 0x65, 0x74, 0x54, 0x72, + 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x50, 0x65, 0x72, 0x54, 0x69, 0x63, 0x6b, 0x12, 0x40, 0x2e, 0x71, 0x75, 0x62, 0x69, + 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, + 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, + 0x72, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x50, 0x65, 0x72, + 0x54, 0x69, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x41, 0x2e, 0x71, 0x75, + 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, + 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, + 0x66, 0x65, 0x72, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x50, + 0x65, 0x72, 0x54, 0x69, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x37, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x31, 0x12, 0x2f, 0x2f, 0x76, 0x31, 0x2f, 0x69, 0x64, 0x65, 0x6e, + 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, + 0x7d, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2d, 0x74, 0x72, 0x61, 0x6e, 0x73, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x95, 0x01, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x43, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x2e, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, + 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, + 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x6f, 0x72, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, + 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, + 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x6f, 0x72, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x24, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x1e, 0x12, 0x1c, 0x2f, 0x76, 0x31, 0x2f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x73, 0x2f, 0x7b, 0x65, + 0x70, 0x6f, 0x63, 0x68, 0x7d, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x6f, 0x72, 0x73, 0x12, + 0x65, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, + 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x2c, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, + 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, + 0x2e, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x12, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0c, 0x12, 0x0a, 0x2f, 0x76, 0x31, 0x2f, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x73, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x74, + 0x65, 0x73, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, + 0x32, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, + 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x4c, + 0x61, 0x74, 0x65, 0x73, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x56, 0x32, 0x22, 0x16, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x10, 0x12, 0x0e, 0x2f, 0x76, 0x31, + 0x2f, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x12, 0x74, 0x0a, 0x0e, 0x47, + 0x65, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x16, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x31, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, + 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, + 0x62, 0x2e, 0x47, 0x65, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x17, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x11, + 0x12, 0x0f, 0x2f, 0x76, 0x31, 0x2f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x63, 0x68, 0x65, 0x63, + 0x6b, 0x42, 0x29, 0x5a, 0x27, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x71, 0x75, 0x62, 0x69, 0x63, 0x2f, 0x67, 0x6f, 0x2d, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, + 0x72, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x66, 0x2f, 0x62, 0x06, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -3678,7 +3728,7 @@ func file_archive_proto_rawDescGZIP() []byte { return file_archive_proto_rawDescData } -var file_archive_proto_msgTypes = make([]protoimpl.MessageInfo, 53) +var file_archive_proto_msgTypes = make([]protoimpl.MessageInfo, 54) var file_archive_proto_goTypes = []interface{}{ (*TickData)(nil), // 0: qubic.archiver.archive.pb.TickData (*GetTickDataRequest)(nil), // 1: qubic.archiver.archive.pb.GetTickDataRequest @@ -3731,9 +3781,10 @@ var file_archive_proto_goTypes = []interface{}{ (*GetTickTransactionsResponseV2)(nil), // 48: qubic.archiver.archive.pb.GetTickTransactionsResponseV2 (*GetTransactionRequestV2)(nil), // 49: qubic.archiver.archive.pb.GetTransactionRequestV2 (*GetTransactionResponseV2)(nil), // 50: qubic.archiver.archive.pb.GetTransactionResponseV2 - nil, // 51: qubic.archiver.archive.pb.QuorumTickData.QuorumDiffPerComputorEntry - nil, // 52: qubic.archiver.archive.pb.GetStatusResponse.LastProcessedTicksPerEpochEntry - (*emptypb.Empty)(nil), // 53: google.protobuf.Empty + (*GetTickTransactionsRequestV2)(nil), // 51: qubic.archiver.archive.pb.GetTickTransactionsRequestV2 + nil, // 52: qubic.archiver.archive.pb.QuorumTickData.QuorumDiffPerComputorEntry + nil, // 53: qubic.archiver.archive.pb.GetStatusResponse.LastProcessedTicksPerEpochEntry + (*emptypb.Empty)(nil), // 54: google.protobuf.Empty } var file_archive_proto_depIdxs = []int32{ 0, // 0: qubic.archiver.archive.pb.GetTickDataResponse.tick_data:type_name -> qubic.archiver.archive.pb.TickData @@ -3744,12 +3795,12 @@ var file_archive_proto_depIdxs = []int32{ 3, // 5: qubic.archiver.archive.pb.GetTickApprovedTransactionsResponse.approved_transactions:type_name -> qubic.archiver.archive.pb.Transaction 18, // 6: qubic.archiver.archive.pb.SkippedTicksIntervalList.skipped_ticks:type_name -> qubic.archiver.archive.pb.SkippedTicksInterval 17, // 7: qubic.archiver.archive.pb.QuorumTickData.quorum_tick_structure:type_name -> qubic.archiver.archive.pb.QuorumTickStructure - 51, // 8: qubic.archiver.archive.pb.QuorumTickData.quorum_diff_per_computor:type_name -> qubic.archiver.archive.pb.QuorumTickData.QuorumDiffPerComputorEntry + 52, // 8: qubic.archiver.archive.pb.QuorumTickData.quorum_diff_per_computor:type_name -> qubic.archiver.archive.pb.QuorumTickData.QuorumDiffPerComputorEntry 20, // 9: qubic.archiver.archive.pb.GetQuorumTickDataResponse.quorum_tick_data:type_name -> qubic.archiver.archive.pb.QuorumTickData 23, // 10: qubic.archiver.archive.pb.GetComputorsResponse.computors:type_name -> qubic.archiver.archive.pb.Computors 3, // 11: qubic.archiver.archive.pb.TransferTransactionsPerTick.transactions:type_name -> qubic.archiver.archive.pb.Transaction 27, // 12: qubic.archiver.archive.pb.GetStatusResponse.last_processed_tick:type_name -> qubic.archiver.archive.pb.ProcessedTick - 52, // 13: qubic.archiver.archive.pb.GetStatusResponse.last_processed_ticks_per_epoch:type_name -> qubic.archiver.archive.pb.GetStatusResponse.LastProcessedTicksPerEpochEntry + 53, // 13: qubic.archiver.archive.pb.GetStatusResponse.last_processed_ticks_per_epoch:type_name -> qubic.archiver.archive.pb.GetStatusResponse.LastProcessedTicksPerEpochEntry 18, // 14: qubic.archiver.archive.pb.GetStatusResponse.skipped_ticks:type_name -> qubic.archiver.archive.pb.SkippedTicksInterval 35, // 15: qubic.archiver.archive.pb.GetStatusResponse.processed_tick_intervals_per_epoch:type_name -> qubic.archiver.archive.pb.ProcessedTickIntervalsPerEpoch 26, // 16: qubic.archiver.archive.pb.GetTransferTransactionsPerTickResponse.transfer_transactions_per_tick:type_name -> qubic.archiver.archive.pb.TransferTransactionsPerTick @@ -3764,56 +3815,50 @@ var file_archive_proto_depIdxs = []int32{ 45, // 25: qubic.archiver.archive.pb.GetTickTransactionsResponseV2.transactions:type_name -> qubic.archiver.archive.pb.TransactionData 3, // 26: qubic.archiver.archive.pb.GetTransactionResponseV2.transaction:type_name -> qubic.archiver.archive.pb.Transaction 16, // 27: qubic.archiver.archive.pb.QuorumTickData.QuorumDiffPerComputorEntry.value:type_name -> qubic.archiver.archive.pb.QuorumDiff - 53, // 28: qubic.archiver.archive.pb.ArchiveService.GetLatestTickV2:input_type -> google.protobuf.Empty - 47, // 29: qubic.archiver.archive.pb.ArchiveService.GetTickQuorumDataV2:input_type -> qubic.archiver.archive.pb.GetTickRequestV2 - 47, // 30: qubic.archiver.archive.pb.ArchiveService.GetTickChainHashV2:input_type -> qubic.archiver.archive.pb.GetTickRequestV2 - 47, // 31: qubic.archiver.archive.pb.ArchiveService.GetTickStoreHashV2:input_type -> qubic.archiver.archive.pb.GetTickRequestV2 - 47, // 32: qubic.archiver.archive.pb.ArchiveService.GetAllTickTransactionsV2:input_type -> qubic.archiver.archive.pb.GetTickRequestV2 - 47, // 33: qubic.archiver.archive.pb.ArchiveService.GetTransferTickTransactionsV2:input_type -> qubic.archiver.archive.pb.GetTickRequestV2 - 47, // 34: qubic.archiver.archive.pb.ArchiveService.GetApprovedTickTransactionsV2:input_type -> qubic.archiver.archive.pb.GetTickRequestV2 - 49, // 35: qubic.archiver.archive.pb.ArchiveService.GetTransactionV2:input_type -> qubic.archiver.archive.pb.GetTransactionRequestV2 - 43, // 36: qubic.archiver.archive.pb.ArchiveService.GetSendManyTransactionV2:input_type -> qubic.archiver.archive.pb.GetSendManyTransactionRequestV2 - 30, // 37: qubic.archiver.archive.pb.ArchiveService.GetIdentityTransfersInTickRangeV2:input_type -> qubic.archiver.archive.pb.GetTransferTransactionsPerTickRequest - 1, // 38: qubic.archiver.archive.pb.ArchiveService.GetTickData:input_type -> qubic.archiver.archive.pb.GetTickDataRequest - 21, // 39: qubic.archiver.archive.pb.ArchiveService.GetQuorumTickData:input_type -> qubic.archiver.archive.pb.GetQuorumTickDataRequest - 12, // 40: qubic.archiver.archive.pb.ArchiveService.GetTickTransactions:input_type -> qubic.archiver.archive.pb.GetTickTransactionsRequest - 12, // 41: qubic.archiver.archive.pb.ArchiveService.GetTickTransferTransactions:input_type -> qubic.archiver.archive.pb.GetTickTransactionsRequest - 14, // 42: qubic.archiver.archive.pb.ArchiveService.GetTickApprovedTransactions:input_type -> qubic.archiver.archive.pb.GetTickApprovedTransactionsRequest - 32, // 43: qubic.archiver.archive.pb.ArchiveService.GetChainHash:input_type -> qubic.archiver.archive.pb.GetChainHashRequest - 32, // 44: qubic.archiver.archive.pb.ArchiveService.GetStoreHash:input_type -> qubic.archiver.archive.pb.GetChainHashRequest - 8, // 45: qubic.archiver.archive.pb.ArchiveService.GetTransaction:input_type -> qubic.archiver.archive.pb.GetTransactionRequest - 10, // 46: qubic.archiver.archive.pb.ArchiveService.GetTransactionStatus:input_type -> qubic.archiver.archive.pb.GetTransactionStatusRequest - 30, // 47: qubic.archiver.archive.pb.ArchiveService.GetTransferTransactionsPerTick:input_type -> qubic.archiver.archive.pb.GetTransferTransactionsPerTickRequest - 24, // 48: qubic.archiver.archive.pb.ArchiveService.GetComputors:input_type -> qubic.archiver.archive.pb.GetComputorsRequest - 53, // 49: qubic.archiver.archive.pb.ArchiveService.GetStatus:input_type -> google.protobuf.Empty - 53, // 50: qubic.archiver.archive.pb.ArchiveService.GetLatestTick:input_type -> google.protobuf.Empty - 53, // 51: qubic.archiver.archive.pb.ArchiveService.GetHealthCheck:input_type -> google.protobuf.Empty - 46, // 52: qubic.archiver.archive.pb.ArchiveService.GetLatestTickV2:output_type -> qubic.archiver.archive.pb.GetLatestTickResponseV2 - 22, // 53: qubic.archiver.archive.pb.ArchiveService.GetTickQuorumDataV2:output_type -> qubic.archiver.archive.pb.GetQuorumTickDataResponse - 33, // 54: qubic.archiver.archive.pb.ArchiveService.GetTickChainHashV2:output_type -> qubic.archiver.archive.pb.GetChainHashResponse - 33, // 55: qubic.archiver.archive.pb.ArchiveService.GetTickStoreHashV2:output_type -> qubic.archiver.archive.pb.GetChainHashResponse - 48, // 56: qubic.archiver.archive.pb.ArchiveService.GetAllTickTransactionsV2:output_type -> qubic.archiver.archive.pb.GetTickTransactionsResponseV2 - 48, // 57: qubic.archiver.archive.pb.ArchiveService.GetTransferTickTransactionsV2:output_type -> qubic.archiver.archive.pb.GetTickTransactionsResponseV2 - 48, // 58: qubic.archiver.archive.pb.ArchiveService.GetApprovedTickTransactionsV2:output_type -> qubic.archiver.archive.pb.GetTickTransactionsResponseV2 - 50, // 59: qubic.archiver.archive.pb.ArchiveService.GetTransactionV2:output_type -> qubic.archiver.archive.pb.GetTransactionResponseV2 - 44, // 60: qubic.archiver.archive.pb.ArchiveService.GetSendManyTransactionV2:output_type -> qubic.archiver.archive.pb.GetSendManyTransactionResponseV2 - 39, // 61: qubic.archiver.archive.pb.ArchiveService.GetIdentityTransfersInTickRangeV2:output_type -> qubic.archiver.archive.pb.GetIdentityTransfersInTickRangeResponseV2 - 2, // 62: qubic.archiver.archive.pb.ArchiveService.GetTickData:output_type -> qubic.archiver.archive.pb.GetTickDataResponse - 22, // 63: qubic.archiver.archive.pb.ArchiveService.GetQuorumTickData:output_type -> qubic.archiver.archive.pb.GetQuorumTickDataResponse - 13, // 64: qubic.archiver.archive.pb.ArchiveService.GetTickTransactions:output_type -> qubic.archiver.archive.pb.GetTickTransactionsResponse - 13, // 65: qubic.archiver.archive.pb.ArchiveService.GetTickTransferTransactions:output_type -> qubic.archiver.archive.pb.GetTickTransactionsResponse - 15, // 66: qubic.archiver.archive.pb.ArchiveService.GetTickApprovedTransactions:output_type -> qubic.archiver.archive.pb.GetTickApprovedTransactionsResponse - 33, // 67: qubic.archiver.archive.pb.ArchiveService.GetChainHash:output_type -> qubic.archiver.archive.pb.GetChainHashResponse - 33, // 68: qubic.archiver.archive.pb.ArchiveService.GetStoreHash:output_type -> qubic.archiver.archive.pb.GetChainHashResponse - 9, // 69: qubic.archiver.archive.pb.ArchiveService.GetTransaction:output_type -> qubic.archiver.archive.pb.GetTransactionResponse - 11, // 70: qubic.archiver.archive.pb.ArchiveService.GetTransactionStatus:output_type -> qubic.archiver.archive.pb.GetTransactionStatusResponse - 31, // 71: qubic.archiver.archive.pb.ArchiveService.GetTransferTransactionsPerTick:output_type -> qubic.archiver.archive.pb.GetTransferTransactionsPerTickResponse - 25, // 72: qubic.archiver.archive.pb.ArchiveService.GetComputors:output_type -> qubic.archiver.archive.pb.GetComputorsResponse - 28, // 73: qubic.archiver.archive.pb.ArchiveService.GetStatus:output_type -> qubic.archiver.archive.pb.GetStatusResponse - 46, // 74: qubic.archiver.archive.pb.ArchiveService.GetLatestTick:output_type -> qubic.archiver.archive.pb.GetLatestTickResponseV2 - 29, // 75: qubic.archiver.archive.pb.ArchiveService.GetHealthCheck:output_type -> qubic.archiver.archive.pb.GetHealthCheckResponse - 52, // [52:76] is the sub-list for method output_type - 28, // [28:52] is the sub-list for method input_type + 47, // 28: qubic.archiver.archive.pb.ArchiveService.GetTickQuorumDataV2:input_type -> qubic.archiver.archive.pb.GetTickRequestV2 + 47, // 29: qubic.archiver.archive.pb.ArchiveService.GetTickChainHashV2:input_type -> qubic.archiver.archive.pb.GetTickRequestV2 + 47, // 30: qubic.archiver.archive.pb.ArchiveService.GetTickStoreHashV2:input_type -> qubic.archiver.archive.pb.GetTickRequestV2 + 51, // 31: qubic.archiver.archive.pb.ArchiveService.GetTickTransactionsV2:input_type -> qubic.archiver.archive.pb.GetTickTransactionsRequestV2 + 49, // 32: qubic.archiver.archive.pb.ArchiveService.GetTransactionV2:input_type -> qubic.archiver.archive.pb.GetTransactionRequestV2 + 43, // 33: qubic.archiver.archive.pb.ArchiveService.GetSendManyTransactionV2:input_type -> qubic.archiver.archive.pb.GetSendManyTransactionRequestV2 + 30, // 34: qubic.archiver.archive.pb.ArchiveService.GetIdentityTransfersInTickRangeV2:input_type -> qubic.archiver.archive.pb.GetTransferTransactionsPerTickRequest + 1, // 35: qubic.archiver.archive.pb.ArchiveService.GetTickData:input_type -> qubic.archiver.archive.pb.GetTickDataRequest + 21, // 36: qubic.archiver.archive.pb.ArchiveService.GetQuorumTickData:input_type -> qubic.archiver.archive.pb.GetQuorumTickDataRequest + 12, // 37: qubic.archiver.archive.pb.ArchiveService.GetTickTransactions:input_type -> qubic.archiver.archive.pb.GetTickTransactionsRequest + 12, // 38: qubic.archiver.archive.pb.ArchiveService.GetTickTransferTransactions:input_type -> qubic.archiver.archive.pb.GetTickTransactionsRequest + 14, // 39: qubic.archiver.archive.pb.ArchiveService.GetTickApprovedTransactions:input_type -> qubic.archiver.archive.pb.GetTickApprovedTransactionsRequest + 32, // 40: qubic.archiver.archive.pb.ArchiveService.GetChainHash:input_type -> qubic.archiver.archive.pb.GetChainHashRequest + 32, // 41: qubic.archiver.archive.pb.ArchiveService.GetStoreHash:input_type -> qubic.archiver.archive.pb.GetChainHashRequest + 8, // 42: qubic.archiver.archive.pb.ArchiveService.GetTransaction:input_type -> qubic.archiver.archive.pb.GetTransactionRequest + 10, // 43: qubic.archiver.archive.pb.ArchiveService.GetTransactionStatus:input_type -> qubic.archiver.archive.pb.GetTransactionStatusRequest + 30, // 44: qubic.archiver.archive.pb.ArchiveService.GetTransferTransactionsPerTick:input_type -> qubic.archiver.archive.pb.GetTransferTransactionsPerTickRequest + 24, // 45: qubic.archiver.archive.pb.ArchiveService.GetComputors:input_type -> qubic.archiver.archive.pb.GetComputorsRequest + 54, // 46: qubic.archiver.archive.pb.ArchiveService.GetStatus:input_type -> google.protobuf.Empty + 54, // 47: qubic.archiver.archive.pb.ArchiveService.GetLatestTick:input_type -> google.protobuf.Empty + 54, // 48: qubic.archiver.archive.pb.ArchiveService.GetHealthCheck:input_type -> google.protobuf.Empty + 22, // 49: qubic.archiver.archive.pb.ArchiveService.GetTickQuorumDataV2:output_type -> qubic.archiver.archive.pb.GetQuorumTickDataResponse + 33, // 50: qubic.archiver.archive.pb.ArchiveService.GetTickChainHashV2:output_type -> qubic.archiver.archive.pb.GetChainHashResponse + 33, // 51: qubic.archiver.archive.pb.ArchiveService.GetTickStoreHashV2:output_type -> qubic.archiver.archive.pb.GetChainHashResponse + 48, // 52: qubic.archiver.archive.pb.ArchiveService.GetTickTransactionsV2:output_type -> qubic.archiver.archive.pb.GetTickTransactionsResponseV2 + 50, // 53: qubic.archiver.archive.pb.ArchiveService.GetTransactionV2:output_type -> qubic.archiver.archive.pb.GetTransactionResponseV2 + 44, // 54: qubic.archiver.archive.pb.ArchiveService.GetSendManyTransactionV2:output_type -> qubic.archiver.archive.pb.GetSendManyTransactionResponseV2 + 39, // 55: qubic.archiver.archive.pb.ArchiveService.GetIdentityTransfersInTickRangeV2:output_type -> qubic.archiver.archive.pb.GetIdentityTransfersInTickRangeResponseV2 + 2, // 56: qubic.archiver.archive.pb.ArchiveService.GetTickData:output_type -> qubic.archiver.archive.pb.GetTickDataResponse + 22, // 57: qubic.archiver.archive.pb.ArchiveService.GetQuorumTickData:output_type -> qubic.archiver.archive.pb.GetQuorumTickDataResponse + 13, // 58: qubic.archiver.archive.pb.ArchiveService.GetTickTransactions:output_type -> qubic.archiver.archive.pb.GetTickTransactionsResponse + 13, // 59: qubic.archiver.archive.pb.ArchiveService.GetTickTransferTransactions:output_type -> qubic.archiver.archive.pb.GetTickTransactionsResponse + 15, // 60: qubic.archiver.archive.pb.ArchiveService.GetTickApprovedTransactions:output_type -> qubic.archiver.archive.pb.GetTickApprovedTransactionsResponse + 33, // 61: qubic.archiver.archive.pb.ArchiveService.GetChainHash:output_type -> qubic.archiver.archive.pb.GetChainHashResponse + 33, // 62: qubic.archiver.archive.pb.ArchiveService.GetStoreHash:output_type -> qubic.archiver.archive.pb.GetChainHashResponse + 9, // 63: qubic.archiver.archive.pb.ArchiveService.GetTransaction:output_type -> qubic.archiver.archive.pb.GetTransactionResponse + 11, // 64: qubic.archiver.archive.pb.ArchiveService.GetTransactionStatus:output_type -> qubic.archiver.archive.pb.GetTransactionStatusResponse + 31, // 65: qubic.archiver.archive.pb.ArchiveService.GetTransferTransactionsPerTick:output_type -> qubic.archiver.archive.pb.GetTransferTransactionsPerTickResponse + 25, // 66: qubic.archiver.archive.pb.ArchiveService.GetComputors:output_type -> qubic.archiver.archive.pb.GetComputorsResponse + 28, // 67: qubic.archiver.archive.pb.ArchiveService.GetStatus:output_type -> qubic.archiver.archive.pb.GetStatusResponse + 46, // 68: qubic.archiver.archive.pb.ArchiveService.GetLatestTick:output_type -> qubic.archiver.archive.pb.GetLatestTickResponseV2 + 29, // 69: qubic.archiver.archive.pb.ArchiveService.GetHealthCheck:output_type -> qubic.archiver.archive.pb.GetHealthCheckResponse + 49, // [49:70] is the sub-list for method output_type + 28, // [28:49] is the sub-list for method input_type 28, // [28:28] is the sub-list for extension type_name 28, // [28:28] is the sub-list for extension extendee 0, // [0:28] is the sub-list for field type_name @@ -4437,6 +4482,18 @@ func file_archive_proto_init() { return nil } } + file_archive_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetTickTransactionsRequestV2); 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{ @@ -4444,7 +4501,7 @@ func file_archive_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_archive_proto_rawDesc, NumEnums: 0, - NumMessages: 53, + NumMessages: 54, NumExtensions: 0, NumServices: 1, }, diff --git a/protobuff/archive.pb.gw.go b/protobuff/archive.pb.gw.go index 41a4a2b..cd7725d 100644 --- a/protobuff/archive.pb.gw.go +++ b/protobuff/archive.pb.gw.go @@ -32,24 +32,6 @@ var _ = runtime.String var _ = utilities.NewDoubleArray var _ = metadata.Join -func request_ArchiveService_GetLatestTickV2_0(ctx context.Context, marshaler runtime.Marshaler, client ArchiveServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq emptypb.Empty - var metadata runtime.ServerMetadata - - msg, err := client.GetLatestTickV2(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_ArchiveService_GetLatestTickV2_0(ctx context.Context, marshaler runtime.Marshaler, server ArchiveServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq emptypb.Empty - var metadata runtime.ServerMetadata - - msg, err := server.GetLatestTickV2(ctx, &protoReq) - return msg, metadata, err - -} - func request_ArchiveService_GetTickQuorumDataV2_0(ctx context.Context, marshaler runtime.Marshaler, client ArchiveServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq GetTickRequestV2 var metadata runtime.ServerMetadata @@ -206,34 +188,12 @@ func local_request_ArchiveService_GetTickStoreHashV2_0(ctx context.Context, mars } -func request_ArchiveService_GetAllTickTransactionsV2_0(ctx context.Context, marshaler runtime.Marshaler, client ArchiveServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetTickRequestV2 - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["tick_number"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "tick_number") - } - - protoReq.TickNumber, err = runtime.Uint32(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "tick_number", err) - } - - msg, err := client.GetAllTickTransactionsV2(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} +var ( + filter_ArchiveService_GetTickTransactionsV2_0 = &utilities.DoubleArray{Encoding: map[string]int{"tick_number": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} +) -func local_request_ArchiveService_GetAllTickTransactionsV2_0(ctx context.Context, marshaler runtime.Marshaler, server ArchiveServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetTickRequestV2 +func request_ArchiveService_GetTickTransactionsV2_0(ctx context.Context, marshaler runtime.Marshaler, client ArchiveServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetTickTransactionsRequestV2 var metadata runtime.ServerMetadata var ( @@ -253,39 +213,20 @@ func local_request_ArchiveService_GetAllTickTransactionsV2_0(ctx context.Context return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "tick_number", err) } - msg, err := server.GetAllTickTransactionsV2(ctx, &protoReq) - return msg, metadata, err - -} - -func request_ArchiveService_GetTransferTickTransactionsV2_0(ctx context.Context, marshaler runtime.Marshaler, client ArchiveServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetTickRequestV2 - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["tick_number"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "tick_number") + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - - protoReq.TickNumber, err = runtime.Uint32(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "tick_number", err) + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_ArchiveService_GetTickTransactionsV2_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - msg, err := client.GetTransferTickTransactionsV2(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + msg, err := client.GetTickTransactionsV2(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err } -func local_request_ArchiveService_GetTransferTickTransactionsV2_0(ctx context.Context, marshaler runtime.Marshaler, server ArchiveServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetTickRequestV2 +func local_request_ArchiveService_GetTickTransactionsV2_0(ctx context.Context, marshaler runtime.Marshaler, server ArchiveServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetTickTransactionsRequestV2 var metadata runtime.ServerMetadata var ( @@ -305,62 +246,21 @@ func local_request_ArchiveService_GetTransferTickTransactionsV2_0(ctx context.Co return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "tick_number", err) } - msg, err := server.GetTransferTickTransactionsV2(ctx, &protoReq) - return msg, metadata, err - -} - -func request_ArchiveService_GetApprovedTickTransactionsV2_0(ctx context.Context, marshaler runtime.Marshaler, client ArchiveServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetTickRequestV2 - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["tick_number"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "tick_number") + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - - protoReq.TickNumber, err = runtime.Uint32(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "tick_number", err) + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_ArchiveService_GetTickTransactionsV2_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - msg, err := client.GetApprovedTickTransactionsV2(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + msg, err := server.GetTickTransactionsV2(ctx, &protoReq) return msg, metadata, err } -func local_request_ArchiveService_GetApprovedTickTransactionsV2_0(ctx context.Context, marshaler runtime.Marshaler, server ArchiveServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetTickRequestV2 - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["tick_number"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "tick_number") - } - - protoReq.TickNumber, err = runtime.Uint32(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "tick_number", err) - } - - msg, err := server.GetApprovedTickTransactionsV2(ctx, &protoReq) - return msg, metadata, err - -} +var ( + filter_ArchiveService_GetTransactionV2_0 = &utilities.DoubleArray{Encoding: map[string]int{"tx_id": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} +) func request_ArchiveService_GetTransactionV2_0(ctx context.Context, marshaler runtime.Marshaler, client ArchiveServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq GetTransactionRequestV2 @@ -383,6 +283,13 @@ func request_ArchiveService_GetTransactionV2_0(ctx context.Context, marshaler ru return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "tx_id", err) } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_ArchiveService_GetTransactionV2_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := client.GetTransactionV2(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err @@ -409,6 +316,13 @@ func local_request_ArchiveService_GetTransactionV2_0(ctx context.Context, marsha return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "tx_id", err) } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_ArchiveService_GetTransactionV2_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := server.GetTransactionV2(ctx, &protoReq) return msg, metadata, err @@ -1186,31 +1100,6 @@ func local_request_ArchiveService_GetHealthCheck_0(ctx context.Context, marshale // Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterArchiveServiceHandlerFromEndpoint instead. func RegisterArchiveServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux, server ArchiveServiceServer) error { - mux.Handle("GET", pattern_ArchiveService_GetLatestTickV2_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/qubic.archiver.archive.pb.ArchiveService/GetLatestTickV2", runtime.WithHTTPPathPattern("/v2/tick/latest")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_ArchiveService_GetLatestTickV2_0(annotatedContext, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_ArchiveService_GetLatestTickV2_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - mux.Handle("GET", pattern_ArchiveService_GetTickQuorumDataV2_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() @@ -1219,7 +1108,7 @@ func RegisterArchiveServiceHandlerServer(ctx context.Context, mux *runtime.Serve inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/qubic.archiver.archive.pb.ArchiveService/GetTickQuorumDataV2", runtime.WithHTTPPathPattern("/v2/tick/{tick_number}/quorum-data")) + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/qubic.archiver.archive.pb.ArchiveService/GetTickQuorumDataV2", runtime.WithHTTPPathPattern("/v2/ticks/{tick_number}/quorum-data")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -1244,7 +1133,7 @@ func RegisterArchiveServiceHandlerServer(ctx context.Context, mux *runtime.Serve inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/qubic.archiver.archive.pb.ArchiveService/GetTickChainHashV2", runtime.WithHTTPPathPattern("/v2/tick/{tick_number}/hash")) + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/qubic.archiver.archive.pb.ArchiveService/GetTickChainHashV2", runtime.WithHTTPPathPattern("/v2/ticks/{tick_number}/hash")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -1269,7 +1158,7 @@ func RegisterArchiveServiceHandlerServer(ctx context.Context, mux *runtime.Serve inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/qubic.archiver.archive.pb.ArchiveService/GetTickStoreHashV2", runtime.WithHTTPPathPattern("/v2/tick/{tick_number}/store-hash")) + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/qubic.archiver.archive.pb.ArchiveService/GetTickStoreHashV2", runtime.WithHTTPPathPattern("/v2/ticks/{tick_number}/store-hash")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -1286,57 +1175,7 @@ func RegisterArchiveServiceHandlerServer(ctx context.Context, mux *runtime.Serve }) - mux.Handle("GET", pattern_ArchiveService_GetAllTickTransactionsV2_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/qubic.archiver.archive.pb.ArchiveService/GetAllTickTransactionsV2", runtime.WithHTTPPathPattern("/v2/tick/{tick_number}/transactions")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_ArchiveService_GetAllTickTransactionsV2_0(annotatedContext, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_ArchiveService_GetAllTickTransactionsV2_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_ArchiveService_GetTransferTickTransactionsV2_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/qubic.archiver.archive.pb.ArchiveService/GetTransferTickTransactionsV2", runtime.WithHTTPPathPattern("/v2/tick/{tick_number}/transactions/transfers")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_ArchiveService_GetTransferTickTransactionsV2_0(annotatedContext, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_ArchiveService_GetTransferTickTransactionsV2_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_ArchiveService_GetApprovedTickTransactionsV2_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_ArchiveService_GetTickTransactionsV2_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream @@ -1344,12 +1183,12 @@ func RegisterArchiveServiceHandlerServer(ctx context.Context, mux *runtime.Serve inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/qubic.archiver.archive.pb.ArchiveService/GetApprovedTickTransactionsV2", runtime.WithHTTPPathPattern("/v2/tick/{tick_number}/transactions/transfers/approved")) + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/qubic.archiver.archive.pb.ArchiveService/GetTickTransactionsV2", runtime.WithHTTPPathPattern("/v2/ticks/{tick_number}/transactions")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_ArchiveService_GetApprovedTickTransactionsV2_0(annotatedContext, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_ArchiveService_GetTickTransactionsV2_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { @@ -1357,7 +1196,7 @@ func RegisterArchiveServiceHandlerServer(ctx context.Context, mux *runtime.Serve return } - forward_ArchiveService_GetApprovedTickTransactionsV2_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_ArchiveService_GetTickTransactionsV2_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1369,7 +1208,7 @@ func RegisterArchiveServiceHandlerServer(ctx context.Context, mux *runtime.Serve inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/qubic.archiver.archive.pb.ArchiveService/GetTransactionV2", runtime.WithHTTPPathPattern("/v2/transaction/{tx_id}")) + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/qubic.archiver.archive.pb.ArchiveService/GetTransactionV2", runtime.WithHTTPPathPattern("/v2/transactions/{tx_id}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -1394,7 +1233,7 @@ func RegisterArchiveServiceHandlerServer(ctx context.Context, mux *runtime.Serve inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/qubic.archiver.archive.pb.ArchiveService/GetSendManyTransactionV2", runtime.WithHTTPPathPattern("/v2/transaction/{tx_id}/sendmany")) + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/qubic.archiver.archive.pb.ArchiveService/GetSendManyTransactionV2", runtime.WithHTTPPathPattern("/v2/transactions/{tx_id}/sendmany")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -1419,7 +1258,7 @@ func RegisterArchiveServiceHandlerServer(ctx context.Context, mux *runtime.Serve inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/qubic.archiver.archive.pb.ArchiveService/GetIdentityTransfersInTickRangeV2", runtime.WithHTTPPathPattern("/v2/identity/{identity}/transfers")) + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/qubic.archiver.archive.pb.ArchiveService/GetIdentityTransfersInTickRangeV2", runtime.WithHTTPPathPattern("/v2/identities/{identity}/transfers")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -1827,35 +1666,13 @@ func RegisterArchiveServiceHandler(ctx context.Context, mux *runtime.ServeMux, c // "ArchiveServiceClient" to call the correct interceptors. func RegisterArchiveServiceHandlerClient(ctx context.Context, mux *runtime.ServeMux, client ArchiveServiceClient) error { - mux.Handle("GET", pattern_ArchiveService_GetLatestTickV2_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/qubic.archiver.archive.pb.ArchiveService/GetLatestTickV2", runtime.WithHTTPPathPattern("/v2/tick/latest")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_ArchiveService_GetLatestTickV2_0(annotatedContext, inboundMarshaler, client, req, pathParams) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_ArchiveService_GetLatestTickV2_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - mux.Handle("GET", pattern_ArchiveService_GetTickQuorumDataV2_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/qubic.archiver.archive.pb.ArchiveService/GetTickQuorumDataV2", runtime.WithHTTPPathPattern("/v2/tick/{tick_number}/quorum-data")) + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/qubic.archiver.archive.pb.ArchiveService/GetTickQuorumDataV2", runtime.WithHTTPPathPattern("/v2/ticks/{tick_number}/quorum-data")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -1877,7 +1694,7 @@ func RegisterArchiveServiceHandlerClient(ctx context.Context, mux *runtime.Serve inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/qubic.archiver.archive.pb.ArchiveService/GetTickChainHashV2", runtime.WithHTTPPathPattern("/v2/tick/{tick_number}/hash")) + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/qubic.archiver.archive.pb.ArchiveService/GetTickChainHashV2", runtime.WithHTTPPathPattern("/v2/ticks/{tick_number}/hash")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -1899,7 +1716,7 @@ func RegisterArchiveServiceHandlerClient(ctx context.Context, mux *runtime.Serve inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/qubic.archiver.archive.pb.ArchiveService/GetTickStoreHashV2", runtime.WithHTTPPathPattern("/v2/tick/{tick_number}/store-hash")) + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/qubic.archiver.archive.pb.ArchiveService/GetTickStoreHashV2", runtime.WithHTTPPathPattern("/v2/ticks/{tick_number}/store-hash")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -1915,69 +1732,25 @@ func RegisterArchiveServiceHandlerClient(ctx context.Context, mux *runtime.Serve }) - mux.Handle("GET", pattern_ArchiveService_GetAllTickTransactionsV2_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/qubic.archiver.archive.pb.ArchiveService/GetAllTickTransactionsV2", runtime.WithHTTPPathPattern("/v2/tick/{tick_number}/transactions")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_ArchiveService_GetAllTickTransactionsV2_0(annotatedContext, inboundMarshaler, client, req, pathParams) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_ArchiveService_GetAllTickTransactionsV2_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_ArchiveService_GetTransferTickTransactionsV2_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_ArchiveService_GetTickTransactionsV2_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/qubic.archiver.archive.pb.ArchiveService/GetTransferTickTransactionsV2", runtime.WithHTTPPathPattern("/v2/tick/{tick_number}/transactions/transfers")) + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/qubic.archiver.archive.pb.ArchiveService/GetTickTransactionsV2", runtime.WithHTTPPathPattern("/v2/ticks/{tick_number}/transactions")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_ArchiveService_GetTransferTickTransactionsV2_0(annotatedContext, inboundMarshaler, client, req, pathParams) + resp, md, err := request_ArchiveService_GetTickTransactionsV2_0(annotatedContext, inboundMarshaler, client, req, pathParams) annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_ArchiveService_GetTransferTickTransactionsV2_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_ArchiveService_GetApprovedTickTransactionsV2_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/qubic.archiver.archive.pb.ArchiveService/GetApprovedTickTransactionsV2", runtime.WithHTTPPathPattern("/v2/tick/{tick_number}/transactions/transfers/approved")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_ArchiveService_GetApprovedTickTransactionsV2_0(annotatedContext, inboundMarshaler, client, req, pathParams) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_ArchiveService_GetApprovedTickTransactionsV2_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_ArchiveService_GetTickTransactionsV2_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1987,7 +1760,7 @@ func RegisterArchiveServiceHandlerClient(ctx context.Context, mux *runtime.Serve inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/qubic.archiver.archive.pb.ArchiveService/GetTransactionV2", runtime.WithHTTPPathPattern("/v2/transaction/{tx_id}")) + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/qubic.archiver.archive.pb.ArchiveService/GetTransactionV2", runtime.WithHTTPPathPattern("/v2/transactions/{tx_id}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -2009,7 +1782,7 @@ func RegisterArchiveServiceHandlerClient(ctx context.Context, mux *runtime.Serve inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/qubic.archiver.archive.pb.ArchiveService/GetSendManyTransactionV2", runtime.WithHTTPPathPattern("/v2/transaction/{tx_id}/sendmany")) + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/qubic.archiver.archive.pb.ArchiveService/GetSendManyTransactionV2", runtime.WithHTTPPathPattern("/v2/transactions/{tx_id}/sendmany")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -2031,7 +1804,7 @@ func RegisterArchiveServiceHandlerClient(ctx context.Context, mux *runtime.Serve inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/qubic.archiver.archive.pb.ArchiveService/GetIdentityTransfersInTickRangeV2", runtime.WithHTTPPathPattern("/v2/identity/{identity}/transfers")) + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/qubic.archiver.archive.pb.ArchiveService/GetIdentityTransfersInTickRangeV2", runtime.WithHTTPPathPattern("/v2/identities/{identity}/transfers")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -2359,25 +2132,19 @@ func RegisterArchiveServiceHandlerClient(ctx context.Context, mux *runtime.Serve } var ( - pattern_ArchiveService_GetLatestTickV2_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"v2", "tick", "latest"}, "")) - - pattern_ArchiveService_GetTickQuorumDataV2_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3}, []string{"v2", "tick", "tick_number", "quorum-data"}, "")) - - pattern_ArchiveService_GetTickChainHashV2_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3}, []string{"v2", "tick", "tick_number", "hash"}, "")) - - pattern_ArchiveService_GetTickStoreHashV2_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3}, []string{"v2", "tick", "tick_number", "store-hash"}, "")) + pattern_ArchiveService_GetTickQuorumDataV2_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3}, []string{"v2", "ticks", "tick_number", "quorum-data"}, "")) - pattern_ArchiveService_GetAllTickTransactionsV2_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3}, []string{"v2", "tick", "tick_number", "transactions"}, "")) + pattern_ArchiveService_GetTickChainHashV2_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3}, []string{"v2", "ticks", "tick_number", "hash"}, "")) - pattern_ArchiveService_GetTransferTickTransactionsV2_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3, 2, 4}, []string{"v2", "tick", "tick_number", "transactions", "transfers"}, "")) + pattern_ArchiveService_GetTickStoreHashV2_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3}, []string{"v2", "ticks", "tick_number", "store-hash"}, "")) - pattern_ArchiveService_GetApprovedTickTransactionsV2_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3, 2, 4, 2, 5}, []string{"v2", "tick", "tick_number", "transactions", "transfers", "approved"}, "")) + pattern_ArchiveService_GetTickTransactionsV2_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3}, []string{"v2", "ticks", "tick_number", "transactions"}, "")) - pattern_ArchiveService_GetTransactionV2_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2}, []string{"v2", "transaction", "tx_id"}, "")) + pattern_ArchiveService_GetTransactionV2_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2}, []string{"v2", "transactions", "tx_id"}, "")) - pattern_ArchiveService_GetSendManyTransactionV2_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3}, []string{"v2", "transaction", "tx_id", "sendmany"}, "")) + pattern_ArchiveService_GetSendManyTransactionV2_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3}, []string{"v2", "transactions", "tx_id", "sendmany"}, "")) - pattern_ArchiveService_GetIdentityTransfersInTickRangeV2_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"v2", "identity", "transfers"}, "")) + pattern_ArchiveService_GetIdentityTransfersInTickRangeV2_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3}, []string{"v2", "identities", "identity", "transfers"}, "")) pattern_ArchiveService_GetTickData_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3}, []string{"v1", "ticks", "tick_number", "tick-data"}, "")) @@ -2409,19 +2176,13 @@ var ( ) var ( - forward_ArchiveService_GetLatestTickV2_0 = runtime.ForwardResponseMessage - forward_ArchiveService_GetTickQuorumDataV2_0 = runtime.ForwardResponseMessage forward_ArchiveService_GetTickChainHashV2_0 = runtime.ForwardResponseMessage forward_ArchiveService_GetTickStoreHashV2_0 = runtime.ForwardResponseMessage - forward_ArchiveService_GetAllTickTransactionsV2_0 = runtime.ForwardResponseMessage - - forward_ArchiveService_GetTransferTickTransactionsV2_0 = runtime.ForwardResponseMessage - - forward_ArchiveService_GetApprovedTickTransactionsV2_0 = runtime.ForwardResponseMessage + forward_ArchiveService_GetTickTransactionsV2_0 = runtime.ForwardResponseMessage forward_ArchiveService_GetTransactionV2_0 = runtime.ForwardResponseMessage diff --git a/protobuff/archive_grpc.pb.go b/protobuff/archive_grpc.pb.go index b0cdc6b..4656ab1 100644 --- a/protobuff/archive_grpc.pb.go +++ b/protobuff/archive_grpc.pb.go @@ -20,13 +20,10 @@ import ( const _ = grpc.SupportPackageIsVersion7 const ( - ArchiveService_GetLatestTickV2_FullMethodName = "/qubic.archiver.archive.pb.ArchiveService/GetLatestTickV2" ArchiveService_GetTickQuorumDataV2_FullMethodName = "/qubic.archiver.archive.pb.ArchiveService/GetTickQuorumDataV2" ArchiveService_GetTickChainHashV2_FullMethodName = "/qubic.archiver.archive.pb.ArchiveService/GetTickChainHashV2" ArchiveService_GetTickStoreHashV2_FullMethodName = "/qubic.archiver.archive.pb.ArchiveService/GetTickStoreHashV2" - ArchiveService_GetAllTickTransactionsV2_FullMethodName = "/qubic.archiver.archive.pb.ArchiveService/GetAllTickTransactionsV2" - ArchiveService_GetTransferTickTransactionsV2_FullMethodName = "/qubic.archiver.archive.pb.ArchiveService/GetTransferTickTransactionsV2" - ArchiveService_GetApprovedTickTransactionsV2_FullMethodName = "/qubic.archiver.archive.pb.ArchiveService/GetApprovedTickTransactionsV2" + ArchiveService_GetTickTransactionsV2_FullMethodName = "/qubic.archiver.archive.pb.ArchiveService/GetTickTransactionsV2" ArchiveService_GetTransactionV2_FullMethodName = "/qubic.archiver.archive.pb.ArchiveService/GetTransactionV2" ArchiveService_GetSendManyTransactionV2_FullMethodName = "/qubic.archiver.archive.pb.ArchiveService/GetSendManyTransactionV2" ArchiveService_GetIdentityTransfersInTickRangeV2_FullMethodName = "/qubic.archiver.archive.pb.ArchiveService/GetIdentityTransfersInTickRangeV2" @@ -50,8 +47,6 @@ const ( // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. type ArchiveServiceClient interface { - // Latest Tick - GetLatestTickV2(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetLatestTickResponseV2, error) // Quorum data GetTickQuorumDataV2(ctx context.Context, in *GetTickRequestV2, opts ...grpc.CallOption) (*GetQuorumTickDataResponse, error) // Chain hash @@ -59,9 +54,7 @@ type ArchiveServiceClient interface { // Store hash GetTickStoreHashV2(ctx context.Context, in *GetTickRequestV2, opts ...grpc.CallOption) (*GetChainHashResponse, error) // Tick transactions - GetAllTickTransactionsV2(ctx context.Context, in *GetTickRequestV2, opts ...grpc.CallOption) (*GetTickTransactionsResponseV2, error) - GetTransferTickTransactionsV2(ctx context.Context, in *GetTickRequestV2, opts ...grpc.CallOption) (*GetTickTransactionsResponseV2, error) - GetApprovedTickTransactionsV2(ctx context.Context, in *GetTickRequestV2, opts ...grpc.CallOption) (*GetTickTransactionsResponseV2, error) + GetTickTransactionsV2(ctx context.Context, in *GetTickTransactionsRequestV2, opts ...grpc.CallOption) (*GetTickTransactionsResponseV2, error) // Normal GetTransactionV2(ctx context.Context, in *GetTransactionRequestV2, opts ...grpc.CallOption) (*GetTransactionResponseV2, error) // SendMany @@ -93,15 +86,6 @@ func NewArchiveServiceClient(cc grpc.ClientConnInterface) ArchiveServiceClient { return &archiveServiceClient{cc} } -func (c *archiveServiceClient) GetLatestTickV2(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetLatestTickResponseV2, error) { - out := new(GetLatestTickResponseV2) - err := c.cc.Invoke(ctx, ArchiveService_GetLatestTickV2_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - func (c *archiveServiceClient) GetTickQuorumDataV2(ctx context.Context, in *GetTickRequestV2, opts ...grpc.CallOption) (*GetQuorumTickDataResponse, error) { out := new(GetQuorumTickDataResponse) err := c.cc.Invoke(ctx, ArchiveService_GetTickQuorumDataV2_FullMethodName, in, out, opts...) @@ -129,27 +113,9 @@ func (c *archiveServiceClient) GetTickStoreHashV2(ctx context.Context, in *GetTi return out, nil } -func (c *archiveServiceClient) GetAllTickTransactionsV2(ctx context.Context, in *GetTickRequestV2, opts ...grpc.CallOption) (*GetTickTransactionsResponseV2, error) { +func (c *archiveServiceClient) GetTickTransactionsV2(ctx context.Context, in *GetTickTransactionsRequestV2, opts ...grpc.CallOption) (*GetTickTransactionsResponseV2, error) { out := new(GetTickTransactionsResponseV2) - err := c.cc.Invoke(ctx, ArchiveService_GetAllTickTransactionsV2_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *archiveServiceClient) GetTransferTickTransactionsV2(ctx context.Context, in *GetTickRequestV2, opts ...grpc.CallOption) (*GetTickTransactionsResponseV2, error) { - out := new(GetTickTransactionsResponseV2) - err := c.cc.Invoke(ctx, ArchiveService_GetTransferTickTransactionsV2_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *archiveServiceClient) GetApprovedTickTransactionsV2(ctx context.Context, in *GetTickRequestV2, opts ...grpc.CallOption) (*GetTickTransactionsResponseV2, error) { - out := new(GetTickTransactionsResponseV2) - err := c.cc.Invoke(ctx, ArchiveService_GetApprovedTickTransactionsV2_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, ArchiveService_GetTickTransactionsV2_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -313,8 +279,6 @@ func (c *archiveServiceClient) GetHealthCheck(ctx context.Context, in *emptypb.E // All implementations must embed UnimplementedArchiveServiceServer // for forward compatibility type ArchiveServiceServer interface { - // Latest Tick - GetLatestTickV2(context.Context, *emptypb.Empty) (*GetLatestTickResponseV2, error) // Quorum data GetTickQuorumDataV2(context.Context, *GetTickRequestV2) (*GetQuorumTickDataResponse, error) // Chain hash @@ -322,9 +286,7 @@ type ArchiveServiceServer interface { // Store hash GetTickStoreHashV2(context.Context, *GetTickRequestV2) (*GetChainHashResponse, error) // Tick transactions - GetAllTickTransactionsV2(context.Context, *GetTickRequestV2) (*GetTickTransactionsResponseV2, error) - GetTransferTickTransactionsV2(context.Context, *GetTickRequestV2) (*GetTickTransactionsResponseV2, error) - GetApprovedTickTransactionsV2(context.Context, *GetTickRequestV2) (*GetTickTransactionsResponseV2, error) + GetTickTransactionsV2(context.Context, *GetTickTransactionsRequestV2) (*GetTickTransactionsResponseV2, error) // Normal GetTransactionV2(context.Context, *GetTransactionRequestV2) (*GetTransactionResponseV2, error) // SendMany @@ -353,9 +315,6 @@ type ArchiveServiceServer interface { type UnimplementedArchiveServiceServer struct { } -func (UnimplementedArchiveServiceServer) GetLatestTickV2(context.Context, *emptypb.Empty) (*GetLatestTickResponseV2, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetLatestTickV2 not implemented") -} func (UnimplementedArchiveServiceServer) GetTickQuorumDataV2(context.Context, *GetTickRequestV2) (*GetQuorumTickDataResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method GetTickQuorumDataV2 not implemented") } @@ -365,14 +324,8 @@ func (UnimplementedArchiveServiceServer) GetTickChainHashV2(context.Context, *Ge func (UnimplementedArchiveServiceServer) GetTickStoreHashV2(context.Context, *GetTickRequestV2) (*GetChainHashResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method GetTickStoreHashV2 not implemented") } -func (UnimplementedArchiveServiceServer) GetAllTickTransactionsV2(context.Context, *GetTickRequestV2) (*GetTickTransactionsResponseV2, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetAllTickTransactionsV2 not implemented") -} -func (UnimplementedArchiveServiceServer) GetTransferTickTransactionsV2(context.Context, *GetTickRequestV2) (*GetTickTransactionsResponseV2, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetTransferTickTransactionsV2 not implemented") -} -func (UnimplementedArchiveServiceServer) GetApprovedTickTransactionsV2(context.Context, *GetTickRequestV2) (*GetTickTransactionsResponseV2, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetApprovedTickTransactionsV2 not implemented") +func (UnimplementedArchiveServiceServer) GetTickTransactionsV2(context.Context, *GetTickTransactionsRequestV2) (*GetTickTransactionsResponseV2, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetTickTransactionsV2 not implemented") } func (UnimplementedArchiveServiceServer) GetTransactionV2(context.Context, *GetTransactionRequestV2) (*GetTransactionResponseV2, error) { return nil, status.Errorf(codes.Unimplemented, "method GetTransactionV2 not implemented") @@ -438,24 +391,6 @@ func RegisterArchiveServiceServer(s grpc.ServiceRegistrar, srv ArchiveServiceSer s.RegisterService(&ArchiveService_ServiceDesc, srv) } -func _ArchiveService_GetLatestTickV2_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(emptypb.Empty) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(ArchiveServiceServer).GetLatestTickV2(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: ArchiveService_GetLatestTickV2_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(ArchiveServiceServer).GetLatestTickV2(ctx, req.(*emptypb.Empty)) - } - return interceptor(ctx, in, info, handler) -} - func _ArchiveService_GetTickQuorumDataV2_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(GetTickRequestV2) if err := dec(in); err != nil { @@ -510,56 +445,20 @@ func _ArchiveService_GetTickStoreHashV2_Handler(srv interface{}, ctx context.Con return interceptor(ctx, in, info, handler) } -func _ArchiveService_GetAllTickTransactionsV2_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetTickRequestV2) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(ArchiveServiceServer).GetAllTickTransactionsV2(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: ArchiveService_GetAllTickTransactionsV2_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(ArchiveServiceServer).GetAllTickTransactionsV2(ctx, req.(*GetTickRequestV2)) - } - return interceptor(ctx, in, info, handler) -} - -func _ArchiveService_GetTransferTickTransactionsV2_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetTickRequestV2) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(ArchiveServiceServer).GetTransferTickTransactionsV2(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: ArchiveService_GetTransferTickTransactionsV2_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(ArchiveServiceServer).GetTransferTickTransactionsV2(ctx, req.(*GetTickRequestV2)) - } - return interceptor(ctx, in, info, handler) -} - -func _ArchiveService_GetApprovedTickTransactionsV2_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetTickRequestV2) +func _ArchiveService_GetTickTransactionsV2_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetTickTransactionsRequestV2) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(ArchiveServiceServer).GetApprovedTickTransactionsV2(ctx, in) + return srv.(ArchiveServiceServer).GetTickTransactionsV2(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: ArchiveService_GetApprovedTickTransactionsV2_FullMethodName, + FullMethod: ArchiveService_GetTickTransactionsV2_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(ArchiveServiceServer).GetApprovedTickTransactionsV2(ctx, req.(*GetTickRequestV2)) + return srv.(ArchiveServiceServer).GetTickTransactionsV2(ctx, req.(*GetTickTransactionsRequestV2)) } return interceptor(ctx, in, info, handler) } @@ -877,10 +776,6 @@ var ArchiveService_ServiceDesc = grpc.ServiceDesc{ ServiceName: "qubic.archiver.archive.pb.ArchiveService", HandlerType: (*ArchiveServiceServer)(nil), Methods: []grpc.MethodDesc{ - { - MethodName: "GetLatestTickV2", - Handler: _ArchiveService_GetLatestTickV2_Handler, - }, { MethodName: "GetTickQuorumDataV2", Handler: _ArchiveService_GetTickQuorumDataV2_Handler, @@ -894,16 +789,8 @@ var ArchiveService_ServiceDesc = grpc.ServiceDesc{ Handler: _ArchiveService_GetTickStoreHashV2_Handler, }, { - MethodName: "GetAllTickTransactionsV2", - Handler: _ArchiveService_GetAllTickTransactionsV2_Handler, - }, - { - MethodName: "GetTransferTickTransactionsV2", - Handler: _ArchiveService_GetTransferTickTransactionsV2_Handler, - }, - { - MethodName: "GetApprovedTickTransactionsV2", - Handler: _ArchiveService_GetApprovedTickTransactionsV2_Handler, + MethodName: "GetTickTransactionsV2", + Handler: _ArchiveService_GetTickTransactionsV2_Handler, }, { MethodName: "GetTransactionV2", From c704bf1f4d5f028b7bd6791c5ab60eefcb194fd2 Mon Sep 17 00:00:00 2001 From: LINCKODE Date: Tue, 2 Jul 2024 01:02:37 +0300 Subject: [PATCH 6/7] Removed unneeded line --- protobuff/archive.pb.go | 460 ++++++++++++++++++------------------- protobuff/archive.pb.gw.go | 18 -- protobuff/archive.proto | 1 - 3 files changed, 225 insertions(+), 254 deletions(-) diff --git a/protobuff/archive.pb.go b/protobuff/archive.pb.go index 48334dc..617acdf 100644 --- a/protobuff/archive.pb.go +++ b/protobuff/archive.pb.go @@ -2855,8 +2855,7 @@ type GetTransactionRequestV2 struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - TxId string `protobuf:"bytes,1,opt,name=tx_id,json=txId,proto3" json:"tx_id,omitempty"` - SendMany bool `protobuf:"varint,2,opt,name=send_many,json=sendMany,proto3" json:"send_many,omitempty"` + TxId string `protobuf:"bytes,1,opt,name=tx_id,json=txId,proto3" json:"tx_id,omitempty"` } func (x *GetTransactionRequestV2) Reset() { @@ -2898,13 +2897,6 @@ func (x *GetTransactionRequestV2) GetTxId() string { return "" } -func (x *GetTransactionRequestV2) GetSendMany() bool { - if x != nil { - return x.SendMany - } - return false -} - type GetTransactionResponseV2 struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -3466,254 +3458,252 @@ var file_archive_proto_rawDesc = []byte{ 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, - 0x4b, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x2e, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x56, 0x32, 0x12, 0x13, 0x0a, 0x05, 0x74, 0x78, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x78, 0x49, 0x64, 0x12, - 0x1b, 0x0a, 0x09, 0x73, 0x65, 0x6e, 0x64, 0x5f, 0x6d, 0x61, 0x6e, 0x79, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x08, 0x73, 0x65, 0x6e, 0x64, 0x4d, 0x61, 0x6e, 0x79, 0x22, 0xa1, 0x01, 0x0a, - 0x18, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x56, 0x32, 0x12, 0x48, 0x0a, 0x0b, 0x74, 0x72, 0x61, - 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, - 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, - 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, - 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x5f, 0x66, 0x6c, 0x65, 0x77, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x46, 0x6c, 0x65, 0x77, - 0x22, 0x79, 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, - 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x56, 0x32, - 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x74, 0x69, 0x63, 0x6b, 0x4e, 0x75, 0x6d, 0x62, 0x65, - 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x73, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x73, 0x12, - 0x1a, 0x0a, 0x08, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x08, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x64, 0x32, 0xd3, 0x1b, 0x0a, 0x0e, - 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xa5, - 0x01, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x51, 0x75, 0x6f, 0x72, 0x75, 0x6d, - 0x44, 0x61, 0x74, 0x61, 0x56, 0x32, 0x12, 0x2b, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x78, 0x49, 0x64, 0x22, + 0xa1, 0x01, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x56, 0x32, 0x12, 0x48, 0x0a, 0x0b, + 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x26, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, + 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x54, 0x72, + 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, + 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x5f, 0x66, 0x6c, + 0x65, 0x77, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x46, + 0x6c, 0x65, 0x77, 0x22, 0x79, 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x54, 0x72, + 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x56, 0x32, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, + 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x74, 0x69, 0x63, 0x6b, 0x4e, 0x75, + 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, + 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, + 0x72, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x64, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x64, 0x32, 0xd3, + 0x1b, 0x0a, 0x0e, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x12, 0xa5, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x51, 0x75, 0x6f, + 0x72, 0x75, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x56, 0x32, 0x12, 0x2b, 0x2e, 0x71, 0x75, 0x62, 0x69, + 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, + 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x56, 0x32, 0x1a, 0x34, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, - 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x56, 0x32, 0x1a, 0x34, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, - 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, - 0x47, 0x65, 0x74, 0x51, 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x54, 0x69, 0x63, 0x6b, 0x44, 0x61, 0x74, - 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2b, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x25, 0x12, 0x23, 0x2f, 0x76, 0x32, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x73, 0x2f, 0x7b, 0x74, 0x69, - 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x7d, 0x2f, 0x71, 0x75, 0x6f, 0x72, 0x75, - 0x6d, 0x2d, 0x64, 0x61, 0x74, 0x61, 0x12, 0x98, 0x01, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x54, 0x69, - 0x63, 0x6b, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x48, 0x61, 0x73, 0x68, 0x56, 0x32, 0x12, 0x2b, 0x2e, + 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x51, 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x54, 0x69, 0x63, 0x6b, + 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2b, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x25, 0x12, 0x23, 0x2f, 0x76, 0x32, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x73, 0x2f, + 0x7b, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x7d, 0x2f, 0x71, 0x75, + 0x6f, 0x72, 0x75, 0x6d, 0x2d, 0x64, 0x61, 0x74, 0x61, 0x12, 0x98, 0x01, 0x0a, 0x12, 0x47, 0x65, + 0x74, 0x54, 0x69, 0x63, 0x6b, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x48, 0x61, 0x73, 0x68, 0x56, 0x32, + 0x12, 0x2b, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, + 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, + 0x54, 0x69, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x56, 0x32, 0x1a, 0x2f, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, - 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, - 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x56, 0x32, 0x1a, 0x2f, 0x2e, 0x71, 0x75, 0x62, - 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, - 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x48, - 0x61, 0x73, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x24, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x1e, 0x12, 0x1c, 0x2f, 0x76, 0x32, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x73, 0x2f, 0x7b, - 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x7d, 0x2f, 0x68, 0x61, 0x73, - 0x68, 0x12, 0x9e, 0x01, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x53, 0x74, 0x6f, - 0x72, 0x65, 0x48, 0x61, 0x73, 0x68, 0x56, 0x32, 0x12, 0x2b, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, + 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, + 0x69, 0x6e, 0x48, 0x61, 0x73, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x24, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x12, 0x1c, 0x2f, 0x76, 0x32, 0x2f, 0x74, 0x69, 0x63, 0x6b, + 0x73, 0x2f, 0x7b, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x7d, 0x2f, + 0x68, 0x61, 0x73, 0x68, 0x12, 0x9e, 0x01, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, + 0x53, 0x74, 0x6f, 0x72, 0x65, 0x48, 0x61, 0x73, 0x68, 0x56, 0x32, 0x12, 0x2b, 0x2e, 0x71, 0x75, + 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, + 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x56, 0x32, 0x1a, 0x2f, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, - 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x56, 0x32, 0x1a, 0x2f, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, + 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x48, 0x61, 0x73, + 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2a, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x24, 0x12, 0x22, 0x2f, 0x76, 0x32, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x73, 0x2f, 0x7b, 0x74, 0x69, + 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x7d, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x65, + 0x2d, 0x68, 0x61, 0x73, 0x68, 0x12, 0xb8, 0x01, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, + 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x56, 0x32, 0x12, + 0x37, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, + 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, + 0x69, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x56, 0x32, 0x1a, 0x38, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, + 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, + 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, + 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x56, 0x32, 0x22, 0x2c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x26, 0x12, 0x24, 0x2f, 0x76, 0x32, 0x2f, + 0x74, 0x69, 0x63, 0x6b, 0x73, 0x2f, 0x7b, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, + 0x65, 0x72, 0x7d, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x12, 0x9d, 0x01, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x56, 0x32, 0x12, 0x32, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, - 0x62, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x48, 0x61, 0x73, 0x68, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x24, 0x12, 0x22, - 0x2f, 0x76, 0x32, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x73, 0x2f, 0x7b, 0x74, 0x69, 0x63, 0x6b, 0x5f, - 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x7d, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2d, 0x68, 0x61, - 0x73, 0x68, 0x12, 0xb8, 0x01, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x54, 0x72, - 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x56, 0x32, 0x12, 0x37, 0x2e, 0x71, + 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x56, 0x32, 0x1a, 0x33, 0x2e, 0x71, 0x75, 0x62, 0x69, + 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, + 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x56, 0x32, 0x22, 0x20, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x12, 0x18, 0x2f, 0x76, 0x32, 0x2f, 0x74, 0x72, 0x61, 0x6e, + 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x74, 0x78, 0x5f, 0x69, 0x64, 0x7d, + 0x12, 0xbe, 0x01, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x61, 0x6e, 0x79, + 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x32, 0x12, 0x3a, 0x2e, + 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, + 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x65, 0x6e, + 0x64, 0x4d, 0x61, 0x6e, 0x79, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x56, 0x32, 0x1a, 0x3b, 0x2e, 0x71, 0x75, 0x62, 0x69, + 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, + 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x61, 0x6e, + 0x79, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x56, 0x32, 0x22, 0x29, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x23, 0x12, 0x21, + 0x2f, 0x76, 0x32, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x2f, 0x7b, 0x74, 0x78, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x73, 0x65, 0x6e, 0x64, 0x6d, 0x61, 0x6e, + 0x79, 0x12, 0xd8, 0x01, 0x0a, 0x21, 0x47, 0x65, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, + 0x79, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x73, 0x49, 0x6e, 0x54, 0x69, 0x63, 0x6b, + 0x52, 0x61, 0x6e, 0x67, 0x65, 0x56, 0x32, 0x12, 0x40, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, + 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, + 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x54, + 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x50, 0x65, 0x72, 0x54, 0x69, + 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x44, 0x2e, 0x71, 0x75, 0x62, 0x69, + 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, + 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, + 0x79, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x73, 0x49, 0x6e, 0x54, 0x69, 0x63, 0x6b, + 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x56, 0x32, 0x22, + 0x2b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x25, 0x12, 0x23, 0x2f, 0x76, 0x32, 0x2f, 0x69, 0x64, 0x65, + 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, + 0x79, 0x7d, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x73, 0x12, 0x97, 0x01, 0x0a, + 0x0b, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x12, 0x2d, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, - 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x56, 0x32, 0x1a, 0x38, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, - 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, - 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x56, 0x32, 0x22, - 0x2c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x26, 0x12, 0x24, 0x2f, 0x76, 0x32, 0x2f, 0x74, 0x69, 0x63, - 0x6b, 0x73, 0x2f, 0x7b, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x7d, - 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x9d, 0x01, - 0x0a, 0x10, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x56, 0x32, 0x12, 0x32, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, - 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, - 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x56, 0x32, 0x1a, 0x33, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, - 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, - 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x56, 0x32, 0x22, 0x20, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x1a, 0x12, 0x18, 0x2f, 0x76, 0x32, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x74, 0x78, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xbe, 0x01, - 0x0a, 0x18, 0x47, 0x65, 0x74, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x61, 0x6e, 0x79, 0x54, 0x72, 0x61, - 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x32, 0x12, 0x3a, 0x2e, 0x71, 0x75, 0x62, - 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, - 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x61, - 0x6e, 0x79, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x56, 0x32, 0x1a, 0x3b, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, - 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, - 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x61, 0x6e, 0x79, 0x54, 0x72, - 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x56, 0x32, 0x22, 0x29, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x23, 0x12, 0x21, 0x2f, 0x76, 0x32, - 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x74, - 0x78, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x73, 0x65, 0x6e, 0x64, 0x6d, 0x61, 0x6e, 0x79, 0x12, 0xd8, - 0x01, 0x0a, 0x21, 0x47, 0x65, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x72, - 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x73, 0x49, 0x6e, 0x54, 0x69, 0x63, 0x6b, 0x52, 0x61, 0x6e, - 0x67, 0x65, 0x56, 0x32, 0x12, 0x40, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, - 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, - 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x54, 0x72, 0x61, 0x6e, - 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x50, 0x65, 0x72, 0x54, 0x69, 0x63, 0x6b, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x44, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, - 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, - 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x72, - 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x73, 0x49, 0x6e, 0x54, 0x69, 0x63, 0x6b, 0x52, 0x61, 0x6e, - 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x56, 0x32, 0x22, 0x2b, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x25, 0x12, 0x23, 0x2f, 0x76, 0x32, 0x2f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, - 0x74, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x7d, 0x2f, - 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x73, 0x12, 0x97, 0x01, 0x0a, 0x0b, 0x47, 0x65, - 0x74, 0x54, 0x69, 0x63, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x12, 0x2d, 0x2e, 0x71, 0x75, 0x62, 0x69, - 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, - 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x44, 0x61, 0x74, - 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, + 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x71, 0x75, + 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, + 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x44, + 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x29, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x23, 0x12, 0x21, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x73, 0x2f, 0x7b, + 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x7d, 0x2f, 0x74, 0x69, 0x63, + 0x6b, 0x2d, 0x64, 0x61, 0x74, 0x61, 0x12, 0xb0, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x51, 0x75, + 0x6f, 0x72, 0x75, 0x6d, 0x54, 0x69, 0x63, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x12, 0x33, 0x2e, 0x71, + 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, + 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x51, 0x75, 0x6f, 0x72, + 0x75, 0x6d, 0x54, 0x69, 0x63, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x34, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, + 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, + 0x74, 0x51, 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x54, 0x69, 0x63, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x30, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2a, 0x12, + 0x28, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x73, 0x2f, 0x7b, 0x74, 0x69, 0x63, 0x6b, + 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x7d, 0x2f, 0x71, 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x2d, + 0x74, 0x69, 0x63, 0x6b, 0x2d, 0x64, 0x61, 0x74, 0x61, 0x12, 0xb2, 0x01, 0x0a, 0x13, 0x47, 0x65, + 0x74, 0x54, 0x69, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x12, 0x35, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, + 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, + 0x74, 0x54, 0x69, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, - 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x44, 0x61, 0x74, 0x61, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x29, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x23, - 0x12, 0x21, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x73, 0x2f, 0x7b, 0x74, 0x69, 0x63, - 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x7d, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x2d, 0x64, - 0x61, 0x74, 0x61, 0x12, 0xb0, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x51, 0x75, 0x6f, 0x72, 0x75, - 0x6d, 0x54, 0x69, 0x63, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x12, 0x33, 0x2e, 0x71, 0x75, 0x62, 0x69, - 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, - 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x51, 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x54, - 0x69, 0x63, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, - 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, - 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x51, 0x75, - 0x6f, 0x72, 0x75, 0x6d, 0x54, 0x69, 0x63, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x30, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2a, 0x12, 0x28, 0x2f, 0x76, - 0x31, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x73, 0x2f, 0x7b, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x75, - 0x6d, 0x62, 0x65, 0x72, 0x7d, 0x2f, 0x71, 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x2d, 0x74, 0x69, 0x63, - 0x6b, 0x2d, 0x64, 0x61, 0x74, 0x61, 0x12, 0xb2, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x54, 0x69, - 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x35, + 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, + 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x2c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x26, 0x12, 0x24, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x69, + 0x63, 0x6b, 0x73, 0x2f, 0x7b, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, + 0x7d, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0xc3, + 0x01, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, + 0x65, 0x72, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x35, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2c, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x26, 0x12, 0x24, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x73, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x35, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x12, 0x2d, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x73, 0x2f, 0x7b, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x7d, 0x2f, 0x74, - 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0xc3, 0x01, 0x0a, 0x1b, - 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x54, - 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x35, 0x2e, 0x71, 0x75, + 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x12, 0xd3, 0x01, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, + 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3d, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, + 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, + 0x2e, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x64, + 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x3e, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, + 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, + 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x64, 0x54, + 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x35, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x12, 0x2d, 0x2f, 0x76, 0x31, + 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x73, 0x2f, 0x7b, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, + 0x62, 0x65, 0x72, 0x7d, 0x2f, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x64, 0x2d, 0x74, 0x72, + 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x9b, 0x01, 0x0a, 0x0c, 0x47, + 0x65, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x48, 0x61, 0x73, 0x68, 0x12, 0x2e, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, - 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x54, - 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, - 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, - 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x35, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x2f, 0x12, 0x2d, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x73, 0x2f, 0x7b, 0x74, - 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x7d, 0x2f, 0x74, 0x72, 0x61, 0x6e, - 0x73, 0x66, 0x65, 0x72, 0x2d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x12, 0xd3, 0x01, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x41, 0x70, 0x70, - 0x72, 0x6f, 0x76, 0x65, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x12, 0x3d, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, + 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, + 0x48, 0x61, 0x73, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x71, 0x75, + 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, + 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, + 0x48, 0x61, 0x73, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2a, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x24, 0x12, 0x22, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x73, 0x2f, + 0x7b, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x7d, 0x2f, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2d, 0x68, 0x61, 0x73, 0x68, 0x12, 0x9b, 0x01, 0x0a, 0x0c, 0x47, 0x65, 0x74, + 0x53, 0x74, 0x6f, 0x72, 0x65, 0x48, 0x61, 0x73, 0x68, 0x12, 0x2e, 0x2e, 0x71, 0x75, 0x62, 0x69, + 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, + 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x48, 0x61, + 0x73, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x71, 0x75, 0x62, 0x69, + 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, + 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x48, 0x61, + 0x73, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2a, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x24, 0x12, 0x22, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x73, 0x2f, 0x7b, 0x74, + 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x7d, 0x2f, 0x73, 0x74, 0x6f, 0x72, + 0x65, 0x2d, 0x68, 0x61, 0x73, 0x68, 0x12, 0x97, 0x01, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x54, 0x72, + 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x30, 0x2e, 0x71, 0x75, 0x62, 0x69, + 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, + 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x71, 0x75, + 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, + 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x20, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x12, 0x18, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x72, 0x61, 0x6e, + 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x74, 0x78, 0x5f, 0x69, 0x64, 0x7d, + 0x12, 0xa6, 0x01, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x36, 0x2e, 0x71, 0x75, 0x62, 0x69, + 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, + 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x37, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, - 0x74, 0x54, 0x69, 0x63, 0x6b, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x64, 0x54, 0x72, 0x61, - 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x3e, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, - 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, - 0x54, 0x69, 0x63, 0x6b, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x64, 0x54, 0x72, 0x61, 0x6e, - 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x35, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x12, 0x2d, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x69, - 0x63, 0x6b, 0x73, 0x2f, 0x7b, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, - 0x7d, 0x2f, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x64, 0x2d, 0x74, 0x72, 0x61, 0x6e, 0x73, - 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x9b, 0x01, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x43, - 0x68, 0x61, 0x69, 0x6e, 0x48, 0x61, 0x73, 0x68, 0x12, 0x2e, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, - 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, - 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x48, 0x61, 0x73, - 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, - 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, - 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x48, 0x61, 0x73, - 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2a, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x24, 0x12, 0x22, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x73, 0x2f, 0x7b, 0x74, 0x69, - 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x7d, 0x2f, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x2d, 0x68, 0x61, 0x73, 0x68, 0x12, 0x9b, 0x01, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x53, 0x74, 0x6f, - 0x72, 0x65, 0x48, 0x61, 0x73, 0x68, 0x12, 0x2e, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, - 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, - 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x48, 0x61, 0x73, 0x68, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, - 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, - 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x48, 0x61, 0x73, 0x68, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x24, 0x12, - 0x22, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x73, 0x2f, 0x7b, 0x74, 0x69, 0x63, 0x6b, - 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x7d, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2d, 0x68, - 0x61, 0x73, 0x68, 0x12, 0x97, 0x01, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, - 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x30, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, - 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, - 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, - 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, - 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x20, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x1a, 0x12, 0x18, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x74, 0x78, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xa6, 0x01, - 0x0a, 0x14, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x36, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, - 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, - 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, + 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1d, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x17, 0x12, 0x15, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x78, 0x2d, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x2f, 0x7b, 0x74, 0x78, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xde, 0x01, 0x0a, 0x1e, 0x47, 0x65, + 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x50, 0x65, 0x72, 0x54, 0x69, 0x63, 0x6b, 0x12, 0x40, 0x2e, 0x71, + 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, + 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, + 0x73, 0x66, 0x65, 0x72, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x50, 0x65, 0x72, 0x54, 0x69, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x41, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, - 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x17, 0x12, - 0x15, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x78, 0x2d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2f, 0x7b, - 0x74, 0x78, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xde, 0x01, 0x0a, 0x1e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x50, 0x65, 0x72, 0x54, 0x69, 0x63, 0x6b, 0x12, 0x40, 0x2e, 0x71, 0x75, 0x62, 0x69, - 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, - 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, - 0x72, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x50, 0x65, 0x72, - 0x54, 0x69, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x41, 0x2e, 0x71, 0x75, + 0x6e, 0x73, 0x50, 0x65, 0x72, 0x54, 0x69, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x37, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x31, 0x12, 0x2f, 0x2f, 0x76, 0x31, 0x2f, 0x69, + 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x65, 0x6e, 0x74, + 0x69, 0x74, 0x79, 0x7d, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2d, 0x74, 0x72, + 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x95, 0x01, 0x0a, 0x0c, 0x47, + 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x2e, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, - 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, - 0x66, 0x65, 0x72, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x50, - 0x65, 0x72, 0x54, 0x69, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x37, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x31, 0x12, 0x2f, 0x2f, 0x76, 0x31, 0x2f, 0x69, 0x64, 0x65, 0x6e, - 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, - 0x7d, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2d, 0x74, 0x72, 0x61, 0x6e, 0x73, - 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x95, 0x01, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x43, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x2e, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, - 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, - 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x6f, 0x72, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, + 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x71, 0x75, + 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, + 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x24, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x1e, 0x12, 0x1c, 0x2f, 0x76, 0x31, 0x2f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x73, + 0x2f, 0x7b, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x7d, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x6f, + 0x72, 0x73, 0x12, 0x65, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, + 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x2c, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, + 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, + 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x12, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0c, 0x12, 0x0a, 0x2f, + 0x76, 0x31, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x73, 0x0a, 0x0d, 0x47, 0x65, 0x74, + 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, + 0x74, 0x79, 0x1a, 0x32, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, + 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, + 0x65, 0x74, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x56, 0x32, 0x22, 0x16, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x10, 0x12, 0x0e, + 0x2f, 0x76, 0x31, 0x2f, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x12, 0x74, + 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, + 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x31, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, - 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x6f, 0x72, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x24, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x1e, 0x12, 0x1c, 0x2f, 0x76, 0x31, 0x2f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x73, 0x2f, 0x7b, 0x65, - 0x70, 0x6f, 0x63, 0x68, 0x7d, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x6f, 0x72, 0x73, 0x12, - 0x65, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, - 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x2c, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, - 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, - 0x2e, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x12, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0c, 0x12, 0x0a, 0x2f, 0x76, 0x31, 0x2f, - 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x73, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x74, - 0x65, 0x73, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, - 0x32, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, - 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x4c, - 0x61, 0x74, 0x65, 0x73, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x56, 0x32, 0x22, 0x16, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x10, 0x12, 0x0e, 0x2f, 0x76, 0x31, - 0x2f, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x12, 0x74, 0x0a, 0x0e, 0x47, - 0x65, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x16, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, - 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x31, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, - 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, - 0x62, 0x2e, 0x47, 0x65, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x17, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x11, - 0x12, 0x0f, 0x2f, 0x76, 0x31, 0x2f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x63, 0x68, 0x65, 0x63, - 0x6b, 0x42, 0x29, 0x5a, 0x27, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, - 0x71, 0x75, 0x62, 0x69, 0x63, 0x2f, 0x67, 0x6f, 0x2d, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, - 0x72, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x66, 0x2f, 0x62, 0x06, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x33, + 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, + 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x17, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x11, 0x12, 0x0f, 0x2f, 0x76, 0x31, 0x2f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x63, + 0x68, 0x65, 0x63, 0x6b, 0x42, 0x29, 0x5a, 0x27, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2f, 0x67, 0x6f, 0x2d, 0x61, 0x72, 0x63, 0x68, + 0x69, 0x76, 0x65, 0x72, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x66, 0x2f, 0x62, + 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/protobuff/archive.pb.gw.go b/protobuff/archive.pb.gw.go index cd7725d..a401068 100644 --- a/protobuff/archive.pb.gw.go +++ b/protobuff/archive.pb.gw.go @@ -258,10 +258,6 @@ func local_request_ArchiveService_GetTickTransactionsV2_0(ctx context.Context, m } -var ( - filter_ArchiveService_GetTransactionV2_0 = &utilities.DoubleArray{Encoding: map[string]int{"tx_id": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} -) - func request_ArchiveService_GetTransactionV2_0(ctx context.Context, marshaler runtime.Marshaler, client ArchiveServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq GetTransactionRequestV2 var metadata runtime.ServerMetadata @@ -283,13 +279,6 @@ func request_ArchiveService_GetTransactionV2_0(ctx context.Context, marshaler ru return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "tx_id", err) } - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_ArchiveService_GetTransactionV2_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - msg, err := client.GetTransactionV2(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err @@ -316,13 +305,6 @@ func local_request_ArchiveService_GetTransactionV2_0(ctx context.Context, marsha return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "tx_id", err) } - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_ArchiveService_GetTransactionV2_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - msg, err := server.GetTransactionV2(ctx, &protoReq) return msg, metadata, err diff --git a/protobuff/archive.proto b/protobuff/archive.proto index 3da9c15..7ec8e1a 100644 --- a/protobuff/archive.proto +++ b/protobuff/archive.proto @@ -281,7 +281,6 @@ message GetTickTransactionsResponseV2 { // Get Transaction message GetTransactionRequestV2 { string tx_id = 1; - bool send_many = 2; } message GetTransactionResponseV2 { Transaction transaction = 1; From b7730d130954ec1b9741342b3ae1b6849344d875 Mon Sep 17 00:00:00 2001 From: LINCKODE Date: Tue, 2 Jul 2024 13:19:34 +0300 Subject: [PATCH 7/7] Implement fixes --- go.mod | 15 +- go.sum | 34 ++- protobuff/archive.pb.go | 502 +++++++++++++++++------------------ protobuff/archive.proto | 4 +- protobuff/archive_grpc.pb.go | 81 +++--- rpc/rpc_server.go | 4 +- rpc/v2_endpoints.go | 10 +- 7 files changed, 334 insertions(+), 316 deletions(-) diff --git a/go.mod b/go.mod index 7d879b8..88d4891 100644 --- a/go.mod +++ b/go.mod @@ -13,9 +13,9 @@ require ( github.com/qubic/go-schnorrq v1.0.0 github.com/stretchr/testify v1.8.4 go.uber.org/zap v1.26.0 - google.golang.org/genproto/googleapis/api v0.0.0-20240125205218-1f4bbc51befe - google.golang.org/grpc v1.61.1 - google.golang.org/protobuf v1.33.0 + google.golang.org/genproto/googleapis/api v0.0.0-20240318140521-94a12d6c2237 + google.golang.org/grpc v1.64.0 + google.golang.org/protobuf v1.34.2 ) require ( @@ -31,7 +31,7 @@ require ( github.com/davecgh/go-spew v1.1.1 // indirect github.com/getsentry/sentry-go v0.18.0 // indirect github.com/gogo/protobuf v1.3.2 // indirect - github.com/golang/protobuf v1.5.3 // indirect + github.com/golang/protobuf v1.5.4 // indirect github.com/golang/snappy v0.0.4 // indirect github.com/klauspost/compress v1.15.15 // indirect github.com/kr/pretty v0.3.1 // indirect @@ -48,10 +48,9 @@ require ( github.com/sirupsen/logrus v1.9.0 // indirect go.uber.org/multierr v1.10.0 // indirect golang.org/x/exp v0.0.0-20230626212559-97b1e661b5df // indirect - golang.org/x/net v0.20.0 // indirect - golang.org/x/sys v0.16.0 // indirect + golang.org/x/net v0.22.0 // indirect + golang.org/x/sys v0.18.0 // indirect golang.org/x/text v0.14.0 // indirect - google.golang.org/genproto v0.0.0-20240116215550-a9fa1716bcac // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20240125205218-1f4bbc51befe // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20240318140521-94a12d6c2237 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/go.sum b/go.sum index 9295542..56125a8 100644 --- a/go.sum +++ b/go.sum @@ -128,8 +128,8 @@ github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= -github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= +github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek= +github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps= github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM= github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= @@ -338,8 +338,8 @@ golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81R golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.20.0 h1:aCL9BSgETF1k+blQaYUBx9hJ9LOGP3gAVemcZlf1Kpo= -golang.org/x/net v0.20.0/go.mod h1:z8BVo6PvndSri0LbOE3hAn0apkU+1YvI6E70E9jsnvY= +golang.org/x/net v0.22.0 h1:9sGLhx7iRIHEiX0oAJ3MRZMUCElJgy7Br1nO+AMN3Tc= +golang.org/x/net v0.22.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -356,8 +356,8 @@ golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.5.0 h1:60k92dhOjHxJkrqnwsfl8KuaHbn/5dl0lUPUklKo3qE= -golang.org/x/sync v0.5.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sync v0.6.0 h1:5BMeUDZ7vkXGfEr1x9B4bRcTH4lpkTkpdh0T/J+qjbQ= +golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -396,8 +396,8 @@ golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.16.0 h1:xWw16ngr6ZMtmxDyKyIgsE93KNKz5HKmMa3b8ALHidU= -golang.org/x/sys v0.16.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4= +golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -507,12 +507,10 @@ google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7Fc google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20240116215550-a9fa1716bcac h1:ZL/Teoy/ZGnzyrqK/Optxxp2pmVh+fmJ97slxSRyzUg= -google.golang.org/genproto v0.0.0-20240116215550-a9fa1716bcac/go.mod h1:+Rvu7ElI+aLzyDQhpHMFMMltsD6m7nqpuWDd2CwJw3k= -google.golang.org/genproto/googleapis/api v0.0.0-20240125205218-1f4bbc51befe h1:0poefMBYvYbs7g5UkjS6HcxBPaTRAmznle9jnxYoAI8= -google.golang.org/genproto/googleapis/api v0.0.0-20240125205218-1f4bbc51befe/go.mod h1:4jWUdICTdgc3Ibxmr8nAJiiLHwQBY0UI0XZcEMaFKaA= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240125205218-1f4bbc51befe h1:bQnxqljG/wqi4NTXu2+DJ3n7APcEA882QZ1JvhQAq9o= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240125205218-1f4bbc51befe/go.mod h1:PAREbraiVEVGVdTZsVWjSbbTtSyGbAgIIvni8a8CD5s= +google.golang.org/genproto/googleapis/api v0.0.0-20240318140521-94a12d6c2237 h1:RFiFrvy37/mpSpdySBDrUdipW/dHwsRwh3J3+A9VgT4= +google.golang.org/genproto/googleapis/api v0.0.0-20240318140521-94a12d6c2237/go.mod h1:Z5Iiy3jtmioajWHDGFk7CeugTyHtPvMHA4UTmUkyalE= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240318140521-94a12d6c2237 h1:NnYq6UN9ReLM9/Y01KWNOWyI5xQ9kbIms5GGJVwS/Yc= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240318140521-94a12d6c2237/go.mod h1:WtryC6hu0hhx87FDGxWCDptyssuo68sk10vYjF+T9fY= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= @@ -525,8 +523,8 @@ google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKa google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= -google.golang.org/grpc v1.61.1 h1:kLAiWrZs7YeDM6MumDe7m3y4aM6wacLzM1Y/wiLP9XY= -google.golang.org/grpc v1.61.1/go.mod h1:VUbo7IFqmF1QtCAstipjG0GIoq49KvMe9+h1jFLBNJs= +google.golang.org/grpc v1.64.0 h1:KH3VH9y/MgNQg1dE7b3XfVK0GsPSIzJwdF617gUSbvY= +google.golang.org/grpc v1.64.0/go.mod h1:oxjF8E3FBnjp+/gVFYdWacaLDx9na1aqy9oovLpxQYg= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= @@ -539,8 +537,8 @@ google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGj google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI= -google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= +google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= +google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= diff --git a/protobuff/archive.pb.go b/protobuff/archive.pb.go index 617acdf..030c9b2 100644 --- a/protobuff/archive.pb.go +++ b/protobuff/archive.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.33.0 -// protoc v5.27.1 +// protoc-gen-go v1.34.1 +// protoc v3.15.8 // source: archive.proto package protobuff @@ -2707,7 +2707,7 @@ func (x *TransactionData) GetMoneyFlew() bool { return false } -type GetLatestTickResponseV2 struct { +type GetLatestTickResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -2715,8 +2715,8 @@ type GetLatestTickResponseV2 struct { LatestTick uint32 `protobuf:"varint,1,opt,name=latest_tick,json=latestTick,proto3" json:"latest_tick,omitempty"` } -func (x *GetLatestTickResponseV2) Reset() { - *x = GetLatestTickResponseV2{} +func (x *GetLatestTickResponse) Reset() { + *x = GetLatestTickResponse{} if protoimpl.UnsafeEnabled { mi := &file_archive_proto_msgTypes[46] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -2724,13 +2724,13 @@ func (x *GetLatestTickResponseV2) Reset() { } } -func (x *GetLatestTickResponseV2) String() string { +func (x *GetLatestTickResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetLatestTickResponseV2) ProtoMessage() {} +func (*GetLatestTickResponse) ProtoMessage() {} -func (x *GetLatestTickResponseV2) ProtoReflect() protoreflect.Message { +func (x *GetLatestTickResponse) ProtoReflect() protoreflect.Message { mi := &file_archive_proto_msgTypes[46] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -2742,12 +2742,12 @@ func (x *GetLatestTickResponseV2) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetLatestTickResponseV2.ProtoReflect.Descriptor instead. -func (*GetLatestTickResponseV2) Descriptor() ([]byte, []int) { +// Deprecated: Use GetLatestTickResponse.ProtoReflect.Descriptor instead. +func (*GetLatestTickResponse) Descriptor() ([]byte, []int) { return file_archive_proto_rawDescGZIP(), []int{46} } -func (x *GetLatestTickResponseV2) GetLatestTick() uint32 { +func (x *GetLatestTickResponse) GetLatestTick() uint32 { if x != nil { return x.LatestTick } @@ -3443,190 +3443,180 @@ var file_archive_proto_rawDesc = []byte{ 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x5f, 0x66, 0x6c, 0x65, 0x77, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x09, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x46, 0x6c, 0x65, 0x77, 0x22, 0x3a, 0x0a, - 0x17, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x56, 0x32, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x61, 0x74, 0x65, - 0x73, 0x74, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6c, - 0x61, 0x74, 0x65, 0x73, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x22, 0x33, 0x0a, 0x10, 0x47, 0x65, 0x74, - 0x54, 0x69, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x56, 0x32, 0x12, 0x1f, 0x0a, - 0x0b, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x0a, 0x74, 0x69, 0x63, 0x6b, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x6f, - 0x0a, 0x1d, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x56, 0x32, 0x12, - 0x4e, 0x0a, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, - 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, - 0x62, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, - 0x61, 0x52, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, - 0x2e, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x56, 0x32, 0x12, 0x13, 0x0a, 0x05, 0x74, 0x78, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x78, 0x49, 0x64, 0x22, - 0xa1, 0x01, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x56, 0x32, 0x12, 0x48, 0x0a, 0x0b, - 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x26, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, - 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x54, 0x72, - 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, - 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x5f, 0x66, 0x6c, - 0x65, 0x77, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x46, - 0x6c, 0x65, 0x77, 0x22, 0x79, 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x54, 0x72, - 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x56, 0x32, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, - 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x74, 0x69, 0x63, 0x6b, 0x4e, 0x75, - 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, - 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, - 0x72, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x64, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x64, 0x32, 0xd3, - 0x1b, 0x0a, 0x0e, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x12, 0xa5, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x51, 0x75, 0x6f, - 0x72, 0x75, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x56, 0x32, 0x12, 0x2b, 0x2e, 0x71, 0x75, 0x62, 0x69, + 0x28, 0x08, 0x52, 0x09, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x46, 0x6c, 0x65, 0x77, 0x22, 0x38, 0x0a, + 0x15, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, + 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6c, 0x61, 0x74, + 0x65, 0x73, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x22, 0x33, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x54, 0x69, + 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x56, 0x32, 0x12, 0x1f, 0x0a, 0x0b, 0x74, + 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x0a, 0x74, 0x69, 0x63, 0x6b, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x6f, 0x0a, 0x1d, + 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x56, 0x32, 0x12, 0x4e, 0x0a, + 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, + 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, + 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x52, + 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x2e, 0x0a, + 0x17, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x56, 0x32, 0x12, 0x13, 0x0a, 0x05, 0x74, 0x78, 0x5f, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x78, 0x49, 0x64, 0x22, 0xa1, 0x01, + 0x0a, 0x18, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x56, 0x32, 0x12, 0x48, 0x0a, 0x0b, 0x74, 0x72, + 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x26, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, + 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x54, 0x72, 0x61, 0x6e, + 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, + 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x5f, 0x66, 0x6c, 0x65, 0x77, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x46, 0x6c, 0x65, + 0x77, 0x22, 0x79, 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, + 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x56, + 0x32, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x74, 0x69, 0x63, 0x6b, 0x4e, 0x75, 0x6d, 0x62, + 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x73, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x73, + 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x08, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x64, 0x32, 0xd1, 0x1b, 0x0a, + 0x0e, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, + 0xa5, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x51, 0x75, 0x6f, 0x72, 0x75, + 0x6d, 0x44, 0x61, 0x74, 0x61, 0x56, 0x32, 0x12, 0x2b, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, + 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, + 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x56, 0x32, 0x1a, 0x34, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, + 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, + 0x2e, 0x47, 0x65, 0x74, 0x51, 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x54, 0x69, 0x63, 0x6b, 0x44, 0x61, + 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2b, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x25, 0x12, 0x23, 0x2f, 0x76, 0x32, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x73, 0x2f, 0x7b, 0x74, + 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x7d, 0x2f, 0x71, 0x75, 0x6f, 0x72, + 0x75, 0x6d, 0x2d, 0x64, 0x61, 0x74, 0x61, 0x12, 0x98, 0x01, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x54, + 0x69, 0x63, 0x6b, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x48, 0x61, 0x73, 0x68, 0x56, 0x32, 0x12, 0x2b, + 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, + 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x69, + 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x56, 0x32, 0x1a, 0x2f, 0x2e, 0x71, 0x75, + 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, + 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, + 0x48, 0x61, 0x73, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x24, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x1e, 0x12, 0x1c, 0x2f, 0x76, 0x32, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x73, 0x2f, + 0x7b, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x7d, 0x2f, 0x68, 0x61, + 0x73, 0x68, 0x12, 0x9e, 0x01, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x53, 0x74, + 0x6f, 0x72, 0x65, 0x48, 0x61, 0x73, 0x68, 0x56, 0x32, 0x12, 0x2b, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x56, 0x32, 0x1a, 0x34, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, + 0x75, 0x65, 0x73, 0x74, 0x56, 0x32, 0x1a, 0x2f, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, - 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x51, 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x54, 0x69, 0x63, 0x6b, - 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2b, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x25, 0x12, 0x23, 0x2f, 0x76, 0x32, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x73, 0x2f, - 0x7b, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x7d, 0x2f, 0x71, 0x75, - 0x6f, 0x72, 0x75, 0x6d, 0x2d, 0x64, 0x61, 0x74, 0x61, 0x12, 0x98, 0x01, 0x0a, 0x12, 0x47, 0x65, - 0x74, 0x54, 0x69, 0x63, 0x6b, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x48, 0x61, 0x73, 0x68, 0x56, 0x32, - 0x12, 0x2b, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, - 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, - 0x54, 0x69, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x56, 0x32, 0x1a, 0x2f, 0x2e, + 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x48, 0x61, 0x73, 0x68, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x24, 0x12, + 0x22, 0x2f, 0x76, 0x32, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x73, 0x2f, 0x7b, 0x74, 0x69, 0x63, 0x6b, + 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x7d, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2d, 0x68, + 0x61, 0x73, 0x68, 0x12, 0xb8, 0x01, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x54, + 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x56, 0x32, 0x12, 0x37, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, - 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, - 0x69, 0x6e, 0x48, 0x61, 0x73, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x24, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x12, 0x1c, 0x2f, 0x76, 0x32, 0x2f, 0x74, 0x69, 0x63, 0x6b, - 0x73, 0x2f, 0x7b, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x7d, 0x2f, - 0x68, 0x61, 0x73, 0x68, 0x12, 0x9e, 0x01, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, - 0x53, 0x74, 0x6f, 0x72, 0x65, 0x48, 0x61, 0x73, 0x68, 0x56, 0x32, 0x12, 0x2b, 0x2e, 0x71, 0x75, + 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, + 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x56, 0x32, 0x1a, 0x38, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, + 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, + 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x56, 0x32, + 0x22, 0x2c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x26, 0x12, 0x24, 0x2f, 0x76, 0x32, 0x2f, 0x74, 0x69, + 0x63, 0x6b, 0x73, 0x2f, 0x7b, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, + 0x7d, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x9d, + 0x01, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x56, 0x32, 0x12, 0x32, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, + 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, + 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x56, 0x32, 0x1a, 0x33, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, + 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, + 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x56, 0x32, 0x22, 0x20, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x1a, 0x12, 0x18, 0x2f, 0x76, 0x32, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x74, 0x78, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xbe, + 0x01, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x61, 0x6e, 0x79, 0x54, 0x72, + 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x32, 0x12, 0x3a, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, - 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x56, 0x32, 0x1a, 0x2f, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, - 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, - 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x48, 0x61, 0x73, - 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2a, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x24, 0x12, 0x22, 0x2f, 0x76, 0x32, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x73, 0x2f, 0x7b, 0x74, 0x69, - 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x7d, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x65, - 0x2d, 0x68, 0x61, 0x73, 0x68, 0x12, 0xb8, 0x01, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, - 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x56, 0x32, 0x12, - 0x37, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, - 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, - 0x69, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x56, 0x32, 0x1a, 0x38, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, - 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, - 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, - 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x56, 0x32, 0x22, 0x2c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x26, 0x12, 0x24, 0x2f, 0x76, 0x32, 0x2f, - 0x74, 0x69, 0x63, 0x6b, 0x73, 0x2f, 0x7b, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, - 0x65, 0x72, 0x7d, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x12, 0x9d, 0x01, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x56, 0x32, 0x12, 0x32, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, + 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x65, 0x6e, 0x64, 0x4d, + 0x61, 0x6e, 0x79, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x56, 0x32, 0x1a, 0x3b, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, + 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, + 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x61, 0x6e, 0x79, 0x54, + 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x56, 0x32, 0x22, 0x29, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x23, 0x12, 0x21, 0x2f, 0x76, + 0x32, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, + 0x74, 0x78, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x73, 0x65, 0x6e, 0x64, 0x6d, 0x61, 0x6e, 0x79, 0x12, + 0xd8, 0x01, 0x0a, 0x21, 0x47, 0x65, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, + 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x73, 0x49, 0x6e, 0x54, 0x69, 0x63, 0x6b, 0x52, 0x61, + 0x6e, 0x67, 0x65, 0x56, 0x32, 0x12, 0x40, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, - 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x56, 0x32, 0x1a, 0x33, 0x2e, 0x71, 0x75, 0x62, 0x69, - 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, - 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x56, 0x32, 0x22, 0x20, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x12, 0x18, 0x2f, 0x76, 0x32, 0x2f, 0x74, 0x72, 0x61, 0x6e, - 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x74, 0x78, 0x5f, 0x69, 0x64, 0x7d, - 0x12, 0xbe, 0x01, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x61, 0x6e, 0x79, - 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x32, 0x12, 0x3a, 0x2e, - 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, - 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x65, 0x6e, - 0x64, 0x4d, 0x61, 0x6e, 0x79, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x56, 0x32, 0x1a, 0x3b, 0x2e, 0x71, 0x75, 0x62, 0x69, - 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, - 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x61, 0x6e, - 0x79, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x56, 0x32, 0x22, 0x29, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x23, 0x12, 0x21, - 0x2f, 0x76, 0x32, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x2f, 0x7b, 0x74, 0x78, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x73, 0x65, 0x6e, 0x64, 0x6d, 0x61, 0x6e, - 0x79, 0x12, 0xd8, 0x01, 0x0a, 0x21, 0x47, 0x65, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, - 0x79, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x73, 0x49, 0x6e, 0x54, 0x69, 0x63, 0x6b, - 0x52, 0x61, 0x6e, 0x67, 0x65, 0x56, 0x32, 0x12, 0x40, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, + 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x54, 0x72, 0x61, + 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x50, 0x65, 0x72, 0x54, 0x69, 0x63, 0x6b, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x44, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, - 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x54, - 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x50, 0x65, 0x72, 0x54, 0x69, - 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x44, 0x2e, 0x71, 0x75, 0x62, 0x69, + 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, + 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x73, 0x49, 0x6e, 0x54, 0x69, 0x63, 0x6b, 0x52, 0x61, + 0x6e, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x56, 0x32, 0x22, 0x2b, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x25, 0x12, 0x23, 0x2f, 0x76, 0x32, 0x2f, 0x69, 0x64, 0x65, 0x6e, 0x74, + 0x69, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x7d, + 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x73, 0x12, 0x97, 0x01, 0x0a, 0x0b, 0x47, + 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x12, 0x2d, 0x2e, 0x71, 0x75, 0x62, + 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, + 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x44, 0x61, + 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, - 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, - 0x79, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x73, 0x49, 0x6e, 0x54, 0x69, 0x63, 0x6b, - 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x56, 0x32, 0x22, - 0x2b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x25, 0x12, 0x23, 0x2f, 0x76, 0x32, 0x2f, 0x69, 0x64, 0x65, - 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, - 0x79, 0x7d, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x73, 0x12, 0x97, 0x01, 0x0a, - 0x0b, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x12, 0x2d, 0x2e, 0x71, + 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x44, 0x61, 0x74, + 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x29, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x23, 0x12, 0x21, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x73, 0x2f, 0x7b, 0x74, 0x69, + 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x7d, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x2d, + 0x64, 0x61, 0x74, 0x61, 0x12, 0xb0, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x51, 0x75, 0x6f, 0x72, + 0x75, 0x6d, 0x54, 0x69, 0x63, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x12, 0x33, 0x2e, 0x71, 0x75, 0x62, + 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, + 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x51, 0x75, 0x6f, 0x72, 0x75, 0x6d, + 0x54, 0x69, 0x63, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x34, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, + 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x51, + 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x54, 0x69, 0x63, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x30, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2a, 0x12, 0x28, 0x2f, + 0x76, 0x31, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x73, 0x2f, 0x7b, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x6e, + 0x75, 0x6d, 0x62, 0x65, 0x72, 0x7d, 0x2f, 0x71, 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x2d, 0x74, 0x69, + 0x63, 0x6b, 0x2d, 0x64, 0x61, 0x74, 0x61, 0x12, 0xb2, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x54, + 0x69, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, + 0x35, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, + 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, + 0x69, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, + 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, + 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2c, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x26, 0x12, 0x24, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x69, 0x63, 0x6b, + 0x73, 0x2f, 0x7b, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x7d, 0x2f, + 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0xc3, 0x01, 0x0a, + 0x1b, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, + 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x35, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, - 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x71, 0x75, - 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, - 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x44, - 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x29, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x23, 0x12, 0x21, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x73, 0x2f, 0x7b, - 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x7d, 0x2f, 0x74, 0x69, 0x63, - 0x6b, 0x2d, 0x64, 0x61, 0x74, 0x61, 0x12, 0xb0, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x51, 0x75, - 0x6f, 0x72, 0x75, 0x6d, 0x54, 0x69, 0x63, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x12, 0x33, 0x2e, 0x71, - 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, - 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x51, 0x75, 0x6f, 0x72, - 0x75, 0x6d, 0x54, 0x69, 0x63, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x34, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, - 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, - 0x74, 0x51, 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x54, 0x69, 0x63, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x30, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2a, 0x12, - 0x28, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x73, 0x2f, 0x7b, 0x74, 0x69, 0x63, 0x6b, - 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x7d, 0x2f, 0x71, 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x2d, - 0x74, 0x69, 0x63, 0x6b, 0x2d, 0x64, 0x61, 0x74, 0x61, 0x12, 0xb2, 0x01, 0x0a, 0x13, 0x47, 0x65, - 0x74, 0x54, 0x69, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x12, 0x35, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, - 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, - 0x74, 0x54, 0x69, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, - 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, - 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, - 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x2c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x26, 0x12, 0x24, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x69, - 0x63, 0x6b, 0x73, 0x2f, 0x7b, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, - 0x7d, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0xc3, - 0x01, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, - 0x65, 0x72, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x35, - 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, - 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x69, - 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, - 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, - 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x35, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x12, 0x2d, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x73, - 0x2f, 0x7b, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x7d, 0x2f, 0x74, - 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x12, 0xd3, 0x01, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, - 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3d, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, - 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, - 0x2e, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x3e, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, + 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, - 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x64, 0x54, - 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x35, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x12, 0x2d, 0x2f, 0x76, 0x31, - 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x73, 0x2f, 0x7b, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, - 0x62, 0x65, 0x72, 0x7d, 0x2f, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x64, 0x2d, 0x74, 0x72, - 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x9b, 0x01, 0x0a, 0x0c, 0x47, - 0x65, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x48, 0x61, 0x73, 0x68, 0x12, 0x2e, 0x2e, 0x71, 0x75, - 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, - 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, - 0x48, 0x61, 0x73, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x71, 0x75, - 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, - 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, - 0x48, 0x61, 0x73, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2a, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x24, 0x12, 0x22, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x73, 0x2f, - 0x7b, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x7d, 0x2f, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x2d, 0x68, 0x61, 0x73, 0x68, 0x12, 0x9b, 0x01, 0x0a, 0x0c, 0x47, 0x65, 0x74, - 0x53, 0x74, 0x6f, 0x72, 0x65, 0x48, 0x61, 0x73, 0x68, 0x12, 0x2e, 0x2e, 0x71, 0x75, 0x62, 0x69, + 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x35, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x2f, 0x12, 0x2d, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x73, 0x2f, 0x7b, + 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x7d, 0x2f, 0x74, 0x72, 0x61, + 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x12, 0xd3, 0x01, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x41, 0x70, + 0x70, 0x72, 0x6f, 0x76, 0x65, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x12, 0x3d, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, + 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, + 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x64, 0x54, 0x72, + 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x3e, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, + 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, + 0x74, 0x54, 0x69, 0x63, 0x6b, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x64, 0x54, 0x72, 0x61, + 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x35, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x12, 0x2d, 0x2f, 0x76, 0x31, 0x2f, 0x74, + 0x69, 0x63, 0x6b, 0x73, 0x2f, 0x7b, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, + 0x72, 0x7d, 0x2f, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x64, 0x2d, 0x74, 0x72, 0x61, 0x6e, + 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x9b, 0x01, 0x0a, 0x0c, 0x47, 0x65, 0x74, + 0x43, 0x68, 0x61, 0x69, 0x6e, 0x48, 0x61, 0x73, 0x68, 0x12, 0x2e, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x48, 0x61, 0x73, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x71, 0x75, 0x62, 0x69, @@ -3634,76 +3624,86 @@ var file_archive_proto_rawDesc = []byte{ 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x48, 0x61, 0x73, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x24, 0x12, 0x22, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x73, 0x2f, 0x7b, 0x74, - 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x7d, 0x2f, 0x73, 0x74, 0x6f, 0x72, - 0x65, 0x2d, 0x68, 0x61, 0x73, 0x68, 0x12, 0x97, 0x01, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x54, 0x72, - 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x30, 0x2e, 0x71, 0x75, 0x62, 0x69, - 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, - 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x71, 0x75, - 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, - 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, - 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x20, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x12, 0x18, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x72, 0x61, 0x6e, - 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x74, 0x78, 0x5f, 0x69, 0x64, 0x7d, - 0x12, 0xa6, 0x01, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x36, 0x2e, 0x71, 0x75, 0x62, 0x69, + 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x7d, 0x2f, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x2d, 0x68, 0x61, 0x73, 0x68, 0x12, 0x9b, 0x01, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x53, 0x74, + 0x6f, 0x72, 0x65, 0x48, 0x61, 0x73, 0x68, 0x12, 0x2e, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, + 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, + 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x48, 0x61, 0x73, 0x68, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, + 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, + 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x48, 0x61, 0x73, 0x68, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x24, + 0x12, 0x22, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x73, 0x2f, 0x7b, 0x74, 0x69, 0x63, + 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x7d, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2d, + 0x68, 0x61, 0x73, 0x68, 0x12, 0x97, 0x01, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, + 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x30, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, + 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, + 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x37, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, - 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, - 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1d, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x17, 0x12, 0x15, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x78, 0x2d, 0x73, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x2f, 0x7b, 0x74, 0x78, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xde, 0x01, 0x0a, 0x1e, 0x47, 0x65, - 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x50, 0x65, 0x72, 0x54, 0x69, 0x63, 0x6b, 0x12, 0x40, 0x2e, 0x71, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x20, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x1a, 0x12, 0x18, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x74, 0x78, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xa6, + 0x01, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x36, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, + 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, + 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x37, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, + 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, + 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x17, + 0x12, 0x15, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x78, 0x2d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2f, + 0x7b, 0x74, 0x78, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xde, 0x01, 0x0a, 0x1e, 0x47, 0x65, 0x74, 0x54, + 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x50, 0x65, 0x72, 0x54, 0x69, 0x63, 0x6b, 0x12, 0x40, 0x2e, 0x71, 0x75, 0x62, + 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, + 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, + 0x65, 0x72, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x50, 0x65, + 0x72, 0x54, 0x69, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x41, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x50, 0x65, 0x72, 0x54, 0x69, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x41, - 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, - 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, - 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x50, 0x65, 0x72, 0x54, 0x69, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x37, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x31, 0x12, 0x2f, 0x2f, 0x76, 0x31, 0x2f, 0x69, - 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x65, 0x6e, 0x74, - 0x69, 0x74, 0x79, 0x7d, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2d, 0x74, 0x72, - 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x95, 0x01, 0x0a, 0x0c, 0x47, - 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x2e, 0x2e, 0x71, 0x75, - 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, - 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x71, 0x75, - 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, - 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x24, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x1e, 0x12, 0x1c, 0x2f, 0x76, 0x31, 0x2f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x73, - 0x2f, 0x7b, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x7d, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x6f, - 0x72, 0x73, 0x12, 0x65, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, - 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x2c, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, - 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, - 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x12, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0c, 0x12, 0x0a, 0x2f, - 0x76, 0x31, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x73, 0x0a, 0x0d, 0x47, 0x65, 0x74, - 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, - 0x74, 0x79, 0x1a, 0x32, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, - 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, - 0x65, 0x74, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x56, 0x32, 0x22, 0x16, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x10, 0x12, 0x0e, - 0x2f, 0x76, 0x31, 0x2f, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x12, 0x74, - 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, - 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x31, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, - 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, - 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, - 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x17, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x11, 0x12, 0x0f, 0x2f, 0x76, 0x31, 0x2f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x63, - 0x68, 0x65, 0x63, 0x6b, 0x42, 0x29, 0x5a, 0x27, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, - 0x6f, 0x6d, 0x2f, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2f, 0x67, 0x6f, 0x2d, 0x61, 0x72, 0x63, 0x68, - 0x69, 0x76, 0x65, 0x72, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x66, 0x2f, 0x62, - 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x50, 0x65, 0x72, 0x54, 0x69, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x37, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x31, 0x12, 0x2f, 0x2f, 0x76, 0x31, 0x2f, 0x69, 0x64, 0x65, + 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, + 0x79, 0x7d, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2d, 0x74, 0x72, 0x61, 0x6e, + 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x95, 0x01, 0x0a, 0x0c, 0x47, 0x65, 0x74, + 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x2e, 0x2e, 0x71, 0x75, 0x62, 0x69, + 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, + 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x6f, + 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x71, 0x75, 0x62, 0x69, + 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, + 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x6f, + 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x24, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x1e, 0x12, 0x1c, 0x2f, 0x76, 0x31, 0x2f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x73, 0x2f, 0x7b, + 0x65, 0x70, 0x6f, 0x63, 0x68, 0x7d, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x6f, 0x72, 0x73, + 0x12, 0x65, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x2c, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, + 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, + 0x62, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x12, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0c, 0x12, 0x0a, 0x2f, 0x76, 0x31, + 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x71, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x4c, 0x61, + 0x74, 0x65, 0x73, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, + 0x1a, 0x30, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, + 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, + 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x16, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x10, 0x12, 0x0e, 0x2f, 0x76, 0x31, 0x2f, + 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x12, 0x74, 0x0a, 0x0e, 0x47, 0x65, + 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x16, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, + 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x31, 0x2e, 0x71, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x61, 0x72, 0x63, + 0x68, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x62, + 0x2e, 0x47, 0x65, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x17, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x11, 0x12, + 0x0f, 0x2f, 0x76, 0x31, 0x2f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x63, 0x68, 0x65, 0x63, 0x6b, + 0x42, 0x29, 0x5a, 0x27, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x71, + 0x75, 0x62, 0x69, 0x63, 0x2f, 0x67, 0x6f, 0x2d, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x72, + 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x66, 0x2f, 0x62, 0x06, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x33, } var ( @@ -3766,7 +3766,7 @@ var file_archive_proto_goTypes = []interface{}{ (*GetSendManyTransactionRequestV2)(nil), // 43: qubic.archiver.archive.pb.GetSendManyTransactionRequestV2 (*GetSendManyTransactionResponseV2)(nil), // 44: qubic.archiver.archive.pb.GetSendManyTransactionResponseV2 (*TransactionData)(nil), // 45: qubic.archiver.archive.pb.TransactionData - (*GetLatestTickResponseV2)(nil), // 46: qubic.archiver.archive.pb.GetLatestTickResponseV2 + (*GetLatestTickResponse)(nil), // 46: qubic.archiver.archive.pb.GetLatestTickResponse (*GetTickRequestV2)(nil), // 47: qubic.archiver.archive.pb.GetTickRequestV2 (*GetTickTransactionsResponseV2)(nil), // 48: qubic.archiver.archive.pb.GetTickTransactionsResponseV2 (*GetTransactionRequestV2)(nil), // 49: qubic.archiver.archive.pb.GetTransactionRequestV2 @@ -3845,7 +3845,7 @@ var file_archive_proto_depIdxs = []int32{ 31, // 65: qubic.archiver.archive.pb.ArchiveService.GetTransferTransactionsPerTick:output_type -> qubic.archiver.archive.pb.GetTransferTransactionsPerTickResponse 25, // 66: qubic.archiver.archive.pb.ArchiveService.GetComputors:output_type -> qubic.archiver.archive.pb.GetComputorsResponse 28, // 67: qubic.archiver.archive.pb.ArchiveService.GetStatus:output_type -> qubic.archiver.archive.pb.GetStatusResponse - 46, // 68: qubic.archiver.archive.pb.ArchiveService.GetLatestTick:output_type -> qubic.archiver.archive.pb.GetLatestTickResponseV2 + 46, // 68: qubic.archiver.archive.pb.ArchiveService.GetLatestTick:output_type -> qubic.archiver.archive.pb.GetLatestTickResponse 29, // 69: qubic.archiver.archive.pb.ArchiveService.GetHealthCheck:output_type -> qubic.archiver.archive.pb.GetHealthCheckResponse 49, // [49:70] is the sub-list for method output_type 28, // [28:49] is the sub-list for method input_type @@ -4413,7 +4413,7 @@ func file_archive_proto_init() { } } file_archive_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetLatestTickResponseV2); i { + switch v := v.(*GetLatestTickResponse); i { case 0: return &v.state case 1: diff --git a/protobuff/archive.proto b/protobuff/archive.proto index 7ec8e1a..c416e69 100644 --- a/protobuff/archive.proto +++ b/protobuff/archive.proto @@ -265,7 +265,7 @@ message TransactionData { // Latest Tick -message GetLatestTickResponseV2 { +message GetLatestTickResponse { uint32 latest_tick = 1; } @@ -424,7 +424,7 @@ service ArchiveService { }; }; - rpc GetLatestTick(google.protobuf.Empty) returns (GetLatestTickResponseV2) { + rpc GetLatestTick(google.protobuf.Empty) returns (GetLatestTickResponse) { option (google.api.http) = { get: "/v1/latestTick" }; diff --git a/protobuff/archive_grpc.pb.go b/protobuff/archive_grpc.pb.go index 4656ab1..dd22b35 100644 --- a/protobuff/archive_grpc.pb.go +++ b/protobuff/archive_grpc.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.3.0 -// - protoc v5.27.1 +// - protoc-gen-go-grpc v1.4.0 +// - protoc v3.15.8 // source: archive.proto package protobuff @@ -16,8 +16,8 @@ import ( // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.32.0 or later. -const _ = grpc.SupportPackageIsVersion7 +// Requires gRPC-Go v1.62.0 or later. +const _ = grpc.SupportPackageIsVersion8 const ( ArchiveService_GetTickQuorumDataV2_FullMethodName = "/qubic.archiver.archive.pb.ArchiveService/GetTickQuorumDataV2" @@ -74,7 +74,7 @@ type ArchiveServiceClient interface { GetTransferTransactionsPerTick(ctx context.Context, in *GetTransferTransactionsPerTickRequest, opts ...grpc.CallOption) (*GetTransferTransactionsPerTickResponse, error) GetComputors(ctx context.Context, in *GetComputorsRequest, opts ...grpc.CallOption) (*GetComputorsResponse, error) GetStatus(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetStatusResponse, error) - GetLatestTick(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetLatestTickResponseV2, error) + GetLatestTick(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetLatestTickResponse, error) GetHealthCheck(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetHealthCheckResponse, error) } @@ -87,8 +87,9 @@ func NewArchiveServiceClient(cc grpc.ClientConnInterface) ArchiveServiceClient { } func (c *archiveServiceClient) GetTickQuorumDataV2(ctx context.Context, in *GetTickRequestV2, opts ...grpc.CallOption) (*GetQuorumTickDataResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(GetQuorumTickDataResponse) - err := c.cc.Invoke(ctx, ArchiveService_GetTickQuorumDataV2_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, ArchiveService_GetTickQuorumDataV2_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -96,8 +97,9 @@ func (c *archiveServiceClient) GetTickQuorumDataV2(ctx context.Context, in *GetT } func (c *archiveServiceClient) GetTickChainHashV2(ctx context.Context, in *GetTickRequestV2, opts ...grpc.CallOption) (*GetChainHashResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(GetChainHashResponse) - err := c.cc.Invoke(ctx, ArchiveService_GetTickChainHashV2_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, ArchiveService_GetTickChainHashV2_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -105,8 +107,9 @@ func (c *archiveServiceClient) GetTickChainHashV2(ctx context.Context, in *GetTi } func (c *archiveServiceClient) GetTickStoreHashV2(ctx context.Context, in *GetTickRequestV2, opts ...grpc.CallOption) (*GetChainHashResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(GetChainHashResponse) - err := c.cc.Invoke(ctx, ArchiveService_GetTickStoreHashV2_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, ArchiveService_GetTickStoreHashV2_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -114,8 +117,9 @@ func (c *archiveServiceClient) GetTickStoreHashV2(ctx context.Context, in *GetTi } func (c *archiveServiceClient) GetTickTransactionsV2(ctx context.Context, in *GetTickTransactionsRequestV2, opts ...grpc.CallOption) (*GetTickTransactionsResponseV2, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(GetTickTransactionsResponseV2) - err := c.cc.Invoke(ctx, ArchiveService_GetTickTransactionsV2_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, ArchiveService_GetTickTransactionsV2_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -123,8 +127,9 @@ func (c *archiveServiceClient) GetTickTransactionsV2(ctx context.Context, in *Ge } func (c *archiveServiceClient) GetTransactionV2(ctx context.Context, in *GetTransactionRequestV2, opts ...grpc.CallOption) (*GetTransactionResponseV2, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(GetTransactionResponseV2) - err := c.cc.Invoke(ctx, ArchiveService_GetTransactionV2_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, ArchiveService_GetTransactionV2_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -132,8 +137,9 @@ func (c *archiveServiceClient) GetTransactionV2(ctx context.Context, in *GetTran } func (c *archiveServiceClient) GetSendManyTransactionV2(ctx context.Context, in *GetSendManyTransactionRequestV2, opts ...grpc.CallOption) (*GetSendManyTransactionResponseV2, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(GetSendManyTransactionResponseV2) - err := c.cc.Invoke(ctx, ArchiveService_GetSendManyTransactionV2_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, ArchiveService_GetSendManyTransactionV2_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -141,8 +147,9 @@ func (c *archiveServiceClient) GetSendManyTransactionV2(ctx context.Context, in } func (c *archiveServiceClient) GetIdentityTransfersInTickRangeV2(ctx context.Context, in *GetTransferTransactionsPerTickRequest, opts ...grpc.CallOption) (*GetIdentityTransfersInTickRangeResponseV2, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(GetIdentityTransfersInTickRangeResponseV2) - err := c.cc.Invoke(ctx, ArchiveService_GetIdentityTransfersInTickRangeV2_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, ArchiveService_GetIdentityTransfersInTickRangeV2_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -150,8 +157,9 @@ func (c *archiveServiceClient) GetIdentityTransfersInTickRangeV2(ctx context.Con } func (c *archiveServiceClient) GetTickData(ctx context.Context, in *GetTickDataRequest, opts ...grpc.CallOption) (*GetTickDataResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(GetTickDataResponse) - err := c.cc.Invoke(ctx, ArchiveService_GetTickData_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, ArchiveService_GetTickData_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -159,8 +167,9 @@ func (c *archiveServiceClient) GetTickData(ctx context.Context, in *GetTickDataR } func (c *archiveServiceClient) GetQuorumTickData(ctx context.Context, in *GetQuorumTickDataRequest, opts ...grpc.CallOption) (*GetQuorumTickDataResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(GetQuorumTickDataResponse) - err := c.cc.Invoke(ctx, ArchiveService_GetQuorumTickData_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, ArchiveService_GetQuorumTickData_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -168,8 +177,9 @@ func (c *archiveServiceClient) GetQuorumTickData(ctx context.Context, in *GetQuo } func (c *archiveServiceClient) GetTickTransactions(ctx context.Context, in *GetTickTransactionsRequest, opts ...grpc.CallOption) (*GetTickTransactionsResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(GetTickTransactionsResponse) - err := c.cc.Invoke(ctx, ArchiveService_GetTickTransactions_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, ArchiveService_GetTickTransactions_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -177,8 +187,9 @@ func (c *archiveServiceClient) GetTickTransactions(ctx context.Context, in *GetT } func (c *archiveServiceClient) GetTickTransferTransactions(ctx context.Context, in *GetTickTransactionsRequest, opts ...grpc.CallOption) (*GetTickTransactionsResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(GetTickTransactionsResponse) - err := c.cc.Invoke(ctx, ArchiveService_GetTickTransferTransactions_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, ArchiveService_GetTickTransferTransactions_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -186,8 +197,9 @@ func (c *archiveServiceClient) GetTickTransferTransactions(ctx context.Context, } func (c *archiveServiceClient) GetTickApprovedTransactions(ctx context.Context, in *GetTickApprovedTransactionsRequest, opts ...grpc.CallOption) (*GetTickApprovedTransactionsResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(GetTickApprovedTransactionsResponse) - err := c.cc.Invoke(ctx, ArchiveService_GetTickApprovedTransactions_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, ArchiveService_GetTickApprovedTransactions_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -195,8 +207,9 @@ func (c *archiveServiceClient) GetTickApprovedTransactions(ctx context.Context, } func (c *archiveServiceClient) GetChainHash(ctx context.Context, in *GetChainHashRequest, opts ...grpc.CallOption) (*GetChainHashResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(GetChainHashResponse) - err := c.cc.Invoke(ctx, ArchiveService_GetChainHash_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, ArchiveService_GetChainHash_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -204,8 +217,9 @@ func (c *archiveServiceClient) GetChainHash(ctx context.Context, in *GetChainHas } func (c *archiveServiceClient) GetStoreHash(ctx context.Context, in *GetChainHashRequest, opts ...grpc.CallOption) (*GetChainHashResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(GetChainHashResponse) - err := c.cc.Invoke(ctx, ArchiveService_GetStoreHash_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, ArchiveService_GetStoreHash_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -213,8 +227,9 @@ func (c *archiveServiceClient) GetStoreHash(ctx context.Context, in *GetChainHas } func (c *archiveServiceClient) GetTransaction(ctx context.Context, in *GetTransactionRequest, opts ...grpc.CallOption) (*GetTransactionResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(GetTransactionResponse) - err := c.cc.Invoke(ctx, ArchiveService_GetTransaction_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, ArchiveService_GetTransaction_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -222,8 +237,9 @@ func (c *archiveServiceClient) GetTransaction(ctx context.Context, in *GetTransa } func (c *archiveServiceClient) GetTransactionStatus(ctx context.Context, in *GetTransactionStatusRequest, opts ...grpc.CallOption) (*GetTransactionStatusResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(GetTransactionStatusResponse) - err := c.cc.Invoke(ctx, ArchiveService_GetTransactionStatus_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, ArchiveService_GetTransactionStatus_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -231,8 +247,9 @@ func (c *archiveServiceClient) GetTransactionStatus(ctx context.Context, in *Get } func (c *archiveServiceClient) GetTransferTransactionsPerTick(ctx context.Context, in *GetTransferTransactionsPerTickRequest, opts ...grpc.CallOption) (*GetTransferTransactionsPerTickResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(GetTransferTransactionsPerTickResponse) - err := c.cc.Invoke(ctx, ArchiveService_GetTransferTransactionsPerTick_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, ArchiveService_GetTransferTransactionsPerTick_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -240,8 +257,9 @@ func (c *archiveServiceClient) GetTransferTransactionsPerTick(ctx context.Contex } func (c *archiveServiceClient) GetComputors(ctx context.Context, in *GetComputorsRequest, opts ...grpc.CallOption) (*GetComputorsResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(GetComputorsResponse) - err := c.cc.Invoke(ctx, ArchiveService_GetComputors_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, ArchiveService_GetComputors_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -249,17 +267,19 @@ func (c *archiveServiceClient) GetComputors(ctx context.Context, in *GetComputor } func (c *archiveServiceClient) GetStatus(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetStatusResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(GetStatusResponse) - err := c.cc.Invoke(ctx, ArchiveService_GetStatus_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, ArchiveService_GetStatus_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } return out, nil } -func (c *archiveServiceClient) GetLatestTick(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetLatestTickResponseV2, error) { - out := new(GetLatestTickResponseV2) - err := c.cc.Invoke(ctx, ArchiveService_GetLatestTick_FullMethodName, in, out, opts...) +func (c *archiveServiceClient) GetLatestTick(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetLatestTickResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(GetLatestTickResponse) + err := c.cc.Invoke(ctx, ArchiveService_GetLatestTick_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -267,8 +287,9 @@ func (c *archiveServiceClient) GetLatestTick(ctx context.Context, in *emptypb.Em } func (c *archiveServiceClient) GetHealthCheck(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetHealthCheckResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(GetHealthCheckResponse) - err := c.cc.Invoke(ctx, ArchiveService_GetHealthCheck_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, ArchiveService_GetHealthCheck_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -306,7 +327,7 @@ type ArchiveServiceServer interface { GetTransferTransactionsPerTick(context.Context, *GetTransferTransactionsPerTickRequest) (*GetTransferTransactionsPerTickResponse, error) GetComputors(context.Context, *GetComputorsRequest) (*GetComputorsResponse, error) GetStatus(context.Context, *emptypb.Empty) (*GetStatusResponse, error) - GetLatestTick(context.Context, *emptypb.Empty) (*GetLatestTickResponseV2, error) + GetLatestTick(context.Context, *emptypb.Empty) (*GetLatestTickResponse, error) GetHealthCheck(context.Context, *emptypb.Empty) (*GetHealthCheckResponse, error) mustEmbedUnimplementedArchiveServiceServer() } @@ -372,7 +393,7 @@ func (UnimplementedArchiveServiceServer) GetComputors(context.Context, *GetCompu func (UnimplementedArchiveServiceServer) GetStatus(context.Context, *emptypb.Empty) (*GetStatusResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method GetStatus not implemented") } -func (UnimplementedArchiveServiceServer) GetLatestTick(context.Context, *emptypb.Empty) (*GetLatestTickResponseV2, error) { +func (UnimplementedArchiveServiceServer) GetLatestTick(context.Context, *emptypb.Empty) (*GetLatestTickResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method GetLatestTick not implemented") } func (UnimplementedArchiveServiceServer) GetHealthCheck(context.Context, *emptypb.Empty) (*GetHealthCheckResponse, error) { diff --git a/rpc/rpc_server.go b/rpc/rpc_server.go index 3365827..becf21d 100644 --- a/rpc/rpc_server.go +++ b/rpc/rpc_server.go @@ -359,13 +359,13 @@ func (s *Server) GetHealthCheck(ctx context.Context, _ *emptypb.Empty) (*protobu } -func (s *Server) GetLatestTick(ctx context.Context, _ *emptypb.Empty) (*protobuff.GetLatestTickResponseV2, error) { +func (s *Server) GetLatestTick(ctx context.Context, _ *emptypb.Empty) (*protobuff.GetLatestTickResponse, error) { chainTick, err := fetchChainTick(ctx, s.chainTickFetchUrl) if err != nil { return nil, status.Errorf(codes.Internal, "fetching chain tick: %v", err) } - return &protobuff.GetLatestTickResponseV2{LatestTick: uint32(chainTick)}, nil + return &protobuff.GetLatestTickResponse{LatestTick: uint32(chainTick)}, nil } func (s *Server) GetTransferTransactionsPerTick(ctx context.Context, req *protobuff.GetTransferTransactionsPerTickRequest) (*protobuff.GetTransferTransactionsPerTickResponse, error) { diff --git a/rpc/v2_endpoints.go b/rpc/v2_endpoints.go index 188a406..94f911f 100644 --- a/rpc/v2_endpoints.go +++ b/rpc/v2_endpoints.go @@ -12,7 +12,7 @@ import ( "google.golang.org/protobuf/types/known/emptypb" ) -func (s *Server) GetLatestTickV2(ctx context.Context, req *emptypb.Empty) (*protobuff.GetLatestTickResponseV2, error) { +func (s *Server) GetLatestTickV2(ctx context.Context, req *emptypb.Empty) (*protobuff.GetLatestTickResponse, error) { return s.GetLatestTick(ctx, req) } @@ -43,19 +43,19 @@ func (s *Server) GetTickStoreHashV2(ctx context.Context, req *protobuff.GetTickR func (s *Server) GetTickTransactionsV2(ctx context.Context, req *protobuff.GetTickTransactionsRequestV2) (*protobuff.GetTickTransactionsResponseV2, error) { - tickRequest := &protobuff.GetTickRequestV2{ + tickRequest := protobuff.GetTickRequestV2{ TickNumber: req.TickNumber, } if req.Approved { - return s.GetApprovedTickTransactionsV2(ctx, tickRequest) + return s.GetApprovedTickTransactionsV2(ctx, &tickRequest) } if req.Transfers { - return s.GetTransferTickTransactionsV2(ctx, tickRequest) + return s.GetTransferTickTransactionsV2(ctx, &tickRequest) } - return s.GetAllTickTransactionsV2(ctx, tickRequest) + return s.GetAllTickTransactionsV2(ctx, &tickRequest) }