From d0703c6d3ca08feb96e6ad97a6e7bbfa76c5d741 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Olav?= Date: Sat, 21 Sep 2024 13:22:28 +0200 Subject: [PATCH] rpc: add get peer info --- gen/bitcoin/bitcoind/v1alpha/bitcoin.pb.go | 1950 +++++++++-------- .../bitcoindv1alphaconnect/bitcoin.connect.go | 30 + proto/bitcoin/bitcoind/v1alpha/bitcoin.proto | 13 + server/server.go | 18 + 4 files changed, 1140 insertions(+), 871 deletions(-) diff --git a/gen/bitcoin/bitcoind/v1alpha/bitcoin.pb.go b/gen/bitcoin/bitcoind/v1alpha/bitcoin.pb.go index 419a79f..59ca42a 100644 --- a/gen/bitcoin/bitcoind/v1alpha/bitcoin.pb.go +++ b/gen/bitcoin/bitcoind/v1alpha/bitcoin.pb.go @@ -69,7 +69,7 @@ func (x GetTransactionResponse_Replaceable) Number() protoreflect.EnumNumber { // Deprecated: Use GetTransactionResponse_Replaceable.Descriptor instead. func (GetTransactionResponse_Replaceable) EnumDescriptor() ([]byte, []int) { - return file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDescGZIP(), []int{10, 0} + return file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDescGZIP(), []int{13, 0} } type GetTransactionResponse_Category int32 @@ -127,7 +127,7 @@ func (x GetTransactionResponse_Category) Number() protoreflect.EnumNumber { // Deprecated: Use GetTransactionResponse_Category.Descriptor instead. func (GetTransactionResponse_Category) EnumDescriptor() ([]byte, []int) { - return file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDescGZIP(), []int{10, 1} + return file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDescGZIP(), []int{13, 1} } type EstimateSmartFeeRequest_EstimateMode int32 @@ -176,7 +176,7 @@ func (x EstimateSmartFeeRequest_EstimateMode) Number() protoreflect.EnumNumber { // Deprecated: Use EstimateSmartFeeRequest_EstimateMode.Descriptor instead. func (EstimateSmartFeeRequest_EstimateMode) EnumDescriptor() ([]byte, []int) { - return file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDescGZIP(), []int{20, 0} + return file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDescGZIP(), []int{23, 0} } type GetBlockRequest_Verbosity int32 @@ -237,7 +237,7 @@ func (x GetBlockRequest_Verbosity) Number() protoreflect.EnumNumber { // Deprecated: Use GetBlockRequest_Verbosity.Descriptor instead. func (GetBlockRequest_Verbosity) EnumDescriptor() ([]byte, []int) { - return file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDescGZIP(), []int{29, 0} + return file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDescGZIP(), []int{32, 0} } type GetBlockchainInfoRequest struct { @@ -375,6 +375,154 @@ func (x *GetBlockchainInfoResponse) GetVerificationProgress() float64 { return 0 } +type GetPeerInfoRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *GetPeerInfoRequest) Reset() { + *x = GetPeerInfoRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetPeerInfoRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetPeerInfoRequest) ProtoMessage() {} + +func (x *GetPeerInfoRequest) ProtoReflect() protoreflect.Message { + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[2] + 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 GetPeerInfoRequest.ProtoReflect.Descriptor instead. +func (*GetPeerInfoRequest) Descriptor() ([]byte, []int) { + return file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDescGZIP(), []int{2} +} + +type Peer struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + Addr string `protobuf:"bytes,2,opt,name=addr,proto3" json:"addr,omitempty"` + SyncedBlocks int32 `protobuf:"varint,3,opt,name=synced_blocks,json=syncedBlocks,proto3" json:"synced_blocks,omitempty"` +} + +func (x *Peer) Reset() { + *x = Peer{} + if protoimpl.UnsafeEnabled { + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Peer) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Peer) ProtoMessage() {} + +func (x *Peer) ProtoReflect() protoreflect.Message { + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Peer.ProtoReflect.Descriptor instead. +func (*Peer) Descriptor() ([]byte, []int) { + return file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDescGZIP(), []int{3} +} + +func (x *Peer) GetId() int32 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *Peer) GetAddr() string { + if x != nil { + return x.Addr + } + return "" +} + +func (x *Peer) GetSyncedBlocks() int32 { + if x != nil { + return x.SyncedBlocks + } + return 0 +} + +type GetPeerInfoResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Peers []*Peer `protobuf:"bytes,1,rep,name=peers,proto3" json:"peers,omitempty"` +} + +func (x *GetPeerInfoResponse) Reset() { + *x = GetPeerInfoResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetPeerInfoResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetPeerInfoResponse) ProtoMessage() {} + +func (x *GetPeerInfoResponse) ProtoReflect() protoreflect.Message { + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_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 GetPeerInfoResponse.ProtoReflect.Descriptor instead. +func (*GetPeerInfoResponse) Descriptor() ([]byte, []int) { + return file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDescGZIP(), []int{4} +} + +func (x *GetPeerInfoResponse) GetPeers() []*Peer { + if x != nil { + return x.Peers + } + return nil +} + type GetNewAddressRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -390,7 +538,7 @@ type GetNewAddressRequest struct { func (x *GetNewAddressRequest) Reset() { *x = GetNewAddressRequest{} if protoimpl.UnsafeEnabled { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[2] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -403,7 +551,7 @@ func (x *GetNewAddressRequest) String() string { func (*GetNewAddressRequest) ProtoMessage() {} func (x *GetNewAddressRequest) ProtoReflect() protoreflect.Message { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[2] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -416,7 +564,7 @@ func (x *GetNewAddressRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetNewAddressRequest.ProtoReflect.Descriptor instead. func (*GetNewAddressRequest) Descriptor() ([]byte, []int) { - return file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDescGZIP(), []int{2} + return file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDescGZIP(), []int{5} } func (x *GetNewAddressRequest) GetLabel() string { @@ -451,7 +599,7 @@ type GetNewAddressResponse struct { func (x *GetNewAddressResponse) Reset() { *x = GetNewAddressResponse{} if protoimpl.UnsafeEnabled { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[3] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -464,7 +612,7 @@ func (x *GetNewAddressResponse) String() string { func (*GetNewAddressResponse) ProtoMessage() {} func (x *GetNewAddressResponse) ProtoReflect() protoreflect.Message { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[3] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -477,7 +625,7 @@ func (x *GetNewAddressResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetNewAddressResponse.ProtoReflect.Descriptor instead. func (*GetNewAddressResponse) Descriptor() ([]byte, []int) { - return file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDescGZIP(), []int{3} + return file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDescGZIP(), []int{6} } func (x *GetNewAddressResponse) GetAddress() string { @@ -500,7 +648,7 @@ type GetWalletInfoRequest struct { func (x *GetWalletInfoRequest) Reset() { *x = GetWalletInfoRequest{} if protoimpl.UnsafeEnabled { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[4] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -513,7 +661,7 @@ func (x *GetWalletInfoRequest) String() string { func (*GetWalletInfoRequest) ProtoMessage() {} func (x *GetWalletInfoRequest) ProtoReflect() protoreflect.Message { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[4] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -526,7 +674,7 @@ func (x *GetWalletInfoRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetWalletInfoRequest.ProtoReflect.Descriptor instead. func (*GetWalletInfoRequest) Descriptor() ([]byte, []int) { - return file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDescGZIP(), []int{4} + return file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDescGZIP(), []int{7} } func (x *GetWalletInfoRequest) GetWallet() string { @@ -559,7 +707,7 @@ type GetWalletInfoResponse struct { func (x *GetWalletInfoResponse) Reset() { *x = GetWalletInfoResponse{} if protoimpl.UnsafeEnabled { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[5] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -572,7 +720,7 @@ func (x *GetWalletInfoResponse) String() string { func (*GetWalletInfoResponse) ProtoMessage() {} func (x *GetWalletInfoResponse) ProtoReflect() protoreflect.Message { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[5] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -585,7 +733,7 @@ func (x *GetWalletInfoResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetWalletInfoResponse.ProtoReflect.Descriptor instead. func (*GetWalletInfoResponse) Descriptor() ([]byte, []int) { - return file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDescGZIP(), []int{5} + return file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDescGZIP(), []int{8} } func (x *GetWalletInfoResponse) GetWalletName() string { @@ -683,7 +831,7 @@ type GetBalancesRequest struct { func (x *GetBalancesRequest) Reset() { *x = GetBalancesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[6] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -696,7 +844,7 @@ func (x *GetBalancesRequest) String() string { func (*GetBalancesRequest) ProtoMessage() {} func (x *GetBalancesRequest) ProtoReflect() protoreflect.Message { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[6] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -709,7 +857,7 @@ func (x *GetBalancesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetBalancesRequest.ProtoReflect.Descriptor instead. func (*GetBalancesRequest) Descriptor() ([]byte, []int) { - return file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDescGZIP(), []int{6} + return file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDescGZIP(), []int{9} } func (x *GetBalancesRequest) GetWallet() string { @@ -731,7 +879,7 @@ type GetBalancesResponse struct { func (x *GetBalancesResponse) Reset() { *x = GetBalancesResponse{} if protoimpl.UnsafeEnabled { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[7] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -744,7 +892,7 @@ func (x *GetBalancesResponse) String() string { func (*GetBalancesResponse) ProtoMessage() {} func (x *GetBalancesResponse) ProtoReflect() protoreflect.Message { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[7] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -757,7 +905,7 @@ func (x *GetBalancesResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetBalancesResponse.ProtoReflect.Descriptor instead. func (*GetBalancesResponse) Descriptor() ([]byte, []int) { - return file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDescGZIP(), []int{7} + return file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDescGZIP(), []int{10} } func (x *GetBalancesResponse) GetMine() *GetBalancesResponse_Mine { @@ -786,7 +934,7 @@ type WalletScan struct { func (x *WalletScan) Reset() { *x = WalletScan{} if protoimpl.UnsafeEnabled { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[8] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -799,7 +947,7 @@ func (x *WalletScan) String() string { func (*WalletScan) ProtoMessage() {} func (x *WalletScan) ProtoReflect() protoreflect.Message { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[8] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -812,7 +960,7 @@ func (x *WalletScan) ProtoReflect() protoreflect.Message { // Deprecated: Use WalletScan.ProtoReflect.Descriptor instead. func (*WalletScan) Descriptor() ([]byte, []int) { - return file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDescGZIP(), []int{8} + return file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDescGZIP(), []int{11} } func (x *WalletScan) GetDuration() int64 { @@ -843,7 +991,7 @@ type GetTransactionRequest struct { func (x *GetTransactionRequest) Reset() { *x = GetTransactionRequest{} if protoimpl.UnsafeEnabled { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[9] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -856,7 +1004,7 @@ func (x *GetTransactionRequest) String() string { func (*GetTransactionRequest) ProtoMessage() {} func (x *GetTransactionRequest) ProtoReflect() protoreflect.Message { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[9] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -869,7 +1017,7 @@ func (x *GetTransactionRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetTransactionRequest.ProtoReflect.Descriptor instead. func (*GetTransactionRequest) Descriptor() ([]byte, []int) { - return file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDescGZIP(), []int{9} + return file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDescGZIP(), []int{12} } func (x *GetTransactionRequest) GetTxid() string { @@ -941,7 +1089,7 @@ type GetTransactionResponse struct { func (x *GetTransactionResponse) Reset() { *x = GetTransactionResponse{} if protoimpl.UnsafeEnabled { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[10] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -954,7 +1102,7 @@ func (x *GetTransactionResponse) String() string { func (*GetTransactionResponse) ProtoMessage() {} func (x *GetTransactionResponse) ProtoReflect() protoreflect.Message { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[10] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -967,7 +1115,7 @@ func (x *GetTransactionResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetTransactionResponse.ProtoReflect.Descriptor instead. func (*GetTransactionResponse) Descriptor() ([]byte, []int) { - return file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDescGZIP(), []int{10} + return file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDescGZIP(), []int{13} } func (x *GetTransactionResponse) GetAmount() float64 { @@ -1089,7 +1237,7 @@ type GetRawTransactionRequest struct { func (x *GetRawTransactionRequest) Reset() { *x = GetRawTransactionRequest{} if protoimpl.UnsafeEnabled { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[11] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1102,7 +1250,7 @@ func (x *GetRawTransactionRequest) String() string { func (*GetRawTransactionRequest) ProtoMessage() {} func (x *GetRawTransactionRequest) ProtoReflect() protoreflect.Message { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[11] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1115,7 +1263,7 @@ func (x *GetRawTransactionRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetRawTransactionRequest.ProtoReflect.Descriptor instead. func (*GetRawTransactionRequest) Descriptor() ([]byte, []int) { - return file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDescGZIP(), []int{11} + return file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDescGZIP(), []int{14} } func (x *GetRawTransactionRequest) GetTxid() string { @@ -1144,7 +1292,7 @@ type Input struct { func (x *Input) Reset() { *x = Input{} if protoimpl.UnsafeEnabled { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[12] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1157,7 +1305,7 @@ func (x *Input) String() string { func (*Input) ProtoMessage() {} func (x *Input) ProtoReflect() protoreflect.Message { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[12] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1170,7 +1318,7 @@ func (x *Input) ProtoReflect() protoreflect.Message { // Deprecated: Use Input.ProtoReflect.Descriptor instead. func (*Input) Descriptor() ([]byte, []int) { - return file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDescGZIP(), []int{12} + return file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDescGZIP(), []int{15} } func (x *Input) GetTxid() string { @@ -1199,7 +1347,7 @@ type ScriptPubKey struct { func (x *ScriptPubKey) Reset() { *x = ScriptPubKey{} if protoimpl.UnsafeEnabled { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[13] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1212,7 +1360,7 @@ func (x *ScriptPubKey) String() string { func (*ScriptPubKey) ProtoMessage() {} func (x *ScriptPubKey) ProtoReflect() protoreflect.Message { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[13] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1225,7 +1373,7 @@ func (x *ScriptPubKey) ProtoReflect() protoreflect.Message { // Deprecated: Use ScriptPubKey.ProtoReflect.Descriptor instead. func (*ScriptPubKey) Descriptor() ([]byte, []int) { - return file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDescGZIP(), []int{13} + return file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDescGZIP(), []int{16} } func (x *ScriptPubKey) GetType() string { @@ -1256,7 +1404,7 @@ type Output struct { func (x *Output) Reset() { *x = Output{} if protoimpl.UnsafeEnabled { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[14] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1269,7 +1417,7 @@ func (x *Output) String() string { func (*Output) ProtoMessage() {} func (x *Output) ProtoReflect() protoreflect.Message { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[14] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1282,7 +1430,7 @@ func (x *Output) ProtoReflect() protoreflect.Message { // Deprecated: Use Output.ProtoReflect.Descriptor instead. func (*Output) Descriptor() ([]byte, []int) { - return file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDescGZIP(), []int{14} + return file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDescGZIP(), []int{17} } func (x *Output) GetAmount() float64 { @@ -1323,7 +1471,7 @@ type GetRawTransactionResponse struct { func (x *GetRawTransactionResponse) Reset() { *x = GetRawTransactionResponse{} if protoimpl.UnsafeEnabled { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[15] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1336,7 +1484,7 @@ func (x *GetRawTransactionResponse) String() string { func (*GetRawTransactionResponse) ProtoMessage() {} func (x *GetRawTransactionResponse) ProtoReflect() protoreflect.Message { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[15] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1349,7 +1497,7 @@ func (x *GetRawTransactionResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetRawTransactionResponse.ProtoReflect.Descriptor instead. func (*GetRawTransactionResponse) Descriptor() ([]byte, []int) { - return file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDescGZIP(), []int{15} + return file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDescGZIP(), []int{18} } func (x *GetRawTransactionResponse) GetTx() *RawTransaction { @@ -1439,7 +1587,7 @@ type SendRequest struct { func (x *SendRequest) Reset() { *x = SendRequest{} if protoimpl.UnsafeEnabled { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[16] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1452,7 +1600,7 @@ func (x *SendRequest) String() string { func (*SendRequest) ProtoMessage() {} func (x *SendRequest) ProtoReflect() protoreflect.Message { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[16] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1465,7 +1613,7 @@ func (x *SendRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SendRequest.ProtoReflect.Descriptor instead. func (*SendRequest) Descriptor() ([]byte, []int) { - return file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDescGZIP(), []int{16} + return file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDescGZIP(), []int{19} } func (x *SendRequest) GetDestinations() map[string]float64 { @@ -1531,7 +1679,7 @@ type SendResponse struct { func (x *SendResponse) Reset() { *x = SendResponse{} if protoimpl.UnsafeEnabled { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[17] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1544,7 +1692,7 @@ func (x *SendResponse) String() string { func (*SendResponse) ProtoMessage() {} func (x *SendResponse) ProtoReflect() protoreflect.Message { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[17] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1557,7 +1705,7 @@ func (x *SendResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use SendResponse.ProtoReflect.Descriptor instead. func (*SendResponse) Descriptor() ([]byte, []int) { - return file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDescGZIP(), []int{17} + return file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDescGZIP(), []int{20} } func (x *SendResponse) GetTxid() string { @@ -1601,7 +1749,7 @@ type SendToAddressRequest struct { func (x *SendToAddressRequest) Reset() { *x = SendToAddressRequest{} if protoimpl.UnsafeEnabled { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[18] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1614,7 +1762,7 @@ func (x *SendToAddressRequest) String() string { func (*SendToAddressRequest) ProtoMessage() {} func (x *SendToAddressRequest) ProtoReflect() protoreflect.Message { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[18] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1627,7 +1775,7 @@ func (x *SendToAddressRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SendToAddressRequest.ProtoReflect.Descriptor instead. func (*SendToAddressRequest) Descriptor() ([]byte, []int) { - return file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDescGZIP(), []int{18} + return file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDescGZIP(), []int{21} } func (x *SendToAddressRequest) GetAddress() string { @@ -1676,7 +1824,7 @@ type SendToAddressResponse struct { func (x *SendToAddressResponse) Reset() { *x = SendToAddressResponse{} if protoimpl.UnsafeEnabled { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[19] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1689,7 +1837,7 @@ func (x *SendToAddressResponse) String() string { func (*SendToAddressResponse) ProtoMessage() {} func (x *SendToAddressResponse) ProtoReflect() protoreflect.Message { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[19] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1702,7 +1850,7 @@ func (x *SendToAddressResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use SendToAddressResponse.ProtoReflect.Descriptor instead. func (*SendToAddressResponse) Descriptor() ([]byte, []int) { - return file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDescGZIP(), []int{19} + return file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDescGZIP(), []int{22} } func (x *SendToAddressResponse) GetTxid() string { @@ -1724,7 +1872,7 @@ type EstimateSmartFeeRequest struct { func (x *EstimateSmartFeeRequest) Reset() { *x = EstimateSmartFeeRequest{} if protoimpl.UnsafeEnabled { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[20] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1737,7 +1885,7 @@ func (x *EstimateSmartFeeRequest) String() string { func (*EstimateSmartFeeRequest) ProtoMessage() {} func (x *EstimateSmartFeeRequest) ProtoReflect() protoreflect.Message { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[20] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1750,7 +1898,7 @@ func (x *EstimateSmartFeeRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use EstimateSmartFeeRequest.ProtoReflect.Descriptor instead. func (*EstimateSmartFeeRequest) Descriptor() ([]byte, []int) { - return file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDescGZIP(), []int{20} + return file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDescGZIP(), []int{23} } func (x *EstimateSmartFeeRequest) GetConfTarget() int64 { @@ -1783,7 +1931,7 @@ type EstimateSmartFeeResponse struct { func (x *EstimateSmartFeeResponse) Reset() { *x = EstimateSmartFeeResponse{} if protoimpl.UnsafeEnabled { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[21] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1796,7 +1944,7 @@ func (x *EstimateSmartFeeResponse) String() string { func (*EstimateSmartFeeResponse) ProtoMessage() {} func (x *EstimateSmartFeeResponse) ProtoReflect() protoreflect.Message { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[21] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1809,7 +1957,7 @@ func (x *EstimateSmartFeeResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use EstimateSmartFeeResponse.ProtoReflect.Descriptor instead. func (*EstimateSmartFeeResponse) Descriptor() ([]byte, []int) { - return file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDescGZIP(), []int{21} + return file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDescGZIP(), []int{24} } func (x *EstimateSmartFeeResponse) GetFeeRate() float64 { @@ -1844,7 +1992,7 @@ type DecodeRawTransactionRequest struct { func (x *DecodeRawTransactionRequest) Reset() { *x = DecodeRawTransactionRequest{} if protoimpl.UnsafeEnabled { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[22] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1857,7 +2005,7 @@ func (x *DecodeRawTransactionRequest) String() string { func (*DecodeRawTransactionRequest) ProtoMessage() {} func (x *DecodeRawTransactionRequest) ProtoReflect() protoreflect.Message { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[22] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[25] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1870,7 +2018,7 @@ func (x *DecodeRawTransactionRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DecodeRawTransactionRequest.ProtoReflect.Descriptor instead. func (*DecodeRawTransactionRequest) Descriptor() ([]byte, []int) { - return file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDescGZIP(), []int{22} + return file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDescGZIP(), []int{25} } func (x *DecodeRawTransactionRequest) GetTx() *RawTransaction { @@ -1894,7 +2042,7 @@ type RawTransaction struct { func (x *RawTransaction) Reset() { *x = RawTransaction{} if protoimpl.UnsafeEnabled { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[23] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1907,7 +2055,7 @@ func (x *RawTransaction) String() string { func (*RawTransaction) ProtoMessage() {} func (x *RawTransaction) ProtoReflect() protoreflect.Message { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[23] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[26] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1920,7 +2068,7 @@ func (x *RawTransaction) ProtoReflect() protoreflect.Message { // Deprecated: Use RawTransaction.ProtoReflect.Descriptor instead. func (*RawTransaction) Descriptor() ([]byte, []int) { - return file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDescGZIP(), []int{23} + return file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDescGZIP(), []int{26} } func (x *RawTransaction) GetData() []byte { @@ -1960,7 +2108,7 @@ type DecodeRawTransactionResponse struct { func (x *DecodeRawTransactionResponse) Reset() { *x = DecodeRawTransactionResponse{} if protoimpl.UnsafeEnabled { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[24] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1973,7 +2121,7 @@ func (x *DecodeRawTransactionResponse) String() string { func (*DecodeRawTransactionResponse) ProtoMessage() {} func (x *DecodeRawTransactionResponse) ProtoReflect() protoreflect.Message { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[24] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[27] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1986,7 +2134,7 @@ func (x *DecodeRawTransactionResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use DecodeRawTransactionResponse.ProtoReflect.Descriptor instead. func (*DecodeRawTransactionResponse) Descriptor() ([]byte, []int) { - return file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDescGZIP(), []int{24} + return file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDescGZIP(), []int{27} } func (x *DecodeRawTransactionResponse) GetTxid() string { @@ -2066,7 +2214,7 @@ type ImportDescriptorsRequest struct { func (x *ImportDescriptorsRequest) Reset() { *x = ImportDescriptorsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[25] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2079,7 +2227,7 @@ func (x *ImportDescriptorsRequest) String() string { func (*ImportDescriptorsRequest) ProtoMessage() {} func (x *ImportDescriptorsRequest) ProtoReflect() protoreflect.Message { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[25] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[28] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2092,7 +2240,7 @@ func (x *ImportDescriptorsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ImportDescriptorsRequest.ProtoReflect.Descriptor instead. func (*ImportDescriptorsRequest) Descriptor() ([]byte, []int) { - return file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDescGZIP(), []int{25} + return file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDescGZIP(), []int{28} } func (x *ImportDescriptorsRequest) GetWallet() string { @@ -2120,7 +2268,7 @@ type ImportDescriptorsResponse struct { func (x *ImportDescriptorsResponse) Reset() { *x = ImportDescriptorsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[26] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2133,7 +2281,7 @@ func (x *ImportDescriptorsResponse) String() string { func (*ImportDescriptorsResponse) ProtoMessage() {} func (x *ImportDescriptorsResponse) ProtoReflect() protoreflect.Message { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[26] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[29] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2146,7 +2294,7 @@ func (x *ImportDescriptorsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ImportDescriptorsResponse.ProtoReflect.Descriptor instead. func (*ImportDescriptorsResponse) Descriptor() ([]byte, []int) { - return file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDescGZIP(), []int{26} + return file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDescGZIP(), []int{29} } func (x *ImportDescriptorsResponse) GetResponses() []*ImportDescriptorsResponse_Response { @@ -2167,7 +2315,7 @@ type GetDescriptorInfoRequest struct { func (x *GetDescriptorInfoRequest) Reset() { *x = GetDescriptorInfoRequest{} if protoimpl.UnsafeEnabled { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[27] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2180,7 +2328,7 @@ func (x *GetDescriptorInfoRequest) String() string { func (*GetDescriptorInfoRequest) ProtoMessage() {} func (x *GetDescriptorInfoRequest) ProtoReflect() protoreflect.Message { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[27] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[30] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2193,7 +2341,7 @@ func (x *GetDescriptorInfoRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetDescriptorInfoRequest.ProtoReflect.Descriptor instead. func (*GetDescriptorInfoRequest) Descriptor() ([]byte, []int) { - return file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDescGZIP(), []int{27} + return file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDescGZIP(), []int{30} } func (x *GetDescriptorInfoRequest) GetDescriptor_() string { @@ -2220,7 +2368,7 @@ type GetDescriptorInfoResponse struct { func (x *GetDescriptorInfoResponse) Reset() { *x = GetDescriptorInfoResponse{} if protoimpl.UnsafeEnabled { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[28] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2233,7 +2381,7 @@ func (x *GetDescriptorInfoResponse) String() string { func (*GetDescriptorInfoResponse) ProtoMessage() {} func (x *GetDescriptorInfoResponse) ProtoReflect() protoreflect.Message { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[28] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[31] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2246,7 +2394,7 @@ func (x *GetDescriptorInfoResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetDescriptorInfoResponse.ProtoReflect.Descriptor instead. func (*GetDescriptorInfoResponse) Descriptor() ([]byte, []int) { - return file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDescGZIP(), []int{28} + return file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDescGZIP(), []int{31} } func (x *GetDescriptorInfoResponse) GetDescriptor_() string { @@ -2296,7 +2444,7 @@ type GetBlockRequest struct { func (x *GetBlockRequest) Reset() { *x = GetBlockRequest{} if protoimpl.UnsafeEnabled { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[29] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2309,7 +2457,7 @@ func (x *GetBlockRequest) String() string { func (*GetBlockRequest) ProtoMessage() {} func (x *GetBlockRequest) ProtoReflect() protoreflect.Message { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[29] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[32] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2322,7 +2470,7 @@ func (x *GetBlockRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetBlockRequest.ProtoReflect.Descriptor instead. func (*GetBlockRequest) Descriptor() ([]byte, []int) { - return file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDescGZIP(), []int{29} + return file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDescGZIP(), []int{32} } func (x *GetBlockRequest) GetHash() string { @@ -2369,7 +2517,7 @@ type GetBlockResponse struct { func (x *GetBlockResponse) Reset() { *x = GetBlockResponse{} if protoimpl.UnsafeEnabled { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[30] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2382,7 +2530,7 @@ func (x *GetBlockResponse) String() string { func (*GetBlockResponse) ProtoMessage() {} func (x *GetBlockResponse) ProtoReflect() protoreflect.Message { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[30] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[33] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2395,7 +2543,7 @@ func (x *GetBlockResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetBlockResponse.ProtoReflect.Descriptor instead. func (*GetBlockResponse) Descriptor() ([]byte, []int) { - return file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDescGZIP(), []int{30} + return file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDescGZIP(), []int{33} } func (x *GetBlockResponse) GetHex() string { @@ -2530,7 +2678,7 @@ type BumpFeeRequest struct { func (x *BumpFeeRequest) Reset() { *x = BumpFeeRequest{} if protoimpl.UnsafeEnabled { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[31] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2543,7 +2691,7 @@ func (x *BumpFeeRequest) String() string { func (*BumpFeeRequest) ProtoMessage() {} func (x *BumpFeeRequest) ProtoReflect() protoreflect.Message { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[31] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[34] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2556,7 +2704,7 @@ func (x *BumpFeeRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use BumpFeeRequest.ProtoReflect.Descriptor instead. func (*BumpFeeRequest) Descriptor() ([]byte, []int) { - return file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDescGZIP(), []int{31} + return file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDescGZIP(), []int{34} } func (x *BumpFeeRequest) GetWallet() string { @@ -2587,7 +2735,7 @@ type BumpFeeResponse struct { func (x *BumpFeeResponse) Reset() { *x = BumpFeeResponse{} if protoimpl.UnsafeEnabled { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[32] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2600,7 +2748,7 @@ func (x *BumpFeeResponse) String() string { func (*BumpFeeResponse) ProtoMessage() {} func (x *BumpFeeResponse) ProtoReflect() protoreflect.Message { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[32] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[35] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2613,7 +2761,7 @@ func (x *BumpFeeResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use BumpFeeResponse.ProtoReflect.Descriptor instead. func (*BumpFeeResponse) Descriptor() ([]byte, []int) { - return file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDescGZIP(), []int{32} + return file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDescGZIP(), []int{35} } func (x *BumpFeeResponse) GetTxid() string { @@ -2657,7 +2805,7 @@ type ListSinceBlockRequest struct { func (x *ListSinceBlockRequest) Reset() { *x = ListSinceBlockRequest{} if protoimpl.UnsafeEnabled { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[33] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2670,7 +2818,7 @@ func (x *ListSinceBlockRequest) String() string { func (*ListSinceBlockRequest) ProtoMessage() {} func (x *ListSinceBlockRequest) ProtoReflect() protoreflect.Message { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[33] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[36] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2683,7 +2831,7 @@ func (x *ListSinceBlockRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListSinceBlockRequest.ProtoReflect.Descriptor instead. func (*ListSinceBlockRequest) Descriptor() ([]byte, []int) { - return file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDescGZIP(), []int{33} + return file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDescGZIP(), []int{36} } func (x *ListSinceBlockRequest) GetWallet() string { @@ -2711,7 +2859,7 @@ type ListSinceBlockResponse struct { func (x *ListSinceBlockResponse) Reset() { *x = ListSinceBlockResponse{} if protoimpl.UnsafeEnabled { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[34] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2724,7 +2872,7 @@ func (x *ListSinceBlockResponse) String() string { func (*ListSinceBlockResponse) ProtoMessage() {} func (x *ListSinceBlockResponse) ProtoReflect() protoreflect.Message { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[34] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[37] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2737,7 +2885,7 @@ func (x *ListSinceBlockResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListSinceBlockResponse.ProtoReflect.Descriptor instead. func (*ListSinceBlockResponse) Descriptor() ([]byte, []int) { - return file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDescGZIP(), []int{34} + return file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDescGZIP(), []int{37} } func (x *ListSinceBlockResponse) GetTransactions() []*GetTransactionResponse { @@ -2758,7 +2906,7 @@ type GetRawMempoolRequest struct { func (x *GetRawMempoolRequest) Reset() { *x = GetRawMempoolRequest{} if protoimpl.UnsafeEnabled { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[35] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2771,7 +2919,7 @@ func (x *GetRawMempoolRequest) String() string { func (*GetRawMempoolRequest) ProtoMessage() {} func (x *GetRawMempoolRequest) ProtoReflect() protoreflect.Message { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[35] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[38] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2784,7 +2932,7 @@ func (x *GetRawMempoolRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetRawMempoolRequest.ProtoReflect.Descriptor instead. func (*GetRawMempoolRequest) Descriptor() ([]byte, []int) { - return file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDescGZIP(), []int{35} + return file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDescGZIP(), []int{38} } func (x *GetRawMempoolRequest) GetVerbose() bool { @@ -2819,7 +2967,7 @@ type MempoolEntry struct { func (x *MempoolEntry) Reset() { *x = MempoolEntry{} if protoimpl.UnsafeEnabled { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[36] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2832,7 +2980,7 @@ func (x *MempoolEntry) String() string { func (*MempoolEntry) ProtoMessage() {} func (x *MempoolEntry) ProtoReflect() protoreflect.Message { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[36] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[39] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2845,7 +2993,7 @@ func (x *MempoolEntry) ProtoReflect() protoreflect.Message { // Deprecated: Use MempoolEntry.ProtoReflect.Descriptor instead. func (*MempoolEntry) Descriptor() ([]byte, []int) { - return file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDescGZIP(), []int{36} + return file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDescGZIP(), []int{39} } func (x *MempoolEntry) GetVirtualSize() uint32 { @@ -2953,7 +3101,7 @@ type GetRawMempoolResponse struct { func (x *GetRawMempoolResponse) Reset() { *x = GetRawMempoolResponse{} if protoimpl.UnsafeEnabled { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[37] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2966,7 +3114,7 @@ func (x *GetRawMempoolResponse) String() string { func (*GetRawMempoolResponse) ProtoMessage() {} func (x *GetRawMempoolResponse) ProtoReflect() protoreflect.Message { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[37] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[40] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2979,7 +3127,7 @@ func (x *GetRawMempoolResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetRawMempoolResponse.ProtoReflect.Descriptor instead. func (*GetRawMempoolResponse) Descriptor() ([]byte, []int) { - return file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDescGZIP(), []int{37} + return file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDescGZIP(), []int{40} } func (x *GetRawMempoolResponse) GetTxids() []string { @@ -3007,7 +3155,7 @@ type GetBlockHashRequest struct { func (x *GetBlockHashRequest) Reset() { *x = GetBlockHashRequest{} if protoimpl.UnsafeEnabled { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[38] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3020,7 +3168,7 @@ func (x *GetBlockHashRequest) String() string { func (*GetBlockHashRequest) ProtoMessage() {} func (x *GetBlockHashRequest) ProtoReflect() protoreflect.Message { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[38] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[41] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3033,7 +3181,7 @@ func (x *GetBlockHashRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetBlockHashRequest.ProtoReflect.Descriptor instead. func (*GetBlockHashRequest) Descriptor() ([]byte, []int) { - return file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDescGZIP(), []int{38} + return file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDescGZIP(), []int{41} } func (x *GetBlockHashRequest) GetHeight() uint32 { @@ -3054,7 +3202,7 @@ type GetBlockHashResponse struct { func (x *GetBlockHashResponse) Reset() { *x = GetBlockHashResponse{} if protoimpl.UnsafeEnabled { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[39] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3067,7 +3215,7 @@ func (x *GetBlockHashResponse) String() string { func (*GetBlockHashResponse) ProtoMessage() {} func (x *GetBlockHashResponse) ProtoReflect() protoreflect.Message { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[39] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[42] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3080,7 +3228,7 @@ func (x *GetBlockHashResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetBlockHashResponse.ProtoReflect.Descriptor instead. func (*GetBlockHashResponse) Descriptor() ([]byte, []int) { - return file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDescGZIP(), []int{39} + return file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDescGZIP(), []int{42} } func (x *GetBlockHashResponse) GetHash() string { @@ -3104,7 +3252,7 @@ type ListTransactionsRequest struct { func (x *ListTransactionsRequest) Reset() { *x = ListTransactionsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[40] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[43] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3117,7 +3265,7 @@ func (x *ListTransactionsRequest) String() string { func (*ListTransactionsRequest) ProtoMessage() {} func (x *ListTransactionsRequest) ProtoReflect() protoreflect.Message { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[40] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[43] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3130,7 +3278,7 @@ func (x *ListTransactionsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListTransactionsRequest.ProtoReflect.Descriptor instead. func (*ListTransactionsRequest) Descriptor() ([]byte, []int) { - return file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDescGZIP(), []int{40} + return file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDescGZIP(), []int{43} } func (x *ListTransactionsRequest) GetWallet() string { @@ -3165,7 +3313,7 @@ type ListTransactionsResponse struct { func (x *ListTransactionsResponse) Reset() { *x = ListTransactionsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[41] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[44] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3178,7 +3326,7 @@ func (x *ListTransactionsResponse) String() string { func (*ListTransactionsResponse) ProtoMessage() {} func (x *ListTransactionsResponse) ProtoReflect() protoreflect.Message { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[41] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[44] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3191,7 +3339,7 @@ func (x *ListTransactionsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListTransactionsResponse.ProtoReflect.Descriptor instead. func (*ListTransactionsResponse) Descriptor() ([]byte, []int) { - return file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDescGZIP(), []int{41} + return file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDescGZIP(), []int{44} } func (x *ListTransactionsResponse) GetTransactions() []*GetTransactionResponse { @@ -3212,7 +3360,7 @@ type ListWalletsResponse struct { func (x *ListWalletsResponse) Reset() { *x = ListWalletsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[42] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[45] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3225,7 +3373,7 @@ func (x *ListWalletsResponse) String() string { func (*ListWalletsResponse) ProtoMessage() {} func (x *ListWalletsResponse) ProtoReflect() protoreflect.Message { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[42] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[45] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3238,7 +3386,7 @@ func (x *ListWalletsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListWalletsResponse.ProtoReflect.Descriptor instead. func (*ListWalletsResponse) Descriptor() ([]byte, []int) { - return file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDescGZIP(), []int{42} + return file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDescGZIP(), []int{45} } func (x *ListWalletsResponse) GetWallets() []string { @@ -3260,7 +3408,7 @@ type GetAddressInfoRequest struct { func (x *GetAddressInfoRequest) Reset() { *x = GetAddressInfoRequest{} if protoimpl.UnsafeEnabled { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[43] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[46] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3273,7 +3421,7 @@ func (x *GetAddressInfoRequest) String() string { func (*GetAddressInfoRequest) ProtoMessage() {} func (x *GetAddressInfoRequest) ProtoReflect() protoreflect.Message { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[43] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[46] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3286,7 +3434,7 @@ func (x *GetAddressInfoRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetAddressInfoRequest.ProtoReflect.Descriptor instead. func (*GetAddressInfoRequest) Descriptor() ([]byte, []int) { - return file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDescGZIP(), []int{43} + return file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDescGZIP(), []int{46} } func (x *GetAddressInfoRequest) GetAddress() string { @@ -3329,7 +3477,7 @@ type GetAddressInfoResponse struct { func (x *GetAddressInfoResponse) Reset() { *x = GetAddressInfoResponse{} if protoimpl.UnsafeEnabled { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[44] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[47] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3342,7 +3490,7 @@ func (x *GetAddressInfoResponse) String() string { func (*GetAddressInfoResponse) ProtoMessage() {} func (x *GetAddressInfoResponse) ProtoReflect() protoreflect.Message { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[44] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[47] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3355,7 +3503,7 @@ func (x *GetAddressInfoResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetAddressInfoResponse.ProtoReflect.Descriptor instead. func (*GetAddressInfoResponse) Descriptor() ([]byte, []int) { - return file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDescGZIP(), []int{44} + return file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDescGZIP(), []int{47} } func (x *GetAddressInfoResponse) GetAddress() string { @@ -3461,7 +3609,7 @@ type GetBalancesResponse_Mine struct { func (x *GetBalancesResponse_Mine) Reset() { *x = GetBalancesResponse_Mine{} if protoimpl.UnsafeEnabled { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[45] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[48] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3474,7 +3622,7 @@ func (x *GetBalancesResponse_Mine) String() string { func (*GetBalancesResponse_Mine) ProtoMessage() {} func (x *GetBalancesResponse_Mine) ProtoReflect() protoreflect.Message { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[45] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[48] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3487,7 +3635,7 @@ func (x *GetBalancesResponse_Mine) ProtoReflect() protoreflect.Message { // Deprecated: Use GetBalancesResponse_Mine.ProtoReflect.Descriptor instead. func (*GetBalancesResponse_Mine) Descriptor() ([]byte, []int) { - return file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDescGZIP(), []int{7, 0} + return file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDescGZIP(), []int{10, 0} } func (x *GetBalancesResponse_Mine) GetTrusted() float64 { @@ -3535,7 +3683,7 @@ type GetBalancesResponse_Watchonly struct { func (x *GetBalancesResponse_Watchonly) Reset() { *x = GetBalancesResponse_Watchonly{} if protoimpl.UnsafeEnabled { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[46] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[49] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3548,7 +3696,7 @@ func (x *GetBalancesResponse_Watchonly) String() string { func (*GetBalancesResponse_Watchonly) ProtoMessage() {} func (x *GetBalancesResponse_Watchonly) ProtoReflect() protoreflect.Message { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[46] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[49] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3561,7 +3709,7 @@ func (x *GetBalancesResponse_Watchonly) ProtoReflect() protoreflect.Message { // Deprecated: Use GetBalancesResponse_Watchonly.ProtoReflect.Descriptor instead. func (*GetBalancesResponse_Watchonly) Descriptor() ([]byte, []int) { - return file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDescGZIP(), []int{7, 1} + return file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDescGZIP(), []int{10, 1} } func (x *GetBalancesResponse_Watchonly) GetTrusted() float64 { @@ -3602,7 +3750,7 @@ type GetTransactionResponse_Details struct { func (x *GetTransactionResponse_Details) Reset() { *x = GetTransactionResponse_Details{} if protoimpl.UnsafeEnabled { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[47] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[50] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3615,7 +3763,7 @@ func (x *GetTransactionResponse_Details) String() string { func (*GetTransactionResponse_Details) ProtoMessage() {} func (x *GetTransactionResponse_Details) ProtoReflect() protoreflect.Message { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[47] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[50] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3628,7 +3776,7 @@ func (x *GetTransactionResponse_Details) ProtoReflect() protoreflect.Message { // Deprecated: Use GetTransactionResponse_Details.ProtoReflect.Descriptor instead. func (*GetTransactionResponse_Details) Descriptor() ([]byte, []int) { - return file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDescGZIP(), []int{10, 0} + return file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDescGZIP(), []int{13, 0} } func (x *GetTransactionResponse_Details) GetInvolvesWatchOnly() bool { @@ -3695,7 +3843,7 @@ type ImportDescriptorsRequest_Request struct { func (x *ImportDescriptorsRequest_Request) Reset() { *x = ImportDescriptorsRequest_Request{} if protoimpl.UnsafeEnabled { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[49] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[52] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3708,7 +3856,7 @@ func (x *ImportDescriptorsRequest_Request) String() string { func (*ImportDescriptorsRequest_Request) ProtoMessage() {} func (x *ImportDescriptorsRequest_Request) ProtoReflect() protoreflect.Message { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[49] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[52] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3721,7 +3869,7 @@ func (x *ImportDescriptorsRequest_Request) ProtoReflect() protoreflect.Message { // Deprecated: Use ImportDescriptorsRequest_Request.ProtoReflect.Descriptor instead. func (*ImportDescriptorsRequest_Request) Descriptor() ([]byte, []int) { - return file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDescGZIP(), []int{25, 0} + return file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDescGZIP(), []int{28, 0} } func (x *ImportDescriptorsRequest_Request) GetDescriptor_() string { @@ -3785,7 +3933,7 @@ type ImportDescriptorsResponse_Error struct { func (x *ImportDescriptorsResponse_Error) Reset() { *x = ImportDescriptorsResponse_Error{} if protoimpl.UnsafeEnabled { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[50] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[53] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3798,7 +3946,7 @@ func (x *ImportDescriptorsResponse_Error) String() string { func (*ImportDescriptorsResponse_Error) ProtoMessage() {} func (x *ImportDescriptorsResponse_Error) ProtoReflect() protoreflect.Message { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[50] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[53] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3811,7 +3959,7 @@ func (x *ImportDescriptorsResponse_Error) ProtoReflect() protoreflect.Message { // Deprecated: Use ImportDescriptorsResponse_Error.ProtoReflect.Descriptor instead. func (*ImportDescriptorsResponse_Error) Descriptor() ([]byte, []int) { - return file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDescGZIP(), []int{26, 0} + return file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDescGZIP(), []int{29, 0} } func (x *ImportDescriptorsResponse_Error) GetCode() int32 { @@ -3841,7 +3989,7 @@ type ImportDescriptorsResponse_Response struct { func (x *ImportDescriptorsResponse_Response) Reset() { *x = ImportDescriptorsResponse_Response{} if protoimpl.UnsafeEnabled { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[51] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[54] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3854,7 +4002,7 @@ func (x *ImportDescriptorsResponse_Response) String() string { func (*ImportDescriptorsResponse_Response) ProtoMessage() {} func (x *ImportDescriptorsResponse_Response) ProtoReflect() protoreflect.Message { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[51] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[54] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3867,7 +4015,7 @@ func (x *ImportDescriptorsResponse_Response) ProtoReflect() protoreflect.Message // Deprecated: Use ImportDescriptorsResponse_Response.ProtoReflect.Descriptor instead. func (*ImportDescriptorsResponse_Response) Descriptor() ([]byte, []int) { - return file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDescGZIP(), []int{26, 1} + return file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDescGZIP(), []int{29, 1} } func (x *ImportDescriptorsResponse_Response) GetSuccess() bool { @@ -3906,7 +4054,7 @@ type MempoolEntry_Fees struct { func (x *MempoolEntry_Fees) Reset() { *x = MempoolEntry_Fees{} if protoimpl.UnsafeEnabled { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[52] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[55] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3919,7 +4067,7 @@ func (x *MempoolEntry_Fees) String() string { func (*MempoolEntry_Fees) ProtoMessage() {} func (x *MempoolEntry_Fees) ProtoReflect() protoreflect.Message { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[52] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[55] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3932,7 +4080,7 @@ func (x *MempoolEntry_Fees) ProtoReflect() protoreflect.Message { // Deprecated: Use MempoolEntry_Fees.ProtoReflect.Descriptor instead. func (*MempoolEntry_Fees) Descriptor() ([]byte, []int) { - return file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDescGZIP(), []int{36, 0} + return file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDescGZIP(), []int{39, 0} } func (x *MempoolEntry_Fees) GetBase() float64 { @@ -3995,557 +4143,575 @@ var file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDesc = []byte{ 0x33, 0x0a, 0x15, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x01, 0x52, 0x14, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x67, - 0x72, 0x65, 0x73, 0x73, 0x22, 0x67, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x4e, 0x65, 0x77, 0x41, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, - 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x61, 0x62, - 0x65, 0x6c, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x79, - 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x22, 0x31, 0x0a, - 0x15, 0x47, 0x65, 0x74, 0x4e, 0x65, 0x77, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, - 0x22, 0x2e, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x49, 0x6e, 0x66, - 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x77, 0x61, 0x6c, 0x6c, - 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, - 0x22, 0xee, 0x03, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x49, 0x6e, - 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x77, 0x61, - 0x6c, 0x6c, 0x65, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0a, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x77, - 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x0d, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x78, - 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x74, 0x78, - 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x0d, 0x6b, 0x65, 0x79, 0x5f, 0x70, 0x6f, 0x6f, - 0x6c, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x6b, 0x65, - 0x79, 0x50, 0x6f, 0x6f, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x38, 0x0a, 0x19, 0x6b, 0x65, 0x79, - 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x68, 0x64, 0x5f, 0x69, 0x6e, - 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x15, 0x6b, 0x65, - 0x79, 0x50, 0x6f, 0x6f, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x48, 0x64, 0x49, 0x6e, 0x74, 0x65, 0x72, - 0x6e, 0x61, 0x6c, 0x12, 0x1c, 0x0a, 0x0a, 0x70, 0x61, 0x79, 0x5f, 0x74, 0x78, 0x5f, 0x66, 0x65, - 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x70, 0x61, 0x79, 0x54, 0x78, 0x46, 0x65, - 0x65, 0x12, 0x30, 0x0a, 0x14, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, - 0x73, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x12, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x45, 0x6e, 0x61, 0x62, - 0x6c, 0x65, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x76, 0x6f, 0x69, 0x64, 0x5f, 0x72, 0x65, 0x75, - 0x73, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x61, 0x76, 0x6f, 0x69, 0x64, 0x52, - 0x65, 0x75, 0x73, 0x65, 0x12, 0x40, 0x0a, 0x08, 0x73, 0x63, 0x61, 0x6e, 0x6e, 0x69, 0x6e, 0x67, - 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x62, 0x69, 0x74, 0x63, 0x6f, 0x69, 0x6e, + 0x72, 0x65, 0x73, 0x73, 0x22, 0x14, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x50, 0x65, 0x65, 0x72, 0x49, + 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x4f, 0x0a, 0x04, 0x50, 0x65, + 0x65, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, + 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x64, 0x64, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x61, 0x64, 0x64, 0x72, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x79, 0x6e, 0x63, 0x65, 0x64, + 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x73, + 0x79, 0x6e, 0x63, 0x65, 0x64, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x22, 0x4b, 0x0a, 0x13, 0x47, + 0x65, 0x74, 0x50, 0x65, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x34, 0x0a, 0x05, 0x70, 0x65, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x1e, 0x2e, 0x62, 0x69, 0x74, 0x63, 0x6f, 0x69, 0x6e, 0x2e, 0x62, 0x69, 0x74, 0x63, + 0x6f, 0x69, 0x6e, 0x64, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x50, 0x65, 0x65, + 0x72, 0x52, 0x05, 0x70, 0x65, 0x65, 0x72, 0x73, 0x22, 0x67, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x4e, + 0x65, 0x77, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x77, 0x61, 0x6c, + 0x6c, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x77, 0x61, 0x6c, 0x6c, 0x65, + 0x74, 0x22, 0x31, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x4e, 0x65, 0x77, 0x41, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x22, 0x2e, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x57, 0x61, 0x6c, 0x6c, 0x65, + 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, + 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x77, 0x61, + 0x6c, 0x6c, 0x65, 0x74, 0x22, 0xee, 0x03, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x57, 0x61, 0x6c, 0x6c, + 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1f, + 0x0a, 0x0b, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0a, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, + 0x25, 0x0a, 0x0e, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x56, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x19, + 0x0a, 0x08, 0x74, 0x78, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x07, 0x74, 0x78, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x0d, 0x6b, 0x65, 0x79, + 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x0b, 0x6b, 0x65, 0x79, 0x50, 0x6f, 0x6f, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x38, 0x0a, + 0x19, 0x6b, 0x65, 0x79, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x68, + 0x64, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x15, 0x6b, 0x65, 0x79, 0x50, 0x6f, 0x6f, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x48, 0x64, 0x49, + 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x12, 0x1c, 0x0a, 0x0a, 0x70, 0x61, 0x79, 0x5f, 0x74, + 0x78, 0x5f, 0x66, 0x65, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x70, 0x61, 0x79, + 0x54, 0x78, 0x46, 0x65, 0x65, 0x12, 0x30, 0x0a, 0x14, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, + 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x0b, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x12, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, + 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x76, 0x6f, 0x69, 0x64, + 0x5f, 0x72, 0x65, 0x75, 0x73, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x61, 0x76, + 0x6f, 0x69, 0x64, 0x52, 0x65, 0x75, 0x73, 0x65, 0x12, 0x40, 0x0a, 0x08, 0x73, 0x63, 0x61, 0x6e, + 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x62, 0x69, 0x74, + 0x63, 0x6f, 0x69, 0x6e, 0x2e, 0x62, 0x69, 0x74, 0x63, 0x6f, 0x69, 0x6e, 0x64, 0x2e, 0x76, 0x31, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x53, 0x63, 0x61, 0x6e, + 0x52, 0x08, 0x73, 0x63, 0x61, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x27, 0x0a, 0x0f, + 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x72, 0x18, + 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x53, + 0x69, 0x67, 0x6e, 0x65, 0x72, 0x22, 0x2c, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x42, 0x61, 0x6c, 0x61, + 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x77, + 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x77, 0x61, 0x6c, + 0x6c, 0x65, 0x74, 0x22, 0xa3, 0x03, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, + 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x46, 0x0a, 0x04, 0x6d, + 0x69, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x62, 0x69, 0x74, 0x63, + 0x6f, 0x69, 0x6e, 0x2e, 0x62, 0x69, 0x74, 0x63, 0x6f, 0x69, 0x6e, 0x64, 0x2e, 0x76, 0x31, 0x61, + 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4d, 0x69, 0x6e, 0x65, 0x52, 0x04, 0x6d, + 0x69, 0x6e, 0x65, 0x12, 0x55, 0x0a, 0x09, 0x77, 0x61, 0x74, 0x63, 0x68, 0x6f, 0x6e, 0x6c, 0x79, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x62, 0x69, 0x74, 0x63, 0x6f, 0x69, 0x6e, 0x2e, 0x62, 0x69, 0x74, 0x63, 0x6f, 0x69, 0x6e, 0x64, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, - 0x61, 0x2e, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x53, 0x63, 0x61, 0x6e, 0x52, 0x08, 0x73, 0x63, - 0x61, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x64, 0x65, 0x73, - 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x78, 0x74, 0x65, - 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x72, 0x18, 0x0f, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x0e, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x53, 0x69, 0x67, 0x6e, 0x65, - 0x72, 0x22, 0x2c, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x77, 0x61, 0x6c, 0x6c, 0x65, - 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x22, - 0xa3, 0x03, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x46, 0x0a, 0x04, 0x6d, 0x69, 0x6e, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x62, 0x69, 0x74, 0x63, 0x6f, 0x69, 0x6e, 0x2e, - 0x62, 0x69, 0x74, 0x63, 0x6f, 0x69, 0x6e, 0x64, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, - 0x2e, 0x47, 0x65, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4d, 0x69, 0x6e, 0x65, 0x52, 0x04, 0x6d, 0x69, 0x6e, 0x65, 0x12, - 0x55, 0x0a, 0x09, 0x77, 0x61, 0x74, 0x63, 0x68, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x62, 0x69, 0x74, 0x63, 0x6f, 0x69, 0x6e, 0x2e, 0x62, 0x69, 0x74, - 0x63, 0x6f, 0x69, 0x6e, 0x64, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x47, 0x65, - 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x2e, 0x57, 0x61, 0x74, 0x63, 0x68, 0x6f, 0x6e, 0x6c, 0x79, 0x52, 0x09, 0x77, 0x61, 0x74, - 0x63, 0x68, 0x6f, 0x6e, 0x6c, 0x79, 0x1a, 0x7d, 0x0a, 0x04, 0x4d, 0x69, 0x6e, 0x65, 0x12, 0x18, - 0x0a, 0x07, 0x74, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, - 0x07, 0x74, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x12, 0x2b, 0x0a, 0x11, 0x75, 0x6e, 0x74, 0x72, - 0x75, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x01, 0x52, 0x10, 0x75, 0x6e, 0x74, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x50, 0x65, - 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x6d, 0x6d, 0x61, 0x74, 0x75, 0x72, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x69, 0x6d, 0x6d, 0x61, 0x74, 0x75, 0x72, - 0x65, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x52, - 0x04, 0x75, 0x73, 0x65, 0x64, 0x1a, 0x6e, 0x0a, 0x09, 0x57, 0x61, 0x74, 0x63, 0x68, 0x6f, 0x6e, - 0x6c, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x18, 0x01, 0x20, + 0x61, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x57, 0x61, 0x74, 0x63, 0x68, 0x6f, 0x6e, 0x6c, 0x79, 0x52, + 0x09, 0x77, 0x61, 0x74, 0x63, 0x68, 0x6f, 0x6e, 0x6c, 0x79, 0x1a, 0x7d, 0x0a, 0x04, 0x4d, 0x69, + 0x6e, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x07, 0x74, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x12, 0x2b, 0x0a, 0x11, 0x75, 0x6e, 0x74, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x10, 0x75, 0x6e, 0x74, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x6d, 0x6d, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x69, 0x6d, 0x6d, - 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0x44, 0x0a, 0x0a, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x53, - 0x63, 0x61, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x01, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x22, 0x8a, 0x01, 0x0a, 0x15, - 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x78, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x78, 0x69, 0x64, 0x12, 0x2b, 0x0a, 0x11, 0x69, 0x6e, 0x63, - 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x77, 0x61, 0x74, 0x63, 0x68, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x57, 0x61, 0x74, - 0x63, 0x68, 0x6f, 0x6e, 0x6c, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x62, 0x6f, 0x73, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x76, 0x65, 0x72, 0x62, 0x6f, 0x73, 0x65, - 0x12, 0x16, 0x0a, 0x06, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x06, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x22, 0x88, 0x09, 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, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x01, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x66, - 0x65, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x03, 0x66, 0x65, 0x65, 0x12, 0x24, 0x0a, - 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x61, 0x73, - 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, - 0x73, 0x68, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x69, 0x6e, 0x64, 0x65, - 0x78, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x6e, - 0x64, 0x65, 0x78, 0x12, 0x39, 0x0a, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x74, 0x69, 0x6d, - 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x64, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x01, 0x52, 0x04, 0x75, 0x73, 0x65, 0x64, 0x1a, 0x6e, 0x0a, 0x09, 0x57, 0x61, 0x74, + 0x63, 0x68, 0x6f, 0x6e, 0x6c, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x72, 0x75, 0x73, 0x74, 0x65, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x07, 0x74, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, + 0x12, 0x2b, 0x0a, 0x11, 0x75, 0x6e, 0x74, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x65, + 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x10, 0x75, 0x6e, 0x74, + 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x1a, 0x0a, + 0x08, 0x69, 0x6d, 0x6d, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, + 0x08, 0x69, 0x6d, 0x6d, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0x44, 0x0a, 0x0a, 0x57, 0x61, 0x6c, + 0x6c, 0x65, 0x74, 0x53, 0x63, 0x61, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x22, + 0x8a, 0x01, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x78, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x78, 0x69, 0x64, 0x12, 0x2b, 0x0a, + 0x11, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x77, 0x61, 0x74, 0x63, 0x68, 0x6f, 0x6e, + 0x6c, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, + 0x65, 0x57, 0x61, 0x74, 0x63, 0x68, 0x6f, 0x6e, 0x6c, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, + 0x72, 0x62, 0x6f, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x76, 0x65, 0x72, + 0x62, 0x6f, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x22, 0x88, 0x09, 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, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, + 0x10, 0x0a, 0x03, 0x66, 0x65, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x03, 0x66, 0x65, + 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, + 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, + 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x62, 0x6c, 0x6f, + 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, + 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x62, 0x6c, 0x6f, + 0x63, 0x6b, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x39, 0x0a, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, + 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x69, + 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x78, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x74, 0x78, 0x69, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, + 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x0f, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, + 0x73, 0x12, 0x28, 0x0a, 0x10, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x64, 0x5f, 0x62, 0x79, + 0x5f, 0x74, 0x78, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x72, 0x65, 0x70, + 0x6c, 0x61, 0x63, 0x65, 0x64, 0x42, 0x79, 0x54, 0x78, 0x69, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x72, + 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x73, 0x5f, 0x74, 0x78, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x73, 0x54, 0x78, 0x69, 0x64, + 0x12, 0x2e, 0x0a, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x04, 0x74, 0x69, 0x6d, 0x65, + 0x12, 0x3f, 0x0a, 0x0d, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, + 0x64, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x52, 0x09, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x12, - 0x0a, 0x04, 0x74, 0x78, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x78, - 0x69, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6e, - 0x66, 0x6c, 0x69, 0x63, 0x74, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x77, 0x61, - 0x6c, 0x6c, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x73, 0x12, 0x28, 0x0a, - 0x10, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x74, 0x78, 0x69, - 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, - 0x64, 0x42, 0x79, 0x54, 0x78, 0x69, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x70, 0x6c, 0x61, - 0x63, 0x65, 0x73, 0x5f, 0x74, 0x78, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, - 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x73, 0x54, 0x78, 0x69, 0x64, 0x12, 0x2e, 0x0a, 0x04, - 0x74, 0x69, 0x6d, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x3f, 0x0a, 0x0d, - 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x18, 0x12, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, - 0x0c, 0x74, 0x69, 0x6d, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x12, 0x6b, 0x0a, - 0x12, 0x62, 0x69, 0x70, 0x31, 0x32, 0x35, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x61, - 0x62, 0x6c, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3c, 0x2e, 0x62, 0x69, 0x74, 0x63, - 0x6f, 0x69, 0x6e, 0x2e, 0x62, 0x69, 0x74, 0x63, 0x6f, 0x69, 0x6e, 0x64, 0x2e, 0x76, 0x31, 0x61, - 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x70, 0x6c, - 0x61, 0x63, 0x65, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x11, 0x62, 0x69, 0x70, 0x31, 0x32, 0x35, 0x52, - 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x52, 0x0a, 0x07, 0x64, 0x65, - 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x15, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x62, 0x69, - 0x74, 0x63, 0x6f, 0x69, 0x6e, 0x2e, 0x62, 0x69, 0x74, 0x63, 0x6f, 0x69, 0x6e, 0x64, 0x2e, 0x76, - 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x44, 0x65, - 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x10, - 0x0a, 0x03, 0x68, 0x65, 0x78, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x68, 0x65, 0x78, - 0x1a, 0xe8, 0x01, 0x0a, 0x07, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x2e, 0x0a, 0x13, - 0x69, 0x6e, 0x76, 0x6f, 0x6c, 0x76, 0x65, 0x73, 0x5f, 0x77, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x6f, - 0x6e, 0x6c, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x69, 0x6e, 0x76, 0x6f, 0x6c, - 0x76, 0x65, 0x73, 0x57, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x18, 0x0a, 0x07, - 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x55, 0x0a, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, - 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x39, 0x2e, 0x62, 0x69, 0x74, 0x63, 0x6f, - 0x69, 0x6e, 0x2e, 0x62, 0x69, 0x74, 0x63, 0x6f, 0x69, 0x6e, 0x64, 0x2e, 0x76, 0x31, 0x61, 0x6c, - 0x70, 0x68, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x43, 0x61, 0x74, 0x65, 0x67, - 0x6f, 0x72, 0x79, 0x52, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x16, 0x0a, - 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x52, 0x06, 0x61, - 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x76, 0x6f, 0x75, 0x74, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x04, 0x76, 0x6f, 0x75, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x66, 0x65, 0x65, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x01, 0x52, 0x03, 0x66, 0x65, 0x65, 0x22, 0x53, 0x0a, 0x0b, 0x52, - 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x1b, 0x0a, 0x17, 0x52, 0x45, - 0x50, 0x4c, 0x41, 0x43, 0x45, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, - 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x52, 0x45, 0x50, 0x4c, 0x41, - 0x43, 0x45, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x59, 0x45, 0x53, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, - 0x52, 0x45, 0x50, 0x4c, 0x41, 0x43, 0x45, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x4e, 0x4f, 0x10, 0x02, - 0x22, 0x90, 0x01, 0x0a, 0x08, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x18, 0x0a, - 0x14, 0x43, 0x41, 0x54, 0x45, 0x47, 0x4f, 0x52, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, - 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x43, 0x41, 0x54, 0x45, 0x47, - 0x4f, 0x52, 0x59, 0x5f, 0x53, 0x45, 0x4e, 0x44, 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, 0x43, 0x41, - 0x54, 0x45, 0x47, 0x4f, 0x52, 0x59, 0x5f, 0x52, 0x45, 0x43, 0x45, 0x49, 0x56, 0x45, 0x10, 0x02, - 0x12, 0x15, 0x0a, 0x11, 0x43, 0x41, 0x54, 0x45, 0x47, 0x4f, 0x52, 0x59, 0x5f, 0x47, 0x45, 0x4e, - 0x45, 0x52, 0x41, 0x54, 0x45, 0x10, 0x03, 0x12, 0x15, 0x0a, 0x11, 0x43, 0x41, 0x54, 0x45, 0x47, - 0x4f, 0x52, 0x59, 0x5f, 0x49, 0x4d, 0x4d, 0x41, 0x54, 0x55, 0x52, 0x45, 0x10, 0x04, 0x12, 0x13, - 0x0a, 0x0f, 0x43, 0x41, 0x54, 0x45, 0x47, 0x4f, 0x52, 0x59, 0x5f, 0x4f, 0x52, 0x50, 0x48, 0x41, - 0x4e, 0x10, 0x05, 0x22, 0x48, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x52, 0x61, 0x77, 0x54, 0x72, 0x61, - 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x12, 0x0a, 0x04, 0x74, 0x78, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, - 0x78, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x62, 0x6f, 0x73, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x76, 0x65, 0x72, 0x62, 0x6f, 0x73, 0x65, 0x22, 0x2f, 0x0a, - 0x05, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x78, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x78, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x76, 0x6f, - 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x76, 0x6f, 0x75, 0x74, 0x22, 0x3c, - 0x0a, 0x0c, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x12, 0x12, - 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, - 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x7c, 0x0a, 0x06, - 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x0c, - 0x0a, 0x01, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x01, 0x6e, 0x12, 0x4c, 0x0a, 0x0e, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x5f, 0x70, 0x75, 0x62, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x62, 0x69, 0x74, 0x63, 0x6f, 0x69, 0x6e, 0x2e, 0x62, - 0x69, 0x74, 0x63, 0x6f, 0x69, 0x6e, 0x64, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, - 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x52, 0x0c, 0x73, 0x63, - 0x72, 0x69, 0x70, 0x74, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x22, 0xc0, 0x02, 0x0a, 0x19, 0x47, - 0x65, 0x74, 0x52, 0x61, 0x77, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x38, 0x0a, 0x02, 0x74, 0x78, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x62, 0x69, 0x74, 0x63, 0x6f, 0x69, 0x6e, 0x2e, 0x62, - 0x69, 0x74, 0x63, 0x6f, 0x69, 0x6e, 0x64, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, - 0x52, 0x61, 0x77, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x02, - 0x74, 0x78, 0x12, 0x37, 0x0a, 0x06, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x62, 0x69, 0x74, 0x63, 0x6f, 0x69, 0x6e, 0x2e, 0x62, 0x69, 0x74, - 0x63, 0x6f, 0x69, 0x6e, 0x64, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x49, 0x6e, - 0x70, 0x75, 0x74, 0x52, 0x06, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x12, 0x3a, 0x0a, 0x07, 0x6f, - 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x62, - 0x69, 0x74, 0x63, 0x6f, 0x69, 0x6e, 0x2e, 0x62, 0x69, 0x74, 0x63, 0x6f, 0x69, 0x6e, 0x64, 0x2e, - 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x52, 0x07, - 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x62, 0x6c, 0x6f, 0x63, 0x6b, - 0x68, 0x61, 0x73, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x62, 0x6c, 0x6f, 0x63, - 0x6b, 0x68, 0x61, 0x73, 0x68, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x63, 0x6f, - 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x74, - 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x12, - 0x1c, 0x0a, 0x09, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x09, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x74, 0x69, 0x6d, 0x65, 0x22, 0xa1, 0x03, - 0x0a, 0x0b, 0x53, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x5b, 0x0a, - 0x0c, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x62, 0x69, 0x74, 0x63, 0x6f, 0x69, 0x6e, 0x2e, 0x62, 0x69, - 0x74, 0x63, 0x6f, 0x69, 0x6e, 0x64, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, - 0x65, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x44, 0x65, 0x73, 0x74, 0x69, - 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x64, 0x65, - 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, - 0x6e, 0x66, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x77, - 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x77, 0x61, 0x6c, - 0x6c, 0x65, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x75, - 0x6e, 0x73, 0x61, 0x66, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x6e, 0x63, - 0x6c, 0x75, 0x64, 0x65, 0x55, 0x6e, 0x73, 0x61, 0x66, 0x65, 0x12, 0x39, 0x0a, 0x19, 0x73, 0x75, - 0x62, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, - 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x16, 0x73, - 0x75, 0x62, 0x74, 0x72, 0x61, 0x63, 0x74, 0x46, 0x65, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x4f, 0x75, - 0x74, 0x70, 0x75, 0x74, 0x73, 0x12, 0x3e, 0x0a, 0x0d, 0x61, 0x64, 0x64, 0x5f, 0x74, 0x6f, 0x5f, - 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, - 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0b, 0x61, 0x64, 0x64, 0x54, 0x6f, 0x57, - 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x61, 0x74, - 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x01, 0x52, 0x07, 0x66, 0x65, 0x65, 0x52, 0x61, 0x74, 0x65, - 0x1a, 0x3f, 0x0a, 0x11, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, - 0x01, 0x22, 0x78, 0x0a, 0x0c, 0x53, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x78, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x74, 0x78, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, - 0x65, 0x12, 0x38, 0x0a, 0x02, 0x74, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, + 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x74, 0x69, 0x6d, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, + 0x64, 0x12, 0x6b, 0x0a, 0x12, 0x62, 0x69, 0x70, 0x31, 0x32, 0x35, 0x5f, 0x72, 0x65, 0x70, 0x6c, + 0x61, 0x63, 0x65, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3c, 0x2e, 0x62, 0x69, 0x74, 0x63, 0x6f, 0x69, 0x6e, 0x2e, 0x62, 0x69, 0x74, 0x63, 0x6f, 0x69, 0x6e, 0x64, - 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x52, 0x61, 0x77, 0x54, 0x72, 0x61, 0x6e, - 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x02, 0x74, 0x78, 0x22, 0x99, 0x01, 0x0a, 0x14, - 0x53, 0x65, 0x6e, 0x64, 0x54, 0x6f, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x16, - 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x06, - 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, - 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, - 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x6f, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x12, - 0x16, 0x0a, 0x06, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x06, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x22, 0x2b, 0x0a, 0x15, 0x53, 0x65, 0x6e, 0x64, 0x54, - 0x6f, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x12, 0x0a, 0x04, 0x74, 0x78, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x74, 0x78, 0x69, 0x64, 0x22, 0x8c, 0x02, 0x0a, 0x17, 0x45, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, - 0x65, 0x53, 0x6d, 0x61, 0x72, 0x74, 0x46, 0x65, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x66, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x54, 0x61, 0x72, 0x67, 0x65, - 0x74, 0x12, 0x63, 0x0a, 0x0d, 0x65, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x6f, - 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3e, 0x2e, 0x62, 0x69, 0x74, 0x63, 0x6f, + 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, + 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, + 0x52, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x11, 0x62, 0x69, 0x70, + 0x31, 0x32, 0x35, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x52, + 0x0a, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x15, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x38, 0x2e, 0x62, 0x69, 0x74, 0x63, 0x6f, 0x69, 0x6e, 0x2e, 0x62, 0x69, 0x74, 0x63, 0x6f, 0x69, + 0x6e, 0x64, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, + 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x2e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, + 0x6c, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x68, 0x65, 0x78, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x68, 0x65, 0x78, 0x1a, 0xe8, 0x01, 0x0a, 0x07, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, + 0x12, 0x2e, 0x0a, 0x13, 0x69, 0x6e, 0x76, 0x6f, 0x6c, 0x76, 0x65, 0x73, 0x5f, 0x77, 0x61, 0x74, + 0x63, 0x68, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x69, + 0x6e, 0x76, 0x6f, 0x6c, 0x76, 0x65, 0x73, 0x57, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x6e, 0x6c, 0x79, + 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x55, 0x0a, 0x08, 0x63, 0x61, + 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x39, 0x2e, 0x62, + 0x69, 0x74, 0x63, 0x6f, 0x69, 0x6e, 0x2e, 0x62, 0x69, 0x74, 0x63, 0x6f, 0x69, 0x6e, 0x64, 0x2e, + 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x43, + 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x52, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, + 0x79, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x01, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x76, 0x6f, 0x75, + 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x76, 0x6f, 0x75, 0x74, 0x12, 0x10, 0x0a, + 0x03, 0x66, 0x65, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x01, 0x52, 0x03, 0x66, 0x65, 0x65, 0x22, + 0x53, 0x0a, 0x0b, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x1b, + 0x0a, 0x17, 0x52, 0x45, 0x50, 0x4c, 0x41, 0x43, 0x45, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x55, 0x4e, + 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x52, + 0x45, 0x50, 0x4c, 0x41, 0x43, 0x45, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x59, 0x45, 0x53, 0x10, 0x01, + 0x12, 0x12, 0x0a, 0x0e, 0x52, 0x45, 0x50, 0x4c, 0x41, 0x43, 0x45, 0x41, 0x42, 0x4c, 0x45, 0x5f, + 0x4e, 0x4f, 0x10, 0x02, 0x22, 0x90, 0x01, 0x0a, 0x08, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, + 0x79, 0x12, 0x18, 0x0a, 0x14, 0x43, 0x41, 0x54, 0x45, 0x47, 0x4f, 0x52, 0x59, 0x5f, 0x55, 0x4e, + 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x43, + 0x41, 0x54, 0x45, 0x47, 0x4f, 0x52, 0x59, 0x5f, 0x53, 0x45, 0x4e, 0x44, 0x10, 0x01, 0x12, 0x14, + 0x0a, 0x10, 0x43, 0x41, 0x54, 0x45, 0x47, 0x4f, 0x52, 0x59, 0x5f, 0x52, 0x45, 0x43, 0x45, 0x49, + 0x56, 0x45, 0x10, 0x02, 0x12, 0x15, 0x0a, 0x11, 0x43, 0x41, 0x54, 0x45, 0x47, 0x4f, 0x52, 0x59, + 0x5f, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x41, 0x54, 0x45, 0x10, 0x03, 0x12, 0x15, 0x0a, 0x11, 0x43, + 0x41, 0x54, 0x45, 0x47, 0x4f, 0x52, 0x59, 0x5f, 0x49, 0x4d, 0x4d, 0x41, 0x54, 0x55, 0x52, 0x45, + 0x10, 0x04, 0x12, 0x13, 0x0a, 0x0f, 0x43, 0x41, 0x54, 0x45, 0x47, 0x4f, 0x52, 0x59, 0x5f, 0x4f, + 0x52, 0x50, 0x48, 0x41, 0x4e, 0x10, 0x05, 0x22, 0x48, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x52, 0x61, + 0x77, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x78, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x74, 0x78, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x62, 0x6f, + 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x76, 0x65, 0x72, 0x62, 0x6f, 0x73, + 0x65, 0x22, 0x2f, 0x0a, 0x05, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x78, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x78, 0x69, 0x64, 0x12, 0x12, + 0x0a, 0x04, 0x76, 0x6f, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x76, 0x6f, + 0x75, 0x74, 0x22, 0x3c, 0x0a, 0x0c, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x50, 0x75, 0x62, 0x4b, + 0x65, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x22, 0x7c, 0x0a, 0x06, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, + 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, + 0x6e, 0x74, 0x12, 0x0c, 0x0a, 0x01, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x01, 0x6e, + 0x12, 0x4c, 0x0a, 0x0e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x5f, 0x70, 0x75, 0x62, 0x5f, 0x6b, + 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x62, 0x69, 0x74, 0x63, 0x6f, 0x69, 0x6e, 0x2e, 0x62, 0x69, 0x74, 0x63, 0x6f, 0x69, 0x6e, 0x64, 0x2e, 0x76, 0x31, 0x61, 0x6c, - 0x70, 0x68, 0x61, 0x2e, 0x45, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x53, 0x6d, 0x61, 0x72, - 0x74, 0x46, 0x65, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x45, 0x73, 0x74, 0x69, - 0x6d, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x0c, 0x65, 0x73, 0x74, 0x69, 0x6d, 0x61, - 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x22, 0x6b, 0x0a, 0x0c, 0x45, 0x73, 0x74, 0x69, 0x6d, 0x61, - 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x1d, 0x0a, 0x19, 0x45, 0x53, 0x54, 0x49, 0x4d, 0x41, - 0x54, 0x45, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, - 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1c, 0x0a, 0x18, 0x45, 0x53, 0x54, 0x49, 0x4d, 0x41, 0x54, - 0x45, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x45, 0x43, 0x4f, 0x4e, 0x4f, 0x4d, 0x49, 0x43, 0x41, - 0x4c, 0x10, 0x01, 0x12, 0x1e, 0x0a, 0x1a, 0x45, 0x53, 0x54, 0x49, 0x4d, 0x41, 0x54, 0x45, 0x5f, - 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x53, 0x45, 0x52, 0x56, 0x41, 0x54, 0x49, 0x56, - 0x45, 0x10, 0x02, 0x22, 0x65, 0x0a, 0x18, 0x45, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x53, - 0x6d, 0x61, 0x72, 0x74, 0x46, 0x65, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x19, 0x0a, 0x08, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x01, 0x52, 0x07, 0x66, 0x65, 0x65, 0x52, 0x61, 0x74, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x72, - 0x72, 0x6f, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, 0x6f, - 0x72, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x06, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x22, 0x57, 0x0a, 0x1b, 0x44, 0x65, - 0x63, 0x6f, 0x64, 0x65, 0x52, 0x61, 0x77, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x02, 0x74, 0x78, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x62, 0x69, 0x74, 0x63, 0x6f, 0x69, 0x6e, 0x2e, - 0x62, 0x69, 0x74, 0x63, 0x6f, 0x69, 0x6e, 0x64, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, - 0x2e, 0x52, 0x61, 0x77, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x02, 0x74, 0x78, 0x22, 0x36, 0x0a, 0x0e, 0x52, 0x61, 0x77, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x10, 0x0a, 0x03, 0x68, 0x65, 0x78, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x68, 0x65, 0x78, 0x22, 0xc0, 0x02, 0x0a, 0x1c, - 0x44, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x52, 0x61, 0x77, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, - 0x74, 0x78, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x78, 0x69, 0x64, - 0x12, 0x12, 0x0a, 0x04, 0x68, 0x61, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x68, 0x61, 0x73, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x76, 0x69, 0x72, 0x74, - 0x75, 0x61, 0x6c, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, - 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x77, - 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x77, 0x65, 0x69, - 0x67, 0x68, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, - 0x08, 0x6c, 0x6f, 0x63, 0x6b, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x08, 0x6c, 0x6f, 0x63, 0x6b, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x37, 0x0a, 0x06, 0x69, 0x6e, 0x70, - 0x75, 0x74, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x62, 0x69, 0x74, 0x63, - 0x6f, 0x69, 0x6e, 0x2e, 0x62, 0x69, 0x74, 0x63, 0x6f, 0x69, 0x6e, 0x64, 0x2e, 0x76, 0x31, 0x61, - 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x52, 0x06, 0x69, 0x6e, 0x70, 0x75, - 0x74, 0x73, 0x12, 0x3a, 0x0a, 0x07, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x18, 0x09, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x62, 0x69, 0x74, 0x63, 0x6f, 0x69, 0x6e, 0x2e, 0x62, 0x69, - 0x74, 0x63, 0x6f, 0x69, 0x6e, 0x64, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4f, - 0x75, 0x74, 0x70, 0x75, 0x74, 0x52, 0x07, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x22, 0xf8, - 0x02, 0x0a, 0x18, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, - 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x77, - 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x77, 0x61, 0x6c, - 0x6c, 0x65, 0x74, 0x12, 0x56, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, - 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x62, 0x69, 0x74, 0x63, 0x6f, 0x69, 0x6e, 0x2e, - 0x62, 0x69, 0x74, 0x63, 0x6f, 0x69, 0x6e, 0x64, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, - 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, - 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x1a, 0xeb, 0x01, 0x0a, 0x07, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x65, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x65, 0x73, - 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x76, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, - 0x1f, 0x0a, 0x0b, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, - 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x65, 0x6e, 0x64, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x08, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x45, 0x6e, 0x64, 0x12, 0x38, 0x0a, - 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, + 0x70, 0x68, 0x61, 0x2e, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, + 0x52, 0x0c, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x22, 0xc0, + 0x02, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x52, 0x61, 0x77, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x38, 0x0a, 0x02, + 0x74, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x62, 0x69, 0x74, 0x63, 0x6f, + 0x69, 0x6e, 0x2e, 0x62, 0x69, 0x74, 0x63, 0x6f, 0x69, 0x6e, 0x64, 0x2e, 0x76, 0x31, 0x61, 0x6c, + 0x70, 0x68, 0x61, 0x2e, 0x52, 0x61, 0x77, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x02, 0x74, 0x78, 0x12, 0x37, 0x0a, 0x06, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x62, 0x69, 0x74, 0x63, 0x6f, 0x69, 0x6e, + 0x2e, 0x62, 0x69, 0x74, 0x63, 0x6f, 0x69, 0x6e, 0x64, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x52, 0x06, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x12, + 0x3a, 0x0a, 0x07, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x20, 0x2e, 0x62, 0x69, 0x74, 0x63, 0x6f, 0x69, 0x6e, 0x2e, 0x62, 0x69, 0x74, 0x63, 0x6f, + 0x69, 0x6e, 0x64, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4f, 0x75, 0x74, 0x70, + 0x75, 0x74, 0x52, 0x07, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x62, + 0x6c, 0x6f, 0x63, 0x6b, 0x68, 0x61, 0x73, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x68, 0x61, 0x73, 0x68, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, + 0x66, 0x69, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, + 0x12, 0x0a, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x74, + 0x69, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x74, 0x69, 0x6d, 0x65, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x74, 0x69, 0x6d, + 0x65, 0x22, 0xa1, 0x03, 0x0a, 0x0b, 0x53, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x5b, 0x0a, 0x0c, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x62, 0x69, 0x74, 0x63, 0x6f, 0x69, + 0x6e, 0x2e, 0x62, 0x69, 0x74, 0x63, 0x6f, 0x69, 0x6e, 0x64, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, + 0x68, 0x61, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x44, + 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x52, 0x0c, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1f, + 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x66, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, + 0x16, 0x0a, 0x06, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x69, 0x6e, 0x63, 0x6c, 0x75, + 0x64, 0x65, 0x5f, 0x75, 0x6e, 0x73, 0x61, 0x66, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x0d, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x55, 0x6e, 0x73, 0x61, 0x66, 0x65, 0x12, 0x39, + 0x0a, 0x19, 0x73, 0x75, 0x62, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x66, + 0x72, 0x6f, 0x6d, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x16, 0x73, 0x75, 0x62, 0x74, 0x72, 0x61, 0x63, 0x74, 0x46, 0x65, 0x65, 0x46, 0x72, + 0x6f, 0x6d, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x12, 0x3e, 0x0a, 0x0d, 0x61, 0x64, 0x64, + 0x5f, 0x74, 0x6f, 0x5f, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x74, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x72, - 0x6e, 0x61, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x72, - 0x6e, 0x61, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x07, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x22, 0xc2, 0x02, 0x0a, 0x19, 0x49, 0x6d, - 0x70, 0x6f, 0x72, 0x74, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5a, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x62, 0x69, 0x74, - 0x63, 0x6f, 0x69, 0x6e, 0x2e, 0x62, 0x69, 0x74, 0x63, 0x6f, 0x69, 0x6e, 0x64, 0x2e, 0x76, 0x31, - 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x44, 0x65, 0x73, 0x63, - 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x09, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x73, 0x1a, 0x35, 0x0a, 0x05, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, - 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, - 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x1a, 0x91, 0x01, 0x0a, 0x08, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x02, 0x20, - 0x03, 0x28, 0x09, 0x52, 0x08, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x4f, 0x0a, - 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x62, + 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0b, 0x61, 0x64, + 0x64, 0x54, 0x6f, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x66, 0x65, 0x65, + 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x01, 0x52, 0x07, 0x66, 0x65, 0x65, + 0x52, 0x61, 0x74, 0x65, 0x1a, 0x3f, 0x0a, 0x11, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x78, 0x0a, 0x0c, 0x53, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x78, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x78, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6f, 0x6d, + 0x70, 0x6c, 0x65, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x63, 0x6f, 0x6d, + 0x70, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x38, 0x0a, 0x02, 0x74, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x28, 0x2e, 0x62, 0x69, 0x74, 0x63, 0x6f, 0x69, 0x6e, 0x2e, 0x62, 0x69, 0x74, 0x63, + 0x6f, 0x69, 0x6e, 0x64, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x52, 0x61, 0x77, + 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x02, 0x74, 0x78, 0x22, + 0x99, 0x01, 0x0a, 0x14, 0x53, 0x65, 0x6e, 0x64, 0x54, 0x6f, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x01, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, + 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, + 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x5f, + 0x74, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, + 0x74, 0x54, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x22, 0x2b, 0x0a, 0x15, 0x53, + 0x65, 0x6e, 0x64, 0x54, 0x6f, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x78, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x74, 0x78, 0x69, 0x64, 0x22, 0x8c, 0x02, 0x0a, 0x17, 0x45, 0x73, 0x74, + 0x69, 0x6d, 0x61, 0x74, 0x65, 0x53, 0x6d, 0x61, 0x72, 0x74, 0x46, 0x65, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x66, 0x5f, 0x74, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x54, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x63, 0x0a, 0x0d, 0x65, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, + 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3e, 0x2e, 0x62, 0x69, 0x74, 0x63, 0x6f, 0x69, 0x6e, 0x2e, 0x62, 0x69, 0x74, 0x63, 0x6f, 0x69, 0x6e, 0x64, 0x2e, - 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x44, 0x65, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x3a, - 0x0a, 0x18, 0x47, 0x65, 0x74, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x49, - 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x65, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, - 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x22, 0xbd, 0x01, 0x0a, 0x19, 0x47, - 0x65, 0x74, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x65, 0x73, 0x63, - 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x65, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x68, 0x65, 0x63, - 0x6b, 0x73, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x68, 0x65, 0x63, - 0x6b, 0x73, 0x75, 0x6d, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x73, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, - 0x1f, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x73, 0x6f, 0x6c, 0x76, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x53, 0x6f, 0x6c, 0x76, 0x61, 0x62, 0x6c, 0x65, - 0x12, 0x28, 0x0a, 0x10, 0x68, 0x61, 0x73, 0x5f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, - 0x6b, 0x65, 0x79, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x68, 0x61, 0x73, 0x50, - 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x22, 0x95, 0x02, 0x0a, 0x0f, 0x47, - 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, - 0x0a, 0x04, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x61, - 0x73, 0x68, 0x12, 0x51, 0x0a, 0x09, 0x76, 0x65, 0x72, 0x62, 0x6f, 0x73, 0x69, 0x74, 0x79, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x33, 0x2e, 0x62, 0x69, 0x74, 0x63, 0x6f, 0x69, 0x6e, 0x2e, - 0x62, 0x69, 0x74, 0x63, 0x6f, 0x69, 0x6e, 0x64, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, - 0x2e, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x2e, 0x56, 0x65, 0x72, 0x62, 0x6f, 0x73, 0x69, 0x74, 0x79, 0x52, 0x09, 0x76, 0x65, 0x72, 0x62, - 0x6f, 0x73, 0x69, 0x74, 0x79, 0x22, 0x9a, 0x01, 0x0a, 0x09, 0x56, 0x65, 0x72, 0x62, 0x6f, 0x73, - 0x69, 0x74, 0x79, 0x12, 0x19, 0x0a, 0x15, 0x56, 0x45, 0x52, 0x42, 0x4f, 0x53, 0x49, 0x54, 0x59, - 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x16, - 0x0a, 0x12, 0x56, 0x45, 0x52, 0x42, 0x4f, 0x53, 0x49, 0x54, 0x59, 0x5f, 0x52, 0x41, 0x57, 0x5f, - 0x44, 0x41, 0x54, 0x41, 0x10, 0x01, 0x12, 0x18, 0x0a, 0x14, 0x56, 0x45, 0x52, 0x42, 0x4f, 0x53, - 0x49, 0x54, 0x59, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0x02, - 0x12, 0x1b, 0x0a, 0x17, 0x56, 0x45, 0x52, 0x42, 0x4f, 0x53, 0x49, 0x54, 0x59, 0x5f, 0x42, 0x4c, - 0x4f, 0x43, 0x4b, 0x5f, 0x54, 0x58, 0x5f, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0x03, 0x12, 0x23, 0x0a, - 0x1f, 0x56, 0x45, 0x52, 0x42, 0x4f, 0x53, 0x49, 0x54, 0x59, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, - 0x5f, 0x54, 0x58, 0x5f, 0x50, 0x52, 0x45, 0x56, 0x4f, 0x55, 0x54, 0x5f, 0x49, 0x4e, 0x46, 0x4f, - 0x10, 0x04, 0x22, 0x8b, 0x04, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x68, 0x65, 0x78, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x68, 0x65, 0x78, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x61, 0x73, - 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x61, 0x73, 0x68, 0x12, 0x24, 0x0a, - 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x76, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x76, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x5f, 0x68, 0x65, 0x78, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x76, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x78, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x65, 0x72, 0x6b, 0x6c, 0x65, - 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x65, 0x72, - 0x6b, 0x6c, 0x65, 0x52, 0x6f, 0x6f, 0x74, 0x12, 0x2e, 0x0a, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x18, - 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x52, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x6f, 0x6e, 0x63, 0x65, - 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x12, 0x12, 0x0a, - 0x04, 0x62, 0x69, 0x74, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x62, 0x69, 0x74, - 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x18, - 0x0b, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0a, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, - 0x79, 0x12, 0x2e, 0x0a, 0x13, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x5f, 0x62, 0x6c, - 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, - 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, - 0x68, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, - 0x68, 0x61, 0x73, 0x68, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, - 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x74, 0x72, - 0x69, 0x70, 0x70, 0x65, 0x64, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x0c, 0x73, 0x74, 0x72, 0x69, 0x70, 0x70, 0x65, 0x64, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x12, - 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x69, - 0x7a, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x10, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x78, - 0x69, 0x64, 0x73, 0x18, 0x11, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x74, 0x78, 0x69, 0x64, 0x73, - 0x22, 0x3c, 0x0a, 0x0e, 0x42, 0x75, 0x6d, 0x70, 0x46, 0x65, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x06, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x78, - 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x78, 0x69, 0x64, 0x22, 0x79, - 0x0a, 0x0f, 0x42, 0x75, 0x6d, 0x70, 0x46, 0x65, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x78, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x74, 0x78, 0x69, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, - 0x6c, 0x5f, 0x66, 0x65, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0b, 0x6f, 0x72, 0x69, - 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x46, 0x65, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x6e, 0x65, 0x77, 0x5f, - 0x66, 0x65, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x06, 0x6e, 0x65, 0x77, 0x46, 0x65, - 0x65, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, - 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x22, 0x43, 0x0a, 0x15, 0x4c, 0x69, 0x73, - 0x74, 0x53, 0x69, 0x6e, 0x63, 0x65, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x06, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x61, - 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x61, 0x73, 0x68, 0x22, 0x6e, - 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x69, 0x6e, 0x63, 0x65, 0x42, 0x6c, 0x6f, 0x63, 0x6b, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x54, 0x0a, 0x0c, 0x74, 0x72, 0x61, 0x6e, - 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, - 0x2e, 0x62, 0x69, 0x74, 0x63, 0x6f, 0x69, 0x6e, 0x2e, 0x62, 0x69, 0x74, 0x63, 0x6f, 0x69, 0x6e, - 0x64, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, + 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x45, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, + 0x53, 0x6d, 0x61, 0x72, 0x74, 0x46, 0x65, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, + 0x45, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x0c, 0x65, 0x73, + 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x22, 0x6b, 0x0a, 0x0c, 0x45, 0x73, + 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x1d, 0x0a, 0x19, 0x45, 0x53, + 0x54, 0x49, 0x4d, 0x41, 0x54, 0x45, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, + 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1c, 0x0a, 0x18, 0x45, 0x53, 0x54, + 0x49, 0x4d, 0x41, 0x54, 0x45, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x45, 0x43, 0x4f, 0x4e, 0x4f, + 0x4d, 0x49, 0x43, 0x41, 0x4c, 0x10, 0x01, 0x12, 0x1e, 0x0a, 0x1a, 0x45, 0x53, 0x54, 0x49, 0x4d, + 0x41, 0x54, 0x45, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x53, 0x45, 0x52, 0x56, + 0x41, 0x54, 0x49, 0x56, 0x45, 0x10, 0x02, 0x22, 0x65, 0x0a, 0x18, 0x45, 0x73, 0x74, 0x69, 0x6d, + 0x61, 0x74, 0x65, 0x53, 0x6d, 0x61, 0x72, 0x74, 0x46, 0x65, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x07, 0x66, 0x65, 0x65, 0x52, 0x61, 0x74, 0x65, 0x12, 0x16, + 0x0a, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, + 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x73, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x22, 0x57, + 0x0a, 0x1b, 0x44, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x52, 0x61, 0x77, 0x54, 0x72, 0x61, 0x6e, 0x73, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, + 0x02, 0x74, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x62, 0x69, 0x74, 0x63, + 0x6f, 0x69, 0x6e, 0x2e, 0x62, 0x69, 0x74, 0x63, 0x6f, 0x69, 0x6e, 0x64, 0x2e, 0x76, 0x31, 0x61, + 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x52, 0x61, 0x77, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x02, 0x74, 0x78, 0x22, 0x36, 0x0a, 0x0e, 0x52, 0x61, 0x77, 0x54, 0x72, + 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, + 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x10, 0x0a, + 0x03, 0x68, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x68, 0x65, 0x78, 0x22, + 0xc0, 0x02, 0x0a, 0x1c, 0x44, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x52, 0x61, 0x77, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x52, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x30, - 0x0a, 0x14, 0x47, 0x65, 0x74, 0x52, 0x61, 0x77, 0x4d, 0x65, 0x6d, 0x70, 0x6f, 0x6f, 0x6c, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x62, 0x6f, 0x73, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x76, 0x65, 0x72, 0x62, 0x6f, 0x73, 0x65, - 0x22, 0xf7, 0x04, 0x0a, 0x0c, 0x4d, 0x65, 0x6d, 0x70, 0x6f, 0x6f, 0x6c, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x12, 0x21, 0x0a, 0x0c, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x5f, 0x73, 0x69, 0x7a, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, - 0x53, 0x69, 0x7a, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x2e, 0x0a, 0x04, - 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x29, 0x0a, 0x10, - 0x64, 0x65, 0x73, 0x63, 0x65, 0x6e, 0x64, 0x61, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x64, 0x65, 0x73, 0x63, 0x65, 0x6e, 0x64, 0x61, - 0x6e, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x64, 0x65, 0x73, 0x63, 0x65, - 0x6e, 0x64, 0x61, 0x6e, 0x74, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x0e, 0x64, 0x65, 0x73, 0x63, 0x65, 0x6e, 0x64, 0x61, 0x6e, 0x74, 0x53, 0x69, 0x7a, 0x65, - 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x5f, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x74, - 0x6f, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x6e, 0x63, 0x65, 0x73, - 0x74, 0x6f, 0x72, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, - 0x61, 0x6e, 0x63, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x21, 0x0a, 0x0c, - 0x77, 0x69, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x78, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0b, 0x77, 0x69, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x54, 0x78, 0x69, 0x64, 0x12, - 0x3f, 0x0a, 0x04, 0x66, 0x65, 0x65, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, + 0x12, 0x12, 0x0a, 0x04, 0x74, 0x78, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x74, 0x78, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x61, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x68, 0x61, 0x73, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x21, 0x0a, 0x0c, + 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x0b, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x12, + 0x16, 0x0a, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x6b, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x6b, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x37, 0x0a, + 0x06, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x62, 0x69, 0x74, 0x63, 0x6f, 0x69, 0x6e, 0x2e, 0x62, 0x69, 0x74, 0x63, 0x6f, 0x69, 0x6e, 0x64, - 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4d, 0x65, 0x6d, 0x70, 0x6f, 0x6f, 0x6c, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x46, 0x65, 0x65, 0x73, 0x52, 0x04, 0x66, 0x65, 0x65, 0x73, - 0x12, 0x18, 0x0a, 0x07, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, - 0x09, 0x52, 0x07, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x70, - 0x65, 0x6e, 0x74, 0x5f, 0x62, 0x79, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x73, 0x70, - 0x65, 0x6e, 0x74, 0x42, 0x79, 0x12, 0x2d, 0x0a, 0x12, 0x62, 0x69, 0x70, 0x31, 0x32, 0x35, 0x5f, - 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x11, 0x62, 0x69, 0x70, 0x31, 0x32, 0x35, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, - 0x61, 0x62, 0x6c, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x75, 0x6e, 0x62, 0x72, 0x6f, 0x61, 0x64, 0x63, - 0x61, 0x73, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x75, 0x6e, 0x62, 0x72, 0x6f, - 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x1a, 0x72, 0x0a, 0x04, 0x46, 0x65, 0x65, 0x73, 0x12, 0x12, - 0x0a, 0x04, 0x62, 0x61, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x04, 0x62, 0x61, - 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x12, 0x1a, - 0x0a, 0x08, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, - 0x52, 0x08, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x65, - 0x73, 0x63, 0x65, 0x6e, 0x64, 0x61, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0a, - 0x64, 0x65, 0x73, 0x63, 0x65, 0x6e, 0x64, 0x61, 0x6e, 0x74, 0x22, 0xfd, 0x01, 0x0a, 0x15, 0x47, - 0x65, 0x74, 0x52, 0x61, 0x77, 0x4d, 0x65, 0x6d, 0x70, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x78, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x09, 0x52, 0x05, 0x74, 0x78, 0x69, 0x64, 0x73, 0x12, 0x65, 0x0a, 0x0c, 0x74, 0x72, - 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x41, 0x2e, 0x62, 0x69, 0x74, 0x63, 0x6f, 0x69, 0x6e, 0x2e, 0x62, 0x69, 0x74, 0x63, 0x6f, - 0x69, 0x6e, 0x64, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x52, - 0x61, 0x77, 0x4d, 0x65, 0x6d, 0x70, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, - 0x74, 0x72, 0x79, 0x52, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x1a, 0x67, 0x0a, 0x11, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x3c, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x62, 0x69, 0x74, 0x63, 0x6f, 0x69, + 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x52, 0x06, + 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x12, 0x3a, 0x0a, 0x07, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, + 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x62, 0x69, 0x74, 0x63, 0x6f, 0x69, 0x6e, 0x2e, 0x62, 0x69, 0x74, 0x63, 0x6f, 0x69, 0x6e, 0x64, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, - 0x68, 0x61, 0x2e, 0x4d, 0x65, 0x6d, 0x70, 0x6f, 0x6f, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x2d, 0x0a, 0x13, 0x47, 0x65, - 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x22, 0x2a, 0x0a, 0x14, 0x47, 0x65, 0x74, - 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x68, 0x61, 0x73, 0x68, 0x22, 0x5b, 0x0a, 0x17, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x72, 0x61, - 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x16, 0x0a, 0x06, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x06, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x12, - 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x73, 0x6b, - 0x69, 0x70, 0x22, 0x70, 0x0a, 0x18, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x54, - 0x0a, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x62, 0x69, 0x74, 0x63, 0x6f, 0x69, 0x6e, 0x2e, 0x62, + 0x68, 0x61, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x52, 0x07, 0x6f, 0x75, 0x74, 0x70, 0x75, + 0x74, 0x73, 0x22, 0xf8, 0x02, 0x0a, 0x18, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x44, 0x65, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x16, 0x0a, 0x06, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x12, 0x56, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x62, 0x69, 0x74, 0x63, + 0x6f, 0x69, 0x6e, 0x2e, 0x62, 0x69, 0x74, 0x63, 0x6f, 0x69, 0x6e, 0x64, 0x2e, 0x76, 0x31, 0x61, + 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x44, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x1a, + 0xeb, 0x01, 0x0a, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x64, + 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x61, + 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x61, 0x63, 0x74, + 0x69, 0x76, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x73, 0x74, 0x61, + 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x53, + 0x74, 0x61, 0x72, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x65, 0x6e, + 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x45, 0x6e, + 0x64, 0x12, 0x38, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x69, + 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, + 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x22, 0xc2, 0x02, + 0x0a, 0x19, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x6f, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5a, 0x0a, 0x09, 0x72, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3c, + 0x2e, 0x62, 0x69, 0x74, 0x63, 0x6f, 0x69, 0x6e, 0x2e, 0x62, 0x69, 0x74, 0x63, 0x6f, 0x69, 0x6e, + 0x64, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, + 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x09, 0x72, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x1a, 0x35, 0x0a, 0x05, 0x45, 0x72, 0x72, 0x6f, 0x72, + 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, + 0x63, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x1a, 0x91, + 0x01, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, + 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, + 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, + 0x73, 0x12, 0x4f, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x39, 0x2e, 0x62, 0x69, 0x74, 0x63, 0x6f, 0x69, 0x6e, 0x2e, 0x62, 0x69, 0x74, 0x63, 0x6f, + 0x69, 0x6e, 0x64, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x49, 0x6d, 0x70, 0x6f, + 0x72, 0x74, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, + 0x6f, 0x72, 0x22, 0x3a, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, + 0x0a, 0x0a, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0a, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x22, 0xbd, + 0x01, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, + 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1e, 0x0a, 0x0a, + 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0a, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x12, 0x1a, 0x0a, 0x08, + 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x73, 0x5f, 0x72, + 0x61, 0x6e, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x52, 0x61, + 0x6e, 0x67, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x73, 0x6f, 0x6c, 0x76, 0x61, 0x62, + 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x53, 0x6f, 0x6c, 0x76, + 0x61, 0x62, 0x6c, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x68, 0x61, 0x73, 0x5f, 0x70, 0x72, 0x69, 0x76, + 0x61, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, + 0x68, 0x61, 0x73, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x22, 0x95, + 0x02, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x68, 0x61, 0x73, 0x68, 0x12, 0x51, 0x0a, 0x09, 0x76, 0x65, 0x72, 0x62, 0x6f, 0x73, + 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x33, 0x2e, 0x62, 0x69, 0x74, 0x63, + 0x6f, 0x69, 0x6e, 0x2e, 0x62, 0x69, 0x74, 0x63, 0x6f, 0x69, 0x6e, 0x64, 0x2e, 0x76, 0x31, 0x61, + 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x2e, 0x56, 0x65, 0x72, 0x62, 0x6f, 0x73, 0x69, 0x74, 0x79, 0x52, 0x09, + 0x76, 0x65, 0x72, 0x62, 0x6f, 0x73, 0x69, 0x74, 0x79, 0x22, 0x9a, 0x01, 0x0a, 0x09, 0x56, 0x65, + 0x72, 0x62, 0x6f, 0x73, 0x69, 0x74, 0x79, 0x12, 0x19, 0x0a, 0x15, 0x56, 0x45, 0x52, 0x42, 0x4f, + 0x53, 0x49, 0x54, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, + 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, 0x56, 0x45, 0x52, 0x42, 0x4f, 0x53, 0x49, 0x54, 0x59, 0x5f, + 0x52, 0x41, 0x57, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x10, 0x01, 0x12, 0x18, 0x0a, 0x14, 0x56, 0x45, + 0x52, 0x42, 0x4f, 0x53, 0x49, 0x54, 0x59, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x49, 0x4e, + 0x46, 0x4f, 0x10, 0x02, 0x12, 0x1b, 0x0a, 0x17, 0x56, 0x45, 0x52, 0x42, 0x4f, 0x53, 0x49, 0x54, + 0x59, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x54, 0x58, 0x5f, 0x49, 0x4e, 0x46, 0x4f, 0x10, + 0x03, 0x12, 0x23, 0x0a, 0x1f, 0x56, 0x45, 0x52, 0x42, 0x4f, 0x53, 0x49, 0x54, 0x59, 0x5f, 0x42, + 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x54, 0x58, 0x5f, 0x50, 0x52, 0x45, 0x56, 0x4f, 0x55, 0x54, 0x5f, + 0x49, 0x4e, 0x46, 0x4f, 0x10, 0x04, 0x22, 0x8b, 0x04, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x42, 0x6c, + 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x68, + 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x68, 0x65, 0x78, 0x12, 0x12, 0x0a, + 0x04, 0x68, 0x61, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x61, 0x73, + 0x68, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, + 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, + 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, + 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x76, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x68, 0x65, 0x78, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x78, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x65, + 0x72, 0x6b, 0x6c, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x6d, 0x65, 0x72, 0x6b, 0x6c, 0x65, 0x52, 0x6f, 0x6f, 0x74, 0x12, 0x2e, 0x0a, 0x04, 0x74, + 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6e, + 0x6f, 0x6e, 0x63, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6e, 0x6f, 0x6e, 0x63, + 0x65, 0x12, 0x12, 0x0a, 0x04, 0x62, 0x69, 0x74, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x62, 0x69, 0x74, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, + 0x6c, 0x74, 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0a, 0x64, 0x69, 0x66, 0x66, 0x69, + 0x63, 0x75, 0x6c, 0x74, 0x79, 0x12, 0x2e, 0x0a, 0x13, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, + 0x73, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x0c, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x11, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x42, 0x6c, 0x6f, 0x63, + 0x6b, 0x48, 0x61, 0x73, 0x68, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x62, 0x6c, + 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, + 0x6e, 0x65, 0x78, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x12, 0x23, 0x0a, + 0x0d, 0x73, 0x74, 0x72, 0x69, 0x70, 0x70, 0x65, 0x64, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x0e, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x73, 0x74, 0x72, 0x69, 0x70, 0x70, 0x65, 0x64, 0x53, 0x69, + 0x7a, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, + 0x18, 0x10, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x14, + 0x0a, 0x05, 0x74, 0x78, 0x69, 0x64, 0x73, 0x18, 0x11, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x74, + 0x78, 0x69, 0x64, 0x73, 0x22, 0x3c, 0x0a, 0x0e, 0x42, 0x75, 0x6d, 0x70, 0x46, 0x65, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x12, 0x12, + 0x0a, 0x04, 0x74, 0x78, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x78, + 0x69, 0x64, 0x22, 0x79, 0x0a, 0x0f, 0x42, 0x75, 0x6d, 0x70, 0x46, 0x65, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x78, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x78, 0x69, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x72, 0x69, + 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x66, 0x65, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, + 0x0b, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x46, 0x65, 0x65, 0x12, 0x17, 0x0a, 0x07, + 0x6e, 0x65, 0x77, 0x5f, 0x66, 0x65, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x06, 0x6e, + 0x65, 0x77, 0x46, 0x65, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, + 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x22, 0x43, 0x0a, + 0x15, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x69, 0x6e, 0x63, 0x65, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x12, 0x12, + 0x0a, 0x04, 0x68, 0x61, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x61, + 0x73, 0x68, 0x22, 0x6e, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x69, 0x6e, 0x63, 0x65, 0x42, + 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x54, 0x0a, 0x0c, + 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x62, 0x69, 0x74, 0x63, 0x6f, 0x69, 0x6e, 0x2e, 0x62, 0x69, 0x74, + 0x63, 0x6f, 0x69, 0x6e, 0x64, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x47, 0x65, + 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x22, 0x30, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x52, 0x61, 0x77, 0x4d, 0x65, 0x6d, 0x70, + 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, + 0x72, 0x62, 0x6f, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x76, 0x65, 0x72, + 0x62, 0x6f, 0x73, 0x65, 0x22, 0xf7, 0x04, 0x0a, 0x0c, 0x4d, 0x65, 0x6d, 0x70, 0x6f, 0x6f, 0x6c, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x21, 0x0a, 0x0c, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, + 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x76, 0x69, 0x72, + 0x74, 0x75, 0x61, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x77, 0x65, 0x69, 0x67, + 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, + 0x12, 0x2e, 0x0a, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x04, 0x74, 0x69, 0x6d, 0x65, + 0x12, 0x29, 0x0a, 0x10, 0x64, 0x65, 0x73, 0x63, 0x65, 0x6e, 0x64, 0x61, 0x6e, 0x74, 0x5f, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x64, 0x65, 0x73, 0x63, + 0x65, 0x6e, 0x64, 0x61, 0x6e, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x64, + 0x65, 0x73, 0x63, 0x65, 0x6e, 0x64, 0x61, 0x6e, 0x74, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x64, 0x65, 0x73, 0x63, 0x65, 0x6e, 0x64, 0x61, 0x6e, 0x74, + 0x53, 0x69, 0x7a, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x74, 0x6f, 0x72, + 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x61, 0x6e, + 0x63, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x61, + 0x6e, 0x63, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x0c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x53, 0x69, 0x7a, 0x65, + 0x12, 0x21, 0x0a, 0x0c, 0x77, 0x69, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x78, 0x69, 0x64, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x77, 0x69, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x54, + 0x78, 0x69, 0x64, 0x12, 0x3f, 0x0a, 0x04, 0x66, 0x65, 0x65, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x2b, 0x2e, 0x62, 0x69, 0x74, 0x63, 0x6f, 0x69, 0x6e, 0x2e, 0x62, 0x69, 0x74, 0x63, + 0x6f, 0x69, 0x6e, 0x64, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4d, 0x65, 0x6d, + 0x70, 0x6f, 0x6f, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x46, 0x65, 0x65, 0x73, 0x52, 0x04, + 0x66, 0x65, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x73, 0x18, + 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x73, 0x12, 0x19, + 0x0a, 0x08, 0x73, 0x70, 0x65, 0x6e, 0x74, 0x5f, 0x62, 0x79, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x07, 0x73, 0x70, 0x65, 0x6e, 0x74, 0x42, 0x79, 0x12, 0x2d, 0x0a, 0x12, 0x62, 0x69, 0x70, + 0x31, 0x32, 0x35, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x61, 0x62, 0x6c, 0x65, 0x18, + 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x62, 0x69, 0x70, 0x31, 0x32, 0x35, 0x52, 0x65, 0x70, + 0x6c, 0x61, 0x63, 0x65, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x75, 0x6e, 0x62, 0x72, + 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x75, + 0x6e, 0x62, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x1a, 0x72, 0x0a, 0x04, 0x46, 0x65, + 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x62, 0x61, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, + 0x52, 0x04, 0x62, 0x61, 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, + 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, + 0x65, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x12, 0x1e, + 0x0a, 0x0a, 0x64, 0x65, 0x73, 0x63, 0x65, 0x6e, 0x64, 0x61, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x01, 0x52, 0x0a, 0x64, 0x65, 0x73, 0x63, 0x65, 0x6e, 0x64, 0x61, 0x6e, 0x74, 0x22, 0xfd, + 0x01, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x52, 0x61, 0x77, 0x4d, 0x65, 0x6d, 0x70, 0x6f, 0x6f, 0x6c, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x78, 0x69, 0x64, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x74, 0x78, 0x69, 0x64, 0x73, 0x12, 0x65, + 0x0a, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x62, 0x69, 0x74, 0x63, 0x6f, 0x69, 0x6e, 0x2e, 0x62, 0x69, 0x74, 0x63, 0x6f, 0x69, 0x6e, 0x64, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, - 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x2f, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x61, 0x6c, 0x6c, - 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x77, - 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x77, 0x61, - 0x6c, 0x6c, 0x65, 0x74, 0x73, 0x22, 0x49, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x41, 0x64, 0x64, 0x72, - 0x65, 0x73, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, - 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x77, 0x61, 0x6c, 0x6c, - 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, - 0x22, 0xa2, 0x03, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x49, - 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x61, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x24, 0x0a, 0x0e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x5f, - 0x70, 0x75, 0x62, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, - 0x63, 0x72, 0x69, 0x70, 0x74, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x12, 0x17, 0x0a, 0x07, 0x69, - 0x73, 0x5f, 0x6d, 0x69, 0x6e, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, - 0x4d, 0x69, 0x6e, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x77, 0x61, 0x74, 0x63, 0x68, - 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x57, - 0x61, 0x74, 0x63, 0x68, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x6f, 0x6c, 0x76, - 0x61, 0x62, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x73, 0x6f, 0x6c, 0x76, - 0x61, 0x62, 0x6c, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x73, 0x63, 0x72, 0x69, 0x70, - 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x53, 0x63, 0x72, 0x69, 0x70, - 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x07, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x1d, - 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x77, 0x69, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x18, 0x08, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x57, 0x69, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x12, 0x27, 0x0a, - 0x0f, 0x77, 0x69, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x77, 0x69, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x56, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x0a, 0x0f, 0x77, 0x69, 0x74, 0x6e, 0x65, 0x73, - 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0e, 0x77, 0x69, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x12, - 0x1f, 0x0a, 0x0b, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0b, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x54, 0x79, 0x70, 0x65, - 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x65, - 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x73, 0x43, 0x6f, 0x6d, 0x70, 0x72, - 0x65, 0x73, 0x73, 0x65, 0x64, 0x32, 0xf8, 0x11, 0x0a, 0x0e, 0x42, 0x69, 0x74, 0x63, 0x6f, 0x69, - 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x7c, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x42, - 0x6c, 0x6f, 0x63, 0x6b, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x32, 0x2e, - 0x62, 0x69, 0x74, 0x63, 0x6f, 0x69, 0x6e, 0x2e, 0x62, 0x69, 0x74, 0x63, 0x6f, 0x69, 0x6e, 0x64, - 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, - 0x6b, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x33, 0x2e, 0x62, 0x69, 0x74, 0x63, 0x6f, 0x69, 0x6e, 0x2e, 0x62, 0x69, 0x74, 0x63, + 0x47, 0x65, 0x74, 0x52, 0x61, 0x77, 0x4d, 0x65, 0x6d, 0x70, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x67, 0x0a, 0x11, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, + 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x3c, 0x0a, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x62, 0x69, + 0x74, 0x63, 0x6f, 0x69, 0x6e, 0x2e, 0x62, 0x69, 0x74, 0x63, 0x6f, 0x69, 0x6e, 0x64, 0x2e, 0x76, + 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4d, 0x65, 0x6d, 0x70, 0x6f, 0x6f, 0x6c, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x2d, + 0x0a, 0x13, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x22, 0x2a, 0x0a, + 0x14, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x61, 0x73, 0x68, 0x22, 0x5b, 0x0a, 0x17, 0x4c, 0x69, 0x73, + 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x12, 0x14, 0x0a, 0x05, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x22, 0x70, 0x0a, 0x18, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x72, + 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x54, 0x0a, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x62, 0x69, 0x74, 0x63, 0x6f, + 0x69, 0x6e, 0x2e, 0x62, 0x69, 0x74, 0x63, 0x6f, 0x69, 0x6e, 0x64, 0x2e, 0x76, 0x31, 0x61, 0x6c, + 0x70, 0x68, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x0c, 0x74, 0x72, 0x61, 0x6e, + 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x2f, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, + 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x18, 0x0a, 0x07, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x07, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x73, 0x22, 0x49, 0x0a, 0x15, 0x47, 0x65, 0x74, + 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x16, 0x0a, 0x06, + 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x77, 0x61, + 0x6c, 0x6c, 0x65, 0x74, 0x22, 0xa2, 0x03, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x41, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x24, 0x0a, 0x0e, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x5f, 0x70, 0x75, 0x62, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0c, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x12, + 0x17, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x6d, 0x69, 0x6e, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x06, 0x69, 0x73, 0x4d, 0x69, 0x6e, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x77, + 0x61, 0x74, 0x63, 0x68, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x0b, 0x69, 0x73, 0x57, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x1a, 0x0a, 0x08, + 0x73, 0x6f, 0x6c, 0x76, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, + 0x73, 0x6f, 0x6c, 0x76, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x53, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x63, 0x68, 0x61, 0x6e, + 0x67, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x43, 0x68, 0x61, 0x6e, + 0x67, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x77, 0x69, 0x74, 0x6e, 0x65, 0x73, 0x73, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x57, 0x69, 0x74, 0x6e, 0x65, 0x73, + 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x77, 0x69, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x5f, 0x76, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x77, 0x69, 0x74, 0x6e, + 0x65, 0x73, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x0a, 0x0f, 0x77, 0x69, + 0x74, 0x6e, 0x65, 0x73, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x18, 0x0a, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0e, 0x77, 0x69, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x50, 0x72, 0x6f, 0x67, + 0x72, 0x61, 0x6d, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x5f, 0x74, 0x79, + 0x70, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x54, 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x72, + 0x65, 0x73, 0x73, 0x65, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x73, 0x43, + 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x65, 0x64, 0x32, 0xe4, 0x12, 0x0a, 0x0e, 0x42, 0x69, + 0x74, 0x63, 0x6f, 0x69, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x7c, 0x0a, 0x11, + 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x6e, 0x66, + 0x6f, 0x12, 0x32, 0x2e, 0x62, 0x69, 0x74, 0x63, 0x6f, 0x69, 0x6e, 0x2e, 0x62, 0x69, 0x74, 0x63, 0x6f, 0x69, 0x6e, 0x64, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x62, 0x69, 0x74, 0x63, 0x6f, 0x69, 0x6e, 0x2e, + 0x62, 0x69, 0x74, 0x63, 0x6f, 0x69, 0x6e, 0x64, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x2e, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x6e, + 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6a, 0x0a, 0x0b, 0x47, 0x65, + 0x74, 0x50, 0x65, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2c, 0x2e, 0x62, 0x69, 0x74, 0x63, + 0x6f, 0x69, 0x6e, 0x2e, 0x62, 0x69, 0x74, 0x63, 0x6f, 0x69, 0x6e, 0x64, 0x2e, 0x76, 0x31, 0x61, + 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x65, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x62, 0x69, 0x74, 0x63, 0x6f, 0x69, + 0x6e, 0x2e, 0x62, 0x69, 0x74, 0x63, 0x6f, 0x69, 0x6e, 0x64, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, + 0x68, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x65, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x73, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x2e, 0x62, 0x69, 0x74, 0x63, 0x6f, 0x69, 0x6e, 0x2e, 0x62, 0x69, 0x74, 0x63, 0x6f, 0x69, 0x6e, 0x64, 0x2e, 0x76, 0x31, 0x61, 0x6c, @@ -4713,7 +4879,7 @@ func file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDescGZIP() []byte { } var file_bitcoin_bitcoind_v1alpha_bitcoin_proto_enumTypes = make([]protoimpl.EnumInfo, 4) -var file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes = make([]protoimpl.MessageInfo, 54) +var file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes = make([]protoimpl.MessageInfo, 57) var file_bitcoin_bitcoind_v1alpha_bitcoin_proto_goTypes = []any{ (GetTransactionResponse_Replaceable)(0), // 0: bitcoin.bitcoind.v1alpha.GetTransactionResponse.Replaceable (GetTransactionResponse_Category)(0), // 1: bitcoin.bitcoind.v1alpha.GetTransactionResponse.Category @@ -4721,140 +4887,146 @@ var file_bitcoin_bitcoind_v1alpha_bitcoin_proto_goTypes = []any{ (GetBlockRequest_Verbosity)(0), // 3: bitcoin.bitcoind.v1alpha.GetBlockRequest.Verbosity (*GetBlockchainInfoRequest)(nil), // 4: bitcoin.bitcoind.v1alpha.GetBlockchainInfoRequest (*GetBlockchainInfoResponse)(nil), // 5: bitcoin.bitcoind.v1alpha.GetBlockchainInfoResponse - (*GetNewAddressRequest)(nil), // 6: bitcoin.bitcoind.v1alpha.GetNewAddressRequest - (*GetNewAddressResponse)(nil), // 7: bitcoin.bitcoind.v1alpha.GetNewAddressResponse - (*GetWalletInfoRequest)(nil), // 8: bitcoin.bitcoind.v1alpha.GetWalletInfoRequest - (*GetWalletInfoResponse)(nil), // 9: bitcoin.bitcoind.v1alpha.GetWalletInfoResponse - (*GetBalancesRequest)(nil), // 10: bitcoin.bitcoind.v1alpha.GetBalancesRequest - (*GetBalancesResponse)(nil), // 11: bitcoin.bitcoind.v1alpha.GetBalancesResponse - (*WalletScan)(nil), // 12: bitcoin.bitcoind.v1alpha.WalletScan - (*GetTransactionRequest)(nil), // 13: bitcoin.bitcoind.v1alpha.GetTransactionRequest - (*GetTransactionResponse)(nil), // 14: bitcoin.bitcoind.v1alpha.GetTransactionResponse - (*GetRawTransactionRequest)(nil), // 15: bitcoin.bitcoind.v1alpha.GetRawTransactionRequest - (*Input)(nil), // 16: bitcoin.bitcoind.v1alpha.Input - (*ScriptPubKey)(nil), // 17: bitcoin.bitcoind.v1alpha.ScriptPubKey - (*Output)(nil), // 18: bitcoin.bitcoind.v1alpha.Output - (*GetRawTransactionResponse)(nil), // 19: bitcoin.bitcoind.v1alpha.GetRawTransactionResponse - (*SendRequest)(nil), // 20: bitcoin.bitcoind.v1alpha.SendRequest - (*SendResponse)(nil), // 21: bitcoin.bitcoind.v1alpha.SendResponse - (*SendToAddressRequest)(nil), // 22: bitcoin.bitcoind.v1alpha.SendToAddressRequest - (*SendToAddressResponse)(nil), // 23: bitcoin.bitcoind.v1alpha.SendToAddressResponse - (*EstimateSmartFeeRequest)(nil), // 24: bitcoin.bitcoind.v1alpha.EstimateSmartFeeRequest - (*EstimateSmartFeeResponse)(nil), // 25: bitcoin.bitcoind.v1alpha.EstimateSmartFeeResponse - (*DecodeRawTransactionRequest)(nil), // 26: bitcoin.bitcoind.v1alpha.DecodeRawTransactionRequest - (*RawTransaction)(nil), // 27: bitcoin.bitcoind.v1alpha.RawTransaction - (*DecodeRawTransactionResponse)(nil), // 28: bitcoin.bitcoind.v1alpha.DecodeRawTransactionResponse - (*ImportDescriptorsRequest)(nil), // 29: bitcoin.bitcoind.v1alpha.ImportDescriptorsRequest - (*ImportDescriptorsResponse)(nil), // 30: bitcoin.bitcoind.v1alpha.ImportDescriptorsResponse - (*GetDescriptorInfoRequest)(nil), // 31: bitcoin.bitcoind.v1alpha.GetDescriptorInfoRequest - (*GetDescriptorInfoResponse)(nil), // 32: bitcoin.bitcoind.v1alpha.GetDescriptorInfoResponse - (*GetBlockRequest)(nil), // 33: bitcoin.bitcoind.v1alpha.GetBlockRequest - (*GetBlockResponse)(nil), // 34: bitcoin.bitcoind.v1alpha.GetBlockResponse - (*BumpFeeRequest)(nil), // 35: bitcoin.bitcoind.v1alpha.BumpFeeRequest - (*BumpFeeResponse)(nil), // 36: bitcoin.bitcoind.v1alpha.BumpFeeResponse - (*ListSinceBlockRequest)(nil), // 37: bitcoin.bitcoind.v1alpha.ListSinceBlockRequest - (*ListSinceBlockResponse)(nil), // 38: bitcoin.bitcoind.v1alpha.ListSinceBlockResponse - (*GetRawMempoolRequest)(nil), // 39: bitcoin.bitcoind.v1alpha.GetRawMempoolRequest - (*MempoolEntry)(nil), // 40: bitcoin.bitcoind.v1alpha.MempoolEntry - (*GetRawMempoolResponse)(nil), // 41: bitcoin.bitcoind.v1alpha.GetRawMempoolResponse - (*GetBlockHashRequest)(nil), // 42: bitcoin.bitcoind.v1alpha.GetBlockHashRequest - (*GetBlockHashResponse)(nil), // 43: bitcoin.bitcoind.v1alpha.GetBlockHashResponse - (*ListTransactionsRequest)(nil), // 44: bitcoin.bitcoind.v1alpha.ListTransactionsRequest - (*ListTransactionsResponse)(nil), // 45: bitcoin.bitcoind.v1alpha.ListTransactionsResponse - (*ListWalletsResponse)(nil), // 46: bitcoin.bitcoind.v1alpha.ListWalletsResponse - (*GetAddressInfoRequest)(nil), // 47: bitcoin.bitcoind.v1alpha.GetAddressInfoRequest - (*GetAddressInfoResponse)(nil), // 48: bitcoin.bitcoind.v1alpha.GetAddressInfoResponse - (*GetBalancesResponse_Mine)(nil), // 49: bitcoin.bitcoind.v1alpha.GetBalancesResponse.Mine - (*GetBalancesResponse_Watchonly)(nil), // 50: bitcoin.bitcoind.v1alpha.GetBalancesResponse.Watchonly - (*GetTransactionResponse_Details)(nil), // 51: bitcoin.bitcoind.v1alpha.GetTransactionResponse.Details - nil, // 52: bitcoin.bitcoind.v1alpha.SendRequest.DestinationsEntry - (*ImportDescriptorsRequest_Request)(nil), // 53: bitcoin.bitcoind.v1alpha.ImportDescriptorsRequest.Request - (*ImportDescriptorsResponse_Error)(nil), // 54: bitcoin.bitcoind.v1alpha.ImportDescriptorsResponse.Error - (*ImportDescriptorsResponse_Response)(nil), // 55: bitcoin.bitcoind.v1alpha.ImportDescriptorsResponse.Response - (*MempoolEntry_Fees)(nil), // 56: bitcoin.bitcoind.v1alpha.MempoolEntry.Fees - nil, // 57: bitcoin.bitcoind.v1alpha.GetRawMempoolResponse.TransactionsEntry - (*timestamppb.Timestamp)(nil), // 58: google.protobuf.Timestamp - (*wrapperspb.BoolValue)(nil), // 59: google.protobuf.BoolValue - (*emptypb.Empty)(nil), // 60: google.protobuf.Empty + (*GetPeerInfoRequest)(nil), // 6: bitcoin.bitcoind.v1alpha.GetPeerInfoRequest + (*Peer)(nil), // 7: bitcoin.bitcoind.v1alpha.Peer + (*GetPeerInfoResponse)(nil), // 8: bitcoin.bitcoind.v1alpha.GetPeerInfoResponse + (*GetNewAddressRequest)(nil), // 9: bitcoin.bitcoind.v1alpha.GetNewAddressRequest + (*GetNewAddressResponse)(nil), // 10: bitcoin.bitcoind.v1alpha.GetNewAddressResponse + (*GetWalletInfoRequest)(nil), // 11: bitcoin.bitcoind.v1alpha.GetWalletInfoRequest + (*GetWalletInfoResponse)(nil), // 12: bitcoin.bitcoind.v1alpha.GetWalletInfoResponse + (*GetBalancesRequest)(nil), // 13: bitcoin.bitcoind.v1alpha.GetBalancesRequest + (*GetBalancesResponse)(nil), // 14: bitcoin.bitcoind.v1alpha.GetBalancesResponse + (*WalletScan)(nil), // 15: bitcoin.bitcoind.v1alpha.WalletScan + (*GetTransactionRequest)(nil), // 16: bitcoin.bitcoind.v1alpha.GetTransactionRequest + (*GetTransactionResponse)(nil), // 17: bitcoin.bitcoind.v1alpha.GetTransactionResponse + (*GetRawTransactionRequest)(nil), // 18: bitcoin.bitcoind.v1alpha.GetRawTransactionRequest + (*Input)(nil), // 19: bitcoin.bitcoind.v1alpha.Input + (*ScriptPubKey)(nil), // 20: bitcoin.bitcoind.v1alpha.ScriptPubKey + (*Output)(nil), // 21: bitcoin.bitcoind.v1alpha.Output + (*GetRawTransactionResponse)(nil), // 22: bitcoin.bitcoind.v1alpha.GetRawTransactionResponse + (*SendRequest)(nil), // 23: bitcoin.bitcoind.v1alpha.SendRequest + (*SendResponse)(nil), // 24: bitcoin.bitcoind.v1alpha.SendResponse + (*SendToAddressRequest)(nil), // 25: bitcoin.bitcoind.v1alpha.SendToAddressRequest + (*SendToAddressResponse)(nil), // 26: bitcoin.bitcoind.v1alpha.SendToAddressResponse + (*EstimateSmartFeeRequest)(nil), // 27: bitcoin.bitcoind.v1alpha.EstimateSmartFeeRequest + (*EstimateSmartFeeResponse)(nil), // 28: bitcoin.bitcoind.v1alpha.EstimateSmartFeeResponse + (*DecodeRawTransactionRequest)(nil), // 29: bitcoin.bitcoind.v1alpha.DecodeRawTransactionRequest + (*RawTransaction)(nil), // 30: bitcoin.bitcoind.v1alpha.RawTransaction + (*DecodeRawTransactionResponse)(nil), // 31: bitcoin.bitcoind.v1alpha.DecodeRawTransactionResponse + (*ImportDescriptorsRequest)(nil), // 32: bitcoin.bitcoind.v1alpha.ImportDescriptorsRequest + (*ImportDescriptorsResponse)(nil), // 33: bitcoin.bitcoind.v1alpha.ImportDescriptorsResponse + (*GetDescriptorInfoRequest)(nil), // 34: bitcoin.bitcoind.v1alpha.GetDescriptorInfoRequest + (*GetDescriptorInfoResponse)(nil), // 35: bitcoin.bitcoind.v1alpha.GetDescriptorInfoResponse + (*GetBlockRequest)(nil), // 36: bitcoin.bitcoind.v1alpha.GetBlockRequest + (*GetBlockResponse)(nil), // 37: bitcoin.bitcoind.v1alpha.GetBlockResponse + (*BumpFeeRequest)(nil), // 38: bitcoin.bitcoind.v1alpha.BumpFeeRequest + (*BumpFeeResponse)(nil), // 39: bitcoin.bitcoind.v1alpha.BumpFeeResponse + (*ListSinceBlockRequest)(nil), // 40: bitcoin.bitcoind.v1alpha.ListSinceBlockRequest + (*ListSinceBlockResponse)(nil), // 41: bitcoin.bitcoind.v1alpha.ListSinceBlockResponse + (*GetRawMempoolRequest)(nil), // 42: bitcoin.bitcoind.v1alpha.GetRawMempoolRequest + (*MempoolEntry)(nil), // 43: bitcoin.bitcoind.v1alpha.MempoolEntry + (*GetRawMempoolResponse)(nil), // 44: bitcoin.bitcoind.v1alpha.GetRawMempoolResponse + (*GetBlockHashRequest)(nil), // 45: bitcoin.bitcoind.v1alpha.GetBlockHashRequest + (*GetBlockHashResponse)(nil), // 46: bitcoin.bitcoind.v1alpha.GetBlockHashResponse + (*ListTransactionsRequest)(nil), // 47: bitcoin.bitcoind.v1alpha.ListTransactionsRequest + (*ListTransactionsResponse)(nil), // 48: bitcoin.bitcoind.v1alpha.ListTransactionsResponse + (*ListWalletsResponse)(nil), // 49: bitcoin.bitcoind.v1alpha.ListWalletsResponse + (*GetAddressInfoRequest)(nil), // 50: bitcoin.bitcoind.v1alpha.GetAddressInfoRequest + (*GetAddressInfoResponse)(nil), // 51: bitcoin.bitcoind.v1alpha.GetAddressInfoResponse + (*GetBalancesResponse_Mine)(nil), // 52: bitcoin.bitcoind.v1alpha.GetBalancesResponse.Mine + (*GetBalancesResponse_Watchonly)(nil), // 53: bitcoin.bitcoind.v1alpha.GetBalancesResponse.Watchonly + (*GetTransactionResponse_Details)(nil), // 54: bitcoin.bitcoind.v1alpha.GetTransactionResponse.Details + nil, // 55: bitcoin.bitcoind.v1alpha.SendRequest.DestinationsEntry + (*ImportDescriptorsRequest_Request)(nil), // 56: bitcoin.bitcoind.v1alpha.ImportDescriptorsRequest.Request + (*ImportDescriptorsResponse_Error)(nil), // 57: bitcoin.bitcoind.v1alpha.ImportDescriptorsResponse.Error + (*ImportDescriptorsResponse_Response)(nil), // 58: bitcoin.bitcoind.v1alpha.ImportDescriptorsResponse.Response + (*MempoolEntry_Fees)(nil), // 59: bitcoin.bitcoind.v1alpha.MempoolEntry.Fees + nil, // 60: bitcoin.bitcoind.v1alpha.GetRawMempoolResponse.TransactionsEntry + (*timestamppb.Timestamp)(nil), // 61: google.protobuf.Timestamp + (*wrapperspb.BoolValue)(nil), // 62: google.protobuf.BoolValue + (*emptypb.Empty)(nil), // 63: google.protobuf.Empty } var file_bitcoin_bitcoind_v1alpha_bitcoin_proto_depIdxs = []int32{ - 12, // 0: bitcoin.bitcoind.v1alpha.GetWalletInfoResponse.scanning:type_name -> bitcoin.bitcoind.v1alpha.WalletScan - 49, // 1: bitcoin.bitcoind.v1alpha.GetBalancesResponse.mine:type_name -> bitcoin.bitcoind.v1alpha.GetBalancesResponse.Mine - 50, // 2: bitcoin.bitcoind.v1alpha.GetBalancesResponse.watchonly:type_name -> bitcoin.bitcoind.v1alpha.GetBalancesResponse.Watchonly - 58, // 3: bitcoin.bitcoind.v1alpha.GetTransactionResponse.block_time:type_name -> google.protobuf.Timestamp - 58, // 4: bitcoin.bitcoind.v1alpha.GetTransactionResponse.time:type_name -> google.protobuf.Timestamp - 58, // 5: bitcoin.bitcoind.v1alpha.GetTransactionResponse.time_received:type_name -> google.protobuf.Timestamp - 0, // 6: bitcoin.bitcoind.v1alpha.GetTransactionResponse.bip125_replaceable:type_name -> bitcoin.bitcoind.v1alpha.GetTransactionResponse.Replaceable - 51, // 7: bitcoin.bitcoind.v1alpha.GetTransactionResponse.details:type_name -> bitcoin.bitcoind.v1alpha.GetTransactionResponse.Details - 17, // 8: bitcoin.bitcoind.v1alpha.Output.script_pub_key:type_name -> bitcoin.bitcoind.v1alpha.ScriptPubKey - 27, // 9: bitcoin.bitcoind.v1alpha.GetRawTransactionResponse.tx:type_name -> bitcoin.bitcoind.v1alpha.RawTransaction - 16, // 10: bitcoin.bitcoind.v1alpha.GetRawTransactionResponse.inputs:type_name -> bitcoin.bitcoind.v1alpha.Input - 18, // 11: bitcoin.bitcoind.v1alpha.GetRawTransactionResponse.outputs:type_name -> bitcoin.bitcoind.v1alpha.Output - 52, // 12: bitcoin.bitcoind.v1alpha.SendRequest.destinations:type_name -> bitcoin.bitcoind.v1alpha.SendRequest.DestinationsEntry - 59, // 13: bitcoin.bitcoind.v1alpha.SendRequest.add_to_wallet:type_name -> google.protobuf.BoolValue - 27, // 14: bitcoin.bitcoind.v1alpha.SendResponse.tx:type_name -> bitcoin.bitcoind.v1alpha.RawTransaction - 2, // 15: bitcoin.bitcoind.v1alpha.EstimateSmartFeeRequest.estimate_mode:type_name -> bitcoin.bitcoind.v1alpha.EstimateSmartFeeRequest.EstimateMode - 27, // 16: bitcoin.bitcoind.v1alpha.DecodeRawTransactionRequest.tx:type_name -> bitcoin.bitcoind.v1alpha.RawTransaction - 16, // 17: bitcoin.bitcoind.v1alpha.DecodeRawTransactionResponse.inputs:type_name -> bitcoin.bitcoind.v1alpha.Input - 18, // 18: bitcoin.bitcoind.v1alpha.DecodeRawTransactionResponse.outputs:type_name -> bitcoin.bitcoind.v1alpha.Output - 53, // 19: bitcoin.bitcoind.v1alpha.ImportDescriptorsRequest.requests:type_name -> bitcoin.bitcoind.v1alpha.ImportDescriptorsRequest.Request - 55, // 20: bitcoin.bitcoind.v1alpha.ImportDescriptorsResponse.responses:type_name -> bitcoin.bitcoind.v1alpha.ImportDescriptorsResponse.Response - 3, // 21: bitcoin.bitcoind.v1alpha.GetBlockRequest.verbosity:type_name -> bitcoin.bitcoind.v1alpha.GetBlockRequest.Verbosity - 58, // 22: bitcoin.bitcoind.v1alpha.GetBlockResponse.time:type_name -> google.protobuf.Timestamp - 14, // 23: bitcoin.bitcoind.v1alpha.ListSinceBlockResponse.transactions:type_name -> bitcoin.bitcoind.v1alpha.GetTransactionResponse - 58, // 24: bitcoin.bitcoind.v1alpha.MempoolEntry.time:type_name -> google.protobuf.Timestamp - 56, // 25: bitcoin.bitcoind.v1alpha.MempoolEntry.fees:type_name -> bitcoin.bitcoind.v1alpha.MempoolEntry.Fees - 57, // 26: bitcoin.bitcoind.v1alpha.GetRawMempoolResponse.transactions:type_name -> bitcoin.bitcoind.v1alpha.GetRawMempoolResponse.TransactionsEntry - 14, // 27: bitcoin.bitcoind.v1alpha.ListTransactionsResponse.transactions:type_name -> bitcoin.bitcoind.v1alpha.GetTransactionResponse - 1, // 28: bitcoin.bitcoind.v1alpha.GetTransactionResponse.Details.category:type_name -> bitcoin.bitcoind.v1alpha.GetTransactionResponse.Category - 58, // 29: bitcoin.bitcoind.v1alpha.ImportDescriptorsRequest.Request.timestamp:type_name -> google.protobuf.Timestamp - 54, // 30: bitcoin.bitcoind.v1alpha.ImportDescriptorsResponse.Response.error:type_name -> bitcoin.bitcoind.v1alpha.ImportDescriptorsResponse.Error - 40, // 31: bitcoin.bitcoind.v1alpha.GetRawMempoolResponse.TransactionsEntry.value:type_name -> bitcoin.bitcoind.v1alpha.MempoolEntry - 4, // 32: bitcoin.bitcoind.v1alpha.BitcoinService.GetBlockchainInfo:input_type -> bitcoin.bitcoind.v1alpha.GetBlockchainInfoRequest - 13, // 33: bitcoin.bitcoind.v1alpha.BitcoinService.GetTransaction:input_type -> bitcoin.bitcoind.v1alpha.GetTransactionRequest - 37, // 34: bitcoin.bitcoind.v1alpha.BitcoinService.ListSinceBlock:input_type -> bitcoin.bitcoind.v1alpha.ListSinceBlockRequest - 6, // 35: bitcoin.bitcoind.v1alpha.BitcoinService.GetNewAddress:input_type -> bitcoin.bitcoind.v1alpha.GetNewAddressRequest - 8, // 36: bitcoin.bitcoind.v1alpha.BitcoinService.GetWalletInfo:input_type -> bitcoin.bitcoind.v1alpha.GetWalletInfoRequest - 10, // 37: bitcoin.bitcoind.v1alpha.BitcoinService.GetBalances:input_type -> bitcoin.bitcoind.v1alpha.GetBalancesRequest - 20, // 38: bitcoin.bitcoind.v1alpha.BitcoinService.Send:input_type -> bitcoin.bitcoind.v1alpha.SendRequest - 22, // 39: bitcoin.bitcoind.v1alpha.BitcoinService.SendToAddress:input_type -> bitcoin.bitcoind.v1alpha.SendToAddressRequest - 35, // 40: bitcoin.bitcoind.v1alpha.BitcoinService.BumpFee:input_type -> bitcoin.bitcoind.v1alpha.BumpFeeRequest - 24, // 41: bitcoin.bitcoind.v1alpha.BitcoinService.EstimateSmartFee:input_type -> bitcoin.bitcoind.v1alpha.EstimateSmartFeeRequest - 29, // 42: bitcoin.bitcoind.v1alpha.BitcoinService.ImportDescriptors:input_type -> bitcoin.bitcoind.v1alpha.ImportDescriptorsRequest - 60, // 43: bitcoin.bitcoind.v1alpha.BitcoinService.ListWallets:input_type -> google.protobuf.Empty - 44, // 44: bitcoin.bitcoind.v1alpha.BitcoinService.ListTransactions:input_type -> bitcoin.bitcoind.v1alpha.ListTransactionsRequest - 31, // 45: bitcoin.bitcoind.v1alpha.BitcoinService.GetDescriptorInfo:input_type -> bitcoin.bitcoind.v1alpha.GetDescriptorInfoRequest - 47, // 46: bitcoin.bitcoind.v1alpha.BitcoinService.GetAddressInfo:input_type -> bitcoin.bitcoind.v1alpha.GetAddressInfoRequest - 39, // 47: bitcoin.bitcoind.v1alpha.BitcoinService.GetRawMempool:input_type -> bitcoin.bitcoind.v1alpha.GetRawMempoolRequest - 15, // 48: bitcoin.bitcoind.v1alpha.BitcoinService.GetRawTransaction:input_type -> bitcoin.bitcoind.v1alpha.GetRawTransactionRequest - 26, // 49: bitcoin.bitcoind.v1alpha.BitcoinService.DecodeRawTransaction:input_type -> bitcoin.bitcoind.v1alpha.DecodeRawTransactionRequest - 33, // 50: bitcoin.bitcoind.v1alpha.BitcoinService.GetBlock:input_type -> bitcoin.bitcoind.v1alpha.GetBlockRequest - 42, // 51: bitcoin.bitcoind.v1alpha.BitcoinService.GetBlockHash:input_type -> bitcoin.bitcoind.v1alpha.GetBlockHashRequest - 5, // 52: bitcoin.bitcoind.v1alpha.BitcoinService.GetBlockchainInfo:output_type -> bitcoin.bitcoind.v1alpha.GetBlockchainInfoResponse - 14, // 53: bitcoin.bitcoind.v1alpha.BitcoinService.GetTransaction:output_type -> bitcoin.bitcoind.v1alpha.GetTransactionResponse - 38, // 54: bitcoin.bitcoind.v1alpha.BitcoinService.ListSinceBlock:output_type -> bitcoin.bitcoind.v1alpha.ListSinceBlockResponse - 7, // 55: bitcoin.bitcoind.v1alpha.BitcoinService.GetNewAddress:output_type -> bitcoin.bitcoind.v1alpha.GetNewAddressResponse - 9, // 56: bitcoin.bitcoind.v1alpha.BitcoinService.GetWalletInfo:output_type -> bitcoin.bitcoind.v1alpha.GetWalletInfoResponse - 11, // 57: bitcoin.bitcoind.v1alpha.BitcoinService.GetBalances:output_type -> bitcoin.bitcoind.v1alpha.GetBalancesResponse - 21, // 58: bitcoin.bitcoind.v1alpha.BitcoinService.Send:output_type -> bitcoin.bitcoind.v1alpha.SendResponse - 23, // 59: bitcoin.bitcoind.v1alpha.BitcoinService.SendToAddress:output_type -> bitcoin.bitcoind.v1alpha.SendToAddressResponse - 36, // 60: bitcoin.bitcoind.v1alpha.BitcoinService.BumpFee:output_type -> bitcoin.bitcoind.v1alpha.BumpFeeResponse - 25, // 61: bitcoin.bitcoind.v1alpha.BitcoinService.EstimateSmartFee:output_type -> bitcoin.bitcoind.v1alpha.EstimateSmartFeeResponse - 30, // 62: bitcoin.bitcoind.v1alpha.BitcoinService.ImportDescriptors:output_type -> bitcoin.bitcoind.v1alpha.ImportDescriptorsResponse - 46, // 63: bitcoin.bitcoind.v1alpha.BitcoinService.ListWallets:output_type -> bitcoin.bitcoind.v1alpha.ListWalletsResponse - 45, // 64: bitcoin.bitcoind.v1alpha.BitcoinService.ListTransactions:output_type -> bitcoin.bitcoind.v1alpha.ListTransactionsResponse - 32, // 65: bitcoin.bitcoind.v1alpha.BitcoinService.GetDescriptorInfo:output_type -> bitcoin.bitcoind.v1alpha.GetDescriptorInfoResponse - 48, // 66: bitcoin.bitcoind.v1alpha.BitcoinService.GetAddressInfo:output_type -> bitcoin.bitcoind.v1alpha.GetAddressInfoResponse - 41, // 67: bitcoin.bitcoind.v1alpha.BitcoinService.GetRawMempool:output_type -> bitcoin.bitcoind.v1alpha.GetRawMempoolResponse - 19, // 68: bitcoin.bitcoind.v1alpha.BitcoinService.GetRawTransaction:output_type -> bitcoin.bitcoind.v1alpha.GetRawTransactionResponse - 28, // 69: bitcoin.bitcoind.v1alpha.BitcoinService.DecodeRawTransaction:output_type -> bitcoin.bitcoind.v1alpha.DecodeRawTransactionResponse - 34, // 70: bitcoin.bitcoind.v1alpha.BitcoinService.GetBlock:output_type -> bitcoin.bitcoind.v1alpha.GetBlockResponse - 43, // 71: bitcoin.bitcoind.v1alpha.BitcoinService.GetBlockHash:output_type -> bitcoin.bitcoind.v1alpha.GetBlockHashResponse - 52, // [52:72] is the sub-list for method output_type - 32, // [32:52] is the sub-list for method input_type - 32, // [32:32] is the sub-list for extension type_name - 32, // [32:32] is the sub-list for extension extendee - 0, // [0:32] is the sub-list for field type_name + 7, // 0: bitcoin.bitcoind.v1alpha.GetPeerInfoResponse.peers:type_name -> bitcoin.bitcoind.v1alpha.Peer + 15, // 1: bitcoin.bitcoind.v1alpha.GetWalletInfoResponse.scanning:type_name -> bitcoin.bitcoind.v1alpha.WalletScan + 52, // 2: bitcoin.bitcoind.v1alpha.GetBalancesResponse.mine:type_name -> bitcoin.bitcoind.v1alpha.GetBalancesResponse.Mine + 53, // 3: bitcoin.bitcoind.v1alpha.GetBalancesResponse.watchonly:type_name -> bitcoin.bitcoind.v1alpha.GetBalancesResponse.Watchonly + 61, // 4: bitcoin.bitcoind.v1alpha.GetTransactionResponse.block_time:type_name -> google.protobuf.Timestamp + 61, // 5: bitcoin.bitcoind.v1alpha.GetTransactionResponse.time:type_name -> google.protobuf.Timestamp + 61, // 6: bitcoin.bitcoind.v1alpha.GetTransactionResponse.time_received:type_name -> google.protobuf.Timestamp + 0, // 7: bitcoin.bitcoind.v1alpha.GetTransactionResponse.bip125_replaceable:type_name -> bitcoin.bitcoind.v1alpha.GetTransactionResponse.Replaceable + 54, // 8: bitcoin.bitcoind.v1alpha.GetTransactionResponse.details:type_name -> bitcoin.bitcoind.v1alpha.GetTransactionResponse.Details + 20, // 9: bitcoin.bitcoind.v1alpha.Output.script_pub_key:type_name -> bitcoin.bitcoind.v1alpha.ScriptPubKey + 30, // 10: bitcoin.bitcoind.v1alpha.GetRawTransactionResponse.tx:type_name -> bitcoin.bitcoind.v1alpha.RawTransaction + 19, // 11: bitcoin.bitcoind.v1alpha.GetRawTransactionResponse.inputs:type_name -> bitcoin.bitcoind.v1alpha.Input + 21, // 12: bitcoin.bitcoind.v1alpha.GetRawTransactionResponse.outputs:type_name -> bitcoin.bitcoind.v1alpha.Output + 55, // 13: bitcoin.bitcoind.v1alpha.SendRequest.destinations:type_name -> bitcoin.bitcoind.v1alpha.SendRequest.DestinationsEntry + 62, // 14: bitcoin.bitcoind.v1alpha.SendRequest.add_to_wallet:type_name -> google.protobuf.BoolValue + 30, // 15: bitcoin.bitcoind.v1alpha.SendResponse.tx:type_name -> bitcoin.bitcoind.v1alpha.RawTransaction + 2, // 16: bitcoin.bitcoind.v1alpha.EstimateSmartFeeRequest.estimate_mode:type_name -> bitcoin.bitcoind.v1alpha.EstimateSmartFeeRequest.EstimateMode + 30, // 17: bitcoin.bitcoind.v1alpha.DecodeRawTransactionRequest.tx:type_name -> bitcoin.bitcoind.v1alpha.RawTransaction + 19, // 18: bitcoin.bitcoind.v1alpha.DecodeRawTransactionResponse.inputs:type_name -> bitcoin.bitcoind.v1alpha.Input + 21, // 19: bitcoin.bitcoind.v1alpha.DecodeRawTransactionResponse.outputs:type_name -> bitcoin.bitcoind.v1alpha.Output + 56, // 20: bitcoin.bitcoind.v1alpha.ImportDescriptorsRequest.requests:type_name -> bitcoin.bitcoind.v1alpha.ImportDescriptorsRequest.Request + 58, // 21: bitcoin.bitcoind.v1alpha.ImportDescriptorsResponse.responses:type_name -> bitcoin.bitcoind.v1alpha.ImportDescriptorsResponse.Response + 3, // 22: bitcoin.bitcoind.v1alpha.GetBlockRequest.verbosity:type_name -> bitcoin.bitcoind.v1alpha.GetBlockRequest.Verbosity + 61, // 23: bitcoin.bitcoind.v1alpha.GetBlockResponse.time:type_name -> google.protobuf.Timestamp + 17, // 24: bitcoin.bitcoind.v1alpha.ListSinceBlockResponse.transactions:type_name -> bitcoin.bitcoind.v1alpha.GetTransactionResponse + 61, // 25: bitcoin.bitcoind.v1alpha.MempoolEntry.time:type_name -> google.protobuf.Timestamp + 59, // 26: bitcoin.bitcoind.v1alpha.MempoolEntry.fees:type_name -> bitcoin.bitcoind.v1alpha.MempoolEntry.Fees + 60, // 27: bitcoin.bitcoind.v1alpha.GetRawMempoolResponse.transactions:type_name -> bitcoin.bitcoind.v1alpha.GetRawMempoolResponse.TransactionsEntry + 17, // 28: bitcoin.bitcoind.v1alpha.ListTransactionsResponse.transactions:type_name -> bitcoin.bitcoind.v1alpha.GetTransactionResponse + 1, // 29: bitcoin.bitcoind.v1alpha.GetTransactionResponse.Details.category:type_name -> bitcoin.bitcoind.v1alpha.GetTransactionResponse.Category + 61, // 30: bitcoin.bitcoind.v1alpha.ImportDescriptorsRequest.Request.timestamp:type_name -> google.protobuf.Timestamp + 57, // 31: bitcoin.bitcoind.v1alpha.ImportDescriptorsResponse.Response.error:type_name -> bitcoin.bitcoind.v1alpha.ImportDescriptorsResponse.Error + 43, // 32: bitcoin.bitcoind.v1alpha.GetRawMempoolResponse.TransactionsEntry.value:type_name -> bitcoin.bitcoind.v1alpha.MempoolEntry + 4, // 33: bitcoin.bitcoind.v1alpha.BitcoinService.GetBlockchainInfo:input_type -> bitcoin.bitcoind.v1alpha.GetBlockchainInfoRequest + 6, // 34: bitcoin.bitcoind.v1alpha.BitcoinService.GetPeerInfo:input_type -> bitcoin.bitcoind.v1alpha.GetPeerInfoRequest + 16, // 35: bitcoin.bitcoind.v1alpha.BitcoinService.GetTransaction:input_type -> bitcoin.bitcoind.v1alpha.GetTransactionRequest + 40, // 36: bitcoin.bitcoind.v1alpha.BitcoinService.ListSinceBlock:input_type -> bitcoin.bitcoind.v1alpha.ListSinceBlockRequest + 9, // 37: bitcoin.bitcoind.v1alpha.BitcoinService.GetNewAddress:input_type -> bitcoin.bitcoind.v1alpha.GetNewAddressRequest + 11, // 38: bitcoin.bitcoind.v1alpha.BitcoinService.GetWalletInfo:input_type -> bitcoin.bitcoind.v1alpha.GetWalletInfoRequest + 13, // 39: bitcoin.bitcoind.v1alpha.BitcoinService.GetBalances:input_type -> bitcoin.bitcoind.v1alpha.GetBalancesRequest + 23, // 40: bitcoin.bitcoind.v1alpha.BitcoinService.Send:input_type -> bitcoin.bitcoind.v1alpha.SendRequest + 25, // 41: bitcoin.bitcoind.v1alpha.BitcoinService.SendToAddress:input_type -> bitcoin.bitcoind.v1alpha.SendToAddressRequest + 38, // 42: bitcoin.bitcoind.v1alpha.BitcoinService.BumpFee:input_type -> bitcoin.bitcoind.v1alpha.BumpFeeRequest + 27, // 43: bitcoin.bitcoind.v1alpha.BitcoinService.EstimateSmartFee:input_type -> bitcoin.bitcoind.v1alpha.EstimateSmartFeeRequest + 32, // 44: bitcoin.bitcoind.v1alpha.BitcoinService.ImportDescriptors:input_type -> bitcoin.bitcoind.v1alpha.ImportDescriptorsRequest + 63, // 45: bitcoin.bitcoind.v1alpha.BitcoinService.ListWallets:input_type -> google.protobuf.Empty + 47, // 46: bitcoin.bitcoind.v1alpha.BitcoinService.ListTransactions:input_type -> bitcoin.bitcoind.v1alpha.ListTransactionsRequest + 34, // 47: bitcoin.bitcoind.v1alpha.BitcoinService.GetDescriptorInfo:input_type -> bitcoin.bitcoind.v1alpha.GetDescriptorInfoRequest + 50, // 48: bitcoin.bitcoind.v1alpha.BitcoinService.GetAddressInfo:input_type -> bitcoin.bitcoind.v1alpha.GetAddressInfoRequest + 42, // 49: bitcoin.bitcoind.v1alpha.BitcoinService.GetRawMempool:input_type -> bitcoin.bitcoind.v1alpha.GetRawMempoolRequest + 18, // 50: bitcoin.bitcoind.v1alpha.BitcoinService.GetRawTransaction:input_type -> bitcoin.bitcoind.v1alpha.GetRawTransactionRequest + 29, // 51: bitcoin.bitcoind.v1alpha.BitcoinService.DecodeRawTransaction:input_type -> bitcoin.bitcoind.v1alpha.DecodeRawTransactionRequest + 36, // 52: bitcoin.bitcoind.v1alpha.BitcoinService.GetBlock:input_type -> bitcoin.bitcoind.v1alpha.GetBlockRequest + 45, // 53: bitcoin.bitcoind.v1alpha.BitcoinService.GetBlockHash:input_type -> bitcoin.bitcoind.v1alpha.GetBlockHashRequest + 5, // 54: bitcoin.bitcoind.v1alpha.BitcoinService.GetBlockchainInfo:output_type -> bitcoin.bitcoind.v1alpha.GetBlockchainInfoResponse + 8, // 55: bitcoin.bitcoind.v1alpha.BitcoinService.GetPeerInfo:output_type -> bitcoin.bitcoind.v1alpha.GetPeerInfoResponse + 17, // 56: bitcoin.bitcoind.v1alpha.BitcoinService.GetTransaction:output_type -> bitcoin.bitcoind.v1alpha.GetTransactionResponse + 41, // 57: bitcoin.bitcoind.v1alpha.BitcoinService.ListSinceBlock:output_type -> bitcoin.bitcoind.v1alpha.ListSinceBlockResponse + 10, // 58: bitcoin.bitcoind.v1alpha.BitcoinService.GetNewAddress:output_type -> bitcoin.bitcoind.v1alpha.GetNewAddressResponse + 12, // 59: bitcoin.bitcoind.v1alpha.BitcoinService.GetWalletInfo:output_type -> bitcoin.bitcoind.v1alpha.GetWalletInfoResponse + 14, // 60: bitcoin.bitcoind.v1alpha.BitcoinService.GetBalances:output_type -> bitcoin.bitcoind.v1alpha.GetBalancesResponse + 24, // 61: bitcoin.bitcoind.v1alpha.BitcoinService.Send:output_type -> bitcoin.bitcoind.v1alpha.SendResponse + 26, // 62: bitcoin.bitcoind.v1alpha.BitcoinService.SendToAddress:output_type -> bitcoin.bitcoind.v1alpha.SendToAddressResponse + 39, // 63: bitcoin.bitcoind.v1alpha.BitcoinService.BumpFee:output_type -> bitcoin.bitcoind.v1alpha.BumpFeeResponse + 28, // 64: bitcoin.bitcoind.v1alpha.BitcoinService.EstimateSmartFee:output_type -> bitcoin.bitcoind.v1alpha.EstimateSmartFeeResponse + 33, // 65: bitcoin.bitcoind.v1alpha.BitcoinService.ImportDescriptors:output_type -> bitcoin.bitcoind.v1alpha.ImportDescriptorsResponse + 49, // 66: bitcoin.bitcoind.v1alpha.BitcoinService.ListWallets:output_type -> bitcoin.bitcoind.v1alpha.ListWalletsResponse + 48, // 67: bitcoin.bitcoind.v1alpha.BitcoinService.ListTransactions:output_type -> bitcoin.bitcoind.v1alpha.ListTransactionsResponse + 35, // 68: bitcoin.bitcoind.v1alpha.BitcoinService.GetDescriptorInfo:output_type -> bitcoin.bitcoind.v1alpha.GetDescriptorInfoResponse + 51, // 69: bitcoin.bitcoind.v1alpha.BitcoinService.GetAddressInfo:output_type -> bitcoin.bitcoind.v1alpha.GetAddressInfoResponse + 44, // 70: bitcoin.bitcoind.v1alpha.BitcoinService.GetRawMempool:output_type -> bitcoin.bitcoind.v1alpha.GetRawMempoolResponse + 22, // 71: bitcoin.bitcoind.v1alpha.BitcoinService.GetRawTransaction:output_type -> bitcoin.bitcoind.v1alpha.GetRawTransactionResponse + 31, // 72: bitcoin.bitcoind.v1alpha.BitcoinService.DecodeRawTransaction:output_type -> bitcoin.bitcoind.v1alpha.DecodeRawTransactionResponse + 37, // 73: bitcoin.bitcoind.v1alpha.BitcoinService.GetBlock:output_type -> bitcoin.bitcoind.v1alpha.GetBlockResponse + 46, // 74: bitcoin.bitcoind.v1alpha.BitcoinService.GetBlockHash:output_type -> bitcoin.bitcoind.v1alpha.GetBlockHashResponse + 54, // [54:75] is the sub-list for method output_type + 33, // [33:54] is the sub-list for method input_type + 33, // [33:33] is the sub-list for extension type_name + 33, // [33:33] is the sub-list for extension extendee + 0, // [0:33] is the sub-list for field type_name } func init() { file_bitcoin_bitcoind_v1alpha_bitcoin_proto_init() } @@ -4888,7 +5060,7 @@ func file_bitcoin_bitcoind_v1alpha_bitcoin_proto_init() { } } file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[2].Exporter = func(v any, i int) any { - switch v := v.(*GetNewAddressRequest); i { + switch v := v.(*GetPeerInfoRequest); i { case 0: return &v.state case 1: @@ -4900,7 +5072,7 @@ func file_bitcoin_bitcoind_v1alpha_bitcoin_proto_init() { } } file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[3].Exporter = func(v any, i int) any { - switch v := v.(*GetNewAddressResponse); i { + switch v := v.(*Peer); i { case 0: return &v.state case 1: @@ -4912,7 +5084,7 @@ func file_bitcoin_bitcoind_v1alpha_bitcoin_proto_init() { } } file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[4].Exporter = func(v any, i int) any { - switch v := v.(*GetWalletInfoRequest); i { + switch v := v.(*GetPeerInfoResponse); i { case 0: return &v.state case 1: @@ -4924,7 +5096,7 @@ func file_bitcoin_bitcoind_v1alpha_bitcoin_proto_init() { } } file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[5].Exporter = func(v any, i int) any { - switch v := v.(*GetWalletInfoResponse); i { + switch v := v.(*GetNewAddressRequest); i { case 0: return &v.state case 1: @@ -4936,7 +5108,7 @@ func file_bitcoin_bitcoind_v1alpha_bitcoin_proto_init() { } } file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[6].Exporter = func(v any, i int) any { - switch v := v.(*GetBalancesRequest); i { + switch v := v.(*GetNewAddressResponse); i { case 0: return &v.state case 1: @@ -4948,7 +5120,7 @@ func file_bitcoin_bitcoind_v1alpha_bitcoin_proto_init() { } } file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[7].Exporter = func(v any, i int) any { - switch v := v.(*GetBalancesResponse); i { + switch v := v.(*GetWalletInfoRequest); i { case 0: return &v.state case 1: @@ -4960,7 +5132,7 @@ func file_bitcoin_bitcoind_v1alpha_bitcoin_proto_init() { } } file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[8].Exporter = func(v any, i int) any { - switch v := v.(*WalletScan); i { + switch v := v.(*GetWalletInfoResponse); i { case 0: return &v.state case 1: @@ -4972,7 +5144,7 @@ func file_bitcoin_bitcoind_v1alpha_bitcoin_proto_init() { } } file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[9].Exporter = func(v any, i int) any { - switch v := v.(*GetTransactionRequest); i { + switch v := v.(*GetBalancesRequest); i { case 0: return &v.state case 1: @@ -4984,7 +5156,7 @@ func file_bitcoin_bitcoind_v1alpha_bitcoin_proto_init() { } } file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[10].Exporter = func(v any, i int) any { - switch v := v.(*GetTransactionResponse); i { + switch v := v.(*GetBalancesResponse); i { case 0: return &v.state case 1: @@ -4996,7 +5168,7 @@ func file_bitcoin_bitcoind_v1alpha_bitcoin_proto_init() { } } file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[11].Exporter = func(v any, i int) any { - switch v := v.(*GetRawTransactionRequest); i { + switch v := v.(*WalletScan); i { case 0: return &v.state case 1: @@ -5008,7 +5180,7 @@ func file_bitcoin_bitcoind_v1alpha_bitcoin_proto_init() { } } file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[12].Exporter = func(v any, i int) any { - switch v := v.(*Input); i { + switch v := v.(*GetTransactionRequest); i { case 0: return &v.state case 1: @@ -5020,7 +5192,7 @@ func file_bitcoin_bitcoind_v1alpha_bitcoin_proto_init() { } } file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[13].Exporter = func(v any, i int) any { - switch v := v.(*ScriptPubKey); i { + switch v := v.(*GetTransactionResponse); i { case 0: return &v.state case 1: @@ -5032,7 +5204,7 @@ func file_bitcoin_bitcoind_v1alpha_bitcoin_proto_init() { } } file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[14].Exporter = func(v any, i int) any { - switch v := v.(*Output); i { + switch v := v.(*GetRawTransactionRequest); i { case 0: return &v.state case 1: @@ -5044,7 +5216,7 @@ func file_bitcoin_bitcoind_v1alpha_bitcoin_proto_init() { } } file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[15].Exporter = func(v any, i int) any { - switch v := v.(*GetRawTransactionResponse); i { + switch v := v.(*Input); i { case 0: return &v.state case 1: @@ -5056,7 +5228,7 @@ func file_bitcoin_bitcoind_v1alpha_bitcoin_proto_init() { } } file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[16].Exporter = func(v any, i int) any { - switch v := v.(*SendRequest); i { + switch v := v.(*ScriptPubKey); i { case 0: return &v.state case 1: @@ -5068,7 +5240,7 @@ func file_bitcoin_bitcoind_v1alpha_bitcoin_proto_init() { } } file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[17].Exporter = func(v any, i int) any { - switch v := v.(*SendResponse); i { + switch v := v.(*Output); i { case 0: return &v.state case 1: @@ -5080,7 +5252,7 @@ func file_bitcoin_bitcoind_v1alpha_bitcoin_proto_init() { } } file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[18].Exporter = func(v any, i int) any { - switch v := v.(*SendToAddressRequest); i { + switch v := v.(*GetRawTransactionResponse); i { case 0: return &v.state case 1: @@ -5092,7 +5264,7 @@ func file_bitcoin_bitcoind_v1alpha_bitcoin_proto_init() { } } file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[19].Exporter = func(v any, i int) any { - switch v := v.(*SendToAddressResponse); i { + switch v := v.(*SendRequest); i { case 0: return &v.state case 1: @@ -5104,7 +5276,7 @@ func file_bitcoin_bitcoind_v1alpha_bitcoin_proto_init() { } } file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[20].Exporter = func(v any, i int) any { - switch v := v.(*EstimateSmartFeeRequest); i { + switch v := v.(*SendResponse); i { case 0: return &v.state case 1: @@ -5116,7 +5288,7 @@ func file_bitcoin_bitcoind_v1alpha_bitcoin_proto_init() { } } file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[21].Exporter = func(v any, i int) any { - switch v := v.(*EstimateSmartFeeResponse); i { + switch v := v.(*SendToAddressRequest); i { case 0: return &v.state case 1: @@ -5128,7 +5300,7 @@ func file_bitcoin_bitcoind_v1alpha_bitcoin_proto_init() { } } file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[22].Exporter = func(v any, i int) any { - switch v := v.(*DecodeRawTransactionRequest); i { + switch v := v.(*SendToAddressResponse); i { case 0: return &v.state case 1: @@ -5140,7 +5312,7 @@ func file_bitcoin_bitcoind_v1alpha_bitcoin_proto_init() { } } file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[23].Exporter = func(v any, i int) any { - switch v := v.(*RawTransaction); i { + switch v := v.(*EstimateSmartFeeRequest); i { case 0: return &v.state case 1: @@ -5152,7 +5324,7 @@ func file_bitcoin_bitcoind_v1alpha_bitcoin_proto_init() { } } file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[24].Exporter = func(v any, i int) any { - switch v := v.(*DecodeRawTransactionResponse); i { + switch v := v.(*EstimateSmartFeeResponse); i { case 0: return &v.state case 1: @@ -5164,7 +5336,7 @@ func file_bitcoin_bitcoind_v1alpha_bitcoin_proto_init() { } } file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[25].Exporter = func(v any, i int) any { - switch v := v.(*ImportDescriptorsRequest); i { + switch v := v.(*DecodeRawTransactionRequest); i { case 0: return &v.state case 1: @@ -5176,7 +5348,7 @@ func file_bitcoin_bitcoind_v1alpha_bitcoin_proto_init() { } } file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[26].Exporter = func(v any, i int) any { - switch v := v.(*ImportDescriptorsResponse); i { + switch v := v.(*RawTransaction); i { case 0: return &v.state case 1: @@ -5188,7 +5360,7 @@ func file_bitcoin_bitcoind_v1alpha_bitcoin_proto_init() { } } file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[27].Exporter = func(v any, i int) any { - switch v := v.(*GetDescriptorInfoRequest); i { + switch v := v.(*DecodeRawTransactionResponse); i { case 0: return &v.state case 1: @@ -5200,7 +5372,7 @@ func file_bitcoin_bitcoind_v1alpha_bitcoin_proto_init() { } } file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[28].Exporter = func(v any, i int) any { - switch v := v.(*GetDescriptorInfoResponse); i { + switch v := v.(*ImportDescriptorsRequest); i { case 0: return &v.state case 1: @@ -5212,7 +5384,7 @@ func file_bitcoin_bitcoind_v1alpha_bitcoin_proto_init() { } } file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[29].Exporter = func(v any, i int) any { - switch v := v.(*GetBlockRequest); i { + switch v := v.(*ImportDescriptorsResponse); i { case 0: return &v.state case 1: @@ -5224,7 +5396,7 @@ func file_bitcoin_bitcoind_v1alpha_bitcoin_proto_init() { } } file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[30].Exporter = func(v any, i int) any { - switch v := v.(*GetBlockResponse); i { + switch v := v.(*GetDescriptorInfoRequest); i { case 0: return &v.state case 1: @@ -5236,7 +5408,7 @@ func file_bitcoin_bitcoind_v1alpha_bitcoin_proto_init() { } } file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[31].Exporter = func(v any, i int) any { - switch v := v.(*BumpFeeRequest); i { + switch v := v.(*GetDescriptorInfoResponse); i { case 0: return &v.state case 1: @@ -5248,7 +5420,7 @@ func file_bitcoin_bitcoind_v1alpha_bitcoin_proto_init() { } } file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[32].Exporter = func(v any, i int) any { - switch v := v.(*BumpFeeResponse); i { + switch v := v.(*GetBlockRequest); i { case 0: return &v.state case 1: @@ -5260,7 +5432,7 @@ func file_bitcoin_bitcoind_v1alpha_bitcoin_proto_init() { } } file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[33].Exporter = func(v any, i int) any { - switch v := v.(*ListSinceBlockRequest); i { + switch v := v.(*GetBlockResponse); i { case 0: return &v.state case 1: @@ -5272,7 +5444,7 @@ func file_bitcoin_bitcoind_v1alpha_bitcoin_proto_init() { } } file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[34].Exporter = func(v any, i int) any { - switch v := v.(*ListSinceBlockResponse); i { + switch v := v.(*BumpFeeRequest); i { case 0: return &v.state case 1: @@ -5284,7 +5456,7 @@ func file_bitcoin_bitcoind_v1alpha_bitcoin_proto_init() { } } file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[35].Exporter = func(v any, i int) any { - switch v := v.(*GetRawMempoolRequest); i { + switch v := v.(*BumpFeeResponse); i { case 0: return &v.state case 1: @@ -5296,7 +5468,7 @@ func file_bitcoin_bitcoind_v1alpha_bitcoin_proto_init() { } } file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[36].Exporter = func(v any, i int) any { - switch v := v.(*MempoolEntry); i { + switch v := v.(*ListSinceBlockRequest); i { case 0: return &v.state case 1: @@ -5308,7 +5480,7 @@ func file_bitcoin_bitcoind_v1alpha_bitcoin_proto_init() { } } file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[37].Exporter = func(v any, i int) any { - switch v := v.(*GetRawMempoolResponse); i { + switch v := v.(*ListSinceBlockResponse); i { case 0: return &v.state case 1: @@ -5320,7 +5492,7 @@ func file_bitcoin_bitcoind_v1alpha_bitcoin_proto_init() { } } file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[38].Exporter = func(v any, i int) any { - switch v := v.(*GetBlockHashRequest); i { + switch v := v.(*GetRawMempoolRequest); i { case 0: return &v.state case 1: @@ -5332,7 +5504,7 @@ func file_bitcoin_bitcoind_v1alpha_bitcoin_proto_init() { } } file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[39].Exporter = func(v any, i int) any { - switch v := v.(*GetBlockHashResponse); i { + switch v := v.(*MempoolEntry); i { case 0: return &v.state case 1: @@ -5344,7 +5516,7 @@ func file_bitcoin_bitcoind_v1alpha_bitcoin_proto_init() { } } file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[40].Exporter = func(v any, i int) any { - switch v := v.(*ListTransactionsRequest); i { + switch v := v.(*GetRawMempoolResponse); i { case 0: return &v.state case 1: @@ -5356,7 +5528,7 @@ func file_bitcoin_bitcoind_v1alpha_bitcoin_proto_init() { } } file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[41].Exporter = func(v any, i int) any { - switch v := v.(*ListTransactionsResponse); i { + switch v := v.(*GetBlockHashRequest); i { case 0: return &v.state case 1: @@ -5368,7 +5540,7 @@ func file_bitcoin_bitcoind_v1alpha_bitcoin_proto_init() { } } file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[42].Exporter = func(v any, i int) any { - switch v := v.(*ListWalletsResponse); i { + switch v := v.(*GetBlockHashResponse); i { case 0: return &v.state case 1: @@ -5380,7 +5552,7 @@ func file_bitcoin_bitcoind_v1alpha_bitcoin_proto_init() { } } file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[43].Exporter = func(v any, i int) any { - switch v := v.(*GetAddressInfoRequest); i { + switch v := v.(*ListTransactionsRequest); i { case 0: return &v.state case 1: @@ -5392,7 +5564,7 @@ func file_bitcoin_bitcoind_v1alpha_bitcoin_proto_init() { } } file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[44].Exporter = func(v any, i int) any { - switch v := v.(*GetAddressInfoResponse); i { + switch v := v.(*ListTransactionsResponse); i { case 0: return &v.state case 1: @@ -5404,7 +5576,7 @@ func file_bitcoin_bitcoind_v1alpha_bitcoin_proto_init() { } } file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[45].Exporter = func(v any, i int) any { - switch v := v.(*GetBalancesResponse_Mine); i { + switch v := v.(*ListWalletsResponse); i { case 0: return &v.state case 1: @@ -5416,7 +5588,7 @@ func file_bitcoin_bitcoind_v1alpha_bitcoin_proto_init() { } } file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[46].Exporter = func(v any, i int) any { - switch v := v.(*GetBalancesResponse_Watchonly); i { + switch v := v.(*GetAddressInfoRequest); i { case 0: return &v.state case 1: @@ -5428,7 +5600,19 @@ func file_bitcoin_bitcoind_v1alpha_bitcoin_proto_init() { } } file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[47].Exporter = func(v any, i int) any { - switch v := v.(*GetTransactionResponse_Details); i { + switch v := v.(*GetAddressInfoResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[48].Exporter = func(v any, i int) any { + switch v := v.(*GetBalancesResponse_Mine); i { case 0: return &v.state case 1: @@ -5440,7 +5624,7 @@ func file_bitcoin_bitcoind_v1alpha_bitcoin_proto_init() { } } file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[49].Exporter = func(v any, i int) any { - switch v := v.(*ImportDescriptorsRequest_Request); i { + switch v := v.(*GetBalancesResponse_Watchonly); i { case 0: return &v.state case 1: @@ -5452,6 +5636,30 @@ func file_bitcoin_bitcoind_v1alpha_bitcoin_proto_init() { } } file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[50].Exporter = func(v any, i int) any { + switch v := v.(*GetTransactionResponse_Details); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[52].Exporter = func(v any, i int) any { + switch v := v.(*ImportDescriptorsRequest_Request); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[53].Exporter = func(v any, i int) any { switch v := v.(*ImportDescriptorsResponse_Error); i { case 0: return &v.state @@ -5463,7 +5671,7 @@ func file_bitcoin_bitcoind_v1alpha_bitcoin_proto_init() { return nil } } - file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[51].Exporter = func(v any, i int) any { + file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[54].Exporter = func(v any, i int) any { switch v := v.(*ImportDescriptorsResponse_Response); i { case 0: return &v.state @@ -5475,7 +5683,7 @@ func file_bitcoin_bitcoind_v1alpha_bitcoin_proto_init() { return nil } } - file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[52].Exporter = func(v any, i int) any { + file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[55].Exporter = func(v any, i int) any { switch v := v.(*MempoolEntry_Fees); i { case 0: return &v.state @@ -5494,7 +5702,7 @@ func file_bitcoin_bitcoind_v1alpha_bitcoin_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDesc, NumEnums: 4, - NumMessages: 54, + NumMessages: 57, NumExtensions: 0, NumServices: 1, }, diff --git a/gen/bitcoin/bitcoind/v1alpha/bitcoindv1alphaconnect/bitcoin.connect.go b/gen/bitcoin/bitcoind/v1alpha/bitcoindv1alphaconnect/bitcoin.connect.go index 6577334..e40f28b 100644 --- a/gen/bitcoin/bitcoind/v1alpha/bitcoindv1alphaconnect/bitcoin.connect.go +++ b/gen/bitcoin/bitcoind/v1alpha/bitcoindv1alphaconnect/bitcoin.connect.go @@ -37,6 +37,9 @@ const ( // BitcoinServiceGetBlockchainInfoProcedure is the fully-qualified name of the BitcoinService's // GetBlockchainInfo RPC. BitcoinServiceGetBlockchainInfoProcedure = "/bitcoin.bitcoind.v1alpha.BitcoinService/GetBlockchainInfo" + // BitcoinServiceGetPeerInfoProcedure is the fully-qualified name of the BitcoinService's + // GetPeerInfo RPC. + BitcoinServiceGetPeerInfoProcedure = "/bitcoin.bitcoind.v1alpha.BitcoinService/GetPeerInfo" // BitcoinServiceGetTransactionProcedure is the fully-qualified name of the BitcoinService's // GetTransaction RPC. BitcoinServiceGetTransactionProcedure = "/bitcoin.bitcoind.v1alpha.BitcoinService/GetTransaction" @@ -97,6 +100,7 @@ const ( var ( bitcoinServiceServiceDescriptor = v1alpha.File_bitcoin_bitcoind_v1alpha_bitcoin_proto.Services().ByName("BitcoinService") bitcoinServiceGetBlockchainInfoMethodDescriptor = bitcoinServiceServiceDescriptor.Methods().ByName("GetBlockchainInfo") + bitcoinServiceGetPeerInfoMethodDescriptor = bitcoinServiceServiceDescriptor.Methods().ByName("GetPeerInfo") bitcoinServiceGetTransactionMethodDescriptor = bitcoinServiceServiceDescriptor.Methods().ByName("GetTransaction") bitcoinServiceListSinceBlockMethodDescriptor = bitcoinServiceServiceDescriptor.Methods().ByName("ListSinceBlock") bitcoinServiceGetNewAddressMethodDescriptor = bitcoinServiceServiceDescriptor.Methods().ByName("GetNewAddress") @@ -121,6 +125,7 @@ var ( // BitcoinServiceClient is a client for the bitcoin.bitcoind.v1alpha.BitcoinService service. type BitcoinServiceClient interface { GetBlockchainInfo(context.Context, *connect.Request[v1alpha.GetBlockchainInfoRequest]) (*connect.Response[v1alpha.GetBlockchainInfoResponse], error) + GetPeerInfo(context.Context, *connect.Request[v1alpha.GetPeerInfoRequest]) (*connect.Response[v1alpha.GetPeerInfoResponse], error) // Fetches in-wallet transactions GetTransaction(context.Context, *connect.Request[v1alpha.GetTransactionRequest]) (*connect.Response[v1alpha.GetTransactionResponse], error) ListSinceBlock(context.Context, *connect.Request[v1alpha.ListSinceBlockRequest]) (*connect.Response[v1alpha.ListSinceBlockResponse], error) @@ -165,6 +170,12 @@ func NewBitcoinServiceClient(httpClient connect.HTTPClient, baseURL string, opts connect.WithSchema(bitcoinServiceGetBlockchainInfoMethodDescriptor), connect.WithClientOptions(opts...), ), + getPeerInfo: connect.NewClient[v1alpha.GetPeerInfoRequest, v1alpha.GetPeerInfoResponse]( + httpClient, + baseURL+BitcoinServiceGetPeerInfoProcedure, + connect.WithSchema(bitcoinServiceGetPeerInfoMethodDescriptor), + connect.WithClientOptions(opts...), + ), getTransaction: connect.NewClient[v1alpha.GetTransactionRequest, v1alpha.GetTransactionResponse]( httpClient, baseURL+BitcoinServiceGetTransactionProcedure, @@ -285,6 +296,7 @@ func NewBitcoinServiceClient(httpClient connect.HTTPClient, baseURL string, opts // bitcoinServiceClient implements BitcoinServiceClient. type bitcoinServiceClient struct { getBlockchainInfo *connect.Client[v1alpha.GetBlockchainInfoRequest, v1alpha.GetBlockchainInfoResponse] + getPeerInfo *connect.Client[v1alpha.GetPeerInfoRequest, v1alpha.GetPeerInfoResponse] getTransaction *connect.Client[v1alpha.GetTransactionRequest, v1alpha.GetTransactionResponse] listSinceBlock *connect.Client[v1alpha.ListSinceBlockRequest, v1alpha.ListSinceBlockResponse] getNewAddress *connect.Client[v1alpha.GetNewAddressRequest, v1alpha.GetNewAddressResponse] @@ -311,6 +323,11 @@ func (c *bitcoinServiceClient) GetBlockchainInfo(ctx context.Context, req *conne return c.getBlockchainInfo.CallUnary(ctx, req) } +// GetPeerInfo calls bitcoin.bitcoind.v1alpha.BitcoinService.GetPeerInfo. +func (c *bitcoinServiceClient) GetPeerInfo(ctx context.Context, req *connect.Request[v1alpha.GetPeerInfoRequest]) (*connect.Response[v1alpha.GetPeerInfoResponse], error) { + return c.getPeerInfo.CallUnary(ctx, req) +} + // GetTransaction calls bitcoin.bitcoind.v1alpha.BitcoinService.GetTransaction. func (c *bitcoinServiceClient) GetTransaction(ctx context.Context, req *connect.Request[v1alpha.GetTransactionRequest]) (*connect.Response[v1alpha.GetTransactionResponse], error) { return c.getTransaction.CallUnary(ctx, req) @@ -410,6 +427,7 @@ func (c *bitcoinServiceClient) GetBlockHash(ctx context.Context, req *connect.Re // service. type BitcoinServiceHandler interface { GetBlockchainInfo(context.Context, *connect.Request[v1alpha.GetBlockchainInfoRequest]) (*connect.Response[v1alpha.GetBlockchainInfoResponse], error) + GetPeerInfo(context.Context, *connect.Request[v1alpha.GetPeerInfoRequest]) (*connect.Response[v1alpha.GetPeerInfoResponse], error) // Fetches in-wallet transactions GetTransaction(context.Context, *connect.Request[v1alpha.GetTransactionRequest]) (*connect.Response[v1alpha.GetTransactionResponse], error) ListSinceBlock(context.Context, *connect.Request[v1alpha.ListSinceBlockRequest]) (*connect.Response[v1alpha.ListSinceBlockResponse], error) @@ -450,6 +468,12 @@ func NewBitcoinServiceHandler(svc BitcoinServiceHandler, opts ...connect.Handler connect.WithSchema(bitcoinServiceGetBlockchainInfoMethodDescriptor), connect.WithHandlerOptions(opts...), ) + bitcoinServiceGetPeerInfoHandler := connect.NewUnaryHandler( + BitcoinServiceGetPeerInfoProcedure, + svc.GetPeerInfo, + connect.WithSchema(bitcoinServiceGetPeerInfoMethodDescriptor), + connect.WithHandlerOptions(opts...), + ) bitcoinServiceGetTransactionHandler := connect.NewUnaryHandler( BitcoinServiceGetTransactionProcedure, svc.GetTransaction, @@ -568,6 +592,8 @@ func NewBitcoinServiceHandler(svc BitcoinServiceHandler, opts ...connect.Handler switch r.URL.Path { case BitcoinServiceGetBlockchainInfoProcedure: bitcoinServiceGetBlockchainInfoHandler.ServeHTTP(w, r) + case BitcoinServiceGetPeerInfoProcedure: + bitcoinServiceGetPeerInfoHandler.ServeHTTP(w, r) case BitcoinServiceGetTransactionProcedure: bitcoinServiceGetTransactionHandler.ServeHTTP(w, r) case BitcoinServiceListSinceBlockProcedure: @@ -619,6 +645,10 @@ func (UnimplementedBitcoinServiceHandler) GetBlockchainInfo(context.Context, *co return nil, connect.NewError(connect.CodeUnimplemented, errors.New("bitcoin.bitcoind.v1alpha.BitcoinService.GetBlockchainInfo is not implemented")) } +func (UnimplementedBitcoinServiceHandler) GetPeerInfo(context.Context, *connect.Request[v1alpha.GetPeerInfoRequest]) (*connect.Response[v1alpha.GetPeerInfoResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("bitcoin.bitcoind.v1alpha.BitcoinService.GetPeerInfo is not implemented")) +} + func (UnimplementedBitcoinServiceHandler) GetTransaction(context.Context, *connect.Request[v1alpha.GetTransactionRequest]) (*connect.Response[v1alpha.GetTransactionResponse], error) { return nil, connect.NewError(connect.CodeUnimplemented, errors.New("bitcoin.bitcoind.v1alpha.BitcoinService.GetTransaction is not implemented")) } diff --git a/proto/bitcoin/bitcoind/v1alpha/bitcoin.proto b/proto/bitcoin/bitcoind/v1alpha/bitcoin.proto index 035c304..fd31583 100644 --- a/proto/bitcoin/bitcoind/v1alpha/bitcoin.proto +++ b/proto/bitcoin/bitcoind/v1alpha/bitcoin.proto @@ -8,6 +8,7 @@ import "google/protobuf/wrappers.proto"; service BitcoinService { rpc GetBlockchainInfo(GetBlockchainInfoRequest) returns (GetBlockchainInfoResponse); + rpc GetPeerInfo(GetPeerInfoRequest) returns (GetPeerInfoResponse); // Fetches in-wallet transactions rpc GetTransaction(GetTransactionRequest) returns (GetTransactionResponse); @@ -60,6 +61,18 @@ message GetBlockchainInfoResponse { double verification_progress = 7; } +message GetPeerInfoRequest {} + +message Peer { + int32 id = 1; + string addr = 2; + int32 synced_blocks = 3; +} + +message GetPeerInfoResponse { + repeated Peer peers = 1; +} + message GetNewAddressRequest { string label = 1; string address_type = 2; diff --git a/server/server.go b/server/server.go index a3e8bda..f89ee23 100644 --- a/server/server.go +++ b/server/server.go @@ -416,6 +416,24 @@ func (b *Bitcoind) GetBlockchainInfo( }) } +// GetPeerInfo implements bitcoindv22.BitcoinServer +func (b *Bitcoind) GetPeerInfo( + ctx context.Context, req *connect.Request[pb.GetPeerInfoRequest], +) (*connect.Response[pb.GetPeerInfoResponse], error) { + return withCancel(ctx, b.rpc.GetPeerInfo, + func(info []btcjson.GetPeerInfoResult) *pb.GetPeerInfoResponse { + return &pb.GetPeerInfoResponse{ + Peers: lo.Map(info, func(peer btcjson.GetPeerInfoResult, idx int) *pb.Peer { + return &pb.Peer{ + Id: peer.ID, + Addr: peer.Addr, + SyncedBlocks: peer.CurrentHeight, + } + }), + } + }) +} + // GetWalletInfo implements bitcoindv1alpha.BitcoinServiceServer func (b *Bitcoind) GetWalletInfo( ctx context.Context, req *connect.Request[pb.GetWalletInfoRequest],