stasatdaglabs b195301a99
Add IsIBDPeer to GetConnectedPeerInfoResponse. (#1367)
Co-authored-by: Ori Newman <orinewman1@gmail.com>
2021-01-06 17:33:51 +02:00

10865 lines
417 KiB
Go

// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.25.0
// protoc v3.12.3
// source: messages.proto
package protowire
import (
proto "github.com/golang/protobuf/proto"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
reflect "reflect"
sync "sync"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
// This is a compile-time assertion that a sufficiently up-to-date version
// of the legacy proto package is being used.
const _ = proto.ProtoPackageIsVersion4
type KaspadMessage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Types that are assignable to Payload:
// *KaspadMessage_Addresses
// *KaspadMessage_Block
// *KaspadMessage_Transaction
// *KaspadMessage_RequestBlockLocator
// *KaspadMessage_BlockLocator
// *KaspadMessage_RequestAddresses
// *KaspadMessage_RequestHeaders
// *KaspadMessage_RequestNextHeaders
// *KaspadMessage_DoneHeaders
// *KaspadMessage_RequestRelayBlocks
// *KaspadMessage_RequestTransactions
// *KaspadMessage_IbdBlock
// *KaspadMessage_InvRelayBlock
// *KaspadMessage_InvTransactions
// *KaspadMessage_Ping
// *KaspadMessage_Pong
// *KaspadMessage_Verack
// *KaspadMessage_Version
// *KaspadMessage_TransactionNotFound
// *KaspadMessage_Reject
// *KaspadMessage_RequestIBDRootUTXOSetAndBlock
// *KaspadMessage_IbdRootUTXOSetAndBlock
// *KaspadMessage_RequestIBDBlocks
// *KaspadMessage_IbdRootNotFound
// *KaspadMessage_RequestIBDRootHash
// *KaspadMessage_IbdRootHash
// *KaspadMessage_IbdBlockLocator
// *KaspadMessage_IbdBlockLocatorHighestHash
// *KaspadMessage_BlockHeaders
// *KaspadMessage_GetCurrentNetworkRequest
// *KaspadMessage_GetCurrentNetworkResponse
// *KaspadMessage_SubmitBlockRequest
// *KaspadMessage_SubmitBlockResponse
// *KaspadMessage_GetBlockTemplateRequest
// *KaspadMessage_GetBlockTemplateResponse
// *KaspadMessage_NotifyBlockAddedRequest
// *KaspadMessage_NotifyBlockAddedResponse
// *KaspadMessage_BlockAddedNotification
// *KaspadMessage_GetPeerAddressesRequest
// *KaspadMessage_GetPeerAddressesResponse
// *KaspadMessage_GetSelectedTipHashRequest
// *KaspadMessage_GetSelectedTipHashResponse
// *KaspadMessage_GetMempoolEntryRequest
// *KaspadMessage_GetMempoolEntryResponse
// *KaspadMessage_GetConnectedPeerInfoRequest
// *KaspadMessage_GetConnectedPeerInfoResponse
// *KaspadMessage_AddPeerRequest
// *KaspadMessage_AddPeerResponse
// *KaspadMessage_SubmitTransactionRequest
// *KaspadMessage_SubmitTransactionResponse
// *KaspadMessage_NotifyVirtualSelectedParentChainChangedRequest
// *KaspadMessage_NotifyVirtualSelectedParentChainChangedResponse
// *KaspadMessage_VirtualSelectedParentChainChangedNotification
// *KaspadMessage_GetBlockRequest
// *KaspadMessage_GetBlockResponse
// *KaspadMessage_GetSubnetworkRequest
// *KaspadMessage_GetSubnetworkResponse
// *KaspadMessage_GetVirtualSelectedParentChainFromBlockRequest
// *KaspadMessage_GetVirtualSelectedParentChainFromBlockResponse
// *KaspadMessage_GetBlocksRequest
// *KaspadMessage_GetBlocksResponse
// *KaspadMessage_GetBlockCountRequest
// *KaspadMessage_GetBlockCountResponse
// *KaspadMessage_GetBlockDagInfoRequest
// *KaspadMessage_GetBlockDagInfoResponse
// *KaspadMessage_ResolveFinalityConflictRequest
// *KaspadMessage_ResolveFinalityConflictResponse
// *KaspadMessage_NotifyFinalityConflictsRequest
// *KaspadMessage_NotifyFinalityConflictsResponse
// *KaspadMessage_FinalityConflictNotification
// *KaspadMessage_FinalityConflictResolvedNotification
// *KaspadMessage_GetMempoolEntriesRequest
// *KaspadMessage_GetMempoolEntriesResponse
// *KaspadMessage_ShutDownRequest
// *KaspadMessage_ShutDownResponse
// *KaspadMessage_GetHeadersRequest
// *KaspadMessage_GetHeadersResponse
// *KaspadMessage_NotifyUtxosChangedRequest
// *KaspadMessage_NotifyUtxosChangedResponse
// *KaspadMessage_UtxosChangedNotification
// *KaspadMessage_GetUtxosByAddressesRequest
// *KaspadMessage_GetUtxosByAddressesResponse
// *KaspadMessage_GetVirtualSelectedParentBlueScoreRequest
// *KaspadMessage_GetVirtualSelectedParentBlueScoreResponse
// *KaspadMessage_NotifyVirtualSelectedParentBlueScoreChangedRequest
// *KaspadMessage_NotifyVirtualSelectedParentBlueScoreChangedResponse
// *KaspadMessage_VirtualSelectedParentBlueScoreChangedNotification
Payload isKaspadMessage_Payload `protobuf_oneof:"payload"`
}
func (x *KaspadMessage) Reset() {
*x = KaspadMessage{}
if protoimpl.UnsafeEnabled {
mi := &file_messages_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *KaspadMessage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*KaspadMessage) ProtoMessage() {}
func (x *KaspadMessage) ProtoReflect() protoreflect.Message {
mi := &file_messages_proto_msgTypes[0]
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 KaspadMessage.ProtoReflect.Descriptor instead.
func (*KaspadMessage) Descriptor() ([]byte, []int) {
return file_messages_proto_rawDescGZIP(), []int{0}
}
func (m *KaspadMessage) GetPayload() isKaspadMessage_Payload {
if m != nil {
return m.Payload
}
return nil
}
func (x *KaspadMessage) GetAddresses() *AddressesMessage {
if x, ok := x.GetPayload().(*KaspadMessage_Addresses); ok {
return x.Addresses
}
return nil
}
func (x *KaspadMessage) GetBlock() *BlockMessage {
if x, ok := x.GetPayload().(*KaspadMessage_Block); ok {
return x.Block
}
return nil
}
func (x *KaspadMessage) GetTransaction() *TransactionMessage {
if x, ok := x.GetPayload().(*KaspadMessage_Transaction); ok {
return x.Transaction
}
return nil
}
func (x *KaspadMessage) GetRequestBlockLocator() *RequestBlockLocatorMessage {
if x, ok := x.GetPayload().(*KaspadMessage_RequestBlockLocator); ok {
return x.RequestBlockLocator
}
return nil
}
func (x *KaspadMessage) GetBlockLocator() *BlockLocatorMessage {
if x, ok := x.GetPayload().(*KaspadMessage_BlockLocator); ok {
return x.BlockLocator
}
return nil
}
func (x *KaspadMessage) GetRequestAddresses() *RequestAddressesMessage {
if x, ok := x.GetPayload().(*KaspadMessage_RequestAddresses); ok {
return x.RequestAddresses
}
return nil
}
func (x *KaspadMessage) GetRequestHeaders() *RequestHeadersMessage {
if x, ok := x.GetPayload().(*KaspadMessage_RequestHeaders); ok {
return x.RequestHeaders
}
return nil
}
func (x *KaspadMessage) GetRequestNextHeaders() *RequestNextHeadersMessage {
if x, ok := x.GetPayload().(*KaspadMessage_RequestNextHeaders); ok {
return x.RequestNextHeaders
}
return nil
}
func (x *KaspadMessage) GetDoneHeaders() *DoneHeadersMessage {
if x, ok := x.GetPayload().(*KaspadMessage_DoneHeaders); ok {
return x.DoneHeaders
}
return nil
}
func (x *KaspadMessage) GetRequestRelayBlocks() *RequestRelayBlocksMessage {
if x, ok := x.GetPayload().(*KaspadMessage_RequestRelayBlocks); ok {
return x.RequestRelayBlocks
}
return nil
}
func (x *KaspadMessage) GetRequestTransactions() *RequestTransactionsMessage {
if x, ok := x.GetPayload().(*KaspadMessage_RequestTransactions); ok {
return x.RequestTransactions
}
return nil
}
func (x *KaspadMessage) GetIbdBlock() *BlockMessage {
if x, ok := x.GetPayload().(*KaspadMessage_IbdBlock); ok {
return x.IbdBlock
}
return nil
}
func (x *KaspadMessage) GetInvRelayBlock() *InvRelayBlockMessage {
if x, ok := x.GetPayload().(*KaspadMessage_InvRelayBlock); ok {
return x.InvRelayBlock
}
return nil
}
func (x *KaspadMessage) GetInvTransactions() *InvTransactionsMessage {
if x, ok := x.GetPayload().(*KaspadMessage_InvTransactions); ok {
return x.InvTransactions
}
return nil
}
func (x *KaspadMessage) GetPing() *PingMessage {
if x, ok := x.GetPayload().(*KaspadMessage_Ping); ok {
return x.Ping
}
return nil
}
func (x *KaspadMessage) GetPong() *PongMessage {
if x, ok := x.GetPayload().(*KaspadMessage_Pong); ok {
return x.Pong
}
return nil
}
func (x *KaspadMessage) GetVerack() *VerackMessage {
if x, ok := x.GetPayload().(*KaspadMessage_Verack); ok {
return x.Verack
}
return nil
}
func (x *KaspadMessage) GetVersion() *VersionMessage {
if x, ok := x.GetPayload().(*KaspadMessage_Version); ok {
return x.Version
}
return nil
}
func (x *KaspadMessage) GetTransactionNotFound() *TransactionNotFoundMessage {
if x, ok := x.GetPayload().(*KaspadMessage_TransactionNotFound); ok {
return x.TransactionNotFound
}
return nil
}
func (x *KaspadMessage) GetReject() *RejectMessage {
if x, ok := x.GetPayload().(*KaspadMessage_Reject); ok {
return x.Reject
}
return nil
}
func (x *KaspadMessage) GetRequestIBDRootUTXOSetAndBlock() *RequestIBDRootUTXOSetAndBlockMessage {
if x, ok := x.GetPayload().(*KaspadMessage_RequestIBDRootUTXOSetAndBlock); ok {
return x.RequestIBDRootUTXOSetAndBlock
}
return nil
}
func (x *KaspadMessage) GetIbdRootUTXOSetAndBlock() *IBDRootUTXOSetAndBlockMessage {
if x, ok := x.GetPayload().(*KaspadMessage_IbdRootUTXOSetAndBlock); ok {
return x.IbdRootUTXOSetAndBlock
}
return nil
}
func (x *KaspadMessage) GetRequestIBDBlocks() *RequestIBDBlocksMessage {
if x, ok := x.GetPayload().(*KaspadMessage_RequestIBDBlocks); ok {
return x.RequestIBDBlocks
}
return nil
}
func (x *KaspadMessage) GetIbdRootNotFound() *IBDRootNotFoundMessage {
if x, ok := x.GetPayload().(*KaspadMessage_IbdRootNotFound); ok {
return x.IbdRootNotFound
}
return nil
}
func (x *KaspadMessage) GetRequestIBDRootHash() *RequestIBDRootHashMessage {
if x, ok := x.GetPayload().(*KaspadMessage_RequestIBDRootHash); ok {
return x.RequestIBDRootHash
}
return nil
}
func (x *KaspadMessage) GetIbdRootHash() *IBDRootHashMessage {
if x, ok := x.GetPayload().(*KaspadMessage_IbdRootHash); ok {
return x.IbdRootHash
}
return nil
}
func (x *KaspadMessage) GetIbdBlockLocator() *IbdBlockLocatorMessage {
if x, ok := x.GetPayload().(*KaspadMessage_IbdBlockLocator); ok {
return x.IbdBlockLocator
}
return nil
}
func (x *KaspadMessage) GetIbdBlockLocatorHighestHash() *IbdBlockLocatorHighestHashMessage {
if x, ok := x.GetPayload().(*KaspadMessage_IbdBlockLocatorHighestHash); ok {
return x.IbdBlockLocatorHighestHash
}
return nil
}
func (x *KaspadMessage) GetBlockHeaders() *BlockHeadersMessage {
if x, ok := x.GetPayload().(*KaspadMessage_BlockHeaders); ok {
return x.BlockHeaders
}
return nil
}
func (x *KaspadMessage) GetGetCurrentNetworkRequest() *GetCurrentNetworkRequestMessage {
if x, ok := x.GetPayload().(*KaspadMessage_GetCurrentNetworkRequest); ok {
return x.GetCurrentNetworkRequest
}
return nil
}
func (x *KaspadMessage) GetGetCurrentNetworkResponse() *GetCurrentNetworkResponseMessage {
if x, ok := x.GetPayload().(*KaspadMessage_GetCurrentNetworkResponse); ok {
return x.GetCurrentNetworkResponse
}
return nil
}
func (x *KaspadMessage) GetSubmitBlockRequest() *SubmitBlockRequestMessage {
if x, ok := x.GetPayload().(*KaspadMessage_SubmitBlockRequest); ok {
return x.SubmitBlockRequest
}
return nil
}
func (x *KaspadMessage) GetSubmitBlockResponse() *SubmitBlockResponseMessage {
if x, ok := x.GetPayload().(*KaspadMessage_SubmitBlockResponse); ok {
return x.SubmitBlockResponse
}
return nil
}
func (x *KaspadMessage) GetGetBlockTemplateRequest() *GetBlockTemplateRequestMessage {
if x, ok := x.GetPayload().(*KaspadMessage_GetBlockTemplateRequest); ok {
return x.GetBlockTemplateRequest
}
return nil
}
func (x *KaspadMessage) GetGetBlockTemplateResponse() *GetBlockTemplateResponseMessage {
if x, ok := x.GetPayload().(*KaspadMessage_GetBlockTemplateResponse); ok {
return x.GetBlockTemplateResponse
}
return nil
}
func (x *KaspadMessage) GetNotifyBlockAddedRequest() *NotifyBlockAddedRequestMessage {
if x, ok := x.GetPayload().(*KaspadMessage_NotifyBlockAddedRequest); ok {
return x.NotifyBlockAddedRequest
}
return nil
}
func (x *KaspadMessage) GetNotifyBlockAddedResponse() *NotifyBlockAddedResponseMessage {
if x, ok := x.GetPayload().(*KaspadMessage_NotifyBlockAddedResponse); ok {
return x.NotifyBlockAddedResponse
}
return nil
}
func (x *KaspadMessage) GetBlockAddedNotification() *BlockAddedNotificationMessage {
if x, ok := x.GetPayload().(*KaspadMessage_BlockAddedNotification); ok {
return x.BlockAddedNotification
}
return nil
}
func (x *KaspadMessage) GetGetPeerAddressesRequest() *GetPeerAddressesRequestMessage {
if x, ok := x.GetPayload().(*KaspadMessage_GetPeerAddressesRequest); ok {
return x.GetPeerAddressesRequest
}
return nil
}
func (x *KaspadMessage) GetGetPeerAddressesResponse() *GetPeerAddressesResponseMessage {
if x, ok := x.GetPayload().(*KaspadMessage_GetPeerAddressesResponse); ok {
return x.GetPeerAddressesResponse
}
return nil
}
func (x *KaspadMessage) GetGetSelectedTipHashRequest() *GetSelectedTipHashRequestMessage {
if x, ok := x.GetPayload().(*KaspadMessage_GetSelectedTipHashRequest); ok {
return x.GetSelectedTipHashRequest
}
return nil
}
func (x *KaspadMessage) GetGetSelectedTipHashResponse() *GetSelectedTipHashResponseMessage {
if x, ok := x.GetPayload().(*KaspadMessage_GetSelectedTipHashResponse); ok {
return x.GetSelectedTipHashResponse
}
return nil
}
func (x *KaspadMessage) GetGetMempoolEntryRequest() *GetMempoolEntryRequestMessage {
if x, ok := x.GetPayload().(*KaspadMessage_GetMempoolEntryRequest); ok {
return x.GetMempoolEntryRequest
}
return nil
}
func (x *KaspadMessage) GetGetMempoolEntryResponse() *GetMempoolEntryResponseMessage {
if x, ok := x.GetPayload().(*KaspadMessage_GetMempoolEntryResponse); ok {
return x.GetMempoolEntryResponse
}
return nil
}
func (x *KaspadMessage) GetGetConnectedPeerInfoRequest() *GetConnectedPeerInfoRequestMessage {
if x, ok := x.GetPayload().(*KaspadMessage_GetConnectedPeerInfoRequest); ok {
return x.GetConnectedPeerInfoRequest
}
return nil
}
func (x *KaspadMessage) GetGetConnectedPeerInfoResponse() *GetConnectedPeerInfoResponseMessage {
if x, ok := x.GetPayload().(*KaspadMessage_GetConnectedPeerInfoResponse); ok {
return x.GetConnectedPeerInfoResponse
}
return nil
}
func (x *KaspadMessage) GetAddPeerRequest() *AddPeerRequestMessage {
if x, ok := x.GetPayload().(*KaspadMessage_AddPeerRequest); ok {
return x.AddPeerRequest
}
return nil
}
func (x *KaspadMessage) GetAddPeerResponse() *AddPeerResponseMessage {
if x, ok := x.GetPayload().(*KaspadMessage_AddPeerResponse); ok {
return x.AddPeerResponse
}
return nil
}
func (x *KaspadMessage) GetSubmitTransactionRequest() *SubmitTransactionRequestMessage {
if x, ok := x.GetPayload().(*KaspadMessage_SubmitTransactionRequest); ok {
return x.SubmitTransactionRequest
}
return nil
}
func (x *KaspadMessage) GetSubmitTransactionResponse() *SubmitTransactionResponseMessage {
if x, ok := x.GetPayload().(*KaspadMessage_SubmitTransactionResponse); ok {
return x.SubmitTransactionResponse
}
return nil
}
func (x *KaspadMessage) GetNotifyVirtualSelectedParentChainChangedRequest() *NotifyVirtualSelectedParentChainChangedRequestMessage {
if x, ok := x.GetPayload().(*KaspadMessage_NotifyVirtualSelectedParentChainChangedRequest); ok {
return x.NotifyVirtualSelectedParentChainChangedRequest
}
return nil
}
func (x *KaspadMessage) GetNotifyVirtualSelectedParentChainChangedResponse() *NotifyVirtualSelectedParentChainChangedResponseMessage {
if x, ok := x.GetPayload().(*KaspadMessage_NotifyVirtualSelectedParentChainChangedResponse); ok {
return x.NotifyVirtualSelectedParentChainChangedResponse
}
return nil
}
func (x *KaspadMessage) GetVirtualSelectedParentChainChangedNotification() *VirtualSelectedParentChainChangedNotificationMessage {
if x, ok := x.GetPayload().(*KaspadMessage_VirtualSelectedParentChainChangedNotification); ok {
return x.VirtualSelectedParentChainChangedNotification
}
return nil
}
func (x *KaspadMessage) GetGetBlockRequest() *GetBlockRequestMessage {
if x, ok := x.GetPayload().(*KaspadMessage_GetBlockRequest); ok {
return x.GetBlockRequest
}
return nil
}
func (x *KaspadMessage) GetGetBlockResponse() *GetBlockResponseMessage {
if x, ok := x.GetPayload().(*KaspadMessage_GetBlockResponse); ok {
return x.GetBlockResponse
}
return nil
}
func (x *KaspadMessage) GetGetSubnetworkRequest() *GetSubnetworkRequestMessage {
if x, ok := x.GetPayload().(*KaspadMessage_GetSubnetworkRequest); ok {
return x.GetSubnetworkRequest
}
return nil
}
func (x *KaspadMessage) GetGetSubnetworkResponse() *GetSubnetworkResponseMessage {
if x, ok := x.GetPayload().(*KaspadMessage_GetSubnetworkResponse); ok {
return x.GetSubnetworkResponse
}
return nil
}
func (x *KaspadMessage) GetGetVirtualSelectedParentChainFromBlockRequest() *GetVirtualSelectedParentChainFromBlockRequestMessage {
if x, ok := x.GetPayload().(*KaspadMessage_GetVirtualSelectedParentChainFromBlockRequest); ok {
return x.GetVirtualSelectedParentChainFromBlockRequest
}
return nil
}
func (x *KaspadMessage) GetGetVirtualSelectedParentChainFromBlockResponse() *GetVirtualSelectedParentChainFromBlockResponseMessage {
if x, ok := x.GetPayload().(*KaspadMessage_GetVirtualSelectedParentChainFromBlockResponse); ok {
return x.GetVirtualSelectedParentChainFromBlockResponse
}
return nil
}
func (x *KaspadMessage) GetGetBlocksRequest() *GetBlocksRequestMessage {
if x, ok := x.GetPayload().(*KaspadMessage_GetBlocksRequest); ok {
return x.GetBlocksRequest
}
return nil
}
func (x *KaspadMessage) GetGetBlocksResponse() *GetBlocksResponseMessage {
if x, ok := x.GetPayload().(*KaspadMessage_GetBlocksResponse); ok {
return x.GetBlocksResponse
}
return nil
}
func (x *KaspadMessage) GetGetBlockCountRequest() *GetBlockCountRequestMessage {
if x, ok := x.GetPayload().(*KaspadMessage_GetBlockCountRequest); ok {
return x.GetBlockCountRequest
}
return nil
}
func (x *KaspadMessage) GetGetBlockCountResponse() *GetBlockCountResponseMessage {
if x, ok := x.GetPayload().(*KaspadMessage_GetBlockCountResponse); ok {
return x.GetBlockCountResponse
}
return nil
}
func (x *KaspadMessage) GetGetBlockDagInfoRequest() *GetBlockDagInfoRequestMessage {
if x, ok := x.GetPayload().(*KaspadMessage_GetBlockDagInfoRequest); ok {
return x.GetBlockDagInfoRequest
}
return nil
}
func (x *KaspadMessage) GetGetBlockDagInfoResponse() *GetBlockDagInfoResponseMessage {
if x, ok := x.GetPayload().(*KaspadMessage_GetBlockDagInfoResponse); ok {
return x.GetBlockDagInfoResponse
}
return nil
}
func (x *KaspadMessage) GetResolveFinalityConflictRequest() *ResolveFinalityConflictRequestMessage {
if x, ok := x.GetPayload().(*KaspadMessage_ResolveFinalityConflictRequest); ok {
return x.ResolveFinalityConflictRequest
}
return nil
}
func (x *KaspadMessage) GetResolveFinalityConflictResponse() *ResolveFinalityConflictResponseMessage {
if x, ok := x.GetPayload().(*KaspadMessage_ResolveFinalityConflictResponse); ok {
return x.ResolveFinalityConflictResponse
}
return nil
}
func (x *KaspadMessage) GetNotifyFinalityConflictsRequest() *NotifyFinalityConflictsRequestMessage {
if x, ok := x.GetPayload().(*KaspadMessage_NotifyFinalityConflictsRequest); ok {
return x.NotifyFinalityConflictsRequest
}
return nil
}
func (x *KaspadMessage) GetNotifyFinalityConflictsResponse() *NotifyFinalityConflictsResponseMessage {
if x, ok := x.GetPayload().(*KaspadMessage_NotifyFinalityConflictsResponse); ok {
return x.NotifyFinalityConflictsResponse
}
return nil
}
func (x *KaspadMessage) GetFinalityConflictNotification() *FinalityConflictNotificationMessage {
if x, ok := x.GetPayload().(*KaspadMessage_FinalityConflictNotification); ok {
return x.FinalityConflictNotification
}
return nil
}
func (x *KaspadMessage) GetFinalityConflictResolvedNotification() *FinalityConflictResolvedNotificationMessage {
if x, ok := x.GetPayload().(*KaspadMessage_FinalityConflictResolvedNotification); ok {
return x.FinalityConflictResolvedNotification
}
return nil
}
func (x *KaspadMessage) GetGetMempoolEntriesRequest() *GetMempoolEntriesRequestMessage {
if x, ok := x.GetPayload().(*KaspadMessage_GetMempoolEntriesRequest); ok {
return x.GetMempoolEntriesRequest
}
return nil
}
func (x *KaspadMessage) GetGetMempoolEntriesResponse() *GetMempoolEntriesResponseMessage {
if x, ok := x.GetPayload().(*KaspadMessage_GetMempoolEntriesResponse); ok {
return x.GetMempoolEntriesResponse
}
return nil
}
func (x *KaspadMessage) GetShutDownRequest() *ShutDownRequestMessage {
if x, ok := x.GetPayload().(*KaspadMessage_ShutDownRequest); ok {
return x.ShutDownRequest
}
return nil
}
func (x *KaspadMessage) GetShutDownResponse() *ShutDownResponseMessage {
if x, ok := x.GetPayload().(*KaspadMessage_ShutDownResponse); ok {
return x.ShutDownResponse
}
return nil
}
func (x *KaspadMessage) GetGetHeadersRequest() *GetHeadersRequestMessage {
if x, ok := x.GetPayload().(*KaspadMessage_GetHeadersRequest); ok {
return x.GetHeadersRequest
}
return nil
}
func (x *KaspadMessage) GetGetHeadersResponse() *GetHeadersResponseMessage {
if x, ok := x.GetPayload().(*KaspadMessage_GetHeadersResponse); ok {
return x.GetHeadersResponse
}
return nil
}
func (x *KaspadMessage) GetNotifyUtxosChangedRequest() *NotifyUtxosChangedRequestMessage {
if x, ok := x.GetPayload().(*KaspadMessage_NotifyUtxosChangedRequest); ok {
return x.NotifyUtxosChangedRequest
}
return nil
}
func (x *KaspadMessage) GetNotifyUtxosChangedResponse() *NotifyUtxosChangedResponseMessage {
if x, ok := x.GetPayload().(*KaspadMessage_NotifyUtxosChangedResponse); ok {
return x.NotifyUtxosChangedResponse
}
return nil
}
func (x *KaspadMessage) GetUtxosChangedNotification() *UtxosChangedNotificationMessage {
if x, ok := x.GetPayload().(*KaspadMessage_UtxosChangedNotification); ok {
return x.UtxosChangedNotification
}
return nil
}
func (x *KaspadMessage) GetGetUtxosByAddressesRequest() *GetUtxosByAddressesRequestMessage {
if x, ok := x.GetPayload().(*KaspadMessage_GetUtxosByAddressesRequest); ok {
return x.GetUtxosByAddressesRequest
}
return nil
}
func (x *KaspadMessage) GetGetUtxosByAddressesResponse() *GetUtxosByAddressesResponseMessage {
if x, ok := x.GetPayload().(*KaspadMessage_GetUtxosByAddressesResponse); ok {
return x.GetUtxosByAddressesResponse
}
return nil
}
func (x *KaspadMessage) GetGetVirtualSelectedParentBlueScoreRequest() *GetVirtualSelectedParentBlueScoreRequestMessage {
if x, ok := x.GetPayload().(*KaspadMessage_GetVirtualSelectedParentBlueScoreRequest); ok {
return x.GetVirtualSelectedParentBlueScoreRequest
}
return nil
}
func (x *KaspadMessage) GetGetVirtualSelectedParentBlueScoreResponse() *GetVirtualSelectedParentBlueScoreResponseMessage {
if x, ok := x.GetPayload().(*KaspadMessage_GetVirtualSelectedParentBlueScoreResponse); ok {
return x.GetVirtualSelectedParentBlueScoreResponse
}
return nil
}
func (x *KaspadMessage) GetNotifyVirtualSelectedParentBlueScoreChangedRequest() *NotifyVirtualSelectedParentBlueScoreChangedRequestMessage {
if x, ok := x.GetPayload().(*KaspadMessage_NotifyVirtualSelectedParentBlueScoreChangedRequest); ok {
return x.NotifyVirtualSelectedParentBlueScoreChangedRequest
}
return nil
}
func (x *KaspadMessage) GetNotifyVirtualSelectedParentBlueScoreChangedResponse() *NotifyVirtualSelectedParentBlueScoreChangedResponseMessage {
if x, ok := x.GetPayload().(*KaspadMessage_NotifyVirtualSelectedParentBlueScoreChangedResponse); ok {
return x.NotifyVirtualSelectedParentBlueScoreChangedResponse
}
return nil
}
func (x *KaspadMessage) GetVirtualSelectedParentBlueScoreChangedNotification() *VirtualSelectedParentBlueScoreChangedNotificationMessage {
if x, ok := x.GetPayload().(*KaspadMessage_VirtualSelectedParentBlueScoreChangedNotification); ok {
return x.VirtualSelectedParentBlueScoreChangedNotification
}
return nil
}
type isKaspadMessage_Payload interface {
isKaspadMessage_Payload()
}
type KaspadMessage_Addresses struct {
Addresses *AddressesMessage `protobuf:"bytes,1,opt,name=addresses,proto3,oneof"`
}
type KaspadMessage_Block struct {
Block *BlockMessage `protobuf:"bytes,2,opt,name=block,proto3,oneof"`
}
type KaspadMessage_Transaction struct {
Transaction *TransactionMessage `protobuf:"bytes,3,opt,name=transaction,proto3,oneof"`
}
type KaspadMessage_RequestBlockLocator struct {
RequestBlockLocator *RequestBlockLocatorMessage `protobuf:"bytes,4,opt,name=requestBlockLocator,proto3,oneof"`
}
type KaspadMessage_BlockLocator struct {
BlockLocator *BlockLocatorMessage `protobuf:"bytes,5,opt,name=blockLocator,proto3,oneof"`
}
type KaspadMessage_RequestAddresses struct {
RequestAddresses *RequestAddressesMessage `protobuf:"bytes,6,opt,name=requestAddresses,proto3,oneof"`
}
type KaspadMessage_RequestHeaders struct {
RequestHeaders *RequestHeadersMessage `protobuf:"bytes,7,opt,name=requestHeaders,proto3,oneof"`
}
type KaspadMessage_RequestNextHeaders struct {
RequestNextHeaders *RequestNextHeadersMessage `protobuf:"bytes,8,opt,name=requestNextHeaders,proto3,oneof"`
}
type KaspadMessage_DoneHeaders struct {
DoneHeaders *DoneHeadersMessage `protobuf:"bytes,9,opt,name=DoneHeaders,proto3,oneof"`
}
type KaspadMessage_RequestRelayBlocks struct {
RequestRelayBlocks *RequestRelayBlocksMessage `protobuf:"bytes,10,opt,name=requestRelayBlocks,proto3,oneof"`
}
type KaspadMessage_RequestTransactions struct {
RequestTransactions *RequestTransactionsMessage `protobuf:"bytes,12,opt,name=requestTransactions,proto3,oneof"`
}
type KaspadMessage_IbdBlock struct {
IbdBlock *BlockMessage `protobuf:"bytes,13,opt,name=ibdBlock,proto3,oneof"`
}
type KaspadMessage_InvRelayBlock struct {
InvRelayBlock *InvRelayBlockMessage `protobuf:"bytes,14,opt,name=invRelayBlock,proto3,oneof"`
}
type KaspadMessage_InvTransactions struct {
InvTransactions *InvTransactionsMessage `protobuf:"bytes,15,opt,name=invTransactions,proto3,oneof"`
}
type KaspadMessage_Ping struct {
Ping *PingMessage `protobuf:"bytes,16,opt,name=ping,proto3,oneof"`
}
type KaspadMessage_Pong struct {
Pong *PongMessage `protobuf:"bytes,17,opt,name=pong,proto3,oneof"`
}
type KaspadMessage_Verack struct {
Verack *VerackMessage `protobuf:"bytes,19,opt,name=verack,proto3,oneof"`
}
type KaspadMessage_Version struct {
Version *VersionMessage `protobuf:"bytes,20,opt,name=version,proto3,oneof"`
}
type KaspadMessage_TransactionNotFound struct {
TransactionNotFound *TransactionNotFoundMessage `protobuf:"bytes,21,opt,name=transactionNotFound,proto3,oneof"`
}
type KaspadMessage_Reject struct {
Reject *RejectMessage `protobuf:"bytes,22,opt,name=reject,proto3,oneof"`
}
type KaspadMessage_RequestIBDRootUTXOSetAndBlock struct {
RequestIBDRootUTXOSetAndBlock *RequestIBDRootUTXOSetAndBlockMessage `protobuf:"bytes,24,opt,name=requestIBDRootUTXOSetAndBlock,proto3,oneof"`
}
type KaspadMessage_IbdRootUTXOSetAndBlock struct {
IbdRootUTXOSetAndBlock *IBDRootUTXOSetAndBlockMessage `protobuf:"bytes,25,opt,name=ibdRootUTXOSetAndBlock,proto3,oneof"`
}
type KaspadMessage_RequestIBDBlocks struct {
RequestIBDBlocks *RequestIBDBlocksMessage `protobuf:"bytes,26,opt,name=requestIBDBlocks,proto3,oneof"`
}
type KaspadMessage_IbdRootNotFound struct {
IbdRootNotFound *IBDRootNotFoundMessage `protobuf:"bytes,27,opt,name=ibdRootNotFound,proto3,oneof"`
}
type KaspadMessage_RequestIBDRootHash struct {
RequestIBDRootHash *RequestIBDRootHashMessage `protobuf:"bytes,28,opt,name=requestIBDRootHash,proto3,oneof"`
}
type KaspadMessage_IbdRootHash struct {
IbdRootHash *IBDRootHashMessage `protobuf:"bytes,29,opt,name=ibdRootHash,proto3,oneof"`
}
type KaspadMessage_IbdBlockLocator struct {
IbdBlockLocator *IbdBlockLocatorMessage `protobuf:"bytes,30,opt,name=ibdBlockLocator,proto3,oneof"`
}
type KaspadMessage_IbdBlockLocatorHighestHash struct {
IbdBlockLocatorHighestHash *IbdBlockLocatorHighestHashMessage `protobuf:"bytes,31,opt,name=ibdBlockLocatorHighestHash,proto3,oneof"`
}
type KaspadMessage_BlockHeaders struct {
BlockHeaders *BlockHeadersMessage `protobuf:"bytes,32,opt,name=blockHeaders,proto3,oneof"`
}
type KaspadMessage_GetCurrentNetworkRequest struct {
GetCurrentNetworkRequest *GetCurrentNetworkRequestMessage `protobuf:"bytes,1001,opt,name=getCurrentNetworkRequest,proto3,oneof"`
}
type KaspadMessage_GetCurrentNetworkResponse struct {
GetCurrentNetworkResponse *GetCurrentNetworkResponseMessage `protobuf:"bytes,1002,opt,name=getCurrentNetworkResponse,proto3,oneof"`
}
type KaspadMessage_SubmitBlockRequest struct {
SubmitBlockRequest *SubmitBlockRequestMessage `protobuf:"bytes,1003,opt,name=submitBlockRequest,proto3,oneof"`
}
type KaspadMessage_SubmitBlockResponse struct {
SubmitBlockResponse *SubmitBlockResponseMessage `protobuf:"bytes,1004,opt,name=submitBlockResponse,proto3,oneof"`
}
type KaspadMessage_GetBlockTemplateRequest struct {
GetBlockTemplateRequest *GetBlockTemplateRequestMessage `protobuf:"bytes,1005,opt,name=getBlockTemplateRequest,proto3,oneof"`
}
type KaspadMessage_GetBlockTemplateResponse struct {
GetBlockTemplateResponse *GetBlockTemplateResponseMessage `protobuf:"bytes,1006,opt,name=getBlockTemplateResponse,proto3,oneof"`
}
type KaspadMessage_NotifyBlockAddedRequest struct {
NotifyBlockAddedRequest *NotifyBlockAddedRequestMessage `protobuf:"bytes,1007,opt,name=notifyBlockAddedRequest,proto3,oneof"`
}
type KaspadMessage_NotifyBlockAddedResponse struct {
NotifyBlockAddedResponse *NotifyBlockAddedResponseMessage `protobuf:"bytes,1008,opt,name=notifyBlockAddedResponse,proto3,oneof"`
}
type KaspadMessage_BlockAddedNotification struct {
BlockAddedNotification *BlockAddedNotificationMessage `protobuf:"bytes,1009,opt,name=blockAddedNotification,proto3,oneof"`
}
type KaspadMessage_GetPeerAddressesRequest struct {
GetPeerAddressesRequest *GetPeerAddressesRequestMessage `protobuf:"bytes,1010,opt,name=getPeerAddressesRequest,proto3,oneof"`
}
type KaspadMessage_GetPeerAddressesResponse struct {
GetPeerAddressesResponse *GetPeerAddressesResponseMessage `protobuf:"bytes,1011,opt,name=getPeerAddressesResponse,proto3,oneof"`
}
type KaspadMessage_GetSelectedTipHashRequest struct {
GetSelectedTipHashRequest *GetSelectedTipHashRequestMessage `protobuf:"bytes,1012,opt,name=getSelectedTipHashRequest,proto3,oneof"`
}
type KaspadMessage_GetSelectedTipHashResponse struct {
GetSelectedTipHashResponse *GetSelectedTipHashResponseMessage `protobuf:"bytes,1013,opt,name=getSelectedTipHashResponse,proto3,oneof"`
}
type KaspadMessage_GetMempoolEntryRequest struct {
GetMempoolEntryRequest *GetMempoolEntryRequestMessage `protobuf:"bytes,1014,opt,name=getMempoolEntryRequest,proto3,oneof"`
}
type KaspadMessage_GetMempoolEntryResponse struct {
GetMempoolEntryResponse *GetMempoolEntryResponseMessage `protobuf:"bytes,1015,opt,name=getMempoolEntryResponse,proto3,oneof"`
}
type KaspadMessage_GetConnectedPeerInfoRequest struct {
GetConnectedPeerInfoRequest *GetConnectedPeerInfoRequestMessage `protobuf:"bytes,1016,opt,name=getConnectedPeerInfoRequest,proto3,oneof"`
}
type KaspadMessage_GetConnectedPeerInfoResponse struct {
GetConnectedPeerInfoResponse *GetConnectedPeerInfoResponseMessage `protobuf:"bytes,1017,opt,name=getConnectedPeerInfoResponse,proto3,oneof"`
}
type KaspadMessage_AddPeerRequest struct {
AddPeerRequest *AddPeerRequestMessage `protobuf:"bytes,1018,opt,name=addPeerRequest,proto3,oneof"`
}
type KaspadMessage_AddPeerResponse struct {
AddPeerResponse *AddPeerResponseMessage `protobuf:"bytes,1019,opt,name=addPeerResponse,proto3,oneof"`
}
type KaspadMessage_SubmitTransactionRequest struct {
SubmitTransactionRequest *SubmitTransactionRequestMessage `protobuf:"bytes,1020,opt,name=submitTransactionRequest,proto3,oneof"`
}
type KaspadMessage_SubmitTransactionResponse struct {
SubmitTransactionResponse *SubmitTransactionResponseMessage `protobuf:"bytes,1021,opt,name=submitTransactionResponse,proto3,oneof"`
}
type KaspadMessage_NotifyVirtualSelectedParentChainChangedRequest struct {
NotifyVirtualSelectedParentChainChangedRequest *NotifyVirtualSelectedParentChainChangedRequestMessage `protobuf:"bytes,1022,opt,name=notifyVirtualSelectedParentChainChangedRequest,proto3,oneof"`
}
type KaspadMessage_NotifyVirtualSelectedParentChainChangedResponse struct {
NotifyVirtualSelectedParentChainChangedResponse *NotifyVirtualSelectedParentChainChangedResponseMessage `protobuf:"bytes,1023,opt,name=notifyVirtualSelectedParentChainChangedResponse,proto3,oneof"`
}
type KaspadMessage_VirtualSelectedParentChainChangedNotification struct {
VirtualSelectedParentChainChangedNotification *VirtualSelectedParentChainChangedNotificationMessage `protobuf:"bytes,1024,opt,name=virtualSelectedParentChainChangedNotification,proto3,oneof"`
}
type KaspadMessage_GetBlockRequest struct {
GetBlockRequest *GetBlockRequestMessage `protobuf:"bytes,1025,opt,name=getBlockRequest,proto3,oneof"`
}
type KaspadMessage_GetBlockResponse struct {
GetBlockResponse *GetBlockResponseMessage `protobuf:"bytes,1026,opt,name=getBlockResponse,proto3,oneof"`
}
type KaspadMessage_GetSubnetworkRequest struct {
GetSubnetworkRequest *GetSubnetworkRequestMessage `protobuf:"bytes,1027,opt,name=getSubnetworkRequest,proto3,oneof"`
}
type KaspadMessage_GetSubnetworkResponse struct {
GetSubnetworkResponse *GetSubnetworkResponseMessage `protobuf:"bytes,1028,opt,name=getSubnetworkResponse,proto3,oneof"`
}
type KaspadMessage_GetVirtualSelectedParentChainFromBlockRequest struct {
GetVirtualSelectedParentChainFromBlockRequest *GetVirtualSelectedParentChainFromBlockRequestMessage `protobuf:"bytes,1029,opt,name=getVirtualSelectedParentChainFromBlockRequest,proto3,oneof"`
}
type KaspadMessage_GetVirtualSelectedParentChainFromBlockResponse struct {
GetVirtualSelectedParentChainFromBlockResponse *GetVirtualSelectedParentChainFromBlockResponseMessage `protobuf:"bytes,1030,opt,name=getVirtualSelectedParentChainFromBlockResponse,proto3,oneof"`
}
type KaspadMessage_GetBlocksRequest struct {
GetBlocksRequest *GetBlocksRequestMessage `protobuf:"bytes,1031,opt,name=getBlocksRequest,proto3,oneof"`
}
type KaspadMessage_GetBlocksResponse struct {
GetBlocksResponse *GetBlocksResponseMessage `protobuf:"bytes,1032,opt,name=getBlocksResponse,proto3,oneof"`
}
type KaspadMessage_GetBlockCountRequest struct {
GetBlockCountRequest *GetBlockCountRequestMessage `protobuf:"bytes,1033,opt,name=getBlockCountRequest,proto3,oneof"`
}
type KaspadMessage_GetBlockCountResponse struct {
GetBlockCountResponse *GetBlockCountResponseMessage `protobuf:"bytes,1034,opt,name=getBlockCountResponse,proto3,oneof"`
}
type KaspadMessage_GetBlockDagInfoRequest struct {
GetBlockDagInfoRequest *GetBlockDagInfoRequestMessage `protobuf:"bytes,1035,opt,name=getBlockDagInfoRequest,proto3,oneof"`
}
type KaspadMessage_GetBlockDagInfoResponse struct {
GetBlockDagInfoResponse *GetBlockDagInfoResponseMessage `protobuf:"bytes,1036,opt,name=getBlockDagInfoResponse,proto3,oneof"`
}
type KaspadMessage_ResolveFinalityConflictRequest struct {
ResolveFinalityConflictRequest *ResolveFinalityConflictRequestMessage `protobuf:"bytes,1037,opt,name=resolveFinalityConflictRequest,proto3,oneof"`
}
type KaspadMessage_ResolveFinalityConflictResponse struct {
ResolveFinalityConflictResponse *ResolveFinalityConflictResponseMessage `protobuf:"bytes,1038,opt,name=resolveFinalityConflictResponse,proto3,oneof"`
}
type KaspadMessage_NotifyFinalityConflictsRequest struct {
NotifyFinalityConflictsRequest *NotifyFinalityConflictsRequestMessage `protobuf:"bytes,1039,opt,name=notifyFinalityConflictsRequest,proto3,oneof"`
}
type KaspadMessage_NotifyFinalityConflictsResponse struct {
NotifyFinalityConflictsResponse *NotifyFinalityConflictsResponseMessage `protobuf:"bytes,1040,opt,name=notifyFinalityConflictsResponse,proto3,oneof"`
}
type KaspadMessage_FinalityConflictNotification struct {
FinalityConflictNotification *FinalityConflictNotificationMessage `protobuf:"bytes,1041,opt,name=finalityConflictNotification,proto3,oneof"`
}
type KaspadMessage_FinalityConflictResolvedNotification struct {
FinalityConflictResolvedNotification *FinalityConflictResolvedNotificationMessage `protobuf:"bytes,1042,opt,name=finalityConflictResolvedNotification,proto3,oneof"`
}
type KaspadMessage_GetMempoolEntriesRequest struct {
GetMempoolEntriesRequest *GetMempoolEntriesRequestMessage `protobuf:"bytes,1043,opt,name=getMempoolEntriesRequest,proto3,oneof"`
}
type KaspadMessage_GetMempoolEntriesResponse struct {
GetMempoolEntriesResponse *GetMempoolEntriesResponseMessage `protobuf:"bytes,1044,opt,name=getMempoolEntriesResponse,proto3,oneof"`
}
type KaspadMessage_ShutDownRequest struct {
ShutDownRequest *ShutDownRequestMessage `protobuf:"bytes,1045,opt,name=shutDownRequest,proto3,oneof"`
}
type KaspadMessage_ShutDownResponse struct {
ShutDownResponse *ShutDownResponseMessage `protobuf:"bytes,1046,opt,name=shutDownResponse,proto3,oneof"`
}
type KaspadMessage_GetHeadersRequest struct {
GetHeadersRequest *GetHeadersRequestMessage `protobuf:"bytes,1047,opt,name=getHeadersRequest,proto3,oneof"`
}
type KaspadMessage_GetHeadersResponse struct {
GetHeadersResponse *GetHeadersResponseMessage `protobuf:"bytes,1048,opt,name=getHeadersResponse,proto3,oneof"`
}
type KaspadMessage_NotifyUtxosChangedRequest struct {
NotifyUtxosChangedRequest *NotifyUtxosChangedRequestMessage `protobuf:"bytes,1049,opt,name=notifyUtxosChangedRequest,proto3,oneof"`
}
type KaspadMessage_NotifyUtxosChangedResponse struct {
NotifyUtxosChangedResponse *NotifyUtxosChangedResponseMessage `protobuf:"bytes,1050,opt,name=notifyUtxosChangedResponse,proto3,oneof"`
}
type KaspadMessage_UtxosChangedNotification struct {
UtxosChangedNotification *UtxosChangedNotificationMessage `protobuf:"bytes,1051,opt,name=utxosChangedNotification,proto3,oneof"`
}
type KaspadMessage_GetUtxosByAddressesRequest struct {
GetUtxosByAddressesRequest *GetUtxosByAddressesRequestMessage `protobuf:"bytes,1052,opt,name=getUtxosByAddressesRequest,proto3,oneof"`
}
type KaspadMessage_GetUtxosByAddressesResponse struct {
GetUtxosByAddressesResponse *GetUtxosByAddressesResponseMessage `protobuf:"bytes,1053,opt,name=getUtxosByAddressesResponse,proto3,oneof"`
}
type KaspadMessage_GetVirtualSelectedParentBlueScoreRequest struct {
GetVirtualSelectedParentBlueScoreRequest *GetVirtualSelectedParentBlueScoreRequestMessage `protobuf:"bytes,1054,opt,name=getVirtualSelectedParentBlueScoreRequest,proto3,oneof"`
}
type KaspadMessage_GetVirtualSelectedParentBlueScoreResponse struct {
GetVirtualSelectedParentBlueScoreResponse *GetVirtualSelectedParentBlueScoreResponseMessage `protobuf:"bytes,1055,opt,name=getVirtualSelectedParentBlueScoreResponse,proto3,oneof"`
}
type KaspadMessage_NotifyVirtualSelectedParentBlueScoreChangedRequest struct {
NotifyVirtualSelectedParentBlueScoreChangedRequest *NotifyVirtualSelectedParentBlueScoreChangedRequestMessage `protobuf:"bytes,1056,opt,name=notifyVirtualSelectedParentBlueScoreChangedRequest,proto3,oneof"`
}
type KaspadMessage_NotifyVirtualSelectedParentBlueScoreChangedResponse struct {
NotifyVirtualSelectedParentBlueScoreChangedResponse *NotifyVirtualSelectedParentBlueScoreChangedResponseMessage `protobuf:"bytes,1057,opt,name=notifyVirtualSelectedParentBlueScoreChangedResponse,proto3,oneof"`
}
type KaspadMessage_VirtualSelectedParentBlueScoreChangedNotification struct {
VirtualSelectedParentBlueScoreChangedNotification *VirtualSelectedParentBlueScoreChangedNotificationMessage `protobuf:"bytes,1058,opt,name=virtualSelectedParentBlueScoreChangedNotification,proto3,oneof"`
}
func (*KaspadMessage_Addresses) isKaspadMessage_Payload() {}
func (*KaspadMessage_Block) isKaspadMessage_Payload() {}
func (*KaspadMessage_Transaction) isKaspadMessage_Payload() {}
func (*KaspadMessage_RequestBlockLocator) isKaspadMessage_Payload() {}
func (*KaspadMessage_BlockLocator) isKaspadMessage_Payload() {}
func (*KaspadMessage_RequestAddresses) isKaspadMessage_Payload() {}
func (*KaspadMessage_RequestHeaders) isKaspadMessage_Payload() {}
func (*KaspadMessage_RequestNextHeaders) isKaspadMessage_Payload() {}
func (*KaspadMessage_DoneHeaders) isKaspadMessage_Payload() {}
func (*KaspadMessage_RequestRelayBlocks) isKaspadMessage_Payload() {}
func (*KaspadMessage_RequestTransactions) isKaspadMessage_Payload() {}
func (*KaspadMessage_IbdBlock) isKaspadMessage_Payload() {}
func (*KaspadMessage_InvRelayBlock) isKaspadMessage_Payload() {}
func (*KaspadMessage_InvTransactions) isKaspadMessage_Payload() {}
func (*KaspadMessage_Ping) isKaspadMessage_Payload() {}
func (*KaspadMessage_Pong) isKaspadMessage_Payload() {}
func (*KaspadMessage_Verack) isKaspadMessage_Payload() {}
func (*KaspadMessage_Version) isKaspadMessage_Payload() {}
func (*KaspadMessage_TransactionNotFound) isKaspadMessage_Payload() {}
func (*KaspadMessage_Reject) isKaspadMessage_Payload() {}
func (*KaspadMessage_RequestIBDRootUTXOSetAndBlock) isKaspadMessage_Payload() {}
func (*KaspadMessage_IbdRootUTXOSetAndBlock) isKaspadMessage_Payload() {}
func (*KaspadMessage_RequestIBDBlocks) isKaspadMessage_Payload() {}
func (*KaspadMessage_IbdRootNotFound) isKaspadMessage_Payload() {}
func (*KaspadMessage_RequestIBDRootHash) isKaspadMessage_Payload() {}
func (*KaspadMessage_IbdRootHash) isKaspadMessage_Payload() {}
func (*KaspadMessage_IbdBlockLocator) isKaspadMessage_Payload() {}
func (*KaspadMessage_IbdBlockLocatorHighestHash) isKaspadMessage_Payload() {}
func (*KaspadMessage_BlockHeaders) isKaspadMessage_Payload() {}
func (*KaspadMessage_GetCurrentNetworkRequest) isKaspadMessage_Payload() {}
func (*KaspadMessage_GetCurrentNetworkResponse) isKaspadMessage_Payload() {}
func (*KaspadMessage_SubmitBlockRequest) isKaspadMessage_Payload() {}
func (*KaspadMessage_SubmitBlockResponse) isKaspadMessage_Payload() {}
func (*KaspadMessage_GetBlockTemplateRequest) isKaspadMessage_Payload() {}
func (*KaspadMessage_GetBlockTemplateResponse) isKaspadMessage_Payload() {}
func (*KaspadMessage_NotifyBlockAddedRequest) isKaspadMessage_Payload() {}
func (*KaspadMessage_NotifyBlockAddedResponse) isKaspadMessage_Payload() {}
func (*KaspadMessage_BlockAddedNotification) isKaspadMessage_Payload() {}
func (*KaspadMessage_GetPeerAddressesRequest) isKaspadMessage_Payload() {}
func (*KaspadMessage_GetPeerAddressesResponse) isKaspadMessage_Payload() {}
func (*KaspadMessage_GetSelectedTipHashRequest) isKaspadMessage_Payload() {}
func (*KaspadMessage_GetSelectedTipHashResponse) isKaspadMessage_Payload() {}
func (*KaspadMessage_GetMempoolEntryRequest) isKaspadMessage_Payload() {}
func (*KaspadMessage_GetMempoolEntryResponse) isKaspadMessage_Payload() {}
func (*KaspadMessage_GetConnectedPeerInfoRequest) isKaspadMessage_Payload() {}
func (*KaspadMessage_GetConnectedPeerInfoResponse) isKaspadMessage_Payload() {}
func (*KaspadMessage_AddPeerRequest) isKaspadMessage_Payload() {}
func (*KaspadMessage_AddPeerResponse) isKaspadMessage_Payload() {}
func (*KaspadMessage_SubmitTransactionRequest) isKaspadMessage_Payload() {}
func (*KaspadMessage_SubmitTransactionResponse) isKaspadMessage_Payload() {}
func (*KaspadMessage_NotifyVirtualSelectedParentChainChangedRequest) isKaspadMessage_Payload() {}
func (*KaspadMessage_NotifyVirtualSelectedParentChainChangedResponse) isKaspadMessage_Payload() {}
func (*KaspadMessage_VirtualSelectedParentChainChangedNotification) isKaspadMessage_Payload() {}
func (*KaspadMessage_GetBlockRequest) isKaspadMessage_Payload() {}
func (*KaspadMessage_GetBlockResponse) isKaspadMessage_Payload() {}
func (*KaspadMessage_GetSubnetworkRequest) isKaspadMessage_Payload() {}
func (*KaspadMessage_GetSubnetworkResponse) isKaspadMessage_Payload() {}
func (*KaspadMessage_GetVirtualSelectedParentChainFromBlockRequest) isKaspadMessage_Payload() {}
func (*KaspadMessage_GetVirtualSelectedParentChainFromBlockResponse) isKaspadMessage_Payload() {}
func (*KaspadMessage_GetBlocksRequest) isKaspadMessage_Payload() {}
func (*KaspadMessage_GetBlocksResponse) isKaspadMessage_Payload() {}
func (*KaspadMessage_GetBlockCountRequest) isKaspadMessage_Payload() {}
func (*KaspadMessage_GetBlockCountResponse) isKaspadMessage_Payload() {}
func (*KaspadMessage_GetBlockDagInfoRequest) isKaspadMessage_Payload() {}
func (*KaspadMessage_GetBlockDagInfoResponse) isKaspadMessage_Payload() {}
func (*KaspadMessage_ResolveFinalityConflictRequest) isKaspadMessage_Payload() {}
func (*KaspadMessage_ResolveFinalityConflictResponse) isKaspadMessage_Payload() {}
func (*KaspadMessage_NotifyFinalityConflictsRequest) isKaspadMessage_Payload() {}
func (*KaspadMessage_NotifyFinalityConflictsResponse) isKaspadMessage_Payload() {}
func (*KaspadMessage_FinalityConflictNotification) isKaspadMessage_Payload() {}
func (*KaspadMessage_FinalityConflictResolvedNotification) isKaspadMessage_Payload() {}
func (*KaspadMessage_GetMempoolEntriesRequest) isKaspadMessage_Payload() {}
func (*KaspadMessage_GetMempoolEntriesResponse) isKaspadMessage_Payload() {}
func (*KaspadMessage_ShutDownRequest) isKaspadMessage_Payload() {}
func (*KaspadMessage_ShutDownResponse) isKaspadMessage_Payload() {}
func (*KaspadMessage_GetHeadersRequest) isKaspadMessage_Payload() {}
func (*KaspadMessage_GetHeadersResponse) isKaspadMessage_Payload() {}
func (*KaspadMessage_NotifyUtxosChangedRequest) isKaspadMessage_Payload() {}
func (*KaspadMessage_NotifyUtxosChangedResponse) isKaspadMessage_Payload() {}
func (*KaspadMessage_UtxosChangedNotification) isKaspadMessage_Payload() {}
func (*KaspadMessage_GetUtxosByAddressesRequest) isKaspadMessage_Payload() {}
func (*KaspadMessage_GetUtxosByAddressesResponse) isKaspadMessage_Payload() {}
func (*KaspadMessage_GetVirtualSelectedParentBlueScoreRequest) isKaspadMessage_Payload() {}
func (*KaspadMessage_GetVirtualSelectedParentBlueScoreResponse) isKaspadMessage_Payload() {}
func (*KaspadMessage_NotifyVirtualSelectedParentBlueScoreChangedRequest) isKaspadMessage_Payload() {}
func (*KaspadMessage_NotifyVirtualSelectedParentBlueScoreChangedResponse) isKaspadMessage_Payload() {}
func (*KaspadMessage_VirtualSelectedParentBlueScoreChangedNotification) isKaspadMessage_Payload() {}
// RequestAddressesMessage start
type RequestAddressesMessage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
IncludeAllSubnetworks bool `protobuf:"varint,1,opt,name=includeAllSubnetworks,proto3" json:"includeAllSubnetworks,omitempty"`
SubnetworkId *SubnetworkId `protobuf:"bytes,2,opt,name=subnetworkId,proto3" json:"subnetworkId,omitempty"`
}
func (x *RequestAddressesMessage) Reset() {
*x = RequestAddressesMessage{}
if protoimpl.UnsafeEnabled {
mi := &file_messages_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *RequestAddressesMessage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RequestAddressesMessage) ProtoMessage() {}
func (x *RequestAddressesMessage) ProtoReflect() protoreflect.Message {
mi := &file_messages_proto_msgTypes[1]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use RequestAddressesMessage.ProtoReflect.Descriptor instead.
func (*RequestAddressesMessage) Descriptor() ([]byte, []int) {
return file_messages_proto_rawDescGZIP(), []int{1}
}
func (x *RequestAddressesMessage) GetIncludeAllSubnetworks() bool {
if x != nil {
return x.IncludeAllSubnetworks
}
return false
}
func (x *RequestAddressesMessage) GetSubnetworkId() *SubnetworkId {
if x != nil {
return x.SubnetworkId
}
return nil
}
// AddressesMessage start
type AddressesMessage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
AddressList []*NetAddress `protobuf:"bytes,1,rep,name=addressList,proto3" json:"addressList,omitempty"`
}
func (x *AddressesMessage) Reset() {
*x = AddressesMessage{}
if protoimpl.UnsafeEnabled {
mi := &file_messages_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *AddressesMessage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AddressesMessage) ProtoMessage() {}
func (x *AddressesMessage) ProtoReflect() protoreflect.Message {
mi := &file_messages_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 AddressesMessage.ProtoReflect.Descriptor instead.
func (*AddressesMessage) Descriptor() ([]byte, []int) {
return file_messages_proto_rawDescGZIP(), []int{2}
}
func (x *AddressesMessage) GetAddressList() []*NetAddress {
if x != nil {
return x.AddressList
}
return nil
}
type NetAddress struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Timestamp int64 `protobuf:"varint,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
Services uint64 `protobuf:"varint,2,opt,name=services,proto3" json:"services,omitempty"`
Ip []byte `protobuf:"bytes,3,opt,name=ip,proto3" json:"ip,omitempty"`
Port uint32 `protobuf:"varint,4,opt,name=port,proto3" json:"port,omitempty"`
}
func (x *NetAddress) Reset() {
*x = NetAddress{}
if protoimpl.UnsafeEnabled {
mi := &file_messages_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *NetAddress) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*NetAddress) ProtoMessage() {}
func (x *NetAddress) ProtoReflect() protoreflect.Message {
mi := &file_messages_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 NetAddress.ProtoReflect.Descriptor instead.
func (*NetAddress) Descriptor() ([]byte, []int) {
return file_messages_proto_rawDescGZIP(), []int{3}
}
func (x *NetAddress) GetTimestamp() int64 {
if x != nil {
return x.Timestamp
}
return 0
}
func (x *NetAddress) GetServices() uint64 {
if x != nil {
return x.Services
}
return 0
}
func (x *NetAddress) GetIp() []byte {
if x != nil {
return x.Ip
}
return nil
}
func (x *NetAddress) GetPort() uint32 {
if x != nil {
return x.Port
}
return 0
}
type SubnetworkId struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Bytes []byte `protobuf:"bytes,1,opt,name=bytes,proto3" json:"bytes,omitempty"`
}
func (x *SubnetworkId) Reset() {
*x = SubnetworkId{}
if protoimpl.UnsafeEnabled {
mi := &file_messages_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SubnetworkId) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SubnetworkId) ProtoMessage() {}
func (x *SubnetworkId) ProtoReflect() protoreflect.Message {
mi := &file_messages_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 SubnetworkId.ProtoReflect.Descriptor instead.
func (*SubnetworkId) Descriptor() ([]byte, []int) {
return file_messages_proto_rawDescGZIP(), []int{4}
}
func (x *SubnetworkId) GetBytes() []byte {
if x != nil {
return x.Bytes
}
return nil
}
// TransactionMessage start
type TransactionMessage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Version uint32 `protobuf:"varint,1,opt,name=version,proto3" json:"version,omitempty"`
Inputs []*TransactionInput `protobuf:"bytes,2,rep,name=inputs,proto3" json:"inputs,omitempty"`
Outputs []*TransactionOutput `protobuf:"bytes,3,rep,name=outputs,proto3" json:"outputs,omitempty"`
LockTime uint64 `protobuf:"varint,4,opt,name=lockTime,proto3" json:"lockTime,omitempty"`
SubnetworkId *SubnetworkId `protobuf:"bytes,5,opt,name=subnetworkId,proto3" json:"subnetworkId,omitempty"`
Gas uint64 `protobuf:"varint,6,opt,name=gas,proto3" json:"gas,omitempty"`
PayloadHash *Hash `protobuf:"bytes,7,opt,name=payloadHash,proto3" json:"payloadHash,omitempty"`
Payload []byte `protobuf:"bytes,8,opt,name=payload,proto3" json:"payload,omitempty"`
}
func (x *TransactionMessage) Reset() {
*x = TransactionMessage{}
if protoimpl.UnsafeEnabled {
mi := &file_messages_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *TransactionMessage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TransactionMessage) ProtoMessage() {}
func (x *TransactionMessage) ProtoReflect() protoreflect.Message {
mi := &file_messages_proto_msgTypes[5]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use TransactionMessage.ProtoReflect.Descriptor instead.
func (*TransactionMessage) Descriptor() ([]byte, []int) {
return file_messages_proto_rawDescGZIP(), []int{5}
}
func (x *TransactionMessage) GetVersion() uint32 {
if x != nil {
return x.Version
}
return 0
}
func (x *TransactionMessage) GetInputs() []*TransactionInput {
if x != nil {
return x.Inputs
}
return nil
}
func (x *TransactionMessage) GetOutputs() []*TransactionOutput {
if x != nil {
return x.Outputs
}
return nil
}
func (x *TransactionMessage) GetLockTime() uint64 {
if x != nil {
return x.LockTime
}
return 0
}
func (x *TransactionMessage) GetSubnetworkId() *SubnetworkId {
if x != nil {
return x.SubnetworkId
}
return nil
}
func (x *TransactionMessage) GetGas() uint64 {
if x != nil {
return x.Gas
}
return 0
}
func (x *TransactionMessage) GetPayloadHash() *Hash {
if x != nil {
return x.PayloadHash
}
return nil
}
func (x *TransactionMessage) GetPayload() []byte {
if x != nil {
return x.Payload
}
return nil
}
type TransactionInput struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
PreviousOutpoint *Outpoint `protobuf:"bytes,1,opt,name=previousOutpoint,proto3" json:"previousOutpoint,omitempty"`
SignatureScript []byte `protobuf:"bytes,2,opt,name=signatureScript,proto3" json:"signatureScript,omitempty"`
Sequence uint64 `protobuf:"varint,3,opt,name=sequence,proto3" json:"sequence,omitempty"`
}
func (x *TransactionInput) Reset() {
*x = TransactionInput{}
if protoimpl.UnsafeEnabled {
mi := &file_messages_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *TransactionInput) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TransactionInput) ProtoMessage() {}
func (x *TransactionInput) ProtoReflect() protoreflect.Message {
mi := &file_messages_proto_msgTypes[6]
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 TransactionInput.ProtoReflect.Descriptor instead.
func (*TransactionInput) Descriptor() ([]byte, []int) {
return file_messages_proto_rawDescGZIP(), []int{6}
}
func (x *TransactionInput) GetPreviousOutpoint() *Outpoint {
if x != nil {
return x.PreviousOutpoint
}
return nil
}
func (x *TransactionInput) GetSignatureScript() []byte {
if x != nil {
return x.SignatureScript
}
return nil
}
func (x *TransactionInput) GetSequence() uint64 {
if x != nil {
return x.Sequence
}
return 0
}
type Outpoint struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
TransactionId *TransactionId `protobuf:"bytes,1,opt,name=transactionId,proto3" json:"transactionId,omitempty"`
Index uint32 `protobuf:"varint,2,opt,name=index,proto3" json:"index,omitempty"`
}
func (x *Outpoint) Reset() {
*x = Outpoint{}
if protoimpl.UnsafeEnabled {
mi := &file_messages_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Outpoint) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Outpoint) ProtoMessage() {}
func (x *Outpoint) ProtoReflect() protoreflect.Message {
mi := &file_messages_proto_msgTypes[7]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Outpoint.ProtoReflect.Descriptor instead.
func (*Outpoint) Descriptor() ([]byte, []int) {
return file_messages_proto_rawDescGZIP(), []int{7}
}
func (x *Outpoint) GetTransactionId() *TransactionId {
if x != nil {
return x.TransactionId
}
return nil
}
func (x *Outpoint) GetIndex() uint32 {
if x != nil {
return x.Index
}
return 0
}
type TransactionId struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Bytes []byte `protobuf:"bytes,1,opt,name=bytes,proto3" json:"bytes,omitempty"`
}
func (x *TransactionId) Reset() {
*x = TransactionId{}
if protoimpl.UnsafeEnabled {
mi := &file_messages_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *TransactionId) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TransactionId) ProtoMessage() {}
func (x *TransactionId) ProtoReflect() protoreflect.Message {
mi := &file_messages_proto_msgTypes[8]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use TransactionId.ProtoReflect.Descriptor instead.
func (*TransactionId) Descriptor() ([]byte, []int) {
return file_messages_proto_rawDescGZIP(), []int{8}
}
func (x *TransactionId) GetBytes() []byte {
if x != nil {
return x.Bytes
}
return nil
}
type ScriptPublicKey struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Script []byte `protobuf:"bytes,1,opt,name=script,proto3" json:"script,omitempty"`
Version uint32 `protobuf:"varint,2,opt,name=version,proto3" json:"version,omitempty"`
}
func (x *ScriptPublicKey) Reset() {
*x = ScriptPublicKey{}
if protoimpl.UnsafeEnabled {
mi := &file_messages_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ScriptPublicKey) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ScriptPublicKey) ProtoMessage() {}
func (x *ScriptPublicKey) ProtoReflect() protoreflect.Message {
mi := &file_messages_proto_msgTypes[9]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ScriptPublicKey.ProtoReflect.Descriptor instead.
func (*ScriptPublicKey) Descriptor() ([]byte, []int) {
return file_messages_proto_rawDescGZIP(), []int{9}
}
func (x *ScriptPublicKey) GetScript() []byte {
if x != nil {
return x.Script
}
return nil
}
func (x *ScriptPublicKey) GetVersion() uint32 {
if x != nil {
return x.Version
}
return 0
}
type TransactionOutput struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Value uint64 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"`
ScriptPublicKey *ScriptPublicKey `protobuf:"bytes,2,opt,name=scriptPublicKey,proto3" json:"scriptPublicKey,omitempty"`
}
func (x *TransactionOutput) Reset() {
*x = TransactionOutput{}
if protoimpl.UnsafeEnabled {
mi := &file_messages_proto_msgTypes[10]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *TransactionOutput) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TransactionOutput) ProtoMessage() {}
func (x *TransactionOutput) ProtoReflect() protoreflect.Message {
mi := &file_messages_proto_msgTypes[10]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use TransactionOutput.ProtoReflect.Descriptor instead.
func (*TransactionOutput) Descriptor() ([]byte, []int) {
return file_messages_proto_rawDescGZIP(), []int{10}
}
func (x *TransactionOutput) GetValue() uint64 {
if x != nil {
return x.Value
}
return 0
}
func (x *TransactionOutput) GetScriptPublicKey() *ScriptPublicKey {
if x != nil {
return x.ScriptPublicKey
}
return nil
}
// BlockMessage start
type BlockMessage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Header *BlockHeaderMessage `protobuf:"bytes,1,opt,name=header,proto3" json:"header,omitempty"`
Transactions []*TransactionMessage `protobuf:"bytes,2,rep,name=transactions,proto3" json:"transactions,omitempty"`
}
func (x *BlockMessage) Reset() {
*x = BlockMessage{}
if protoimpl.UnsafeEnabled {
mi := &file_messages_proto_msgTypes[11]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *BlockMessage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*BlockMessage) ProtoMessage() {}
func (x *BlockMessage) ProtoReflect() protoreflect.Message {
mi := &file_messages_proto_msgTypes[11]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use BlockMessage.ProtoReflect.Descriptor instead.
func (*BlockMessage) Descriptor() ([]byte, []int) {
return file_messages_proto_rawDescGZIP(), []int{11}
}
func (x *BlockMessage) GetHeader() *BlockHeaderMessage {
if x != nil {
return x.Header
}
return nil
}
func (x *BlockMessage) GetTransactions() []*TransactionMessage {
if x != nil {
return x.Transactions
}
return nil
}
type BlockHeaderMessage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Version uint32 `protobuf:"varint,1,opt,name=version,proto3" json:"version,omitempty"`
ParentHashes []*Hash `protobuf:"bytes,2,rep,name=parentHashes,proto3" json:"parentHashes,omitempty"`
HashMerkleRoot *Hash `protobuf:"bytes,3,opt,name=hashMerkleRoot,proto3" json:"hashMerkleRoot,omitempty"`
AcceptedIdMerkleRoot *Hash `protobuf:"bytes,4,opt,name=acceptedIdMerkleRoot,proto3" json:"acceptedIdMerkleRoot,omitempty"`
UtxoCommitment *Hash `protobuf:"bytes,5,opt,name=utxoCommitment,proto3" json:"utxoCommitment,omitempty"`
Timestamp int64 `protobuf:"varint,6,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
Bits uint32 `protobuf:"varint,7,opt,name=bits,proto3" json:"bits,omitempty"`
Nonce uint64 `protobuf:"varint,8,opt,name=nonce,proto3" json:"nonce,omitempty"`
}
func (x *BlockHeaderMessage) Reset() {
*x = BlockHeaderMessage{}
if protoimpl.UnsafeEnabled {
mi := &file_messages_proto_msgTypes[12]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *BlockHeaderMessage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*BlockHeaderMessage) ProtoMessage() {}
func (x *BlockHeaderMessage) ProtoReflect() protoreflect.Message {
mi := &file_messages_proto_msgTypes[12]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use BlockHeaderMessage.ProtoReflect.Descriptor instead.
func (*BlockHeaderMessage) Descriptor() ([]byte, []int) {
return file_messages_proto_rawDescGZIP(), []int{12}
}
func (x *BlockHeaderMessage) GetVersion() uint32 {
if x != nil {
return x.Version
}
return 0
}
func (x *BlockHeaderMessage) GetParentHashes() []*Hash {
if x != nil {
return x.ParentHashes
}
return nil
}
func (x *BlockHeaderMessage) GetHashMerkleRoot() *Hash {
if x != nil {
return x.HashMerkleRoot
}
return nil
}
func (x *BlockHeaderMessage) GetAcceptedIdMerkleRoot() *Hash {
if x != nil {
return x.AcceptedIdMerkleRoot
}
return nil
}
func (x *BlockHeaderMessage) GetUtxoCommitment() *Hash {
if x != nil {
return x.UtxoCommitment
}
return nil
}
func (x *BlockHeaderMessage) GetTimestamp() int64 {
if x != nil {
return x.Timestamp
}
return 0
}
func (x *BlockHeaderMessage) GetBits() uint32 {
if x != nil {
return x.Bits
}
return 0
}
func (x *BlockHeaderMessage) GetNonce() uint64 {
if x != nil {
return x.Nonce
}
return 0
}
type Hash struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Bytes []byte `protobuf:"bytes,1,opt,name=bytes,proto3" json:"bytes,omitempty"`
}
func (x *Hash) Reset() {
*x = Hash{}
if protoimpl.UnsafeEnabled {
mi := &file_messages_proto_msgTypes[13]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Hash) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Hash) ProtoMessage() {}
func (x *Hash) ProtoReflect() protoreflect.Message {
mi := &file_messages_proto_msgTypes[13]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Hash.ProtoReflect.Descriptor instead.
func (*Hash) Descriptor() ([]byte, []int) {
return file_messages_proto_rawDescGZIP(), []int{13}
}
func (x *Hash) GetBytes() []byte {
if x != nil {
return x.Bytes
}
return nil
}
// GetBlockLocatorMessage start
type RequestBlockLocatorMessage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
LowHash *Hash `protobuf:"bytes,1,opt,name=lowHash,proto3" json:"lowHash,omitempty"`
HighHash *Hash `protobuf:"bytes,2,opt,name=highHash,proto3" json:"highHash,omitempty"`
Limit uint32 `protobuf:"varint,3,opt,name=limit,proto3" json:"limit,omitempty"`
}
func (x *RequestBlockLocatorMessage) Reset() {
*x = RequestBlockLocatorMessage{}
if protoimpl.UnsafeEnabled {
mi := &file_messages_proto_msgTypes[14]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *RequestBlockLocatorMessage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RequestBlockLocatorMessage) ProtoMessage() {}
func (x *RequestBlockLocatorMessage) ProtoReflect() protoreflect.Message {
mi := &file_messages_proto_msgTypes[14]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use RequestBlockLocatorMessage.ProtoReflect.Descriptor instead.
func (*RequestBlockLocatorMessage) Descriptor() ([]byte, []int) {
return file_messages_proto_rawDescGZIP(), []int{14}
}
func (x *RequestBlockLocatorMessage) GetLowHash() *Hash {
if x != nil {
return x.LowHash
}
return nil
}
func (x *RequestBlockLocatorMessage) GetHighHash() *Hash {
if x != nil {
return x.HighHash
}
return nil
}
func (x *RequestBlockLocatorMessage) GetLimit() uint32 {
if x != nil {
return x.Limit
}
return 0
}
// BlockLocatorMessage start
type BlockLocatorMessage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Hashes []*Hash `protobuf:"bytes,1,rep,name=hashes,proto3" json:"hashes,omitempty"`
}
func (x *BlockLocatorMessage) Reset() {
*x = BlockLocatorMessage{}
if protoimpl.UnsafeEnabled {
mi := &file_messages_proto_msgTypes[15]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *BlockLocatorMessage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*BlockLocatorMessage) ProtoMessage() {}
func (x *BlockLocatorMessage) ProtoReflect() protoreflect.Message {
mi := &file_messages_proto_msgTypes[15]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use BlockLocatorMessage.ProtoReflect.Descriptor instead.
func (*BlockLocatorMessage) Descriptor() ([]byte, []int) {
return file_messages_proto_rawDescGZIP(), []int{15}
}
func (x *BlockLocatorMessage) GetHashes() []*Hash {
if x != nil {
return x.Hashes
}
return nil
}
// GetBlocksMessage start
type RequestHeadersMessage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
LowHash *Hash `protobuf:"bytes,1,opt,name=lowHash,proto3" json:"lowHash,omitempty"`
HighHash *Hash `protobuf:"bytes,2,opt,name=highHash,proto3" json:"highHash,omitempty"`
}
func (x *RequestHeadersMessage) Reset() {
*x = RequestHeadersMessage{}
if protoimpl.UnsafeEnabled {
mi := &file_messages_proto_msgTypes[16]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *RequestHeadersMessage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RequestHeadersMessage) ProtoMessage() {}
func (x *RequestHeadersMessage) ProtoReflect() protoreflect.Message {
mi := &file_messages_proto_msgTypes[16]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use RequestHeadersMessage.ProtoReflect.Descriptor instead.
func (*RequestHeadersMessage) Descriptor() ([]byte, []int) {
return file_messages_proto_rawDescGZIP(), []int{16}
}
func (x *RequestHeadersMessage) GetLowHash() *Hash {
if x != nil {
return x.LowHash
}
return nil
}
func (x *RequestHeadersMessage) GetHighHash() *Hash {
if x != nil {
return x.HighHash
}
return nil
}
// RequestNextIBDBlocksMessage start
type RequestNextHeadersMessage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *RequestNextHeadersMessage) Reset() {
*x = RequestNextHeadersMessage{}
if protoimpl.UnsafeEnabled {
mi := &file_messages_proto_msgTypes[17]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *RequestNextHeadersMessage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RequestNextHeadersMessage) ProtoMessage() {}
func (x *RequestNextHeadersMessage) ProtoReflect() protoreflect.Message {
mi := &file_messages_proto_msgTypes[17]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use RequestNextHeadersMessage.ProtoReflect.Descriptor instead.
func (*RequestNextHeadersMessage) Descriptor() ([]byte, []int) {
return file_messages_proto_rawDescGZIP(), []int{17}
}
// DoneIBDBlocksMessage start
type DoneHeadersMessage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *DoneHeadersMessage) Reset() {
*x = DoneHeadersMessage{}
if protoimpl.UnsafeEnabled {
mi := &file_messages_proto_msgTypes[18]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DoneHeadersMessage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DoneHeadersMessage) ProtoMessage() {}
func (x *DoneHeadersMessage) ProtoReflect() protoreflect.Message {
mi := &file_messages_proto_msgTypes[18]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use DoneHeadersMessage.ProtoReflect.Descriptor instead.
func (*DoneHeadersMessage) Descriptor() ([]byte, []int) {
return file_messages_proto_rawDescGZIP(), []int{18}
}
// RequestRelayBlocksMessage start
type RequestRelayBlocksMessage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Hashes []*Hash `protobuf:"bytes,1,rep,name=hashes,proto3" json:"hashes,omitempty"`
}
func (x *RequestRelayBlocksMessage) Reset() {
*x = RequestRelayBlocksMessage{}
if protoimpl.UnsafeEnabled {
mi := &file_messages_proto_msgTypes[19]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *RequestRelayBlocksMessage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RequestRelayBlocksMessage) ProtoMessage() {}
func (x *RequestRelayBlocksMessage) ProtoReflect() protoreflect.Message {
mi := &file_messages_proto_msgTypes[19]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use RequestRelayBlocksMessage.ProtoReflect.Descriptor instead.
func (*RequestRelayBlocksMessage) Descriptor() ([]byte, []int) {
return file_messages_proto_rawDescGZIP(), []int{19}
}
func (x *RequestRelayBlocksMessage) GetHashes() []*Hash {
if x != nil {
return x.Hashes
}
return nil
}
// RequestTransactionsMessage start
type RequestTransactionsMessage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Ids []*TransactionId `protobuf:"bytes,1,rep,name=ids,proto3" json:"ids,omitempty"`
}
func (x *RequestTransactionsMessage) Reset() {
*x = RequestTransactionsMessage{}
if protoimpl.UnsafeEnabled {
mi := &file_messages_proto_msgTypes[20]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *RequestTransactionsMessage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RequestTransactionsMessage) ProtoMessage() {}
func (x *RequestTransactionsMessage) ProtoReflect() protoreflect.Message {
mi := &file_messages_proto_msgTypes[20]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use RequestTransactionsMessage.ProtoReflect.Descriptor instead.
func (*RequestTransactionsMessage) Descriptor() ([]byte, []int) {
return file_messages_proto_rawDescGZIP(), []int{20}
}
func (x *RequestTransactionsMessage) GetIds() []*TransactionId {
if x != nil {
return x.Ids
}
return nil
}
// TransactionNotFoundMessage start
type TransactionNotFoundMessage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id *TransactionId `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
}
func (x *TransactionNotFoundMessage) Reset() {
*x = TransactionNotFoundMessage{}
if protoimpl.UnsafeEnabled {
mi := &file_messages_proto_msgTypes[21]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *TransactionNotFoundMessage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TransactionNotFoundMessage) ProtoMessage() {}
func (x *TransactionNotFoundMessage) ProtoReflect() protoreflect.Message {
mi := &file_messages_proto_msgTypes[21]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use TransactionNotFoundMessage.ProtoReflect.Descriptor instead.
func (*TransactionNotFoundMessage) Descriptor() ([]byte, []int) {
return file_messages_proto_rawDescGZIP(), []int{21}
}
func (x *TransactionNotFoundMessage) GetId() *TransactionId {
if x != nil {
return x.Id
}
return nil
}
// InvRelayBlockMessage start
type InvRelayBlockMessage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Hash *Hash `protobuf:"bytes,1,opt,name=hash,proto3" json:"hash,omitempty"`
}
func (x *InvRelayBlockMessage) Reset() {
*x = InvRelayBlockMessage{}
if protoimpl.UnsafeEnabled {
mi := &file_messages_proto_msgTypes[22]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *InvRelayBlockMessage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*InvRelayBlockMessage) ProtoMessage() {}
func (x *InvRelayBlockMessage) ProtoReflect() protoreflect.Message {
mi := &file_messages_proto_msgTypes[22]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use InvRelayBlockMessage.ProtoReflect.Descriptor instead.
func (*InvRelayBlockMessage) Descriptor() ([]byte, []int) {
return file_messages_proto_rawDescGZIP(), []int{22}
}
func (x *InvRelayBlockMessage) GetHash() *Hash {
if x != nil {
return x.Hash
}
return nil
}
// InvTransactionMessage start
type InvTransactionsMessage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Ids []*TransactionId `protobuf:"bytes,1,rep,name=ids,proto3" json:"ids,omitempty"`
}
func (x *InvTransactionsMessage) Reset() {
*x = InvTransactionsMessage{}
if protoimpl.UnsafeEnabled {
mi := &file_messages_proto_msgTypes[23]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *InvTransactionsMessage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*InvTransactionsMessage) ProtoMessage() {}
func (x *InvTransactionsMessage) ProtoReflect() protoreflect.Message {
mi := &file_messages_proto_msgTypes[23]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use InvTransactionsMessage.ProtoReflect.Descriptor instead.
func (*InvTransactionsMessage) Descriptor() ([]byte, []int) {
return file_messages_proto_rawDescGZIP(), []int{23}
}
func (x *InvTransactionsMessage) GetIds() []*TransactionId {
if x != nil {
return x.Ids
}
return nil
}
// PingMessage start
type PingMessage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Nonce uint64 `protobuf:"varint,1,opt,name=nonce,proto3" json:"nonce,omitempty"`
}
func (x *PingMessage) Reset() {
*x = PingMessage{}
if protoimpl.UnsafeEnabled {
mi := &file_messages_proto_msgTypes[24]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *PingMessage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PingMessage) ProtoMessage() {}
func (x *PingMessage) ProtoReflect() protoreflect.Message {
mi := &file_messages_proto_msgTypes[24]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use PingMessage.ProtoReflect.Descriptor instead.
func (*PingMessage) Descriptor() ([]byte, []int) {
return file_messages_proto_rawDescGZIP(), []int{24}
}
func (x *PingMessage) GetNonce() uint64 {
if x != nil {
return x.Nonce
}
return 0
}
// PongMessage start
type PongMessage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Nonce uint64 `protobuf:"varint,1,opt,name=nonce,proto3" json:"nonce,omitempty"`
}
func (x *PongMessage) Reset() {
*x = PongMessage{}
if protoimpl.UnsafeEnabled {
mi := &file_messages_proto_msgTypes[25]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *PongMessage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PongMessage) ProtoMessage() {}
func (x *PongMessage) ProtoReflect() protoreflect.Message {
mi := &file_messages_proto_msgTypes[25]
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 PongMessage.ProtoReflect.Descriptor instead.
func (*PongMessage) Descriptor() ([]byte, []int) {
return file_messages_proto_rawDescGZIP(), []int{25}
}
func (x *PongMessage) GetNonce() uint64 {
if x != nil {
return x.Nonce
}
return 0
}
// VerackMessage start
type VerackMessage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *VerackMessage) Reset() {
*x = VerackMessage{}
if protoimpl.UnsafeEnabled {
mi := &file_messages_proto_msgTypes[26]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *VerackMessage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*VerackMessage) ProtoMessage() {}
func (x *VerackMessage) ProtoReflect() protoreflect.Message {
mi := &file_messages_proto_msgTypes[26]
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 VerackMessage.ProtoReflect.Descriptor instead.
func (*VerackMessage) Descriptor() ([]byte, []int) {
return file_messages_proto_rawDescGZIP(), []int{26}
}
// VersionMessage start
type VersionMessage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ProtocolVersion uint32 `protobuf:"varint,1,opt,name=protocolVersion,proto3" json:"protocolVersion,omitempty"`
Services uint64 `protobuf:"varint,2,opt,name=services,proto3" json:"services,omitempty"`
Timestamp int64 `protobuf:"varint,3,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
Address *NetAddress `protobuf:"bytes,4,opt,name=address,proto3" json:"address,omitempty"`
Id []byte `protobuf:"bytes,5,opt,name=id,proto3" json:"id,omitempty"`
UserAgent string `protobuf:"bytes,6,opt,name=userAgent,proto3" json:"userAgent,omitempty"`
DisableRelayTx bool `protobuf:"varint,8,opt,name=disableRelayTx,proto3" json:"disableRelayTx,omitempty"`
SubnetworkId *SubnetworkId `protobuf:"bytes,9,opt,name=subnetworkId,proto3" json:"subnetworkId,omitempty"`
Network string `protobuf:"bytes,10,opt,name=network,proto3" json:"network,omitempty"`
}
func (x *VersionMessage) Reset() {
*x = VersionMessage{}
if protoimpl.UnsafeEnabled {
mi := &file_messages_proto_msgTypes[27]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *VersionMessage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*VersionMessage) ProtoMessage() {}
func (x *VersionMessage) ProtoReflect() protoreflect.Message {
mi := &file_messages_proto_msgTypes[27]
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 VersionMessage.ProtoReflect.Descriptor instead.
func (*VersionMessage) Descriptor() ([]byte, []int) {
return file_messages_proto_rawDescGZIP(), []int{27}
}
func (x *VersionMessage) GetProtocolVersion() uint32 {
if x != nil {
return x.ProtocolVersion
}
return 0
}
func (x *VersionMessage) GetServices() uint64 {
if x != nil {
return x.Services
}
return 0
}
func (x *VersionMessage) GetTimestamp() int64 {
if x != nil {
return x.Timestamp
}
return 0
}
func (x *VersionMessage) GetAddress() *NetAddress {
if x != nil {
return x.Address
}
return nil
}
func (x *VersionMessage) GetId() []byte {
if x != nil {
return x.Id
}
return nil
}
func (x *VersionMessage) GetUserAgent() string {
if x != nil {
return x.UserAgent
}
return ""
}
func (x *VersionMessage) GetDisableRelayTx() bool {
if x != nil {
return x.DisableRelayTx
}
return false
}
func (x *VersionMessage) GetSubnetworkId() *SubnetworkId {
if x != nil {
return x.SubnetworkId
}
return nil
}
func (x *VersionMessage) GetNetwork() string {
if x != nil {
return x.Network
}
return ""
}
// RejectMessage start
type RejectMessage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Reason string `protobuf:"bytes,1,opt,name=reason,proto3" json:"reason,omitempty"`
}
func (x *RejectMessage) Reset() {
*x = RejectMessage{}
if protoimpl.UnsafeEnabled {
mi := &file_messages_proto_msgTypes[28]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *RejectMessage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RejectMessage) ProtoMessage() {}
func (x *RejectMessage) ProtoReflect() protoreflect.Message {
mi := &file_messages_proto_msgTypes[28]
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 RejectMessage.ProtoReflect.Descriptor instead.
func (*RejectMessage) Descriptor() ([]byte, []int) {
return file_messages_proto_rawDescGZIP(), []int{28}
}
func (x *RejectMessage) GetReason() string {
if x != nil {
return x.Reason
}
return ""
}
// RequestIBDRootUTXOSetAndBlockMessage start
type RequestIBDRootUTXOSetAndBlockMessage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
IbdRoot *Hash `protobuf:"bytes,1,opt,name=ibdRoot,proto3" json:"ibdRoot,omitempty"`
}
func (x *RequestIBDRootUTXOSetAndBlockMessage) Reset() {
*x = RequestIBDRootUTXOSetAndBlockMessage{}
if protoimpl.UnsafeEnabled {
mi := &file_messages_proto_msgTypes[29]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *RequestIBDRootUTXOSetAndBlockMessage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RequestIBDRootUTXOSetAndBlockMessage) ProtoMessage() {}
func (x *RequestIBDRootUTXOSetAndBlockMessage) ProtoReflect() protoreflect.Message {
mi := &file_messages_proto_msgTypes[29]
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 RequestIBDRootUTXOSetAndBlockMessage.ProtoReflect.Descriptor instead.
func (*RequestIBDRootUTXOSetAndBlockMessage) Descriptor() ([]byte, []int) {
return file_messages_proto_rawDescGZIP(), []int{29}
}
func (x *RequestIBDRootUTXOSetAndBlockMessage) GetIbdRoot() *Hash {
if x != nil {
return x.IbdRoot
}
return nil
}
// IBDRootUTXOSetAndBlockMessage start
type IBDRootUTXOSetAndBlockMessage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
UtxoSet []byte `protobuf:"bytes,1,opt,name=utxoSet,proto3" json:"utxoSet,omitempty"`
Block *BlockMessage `protobuf:"bytes,2,opt,name=block,proto3" json:"block,omitempty"`
}
func (x *IBDRootUTXOSetAndBlockMessage) Reset() {
*x = IBDRootUTXOSetAndBlockMessage{}
if protoimpl.UnsafeEnabled {
mi := &file_messages_proto_msgTypes[30]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *IBDRootUTXOSetAndBlockMessage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*IBDRootUTXOSetAndBlockMessage) ProtoMessage() {}
func (x *IBDRootUTXOSetAndBlockMessage) ProtoReflect() protoreflect.Message {
mi := &file_messages_proto_msgTypes[30]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use IBDRootUTXOSetAndBlockMessage.ProtoReflect.Descriptor instead.
func (*IBDRootUTXOSetAndBlockMessage) Descriptor() ([]byte, []int) {
return file_messages_proto_rawDescGZIP(), []int{30}
}
func (x *IBDRootUTXOSetAndBlockMessage) GetUtxoSet() []byte {
if x != nil {
return x.UtxoSet
}
return nil
}
func (x *IBDRootUTXOSetAndBlockMessage) GetBlock() *BlockMessage {
if x != nil {
return x.Block
}
return nil
}
// RequestIBDBlocksMessage start
type RequestIBDBlocksMessage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Hashes []*Hash `protobuf:"bytes,1,rep,name=hashes,proto3" json:"hashes,omitempty"`
}
func (x *RequestIBDBlocksMessage) Reset() {
*x = RequestIBDBlocksMessage{}
if protoimpl.UnsafeEnabled {
mi := &file_messages_proto_msgTypes[31]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *RequestIBDBlocksMessage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RequestIBDBlocksMessage) ProtoMessage() {}
func (x *RequestIBDBlocksMessage) ProtoReflect() protoreflect.Message {
mi := &file_messages_proto_msgTypes[31]
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 RequestIBDBlocksMessage.ProtoReflect.Descriptor instead.
func (*RequestIBDBlocksMessage) Descriptor() ([]byte, []int) {
return file_messages_proto_rawDescGZIP(), []int{31}
}
func (x *RequestIBDBlocksMessage) GetHashes() []*Hash {
if x != nil {
return x.Hashes
}
return nil
}
// IBDRootNotFoundMessage start
type IBDRootNotFoundMessage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *IBDRootNotFoundMessage) Reset() {
*x = IBDRootNotFoundMessage{}
if protoimpl.UnsafeEnabled {
mi := &file_messages_proto_msgTypes[32]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *IBDRootNotFoundMessage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*IBDRootNotFoundMessage) ProtoMessage() {}
func (x *IBDRootNotFoundMessage) ProtoReflect() protoreflect.Message {
mi := &file_messages_proto_msgTypes[32]
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 IBDRootNotFoundMessage.ProtoReflect.Descriptor instead.
func (*IBDRootNotFoundMessage) Descriptor() ([]byte, []int) {
return file_messages_proto_rawDescGZIP(), []int{32}
}
// RequestIBDRootHashMessage start
type RequestIBDRootHashMessage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *RequestIBDRootHashMessage) Reset() {
*x = RequestIBDRootHashMessage{}
if protoimpl.UnsafeEnabled {
mi := &file_messages_proto_msgTypes[33]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *RequestIBDRootHashMessage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RequestIBDRootHashMessage) ProtoMessage() {}
func (x *RequestIBDRootHashMessage) ProtoReflect() protoreflect.Message {
mi := &file_messages_proto_msgTypes[33]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use RequestIBDRootHashMessage.ProtoReflect.Descriptor instead.
func (*RequestIBDRootHashMessage) Descriptor() ([]byte, []int) {
return file_messages_proto_rawDescGZIP(), []int{33}
}
// IBDRootHashMessage start
type IBDRootHashMessage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Hash *Hash `protobuf:"bytes,1,opt,name=hash,proto3" json:"hash,omitempty"`
}
func (x *IBDRootHashMessage) Reset() {
*x = IBDRootHashMessage{}
if protoimpl.UnsafeEnabled {
mi := &file_messages_proto_msgTypes[34]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *IBDRootHashMessage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*IBDRootHashMessage) ProtoMessage() {}
func (x *IBDRootHashMessage) ProtoReflect() protoreflect.Message {
mi := &file_messages_proto_msgTypes[34]
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 IBDRootHashMessage.ProtoReflect.Descriptor instead.
func (*IBDRootHashMessage) Descriptor() ([]byte, []int) {
return file_messages_proto_rawDescGZIP(), []int{34}
}
func (x *IBDRootHashMessage) GetHash() *Hash {
if x != nil {
return x.Hash
}
return nil
}
// IbdBlockLocatorMessage start
type IbdBlockLocatorMessage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
TargetHash *Hash `protobuf:"bytes,1,opt,name=targetHash,proto3" json:"targetHash,omitempty"`
BlockLocatorHashes []*Hash `protobuf:"bytes,2,rep,name=blockLocatorHashes,proto3" json:"blockLocatorHashes,omitempty"`
}
func (x *IbdBlockLocatorMessage) Reset() {
*x = IbdBlockLocatorMessage{}
if protoimpl.UnsafeEnabled {
mi := &file_messages_proto_msgTypes[35]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *IbdBlockLocatorMessage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*IbdBlockLocatorMessage) ProtoMessage() {}
func (x *IbdBlockLocatorMessage) ProtoReflect() protoreflect.Message {
mi := &file_messages_proto_msgTypes[35]
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 IbdBlockLocatorMessage.ProtoReflect.Descriptor instead.
func (*IbdBlockLocatorMessage) Descriptor() ([]byte, []int) {
return file_messages_proto_rawDescGZIP(), []int{35}
}
func (x *IbdBlockLocatorMessage) GetTargetHash() *Hash {
if x != nil {
return x.TargetHash
}
return nil
}
func (x *IbdBlockLocatorMessage) GetBlockLocatorHashes() []*Hash {
if x != nil {
return x.BlockLocatorHashes
}
return nil
}
// IbdBlockLocatorHighestHashMessage start
type IbdBlockLocatorHighestHashMessage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
HighestHash *Hash `protobuf:"bytes,1,opt,name=highestHash,proto3" json:"highestHash,omitempty"`
}
func (x *IbdBlockLocatorHighestHashMessage) Reset() {
*x = IbdBlockLocatorHighestHashMessage{}
if protoimpl.UnsafeEnabled {
mi := &file_messages_proto_msgTypes[36]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *IbdBlockLocatorHighestHashMessage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*IbdBlockLocatorHighestHashMessage) ProtoMessage() {}
func (x *IbdBlockLocatorHighestHashMessage) ProtoReflect() protoreflect.Message {
mi := &file_messages_proto_msgTypes[36]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use IbdBlockLocatorHighestHashMessage.ProtoReflect.Descriptor instead.
func (*IbdBlockLocatorHighestHashMessage) Descriptor() ([]byte, []int) {
return file_messages_proto_rawDescGZIP(), []int{36}
}
func (x *IbdBlockLocatorHighestHashMessage) GetHighestHash() *Hash {
if x != nil {
return x.HighestHash
}
return nil
}
type BlockHeadersMessage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
BlockHeaders []*BlockHeaderMessage `protobuf:"bytes,1,rep,name=blockHeaders,proto3" json:"blockHeaders,omitempty"`
}
func (x *BlockHeadersMessage) Reset() {
*x = BlockHeadersMessage{}
if protoimpl.UnsafeEnabled {
mi := &file_messages_proto_msgTypes[37]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *BlockHeadersMessage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*BlockHeadersMessage) ProtoMessage() {}
func (x *BlockHeadersMessage) ProtoReflect() protoreflect.Message {
mi := &file_messages_proto_msgTypes[37]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use BlockHeadersMessage.ProtoReflect.Descriptor instead.
func (*BlockHeadersMessage) Descriptor() ([]byte, []int) {
return file_messages_proto_rawDescGZIP(), []int{37}
}
func (x *BlockHeadersMessage) GetBlockHeaders() []*BlockHeaderMessage {
if x != nil {
return x.BlockHeaders
}
return nil
}
type RPCError struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Message string `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"`
}
func (x *RPCError) Reset() {
*x = RPCError{}
if protoimpl.UnsafeEnabled {
mi := &file_messages_proto_msgTypes[38]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *RPCError) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RPCError) ProtoMessage() {}
func (x *RPCError) ProtoReflect() protoreflect.Message {
mi := &file_messages_proto_msgTypes[38]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use RPCError.ProtoReflect.Descriptor instead.
func (*RPCError) Descriptor() ([]byte, []int) {
return file_messages_proto_rawDescGZIP(), []int{38}
}
func (x *RPCError) GetMessage() string {
if x != nil {
return x.Message
}
return ""
}
type GetCurrentNetworkRequestMessage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *GetCurrentNetworkRequestMessage) Reset() {
*x = GetCurrentNetworkRequestMessage{}
if protoimpl.UnsafeEnabled {
mi := &file_messages_proto_msgTypes[39]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetCurrentNetworkRequestMessage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetCurrentNetworkRequestMessage) ProtoMessage() {}
func (x *GetCurrentNetworkRequestMessage) ProtoReflect() protoreflect.Message {
mi := &file_messages_proto_msgTypes[39]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetCurrentNetworkRequestMessage.ProtoReflect.Descriptor instead.
func (*GetCurrentNetworkRequestMessage) Descriptor() ([]byte, []int) {
return file_messages_proto_rawDescGZIP(), []int{39}
}
type GetCurrentNetworkResponseMessage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
CurrentNetwork string `protobuf:"bytes,1,opt,name=currentNetwork,proto3" json:"currentNetwork,omitempty"`
Error *RPCError `protobuf:"bytes,1000,opt,name=error,proto3" json:"error,omitempty"`
}
func (x *GetCurrentNetworkResponseMessage) Reset() {
*x = GetCurrentNetworkResponseMessage{}
if protoimpl.UnsafeEnabled {
mi := &file_messages_proto_msgTypes[40]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetCurrentNetworkResponseMessage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetCurrentNetworkResponseMessage) ProtoMessage() {}
func (x *GetCurrentNetworkResponseMessage) ProtoReflect() protoreflect.Message {
mi := &file_messages_proto_msgTypes[40]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetCurrentNetworkResponseMessage.ProtoReflect.Descriptor instead.
func (*GetCurrentNetworkResponseMessage) Descriptor() ([]byte, []int) {
return file_messages_proto_rawDescGZIP(), []int{40}
}
func (x *GetCurrentNetworkResponseMessage) GetCurrentNetwork() string {
if x != nil {
return x.CurrentNetwork
}
return ""
}
func (x *GetCurrentNetworkResponseMessage) GetError() *RPCError {
if x != nil {
return x.Error
}
return nil
}
type SubmitBlockRequestMessage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Block *BlockMessage `protobuf:"bytes,1,opt,name=block,proto3" json:"block,omitempty"`
}
func (x *SubmitBlockRequestMessage) Reset() {
*x = SubmitBlockRequestMessage{}
if protoimpl.UnsafeEnabled {
mi := &file_messages_proto_msgTypes[41]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SubmitBlockRequestMessage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SubmitBlockRequestMessage) ProtoMessage() {}
func (x *SubmitBlockRequestMessage) ProtoReflect() protoreflect.Message {
mi := &file_messages_proto_msgTypes[41]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SubmitBlockRequestMessage.ProtoReflect.Descriptor instead.
func (*SubmitBlockRequestMessage) Descriptor() ([]byte, []int) {
return file_messages_proto_rawDescGZIP(), []int{41}
}
func (x *SubmitBlockRequestMessage) GetBlock() *BlockMessage {
if x != nil {
return x.Block
}
return nil
}
type SubmitBlockResponseMessage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Error *RPCError `protobuf:"bytes,1000,opt,name=error,proto3" json:"error,omitempty"`
}
func (x *SubmitBlockResponseMessage) Reset() {
*x = SubmitBlockResponseMessage{}
if protoimpl.UnsafeEnabled {
mi := &file_messages_proto_msgTypes[42]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SubmitBlockResponseMessage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SubmitBlockResponseMessage) ProtoMessage() {}
func (x *SubmitBlockResponseMessage) ProtoReflect() protoreflect.Message {
mi := &file_messages_proto_msgTypes[42]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SubmitBlockResponseMessage.ProtoReflect.Descriptor instead.
func (*SubmitBlockResponseMessage) Descriptor() ([]byte, []int) {
return file_messages_proto_rawDescGZIP(), []int{42}
}
func (x *SubmitBlockResponseMessage) GetError() *RPCError {
if x != nil {
return x.Error
}
return nil
}
type GetBlockTemplateRequestMessage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
PayAddress string `protobuf:"bytes,1,opt,name=payAddress,proto3" json:"payAddress,omitempty"`
}
func (x *GetBlockTemplateRequestMessage) Reset() {
*x = GetBlockTemplateRequestMessage{}
if protoimpl.UnsafeEnabled {
mi := &file_messages_proto_msgTypes[43]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetBlockTemplateRequestMessage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetBlockTemplateRequestMessage) ProtoMessage() {}
func (x *GetBlockTemplateRequestMessage) ProtoReflect() protoreflect.Message {
mi := &file_messages_proto_msgTypes[43]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetBlockTemplateRequestMessage.ProtoReflect.Descriptor instead.
func (*GetBlockTemplateRequestMessage) Descriptor() ([]byte, []int) {
return file_messages_proto_rawDescGZIP(), []int{43}
}
func (x *GetBlockTemplateRequestMessage) GetPayAddress() string {
if x != nil {
return x.PayAddress
}
return ""
}
type GetBlockTemplateResponseMessage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
BlockMessage *BlockMessage `protobuf:"bytes,1,opt,name=blockMessage,proto3" json:"blockMessage,omitempty"`
IsSynced bool `protobuf:"varint,2,opt,name=isSynced,proto3" json:"isSynced,omitempty"`
Error *RPCError `protobuf:"bytes,1000,opt,name=error,proto3" json:"error,omitempty"`
}
func (x *GetBlockTemplateResponseMessage) Reset() {
*x = GetBlockTemplateResponseMessage{}
if protoimpl.UnsafeEnabled {
mi := &file_messages_proto_msgTypes[44]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetBlockTemplateResponseMessage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetBlockTemplateResponseMessage) ProtoMessage() {}
func (x *GetBlockTemplateResponseMessage) ProtoReflect() protoreflect.Message {
mi := &file_messages_proto_msgTypes[44]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetBlockTemplateResponseMessage.ProtoReflect.Descriptor instead.
func (*GetBlockTemplateResponseMessage) Descriptor() ([]byte, []int) {
return file_messages_proto_rawDescGZIP(), []int{44}
}
func (x *GetBlockTemplateResponseMessage) GetBlockMessage() *BlockMessage {
if x != nil {
return x.BlockMessage
}
return nil
}
func (x *GetBlockTemplateResponseMessage) GetIsSynced() bool {
if x != nil {
return x.IsSynced
}
return false
}
func (x *GetBlockTemplateResponseMessage) GetError() *RPCError {
if x != nil {
return x.Error
}
return nil
}
type NotifyBlockAddedRequestMessage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *NotifyBlockAddedRequestMessage) Reset() {
*x = NotifyBlockAddedRequestMessage{}
if protoimpl.UnsafeEnabled {
mi := &file_messages_proto_msgTypes[45]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *NotifyBlockAddedRequestMessage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*NotifyBlockAddedRequestMessage) ProtoMessage() {}
func (x *NotifyBlockAddedRequestMessage) ProtoReflect() protoreflect.Message {
mi := &file_messages_proto_msgTypes[45]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use NotifyBlockAddedRequestMessage.ProtoReflect.Descriptor instead.
func (*NotifyBlockAddedRequestMessage) Descriptor() ([]byte, []int) {
return file_messages_proto_rawDescGZIP(), []int{45}
}
type NotifyBlockAddedResponseMessage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Error *RPCError `protobuf:"bytes,1000,opt,name=error,proto3" json:"error,omitempty"`
}
func (x *NotifyBlockAddedResponseMessage) Reset() {
*x = NotifyBlockAddedResponseMessage{}
if protoimpl.UnsafeEnabled {
mi := &file_messages_proto_msgTypes[46]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *NotifyBlockAddedResponseMessage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*NotifyBlockAddedResponseMessage) ProtoMessage() {}
func (x *NotifyBlockAddedResponseMessage) ProtoReflect() protoreflect.Message {
mi := &file_messages_proto_msgTypes[46]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use NotifyBlockAddedResponseMessage.ProtoReflect.Descriptor instead.
func (*NotifyBlockAddedResponseMessage) Descriptor() ([]byte, []int) {
return file_messages_proto_rawDescGZIP(), []int{46}
}
func (x *NotifyBlockAddedResponseMessage) GetError() *RPCError {
if x != nil {
return x.Error
}
return nil
}
type BlockAddedNotificationMessage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Block *BlockMessage `protobuf:"bytes,1,opt,name=block,proto3" json:"block,omitempty"`
}
func (x *BlockAddedNotificationMessage) Reset() {
*x = BlockAddedNotificationMessage{}
if protoimpl.UnsafeEnabled {
mi := &file_messages_proto_msgTypes[47]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *BlockAddedNotificationMessage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*BlockAddedNotificationMessage) ProtoMessage() {}
func (x *BlockAddedNotificationMessage) ProtoReflect() protoreflect.Message {
mi := &file_messages_proto_msgTypes[47]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use BlockAddedNotificationMessage.ProtoReflect.Descriptor instead.
func (*BlockAddedNotificationMessage) Descriptor() ([]byte, []int) {
return file_messages_proto_rawDescGZIP(), []int{47}
}
func (x *BlockAddedNotificationMessage) GetBlock() *BlockMessage {
if x != nil {
return x.Block
}
return nil
}
type GetPeerAddressesRequestMessage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *GetPeerAddressesRequestMessage) Reset() {
*x = GetPeerAddressesRequestMessage{}
if protoimpl.UnsafeEnabled {
mi := &file_messages_proto_msgTypes[48]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetPeerAddressesRequestMessage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetPeerAddressesRequestMessage) ProtoMessage() {}
func (x *GetPeerAddressesRequestMessage) ProtoReflect() protoreflect.Message {
mi := &file_messages_proto_msgTypes[48]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetPeerAddressesRequestMessage.ProtoReflect.Descriptor instead.
func (*GetPeerAddressesRequestMessage) Descriptor() ([]byte, []int) {
return file_messages_proto_rawDescGZIP(), []int{48}
}
type GetPeerAddressesResponseMessage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Addresses []*GetPeerAddressesKnownAddressMessage `protobuf:"bytes,1,rep,name=addresses,proto3" json:"addresses,omitempty"`
BannedAddresses []*GetPeerAddressesKnownAddressMessage `protobuf:"bytes,2,rep,name=bannedAddresses,proto3" json:"bannedAddresses,omitempty"`
Error *RPCError `protobuf:"bytes,1000,opt,name=error,proto3" json:"error,omitempty"`
}
func (x *GetPeerAddressesResponseMessage) Reset() {
*x = GetPeerAddressesResponseMessage{}
if protoimpl.UnsafeEnabled {
mi := &file_messages_proto_msgTypes[49]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetPeerAddressesResponseMessage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetPeerAddressesResponseMessage) ProtoMessage() {}
func (x *GetPeerAddressesResponseMessage) ProtoReflect() protoreflect.Message {
mi := &file_messages_proto_msgTypes[49]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetPeerAddressesResponseMessage.ProtoReflect.Descriptor instead.
func (*GetPeerAddressesResponseMessage) Descriptor() ([]byte, []int) {
return file_messages_proto_rawDescGZIP(), []int{49}
}
func (x *GetPeerAddressesResponseMessage) GetAddresses() []*GetPeerAddressesKnownAddressMessage {
if x != nil {
return x.Addresses
}
return nil
}
func (x *GetPeerAddressesResponseMessage) GetBannedAddresses() []*GetPeerAddressesKnownAddressMessage {
if x != nil {
return x.BannedAddresses
}
return nil
}
func (x *GetPeerAddressesResponseMessage) GetError() *RPCError {
if x != nil {
return x.Error
}
return nil
}
type GetPeerAddressesKnownAddressMessage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Addr string `protobuf:"bytes,1,opt,name=Addr,proto3" json:"Addr,omitempty"`
}
func (x *GetPeerAddressesKnownAddressMessage) Reset() {
*x = GetPeerAddressesKnownAddressMessage{}
if protoimpl.UnsafeEnabled {
mi := &file_messages_proto_msgTypes[50]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetPeerAddressesKnownAddressMessage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetPeerAddressesKnownAddressMessage) ProtoMessage() {}
func (x *GetPeerAddressesKnownAddressMessage) ProtoReflect() protoreflect.Message {
mi := &file_messages_proto_msgTypes[50]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetPeerAddressesKnownAddressMessage.ProtoReflect.Descriptor instead.
func (*GetPeerAddressesKnownAddressMessage) Descriptor() ([]byte, []int) {
return file_messages_proto_rawDescGZIP(), []int{50}
}
func (x *GetPeerAddressesKnownAddressMessage) GetAddr() string {
if x != nil {
return x.Addr
}
return ""
}
type GetSelectedTipHashRequestMessage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *GetSelectedTipHashRequestMessage) Reset() {
*x = GetSelectedTipHashRequestMessage{}
if protoimpl.UnsafeEnabled {
mi := &file_messages_proto_msgTypes[51]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetSelectedTipHashRequestMessage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetSelectedTipHashRequestMessage) ProtoMessage() {}
func (x *GetSelectedTipHashRequestMessage) ProtoReflect() protoreflect.Message {
mi := &file_messages_proto_msgTypes[51]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetSelectedTipHashRequestMessage.ProtoReflect.Descriptor instead.
func (*GetSelectedTipHashRequestMessage) Descriptor() ([]byte, []int) {
return file_messages_proto_rawDescGZIP(), []int{51}
}
type GetSelectedTipHashResponseMessage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
SelectedTipHash string `protobuf:"bytes,1,opt,name=selectedTipHash,proto3" json:"selectedTipHash,omitempty"`
Error *RPCError `protobuf:"bytes,1000,opt,name=error,proto3" json:"error,omitempty"`
}
func (x *GetSelectedTipHashResponseMessage) Reset() {
*x = GetSelectedTipHashResponseMessage{}
if protoimpl.UnsafeEnabled {
mi := &file_messages_proto_msgTypes[52]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetSelectedTipHashResponseMessage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetSelectedTipHashResponseMessage) ProtoMessage() {}
func (x *GetSelectedTipHashResponseMessage) ProtoReflect() protoreflect.Message {
mi := &file_messages_proto_msgTypes[52]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetSelectedTipHashResponseMessage.ProtoReflect.Descriptor instead.
func (*GetSelectedTipHashResponseMessage) Descriptor() ([]byte, []int) {
return file_messages_proto_rawDescGZIP(), []int{52}
}
func (x *GetSelectedTipHashResponseMessage) GetSelectedTipHash() string {
if x != nil {
return x.SelectedTipHash
}
return ""
}
func (x *GetSelectedTipHashResponseMessage) GetError() *RPCError {
if x != nil {
return x.Error
}
return nil
}
// mempool entries start
type MempoolEntry struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Fee uint64 `protobuf:"varint,1,opt,name=fee,proto3" json:"fee,omitempty"`
TransactionVerboseData *TransactionVerboseData `protobuf:"bytes,2,opt,name=transactionVerboseData,proto3" json:"transactionVerboseData,omitempty"`
}
func (x *MempoolEntry) Reset() {
*x = MempoolEntry{}
if protoimpl.UnsafeEnabled {
mi := &file_messages_proto_msgTypes[53]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *MempoolEntry) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MempoolEntry) ProtoMessage() {}
func (x *MempoolEntry) ProtoReflect() protoreflect.Message {
mi := &file_messages_proto_msgTypes[53]
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 MempoolEntry.ProtoReflect.Descriptor instead.
func (*MempoolEntry) Descriptor() ([]byte, []int) {
return file_messages_proto_rawDescGZIP(), []int{53}
}
func (x *MempoolEntry) GetFee() uint64 {
if x != nil {
return x.Fee
}
return 0
}
func (x *MempoolEntry) GetTransactionVerboseData() *TransactionVerboseData {
if x != nil {
return x.TransactionVerboseData
}
return nil
}
type GetMempoolEntryRequestMessage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
TxId string `protobuf:"bytes,1,opt,name=txId,proto3" json:"txId,omitempty"`
}
func (x *GetMempoolEntryRequestMessage) Reset() {
*x = GetMempoolEntryRequestMessage{}
if protoimpl.UnsafeEnabled {
mi := &file_messages_proto_msgTypes[54]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetMempoolEntryRequestMessage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetMempoolEntryRequestMessage) ProtoMessage() {}
func (x *GetMempoolEntryRequestMessage) ProtoReflect() protoreflect.Message {
mi := &file_messages_proto_msgTypes[54]
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 GetMempoolEntryRequestMessage.ProtoReflect.Descriptor instead.
func (*GetMempoolEntryRequestMessage) Descriptor() ([]byte, []int) {
return file_messages_proto_rawDescGZIP(), []int{54}
}
func (x *GetMempoolEntryRequestMessage) GetTxId() string {
if x != nil {
return x.TxId
}
return ""
}
type GetMempoolEntryResponseMessage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Entry *MempoolEntry `protobuf:"bytes,1,opt,name=entry,proto3" json:"entry,omitempty"`
Error *RPCError `protobuf:"bytes,1000,opt,name=error,proto3" json:"error,omitempty"`
}
func (x *GetMempoolEntryResponseMessage) Reset() {
*x = GetMempoolEntryResponseMessage{}
if protoimpl.UnsafeEnabled {
mi := &file_messages_proto_msgTypes[55]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetMempoolEntryResponseMessage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetMempoolEntryResponseMessage) ProtoMessage() {}
func (x *GetMempoolEntryResponseMessage) ProtoReflect() protoreflect.Message {
mi := &file_messages_proto_msgTypes[55]
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 GetMempoolEntryResponseMessage.ProtoReflect.Descriptor instead.
func (*GetMempoolEntryResponseMessage) Descriptor() ([]byte, []int) {
return file_messages_proto_rawDescGZIP(), []int{55}
}
func (x *GetMempoolEntryResponseMessage) GetEntry() *MempoolEntry {
if x != nil {
return x.Entry
}
return nil
}
func (x *GetMempoolEntryResponseMessage) GetError() *RPCError {
if x != nil {
return x.Error
}
return nil
}
type GetMempoolEntriesRequestMessage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *GetMempoolEntriesRequestMessage) Reset() {
*x = GetMempoolEntriesRequestMessage{}
if protoimpl.UnsafeEnabled {
mi := &file_messages_proto_msgTypes[56]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetMempoolEntriesRequestMessage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetMempoolEntriesRequestMessage) ProtoMessage() {}
func (x *GetMempoolEntriesRequestMessage) ProtoReflect() protoreflect.Message {
mi := &file_messages_proto_msgTypes[56]
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 GetMempoolEntriesRequestMessage.ProtoReflect.Descriptor instead.
func (*GetMempoolEntriesRequestMessage) Descriptor() ([]byte, []int) {
return file_messages_proto_rawDescGZIP(), []int{56}
}
type GetMempoolEntriesResponseMessage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Entries []*MempoolEntry `protobuf:"bytes,1,rep,name=entries,proto3" json:"entries,omitempty"`
Error *RPCError `protobuf:"bytes,1000,opt,name=error,proto3" json:"error,omitempty"`
}
func (x *GetMempoolEntriesResponseMessage) Reset() {
*x = GetMempoolEntriesResponseMessage{}
if protoimpl.UnsafeEnabled {
mi := &file_messages_proto_msgTypes[57]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetMempoolEntriesResponseMessage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetMempoolEntriesResponseMessage) ProtoMessage() {}
func (x *GetMempoolEntriesResponseMessage) ProtoReflect() protoreflect.Message {
mi := &file_messages_proto_msgTypes[57]
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 GetMempoolEntriesResponseMessage.ProtoReflect.Descriptor instead.
func (*GetMempoolEntriesResponseMessage) Descriptor() ([]byte, []int) {
return file_messages_proto_rawDescGZIP(), []int{57}
}
func (x *GetMempoolEntriesResponseMessage) GetEntries() []*MempoolEntry {
if x != nil {
return x.Entries
}
return nil
}
func (x *GetMempoolEntriesResponseMessage) GetError() *RPCError {
if x != nil {
return x.Error
}
return nil
}
type GetConnectedPeerInfoRequestMessage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *GetConnectedPeerInfoRequestMessage) Reset() {
*x = GetConnectedPeerInfoRequestMessage{}
if protoimpl.UnsafeEnabled {
mi := &file_messages_proto_msgTypes[58]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetConnectedPeerInfoRequestMessage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetConnectedPeerInfoRequestMessage) ProtoMessage() {}
func (x *GetConnectedPeerInfoRequestMessage) ProtoReflect() protoreflect.Message {
mi := &file_messages_proto_msgTypes[58]
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 GetConnectedPeerInfoRequestMessage.ProtoReflect.Descriptor instead.
func (*GetConnectedPeerInfoRequestMessage) Descriptor() ([]byte, []int) {
return file_messages_proto_rawDescGZIP(), []int{58}
}
type GetConnectedPeerInfoResponseMessage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Infos []*GetConnectedPeerInfoMessage `protobuf:"bytes,1,rep,name=infos,proto3" json:"infos,omitempty"`
Error *RPCError `protobuf:"bytes,1000,opt,name=error,proto3" json:"error,omitempty"`
}
func (x *GetConnectedPeerInfoResponseMessage) Reset() {
*x = GetConnectedPeerInfoResponseMessage{}
if protoimpl.UnsafeEnabled {
mi := &file_messages_proto_msgTypes[59]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetConnectedPeerInfoResponseMessage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetConnectedPeerInfoResponseMessage) ProtoMessage() {}
func (x *GetConnectedPeerInfoResponseMessage) ProtoReflect() protoreflect.Message {
mi := &file_messages_proto_msgTypes[59]
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 GetConnectedPeerInfoResponseMessage.ProtoReflect.Descriptor instead.
func (*GetConnectedPeerInfoResponseMessage) Descriptor() ([]byte, []int) {
return file_messages_proto_rawDescGZIP(), []int{59}
}
func (x *GetConnectedPeerInfoResponseMessage) GetInfos() []*GetConnectedPeerInfoMessage {
if x != nil {
return x.Infos
}
return nil
}
func (x *GetConnectedPeerInfoResponseMessage) GetError() *RPCError {
if x != nil {
return x.Error
}
return nil
}
type GetConnectedPeerInfoMessage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
Address string `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"`
LastPingDuration int64 `protobuf:"varint,3,opt,name=lastPingDuration,proto3" json:"lastPingDuration,omitempty"`
IsOutbound bool `protobuf:"varint,6,opt,name=isOutbound,proto3" json:"isOutbound,omitempty"`
TimeOffset int64 `protobuf:"varint,7,opt,name=timeOffset,proto3" json:"timeOffset,omitempty"`
UserAgent string `protobuf:"bytes,8,opt,name=userAgent,proto3" json:"userAgent,omitempty"`
AdvertisedProtocolVersion uint32 `protobuf:"varint,9,opt,name=advertisedProtocolVersion,proto3" json:"advertisedProtocolVersion,omitempty"`
TimeConnected int64 `protobuf:"varint,10,opt,name=timeConnected,proto3" json:"timeConnected,omitempty"`
IsIbdPeer bool `protobuf:"varint,11,opt,name=isIbdPeer,proto3" json:"isIbdPeer,omitempty"`
}
func (x *GetConnectedPeerInfoMessage) Reset() {
*x = GetConnectedPeerInfoMessage{}
if protoimpl.UnsafeEnabled {
mi := &file_messages_proto_msgTypes[60]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetConnectedPeerInfoMessage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetConnectedPeerInfoMessage) ProtoMessage() {}
func (x *GetConnectedPeerInfoMessage) ProtoReflect() protoreflect.Message {
mi := &file_messages_proto_msgTypes[60]
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 GetConnectedPeerInfoMessage.ProtoReflect.Descriptor instead.
func (*GetConnectedPeerInfoMessage) Descriptor() ([]byte, []int) {
return file_messages_proto_rawDescGZIP(), []int{60}
}
func (x *GetConnectedPeerInfoMessage) GetId() string {
if x != nil {
return x.Id
}
return ""
}
func (x *GetConnectedPeerInfoMessage) GetAddress() string {
if x != nil {
return x.Address
}
return ""
}
func (x *GetConnectedPeerInfoMessage) GetLastPingDuration() int64 {
if x != nil {
return x.LastPingDuration
}
return 0
}
func (x *GetConnectedPeerInfoMessage) GetIsOutbound() bool {
if x != nil {
return x.IsOutbound
}
return false
}
func (x *GetConnectedPeerInfoMessage) GetTimeOffset() int64 {
if x != nil {
return x.TimeOffset
}
return 0
}
func (x *GetConnectedPeerInfoMessage) GetUserAgent() string {
if x != nil {
return x.UserAgent
}
return ""
}
func (x *GetConnectedPeerInfoMessage) GetAdvertisedProtocolVersion() uint32 {
if x != nil {
return x.AdvertisedProtocolVersion
}
return 0
}
func (x *GetConnectedPeerInfoMessage) GetTimeConnected() int64 {
if x != nil {
return x.TimeConnected
}
return 0
}
func (x *GetConnectedPeerInfoMessage) GetIsIbdPeer() bool {
if x != nil {
return x.IsIbdPeer
}
return false
}
type AddPeerRequestMessage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
IsPermanent bool `protobuf:"varint,2,opt,name=isPermanent,proto3" json:"isPermanent,omitempty"`
}
func (x *AddPeerRequestMessage) Reset() {
*x = AddPeerRequestMessage{}
if protoimpl.UnsafeEnabled {
mi := &file_messages_proto_msgTypes[61]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *AddPeerRequestMessage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AddPeerRequestMessage) ProtoMessage() {}
func (x *AddPeerRequestMessage) ProtoReflect() protoreflect.Message {
mi := &file_messages_proto_msgTypes[61]
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 AddPeerRequestMessage.ProtoReflect.Descriptor instead.
func (*AddPeerRequestMessage) Descriptor() ([]byte, []int) {
return file_messages_proto_rawDescGZIP(), []int{61}
}
func (x *AddPeerRequestMessage) GetAddress() string {
if x != nil {
return x.Address
}
return ""
}
func (x *AddPeerRequestMessage) GetIsPermanent() bool {
if x != nil {
return x.IsPermanent
}
return false
}
type AddPeerResponseMessage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Error *RPCError `protobuf:"bytes,1000,opt,name=error,proto3" json:"error,omitempty"`
}
func (x *AddPeerResponseMessage) Reset() {
*x = AddPeerResponseMessage{}
if protoimpl.UnsafeEnabled {
mi := &file_messages_proto_msgTypes[62]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *AddPeerResponseMessage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AddPeerResponseMessage) ProtoMessage() {}
func (x *AddPeerResponseMessage) ProtoReflect() protoreflect.Message {
mi := &file_messages_proto_msgTypes[62]
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 AddPeerResponseMessage.ProtoReflect.Descriptor instead.
func (*AddPeerResponseMessage) Descriptor() ([]byte, []int) {
return file_messages_proto_rawDescGZIP(), []int{62}
}
func (x *AddPeerResponseMessage) GetError() *RPCError {
if x != nil {
return x.Error
}
return nil
}
type SubmitTransactionRequestMessage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Transaction *RpcTransaction `protobuf:"bytes,1,opt,name=transaction,proto3" json:"transaction,omitempty"`
}
func (x *SubmitTransactionRequestMessage) Reset() {
*x = SubmitTransactionRequestMessage{}
if protoimpl.UnsafeEnabled {
mi := &file_messages_proto_msgTypes[63]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SubmitTransactionRequestMessage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SubmitTransactionRequestMessage) ProtoMessage() {}
func (x *SubmitTransactionRequestMessage) ProtoReflect() protoreflect.Message {
mi := &file_messages_proto_msgTypes[63]
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 SubmitTransactionRequestMessage.ProtoReflect.Descriptor instead.
func (*SubmitTransactionRequestMessage) Descriptor() ([]byte, []int) {
return file_messages_proto_rawDescGZIP(), []int{63}
}
func (x *SubmitTransactionRequestMessage) GetTransaction() *RpcTransaction {
if x != nil {
return x.Transaction
}
return nil
}
type SubmitTransactionResponseMessage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
TransactionId string `protobuf:"bytes,1,opt,name=transactionId,proto3" json:"transactionId,omitempty"`
Error *RPCError `protobuf:"bytes,1000,opt,name=error,proto3" json:"error,omitempty"`
}
func (x *SubmitTransactionResponseMessage) Reset() {
*x = SubmitTransactionResponseMessage{}
if protoimpl.UnsafeEnabled {
mi := &file_messages_proto_msgTypes[64]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SubmitTransactionResponseMessage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SubmitTransactionResponseMessage) ProtoMessage() {}
func (x *SubmitTransactionResponseMessage) ProtoReflect() protoreflect.Message {
mi := &file_messages_proto_msgTypes[64]
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 SubmitTransactionResponseMessage.ProtoReflect.Descriptor instead.
func (*SubmitTransactionResponseMessage) Descriptor() ([]byte, []int) {
return file_messages_proto_rawDescGZIP(), []int{64}
}
func (x *SubmitTransactionResponseMessage) GetTransactionId() string {
if x != nil {
return x.TransactionId
}
return ""
}
func (x *SubmitTransactionResponseMessage) GetError() *RPCError {
if x != nil {
return x.Error
}
return nil
}
type NotifyVirtualSelectedParentChainChangedRequestMessage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *NotifyVirtualSelectedParentChainChangedRequestMessage) Reset() {
*x = NotifyVirtualSelectedParentChainChangedRequestMessage{}
if protoimpl.UnsafeEnabled {
mi := &file_messages_proto_msgTypes[65]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *NotifyVirtualSelectedParentChainChangedRequestMessage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*NotifyVirtualSelectedParentChainChangedRequestMessage) ProtoMessage() {}
func (x *NotifyVirtualSelectedParentChainChangedRequestMessage) ProtoReflect() protoreflect.Message {
mi := &file_messages_proto_msgTypes[65]
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 NotifyVirtualSelectedParentChainChangedRequestMessage.ProtoReflect.Descriptor instead.
func (*NotifyVirtualSelectedParentChainChangedRequestMessage) Descriptor() ([]byte, []int) {
return file_messages_proto_rawDescGZIP(), []int{65}
}
type NotifyVirtualSelectedParentChainChangedResponseMessage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Error *RPCError `protobuf:"bytes,1000,opt,name=error,proto3" json:"error,omitempty"`
}
func (x *NotifyVirtualSelectedParentChainChangedResponseMessage) Reset() {
*x = NotifyVirtualSelectedParentChainChangedResponseMessage{}
if protoimpl.UnsafeEnabled {
mi := &file_messages_proto_msgTypes[66]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *NotifyVirtualSelectedParentChainChangedResponseMessage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*NotifyVirtualSelectedParentChainChangedResponseMessage) ProtoMessage() {}
func (x *NotifyVirtualSelectedParentChainChangedResponseMessage) ProtoReflect() protoreflect.Message {
mi := &file_messages_proto_msgTypes[66]
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 NotifyVirtualSelectedParentChainChangedResponseMessage.ProtoReflect.Descriptor instead.
func (*NotifyVirtualSelectedParentChainChangedResponseMessage) Descriptor() ([]byte, []int) {
return file_messages_proto_rawDescGZIP(), []int{66}
}
func (x *NotifyVirtualSelectedParentChainChangedResponseMessage) GetError() *RPCError {
if x != nil {
return x.Error
}
return nil
}
type VirtualSelectedParentChainChangedNotificationMessage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
RemovedChainBlockHashes []string `protobuf:"bytes,1,rep,name=removedChainBlockHashes,proto3" json:"removedChainBlockHashes,omitempty"`
AddedChainBlocks []*ChainBlock `protobuf:"bytes,2,rep,name=addedChainBlocks,proto3" json:"addedChainBlocks,omitempty"`
}
func (x *VirtualSelectedParentChainChangedNotificationMessage) Reset() {
*x = VirtualSelectedParentChainChangedNotificationMessage{}
if protoimpl.UnsafeEnabled {
mi := &file_messages_proto_msgTypes[67]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *VirtualSelectedParentChainChangedNotificationMessage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*VirtualSelectedParentChainChangedNotificationMessage) ProtoMessage() {}
func (x *VirtualSelectedParentChainChangedNotificationMessage) ProtoReflect() protoreflect.Message {
mi := &file_messages_proto_msgTypes[67]
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 VirtualSelectedParentChainChangedNotificationMessage.ProtoReflect.Descriptor instead.
func (*VirtualSelectedParentChainChangedNotificationMessage) Descriptor() ([]byte, []int) {
return file_messages_proto_rawDescGZIP(), []int{67}
}
func (x *VirtualSelectedParentChainChangedNotificationMessage) GetRemovedChainBlockHashes() []string {
if x != nil {
return x.RemovedChainBlockHashes
}
return nil
}
func (x *VirtualSelectedParentChainChangedNotificationMessage) GetAddedChainBlocks() []*ChainBlock {
if x != nil {
return x.AddedChainBlocks
}
return nil
}
type ChainBlock struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Hash string `protobuf:"bytes,1,opt,name=hash,proto3" json:"hash,omitempty"`
AcceptedBlocks []*AcceptedBlock `protobuf:"bytes,2,rep,name=acceptedBlocks,proto3" json:"acceptedBlocks,omitempty"`
}
func (x *ChainBlock) Reset() {
*x = ChainBlock{}
if protoimpl.UnsafeEnabled {
mi := &file_messages_proto_msgTypes[68]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ChainBlock) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ChainBlock) ProtoMessage() {}
func (x *ChainBlock) ProtoReflect() protoreflect.Message {
mi := &file_messages_proto_msgTypes[68]
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 ChainBlock.ProtoReflect.Descriptor instead.
func (*ChainBlock) Descriptor() ([]byte, []int) {
return file_messages_proto_rawDescGZIP(), []int{68}
}
func (x *ChainBlock) GetHash() string {
if x != nil {
return x.Hash
}
return ""
}
func (x *ChainBlock) GetAcceptedBlocks() []*AcceptedBlock {
if x != nil {
return x.AcceptedBlocks
}
return nil
}
type AcceptedBlock struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Hash string `protobuf:"bytes,1,opt,name=hash,proto3" json:"hash,omitempty"`
AcceptedTransactionIds []string `protobuf:"bytes,2,rep,name=acceptedTransactionIds,proto3" json:"acceptedTransactionIds,omitempty"`
}
func (x *AcceptedBlock) Reset() {
*x = AcceptedBlock{}
if protoimpl.UnsafeEnabled {
mi := &file_messages_proto_msgTypes[69]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *AcceptedBlock) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AcceptedBlock) ProtoMessage() {}
func (x *AcceptedBlock) ProtoReflect() protoreflect.Message {
mi := &file_messages_proto_msgTypes[69]
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 AcceptedBlock.ProtoReflect.Descriptor instead.
func (*AcceptedBlock) Descriptor() ([]byte, []int) {
return file_messages_proto_rawDescGZIP(), []int{69}
}
func (x *AcceptedBlock) GetHash() string {
if x != nil {
return x.Hash
}
return ""
}
func (x *AcceptedBlock) GetAcceptedTransactionIds() []string {
if x != nil {
return x.AcceptedTransactionIds
}
return nil
}
type GetBlockRequestMessage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Hash string `protobuf:"bytes,1,opt,name=hash,proto3" json:"hash,omitempty"`
SubnetworkId string `protobuf:"bytes,2,opt,name=subnetworkId,proto3" json:"subnetworkId,omitempty"`
IncludeTransactionVerboseData bool `protobuf:"varint,3,opt,name=includeTransactionVerboseData,proto3" json:"includeTransactionVerboseData,omitempty"`
}
func (x *GetBlockRequestMessage) Reset() {
*x = GetBlockRequestMessage{}
if protoimpl.UnsafeEnabled {
mi := &file_messages_proto_msgTypes[70]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetBlockRequestMessage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetBlockRequestMessage) ProtoMessage() {}
func (x *GetBlockRequestMessage) ProtoReflect() protoreflect.Message {
mi := &file_messages_proto_msgTypes[70]
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 GetBlockRequestMessage.ProtoReflect.Descriptor instead.
func (*GetBlockRequestMessage) Descriptor() ([]byte, []int) {
return file_messages_proto_rawDescGZIP(), []int{70}
}
func (x *GetBlockRequestMessage) GetHash() string {
if x != nil {
return x.Hash
}
return ""
}
func (x *GetBlockRequestMessage) GetSubnetworkId() string {
if x != nil {
return x.SubnetworkId
}
return ""
}
func (x *GetBlockRequestMessage) GetIncludeTransactionVerboseData() bool {
if x != nil {
return x.IncludeTransactionVerboseData
}
return false
}
type GetBlockResponseMessage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
BlockHash string `protobuf:"bytes,1,opt,name=blockHash,proto3" json:"blockHash,omitempty"`
BlockVerboseData *BlockVerboseData `protobuf:"bytes,2,opt,name=blockVerboseData,proto3" json:"blockVerboseData,omitempty"`
Error *RPCError `protobuf:"bytes,1000,opt,name=error,proto3" json:"error,omitempty"`
}
func (x *GetBlockResponseMessage) Reset() {
*x = GetBlockResponseMessage{}
if protoimpl.UnsafeEnabled {
mi := &file_messages_proto_msgTypes[71]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetBlockResponseMessage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetBlockResponseMessage) ProtoMessage() {}
func (x *GetBlockResponseMessage) ProtoReflect() protoreflect.Message {
mi := &file_messages_proto_msgTypes[71]
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 GetBlockResponseMessage.ProtoReflect.Descriptor instead.
func (*GetBlockResponseMessage) Descriptor() ([]byte, []int) {
return file_messages_proto_rawDescGZIP(), []int{71}
}
func (x *GetBlockResponseMessage) GetBlockHash() string {
if x != nil {
return x.BlockHash
}
return ""
}
func (x *GetBlockResponseMessage) GetBlockVerboseData() *BlockVerboseData {
if x != nil {
return x.BlockVerboseData
}
return nil
}
func (x *GetBlockResponseMessage) GetError() *RPCError {
if x != nil {
return x.Error
}
return nil
}
type BlockVerboseData struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Hash string `protobuf:"bytes,1,opt,name=hash,proto3" json:"hash,omitempty"`
Version uint32 `protobuf:"varint,2,opt,name=version,proto3" json:"version,omitempty"`
VersionHex string `protobuf:"bytes,3,opt,name=versionHex,proto3" json:"versionHex,omitempty"`
HashMerkleRoot string `protobuf:"bytes,4,opt,name=hashMerkleRoot,proto3" json:"hashMerkleRoot,omitempty"`
AcceptedIDMerkleRoot string `protobuf:"bytes,5,opt,name=acceptedIDMerkleRoot,proto3" json:"acceptedIDMerkleRoot,omitempty"`
UtxoCommitment string `protobuf:"bytes,6,opt,name=utxoCommitment,proto3" json:"utxoCommitment,omitempty"`
TransactionVerboseData []*TransactionVerboseData `protobuf:"bytes,7,rep,name=transactionVerboseData,proto3" json:"transactionVerboseData,omitempty"`
Time int64 `protobuf:"varint,8,opt,name=time,proto3" json:"time,omitempty"`
Nonce uint64 `protobuf:"varint,9,opt,name=nonce,proto3" json:"nonce,omitempty"`
Bits string `protobuf:"bytes,10,opt,name=bits,proto3" json:"bits,omitempty"`
Difficulty float64 `protobuf:"fixed64,11,opt,name=difficulty,proto3" json:"difficulty,omitempty"`
ParentHashes []string `protobuf:"bytes,12,rep,name=parentHashes,proto3" json:"parentHashes,omitempty"`
SelectedParentHash string `protobuf:"bytes,13,opt,name=selectedParentHash,proto3" json:"selectedParentHash,omitempty"`
TransactionIDs []string `protobuf:"bytes,14,rep,name=transactionIDs,proto3" json:"transactionIDs,omitempty"`
IsHeaderOnly bool `protobuf:"varint,15,opt,name=isHeaderOnly,proto3" json:"isHeaderOnly,omitempty"`
BlueScore uint64 `protobuf:"varint,16,opt,name=blueScore,proto3" json:"blueScore,omitempty"`
}
func (x *BlockVerboseData) Reset() {
*x = BlockVerboseData{}
if protoimpl.UnsafeEnabled {
mi := &file_messages_proto_msgTypes[72]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *BlockVerboseData) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*BlockVerboseData) ProtoMessage() {}
func (x *BlockVerboseData) ProtoReflect() protoreflect.Message {
mi := &file_messages_proto_msgTypes[72]
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 BlockVerboseData.ProtoReflect.Descriptor instead.
func (*BlockVerboseData) Descriptor() ([]byte, []int) {
return file_messages_proto_rawDescGZIP(), []int{72}
}
func (x *BlockVerboseData) GetHash() string {
if x != nil {
return x.Hash
}
return ""
}
func (x *BlockVerboseData) GetVersion() uint32 {
if x != nil {
return x.Version
}
return 0
}
func (x *BlockVerboseData) GetVersionHex() string {
if x != nil {
return x.VersionHex
}
return ""
}
func (x *BlockVerboseData) GetHashMerkleRoot() string {
if x != nil {
return x.HashMerkleRoot
}
return ""
}
func (x *BlockVerboseData) GetAcceptedIDMerkleRoot() string {
if x != nil {
return x.AcceptedIDMerkleRoot
}
return ""
}
func (x *BlockVerboseData) GetUtxoCommitment() string {
if x != nil {
return x.UtxoCommitment
}
return ""
}
func (x *BlockVerboseData) GetTransactionVerboseData() []*TransactionVerboseData {
if x != nil {
return x.TransactionVerboseData
}
return nil
}
func (x *BlockVerboseData) GetTime() int64 {
if x != nil {
return x.Time
}
return 0
}
func (x *BlockVerboseData) GetNonce() uint64 {
if x != nil {
return x.Nonce
}
return 0
}
func (x *BlockVerboseData) GetBits() string {
if x != nil {
return x.Bits
}
return ""
}
func (x *BlockVerboseData) GetDifficulty() float64 {
if x != nil {
return x.Difficulty
}
return 0
}
func (x *BlockVerboseData) GetParentHashes() []string {
if x != nil {
return x.ParentHashes
}
return nil
}
func (x *BlockVerboseData) GetSelectedParentHash() string {
if x != nil {
return x.SelectedParentHash
}
return ""
}
func (x *BlockVerboseData) GetTransactionIDs() []string {
if x != nil {
return x.TransactionIDs
}
return nil
}
func (x *BlockVerboseData) GetIsHeaderOnly() bool {
if x != nil {
return x.IsHeaderOnly
}
return false
}
func (x *BlockVerboseData) GetBlueScore() uint64 {
if x != nil {
return x.BlueScore
}
return 0
}
type TransactionVerboseData struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
TxId string `protobuf:"bytes,1,opt,name=txId,proto3" json:"txId,omitempty"`
Hash string `protobuf:"bytes,2,opt,name=hash,proto3" json:"hash,omitempty"`
Size uint64 `protobuf:"varint,3,opt,name=size,proto3" json:"size,omitempty"`
Version uint32 `protobuf:"varint,4,opt,name=version,proto3" json:"version,omitempty"`
LockTime uint64 `protobuf:"varint,5,opt,name=lockTime,proto3" json:"lockTime,omitempty"`
SubnetworkId string `protobuf:"bytes,6,opt,name=subnetworkId,proto3" json:"subnetworkId,omitempty"`
Gas uint64 `protobuf:"varint,7,opt,name=gas,proto3" json:"gas,omitempty"`
PayloadHash string `protobuf:"bytes,8,opt,name=payloadHash,proto3" json:"payloadHash,omitempty"`
Payload string `protobuf:"bytes,9,opt,name=payload,proto3" json:"payload,omitempty"`
TransactionVerboseInputs []*TransactionVerboseInput `protobuf:"bytes,10,rep,name=transactionVerboseInputs,proto3" json:"transactionVerboseInputs,omitempty"`
TransactionVerboseOutputs []*TransactionVerboseOutput `protobuf:"bytes,11,rep,name=transactionVerboseOutputs,proto3" json:"transactionVerboseOutputs,omitempty"`
BlockHash string `protobuf:"bytes,12,opt,name=blockHash,proto3" json:"blockHash,omitempty"`
Time uint64 `protobuf:"varint,13,opt,name=time,proto3" json:"time,omitempty"`
BlockTime uint64 `protobuf:"varint,14,opt,name=blockTime,proto3" json:"blockTime,omitempty"`
}
func (x *TransactionVerboseData) Reset() {
*x = TransactionVerboseData{}
if protoimpl.UnsafeEnabled {
mi := &file_messages_proto_msgTypes[73]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *TransactionVerboseData) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TransactionVerboseData) ProtoMessage() {}
func (x *TransactionVerboseData) ProtoReflect() protoreflect.Message {
mi := &file_messages_proto_msgTypes[73]
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 TransactionVerboseData.ProtoReflect.Descriptor instead.
func (*TransactionVerboseData) Descriptor() ([]byte, []int) {
return file_messages_proto_rawDescGZIP(), []int{73}
}
func (x *TransactionVerboseData) GetTxId() string {
if x != nil {
return x.TxId
}
return ""
}
func (x *TransactionVerboseData) GetHash() string {
if x != nil {
return x.Hash
}
return ""
}
func (x *TransactionVerboseData) GetSize() uint64 {
if x != nil {
return x.Size
}
return 0
}
func (x *TransactionVerboseData) GetVersion() uint32 {
if x != nil {
return x.Version
}
return 0
}
func (x *TransactionVerboseData) GetLockTime() uint64 {
if x != nil {
return x.LockTime
}
return 0
}
func (x *TransactionVerboseData) GetSubnetworkId() string {
if x != nil {
return x.SubnetworkId
}
return ""
}
func (x *TransactionVerboseData) GetGas() uint64 {
if x != nil {
return x.Gas
}
return 0
}
func (x *TransactionVerboseData) GetPayloadHash() string {
if x != nil {
return x.PayloadHash
}
return ""
}
func (x *TransactionVerboseData) GetPayload() string {
if x != nil {
return x.Payload
}
return ""
}
func (x *TransactionVerboseData) GetTransactionVerboseInputs() []*TransactionVerboseInput {
if x != nil {
return x.TransactionVerboseInputs
}
return nil
}
func (x *TransactionVerboseData) GetTransactionVerboseOutputs() []*TransactionVerboseOutput {
if x != nil {
return x.TransactionVerboseOutputs
}
return nil
}
func (x *TransactionVerboseData) GetBlockHash() string {
if x != nil {
return x.BlockHash
}
return ""
}
func (x *TransactionVerboseData) GetTime() uint64 {
if x != nil {
return x.Time
}
return 0
}
func (x *TransactionVerboseData) GetBlockTime() uint64 {
if x != nil {
return x.BlockTime
}
return 0
}
type TransactionVerboseInput struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
TxId string `protobuf:"bytes,1,opt,name=txId,proto3" json:"txId,omitempty"`
OutputIndex uint32 `protobuf:"varint,2,opt,name=outputIndex,proto3" json:"outputIndex,omitempty"`
ScriptSig *ScriptSig `protobuf:"bytes,3,opt,name=scriptSig,proto3" json:"scriptSig,omitempty"`
Sequence uint64 `protobuf:"varint,4,opt,name=sequence,proto3" json:"sequence,omitempty"`
}
func (x *TransactionVerboseInput) Reset() {
*x = TransactionVerboseInput{}
if protoimpl.UnsafeEnabled {
mi := &file_messages_proto_msgTypes[74]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *TransactionVerboseInput) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TransactionVerboseInput) ProtoMessage() {}
func (x *TransactionVerboseInput) ProtoReflect() protoreflect.Message {
mi := &file_messages_proto_msgTypes[74]
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 TransactionVerboseInput.ProtoReflect.Descriptor instead.
func (*TransactionVerboseInput) Descriptor() ([]byte, []int) {
return file_messages_proto_rawDescGZIP(), []int{74}
}
func (x *TransactionVerboseInput) GetTxId() string {
if x != nil {
return x.TxId
}
return ""
}
func (x *TransactionVerboseInput) GetOutputIndex() uint32 {
if x != nil {
return x.OutputIndex
}
return 0
}
func (x *TransactionVerboseInput) GetScriptSig() *ScriptSig {
if x != nil {
return x.ScriptSig
}
return nil
}
func (x *TransactionVerboseInput) GetSequence() uint64 {
if x != nil {
return x.Sequence
}
return 0
}
type ScriptSig struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Asm string `protobuf:"bytes,1,opt,name=asm,proto3" json:"asm,omitempty"`
Hex string `protobuf:"bytes,2,opt,name=hex,proto3" json:"hex,omitempty"`
}
func (x *ScriptSig) Reset() {
*x = ScriptSig{}
if protoimpl.UnsafeEnabled {
mi := &file_messages_proto_msgTypes[75]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ScriptSig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ScriptSig) ProtoMessage() {}
func (x *ScriptSig) ProtoReflect() protoreflect.Message {
mi := &file_messages_proto_msgTypes[75]
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 ScriptSig.ProtoReflect.Descriptor instead.
func (*ScriptSig) Descriptor() ([]byte, []int) {
return file_messages_proto_rawDescGZIP(), []int{75}
}
func (x *ScriptSig) GetAsm() string {
if x != nil {
return x.Asm
}
return ""
}
func (x *ScriptSig) GetHex() string {
if x != nil {
return x.Hex
}
return ""
}
type TransactionVerboseOutput struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Value uint64 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"`
Index uint32 `protobuf:"varint,2,opt,name=index,proto3" json:"index,omitempty"`
ScriptPublicKey *ScriptPublicKeyResult `protobuf:"bytes,3,opt,name=scriptPublicKey,proto3" json:"scriptPublicKey,omitempty"`
}
func (x *TransactionVerboseOutput) Reset() {
*x = TransactionVerboseOutput{}
if protoimpl.UnsafeEnabled {
mi := &file_messages_proto_msgTypes[76]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *TransactionVerboseOutput) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TransactionVerboseOutput) ProtoMessage() {}
func (x *TransactionVerboseOutput) ProtoReflect() protoreflect.Message {
mi := &file_messages_proto_msgTypes[76]
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 TransactionVerboseOutput.ProtoReflect.Descriptor instead.
func (*TransactionVerboseOutput) Descriptor() ([]byte, []int) {
return file_messages_proto_rawDescGZIP(), []int{76}
}
func (x *TransactionVerboseOutput) GetValue() uint64 {
if x != nil {
return x.Value
}
return 0
}
func (x *TransactionVerboseOutput) GetIndex() uint32 {
if x != nil {
return x.Index
}
return 0
}
func (x *TransactionVerboseOutput) GetScriptPublicKey() *ScriptPublicKeyResult {
if x != nil {
return x.ScriptPublicKey
}
return nil
}
type ScriptPublicKeyResult struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Asm string `protobuf:"bytes,1,opt,name=asm,proto3" json:"asm,omitempty"`
Hex string `protobuf:"bytes,2,opt,name=hex,proto3" json:"hex,omitempty"`
Type string `protobuf:"bytes,3,opt,name=type,proto3" json:"type,omitempty"`
Address string `protobuf:"bytes,4,opt,name=address,proto3" json:"address,omitempty"`
}
func (x *ScriptPublicKeyResult) Reset() {
*x = ScriptPublicKeyResult{}
if protoimpl.UnsafeEnabled {
mi := &file_messages_proto_msgTypes[77]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ScriptPublicKeyResult) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ScriptPublicKeyResult) ProtoMessage() {}
func (x *ScriptPublicKeyResult) ProtoReflect() protoreflect.Message {
mi := &file_messages_proto_msgTypes[77]
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 ScriptPublicKeyResult.ProtoReflect.Descriptor instead.
func (*ScriptPublicKeyResult) Descriptor() ([]byte, []int) {
return file_messages_proto_rawDescGZIP(), []int{77}
}
func (x *ScriptPublicKeyResult) GetAsm() string {
if x != nil {
return x.Asm
}
return ""
}
func (x *ScriptPublicKeyResult) GetHex() string {
if x != nil {
return x.Hex
}
return ""
}
func (x *ScriptPublicKeyResult) GetType() string {
if x != nil {
return x.Type
}
return ""
}
func (x *ScriptPublicKeyResult) GetAddress() string {
if x != nil {
return x.Address
}
return ""
}
type GetSubnetworkRequestMessage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
SubnetworkId string `protobuf:"bytes,1,opt,name=subnetworkId,proto3" json:"subnetworkId,omitempty"`
}
func (x *GetSubnetworkRequestMessage) Reset() {
*x = GetSubnetworkRequestMessage{}
if protoimpl.UnsafeEnabled {
mi := &file_messages_proto_msgTypes[78]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetSubnetworkRequestMessage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetSubnetworkRequestMessage) ProtoMessage() {}
func (x *GetSubnetworkRequestMessage) ProtoReflect() protoreflect.Message {
mi := &file_messages_proto_msgTypes[78]
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 GetSubnetworkRequestMessage.ProtoReflect.Descriptor instead.
func (*GetSubnetworkRequestMessage) Descriptor() ([]byte, []int) {
return file_messages_proto_rawDescGZIP(), []int{78}
}
func (x *GetSubnetworkRequestMessage) GetSubnetworkId() string {
if x != nil {
return x.SubnetworkId
}
return ""
}
type GetSubnetworkResponseMessage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
GasLimit uint64 `protobuf:"varint,1,opt,name=gasLimit,proto3" json:"gasLimit,omitempty"`
Error *RPCError `protobuf:"bytes,1000,opt,name=error,proto3" json:"error,omitempty"`
}
func (x *GetSubnetworkResponseMessage) Reset() {
*x = GetSubnetworkResponseMessage{}
if protoimpl.UnsafeEnabled {
mi := &file_messages_proto_msgTypes[79]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetSubnetworkResponseMessage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetSubnetworkResponseMessage) ProtoMessage() {}
func (x *GetSubnetworkResponseMessage) ProtoReflect() protoreflect.Message {
mi := &file_messages_proto_msgTypes[79]
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 GetSubnetworkResponseMessage.ProtoReflect.Descriptor instead.
func (*GetSubnetworkResponseMessage) Descriptor() ([]byte, []int) {
return file_messages_proto_rawDescGZIP(), []int{79}
}
func (x *GetSubnetworkResponseMessage) GetGasLimit() uint64 {
if x != nil {
return x.GasLimit
}
return 0
}
func (x *GetSubnetworkResponseMessage) GetError() *RPCError {
if x != nil {
return x.Error
}
return nil
}
type GetVirtualSelectedParentChainFromBlockRequestMessage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
StartHash string `protobuf:"bytes,1,opt,name=startHash,proto3" json:"startHash,omitempty"`
}
func (x *GetVirtualSelectedParentChainFromBlockRequestMessage) Reset() {
*x = GetVirtualSelectedParentChainFromBlockRequestMessage{}
if protoimpl.UnsafeEnabled {
mi := &file_messages_proto_msgTypes[80]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetVirtualSelectedParentChainFromBlockRequestMessage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetVirtualSelectedParentChainFromBlockRequestMessage) ProtoMessage() {}
func (x *GetVirtualSelectedParentChainFromBlockRequestMessage) ProtoReflect() protoreflect.Message {
mi := &file_messages_proto_msgTypes[80]
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 GetVirtualSelectedParentChainFromBlockRequestMessage.ProtoReflect.Descriptor instead.
func (*GetVirtualSelectedParentChainFromBlockRequestMessage) Descriptor() ([]byte, []int) {
return file_messages_proto_rawDescGZIP(), []int{80}
}
func (x *GetVirtualSelectedParentChainFromBlockRequestMessage) GetStartHash() string {
if x != nil {
return x.StartHash
}
return ""
}
type GetVirtualSelectedParentChainFromBlockResponseMessage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
RemovedChainBlockHashes []string `protobuf:"bytes,1,rep,name=removedChainBlockHashes,proto3" json:"removedChainBlockHashes,omitempty"`
AddedChainBlocks []*ChainBlock `protobuf:"bytes,2,rep,name=addedChainBlocks,proto3" json:"addedChainBlocks,omitempty"`
Error *RPCError `protobuf:"bytes,1000,opt,name=error,proto3" json:"error,omitempty"`
}
func (x *GetVirtualSelectedParentChainFromBlockResponseMessage) Reset() {
*x = GetVirtualSelectedParentChainFromBlockResponseMessage{}
if protoimpl.UnsafeEnabled {
mi := &file_messages_proto_msgTypes[81]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetVirtualSelectedParentChainFromBlockResponseMessage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetVirtualSelectedParentChainFromBlockResponseMessage) ProtoMessage() {}
func (x *GetVirtualSelectedParentChainFromBlockResponseMessage) ProtoReflect() protoreflect.Message {
mi := &file_messages_proto_msgTypes[81]
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 GetVirtualSelectedParentChainFromBlockResponseMessage.ProtoReflect.Descriptor instead.
func (*GetVirtualSelectedParentChainFromBlockResponseMessage) Descriptor() ([]byte, []int) {
return file_messages_proto_rawDescGZIP(), []int{81}
}
func (x *GetVirtualSelectedParentChainFromBlockResponseMessage) GetRemovedChainBlockHashes() []string {
if x != nil {
return x.RemovedChainBlockHashes
}
return nil
}
func (x *GetVirtualSelectedParentChainFromBlockResponseMessage) GetAddedChainBlocks() []*ChainBlock {
if x != nil {
return x.AddedChainBlocks
}
return nil
}
func (x *GetVirtualSelectedParentChainFromBlockResponseMessage) GetError() *RPCError {
if x != nil {
return x.Error
}
return nil
}
type GetBlocksRequestMessage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
LowHash string `protobuf:"bytes,1,opt,name=lowHash,proto3" json:"lowHash,omitempty"`
IncludeBlockHexes bool `protobuf:"varint,2,opt,name=includeBlockHexes,proto3" json:"includeBlockHexes,omitempty"`
IncludeBlockVerboseData bool `protobuf:"varint,3,opt,name=includeBlockVerboseData,proto3" json:"includeBlockVerboseData,omitempty"`
IncludeTransactionVerboseData bool `protobuf:"varint,4,opt,name=includeTransactionVerboseData,proto3" json:"includeTransactionVerboseData,omitempty"`
}
func (x *GetBlocksRequestMessage) Reset() {
*x = GetBlocksRequestMessage{}
if protoimpl.UnsafeEnabled {
mi := &file_messages_proto_msgTypes[82]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetBlocksRequestMessage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetBlocksRequestMessage) ProtoMessage() {}
func (x *GetBlocksRequestMessage) ProtoReflect() protoreflect.Message {
mi := &file_messages_proto_msgTypes[82]
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 GetBlocksRequestMessage.ProtoReflect.Descriptor instead.
func (*GetBlocksRequestMessage) Descriptor() ([]byte, []int) {
return file_messages_proto_rawDescGZIP(), []int{82}
}
func (x *GetBlocksRequestMessage) GetLowHash() string {
if x != nil {
return x.LowHash
}
return ""
}
func (x *GetBlocksRequestMessage) GetIncludeBlockHexes() bool {
if x != nil {
return x.IncludeBlockHexes
}
return false
}
func (x *GetBlocksRequestMessage) GetIncludeBlockVerboseData() bool {
if x != nil {
return x.IncludeBlockVerboseData
}
return false
}
func (x *GetBlocksRequestMessage) GetIncludeTransactionVerboseData() bool {
if x != nil {
return x.IncludeTransactionVerboseData
}
return false
}
type GetBlocksResponseMessage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
BlockHashes []string `protobuf:"bytes,1,rep,name=blockHashes,proto3" json:"blockHashes,omitempty"`
BlockHexes []string `protobuf:"bytes,2,rep,name=blockHexes,proto3" json:"blockHexes,omitempty"`
BlockVerboseData []*BlockVerboseData `protobuf:"bytes,3,rep,name=blockVerboseData,proto3" json:"blockVerboseData,omitempty"`
Error *RPCError `protobuf:"bytes,1000,opt,name=error,proto3" json:"error,omitempty"`
}
func (x *GetBlocksResponseMessage) Reset() {
*x = GetBlocksResponseMessage{}
if protoimpl.UnsafeEnabled {
mi := &file_messages_proto_msgTypes[83]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetBlocksResponseMessage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetBlocksResponseMessage) ProtoMessage() {}
func (x *GetBlocksResponseMessage) ProtoReflect() protoreflect.Message {
mi := &file_messages_proto_msgTypes[83]
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 GetBlocksResponseMessage.ProtoReflect.Descriptor instead.
func (*GetBlocksResponseMessage) Descriptor() ([]byte, []int) {
return file_messages_proto_rawDescGZIP(), []int{83}
}
func (x *GetBlocksResponseMessage) GetBlockHashes() []string {
if x != nil {
return x.BlockHashes
}
return nil
}
func (x *GetBlocksResponseMessage) GetBlockHexes() []string {
if x != nil {
return x.BlockHexes
}
return nil
}
func (x *GetBlocksResponseMessage) GetBlockVerboseData() []*BlockVerboseData {
if x != nil {
return x.BlockVerboseData
}
return nil
}
func (x *GetBlocksResponseMessage) GetError() *RPCError {
if x != nil {
return x.Error
}
return nil
}
type GetBlockCountRequestMessage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *GetBlockCountRequestMessage) Reset() {
*x = GetBlockCountRequestMessage{}
if protoimpl.UnsafeEnabled {
mi := &file_messages_proto_msgTypes[84]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetBlockCountRequestMessage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetBlockCountRequestMessage) ProtoMessage() {}
func (x *GetBlockCountRequestMessage) ProtoReflect() protoreflect.Message {
mi := &file_messages_proto_msgTypes[84]
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 GetBlockCountRequestMessage.ProtoReflect.Descriptor instead.
func (*GetBlockCountRequestMessage) Descriptor() ([]byte, []int) {
return file_messages_proto_rawDescGZIP(), []int{84}
}
type GetBlockCountResponseMessage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
BlockCount uint64 `protobuf:"varint,1,opt,name=blockCount,proto3" json:"blockCount,omitempty"`
HeaderCount uint64 `protobuf:"varint,2,opt,name=headerCount,proto3" json:"headerCount,omitempty"`
Error *RPCError `protobuf:"bytes,1000,opt,name=error,proto3" json:"error,omitempty"`
}
func (x *GetBlockCountResponseMessage) Reset() {
*x = GetBlockCountResponseMessage{}
if protoimpl.UnsafeEnabled {
mi := &file_messages_proto_msgTypes[85]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetBlockCountResponseMessage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetBlockCountResponseMessage) ProtoMessage() {}
func (x *GetBlockCountResponseMessage) ProtoReflect() protoreflect.Message {
mi := &file_messages_proto_msgTypes[85]
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 GetBlockCountResponseMessage.ProtoReflect.Descriptor instead.
func (*GetBlockCountResponseMessage) Descriptor() ([]byte, []int) {
return file_messages_proto_rawDescGZIP(), []int{85}
}
func (x *GetBlockCountResponseMessage) GetBlockCount() uint64 {
if x != nil {
return x.BlockCount
}
return 0
}
func (x *GetBlockCountResponseMessage) GetHeaderCount() uint64 {
if x != nil {
return x.HeaderCount
}
return 0
}
func (x *GetBlockCountResponseMessage) GetError() *RPCError {
if x != nil {
return x.Error
}
return nil
}
type GetBlockDagInfoRequestMessage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *GetBlockDagInfoRequestMessage) Reset() {
*x = GetBlockDagInfoRequestMessage{}
if protoimpl.UnsafeEnabled {
mi := &file_messages_proto_msgTypes[86]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetBlockDagInfoRequestMessage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetBlockDagInfoRequestMessage) ProtoMessage() {}
func (x *GetBlockDagInfoRequestMessage) ProtoReflect() protoreflect.Message {
mi := &file_messages_proto_msgTypes[86]
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 GetBlockDagInfoRequestMessage.ProtoReflect.Descriptor instead.
func (*GetBlockDagInfoRequestMessage) Descriptor() ([]byte, []int) {
return file_messages_proto_rawDescGZIP(), []int{86}
}
type GetBlockDagInfoResponseMessage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
NetworkName string `protobuf:"bytes,1,opt,name=networkName,proto3" json:"networkName,omitempty"`
BlockCount uint64 `protobuf:"varint,2,opt,name=blockCount,proto3" json:"blockCount,omitempty"`
HeaderCount uint64 `protobuf:"varint,3,opt,name=headerCount,proto3" json:"headerCount,omitempty"`
TipHashes []string `protobuf:"bytes,4,rep,name=tipHashes,proto3" json:"tipHashes,omitempty"`
Difficulty float64 `protobuf:"fixed64,5,opt,name=difficulty,proto3" json:"difficulty,omitempty"`
PastMedianTime int64 `protobuf:"varint,6,opt,name=pastMedianTime,proto3" json:"pastMedianTime,omitempty"`
VirtualParentHashes []string `protobuf:"bytes,7,rep,name=virtualParentHashes,proto3" json:"virtualParentHashes,omitempty"`
Error *RPCError `protobuf:"bytes,1000,opt,name=error,proto3" json:"error,omitempty"`
}
func (x *GetBlockDagInfoResponseMessage) Reset() {
*x = GetBlockDagInfoResponseMessage{}
if protoimpl.UnsafeEnabled {
mi := &file_messages_proto_msgTypes[87]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetBlockDagInfoResponseMessage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetBlockDagInfoResponseMessage) ProtoMessage() {}
func (x *GetBlockDagInfoResponseMessage) ProtoReflect() protoreflect.Message {
mi := &file_messages_proto_msgTypes[87]
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 GetBlockDagInfoResponseMessage.ProtoReflect.Descriptor instead.
func (*GetBlockDagInfoResponseMessage) Descriptor() ([]byte, []int) {
return file_messages_proto_rawDescGZIP(), []int{87}
}
func (x *GetBlockDagInfoResponseMessage) GetNetworkName() string {
if x != nil {
return x.NetworkName
}
return ""
}
func (x *GetBlockDagInfoResponseMessage) GetBlockCount() uint64 {
if x != nil {
return x.BlockCount
}
return 0
}
func (x *GetBlockDagInfoResponseMessage) GetHeaderCount() uint64 {
if x != nil {
return x.HeaderCount
}
return 0
}
func (x *GetBlockDagInfoResponseMessage) GetTipHashes() []string {
if x != nil {
return x.TipHashes
}
return nil
}
func (x *GetBlockDagInfoResponseMessage) GetDifficulty() float64 {
if x != nil {
return x.Difficulty
}
return 0
}
func (x *GetBlockDagInfoResponseMessage) GetPastMedianTime() int64 {
if x != nil {
return x.PastMedianTime
}
return 0
}
func (x *GetBlockDagInfoResponseMessage) GetVirtualParentHashes() []string {
if x != nil {
return x.VirtualParentHashes
}
return nil
}
func (x *GetBlockDagInfoResponseMessage) GetError() *RPCError {
if x != nil {
return x.Error
}
return nil
}
type ResolveFinalityConflictRequestMessage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
FinalityBlockHash string `protobuf:"bytes,1,opt,name=finalityBlockHash,proto3" json:"finalityBlockHash,omitempty"`
}
func (x *ResolveFinalityConflictRequestMessage) Reset() {
*x = ResolveFinalityConflictRequestMessage{}
if protoimpl.UnsafeEnabled {
mi := &file_messages_proto_msgTypes[88]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ResolveFinalityConflictRequestMessage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ResolveFinalityConflictRequestMessage) ProtoMessage() {}
func (x *ResolveFinalityConflictRequestMessage) ProtoReflect() protoreflect.Message {
mi := &file_messages_proto_msgTypes[88]
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 ResolveFinalityConflictRequestMessage.ProtoReflect.Descriptor instead.
func (*ResolveFinalityConflictRequestMessage) Descriptor() ([]byte, []int) {
return file_messages_proto_rawDescGZIP(), []int{88}
}
func (x *ResolveFinalityConflictRequestMessage) GetFinalityBlockHash() string {
if x != nil {
return x.FinalityBlockHash
}
return ""
}
type ResolveFinalityConflictResponseMessage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Error *RPCError `protobuf:"bytes,1000,opt,name=error,proto3" json:"error,omitempty"`
}
func (x *ResolveFinalityConflictResponseMessage) Reset() {
*x = ResolveFinalityConflictResponseMessage{}
if protoimpl.UnsafeEnabled {
mi := &file_messages_proto_msgTypes[89]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ResolveFinalityConflictResponseMessage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ResolveFinalityConflictResponseMessage) ProtoMessage() {}
func (x *ResolveFinalityConflictResponseMessage) ProtoReflect() protoreflect.Message {
mi := &file_messages_proto_msgTypes[89]
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 ResolveFinalityConflictResponseMessage.ProtoReflect.Descriptor instead.
func (*ResolveFinalityConflictResponseMessage) Descriptor() ([]byte, []int) {
return file_messages_proto_rawDescGZIP(), []int{89}
}
func (x *ResolveFinalityConflictResponseMessage) GetError() *RPCError {
if x != nil {
return x.Error
}
return nil
}
type NotifyFinalityConflictsRequestMessage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *NotifyFinalityConflictsRequestMessage) Reset() {
*x = NotifyFinalityConflictsRequestMessage{}
if protoimpl.UnsafeEnabled {
mi := &file_messages_proto_msgTypes[90]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *NotifyFinalityConflictsRequestMessage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*NotifyFinalityConflictsRequestMessage) ProtoMessage() {}
func (x *NotifyFinalityConflictsRequestMessage) ProtoReflect() protoreflect.Message {
mi := &file_messages_proto_msgTypes[90]
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 NotifyFinalityConflictsRequestMessage.ProtoReflect.Descriptor instead.
func (*NotifyFinalityConflictsRequestMessage) Descriptor() ([]byte, []int) {
return file_messages_proto_rawDescGZIP(), []int{90}
}
type NotifyFinalityConflictsResponseMessage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Error *RPCError `protobuf:"bytes,1000,opt,name=error,proto3" json:"error,omitempty"`
}
func (x *NotifyFinalityConflictsResponseMessage) Reset() {
*x = NotifyFinalityConflictsResponseMessage{}
if protoimpl.UnsafeEnabled {
mi := &file_messages_proto_msgTypes[91]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *NotifyFinalityConflictsResponseMessage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*NotifyFinalityConflictsResponseMessage) ProtoMessage() {}
func (x *NotifyFinalityConflictsResponseMessage) ProtoReflect() protoreflect.Message {
mi := &file_messages_proto_msgTypes[91]
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 NotifyFinalityConflictsResponseMessage.ProtoReflect.Descriptor instead.
func (*NotifyFinalityConflictsResponseMessage) Descriptor() ([]byte, []int) {
return file_messages_proto_rawDescGZIP(), []int{91}
}
func (x *NotifyFinalityConflictsResponseMessage) GetError() *RPCError {
if x != nil {
return x.Error
}
return nil
}
type FinalityConflictNotificationMessage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ViolatingBlockHash string `protobuf:"bytes,1,opt,name=violatingBlockHash,proto3" json:"violatingBlockHash,omitempty"`
}
func (x *FinalityConflictNotificationMessage) Reset() {
*x = FinalityConflictNotificationMessage{}
if protoimpl.UnsafeEnabled {
mi := &file_messages_proto_msgTypes[92]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *FinalityConflictNotificationMessage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*FinalityConflictNotificationMessage) ProtoMessage() {}
func (x *FinalityConflictNotificationMessage) ProtoReflect() protoreflect.Message {
mi := &file_messages_proto_msgTypes[92]
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 FinalityConflictNotificationMessage.ProtoReflect.Descriptor instead.
func (*FinalityConflictNotificationMessage) Descriptor() ([]byte, []int) {
return file_messages_proto_rawDescGZIP(), []int{92}
}
func (x *FinalityConflictNotificationMessage) GetViolatingBlockHash() string {
if x != nil {
return x.ViolatingBlockHash
}
return ""
}
type FinalityConflictResolvedNotificationMessage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
FinalityBlockHash string `protobuf:"bytes,1,opt,name=finalityBlockHash,proto3" json:"finalityBlockHash,omitempty"`
}
func (x *FinalityConflictResolvedNotificationMessage) Reset() {
*x = FinalityConflictResolvedNotificationMessage{}
if protoimpl.UnsafeEnabled {
mi := &file_messages_proto_msgTypes[93]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *FinalityConflictResolvedNotificationMessage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*FinalityConflictResolvedNotificationMessage) ProtoMessage() {}
func (x *FinalityConflictResolvedNotificationMessage) ProtoReflect() protoreflect.Message {
mi := &file_messages_proto_msgTypes[93]
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 FinalityConflictResolvedNotificationMessage.ProtoReflect.Descriptor instead.
func (*FinalityConflictResolvedNotificationMessage) Descriptor() ([]byte, []int) {
return file_messages_proto_rawDescGZIP(), []int{93}
}
func (x *FinalityConflictResolvedNotificationMessage) GetFinalityBlockHash() string {
if x != nil {
return x.FinalityBlockHash
}
return ""
}
type ShutDownRequestMessage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *ShutDownRequestMessage) Reset() {
*x = ShutDownRequestMessage{}
if protoimpl.UnsafeEnabled {
mi := &file_messages_proto_msgTypes[94]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ShutDownRequestMessage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ShutDownRequestMessage) ProtoMessage() {}
func (x *ShutDownRequestMessage) ProtoReflect() protoreflect.Message {
mi := &file_messages_proto_msgTypes[94]
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 ShutDownRequestMessage.ProtoReflect.Descriptor instead.
func (*ShutDownRequestMessage) Descriptor() ([]byte, []int) {
return file_messages_proto_rawDescGZIP(), []int{94}
}
type ShutDownResponseMessage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Error *RPCError `protobuf:"bytes,1000,opt,name=error,proto3" json:"error,omitempty"`
}
func (x *ShutDownResponseMessage) Reset() {
*x = ShutDownResponseMessage{}
if protoimpl.UnsafeEnabled {
mi := &file_messages_proto_msgTypes[95]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ShutDownResponseMessage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ShutDownResponseMessage) ProtoMessage() {}
func (x *ShutDownResponseMessage) ProtoReflect() protoreflect.Message {
mi := &file_messages_proto_msgTypes[95]
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 ShutDownResponseMessage.ProtoReflect.Descriptor instead.
func (*ShutDownResponseMessage) Descriptor() ([]byte, []int) {
return file_messages_proto_rawDescGZIP(), []int{95}
}
func (x *ShutDownResponseMessage) GetError() *RPCError {
if x != nil {
return x.Error
}
return nil
}
type GetHeadersRequestMessage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
StartHash string `protobuf:"bytes,1,opt,name=startHash,proto3" json:"startHash,omitempty"`
Limit uint64 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"`
IsAscending bool `protobuf:"varint,3,opt,name=isAscending,proto3" json:"isAscending,omitempty"`
}
func (x *GetHeadersRequestMessage) Reset() {
*x = GetHeadersRequestMessage{}
if protoimpl.UnsafeEnabled {
mi := &file_messages_proto_msgTypes[96]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetHeadersRequestMessage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetHeadersRequestMessage) ProtoMessage() {}
func (x *GetHeadersRequestMessage) ProtoReflect() protoreflect.Message {
mi := &file_messages_proto_msgTypes[96]
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 GetHeadersRequestMessage.ProtoReflect.Descriptor instead.
func (*GetHeadersRequestMessage) Descriptor() ([]byte, []int) {
return file_messages_proto_rawDescGZIP(), []int{96}
}
func (x *GetHeadersRequestMessage) GetStartHash() string {
if x != nil {
return x.StartHash
}
return ""
}
func (x *GetHeadersRequestMessage) GetLimit() uint64 {
if x != nil {
return x.Limit
}
return 0
}
func (x *GetHeadersRequestMessage) GetIsAscending() bool {
if x != nil {
return x.IsAscending
}
return false
}
type GetHeadersResponseMessage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Headers []string `protobuf:"bytes,1,rep,name=headers,proto3" json:"headers,omitempty"`
Error *RPCError `protobuf:"bytes,1000,opt,name=error,proto3" json:"error,omitempty"`
}
func (x *GetHeadersResponseMessage) Reset() {
*x = GetHeadersResponseMessage{}
if protoimpl.UnsafeEnabled {
mi := &file_messages_proto_msgTypes[97]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetHeadersResponseMessage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetHeadersResponseMessage) ProtoMessage() {}
func (x *GetHeadersResponseMessage) ProtoReflect() protoreflect.Message {
mi := &file_messages_proto_msgTypes[97]
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 GetHeadersResponseMessage.ProtoReflect.Descriptor instead.
func (*GetHeadersResponseMessage) Descriptor() ([]byte, []int) {
return file_messages_proto_rawDescGZIP(), []int{97}
}
func (x *GetHeadersResponseMessage) GetHeaders() []string {
if x != nil {
return x.Headers
}
return nil
}
func (x *GetHeadersResponseMessage) GetError() *RPCError {
if x != nil {
return x.Error
}
return nil
}
type NotifyUtxosChangedRequestMessage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Addresses []string `protobuf:"bytes,1,rep,name=addresses,proto3" json:"addresses,omitempty"`
}
func (x *NotifyUtxosChangedRequestMessage) Reset() {
*x = NotifyUtxosChangedRequestMessage{}
if protoimpl.UnsafeEnabled {
mi := &file_messages_proto_msgTypes[98]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *NotifyUtxosChangedRequestMessage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*NotifyUtxosChangedRequestMessage) ProtoMessage() {}
func (x *NotifyUtxosChangedRequestMessage) ProtoReflect() protoreflect.Message {
mi := &file_messages_proto_msgTypes[98]
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 NotifyUtxosChangedRequestMessage.ProtoReflect.Descriptor instead.
func (*NotifyUtxosChangedRequestMessage) Descriptor() ([]byte, []int) {
return file_messages_proto_rawDescGZIP(), []int{98}
}
func (x *NotifyUtxosChangedRequestMessage) GetAddresses() []string {
if x != nil {
return x.Addresses
}
return nil
}
type NotifyUtxosChangedResponseMessage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Error *RPCError `protobuf:"bytes,1000,opt,name=error,proto3" json:"error,omitempty"`
}
func (x *NotifyUtxosChangedResponseMessage) Reset() {
*x = NotifyUtxosChangedResponseMessage{}
if protoimpl.UnsafeEnabled {
mi := &file_messages_proto_msgTypes[99]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *NotifyUtxosChangedResponseMessage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*NotifyUtxosChangedResponseMessage) ProtoMessage() {}
func (x *NotifyUtxosChangedResponseMessage) ProtoReflect() protoreflect.Message {
mi := &file_messages_proto_msgTypes[99]
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 NotifyUtxosChangedResponseMessage.ProtoReflect.Descriptor instead.
func (*NotifyUtxosChangedResponseMessage) Descriptor() ([]byte, []int) {
return file_messages_proto_rawDescGZIP(), []int{99}
}
func (x *NotifyUtxosChangedResponseMessage) GetError() *RPCError {
if x != nil {
return x.Error
}
return nil
}
type UtxosChangedNotificationMessage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Added []*UtxosByAddressesEntry `protobuf:"bytes,1,rep,name=added,proto3" json:"added,omitempty"`
Removed []*UtxosByAddressesEntry `protobuf:"bytes,2,rep,name=removed,proto3" json:"removed,omitempty"`
}
func (x *UtxosChangedNotificationMessage) Reset() {
*x = UtxosChangedNotificationMessage{}
if protoimpl.UnsafeEnabled {
mi := &file_messages_proto_msgTypes[100]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *UtxosChangedNotificationMessage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UtxosChangedNotificationMessage) ProtoMessage() {}
func (x *UtxosChangedNotificationMessage) ProtoReflect() protoreflect.Message {
mi := &file_messages_proto_msgTypes[100]
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 UtxosChangedNotificationMessage.ProtoReflect.Descriptor instead.
func (*UtxosChangedNotificationMessage) Descriptor() ([]byte, []int) {
return file_messages_proto_rawDescGZIP(), []int{100}
}
func (x *UtxosChangedNotificationMessage) GetAdded() []*UtxosByAddressesEntry {
if x != nil {
return x.Added
}
return nil
}
func (x *UtxosChangedNotificationMessage) GetRemoved() []*UtxosByAddressesEntry {
if x != nil {
return x.Removed
}
return nil
}
type UtxosByAddressesEntry struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
Outpoint *RpcOutpoint `protobuf:"bytes,2,opt,name=outpoint,proto3" json:"outpoint,omitempty"`
UtxoEntry *RpcUtxoEntry `protobuf:"bytes,3,opt,name=utxoEntry,proto3" json:"utxoEntry,omitempty"`
}
func (x *UtxosByAddressesEntry) Reset() {
*x = UtxosByAddressesEntry{}
if protoimpl.UnsafeEnabled {
mi := &file_messages_proto_msgTypes[101]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *UtxosByAddressesEntry) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UtxosByAddressesEntry) ProtoMessage() {}
func (x *UtxosByAddressesEntry) ProtoReflect() protoreflect.Message {
mi := &file_messages_proto_msgTypes[101]
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 UtxosByAddressesEntry.ProtoReflect.Descriptor instead.
func (*UtxosByAddressesEntry) Descriptor() ([]byte, []int) {
return file_messages_proto_rawDescGZIP(), []int{101}
}
func (x *UtxosByAddressesEntry) GetAddress() string {
if x != nil {
return x.Address
}
return ""
}
func (x *UtxosByAddressesEntry) GetOutpoint() *RpcOutpoint {
if x != nil {
return x.Outpoint
}
return nil
}
func (x *UtxosByAddressesEntry) GetUtxoEntry() *RpcUtxoEntry {
if x != nil {
return x.UtxoEntry
}
return nil
}
type RpcTransaction struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Version uint32 `protobuf:"varint,1,opt,name=version,proto3" json:"version,omitempty"`
Inputs []*RpcTransactionInput `protobuf:"bytes,2,rep,name=inputs,proto3" json:"inputs,omitempty"`
Outputs []*RpcTransactionOutput `protobuf:"bytes,3,rep,name=outputs,proto3" json:"outputs,omitempty"`
LockTime uint64 `protobuf:"varint,4,opt,name=lockTime,proto3" json:"lockTime,omitempty"`
SubnetworkId string `protobuf:"bytes,5,opt,name=subnetworkId,proto3" json:"subnetworkId,omitempty"`
Gas uint64 `protobuf:"varint,6,opt,name=gas,proto3" json:"gas,omitempty"`
PayloadHash string `protobuf:"bytes,7,opt,name=payloadHash,proto3" json:"payloadHash,omitempty"`
Payload string `protobuf:"bytes,8,opt,name=payload,proto3" json:"payload,omitempty"`
}
func (x *RpcTransaction) Reset() {
*x = RpcTransaction{}
if protoimpl.UnsafeEnabled {
mi := &file_messages_proto_msgTypes[102]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *RpcTransaction) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RpcTransaction) ProtoMessage() {}
func (x *RpcTransaction) ProtoReflect() protoreflect.Message {
mi := &file_messages_proto_msgTypes[102]
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 RpcTransaction.ProtoReflect.Descriptor instead.
func (*RpcTransaction) Descriptor() ([]byte, []int) {
return file_messages_proto_rawDescGZIP(), []int{102}
}
func (x *RpcTransaction) GetVersion() uint32 {
if x != nil {
return x.Version
}
return 0
}
func (x *RpcTransaction) GetInputs() []*RpcTransactionInput {
if x != nil {
return x.Inputs
}
return nil
}
func (x *RpcTransaction) GetOutputs() []*RpcTransactionOutput {
if x != nil {
return x.Outputs
}
return nil
}
func (x *RpcTransaction) GetLockTime() uint64 {
if x != nil {
return x.LockTime
}
return 0
}
func (x *RpcTransaction) GetSubnetworkId() string {
if x != nil {
return x.SubnetworkId
}
return ""
}
func (x *RpcTransaction) GetGas() uint64 {
if x != nil {
return x.Gas
}
return 0
}
func (x *RpcTransaction) GetPayloadHash() string {
if x != nil {
return x.PayloadHash
}
return ""
}
func (x *RpcTransaction) GetPayload() string {
if x != nil {
return x.Payload
}
return ""
}
type RpcTransactionInput struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
PreviousOutpoint *RpcOutpoint `protobuf:"bytes,1,opt,name=previousOutpoint,proto3" json:"previousOutpoint,omitempty"`
SignatureScript string `protobuf:"bytes,2,opt,name=signatureScript,proto3" json:"signatureScript,omitempty"`
Sequence uint64 `protobuf:"varint,3,opt,name=sequence,proto3" json:"sequence,omitempty"`
}
func (x *RpcTransactionInput) Reset() {
*x = RpcTransactionInput{}
if protoimpl.UnsafeEnabled {
mi := &file_messages_proto_msgTypes[103]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *RpcTransactionInput) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RpcTransactionInput) ProtoMessage() {}
func (x *RpcTransactionInput) ProtoReflect() protoreflect.Message {
mi := &file_messages_proto_msgTypes[103]
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 RpcTransactionInput.ProtoReflect.Descriptor instead.
func (*RpcTransactionInput) Descriptor() ([]byte, []int) {
return file_messages_proto_rawDescGZIP(), []int{103}
}
func (x *RpcTransactionInput) GetPreviousOutpoint() *RpcOutpoint {
if x != nil {
return x.PreviousOutpoint
}
return nil
}
func (x *RpcTransactionInput) GetSignatureScript() string {
if x != nil {
return x.SignatureScript
}
return ""
}
func (x *RpcTransactionInput) GetSequence() uint64 {
if x != nil {
return x.Sequence
}
return 0
}
type RpcScriptPublicKey struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Version uint32 `protobuf:"varint,1,opt,name=version,proto3" json:"version,omitempty"`
ScriptPublicKey string `protobuf:"bytes,2,opt,name=scriptPublicKey,proto3" json:"scriptPublicKey,omitempty"`
}
func (x *RpcScriptPublicKey) Reset() {
*x = RpcScriptPublicKey{}
if protoimpl.UnsafeEnabled {
mi := &file_messages_proto_msgTypes[104]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *RpcScriptPublicKey) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RpcScriptPublicKey) ProtoMessage() {}
func (x *RpcScriptPublicKey) ProtoReflect() protoreflect.Message {
mi := &file_messages_proto_msgTypes[104]
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 RpcScriptPublicKey.ProtoReflect.Descriptor instead.
func (*RpcScriptPublicKey) Descriptor() ([]byte, []int) {
return file_messages_proto_rawDescGZIP(), []int{104}
}
func (x *RpcScriptPublicKey) GetVersion() uint32 {
if x != nil {
return x.Version
}
return 0
}
func (x *RpcScriptPublicKey) GetScriptPublicKey() string {
if x != nil {
return x.ScriptPublicKey
}
return ""
}
type RpcTransactionOutput struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Amount uint64 `protobuf:"varint,1,opt,name=amount,proto3" json:"amount,omitempty"`
ScriptPublicKey *RpcScriptPublicKey `protobuf:"bytes,2,opt,name=scriptPublicKey,proto3" json:"scriptPublicKey,omitempty"`
}
func (x *RpcTransactionOutput) Reset() {
*x = RpcTransactionOutput{}
if protoimpl.UnsafeEnabled {
mi := &file_messages_proto_msgTypes[105]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *RpcTransactionOutput) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RpcTransactionOutput) ProtoMessage() {}
func (x *RpcTransactionOutput) ProtoReflect() protoreflect.Message {
mi := &file_messages_proto_msgTypes[105]
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 RpcTransactionOutput.ProtoReflect.Descriptor instead.
func (*RpcTransactionOutput) Descriptor() ([]byte, []int) {
return file_messages_proto_rawDescGZIP(), []int{105}
}
func (x *RpcTransactionOutput) GetAmount() uint64 {
if x != nil {
return x.Amount
}
return 0
}
func (x *RpcTransactionOutput) GetScriptPublicKey() *RpcScriptPublicKey {
if x != nil {
return x.ScriptPublicKey
}
return nil
}
type RpcOutpoint struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
TransactionId string `protobuf:"bytes,1,opt,name=transactionId,proto3" json:"transactionId,omitempty"`
Index uint32 `protobuf:"varint,2,opt,name=index,proto3" json:"index,omitempty"`
}
func (x *RpcOutpoint) Reset() {
*x = RpcOutpoint{}
if protoimpl.UnsafeEnabled {
mi := &file_messages_proto_msgTypes[106]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *RpcOutpoint) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RpcOutpoint) ProtoMessage() {}
func (x *RpcOutpoint) ProtoReflect() protoreflect.Message {
mi := &file_messages_proto_msgTypes[106]
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 RpcOutpoint.ProtoReflect.Descriptor instead.
func (*RpcOutpoint) Descriptor() ([]byte, []int) {
return file_messages_proto_rawDescGZIP(), []int{106}
}
func (x *RpcOutpoint) GetTransactionId() string {
if x != nil {
return x.TransactionId
}
return ""
}
func (x *RpcOutpoint) GetIndex() uint32 {
if x != nil {
return x.Index
}
return 0
}
type RpcUtxoEntry struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Amount uint64 `protobuf:"varint,1,opt,name=amount,proto3" json:"amount,omitempty"`
ScriptPublicKey *RpcScriptPublicKey `protobuf:"bytes,2,opt,name=scriptPublicKey,proto3" json:"scriptPublicKey,omitempty"`
BlockBlueScore uint64 `protobuf:"varint,3,opt,name=blockBlueScore,proto3" json:"blockBlueScore,omitempty"`
IsCoinbase bool `protobuf:"varint,4,opt,name=isCoinbase,proto3" json:"isCoinbase,omitempty"`
}
func (x *RpcUtxoEntry) Reset() {
*x = RpcUtxoEntry{}
if protoimpl.UnsafeEnabled {
mi := &file_messages_proto_msgTypes[107]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *RpcUtxoEntry) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RpcUtxoEntry) ProtoMessage() {}
func (x *RpcUtxoEntry) ProtoReflect() protoreflect.Message {
mi := &file_messages_proto_msgTypes[107]
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 RpcUtxoEntry.ProtoReflect.Descriptor instead.
func (*RpcUtxoEntry) Descriptor() ([]byte, []int) {
return file_messages_proto_rawDescGZIP(), []int{107}
}
func (x *RpcUtxoEntry) GetAmount() uint64 {
if x != nil {
return x.Amount
}
return 0
}
func (x *RpcUtxoEntry) GetScriptPublicKey() *RpcScriptPublicKey {
if x != nil {
return x.ScriptPublicKey
}
return nil
}
func (x *RpcUtxoEntry) GetBlockBlueScore() uint64 {
if x != nil {
return x.BlockBlueScore
}
return 0
}
func (x *RpcUtxoEntry) GetIsCoinbase() bool {
if x != nil {
return x.IsCoinbase
}
return false
}
type GetUtxosByAddressesRequestMessage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Addresses []string `protobuf:"bytes,1,rep,name=addresses,proto3" json:"addresses,omitempty"`
}
func (x *GetUtxosByAddressesRequestMessage) Reset() {
*x = GetUtxosByAddressesRequestMessage{}
if protoimpl.UnsafeEnabled {
mi := &file_messages_proto_msgTypes[108]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetUtxosByAddressesRequestMessage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetUtxosByAddressesRequestMessage) ProtoMessage() {}
func (x *GetUtxosByAddressesRequestMessage) ProtoReflect() protoreflect.Message {
mi := &file_messages_proto_msgTypes[108]
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 GetUtxosByAddressesRequestMessage.ProtoReflect.Descriptor instead.
func (*GetUtxosByAddressesRequestMessage) Descriptor() ([]byte, []int) {
return file_messages_proto_rawDescGZIP(), []int{108}
}
func (x *GetUtxosByAddressesRequestMessage) GetAddresses() []string {
if x != nil {
return x.Addresses
}
return nil
}
type GetUtxosByAddressesResponseMessage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Entries []*UtxosByAddressesEntry `protobuf:"bytes,1,rep,name=entries,proto3" json:"entries,omitempty"`
Error *RPCError `protobuf:"bytes,1000,opt,name=error,proto3" json:"error,omitempty"`
}
func (x *GetUtxosByAddressesResponseMessage) Reset() {
*x = GetUtxosByAddressesResponseMessage{}
if protoimpl.UnsafeEnabled {
mi := &file_messages_proto_msgTypes[109]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetUtxosByAddressesResponseMessage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetUtxosByAddressesResponseMessage) ProtoMessage() {}
func (x *GetUtxosByAddressesResponseMessage) ProtoReflect() protoreflect.Message {
mi := &file_messages_proto_msgTypes[109]
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 GetUtxosByAddressesResponseMessage.ProtoReflect.Descriptor instead.
func (*GetUtxosByAddressesResponseMessage) Descriptor() ([]byte, []int) {
return file_messages_proto_rawDescGZIP(), []int{109}
}
func (x *GetUtxosByAddressesResponseMessage) GetEntries() []*UtxosByAddressesEntry {
if x != nil {
return x.Entries
}
return nil
}
func (x *GetUtxosByAddressesResponseMessage) GetError() *RPCError {
if x != nil {
return x.Error
}
return nil
}
type GetVirtualSelectedParentBlueScoreRequestMessage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *GetVirtualSelectedParentBlueScoreRequestMessage) Reset() {
*x = GetVirtualSelectedParentBlueScoreRequestMessage{}
if protoimpl.UnsafeEnabled {
mi := &file_messages_proto_msgTypes[110]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetVirtualSelectedParentBlueScoreRequestMessage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetVirtualSelectedParentBlueScoreRequestMessage) ProtoMessage() {}
func (x *GetVirtualSelectedParentBlueScoreRequestMessage) ProtoReflect() protoreflect.Message {
mi := &file_messages_proto_msgTypes[110]
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 GetVirtualSelectedParentBlueScoreRequestMessage.ProtoReflect.Descriptor instead.
func (*GetVirtualSelectedParentBlueScoreRequestMessage) Descriptor() ([]byte, []int) {
return file_messages_proto_rawDescGZIP(), []int{110}
}
type GetVirtualSelectedParentBlueScoreResponseMessage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
BlueScore uint64 `protobuf:"varint,1,opt,name=blueScore,proto3" json:"blueScore,omitempty"`
Error *RPCError `protobuf:"bytes,1000,opt,name=error,proto3" json:"error,omitempty"`
}
func (x *GetVirtualSelectedParentBlueScoreResponseMessage) Reset() {
*x = GetVirtualSelectedParentBlueScoreResponseMessage{}
if protoimpl.UnsafeEnabled {
mi := &file_messages_proto_msgTypes[111]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetVirtualSelectedParentBlueScoreResponseMessage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetVirtualSelectedParentBlueScoreResponseMessage) ProtoMessage() {}
func (x *GetVirtualSelectedParentBlueScoreResponseMessage) ProtoReflect() protoreflect.Message {
mi := &file_messages_proto_msgTypes[111]
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 GetVirtualSelectedParentBlueScoreResponseMessage.ProtoReflect.Descriptor instead.
func (*GetVirtualSelectedParentBlueScoreResponseMessage) Descriptor() ([]byte, []int) {
return file_messages_proto_rawDescGZIP(), []int{111}
}
func (x *GetVirtualSelectedParentBlueScoreResponseMessage) GetBlueScore() uint64 {
if x != nil {
return x.BlueScore
}
return 0
}
func (x *GetVirtualSelectedParentBlueScoreResponseMessage) GetError() *RPCError {
if x != nil {
return x.Error
}
return nil
}
type NotifyVirtualSelectedParentBlueScoreChangedRequestMessage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *NotifyVirtualSelectedParentBlueScoreChangedRequestMessage) Reset() {
*x = NotifyVirtualSelectedParentBlueScoreChangedRequestMessage{}
if protoimpl.UnsafeEnabled {
mi := &file_messages_proto_msgTypes[112]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *NotifyVirtualSelectedParentBlueScoreChangedRequestMessage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*NotifyVirtualSelectedParentBlueScoreChangedRequestMessage) ProtoMessage() {}
func (x *NotifyVirtualSelectedParentBlueScoreChangedRequestMessage) ProtoReflect() protoreflect.Message {
mi := &file_messages_proto_msgTypes[112]
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 NotifyVirtualSelectedParentBlueScoreChangedRequestMessage.ProtoReflect.Descriptor instead.
func (*NotifyVirtualSelectedParentBlueScoreChangedRequestMessage) Descriptor() ([]byte, []int) {
return file_messages_proto_rawDescGZIP(), []int{112}
}
type NotifyVirtualSelectedParentBlueScoreChangedResponseMessage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Error *RPCError `protobuf:"bytes,1000,opt,name=error,proto3" json:"error,omitempty"`
}
func (x *NotifyVirtualSelectedParentBlueScoreChangedResponseMessage) Reset() {
*x = NotifyVirtualSelectedParentBlueScoreChangedResponseMessage{}
if protoimpl.UnsafeEnabled {
mi := &file_messages_proto_msgTypes[113]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *NotifyVirtualSelectedParentBlueScoreChangedResponseMessage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*NotifyVirtualSelectedParentBlueScoreChangedResponseMessage) ProtoMessage() {}
func (x *NotifyVirtualSelectedParentBlueScoreChangedResponseMessage) ProtoReflect() protoreflect.Message {
mi := &file_messages_proto_msgTypes[113]
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 NotifyVirtualSelectedParentBlueScoreChangedResponseMessage.ProtoReflect.Descriptor instead.
func (*NotifyVirtualSelectedParentBlueScoreChangedResponseMessage) Descriptor() ([]byte, []int) {
return file_messages_proto_rawDescGZIP(), []int{113}
}
func (x *NotifyVirtualSelectedParentBlueScoreChangedResponseMessage) GetError() *RPCError {
if x != nil {
return x.Error
}
return nil
}
type VirtualSelectedParentBlueScoreChangedNotificationMessage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
VirtualSelectedParentBlueScore uint64 `protobuf:"varint,1,opt,name=virtualSelectedParentBlueScore,proto3" json:"virtualSelectedParentBlueScore,omitempty"`
}
func (x *VirtualSelectedParentBlueScoreChangedNotificationMessage) Reset() {
*x = VirtualSelectedParentBlueScoreChangedNotificationMessage{}
if protoimpl.UnsafeEnabled {
mi := &file_messages_proto_msgTypes[114]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *VirtualSelectedParentBlueScoreChangedNotificationMessage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*VirtualSelectedParentBlueScoreChangedNotificationMessage) ProtoMessage() {}
func (x *VirtualSelectedParentBlueScoreChangedNotificationMessage) ProtoReflect() protoreflect.Message {
mi := &file_messages_proto_msgTypes[114]
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 VirtualSelectedParentBlueScoreChangedNotificationMessage.ProtoReflect.Descriptor instead.
func (*VirtualSelectedParentBlueScoreChangedNotificationMessage) Descriptor() ([]byte, []int) {
return file_messages_proto_rawDescGZIP(), []int{114}
}
func (x *VirtualSelectedParentBlueScoreChangedNotificationMessage) GetVirtualSelectedParentBlueScore() uint64 {
if x != nil {
return x.VirtualSelectedParentBlueScore
}
return 0
}
var File_messages_proto protoreflect.FileDescriptor
var file_messages_proto_rawDesc = []byte{
0x0a, 0x0e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x12, 0x09, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x22, 0xd6, 0x45, 0x0a, 0x0d,
0x4b, 0x61, 0x73, 0x70, 0x61, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x3b, 0x0a,
0x09, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x1b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x41, 0x64, 0x64,
0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52,
0x09, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x12, 0x2f, 0x0a, 0x05, 0x62, 0x6c,
0x6f, 0x63, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x4d, 0x65, 0x73, 0x73, 0x61,
0x67, 0x65, 0x48, 0x00, 0x52, 0x05, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x41, 0x0a, 0x0b, 0x74,
0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x1d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x54, 0x72, 0x61,
0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48,
0x00, 0x52, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x59,
0x0a, 0x13, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x4c, 0x6f,
0x63, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42,
0x6c, 0x6f, 0x63, 0x6b, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x6f, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61,
0x67, 0x65, 0x48, 0x00, 0x52, 0x13, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x6c, 0x6f,
0x63, 0x6b, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x44, 0x0a, 0x0c, 0x62, 0x6c, 0x6f,
0x63, 0x6b, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x42, 0x6c, 0x6f, 0x63,
0x6b, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x6f, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48,
0x00, 0x52, 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x6f, 0x72, 0x12,
0x50, 0x0a, 0x10, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73,
0x73, 0x65, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x41, 0x64, 0x64,
0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52,
0x10, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65,
0x73, 0x12, 0x4a, 0x0a, 0x0e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64,
0x65, 0x72, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61,
0x64, 0x65, 0x72, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x0e, 0x72,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x56, 0x0a,
0x12, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x65, 0x61, 0x64,
0x65, 0x72, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4e, 0x65, 0x78,
0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48,
0x00, 0x52, 0x12, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x65,
0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x41, 0x0a, 0x0b, 0x44, 0x6f, 0x6e, 0x65, 0x48, 0x65, 0x61,
0x64, 0x65, 0x72, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x44, 0x6f, 0x6e, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65,
0x72, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x0b, 0x44, 0x6f, 0x6e,
0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x56, 0x0a, 0x12, 0x72, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x18, 0x0a,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65,
0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x42, 0x6c, 0x6f,
0x63, 0x6b, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x12, 0x72, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x73,
0x12, 0x59, 0x0a, 0x13, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73,
0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4d, 0x65, 0x73,
0x73, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x13, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54,
0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x35, 0x0a, 0x08, 0x69,
0x62, 0x64, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x4d,
0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x08, 0x69, 0x62, 0x64, 0x42, 0x6c, 0x6f,
0x63, 0x6b, 0x12, 0x47, 0x0a, 0x0d, 0x69, 0x6e, 0x76, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x42, 0x6c,
0x6f, 0x63, 0x6b, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x49, 0x6e, 0x76, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x42, 0x6c,
0x6f, 0x63, 0x6b, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x0d, 0x69, 0x6e,
0x76, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x4d, 0x0a, 0x0f, 0x69,
0x6e, 0x76, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0f,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65,
0x2e, 0x49, 0x6e, 0x76, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73,
0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x0f, 0x69, 0x6e, 0x76, 0x54, 0x72,
0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2c, 0x0a, 0x04, 0x70, 0x69,
0x6e, 0x67, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x77, 0x69, 0x72, 0x65, 0x2e, 0x50, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
0x48, 0x00, 0x52, 0x04, 0x70, 0x69, 0x6e, 0x67, 0x12, 0x2c, 0x0a, 0x04, 0x70, 0x6f, 0x6e, 0x67,
0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69,
0x72, 0x65, 0x2e, 0x50, 0x6f, 0x6e, 0x67, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x00,
0x52, 0x04, 0x70, 0x6f, 0x6e, 0x67, 0x12, 0x32, 0x0a, 0x06, 0x76, 0x65, 0x72, 0x61, 0x63, 0x6b,
0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69,
0x72, 0x65, 0x2e, 0x56, 0x65, 0x72, 0x61, 0x63, 0x6b, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
0x48, 0x00, 0x52, 0x06, 0x76, 0x65, 0x72, 0x61, 0x63, 0x6b, 0x12, 0x35, 0x0a, 0x07, 0x76, 0x65,
0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x4d,
0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f,
0x6e, 0x12, 0x59, 0x0a, 0x13, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e,
0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73,
0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x4d, 0x65,
0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x13, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63,
0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x32, 0x0a, 0x06,
0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x4d,
0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x06, 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74,
0x12, 0x77, 0x0a, 0x1d, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x42, 0x44, 0x52, 0x6f,
0x6f, 0x74, 0x55, 0x54, 0x58, 0x4f, 0x53, 0x65, 0x74, 0x41, 0x6e, 0x64, 0x42, 0x6c, 0x6f, 0x63,
0x6b, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77,
0x69, 0x72, 0x65, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x42, 0x44, 0x52, 0x6f,
0x6f, 0x74, 0x55, 0x54, 0x58, 0x4f, 0x53, 0x65, 0x74, 0x41, 0x6e, 0x64, 0x42, 0x6c, 0x6f, 0x63,
0x6b, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x1d, 0x72, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x49, 0x42, 0x44, 0x52, 0x6f, 0x6f, 0x74, 0x55, 0x54, 0x58, 0x4f, 0x53, 0x65,
0x74, 0x41, 0x6e, 0x64, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x62, 0x0a, 0x16, 0x69, 0x62, 0x64,
0x52, 0x6f, 0x6f, 0x74, 0x55, 0x54, 0x58, 0x4f, 0x53, 0x65, 0x74, 0x41, 0x6e, 0x64, 0x42, 0x6c,
0x6f, 0x63, 0x6b, 0x18, 0x19, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x49, 0x42, 0x44, 0x52, 0x6f, 0x6f, 0x74, 0x55, 0x54, 0x58,
0x4f, 0x53, 0x65, 0x74, 0x41, 0x6e, 0x64, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x4d, 0x65, 0x73, 0x73,
0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x16, 0x69, 0x62, 0x64, 0x52, 0x6f, 0x6f, 0x74, 0x55, 0x54,
0x58, 0x4f, 0x53, 0x65, 0x74, 0x41, 0x6e, 0x64, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x50, 0x0a,
0x10, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x42, 0x44, 0x42, 0x6c, 0x6f, 0x63, 0x6b,
0x73, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77,
0x69, 0x72, 0x65, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x42, 0x44, 0x42, 0x6c,
0x6f, 0x63, 0x6b, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x10, 0x72,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x42, 0x44, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x12,
0x4d, 0x0a, 0x0f, 0x69, 0x62, 0x64, 0x52, 0x6f, 0x6f, 0x74, 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75,
0x6e, 0x64, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x77, 0x69, 0x72, 0x65, 0x2e, 0x49, 0x42, 0x44, 0x52, 0x6f, 0x6f, 0x74, 0x4e, 0x6f, 0x74, 0x46,
0x6f, 0x75, 0x6e, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x0f, 0x69,
0x62, 0x64, 0x52, 0x6f, 0x6f, 0x74, 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x56,
0x0a, 0x12, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x42, 0x44, 0x52, 0x6f, 0x6f, 0x74,
0x48, 0x61, 0x73, 0x68, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x42,
0x44, 0x52, 0x6f, 0x6f, 0x74, 0x48, 0x61, 0x73, 0x68, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
0x48, 0x00, 0x52, 0x12, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x42, 0x44, 0x52, 0x6f,
0x6f, 0x74, 0x48, 0x61, 0x73, 0x68, 0x12, 0x41, 0x0a, 0x0b, 0x69, 0x62, 0x64, 0x52, 0x6f, 0x6f,
0x74, 0x48, 0x61, 0x73, 0x68, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x49, 0x42, 0x44, 0x52, 0x6f, 0x6f, 0x74, 0x48,
0x61, 0x73, 0x68, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x0b, 0x69, 0x62,
0x64, 0x52, 0x6f, 0x6f, 0x74, 0x48, 0x61, 0x73, 0x68, 0x12, 0x4d, 0x0a, 0x0f, 0x69, 0x62, 0x64,
0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x1e, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x21, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x49,
0x62, 0x64, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x6f, 0x72, 0x4d, 0x65,
0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x0f, 0x69, 0x62, 0x64, 0x42, 0x6c, 0x6f, 0x63,
0x6b, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x6e, 0x0a, 0x1a, 0x69, 0x62, 0x64, 0x42,
0x6c, 0x6f, 0x63, 0x6b, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x6f, 0x72, 0x48, 0x69, 0x67, 0x68, 0x65,
0x73, 0x74, 0x48, 0x61, 0x73, 0x68, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x49, 0x62, 0x64, 0x42, 0x6c, 0x6f, 0x63,
0x6b, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x6f, 0x72, 0x48, 0x69, 0x67, 0x68, 0x65, 0x73, 0x74, 0x48,
0x61, 0x73, 0x68, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x1a, 0x69, 0x62,
0x64, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x6f, 0x72, 0x48, 0x69, 0x67,
0x68, 0x65, 0x73, 0x74, 0x48, 0x61, 0x73, 0x68, 0x12, 0x44, 0x0a, 0x0c, 0x62, 0x6c, 0x6f, 0x63,
0x6b, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x20, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b,
0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x00,
0x52, 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x69,
0x0a, 0x18, 0x67, 0x65, 0x74, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x4e, 0x65, 0x74, 0x77,
0x6f, 0x72, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0xe9, 0x07, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x2a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x47, 0x65,
0x74, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52,
0x18, 0x67, 0x65, 0x74, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f,
0x72, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x6c, 0x0a, 0x19, 0x67, 0x65, 0x74,
0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65,
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0xea, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x75, 0x72,
0x72, 0x65, 0x6e, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f,
0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x19, 0x67, 0x65,
0x74, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52,
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x57, 0x0a, 0x12, 0x73, 0x75, 0x62, 0x6d, 0x69,
0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0xeb, 0x07,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65,
0x2e, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x12, 0x73, 0x75,
0x62, 0x6d, 0x69, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x12, 0x5a, 0x0a, 0x13, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52,
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0xec, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x53, 0x75, 0x62, 0x6d, 0x69,
0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65,
0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x13, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x42,
0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x66, 0x0a, 0x17,
0x67, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65,
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0xed, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x6c,
0x6f, 0x63, 0x6b, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65,
0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x17, 0x67, 0x65, 0x74,
0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x12, 0x69, 0x0a, 0x18, 0x67, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b,
0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
0x18, 0xee, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77,
0x69, 0x72, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x65, 0x6d, 0x70,
0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73,
0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x18, 0x67, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x54,
0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
0x66, 0x0a, 0x17, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x41, 0x64,
0x64, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0xef, 0x07, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x29, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x4e, 0x6f,
0x74, 0x69, 0x66, 0x79, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x41, 0x64, 0x64, 0x65, 0x64, 0x52, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x17,
0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x41, 0x64, 0x64, 0x65, 0x64,
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x69, 0x0a, 0x18, 0x6e, 0x6f, 0x74, 0x69, 0x66,
0x79, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x41, 0x64, 0x64, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f,
0x6e, 0x73, 0x65, 0x18, 0xf0, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x42, 0x6c, 0x6f,
0x63, 0x6b, 0x41, 0x64, 0x64, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d,
0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x18, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79,
0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x41, 0x64, 0x64, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
0x73, 0x65, 0x12, 0x63, 0x0a, 0x16, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x41, 0x64, 0x64, 0x65, 0x64,
0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xf1, 0x07, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e,
0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x41, 0x64, 0x64, 0x65, 0x64, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69,
0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52,
0x16, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x41, 0x64, 0x64, 0x65, 0x64, 0x4e, 0x6f, 0x74, 0x69, 0x66,
0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x66, 0x0a, 0x17, 0x67, 0x65, 0x74, 0x50, 0x65,
0x65, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65,
0x73, 0x74, 0x18, 0xf2, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x65, 0x65, 0x72, 0x41, 0x64, 0x64,
0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x73,
0x73, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x17, 0x67, 0x65, 0x74, 0x50, 0x65, 0x65, 0x72, 0x41,
0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
0x69, 0x0a, 0x18, 0x67, 0x65, 0x74, 0x50, 0x65, 0x65, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73,
0x73, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0xf3, 0x07, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x47,
0x65, 0x74, 0x50, 0x65, 0x65, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x52,
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x00,
0x52, 0x18, 0x67, 0x65, 0x74, 0x50, 0x65, 0x65, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73,
0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6c, 0x0a, 0x19, 0x67, 0x65,
0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x54, 0x69, 0x70, 0x48, 0x61, 0x73, 0x68,
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0xf4, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x65,
0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x54, 0x69, 0x70, 0x48, 0x61, 0x73, 0x68, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x19, 0x67,
0x65, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x54, 0x69, 0x70, 0x48, 0x61, 0x73,
0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x6f, 0x0a, 0x1a, 0x67, 0x65, 0x74, 0x53,
0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x54, 0x69, 0x70, 0x48, 0x61, 0x73, 0x68, 0x52, 0x65,
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0xf5, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x65, 0x6c,
0x65, 0x63, 0x74, 0x65, 0x64, 0x54, 0x69, 0x70, 0x48, 0x61, 0x73, 0x68, 0x52, 0x65, 0x73, 0x70,
0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x1a, 0x67,
0x65, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x54, 0x69, 0x70, 0x48, 0x61, 0x73,
0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x63, 0x0a, 0x16, 0x67, 0x65, 0x74,
0x4d, 0x65, 0x6d, 0x70, 0x6f, 0x6f, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x18, 0xf6, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x70, 0x6f, 0x6f,
0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x73,
0x73, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x16, 0x67, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x70, 0x6f,
0x6f, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x66,
0x0a, 0x17, 0x67, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x70, 0x6f, 0x6f, 0x6c, 0x45, 0x6e, 0x74, 0x72,
0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0xf7, 0x07, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x29, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x47, 0x65, 0x74,
0x4d, 0x65, 0x6d, 0x70, 0x6f, 0x6f, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70,
0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x17, 0x67,
0x65, 0x74, 0x4d, 0x65, 0x6d, 0x70, 0x6f, 0x6f, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65,
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x72, 0x0a, 0x1b, 0x67, 0x65, 0x74, 0x43, 0x6f, 0x6e,
0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x50, 0x65, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0xf8, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x6e,
0x65, 0x63, 0x74, 0x65, 0x64, 0x50, 0x65, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x1b, 0x67,
0x65, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x50, 0x65, 0x65, 0x72, 0x49,
0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x75, 0x0a, 0x1c, 0x67, 0x65,
0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x50, 0x65, 0x65, 0x72, 0x49, 0x6e,
0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0xf9, 0x07, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x2e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x47, 0x65,
0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x50, 0x65, 0x65, 0x72, 0x49, 0x6e,
0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67,
0x65, 0x48, 0x00, 0x52, 0x1c, 0x67, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65,
0x64, 0x50, 0x65, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
0x65, 0x12, 0x4b, 0x0a, 0x0e, 0x61, 0x64, 0x64, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x18, 0xfa, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x41, 0x64, 0x64, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x0e,
0x61, 0x64, 0x64, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4e,
0x0a, 0x0f, 0x61, 0x64, 0x64, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
0x65, 0x18, 0xfb, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x77, 0x69, 0x72, 0x65, 0x2e, 0x41, 0x64, 0x64, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70,
0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x0f, 0x61,
0x64, 0x64, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x69,
0x0a, 0x18, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74,
0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0xfc, 0x07, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x2a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x53, 0x75,
0x62, 0x6d, 0x69, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52,
0x18, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69,
0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x6c, 0x0a, 0x19, 0x73, 0x75, 0x62,
0x6d, 0x69, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65,
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0xfd, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74,
0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f,
0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x19, 0x73, 0x75,
0x62, 0x6d, 0x69, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52,
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0xab, 0x01, 0x0a, 0x2e, 0x6e, 0x6f, 0x74, 0x69,
0x66, 0x79, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65,
0x64, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x43, 0x68, 0x61, 0x6e,
0x67, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0xfe, 0x07, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x40, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x4e, 0x6f,
0x74, 0x69, 0x66, 0x79, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x53, 0x65, 0x6c, 0x65, 0x63,
0x74, 0x65, 0x64, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x43, 0x68,
0x61, 0x6e, 0x67, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73,
0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x2e, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x56, 0x69, 0x72,
0x74, 0x75, 0x61, 0x6c, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x50, 0x61, 0x72, 0x65,
0x6e, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x52, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0xae, 0x01, 0x0a, 0x2f, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79,
0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x50,
0x61, 0x72, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65,
0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0xff, 0x07, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x41, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x4e, 0x6f, 0x74,
0x69, 0x66, 0x79, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74,
0x65, 0x64, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x43, 0x68, 0x61,
0x6e, 0x67, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73,
0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x2f, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x56, 0x69, 0x72,
0x74, 0x75, 0x61, 0x6c, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x50, 0x61, 0x72, 0x65,
0x6e, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x52, 0x65,
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0xa8, 0x01, 0x0a, 0x2d, 0x76, 0x69, 0x72, 0x74, 0x75,
0x61, 0x6c, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74,
0x43, 0x68, 0x61, 0x69, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x4e, 0x6f, 0x74, 0x69,
0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x80, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x3f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x56, 0x69, 0x72, 0x74,
0x75, 0x61, 0x6c, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x50, 0x61, 0x72, 0x65, 0x6e,
0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x4e, 0x6f, 0x74,
0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
0x48, 0x00, 0x52, 0x2d, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x53, 0x65, 0x6c, 0x65, 0x63,
0x74, 0x65, 0x64, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x43, 0x68,
0x61, 0x6e, 0x67, 0x65, 0x64, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f,
0x6e, 0x12, 0x4e, 0x0a, 0x0f, 0x67, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x18, 0x81, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b,
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x00,
0x52, 0x0f, 0x67, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
0x74, 0x12, 0x51, 0x0a, 0x10, 0x67, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73,
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x82, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63,
0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
0x48, 0x00, 0x52, 0x10, 0x67, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70,
0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5d, 0x0a, 0x14, 0x67, 0x65, 0x74, 0x53, 0x75, 0x62, 0x6e, 0x65,
0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x83, 0x08, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e,
0x47, 0x65, 0x74, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x14, 0x67,
0x65, 0x74, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x12, 0x60, 0x0a, 0x15, 0x67, 0x65, 0x74, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74,
0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x84, 0x08, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e,
0x47, 0x65, 0x74, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x73,
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x15,
0x67, 0x65, 0x74, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x73,
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0xa8, 0x01, 0x0a, 0x2d, 0x67, 0x65, 0x74, 0x56, 0x69, 0x72,
0x74, 0x75, 0x61, 0x6c, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x50, 0x61, 0x72, 0x65,
0x6e, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x46, 0x72, 0x6f, 0x6d, 0x42, 0x6c, 0x6f, 0x63, 0x6b,
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x85, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3f,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x56, 0x69,
0x72, 0x74, 0x75, 0x61, 0x6c, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x50, 0x61, 0x72,
0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x46, 0x72, 0x6f, 0x6d, 0x42, 0x6c, 0x6f, 0x63,
0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48,
0x00, 0x52, 0x2d, 0x67, 0x65, 0x74, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x53, 0x65, 0x6c,
0x65, 0x63, 0x74, 0x65, 0x64, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e,
0x46, 0x72, 0x6f, 0x6d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x12, 0xab, 0x01, 0x0a, 0x2e, 0x67, 0x65, 0x74, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x53,
0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61,
0x69, 0x6e, 0x46, 0x72, 0x6f, 0x6d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f,
0x6e, 0x73, 0x65, 0x18, 0x86, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61,
0x6c, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x43,
0x68, 0x61, 0x69, 0x6e, 0x46, 0x72, 0x6f, 0x6d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73,
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x2e,
0x67, 0x65, 0x74, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74,
0x65, 0x64, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x46, 0x72, 0x6f,
0x6d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51,
0x0a, 0x10, 0x67, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65,
0x73, 0x74, 0x18, 0x87, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x52,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52,
0x10, 0x67, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
0x74, 0x12, 0x54, 0x0a, 0x11, 0x67, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x52, 0x65,
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x88, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f,
0x63, 0x6b, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61,
0x67, 0x65, 0x48, 0x00, 0x52, 0x11, 0x67, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x52,
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5d, 0x0a, 0x14, 0x67, 0x65, 0x74, 0x42, 0x6c,
0x6f, 0x63, 0x6b, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18,
0x89, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69,
0x72, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x43, 0x6f, 0x75, 0x6e, 0x74,
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x00,
0x52, 0x14, 0x67, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x60, 0x0a, 0x15, 0x67, 0x65, 0x74, 0x42, 0x6c, 0x6f,
0x63, 0x6b, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18,
0x8a, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69,
0x72, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x43, 0x6f, 0x75, 0x6e, 0x74,
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48,
0x00, 0x52, 0x15, 0x67, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x43, 0x6f, 0x75, 0x6e, 0x74,
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x63, 0x0a, 0x16, 0x67, 0x65, 0x74, 0x42,
0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x61, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65,
0x73, 0x74, 0x18, 0x8b, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x61,
0x67, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73,
0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x16, 0x67, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x44,
0x61, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x66, 0x0a,
0x17, 0x67, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x61, 0x67, 0x49, 0x6e, 0x66, 0x6f,
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x8c, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x29, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x42,
0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x61, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f,
0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x17, 0x67, 0x65,
0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x61, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73,
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7b, 0x0a, 0x1e, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65,
0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74,
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x8d, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c,
0x76, 0x65, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69,
0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
0x48, 0x00, 0x52, 0x1e, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x46, 0x69, 0x6e, 0x61, 0x6c,
0x69, 0x74, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65,
0x73, 0x74, 0x12, 0x7e, 0x0a, 0x1f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x46, 0x69, 0x6e,
0x61, 0x6c, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x52, 0x65, 0x73,
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x8e, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65,
0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74,
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48,
0x00, 0x52, 0x1f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69,
0x74, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
0x73, 0x65, 0x12, 0x7b, 0x0a, 0x1e, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x46, 0x69, 0x6e, 0x61,
0x6c, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x18, 0x8f, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x46, 0x69,
0x6e, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x73, 0x52,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52,
0x1e, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x43,
0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
0x7e, 0x0a, 0x1f, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x74,
0x79, 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
0x73, 0x65, 0x18, 0x90, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x46, 0x69, 0x6e, 0x61,
0x6c, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73,
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x1f,
0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x43, 0x6f,
0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
0x75, 0x0a, 0x1c, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x6c,
0x69, 0x63, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18,
0x91, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69,
0x72, 0x65, 0x2e, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x6c,
0x69, 0x63, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d,
0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x1c, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69,
0x74, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69,
0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x8d, 0x01, 0x0a, 0x24, 0x66, 0x69, 0x6e, 0x61, 0x6c,
0x69, 0x74, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x6c,
0x76, 0x65, 0x64, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18,
0x92, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69,
0x72, 0x65, 0x2e, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x6c,
0x69, 0x63, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x4e, 0x6f, 0x74, 0x69, 0x66,
0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x00,
0x52, 0x24, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69,
0x63, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69,
0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x69, 0x0a, 0x18, 0x67, 0x65, 0x74, 0x4d, 0x65, 0x6d,
0x70, 0x6f, 0x6f, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65,
0x73, 0x74, 0x18, 0x93, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x70, 0x6f, 0x6f, 0x6c,
0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65,
0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x18, 0x67, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x70,
0x6f, 0x6f, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
0x74, 0x12, 0x6c, 0x0a, 0x19, 0x67, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x70, 0x6f, 0x6f, 0x6c, 0x45,
0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x94,
0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72,
0x65, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x70, 0x6f, 0x6f, 0x6c, 0x45, 0x6e, 0x74, 0x72,
0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61,
0x67, 0x65, 0x48, 0x00, 0x52, 0x19, 0x67, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x70, 0x6f, 0x6f, 0x6c,
0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
0x4e, 0x0a, 0x0f, 0x73, 0x68, 0x75, 0x74, 0x44, 0x6f, 0x77, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65,
0x73, 0x74, 0x18, 0x95, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x53, 0x68, 0x75, 0x74, 0x44, 0x6f, 0x77, 0x6e, 0x52, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x0f,
0x73, 0x68, 0x75, 0x74, 0x44, 0x6f, 0x77, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
0x51, 0x0a, 0x10, 0x73, 0x68, 0x75, 0x74, 0x44, 0x6f, 0x77, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f,
0x6e, 0x73, 0x65, 0x18, 0x96, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x53, 0x68, 0x75, 0x74, 0x44, 0x6f, 0x77, 0x6e, 0x52,
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x00,
0x52, 0x10, 0x73, 0x68, 0x75, 0x74, 0x44, 0x6f, 0x77, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
0x73, 0x65, 0x12, 0x54, 0x0a, 0x11, 0x67, 0x65, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73,
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x97, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x48, 0x65,
0x61, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73,
0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x11, 0x67, 0x65, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72,
0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x57, 0x0a, 0x12, 0x67, 0x65, 0x74, 0x48,
0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x98,
0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72,
0x65, 0x2e, 0x47, 0x65, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70,
0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x12, 0x67,
0x65, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
0x65, 0x12, 0x6c, 0x0a, 0x19, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x55, 0x74, 0x78, 0x6f, 0x73,
0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x99,
0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72,
0x65, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x55, 0x74, 0x78, 0x6f, 0x73, 0x43, 0x68, 0x61,
0x6e, 0x67, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61,
0x67, 0x65, 0x48, 0x00, 0x52, 0x19, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x55, 0x74, 0x78, 0x6f,
0x73, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
0x6f, 0x0a, 0x1a, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x55, 0x74, 0x78, 0x6f, 0x73, 0x43, 0x68,
0x61, 0x6e, 0x67, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x9a, 0x08,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65,
0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x55, 0x74, 0x78, 0x6f, 0x73, 0x43, 0x68, 0x61, 0x6e,
0x67, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61,
0x67, 0x65, 0x48, 0x00, 0x52, 0x1a, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x55, 0x74, 0x78, 0x6f,
0x73, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
0x12, 0x69, 0x0a, 0x18, 0x75, 0x74, 0x78, 0x6f, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64,
0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x9b, 0x08, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e,
0x55, 0x74, 0x78, 0x6f, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x4e, 0x6f, 0x74, 0x69,
0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48,
0x00, 0x52, 0x18, 0x75, 0x74, 0x78, 0x6f, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x4e,
0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x6f, 0x0a, 0x1a, 0x67,
0x65, 0x74, 0x55, 0x74, 0x78, 0x6f, 0x73, 0x42, 0x79, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73,
0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x9c, 0x08, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x2c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x47, 0x65, 0x74,
0x55, 0x74, 0x78, 0x6f, 0x73, 0x42, 0x79, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73,
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x00,
0x52, 0x1a, 0x67, 0x65, 0x74, 0x55, 0x74, 0x78, 0x6f, 0x73, 0x42, 0x79, 0x41, 0x64, 0x64, 0x72,
0x65, 0x73, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x72, 0x0a, 0x1b,
0x67, 0x65, 0x74, 0x55, 0x74, 0x78, 0x6f, 0x73, 0x42, 0x79, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73,
0x73, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x9d, 0x08, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x47,
0x65, 0x74, 0x55, 0x74, 0x78, 0x6f, 0x73, 0x42, 0x79, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73,
0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67,
0x65, 0x48, 0x00, 0x52, 0x1b, 0x67, 0x65, 0x74, 0x55, 0x74, 0x78, 0x6f, 0x73, 0x42, 0x79, 0x41,
0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
0x12, 0x99, 0x01, 0x0a, 0x28, 0x67, 0x65, 0x74, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x53,
0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x42, 0x6c, 0x75,
0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x9e, 0x08,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65,
0x2e, 0x47, 0x65, 0x74, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x53, 0x65, 0x6c, 0x65, 0x63,
0x74, 0x65, 0x64, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x42, 0x6c, 0x75, 0x65, 0x53, 0x63, 0x6f,
0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
0x48, 0x00, 0x52, 0x28, 0x67, 0x65, 0x74, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x53, 0x65,
0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x42, 0x6c, 0x75, 0x65,
0x53, 0x63, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x9c, 0x01, 0x0a,
0x29, 0x67, 0x65, 0x74, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x53, 0x65, 0x6c, 0x65, 0x63,
0x74, 0x65, 0x64, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x42, 0x6c, 0x75, 0x65, 0x53, 0x63, 0x6f,
0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x9f, 0x08, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x3b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x47, 0x65,
0x74, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64,
0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x42, 0x6c, 0x75, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x52,
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x00,
0x52, 0x29, 0x67, 0x65, 0x74, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x53, 0x65, 0x6c, 0x65,
0x63, 0x74, 0x65, 0x64, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x42, 0x6c, 0x75, 0x65, 0x53, 0x63,
0x6f, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0xb7, 0x01, 0x0a, 0x32,
0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x53, 0x65, 0x6c,
0x65, 0x63, 0x74, 0x65, 0x64, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x42, 0x6c, 0x75, 0x65, 0x53,
0x63, 0x6f, 0x72, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65,
0x73, 0x74, 0x18, 0xa0, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x56, 0x69, 0x72, 0x74,
0x75, 0x61, 0x6c, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x50, 0x61, 0x72, 0x65, 0x6e,
0x74, 0x42, 0x6c, 0x75, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65,
0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48,
0x00, 0x52, 0x32, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c,
0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x42, 0x6c,
0x75, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x52, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0xba, 0x01, 0x0a, 0x33, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79,
0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x50,
0x61, 0x72, 0x65, 0x6e, 0x74, 0x42, 0x6c, 0x75, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x43, 0x68,
0x61, 0x6e, 0x67, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0xa1, 0x08,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65,
0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x53, 0x65,
0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x42, 0x6c, 0x75, 0x65,
0x53, 0x63, 0x6f, 0x72, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70,
0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x33, 0x6e,
0x6f, 0x74, 0x69, 0x66, 0x79, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x53, 0x65, 0x6c, 0x65,
0x63, 0x74, 0x65, 0x64, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x42, 0x6c, 0x75, 0x65, 0x53, 0x63,
0x6f, 0x72, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
0x73, 0x65, 0x12, 0xb4, 0x01, 0x0a, 0x31, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x53, 0x65,
0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x42, 0x6c, 0x75, 0x65,
0x53, 0x63, 0x6f, 0x72, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x4e, 0x6f, 0x74, 0x69,
0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xa2, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x43, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x56, 0x69, 0x72, 0x74,
0x75, 0x61, 0x6c, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x50, 0x61, 0x72, 0x65, 0x6e,
0x74, 0x42, 0x6c, 0x75, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65,
0x64, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x73,
0x73, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x31, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x53,
0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x42, 0x6c, 0x75,
0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x4e, 0x6f, 0x74,
0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x09, 0x0a, 0x07, 0x70, 0x61, 0x79,
0x6c, 0x6f, 0x61, 0x64, 0x22, 0x8c, 0x01, 0x0a, 0x17, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
0x12, 0x34, 0x0a, 0x15, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x41, 0x6c, 0x6c, 0x53, 0x75,
0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52,
0x15, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x41, 0x6c, 0x6c, 0x53, 0x75, 0x62, 0x6e, 0x65,
0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x12, 0x3b, 0x0a, 0x0c, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74,
0x77, 0x6f, 0x72, 0x6b, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77,
0x6f, 0x72, 0x6b, 0x49, 0x64, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72,
0x6b, 0x49, 0x64, 0x22, 0x4b, 0x0a, 0x10, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73,
0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x37, 0x0a, 0x0b, 0x61, 0x64, 0x64, 0x72, 0x65,
0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x4e, 0x65, 0x74, 0x41, 0x64, 0x64, 0x72,
0x65, 0x73, 0x73, 0x52, 0x0b, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74,
0x22, 0x6a, 0x0a, 0x0a, 0x4e, 0x65, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1c,
0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28,
0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1a, 0x0a, 0x08,
0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08,
0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x70, 0x18, 0x03,
0x20, 0x01, 0x28, 0x0c, 0x52, 0x02, 0x69, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74,
0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x22, 0x24, 0x0a, 0x0c,
0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05,
0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x62, 0x79, 0x74,
0x65, 0x73, 0x22, 0xd3, 0x02, 0x0a, 0x12, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69,
0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72,
0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73,
0x69, 0x6f, 0x6e, 0x12, 0x33, 0x0a, 0x06, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x18, 0x02, 0x20,
0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e,
0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x70, 0x75, 0x74,
0x52, 0x06, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x12, 0x36, 0x0a, 0x07, 0x6f, 0x75, 0x74, 0x70,
0x75, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f,
0x6e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x52, 0x07, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73,
0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01,
0x28, 0x04, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3b, 0x0a, 0x0c,
0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x53,
0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x64, 0x52, 0x0c, 0x73, 0x75, 0x62,
0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x67, 0x61, 0x73,
0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x67, 0x61, 0x73, 0x12, 0x31, 0x0a, 0x0b, 0x70,
0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x48, 0x61, 0x73, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x0f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x48, 0x61, 0x73,
0x68, 0x52, 0x0b, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x48, 0x61, 0x73, 0x68, 0x12, 0x18,
0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0c, 0x52,
0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x22, 0x99, 0x01, 0x0a, 0x10, 0x54, 0x72, 0x61,
0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x3f, 0x0a,
0x10, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x4f, 0x75, 0x74, 0x70, 0x6f, 0x69, 0x6e,
0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77,
0x69, 0x72, 0x65, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x10, 0x70, 0x72,
0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x4f, 0x75, 0x74, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x28,
0x0a, 0x0f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x63, 0x72, 0x69, 0x70,
0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75,
0x72, 0x65, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75,
0x65, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x65, 0x71, 0x75,
0x65, 0x6e, 0x63, 0x65, 0x22, 0x60, 0x0a, 0x08, 0x4f, 0x75, 0x74, 0x70, 0x6f, 0x69, 0x6e, 0x74,
0x12, 0x3e, 0x0a, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49,
0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77,
0x69, 0x72, 0x65, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49,
0x64, 0x52, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64,
0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52,
0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x25, 0x0a, 0x0d, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61,
0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73,
0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x22, 0x43, 0x0a,
0x0f, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79,
0x12, 0x16, 0x0a, 0x06, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c,
0x52, 0x06, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73,
0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69,
0x6f, 0x6e, 0x22, 0x6f, 0x0a, 0x11, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f,
0x6e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x44, 0x0a,
0x0f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79,
0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69,
0x72, 0x65, 0x2e, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b,
0x65, 0x79, 0x52, 0x0f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63,
0x4b, 0x65, 0x79, 0x22, 0x88, 0x01, 0x0a, 0x0c, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x4d, 0x65, 0x73,
0x73, 0x61, 0x67, 0x65, 0x12, 0x35, 0x0a, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65,
0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73,
0x61, 0x67, 0x65, 0x52, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x41, 0x0a, 0x0c, 0x74,
0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x54, 0x72,
0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
0x52, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xe2,
0x02, 0x0a, 0x12, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x65,
0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12,
0x33, 0x0a, 0x0c, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x48, 0x61, 0x73, 0x68, 0x65, 0x73, 0x18,
0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72,
0x65, 0x2e, 0x48, 0x61, 0x73, 0x68, 0x52, 0x0c, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x48, 0x61,
0x73, 0x68, 0x65, 0x73, 0x12, 0x37, 0x0a, 0x0e, 0x68, 0x61, 0x73, 0x68, 0x4d, 0x65, 0x72, 0x6b,
0x6c, 0x65, 0x52, 0x6f, 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x48, 0x61, 0x73, 0x68, 0x52, 0x0e, 0x68,
0x61, 0x73, 0x68, 0x4d, 0x65, 0x72, 0x6b, 0x6c, 0x65, 0x52, 0x6f, 0x6f, 0x74, 0x12, 0x43, 0x0a,
0x14, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x49, 0x64, 0x4d, 0x65, 0x72, 0x6b, 0x6c,
0x65, 0x52, 0x6f, 0x6f, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x48, 0x61, 0x73, 0x68, 0x52, 0x14, 0x61, 0x63,
0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x49, 0x64, 0x4d, 0x65, 0x72, 0x6b, 0x6c, 0x65, 0x52, 0x6f,
0x6f, 0x74, 0x12, 0x37, 0x0a, 0x0e, 0x75, 0x74, 0x78, 0x6f, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74,
0x6d, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x48, 0x61, 0x73, 0x68, 0x52, 0x0e, 0x75, 0x74, 0x78,
0x6f, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x74,
0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09,
0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x62, 0x69, 0x74,
0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x62, 0x69, 0x74, 0x73, 0x12, 0x14, 0x0a,
0x05, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6e, 0x6f,
0x6e, 0x63, 0x65, 0x22, 0x1c, 0x0a, 0x04, 0x48, 0x61, 0x73, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x62,
0x79, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x62, 0x79, 0x74, 0x65,
0x73, 0x22, 0x8a, 0x01, 0x0a, 0x1a, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x6c, 0x6f,
0x63, 0x6b, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x6f, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
0x12, 0x29, 0x0a, 0x07, 0x6c, 0x6f, 0x77, 0x48, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x48, 0x61,
0x73, 0x68, 0x52, 0x07, 0x6c, 0x6f, 0x77, 0x48, 0x61, 0x73, 0x68, 0x12, 0x2b, 0x0a, 0x08, 0x68,
0x69, 0x67, 0x68, 0x48, 0x61, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x48, 0x61, 0x73, 0x68, 0x52, 0x08,
0x68, 0x69, 0x67, 0x68, 0x48, 0x61, 0x73, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69,
0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0x3e,
0x0a, 0x13, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x6f, 0x72, 0x4d, 0x65,
0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x27, 0x0a, 0x06, 0x68, 0x61, 0x73, 0x68, 0x65, 0x73, 0x18,
0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72,
0x65, 0x2e, 0x48, 0x61, 0x73, 0x68, 0x52, 0x06, 0x68, 0x61, 0x73, 0x68, 0x65, 0x73, 0x22, 0x6f,
0x0a, 0x15, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73,
0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x29, 0x0a, 0x07, 0x6c, 0x6f, 0x77, 0x48, 0x61,
0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x77, 0x69, 0x72, 0x65, 0x2e, 0x48, 0x61, 0x73, 0x68, 0x52, 0x07, 0x6c, 0x6f, 0x77, 0x48, 0x61,
0x73, 0x68, 0x12, 0x2b, 0x0a, 0x08, 0x68, 0x69, 0x67, 0x68, 0x48, 0x61, 0x73, 0x68, 0x18, 0x02,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65,
0x2e, 0x48, 0x61, 0x73, 0x68, 0x52, 0x08, 0x68, 0x69, 0x67, 0x68, 0x48, 0x61, 0x73, 0x68, 0x22,
0x1b, 0x0a, 0x19, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x65,
0x61, 0x64, 0x65, 0x72, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x14, 0x0a, 0x12,
0x44, 0x6f, 0x6e, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61,
0x67, 0x65, 0x22, 0x44, 0x0a, 0x19, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x6c,
0x61, 0x79, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12,
0x27, 0x0a, 0x06, 0x68, 0x61, 0x73, 0x68, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32,
0x0f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x48, 0x61, 0x73, 0x68,
0x52, 0x06, 0x68, 0x61, 0x73, 0x68, 0x65, 0x73, 0x22, 0x48, 0x0a, 0x1a, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4d,
0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x2a, 0x0a, 0x03, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20,
0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e,
0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x52, 0x03, 0x69,
0x64, 0x73, 0x22, 0x46, 0x0a, 0x1a, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f,
0x6e, 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
0x12, 0x28, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63,
0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x52, 0x02, 0x69, 0x64, 0x22, 0x3b, 0x0a, 0x14, 0x49, 0x6e,
0x76, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x4d, 0x65, 0x73, 0x73, 0x61,
0x67, 0x65, 0x12, 0x23, 0x0a, 0x04, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x0f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x48, 0x61, 0x73,
0x68, 0x52, 0x04, 0x68, 0x61, 0x73, 0x68, 0x22, 0x44, 0x0a, 0x16, 0x49, 0x6e, 0x76, 0x54, 0x72,
0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67,
0x65, 0x12, 0x2a, 0x0a, 0x03, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73,
0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x52, 0x03, 0x69, 0x64, 0x73, 0x22, 0x23, 0x0a,
0x0b, 0x50, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05,
0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6e, 0x6f, 0x6e,
0x63, 0x65, 0x22, 0x23, 0x0a, 0x0b, 0x50, 0x6f, 0x6e, 0x67, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67,
0x65, 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04,
0x52, 0x05, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x22, 0x0f, 0x0a, 0x0d, 0x56, 0x65, 0x72, 0x61, 0x63,
0x6b, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0xd2, 0x02, 0x0a, 0x0e, 0x56, 0x65, 0x72,
0x73, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01,
0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x56, 0x65,
0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
0x73, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03,
0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12,
0x2f, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x15, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x4e, 0x65, 0x74,
0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73,
0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x02, 0x69, 0x64,
0x12, 0x1c, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x72, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x18, 0x06, 0x20,
0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x73, 0x65, 0x72, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x26,
0x0a, 0x0e, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x54, 0x78,
0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x52,
0x65, 0x6c, 0x61, 0x79, 0x54, 0x78, 0x12, 0x3b, 0x0a, 0x0c, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74,
0x77, 0x6f, 0x72, 0x6b, 0x49, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77,
0x6f, 0x72, 0x6b, 0x49, 0x64, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72,
0x6b, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x0a,
0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x22, 0x27, 0x0a,
0x0d, 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x16,
0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06,
0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x22, 0x51, 0x0a, 0x24, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
0x74, 0x49, 0x42, 0x44, 0x52, 0x6f, 0x6f, 0x74, 0x55, 0x54, 0x58, 0x4f, 0x53, 0x65, 0x74, 0x41,
0x6e, 0x64, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x29,
0x0a, 0x07, 0x69, 0x62, 0x64, 0x52, 0x6f, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x0f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x48, 0x61, 0x73, 0x68,
0x52, 0x07, 0x69, 0x62, 0x64, 0x52, 0x6f, 0x6f, 0x74, 0x22, 0x68, 0x0a, 0x1d, 0x49, 0x42, 0x44,
0x52, 0x6f, 0x6f, 0x74, 0x55, 0x54, 0x58, 0x4f, 0x53, 0x65, 0x74, 0x41, 0x6e, 0x64, 0x42, 0x6c,
0x6f, 0x63, 0x6b, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x75, 0x74,
0x78, 0x6f, 0x53, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x75, 0x74, 0x78,
0x6f, 0x53, 0x65, 0x74, 0x12, 0x2d, 0x0a, 0x05, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x02, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e,
0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x05, 0x62, 0x6c,
0x6f, 0x63, 0x6b, 0x22, 0x42, 0x0a, 0x17, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x42,
0x44, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x27,
0x0a, 0x06, 0x68, 0x61, 0x73, 0x68, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x48, 0x61, 0x73, 0x68, 0x52,
0x06, 0x68, 0x61, 0x73, 0x68, 0x65, 0x73, 0x22, 0x18, 0x0a, 0x16, 0x49, 0x42, 0x44, 0x52, 0x6f,
0x6f, 0x74, 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67,
0x65, 0x22, 0x1b, 0x0a, 0x19, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x42, 0x44, 0x52,
0x6f, 0x6f, 0x74, 0x48, 0x61, 0x73, 0x68, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x39,
0x0a, 0x12, 0x49, 0x42, 0x44, 0x52, 0x6f, 0x6f, 0x74, 0x48, 0x61, 0x73, 0x68, 0x4d, 0x65, 0x73,
0x73, 0x61, 0x67, 0x65, 0x12, 0x23, 0x0a, 0x04, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x48,
0x61, 0x73, 0x68, 0x52, 0x04, 0x68, 0x61, 0x73, 0x68, 0x22, 0x8a, 0x01, 0x0a, 0x16, 0x49, 0x62,
0x64, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x6f, 0x72, 0x4d, 0x65, 0x73,
0x73, 0x61, 0x67, 0x65, 0x12, 0x2f, 0x0a, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x61,
0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x77, 0x69, 0x72, 0x65, 0x2e, 0x48, 0x61, 0x73, 0x68, 0x52, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65,
0x74, 0x48, 0x61, 0x73, 0x68, 0x12, 0x3f, 0x0a, 0x12, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x4c, 0x6f,
0x63, 0x61, 0x74, 0x6f, 0x72, 0x48, 0x61, 0x73, 0x68, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x48, 0x61,
0x73, 0x68, 0x52, 0x12, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x6f, 0x72,
0x48, 0x61, 0x73, 0x68, 0x65, 0x73, 0x22, 0x56, 0x0a, 0x21, 0x49, 0x62, 0x64, 0x42, 0x6c, 0x6f,
0x63, 0x6b, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x6f, 0x72, 0x48, 0x69, 0x67, 0x68, 0x65, 0x73, 0x74,
0x48, 0x61, 0x73, 0x68, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x31, 0x0a, 0x0b, 0x68,
0x69, 0x67, 0x68, 0x65, 0x73, 0x74, 0x48, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x0f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x48, 0x61, 0x73,
0x68, 0x52, 0x0b, 0x68, 0x69, 0x67, 0x68, 0x65, 0x73, 0x74, 0x48, 0x61, 0x73, 0x68, 0x22, 0x58,
0x0a, 0x13, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x4d, 0x65,
0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x41, 0x0a, 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65,
0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x61,
0x64, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x0c, 0x62, 0x6c, 0x6f, 0x63,
0x6b, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x22, 0x24, 0x0a, 0x08, 0x52, 0x50, 0x43, 0x45,
0x72, 0x72, 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18,
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x21,
0x0a, 0x1f, 0x47, 0x65, 0x74, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x4e, 0x65, 0x74, 0x77,
0x6f, 0x72, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67,
0x65, 0x22, 0x76, 0x0a, 0x20, 0x47, 0x65, 0x74, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x4e,
0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65,
0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74,
0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63,
0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x2a, 0x0a,
0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0xe8, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x52, 0x50, 0x43, 0x45, 0x72, 0x72,
0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x4a, 0x0a, 0x19, 0x53, 0x75, 0x62,
0x6d, 0x69, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d,
0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x2d, 0x0a, 0x05, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18,
0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72,
0x65, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x05,
0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x22, 0x48, 0x0a, 0x1a, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x42,
0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73,
0x61, 0x67, 0x65, 0x12, 0x2a, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0xe8, 0x07, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e,
0x52, 0x50, 0x43, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22,
0x40, 0x0a, 0x1e, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x65, 0x6d, 0x70, 0x6c,
0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67,
0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x61, 0x79, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18,
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x61, 0x79, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73,
0x73, 0x22, 0xa6, 0x01, 0x0a, 0x1f, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x65,
0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65,
0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x3b, 0x0a, 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x4d, 0x65,
0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x4d, 0x65, 0x73,
0x73, 0x61, 0x67, 0x65, 0x52, 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x4d, 0x65, 0x73, 0x73, 0x61,
0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x73, 0x53, 0x79, 0x6e, 0x63, 0x65, 0x64, 0x18, 0x02,
0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x53, 0x79, 0x6e, 0x63, 0x65, 0x64, 0x12, 0x2a,
0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0xe8, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x52, 0x50, 0x43, 0x45, 0x72,
0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x20, 0x0a, 0x1e, 0x4e, 0x6f,
0x74, 0x69, 0x66, 0x79, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x41, 0x64, 0x64, 0x65, 0x64, 0x52, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x4d, 0x0a, 0x1f,
0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x41, 0x64, 0x64, 0x65, 0x64,
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12,
0x2a, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0xe8, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x13, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x52, 0x50, 0x43, 0x45,
0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x4e, 0x0a, 0x1d, 0x42,
0x6c, 0x6f, 0x63, 0x6b, 0x41, 0x64, 0x64, 0x65, 0x64, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63,
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x2d, 0x0a, 0x05,
0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x4d, 0x65, 0x73,
0x73, 0x61, 0x67, 0x65, 0x52, 0x05, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x22, 0x20, 0x0a, 0x1e, 0x47,
0x65, 0x74, 0x50, 0x65, 0x65, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x52,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0xf5, 0x01,
0x0a, 0x1f, 0x47, 0x65, 0x74, 0x50, 0x65, 0x65, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73,
0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67,
0x65, 0x12, 0x4c, 0x0a, 0x09, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x18, 0x01,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65,
0x2e, 0x47, 0x65, 0x74, 0x50, 0x65, 0x65, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65,
0x73, 0x4b, 0x6e, 0x6f, 0x77, 0x6e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x4d, 0x65, 0x73,
0x73, 0x61, 0x67, 0x65, 0x52, 0x09, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x12,
0x58, 0x0a, 0x0f, 0x62, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73,
0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x77, 0x69, 0x72, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x65, 0x65, 0x72, 0x41, 0x64, 0x64, 0x72,
0x65, 0x73, 0x73, 0x65, 0x73, 0x4b, 0x6e, 0x6f, 0x77, 0x6e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73,
0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x0f, 0x62, 0x61, 0x6e, 0x6e, 0x65, 0x64,
0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x12, 0x2a, 0x0a, 0x05, 0x65, 0x72, 0x72,
0x6f, 0x72, 0x18, 0xe8, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x52, 0x50, 0x43, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05,
0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x39, 0x0a, 0x23, 0x47, 0x65, 0x74, 0x50, 0x65, 0x65, 0x72,
0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x4b, 0x6e, 0x6f, 0x77, 0x6e, 0x41, 0x64,
0x64, 0x72, 0x65, 0x73, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x12, 0x0a, 0x04,
0x41, 0x64, 0x64, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x41, 0x64, 0x64, 0x72,
0x22, 0x22, 0x0a, 0x20, 0x47, 0x65, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x54,
0x69, 0x70, 0x48, 0x61, 0x73, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x73,
0x73, 0x61, 0x67, 0x65, 0x22, 0x79, 0x0a, 0x21, 0x47, 0x65, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63,
0x74, 0x65, 0x64, 0x54, 0x69, 0x70, 0x48, 0x61, 0x73, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x73, 0x65, 0x6c,
0x65, 0x63, 0x74, 0x65, 0x64, 0x54, 0x69, 0x70, 0x48, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01,
0x28, 0x09, 0x52, 0x0f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x54, 0x69, 0x70, 0x48,
0x61, 0x73, 0x68, 0x12, 0x2a, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0xe8, 0x07, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e,
0x52, 0x50, 0x43, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22,
0x7b, 0x0a, 0x0c, 0x4d, 0x65, 0x6d, 0x70, 0x6f, 0x6f, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12,
0x10, 0x0a, 0x03, 0x66, 0x65, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x66, 0x65,
0x65, 0x12, 0x59, 0x0a, 0x16, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e,
0x56, 0x65, 0x72, 0x62, 0x6f, 0x73, 0x65, 0x44, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x21, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x54, 0x72,
0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x65, 0x72, 0x62, 0x6f, 0x73, 0x65,
0x44, 0x61, 0x74, 0x61, 0x52, 0x16, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f,
0x6e, 0x56, 0x65, 0x72, 0x62, 0x6f, 0x73, 0x65, 0x44, 0x61, 0x74, 0x61, 0x22, 0x33, 0x0a, 0x1d,
0x47, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x70, 0x6f, 0x6f, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x12, 0x0a,
0x04, 0x74, 0x78, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x78, 0x49,
0x64, 0x22, 0x7b, 0x0a, 0x1e, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x70, 0x6f, 0x6f, 0x6c, 0x45,
0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73,
0x61, 0x67, 0x65, 0x12, 0x2d, 0x0a, 0x05, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x4d,
0x65, 0x6d, 0x70, 0x6f, 0x6f, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x65, 0x6e, 0x74,
0x72, 0x79, 0x12, 0x2a, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0xe8, 0x07, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x52,
0x50, 0x43, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x21,
0x0a, 0x1f, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x70, 0x6f, 0x6f, 0x6c, 0x45, 0x6e, 0x74, 0x72,
0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67,
0x65, 0x22, 0x81, 0x01, 0x0a, 0x20, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x70, 0x6f, 0x6f, 0x6c,
0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d,
0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x31, 0x0a, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65,
0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77,
0x69, 0x72, 0x65, 0x2e, 0x4d, 0x65, 0x6d, 0x70, 0x6f, 0x6f, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79,
0x52, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x12, 0x2a, 0x0a, 0x05, 0x65, 0x72, 0x72,
0x6f, 0x72, 0x18, 0xe8, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x52, 0x50, 0x43, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05,
0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x24, 0x0a, 0x22, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x6e,
0x65, 0x63, 0x74, 0x65, 0x64, 0x50, 0x65, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x8f, 0x01, 0x0a, 0x23,
0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x50, 0x65, 0x65, 0x72,
0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73,
0x61, 0x67, 0x65, 0x12, 0x3c, 0x0a, 0x05, 0x69, 0x6e, 0x66, 0x6f, 0x73, 0x18, 0x01, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x26, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x47,
0x65, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x50, 0x65, 0x65, 0x72, 0x49,
0x6e, 0x66, 0x6f, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x05, 0x69, 0x6e, 0x66, 0x6f,
0x73, 0x12, 0x2a, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0xe8, 0x07, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x13, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x52, 0x50,
0x43, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0xd3, 0x02,
0x0a, 0x1b, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x50, 0x65,
0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x0e, 0x0a,
0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 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, 0x2a, 0x0a, 0x10, 0x6c, 0x61, 0x73, 0x74, 0x50,
0x69, 0x6e, 0x67, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28,
0x03, 0x52, 0x10, 0x6c, 0x61, 0x73, 0x74, 0x50, 0x69, 0x6e, 0x67, 0x44, 0x75, 0x72, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x73, 0x4f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e,
0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x4f, 0x75, 0x74, 0x62, 0x6f,
0x75, 0x6e, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x69, 0x6d, 0x65, 0x4f, 0x66, 0x66, 0x73, 0x65,
0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x74, 0x69, 0x6d, 0x65, 0x4f, 0x66, 0x66,
0x73, 0x65, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x72, 0x41, 0x67, 0x65, 0x6e, 0x74,
0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x73, 0x65, 0x72, 0x41, 0x67, 0x65, 0x6e,
0x74, 0x12, 0x3c, 0x0a, 0x19, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x64, 0x50,
0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x09,
0x20, 0x01, 0x28, 0x0d, 0x52, 0x19, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x64,
0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12,
0x24, 0x0a, 0x0d, 0x74, 0x69, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64,
0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x74, 0x69, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x6e,
0x65, 0x63, 0x74, 0x65, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x49, 0x62, 0x64, 0x50, 0x65,
0x65, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x49, 0x62, 0x64, 0x50,
0x65, 0x65, 0x72, 0x22, 0x53, 0x0a, 0x15, 0x41, 0x64, 0x64, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 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, 0x20, 0x0a, 0x0b, 0x69, 0x73, 0x50, 0x65, 0x72, 0x6d,
0x61, 0x6e, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x50,
0x65, 0x72, 0x6d, 0x61, 0x6e, 0x65, 0x6e, 0x74, 0x22, 0x44, 0x0a, 0x16, 0x41, 0x64, 0x64, 0x50,
0x65, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61,
0x67, 0x65, 0x12, 0x2a, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0xe8, 0x07, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x52,
0x50, 0x43, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x5e,
0x0a, 0x1f, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74,
0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67,
0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e,
0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69,
0x72, 0x65, 0x2e, 0x52, 0x70, 0x63, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f,
0x6e, 0x52, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x74,
0x0a, 0x20, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74,
0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61,
0x67, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f,
0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73,
0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f,
0x72, 0x18, 0xe8, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x77, 0x69, 0x72, 0x65, 0x2e, 0x52, 0x50, 0x43, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65,
0x72, 0x72, 0x6f, 0x72, 0x22, 0x37, 0x0a, 0x35, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x56, 0x69,
0x72, 0x74, 0x75, 0x61, 0x6c, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x50, 0x61, 0x72,
0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x52,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x64, 0x0a,
0x36, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x53, 0x65,
0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x69,
0x6e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x2a, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72,
0x18, 0xe8, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77,
0x69, 0x72, 0x65, 0x2e, 0x52, 0x50, 0x43, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72,
0x72, 0x6f, 0x72, 0x22, 0xb3, 0x01, 0x0a, 0x34, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x53,
0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61,
0x69, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63,
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x38, 0x0a, 0x17,
0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x42, 0x6c, 0x6f, 0x63,
0x6b, 0x48, 0x61, 0x73, 0x68, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x17, 0x72,
0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b,
0x48, 0x61, 0x73, 0x68, 0x65, 0x73, 0x12, 0x41, 0x0a, 0x10, 0x61, 0x64, 0x64, 0x65, 0x64, 0x43,
0x68, 0x61, 0x69, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x15, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x43, 0x68, 0x61,
0x69, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x10, 0x61, 0x64, 0x64, 0x65, 0x64, 0x43, 0x68,
0x61, 0x69, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x22, 0x62, 0x0a, 0x0a, 0x43, 0x68, 0x61,
0x69, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x61, 0x73, 0x68, 0x18,
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x61, 0x73, 0x68, 0x12, 0x40, 0x0a, 0x0e, 0x61,
0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x18, 0x02, 0x20,
0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e,
0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x0e, 0x61,
0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x22, 0x5b, 0x0a,
0x0d, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x12,
0x0a, 0x04, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x61,
0x73, 0x68, 0x12, 0x36, 0x0a, 0x16, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x54, 0x72,
0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03,
0x28, 0x09, 0x52, 0x16, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x54, 0x72, 0x61, 0x6e,
0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x73, 0x22, 0x96, 0x01, 0x0a, 0x16, 0x47,
0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65,
0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20,
0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x61, 0x73, 0x68, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x75, 0x62,
0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
0x0c, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x64, 0x12, 0x44, 0x0a,
0x1d, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74,
0x69, 0x6f, 0x6e, 0x56, 0x65, 0x72, 0x62, 0x6f, 0x73, 0x65, 0x44, 0x61, 0x74, 0x61, 0x18, 0x03,
0x20, 0x01, 0x28, 0x08, 0x52, 0x1d, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x54, 0x72, 0x61,
0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x65, 0x72, 0x62, 0x6f, 0x73, 0x65, 0x44,
0x61, 0x74, 0x61, 0x22, 0xac, 0x01, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b,
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12,
0x1c, 0x0a, 0x09, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01,
0x28, 0x09, 0x52, 0x09, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x12, 0x47, 0x0a,
0x10, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x56, 0x65, 0x72, 0x62, 0x6f, 0x73, 0x65, 0x44, 0x61, 0x74,
0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77,
0x69, 0x72, 0x65, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x56, 0x65, 0x72, 0x62, 0x6f, 0x73, 0x65,
0x44, 0x61, 0x74, 0x61, 0x52, 0x10, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x56, 0x65, 0x72, 0x62, 0x6f,
0x73, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x2a, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18,
0xe8, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69,
0x72, 0x65, 0x2e, 0x52, 0x50, 0x43, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72,
0x6f, 0x72, 0x22, 0xdb, 0x04, 0x0a, 0x10, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x56, 0x65, 0x72, 0x62,
0x6f, 0x73, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x61, 0x73, 0x68, 0x18,
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x61, 0x73, 0x68, 0x12, 0x18, 0x0a, 0x07, 0x76,
0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x76, 0x65,
0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
0x48, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x76, 0x65, 0x72, 0x73, 0x69,
0x6f, 0x6e, 0x48, 0x65, 0x78, 0x12, 0x26, 0x0a, 0x0e, 0x68, 0x61, 0x73, 0x68, 0x4d, 0x65, 0x72,
0x6b, 0x6c, 0x65, 0x52, 0x6f, 0x6f, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x68,
0x61, 0x73, 0x68, 0x4d, 0x65, 0x72, 0x6b, 0x6c, 0x65, 0x52, 0x6f, 0x6f, 0x74, 0x12, 0x32, 0x0a,
0x14, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x49, 0x44, 0x4d, 0x65, 0x72, 0x6b, 0x6c,
0x65, 0x52, 0x6f, 0x6f, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x61, 0x63, 0x63,
0x65, 0x70, 0x74, 0x65, 0x64, 0x49, 0x44, 0x4d, 0x65, 0x72, 0x6b, 0x6c, 0x65, 0x52, 0x6f, 0x6f,
0x74, 0x12, 0x26, 0x0a, 0x0e, 0x75, 0x74, 0x78, 0x6f, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d,
0x65, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x75, 0x74, 0x78, 0x6f, 0x43,
0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x59, 0x0a, 0x16, 0x74, 0x72, 0x61,
0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x65, 0x72, 0x62, 0x6f, 0x73, 0x65, 0x44,
0x61, 0x74, 0x61, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f,
0x6e, 0x56, 0x65, 0x72, 0x62, 0x6f, 0x73, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x16, 0x74, 0x72,
0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x65, 0x72, 0x62, 0x6f, 0x73, 0x65,
0x44, 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01,
0x28, 0x03, 0x52, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x6f, 0x6e, 0x63,
0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 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, 0x22, 0x0a, 0x0c, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x48, 0x61, 0x73, 0x68,
0x65, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74,
0x48, 0x61, 0x73, 0x68, 0x65, 0x73, 0x12, 0x2e, 0x0a, 0x12, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74,
0x65, 0x64, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x48, 0x61, 0x73, 0x68, 0x18, 0x0d, 0x20, 0x01,
0x28, 0x09, 0x52, 0x12, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x50, 0x61, 0x72, 0x65,
0x6e, 0x74, 0x48, 0x61, 0x73, 0x68, 0x12, 0x26, 0x0a, 0x0e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61,
0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x73, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e,
0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x73, 0x12, 0x22,
0x0a, 0x0c, 0x69, 0x73, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4f, 0x6e, 0x6c, 0x79, 0x18, 0x0f,
0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x73, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4f, 0x6e,
0x6c, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x62, 0x6c, 0x75, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x18,
0x10, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x62, 0x6c, 0x75, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65,
0x22, 0x8f, 0x04, 0x0a, 0x16, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e,
0x56, 0x65, 0x72, 0x62, 0x6f, 0x73, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x74,
0x78, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x78, 0x49, 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,
0x04, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69,
0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f,
0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20,
0x01, 0x28, 0x04, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x22, 0x0a,
0x0c, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x64, 0x18, 0x06, 0x20,
0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49,
0x64, 0x12, 0x10, 0x0a, 0x03, 0x67, 0x61, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03,
0x67, 0x61, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x48, 0x61,
0x73, 0x68, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61,
0x64, 0x48, 0x61, 0x73, 0x68, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64,
0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12,
0x5e, 0x0a, 0x18, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x65,
0x72, 0x62, 0x6f, 0x73, 0x65, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x22, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x54, 0x72,
0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x65, 0x72, 0x62, 0x6f, 0x73, 0x65,
0x49, 0x6e, 0x70, 0x75, 0x74, 0x52, 0x18, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69,
0x6f, 0x6e, 0x56, 0x65, 0x72, 0x62, 0x6f, 0x73, 0x65, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x12,
0x61, 0x0a, 0x19, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x65,
0x72, 0x62, 0x6f, 0x73, 0x65, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x18, 0x0b, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x23, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x54,
0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x65, 0x72, 0x62, 0x6f, 0x73,
0x65, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x52, 0x19, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63,
0x74, 0x69, 0x6f, 0x6e, 0x56, 0x65, 0x72, 0x62, 0x6f, 0x73, 0x65, 0x4f, 0x75, 0x74, 0x70, 0x75,
0x74, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x18,
0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68,
0x12, 0x12, 0x0a, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04,
0x74, 0x69, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x69, 0x6d,
0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x69,
0x6d, 0x65, 0x22, 0x9f, 0x01, 0x0a, 0x17, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69,
0x6f, 0x6e, 0x56, 0x65, 0x72, 0x62, 0x6f, 0x73, 0x65, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x12,
0x0a, 0x04, 0x74, 0x78, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x78,
0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x49, 0x6e, 0x64, 0x65,
0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x49,
0x6e, 0x64, 0x65, 0x78, 0x12, 0x32, 0x0a, 0x09, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x53, 0x69,
0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77,
0x69, 0x72, 0x65, 0x2e, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x53, 0x69, 0x67, 0x52, 0x09, 0x73,
0x63, 0x72, 0x69, 0x70, 0x74, 0x53, 0x69, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75,
0x65, 0x6e, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x65, 0x71, 0x75,
0x65, 0x6e, 0x63, 0x65, 0x22, 0x2f, 0x0a, 0x09, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x53, 0x69,
0x67, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x73, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03,
0x61, 0x73, 0x6d, 0x12, 0x10, 0x0a, 0x03, 0x68, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
0x52, 0x03, 0x68, 0x65, 0x78, 0x22, 0x92, 0x01, 0x0a, 0x18, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61,
0x63, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x65, 0x72, 0x62, 0x6f, 0x73, 0x65, 0x4f, 0x75, 0x74, 0x70,
0x75, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
0x04, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65,
0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x4a,
0x0a, 0x0f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65,
0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77,
0x69, 0x72, 0x65, 0x2e, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63,
0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x0f, 0x73, 0x63, 0x72, 0x69, 0x70,
0x74, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x22, 0x69, 0x0a, 0x15, 0x53, 0x63,
0x72, 0x69, 0x70, 0x74, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73,
0x75, 0x6c, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x73, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
0x52, 0x03, 0x61, 0x73, 0x6d, 0x12, 0x10, 0x0a, 0x03, 0x68, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01,
0x28, 0x09, 0x52, 0x03, 0x68, 0x65, 0x78, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18,
0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x61,
0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64,
0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x41, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x53, 0x75, 0x62, 0x6e,
0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x73,
0x73, 0x61, 0x67, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f,
0x72, 0x6b, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x6e,
0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x64, 0x22, 0x66, 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x53,
0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x67, 0x61, 0x73, 0x4c,
0x69, 0x6d, 0x69, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x67, 0x61, 0x73, 0x4c,
0x69, 0x6d, 0x69, 0x74, 0x12, 0x2a, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0xe8, 0x07,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65,
0x2e, 0x52, 0x50, 0x43, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72,
0x22, 0x54, 0x0a, 0x34, 0x47, 0x65, 0x74, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x53, 0x65,
0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x69,
0x6e, 0x46, 0x72, 0x6f, 0x6d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x72,
0x74, 0x48, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x74, 0x61,
0x72, 0x74, 0x48, 0x61, 0x73, 0x68, 0x22, 0xe0, 0x01, 0x0a, 0x35, 0x47, 0x65, 0x74, 0x56, 0x69,
0x72, 0x74, 0x75, 0x61, 0x6c, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x50, 0x61, 0x72,
0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x46, 0x72, 0x6f, 0x6d, 0x42, 0x6c, 0x6f, 0x63,
0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
0x12, 0x38, 0x0a, 0x17, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x43, 0x68, 0x61, 0x69, 0x6e,
0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
0x09, 0x52, 0x17, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x42,
0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x65, 0x73, 0x12, 0x41, 0x0a, 0x10, 0x61, 0x64,
0x64, 0x65, 0x64, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x18, 0x02,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65,
0x2e, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x10, 0x61, 0x64, 0x64,
0x65, 0x64, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x12, 0x2a, 0x0a,
0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0xe8, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x52, 0x50, 0x43, 0x45, 0x72, 0x72,
0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0xe1, 0x01, 0x0a, 0x17, 0x47, 0x65,
0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65,
0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6c, 0x6f, 0x77, 0x48, 0x61, 0x73, 0x68,
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6c, 0x6f, 0x77, 0x48, 0x61, 0x73, 0x68, 0x12,
0x2c, 0x0a, 0x11, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48,
0x65, 0x78, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x69, 0x6e, 0x63, 0x6c,
0x75, 0x64, 0x65, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x78, 0x65, 0x73, 0x12, 0x38, 0x0a,
0x17, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x56, 0x65, 0x72,
0x62, 0x6f, 0x73, 0x65, 0x44, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x17,
0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x56, 0x65, 0x72, 0x62,
0x6f, 0x73, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x44, 0x0a, 0x1d, 0x69, 0x6e, 0x63, 0x6c, 0x75,
0x64, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x65, 0x72,
0x62, 0x6f, 0x73, 0x65, 0x44, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1d,
0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69,
0x6f, 0x6e, 0x56, 0x65, 0x72, 0x62, 0x6f, 0x73, 0x65, 0x44, 0x61, 0x74, 0x61, 0x22, 0xd1, 0x01,
0x0a, 0x18, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f,
0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x62, 0x6c,
0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52,
0x0b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x65, 0x73, 0x12, 0x1e, 0x0a, 0x0a,
0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x78, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09,
0x52, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x78, 0x65, 0x73, 0x12, 0x47, 0x0a, 0x10,
0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x56, 0x65, 0x72, 0x62, 0x6f, 0x73, 0x65, 0x44, 0x61, 0x74, 0x61,
0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69,
0x72, 0x65, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x56, 0x65, 0x72, 0x62, 0x6f, 0x73, 0x65, 0x44,
0x61, 0x74, 0x61, 0x52, 0x10, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x56, 0x65, 0x72, 0x62, 0x6f, 0x73,
0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x2a, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0xe8,
0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72,
0x65, 0x2e, 0x52, 0x50, 0x43, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f,
0x72, 0x22, 0x1d, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x43, 0x6f, 0x75,
0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
0x22, 0x8c, 0x01, 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x43, 0x6f, 0x75,
0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67,
0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18,
0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x43, 0x6f, 0x75, 0x6e,
0x74, 0x12, 0x20, 0x0a, 0x0b, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74,
0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x43, 0x6f,
0x75, 0x6e, 0x74, 0x12, 0x2a, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0xe8, 0x07, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e,
0x52, 0x50, 0x43, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22,
0x1f, 0x0a, 0x1d, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x61, 0x67, 0x49, 0x6e,
0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
0x22, 0xc8, 0x02, 0x0a, 0x1e, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x61, 0x67,
0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73,
0x61, 0x67, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4e, 0x61,
0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72,
0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x43, 0x6f,
0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b,
0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x43,
0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x68, 0x65, 0x61, 0x64,
0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x70, 0x48, 0x61,
0x73, 0x68, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x74, 0x69, 0x70, 0x48,
0x61, 0x73, 0x68, 0x65, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75,
0x6c, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0a, 0x64, 0x69, 0x66, 0x66, 0x69,
0x63, 0x75, 0x6c, 0x74, 0x79, 0x12, 0x26, 0x0a, 0x0e, 0x70, 0x61, 0x73, 0x74, 0x4d, 0x65, 0x64,
0x69, 0x61, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x70,
0x61, 0x73, 0x74, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x30, 0x0a,
0x13, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x48, 0x61,
0x73, 0x68, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x13, 0x76, 0x69, 0x72, 0x74,
0x75, 0x61, 0x6c, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x48, 0x61, 0x73, 0x68, 0x65, 0x73, 0x12,
0x2a, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0xe8, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x13, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x52, 0x50, 0x43, 0x45,
0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x55, 0x0a, 0x25, 0x52,
0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x43, 0x6f,
0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x73,
0x73, 0x61, 0x67, 0x65, 0x12, 0x2c, 0x0a, 0x11, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x74, 0x79,
0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
0x11, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61,
0x73, 0x68, 0x22, 0x54, 0x0a, 0x26, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x46, 0x69, 0x6e,
0x61, 0x6c, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x52, 0x65, 0x73,
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x2a, 0x0a, 0x05,
0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0xe8, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x52, 0x50, 0x43, 0x45, 0x72, 0x72, 0x6f,
0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x27, 0x0a, 0x25, 0x4e, 0x6f, 0x74, 0x69,
0x66, 0x79, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69,
0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67,
0x65, 0x22, 0x54, 0x0a, 0x26, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x46, 0x69, 0x6e, 0x61, 0x6c,
0x69, 0x74, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70,
0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x2a, 0x0a, 0x05, 0x65,
0x72, 0x72, 0x6f, 0x72, 0x18, 0xe8, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x52, 0x50, 0x43, 0x45, 0x72, 0x72, 0x6f, 0x72,
0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x55, 0x0a, 0x23, 0x46, 0x69, 0x6e, 0x61, 0x6c,
0x69, 0x74, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66,
0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x2e,
0x0a, 0x12, 0x76, 0x69, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x42, 0x6c, 0x6f, 0x63, 0x6b,
0x48, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x76, 0x69, 0x6f, 0x6c,
0x61, 0x74, 0x69, 0x6e, 0x67, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x22, 0x5b,
0x0a, 0x2b, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69,
0x63, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69,
0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x2c, 0x0a,
0x11, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61,
0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69,
0x74, 0x79, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x22, 0x18, 0x0a, 0x16, 0x53,
0x68, 0x75, 0x74, 0x44, 0x6f, 0x77, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65,
0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x45, 0x0a, 0x17, 0x53, 0x68, 0x75, 0x74, 0x44, 0x6f, 0x77,
0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
0x12, 0x2a, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0xe8, 0x07, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x13, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x52, 0x50, 0x43,
0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x70, 0x0a, 0x18,
0x47, 0x65, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x72,
0x74, 0x48, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x74, 0x61,
0x72, 0x74, 0x48, 0x61, 0x73, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18,
0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x20, 0x0a, 0x0b,
0x69, 0x73, 0x41, 0x73, 0x63, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28,
0x08, 0x52, 0x0b, 0x69, 0x73, 0x41, 0x73, 0x63, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x22, 0x61,
0x0a, 0x19, 0x47, 0x65, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70,
0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x68,
0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x68, 0x65,
0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x2a, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0xe8,
0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72,
0x65, 0x2e, 0x52, 0x50, 0x43, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f,
0x72, 0x22, 0x40, 0x0a, 0x20, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x55, 0x74, 0x78, 0x6f, 0x73,
0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65,
0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73,
0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73,
0x73, 0x65, 0x73, 0x22, 0x4f, 0x0a, 0x21, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x55, 0x74, 0x78,
0x6f, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x2a, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f,
0x72, 0x18, 0xe8, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x77, 0x69, 0x72, 0x65, 0x2e, 0x52, 0x50, 0x43, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65,
0x72, 0x72, 0x6f, 0x72, 0x22, 0x95, 0x01, 0x0a, 0x1f, 0x55, 0x74, 0x78, 0x6f, 0x73, 0x43, 0x68,
0x61, 0x6e, 0x67, 0x65, 0x64, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f,
0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x36, 0x0a, 0x05, 0x61, 0x64, 0x64, 0x65,
0x64, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77,
0x69, 0x72, 0x65, 0x2e, 0x55, 0x74, 0x78, 0x6f, 0x73, 0x42, 0x79, 0x41, 0x64, 0x64, 0x72, 0x65,
0x73, 0x73, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x61, 0x64, 0x64, 0x65, 0x64,
0x12, 0x3a, 0x0a, 0x07, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x20, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x55, 0x74,
0x78, 0x6f, 0x73, 0x42, 0x79, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x45, 0x6e,
0x74, 0x72, 0x79, 0x52, 0x07, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x22, 0x9c, 0x01, 0x0a,
0x15, 0x55, 0x74, 0x78, 0x6f, 0x73, 0x42, 0x79, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65,
0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 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, 0x32, 0x0a, 0x08, 0x6f, 0x75, 0x74, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x52,
0x70, 0x63, 0x4f, 0x75, 0x74, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x08, 0x6f, 0x75, 0x74, 0x70,
0x6f, 0x69, 0x6e, 0x74, 0x12, 0x35, 0x0a, 0x09, 0x75, 0x74, 0x78, 0x6f, 0x45, 0x6e, 0x74, 0x72,
0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77,
0x69, 0x72, 0x65, 0x2e, 0x52, 0x70, 0x63, 0x55, 0x74, 0x78, 0x6f, 0x45, 0x6e, 0x74, 0x72, 0x79,
0x52, 0x09, 0x75, 0x74, 0x78, 0x6f, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x22, 0xab, 0x02, 0x0a, 0x0e,
0x52, 0x70, 0x63, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18,
0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52,
0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x36, 0x0a, 0x06, 0x69, 0x6e, 0x70, 0x75,
0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x77, 0x69, 0x72, 0x65, 0x2e, 0x52, 0x70, 0x63, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74,
0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x52, 0x06, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73,
0x12, 0x39, 0x0a, 0x07, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x1f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x52, 0x70,
0x63, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x75, 0x74, 0x70,
0x75, 0x74, 0x52, 0x07, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6c,
0x6f, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x6c,
0x6f, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x75, 0x62, 0x6e, 0x65,
0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73,
0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x67,
0x61, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x67, 0x61, 0x73, 0x12, 0x20, 0x0a,
0x0b, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x48, 0x61, 0x73, 0x68, 0x18, 0x07, 0x20, 0x01,
0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x48, 0x61, 0x73, 0x68, 0x12,
0x18, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09,
0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x22, 0x9f, 0x01, 0x0a, 0x13, 0x52, 0x70,
0x63, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x70, 0x75,
0x74, 0x12, 0x42, 0x0a, 0x10, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x4f, 0x75, 0x74,
0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x52, 0x70, 0x63, 0x4f, 0x75, 0x74, 0x70, 0x6f,
0x69, 0x6e, 0x74, 0x52, 0x10, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x4f, 0x75, 0x74,
0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x28, 0x0a, 0x0f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75,
0x72, 0x65, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f,
0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x12,
0x1a, 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28,
0x04, 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x22, 0x58, 0x0a, 0x12, 0x52,
0x70, 0x63, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65,
0x79, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01,
0x28, 0x0d, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x0f, 0x73,
0x63, 0x72, 0x69, 0x70, 0x74, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x18, 0x02,
0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x50, 0x75, 0x62, 0x6c,
0x69, 0x63, 0x4b, 0x65, 0x79, 0x22, 0x77, 0x0a, 0x14, 0x52, 0x70, 0x63, 0x54, 0x72, 0x61, 0x6e,
0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x16, 0x0a,
0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x61,
0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x47, 0x0a, 0x0f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x50,
0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x52, 0x70, 0x63, 0x53, 0x63,
0x72, 0x69, 0x70, 0x74, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x52, 0x0f, 0x73,
0x63, 0x72, 0x69, 0x70, 0x74, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x22, 0x49,
0x0a, 0x0b, 0x52, 0x70, 0x63, 0x4f, 0x75, 0x74, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x24, 0x0a,
0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01,
0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f,
0x6e, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01,
0x28, 0x0d, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x22, 0xb7, 0x01, 0x0a, 0x0c, 0x52, 0x70,
0x63, 0x55, 0x74, 0x78, 0x6f, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d,
0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75,
0x6e, 0x74, 0x12, 0x47, 0x0a, 0x0f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x50, 0x75, 0x62, 0x6c,
0x69, 0x63, 0x4b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x52, 0x70, 0x63, 0x53, 0x63, 0x72, 0x69, 0x70,
0x74, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x52, 0x0f, 0x73, 0x63, 0x72, 0x69,
0x70, 0x74, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x12, 0x26, 0x0a, 0x0e, 0x62,
0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x6c, 0x75, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x03, 0x20,
0x01, 0x28, 0x04, 0x52, 0x0e, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x6c, 0x75, 0x65, 0x53, 0x63,
0x6f, 0x72, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x73, 0x43, 0x6f, 0x69, 0x6e, 0x62, 0x61, 0x73,
0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x43, 0x6f, 0x69, 0x6e, 0x62,
0x61, 0x73, 0x65, 0x22, 0x41, 0x0a, 0x21, 0x47, 0x65, 0x74, 0x55, 0x74, 0x78, 0x6f, 0x73, 0x42,
0x79, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x64, 0x64, 0x72,
0x65, 0x73, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x61, 0x64, 0x64,
0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x22, 0x8c, 0x01, 0x0a, 0x22, 0x47, 0x65, 0x74, 0x55, 0x74,
0x78, 0x6f, 0x73, 0x42, 0x79, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x52, 0x65,
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x3a, 0x0a,
0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x55, 0x74, 0x78, 0x6f, 0x73,
0x42, 0x79, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79,
0x52, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x12, 0x2a, 0x0a, 0x05, 0x65, 0x72, 0x72,
0x6f, 0x72, 0x18, 0xe8, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x52, 0x50, 0x43, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05,
0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x31, 0x0a, 0x2f, 0x47, 0x65, 0x74, 0x56, 0x69, 0x72, 0x74,
0x75, 0x61, 0x6c, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x50, 0x61, 0x72, 0x65, 0x6e,
0x74, 0x42, 0x6c, 0x75, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x7c, 0x0a, 0x30, 0x47, 0x65, 0x74, 0x56,
0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x50, 0x61,
0x72, 0x65, 0x6e, 0x74, 0x42, 0x6c, 0x75, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x73,
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1c, 0x0a, 0x09,
0x62, 0x6c, 0x75, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52,
0x09, 0x62, 0x6c, 0x75, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x2a, 0x0a, 0x05, 0x65, 0x72,
0x72, 0x6f, 0x72, 0x18, 0xe8, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x52, 0x50, 0x43, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52,
0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x3b, 0x0a, 0x39, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79,
0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x50,
0x61, 0x72, 0x65, 0x6e, 0x74, 0x42, 0x6c, 0x75, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x43, 0x68,
0x61, 0x6e, 0x67, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73,
0x61, 0x67, 0x65, 0x22, 0x68, 0x0a, 0x3a, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x56, 0x69, 0x72,
0x74, 0x75, 0x61, 0x6c, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x50, 0x61, 0x72, 0x65,
0x6e, 0x74, 0x42, 0x6c, 0x75, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67,
0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67,
0x65, 0x12, 0x2a, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0xe8, 0x07, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x13, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x52, 0x50,
0x43, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x82, 0x01,
0x0a, 0x38, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65,
0x64, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x42, 0x6c, 0x75, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65,
0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x46, 0x0a, 0x1e, 0x76, 0x69,
0x72, 0x74, 0x75, 0x61, 0x6c, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x50, 0x61, 0x72,
0x65, 0x6e, 0x74, 0x42, 0x6c, 0x75, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01,
0x28, 0x04, 0x52, 0x1e, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x53, 0x65, 0x6c, 0x65, 0x63,
0x74, 0x65, 0x64, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x42, 0x6c, 0x75, 0x65, 0x53, 0x63, 0x6f,
0x72, 0x65, 0x32, 0x50, 0x0a, 0x03, 0x50, 0x32, 0x50, 0x12, 0x49, 0x0a, 0x0d, 0x4d, 0x65, 0x73,
0x73, 0x61, 0x67, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x18, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x4b, 0x61, 0x73, 0x70, 0x61, 0x64, 0x4d, 0x65, 0x73,
0x73, 0x61, 0x67, 0x65, 0x1a, 0x18, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65,
0x2e, 0x4b, 0x61, 0x73, 0x70, 0x61, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x00,
0x28, 0x01, 0x30, 0x01, 0x32, 0x50, 0x0a, 0x03, 0x52, 0x50, 0x43, 0x12, 0x49, 0x0a, 0x0d, 0x4d,
0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x18, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x4b, 0x61, 0x73, 0x70, 0x61, 0x64, 0x4d,
0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x1a, 0x18, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69,
0x72, 0x65, 0x2e, 0x4b, 0x61, 0x73, 0x70, 0x61, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x42, 0x26, 0x5a, 0x24, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62,
0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6b, 0x61, 0x73, 0x70, 0x61, 0x6e, 0x65, 0x74, 0x2f, 0x6b, 0x61,
0x73, 0x70, 0x61, 0x64, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x62, 0x06,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
file_messages_proto_rawDescOnce sync.Once
file_messages_proto_rawDescData = file_messages_proto_rawDesc
)
func file_messages_proto_rawDescGZIP() []byte {
file_messages_proto_rawDescOnce.Do(func() {
file_messages_proto_rawDescData = protoimpl.X.CompressGZIP(file_messages_proto_rawDescData)
})
return file_messages_proto_rawDescData
}
var file_messages_proto_msgTypes = make([]protoimpl.MessageInfo, 115)
var file_messages_proto_goTypes = []interface{}{
(*KaspadMessage)(nil), // 0: protowire.KaspadMessage
(*RequestAddressesMessage)(nil), // 1: protowire.RequestAddressesMessage
(*AddressesMessage)(nil), // 2: protowire.AddressesMessage
(*NetAddress)(nil), // 3: protowire.NetAddress
(*SubnetworkId)(nil), // 4: protowire.SubnetworkId
(*TransactionMessage)(nil), // 5: protowire.TransactionMessage
(*TransactionInput)(nil), // 6: protowire.TransactionInput
(*Outpoint)(nil), // 7: protowire.Outpoint
(*TransactionId)(nil), // 8: protowire.TransactionId
(*ScriptPublicKey)(nil), // 9: protowire.ScriptPublicKey
(*TransactionOutput)(nil), // 10: protowire.TransactionOutput
(*BlockMessage)(nil), // 11: protowire.BlockMessage
(*BlockHeaderMessage)(nil), // 12: protowire.BlockHeaderMessage
(*Hash)(nil), // 13: protowire.Hash
(*RequestBlockLocatorMessage)(nil), // 14: protowire.RequestBlockLocatorMessage
(*BlockLocatorMessage)(nil), // 15: protowire.BlockLocatorMessage
(*RequestHeadersMessage)(nil), // 16: protowire.RequestHeadersMessage
(*RequestNextHeadersMessage)(nil), // 17: protowire.RequestNextHeadersMessage
(*DoneHeadersMessage)(nil), // 18: protowire.DoneHeadersMessage
(*RequestRelayBlocksMessage)(nil), // 19: protowire.RequestRelayBlocksMessage
(*RequestTransactionsMessage)(nil), // 20: protowire.RequestTransactionsMessage
(*TransactionNotFoundMessage)(nil), // 21: protowire.TransactionNotFoundMessage
(*InvRelayBlockMessage)(nil), // 22: protowire.InvRelayBlockMessage
(*InvTransactionsMessage)(nil), // 23: protowire.InvTransactionsMessage
(*PingMessage)(nil), // 24: protowire.PingMessage
(*PongMessage)(nil), // 25: protowire.PongMessage
(*VerackMessage)(nil), // 26: protowire.VerackMessage
(*VersionMessage)(nil), // 27: protowire.VersionMessage
(*RejectMessage)(nil), // 28: protowire.RejectMessage
(*RequestIBDRootUTXOSetAndBlockMessage)(nil), // 29: protowire.RequestIBDRootUTXOSetAndBlockMessage
(*IBDRootUTXOSetAndBlockMessage)(nil), // 30: protowire.IBDRootUTXOSetAndBlockMessage
(*RequestIBDBlocksMessage)(nil), // 31: protowire.RequestIBDBlocksMessage
(*IBDRootNotFoundMessage)(nil), // 32: protowire.IBDRootNotFoundMessage
(*RequestIBDRootHashMessage)(nil), // 33: protowire.RequestIBDRootHashMessage
(*IBDRootHashMessage)(nil), // 34: protowire.IBDRootHashMessage
(*IbdBlockLocatorMessage)(nil), // 35: protowire.IbdBlockLocatorMessage
(*IbdBlockLocatorHighestHashMessage)(nil), // 36: protowire.IbdBlockLocatorHighestHashMessage
(*BlockHeadersMessage)(nil), // 37: protowire.BlockHeadersMessage
(*RPCError)(nil), // 38: protowire.RPCError
(*GetCurrentNetworkRequestMessage)(nil), // 39: protowire.GetCurrentNetworkRequestMessage
(*GetCurrentNetworkResponseMessage)(nil), // 40: protowire.GetCurrentNetworkResponseMessage
(*SubmitBlockRequestMessage)(nil), // 41: protowire.SubmitBlockRequestMessage
(*SubmitBlockResponseMessage)(nil), // 42: protowire.SubmitBlockResponseMessage
(*GetBlockTemplateRequestMessage)(nil), // 43: protowire.GetBlockTemplateRequestMessage
(*GetBlockTemplateResponseMessage)(nil), // 44: protowire.GetBlockTemplateResponseMessage
(*NotifyBlockAddedRequestMessage)(nil), // 45: protowire.NotifyBlockAddedRequestMessage
(*NotifyBlockAddedResponseMessage)(nil), // 46: protowire.NotifyBlockAddedResponseMessage
(*BlockAddedNotificationMessage)(nil), // 47: protowire.BlockAddedNotificationMessage
(*GetPeerAddressesRequestMessage)(nil), // 48: protowire.GetPeerAddressesRequestMessage
(*GetPeerAddressesResponseMessage)(nil), // 49: protowire.GetPeerAddressesResponseMessage
(*GetPeerAddressesKnownAddressMessage)(nil), // 50: protowire.GetPeerAddressesKnownAddressMessage
(*GetSelectedTipHashRequestMessage)(nil), // 51: protowire.GetSelectedTipHashRequestMessage
(*GetSelectedTipHashResponseMessage)(nil), // 52: protowire.GetSelectedTipHashResponseMessage
(*MempoolEntry)(nil), // 53: protowire.MempoolEntry
(*GetMempoolEntryRequestMessage)(nil), // 54: protowire.GetMempoolEntryRequestMessage
(*GetMempoolEntryResponseMessage)(nil), // 55: protowire.GetMempoolEntryResponseMessage
(*GetMempoolEntriesRequestMessage)(nil), // 56: protowire.GetMempoolEntriesRequestMessage
(*GetMempoolEntriesResponseMessage)(nil), // 57: protowire.GetMempoolEntriesResponseMessage
(*GetConnectedPeerInfoRequestMessage)(nil), // 58: protowire.GetConnectedPeerInfoRequestMessage
(*GetConnectedPeerInfoResponseMessage)(nil), // 59: protowire.GetConnectedPeerInfoResponseMessage
(*GetConnectedPeerInfoMessage)(nil), // 60: protowire.GetConnectedPeerInfoMessage
(*AddPeerRequestMessage)(nil), // 61: protowire.AddPeerRequestMessage
(*AddPeerResponseMessage)(nil), // 62: protowire.AddPeerResponseMessage
(*SubmitTransactionRequestMessage)(nil), // 63: protowire.SubmitTransactionRequestMessage
(*SubmitTransactionResponseMessage)(nil), // 64: protowire.SubmitTransactionResponseMessage
(*NotifyVirtualSelectedParentChainChangedRequestMessage)(nil), // 65: protowire.NotifyVirtualSelectedParentChainChangedRequestMessage
(*NotifyVirtualSelectedParentChainChangedResponseMessage)(nil), // 66: protowire.NotifyVirtualSelectedParentChainChangedResponseMessage
(*VirtualSelectedParentChainChangedNotificationMessage)(nil), // 67: protowire.VirtualSelectedParentChainChangedNotificationMessage
(*ChainBlock)(nil), // 68: protowire.ChainBlock
(*AcceptedBlock)(nil), // 69: protowire.AcceptedBlock
(*GetBlockRequestMessage)(nil), // 70: protowire.GetBlockRequestMessage
(*GetBlockResponseMessage)(nil), // 71: protowire.GetBlockResponseMessage
(*BlockVerboseData)(nil), // 72: protowire.BlockVerboseData
(*TransactionVerboseData)(nil), // 73: protowire.TransactionVerboseData
(*TransactionVerboseInput)(nil), // 74: protowire.TransactionVerboseInput
(*ScriptSig)(nil), // 75: protowire.ScriptSig
(*TransactionVerboseOutput)(nil), // 76: protowire.TransactionVerboseOutput
(*ScriptPublicKeyResult)(nil), // 77: protowire.ScriptPublicKeyResult
(*GetSubnetworkRequestMessage)(nil), // 78: protowire.GetSubnetworkRequestMessage
(*GetSubnetworkResponseMessage)(nil), // 79: protowire.GetSubnetworkResponseMessage
(*GetVirtualSelectedParentChainFromBlockRequestMessage)(nil), // 80: protowire.GetVirtualSelectedParentChainFromBlockRequestMessage
(*GetVirtualSelectedParentChainFromBlockResponseMessage)(nil), // 81: protowire.GetVirtualSelectedParentChainFromBlockResponseMessage
(*GetBlocksRequestMessage)(nil), // 82: protowire.GetBlocksRequestMessage
(*GetBlocksResponseMessage)(nil), // 83: protowire.GetBlocksResponseMessage
(*GetBlockCountRequestMessage)(nil), // 84: protowire.GetBlockCountRequestMessage
(*GetBlockCountResponseMessage)(nil), // 85: protowire.GetBlockCountResponseMessage
(*GetBlockDagInfoRequestMessage)(nil), // 86: protowire.GetBlockDagInfoRequestMessage
(*GetBlockDagInfoResponseMessage)(nil), // 87: protowire.GetBlockDagInfoResponseMessage
(*ResolveFinalityConflictRequestMessage)(nil), // 88: protowire.ResolveFinalityConflictRequestMessage
(*ResolveFinalityConflictResponseMessage)(nil), // 89: protowire.ResolveFinalityConflictResponseMessage
(*NotifyFinalityConflictsRequestMessage)(nil), // 90: protowire.NotifyFinalityConflictsRequestMessage
(*NotifyFinalityConflictsResponseMessage)(nil), // 91: protowire.NotifyFinalityConflictsResponseMessage
(*FinalityConflictNotificationMessage)(nil), // 92: protowire.FinalityConflictNotificationMessage
(*FinalityConflictResolvedNotificationMessage)(nil), // 93: protowire.FinalityConflictResolvedNotificationMessage
(*ShutDownRequestMessage)(nil), // 94: protowire.ShutDownRequestMessage
(*ShutDownResponseMessage)(nil), // 95: protowire.ShutDownResponseMessage
(*GetHeadersRequestMessage)(nil), // 96: protowire.GetHeadersRequestMessage
(*GetHeadersResponseMessage)(nil), // 97: protowire.GetHeadersResponseMessage
(*NotifyUtxosChangedRequestMessage)(nil), // 98: protowire.NotifyUtxosChangedRequestMessage
(*NotifyUtxosChangedResponseMessage)(nil), // 99: protowire.NotifyUtxosChangedResponseMessage
(*UtxosChangedNotificationMessage)(nil), // 100: protowire.UtxosChangedNotificationMessage
(*UtxosByAddressesEntry)(nil), // 101: protowire.UtxosByAddressesEntry
(*RpcTransaction)(nil), // 102: protowire.RpcTransaction
(*RpcTransactionInput)(nil), // 103: protowire.RpcTransactionInput
(*RpcScriptPublicKey)(nil), // 104: protowire.RpcScriptPublicKey
(*RpcTransactionOutput)(nil), // 105: protowire.RpcTransactionOutput
(*RpcOutpoint)(nil), // 106: protowire.RpcOutpoint
(*RpcUtxoEntry)(nil), // 107: protowire.RpcUtxoEntry
(*GetUtxosByAddressesRequestMessage)(nil), // 108: protowire.GetUtxosByAddressesRequestMessage
(*GetUtxosByAddressesResponseMessage)(nil), // 109: protowire.GetUtxosByAddressesResponseMessage
(*GetVirtualSelectedParentBlueScoreRequestMessage)(nil), // 110: protowire.GetVirtualSelectedParentBlueScoreRequestMessage
(*GetVirtualSelectedParentBlueScoreResponseMessage)(nil), // 111: protowire.GetVirtualSelectedParentBlueScoreResponseMessage
(*NotifyVirtualSelectedParentBlueScoreChangedRequestMessage)(nil), // 112: protowire.NotifyVirtualSelectedParentBlueScoreChangedRequestMessage
(*NotifyVirtualSelectedParentBlueScoreChangedResponseMessage)(nil), // 113: protowire.NotifyVirtualSelectedParentBlueScoreChangedResponseMessage
(*VirtualSelectedParentBlueScoreChangedNotificationMessage)(nil), // 114: protowire.VirtualSelectedParentBlueScoreChangedNotificationMessage
}
var file_messages_proto_depIdxs = []int32{
2, // 0: protowire.KaspadMessage.addresses:type_name -> protowire.AddressesMessage
11, // 1: protowire.KaspadMessage.block:type_name -> protowire.BlockMessage
5, // 2: protowire.KaspadMessage.transaction:type_name -> protowire.TransactionMessage
14, // 3: protowire.KaspadMessage.requestBlockLocator:type_name -> protowire.RequestBlockLocatorMessage
15, // 4: protowire.KaspadMessage.blockLocator:type_name -> protowire.BlockLocatorMessage
1, // 5: protowire.KaspadMessage.requestAddresses:type_name -> protowire.RequestAddressesMessage
16, // 6: protowire.KaspadMessage.requestHeaders:type_name -> protowire.RequestHeadersMessage
17, // 7: protowire.KaspadMessage.requestNextHeaders:type_name -> protowire.RequestNextHeadersMessage
18, // 8: protowire.KaspadMessage.DoneHeaders:type_name -> protowire.DoneHeadersMessage
19, // 9: protowire.KaspadMessage.requestRelayBlocks:type_name -> protowire.RequestRelayBlocksMessage
20, // 10: protowire.KaspadMessage.requestTransactions:type_name -> protowire.RequestTransactionsMessage
11, // 11: protowire.KaspadMessage.ibdBlock:type_name -> protowire.BlockMessage
22, // 12: protowire.KaspadMessage.invRelayBlock:type_name -> protowire.InvRelayBlockMessage
23, // 13: protowire.KaspadMessage.invTransactions:type_name -> protowire.InvTransactionsMessage
24, // 14: protowire.KaspadMessage.ping:type_name -> protowire.PingMessage
25, // 15: protowire.KaspadMessage.pong:type_name -> protowire.PongMessage
26, // 16: protowire.KaspadMessage.verack:type_name -> protowire.VerackMessage
27, // 17: protowire.KaspadMessage.version:type_name -> protowire.VersionMessage
21, // 18: protowire.KaspadMessage.transactionNotFound:type_name -> protowire.TransactionNotFoundMessage
28, // 19: protowire.KaspadMessage.reject:type_name -> protowire.RejectMessage
29, // 20: protowire.KaspadMessage.requestIBDRootUTXOSetAndBlock:type_name -> protowire.RequestIBDRootUTXOSetAndBlockMessage
30, // 21: protowire.KaspadMessage.ibdRootUTXOSetAndBlock:type_name -> protowire.IBDRootUTXOSetAndBlockMessage
31, // 22: protowire.KaspadMessage.requestIBDBlocks:type_name -> protowire.RequestIBDBlocksMessage
32, // 23: protowire.KaspadMessage.ibdRootNotFound:type_name -> protowire.IBDRootNotFoundMessage
33, // 24: protowire.KaspadMessage.requestIBDRootHash:type_name -> protowire.RequestIBDRootHashMessage
34, // 25: protowire.KaspadMessage.ibdRootHash:type_name -> protowire.IBDRootHashMessage
35, // 26: protowire.KaspadMessage.ibdBlockLocator:type_name -> protowire.IbdBlockLocatorMessage
36, // 27: protowire.KaspadMessage.ibdBlockLocatorHighestHash:type_name -> protowire.IbdBlockLocatorHighestHashMessage
37, // 28: protowire.KaspadMessage.blockHeaders:type_name -> protowire.BlockHeadersMessage
39, // 29: protowire.KaspadMessage.getCurrentNetworkRequest:type_name -> protowire.GetCurrentNetworkRequestMessage
40, // 30: protowire.KaspadMessage.getCurrentNetworkResponse:type_name -> protowire.GetCurrentNetworkResponseMessage
41, // 31: protowire.KaspadMessage.submitBlockRequest:type_name -> protowire.SubmitBlockRequestMessage
42, // 32: protowire.KaspadMessage.submitBlockResponse:type_name -> protowire.SubmitBlockResponseMessage
43, // 33: protowire.KaspadMessage.getBlockTemplateRequest:type_name -> protowire.GetBlockTemplateRequestMessage
44, // 34: protowire.KaspadMessage.getBlockTemplateResponse:type_name -> protowire.GetBlockTemplateResponseMessage
45, // 35: protowire.KaspadMessage.notifyBlockAddedRequest:type_name -> protowire.NotifyBlockAddedRequestMessage
46, // 36: protowire.KaspadMessage.notifyBlockAddedResponse:type_name -> protowire.NotifyBlockAddedResponseMessage
47, // 37: protowire.KaspadMessage.blockAddedNotification:type_name -> protowire.BlockAddedNotificationMessage
48, // 38: protowire.KaspadMessage.getPeerAddressesRequest:type_name -> protowire.GetPeerAddressesRequestMessage
49, // 39: protowire.KaspadMessage.getPeerAddressesResponse:type_name -> protowire.GetPeerAddressesResponseMessage
51, // 40: protowire.KaspadMessage.getSelectedTipHashRequest:type_name -> protowire.GetSelectedTipHashRequestMessage
52, // 41: protowire.KaspadMessage.getSelectedTipHashResponse:type_name -> protowire.GetSelectedTipHashResponseMessage
54, // 42: protowire.KaspadMessage.getMempoolEntryRequest:type_name -> protowire.GetMempoolEntryRequestMessage
55, // 43: protowire.KaspadMessage.getMempoolEntryResponse:type_name -> protowire.GetMempoolEntryResponseMessage
58, // 44: protowire.KaspadMessage.getConnectedPeerInfoRequest:type_name -> protowire.GetConnectedPeerInfoRequestMessage
59, // 45: protowire.KaspadMessage.getConnectedPeerInfoResponse:type_name -> protowire.GetConnectedPeerInfoResponseMessage
61, // 46: protowire.KaspadMessage.addPeerRequest:type_name -> protowire.AddPeerRequestMessage
62, // 47: protowire.KaspadMessage.addPeerResponse:type_name -> protowire.AddPeerResponseMessage
63, // 48: protowire.KaspadMessage.submitTransactionRequest:type_name -> protowire.SubmitTransactionRequestMessage
64, // 49: protowire.KaspadMessage.submitTransactionResponse:type_name -> protowire.SubmitTransactionResponseMessage
65, // 50: protowire.KaspadMessage.notifyVirtualSelectedParentChainChangedRequest:type_name -> protowire.NotifyVirtualSelectedParentChainChangedRequestMessage
66, // 51: protowire.KaspadMessage.notifyVirtualSelectedParentChainChangedResponse:type_name -> protowire.NotifyVirtualSelectedParentChainChangedResponseMessage
67, // 52: protowire.KaspadMessage.virtualSelectedParentChainChangedNotification:type_name -> protowire.VirtualSelectedParentChainChangedNotificationMessage
70, // 53: protowire.KaspadMessage.getBlockRequest:type_name -> protowire.GetBlockRequestMessage
71, // 54: protowire.KaspadMessage.getBlockResponse:type_name -> protowire.GetBlockResponseMessage
78, // 55: protowire.KaspadMessage.getSubnetworkRequest:type_name -> protowire.GetSubnetworkRequestMessage
79, // 56: protowire.KaspadMessage.getSubnetworkResponse:type_name -> protowire.GetSubnetworkResponseMessage
80, // 57: protowire.KaspadMessage.getVirtualSelectedParentChainFromBlockRequest:type_name -> protowire.GetVirtualSelectedParentChainFromBlockRequestMessage
81, // 58: protowire.KaspadMessage.getVirtualSelectedParentChainFromBlockResponse:type_name -> protowire.GetVirtualSelectedParentChainFromBlockResponseMessage
82, // 59: protowire.KaspadMessage.getBlocksRequest:type_name -> protowire.GetBlocksRequestMessage
83, // 60: protowire.KaspadMessage.getBlocksResponse:type_name -> protowire.GetBlocksResponseMessage
84, // 61: protowire.KaspadMessage.getBlockCountRequest:type_name -> protowire.GetBlockCountRequestMessage
85, // 62: protowire.KaspadMessage.getBlockCountResponse:type_name -> protowire.GetBlockCountResponseMessage
86, // 63: protowire.KaspadMessage.getBlockDagInfoRequest:type_name -> protowire.GetBlockDagInfoRequestMessage
87, // 64: protowire.KaspadMessage.getBlockDagInfoResponse:type_name -> protowire.GetBlockDagInfoResponseMessage
88, // 65: protowire.KaspadMessage.resolveFinalityConflictRequest:type_name -> protowire.ResolveFinalityConflictRequestMessage
89, // 66: protowire.KaspadMessage.resolveFinalityConflictResponse:type_name -> protowire.ResolveFinalityConflictResponseMessage
90, // 67: protowire.KaspadMessage.notifyFinalityConflictsRequest:type_name -> protowire.NotifyFinalityConflictsRequestMessage
91, // 68: protowire.KaspadMessage.notifyFinalityConflictsResponse:type_name -> protowire.NotifyFinalityConflictsResponseMessage
92, // 69: protowire.KaspadMessage.finalityConflictNotification:type_name -> protowire.FinalityConflictNotificationMessage
93, // 70: protowire.KaspadMessage.finalityConflictResolvedNotification:type_name -> protowire.FinalityConflictResolvedNotificationMessage
56, // 71: protowire.KaspadMessage.getMempoolEntriesRequest:type_name -> protowire.GetMempoolEntriesRequestMessage
57, // 72: protowire.KaspadMessage.getMempoolEntriesResponse:type_name -> protowire.GetMempoolEntriesResponseMessage
94, // 73: protowire.KaspadMessage.shutDownRequest:type_name -> protowire.ShutDownRequestMessage
95, // 74: protowire.KaspadMessage.shutDownResponse:type_name -> protowire.ShutDownResponseMessage
96, // 75: protowire.KaspadMessage.getHeadersRequest:type_name -> protowire.GetHeadersRequestMessage
97, // 76: protowire.KaspadMessage.getHeadersResponse:type_name -> protowire.GetHeadersResponseMessage
98, // 77: protowire.KaspadMessage.notifyUtxosChangedRequest:type_name -> protowire.NotifyUtxosChangedRequestMessage
99, // 78: protowire.KaspadMessage.notifyUtxosChangedResponse:type_name -> protowire.NotifyUtxosChangedResponseMessage
100, // 79: protowire.KaspadMessage.utxosChangedNotification:type_name -> protowire.UtxosChangedNotificationMessage
108, // 80: protowire.KaspadMessage.getUtxosByAddressesRequest:type_name -> protowire.GetUtxosByAddressesRequestMessage
109, // 81: protowire.KaspadMessage.getUtxosByAddressesResponse:type_name -> protowire.GetUtxosByAddressesResponseMessage
110, // 82: protowire.KaspadMessage.getVirtualSelectedParentBlueScoreRequest:type_name -> protowire.GetVirtualSelectedParentBlueScoreRequestMessage
111, // 83: protowire.KaspadMessage.getVirtualSelectedParentBlueScoreResponse:type_name -> protowire.GetVirtualSelectedParentBlueScoreResponseMessage
112, // 84: protowire.KaspadMessage.notifyVirtualSelectedParentBlueScoreChangedRequest:type_name -> protowire.NotifyVirtualSelectedParentBlueScoreChangedRequestMessage
113, // 85: protowire.KaspadMessage.notifyVirtualSelectedParentBlueScoreChangedResponse:type_name -> protowire.NotifyVirtualSelectedParentBlueScoreChangedResponseMessage
114, // 86: protowire.KaspadMessage.virtualSelectedParentBlueScoreChangedNotification:type_name -> protowire.VirtualSelectedParentBlueScoreChangedNotificationMessage
4, // 87: protowire.RequestAddressesMessage.subnetworkId:type_name -> protowire.SubnetworkId
3, // 88: protowire.AddressesMessage.addressList:type_name -> protowire.NetAddress
6, // 89: protowire.TransactionMessage.inputs:type_name -> protowire.TransactionInput
10, // 90: protowire.TransactionMessage.outputs:type_name -> protowire.TransactionOutput
4, // 91: protowire.TransactionMessage.subnetworkId:type_name -> protowire.SubnetworkId
13, // 92: protowire.TransactionMessage.payloadHash:type_name -> protowire.Hash
7, // 93: protowire.TransactionInput.previousOutpoint:type_name -> protowire.Outpoint
8, // 94: protowire.Outpoint.transactionId:type_name -> protowire.TransactionId
9, // 95: protowire.TransactionOutput.scriptPublicKey:type_name -> protowire.ScriptPublicKey
12, // 96: protowire.BlockMessage.header:type_name -> protowire.BlockHeaderMessage
5, // 97: protowire.BlockMessage.transactions:type_name -> protowire.TransactionMessage
13, // 98: protowire.BlockHeaderMessage.parentHashes:type_name -> protowire.Hash
13, // 99: protowire.BlockHeaderMessage.hashMerkleRoot:type_name -> protowire.Hash
13, // 100: protowire.BlockHeaderMessage.acceptedIdMerkleRoot:type_name -> protowire.Hash
13, // 101: protowire.BlockHeaderMessage.utxoCommitment:type_name -> protowire.Hash
13, // 102: protowire.RequestBlockLocatorMessage.lowHash:type_name -> protowire.Hash
13, // 103: protowire.RequestBlockLocatorMessage.highHash:type_name -> protowire.Hash
13, // 104: protowire.BlockLocatorMessage.hashes:type_name -> protowire.Hash
13, // 105: protowire.RequestHeadersMessage.lowHash:type_name -> protowire.Hash
13, // 106: protowire.RequestHeadersMessage.highHash:type_name -> protowire.Hash
13, // 107: protowire.RequestRelayBlocksMessage.hashes:type_name -> protowire.Hash
8, // 108: protowire.RequestTransactionsMessage.ids:type_name -> protowire.TransactionId
8, // 109: protowire.TransactionNotFoundMessage.id:type_name -> protowire.TransactionId
13, // 110: protowire.InvRelayBlockMessage.hash:type_name -> protowire.Hash
8, // 111: protowire.InvTransactionsMessage.ids:type_name -> protowire.TransactionId
3, // 112: protowire.VersionMessage.address:type_name -> protowire.NetAddress
4, // 113: protowire.VersionMessage.subnetworkId:type_name -> protowire.SubnetworkId
13, // 114: protowire.RequestIBDRootUTXOSetAndBlockMessage.ibdRoot:type_name -> protowire.Hash
11, // 115: protowire.IBDRootUTXOSetAndBlockMessage.block:type_name -> protowire.BlockMessage
13, // 116: protowire.RequestIBDBlocksMessage.hashes:type_name -> protowire.Hash
13, // 117: protowire.IBDRootHashMessage.hash:type_name -> protowire.Hash
13, // 118: protowire.IbdBlockLocatorMessage.targetHash:type_name -> protowire.Hash
13, // 119: protowire.IbdBlockLocatorMessage.blockLocatorHashes:type_name -> protowire.Hash
13, // 120: protowire.IbdBlockLocatorHighestHashMessage.highestHash:type_name -> protowire.Hash
12, // 121: protowire.BlockHeadersMessage.blockHeaders:type_name -> protowire.BlockHeaderMessage
38, // 122: protowire.GetCurrentNetworkResponseMessage.error:type_name -> protowire.RPCError
11, // 123: protowire.SubmitBlockRequestMessage.block:type_name -> protowire.BlockMessage
38, // 124: protowire.SubmitBlockResponseMessage.error:type_name -> protowire.RPCError
11, // 125: protowire.GetBlockTemplateResponseMessage.blockMessage:type_name -> protowire.BlockMessage
38, // 126: protowire.GetBlockTemplateResponseMessage.error:type_name -> protowire.RPCError
38, // 127: protowire.NotifyBlockAddedResponseMessage.error:type_name -> protowire.RPCError
11, // 128: protowire.BlockAddedNotificationMessage.block:type_name -> protowire.BlockMessage
50, // 129: protowire.GetPeerAddressesResponseMessage.addresses:type_name -> protowire.GetPeerAddressesKnownAddressMessage
50, // 130: protowire.GetPeerAddressesResponseMessage.bannedAddresses:type_name -> protowire.GetPeerAddressesKnownAddressMessage
38, // 131: protowire.GetPeerAddressesResponseMessage.error:type_name -> protowire.RPCError
38, // 132: protowire.GetSelectedTipHashResponseMessage.error:type_name -> protowire.RPCError
73, // 133: protowire.MempoolEntry.transactionVerboseData:type_name -> protowire.TransactionVerboseData
53, // 134: protowire.GetMempoolEntryResponseMessage.entry:type_name -> protowire.MempoolEntry
38, // 135: protowire.GetMempoolEntryResponseMessage.error:type_name -> protowire.RPCError
53, // 136: protowire.GetMempoolEntriesResponseMessage.entries:type_name -> protowire.MempoolEntry
38, // 137: protowire.GetMempoolEntriesResponseMessage.error:type_name -> protowire.RPCError
60, // 138: protowire.GetConnectedPeerInfoResponseMessage.infos:type_name -> protowire.GetConnectedPeerInfoMessage
38, // 139: protowire.GetConnectedPeerInfoResponseMessage.error:type_name -> protowire.RPCError
38, // 140: protowire.AddPeerResponseMessage.error:type_name -> protowire.RPCError
102, // 141: protowire.SubmitTransactionRequestMessage.transaction:type_name -> protowire.RpcTransaction
38, // 142: protowire.SubmitTransactionResponseMessage.error:type_name -> protowire.RPCError
38, // 143: protowire.NotifyVirtualSelectedParentChainChangedResponseMessage.error:type_name -> protowire.RPCError
68, // 144: protowire.VirtualSelectedParentChainChangedNotificationMessage.addedChainBlocks:type_name -> protowire.ChainBlock
69, // 145: protowire.ChainBlock.acceptedBlocks:type_name -> protowire.AcceptedBlock
72, // 146: protowire.GetBlockResponseMessage.blockVerboseData:type_name -> protowire.BlockVerboseData
38, // 147: protowire.GetBlockResponseMessage.error:type_name -> protowire.RPCError
73, // 148: protowire.BlockVerboseData.transactionVerboseData:type_name -> protowire.TransactionVerboseData
74, // 149: protowire.TransactionVerboseData.transactionVerboseInputs:type_name -> protowire.TransactionVerboseInput
76, // 150: protowire.TransactionVerboseData.transactionVerboseOutputs:type_name -> protowire.TransactionVerboseOutput
75, // 151: protowire.TransactionVerboseInput.scriptSig:type_name -> protowire.ScriptSig
77, // 152: protowire.TransactionVerboseOutput.scriptPublicKey:type_name -> protowire.ScriptPublicKeyResult
38, // 153: protowire.GetSubnetworkResponseMessage.error:type_name -> protowire.RPCError
68, // 154: protowire.GetVirtualSelectedParentChainFromBlockResponseMessage.addedChainBlocks:type_name -> protowire.ChainBlock
38, // 155: protowire.GetVirtualSelectedParentChainFromBlockResponseMessage.error:type_name -> protowire.RPCError
72, // 156: protowire.GetBlocksResponseMessage.blockVerboseData:type_name -> protowire.BlockVerboseData
38, // 157: protowire.GetBlocksResponseMessage.error:type_name -> protowire.RPCError
38, // 158: protowire.GetBlockCountResponseMessage.error:type_name -> protowire.RPCError
38, // 159: protowire.GetBlockDagInfoResponseMessage.error:type_name -> protowire.RPCError
38, // 160: protowire.ResolveFinalityConflictResponseMessage.error:type_name -> protowire.RPCError
38, // 161: protowire.NotifyFinalityConflictsResponseMessage.error:type_name -> protowire.RPCError
38, // 162: protowire.ShutDownResponseMessage.error:type_name -> protowire.RPCError
38, // 163: protowire.GetHeadersResponseMessage.error:type_name -> protowire.RPCError
38, // 164: protowire.NotifyUtxosChangedResponseMessage.error:type_name -> protowire.RPCError
101, // 165: protowire.UtxosChangedNotificationMessage.added:type_name -> protowire.UtxosByAddressesEntry
101, // 166: protowire.UtxosChangedNotificationMessage.removed:type_name -> protowire.UtxosByAddressesEntry
106, // 167: protowire.UtxosByAddressesEntry.outpoint:type_name -> protowire.RpcOutpoint
107, // 168: protowire.UtxosByAddressesEntry.utxoEntry:type_name -> protowire.RpcUtxoEntry
103, // 169: protowire.RpcTransaction.inputs:type_name -> protowire.RpcTransactionInput
105, // 170: protowire.RpcTransaction.outputs:type_name -> protowire.RpcTransactionOutput
106, // 171: protowire.RpcTransactionInput.previousOutpoint:type_name -> protowire.RpcOutpoint
104, // 172: protowire.RpcTransactionOutput.scriptPublicKey:type_name -> protowire.RpcScriptPublicKey
104, // 173: protowire.RpcUtxoEntry.scriptPublicKey:type_name -> protowire.RpcScriptPublicKey
101, // 174: protowire.GetUtxosByAddressesResponseMessage.entries:type_name -> protowire.UtxosByAddressesEntry
38, // 175: protowire.GetUtxosByAddressesResponseMessage.error:type_name -> protowire.RPCError
38, // 176: protowire.GetVirtualSelectedParentBlueScoreResponseMessage.error:type_name -> protowire.RPCError
38, // 177: protowire.NotifyVirtualSelectedParentBlueScoreChangedResponseMessage.error:type_name -> protowire.RPCError
0, // 178: protowire.P2P.MessageStream:input_type -> protowire.KaspadMessage
0, // 179: protowire.RPC.MessageStream:input_type -> protowire.KaspadMessage
0, // 180: protowire.P2P.MessageStream:output_type -> protowire.KaspadMessage
0, // 181: protowire.RPC.MessageStream:output_type -> protowire.KaspadMessage
180, // [180:182] is the sub-list for method output_type
178, // [178:180] is the sub-list for method input_type
178, // [178:178] is the sub-list for extension type_name
178, // [178:178] is the sub-list for extension extendee
0, // [0:178] is the sub-list for field type_name
}
func init() { file_messages_proto_init() }
func file_messages_proto_init() {
if File_messages_proto != nil {
return
}
if !protoimpl.UnsafeEnabled {
file_messages_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*KaspadMessage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_messages_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RequestAddressesMessage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_messages_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*AddressesMessage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_messages_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*NetAddress); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_messages_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SubnetworkId); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_messages_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*TransactionMessage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_messages_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*TransactionInput); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_messages_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Outpoint); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_messages_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*TransactionId); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_messages_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ScriptPublicKey); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_messages_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*TransactionOutput); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_messages_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*BlockMessage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_messages_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*BlockHeaderMessage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_messages_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Hash); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_messages_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RequestBlockLocatorMessage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_messages_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*BlockLocatorMessage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_messages_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RequestHeadersMessage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_messages_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RequestNextHeadersMessage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_messages_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DoneHeadersMessage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_messages_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RequestRelayBlocksMessage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_messages_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RequestTransactionsMessage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_messages_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*TransactionNotFoundMessage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_messages_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*InvRelayBlockMessage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_messages_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*InvTransactionsMessage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_messages_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PingMessage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_messages_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PongMessage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_messages_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*VerackMessage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_messages_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*VersionMessage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_messages_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RejectMessage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_messages_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RequestIBDRootUTXOSetAndBlockMessage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_messages_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*IBDRootUTXOSetAndBlockMessage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_messages_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RequestIBDBlocksMessage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_messages_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*IBDRootNotFoundMessage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_messages_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RequestIBDRootHashMessage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_messages_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*IBDRootHashMessage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_messages_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*IbdBlockLocatorMessage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_messages_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*IbdBlockLocatorHighestHashMessage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_messages_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*BlockHeadersMessage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_messages_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RPCError); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_messages_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetCurrentNetworkRequestMessage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_messages_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetCurrentNetworkResponseMessage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_messages_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SubmitBlockRequestMessage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_messages_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SubmitBlockResponseMessage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_messages_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetBlockTemplateRequestMessage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_messages_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetBlockTemplateResponseMessage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_messages_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*NotifyBlockAddedRequestMessage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_messages_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*NotifyBlockAddedResponseMessage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_messages_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*BlockAddedNotificationMessage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_messages_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetPeerAddressesRequestMessage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_messages_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetPeerAddressesResponseMessage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_messages_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetPeerAddressesKnownAddressMessage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_messages_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetSelectedTipHashRequestMessage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_messages_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetSelectedTipHashResponseMessage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_messages_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*MempoolEntry); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_messages_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetMempoolEntryRequestMessage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_messages_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetMempoolEntryResponseMessage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_messages_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetMempoolEntriesRequestMessage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_messages_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetMempoolEntriesResponseMessage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_messages_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetConnectedPeerInfoRequestMessage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_messages_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetConnectedPeerInfoResponseMessage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_messages_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetConnectedPeerInfoMessage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_messages_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*AddPeerRequestMessage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_messages_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*AddPeerResponseMessage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_messages_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SubmitTransactionRequestMessage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_messages_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SubmitTransactionResponseMessage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_messages_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*NotifyVirtualSelectedParentChainChangedRequestMessage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_messages_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*NotifyVirtualSelectedParentChainChangedResponseMessage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_messages_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*VirtualSelectedParentChainChangedNotificationMessage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_messages_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ChainBlock); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_messages_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*AcceptedBlock); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_messages_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetBlockRequestMessage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_messages_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetBlockResponseMessage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_messages_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*BlockVerboseData); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_messages_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*TransactionVerboseData); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_messages_proto_msgTypes[74].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*TransactionVerboseInput); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_messages_proto_msgTypes[75].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ScriptSig); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_messages_proto_msgTypes[76].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*TransactionVerboseOutput); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_messages_proto_msgTypes[77].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ScriptPublicKeyResult); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_messages_proto_msgTypes[78].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetSubnetworkRequestMessage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_messages_proto_msgTypes[79].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetSubnetworkResponseMessage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_messages_proto_msgTypes[80].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetVirtualSelectedParentChainFromBlockRequestMessage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_messages_proto_msgTypes[81].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetVirtualSelectedParentChainFromBlockResponseMessage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_messages_proto_msgTypes[82].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetBlocksRequestMessage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_messages_proto_msgTypes[83].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetBlocksResponseMessage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_messages_proto_msgTypes[84].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetBlockCountRequestMessage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_messages_proto_msgTypes[85].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetBlockCountResponseMessage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_messages_proto_msgTypes[86].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetBlockDagInfoRequestMessage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_messages_proto_msgTypes[87].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetBlockDagInfoResponseMessage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_messages_proto_msgTypes[88].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ResolveFinalityConflictRequestMessage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_messages_proto_msgTypes[89].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ResolveFinalityConflictResponseMessage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_messages_proto_msgTypes[90].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*NotifyFinalityConflictsRequestMessage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_messages_proto_msgTypes[91].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*NotifyFinalityConflictsResponseMessage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_messages_proto_msgTypes[92].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*FinalityConflictNotificationMessage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_messages_proto_msgTypes[93].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*FinalityConflictResolvedNotificationMessage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_messages_proto_msgTypes[94].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ShutDownRequestMessage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_messages_proto_msgTypes[95].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ShutDownResponseMessage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_messages_proto_msgTypes[96].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetHeadersRequestMessage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_messages_proto_msgTypes[97].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetHeadersResponseMessage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_messages_proto_msgTypes[98].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*NotifyUtxosChangedRequestMessage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_messages_proto_msgTypes[99].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*NotifyUtxosChangedResponseMessage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_messages_proto_msgTypes[100].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*UtxosChangedNotificationMessage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_messages_proto_msgTypes[101].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*UtxosByAddressesEntry); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_messages_proto_msgTypes[102].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RpcTransaction); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_messages_proto_msgTypes[103].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RpcTransactionInput); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_messages_proto_msgTypes[104].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RpcScriptPublicKey); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_messages_proto_msgTypes[105].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RpcTransactionOutput); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_messages_proto_msgTypes[106].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RpcOutpoint); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_messages_proto_msgTypes[107].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RpcUtxoEntry); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_messages_proto_msgTypes[108].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetUtxosByAddressesRequestMessage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_messages_proto_msgTypes[109].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetUtxosByAddressesResponseMessage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_messages_proto_msgTypes[110].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetVirtualSelectedParentBlueScoreRequestMessage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_messages_proto_msgTypes[111].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetVirtualSelectedParentBlueScoreResponseMessage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_messages_proto_msgTypes[112].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*NotifyVirtualSelectedParentBlueScoreChangedRequestMessage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_messages_proto_msgTypes[113].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*NotifyVirtualSelectedParentBlueScoreChangedResponseMessage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_messages_proto_msgTypes[114].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*VirtualSelectedParentBlueScoreChangedNotificationMessage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
}
file_messages_proto_msgTypes[0].OneofWrappers = []interface{}{
(*KaspadMessage_Addresses)(nil),
(*KaspadMessage_Block)(nil),
(*KaspadMessage_Transaction)(nil),
(*KaspadMessage_RequestBlockLocator)(nil),
(*KaspadMessage_BlockLocator)(nil),
(*KaspadMessage_RequestAddresses)(nil),
(*KaspadMessage_RequestHeaders)(nil),
(*KaspadMessage_RequestNextHeaders)(nil),
(*KaspadMessage_DoneHeaders)(nil),
(*KaspadMessage_RequestRelayBlocks)(nil),
(*KaspadMessage_RequestTransactions)(nil),
(*KaspadMessage_IbdBlock)(nil),
(*KaspadMessage_InvRelayBlock)(nil),
(*KaspadMessage_InvTransactions)(nil),
(*KaspadMessage_Ping)(nil),
(*KaspadMessage_Pong)(nil),
(*KaspadMessage_Verack)(nil),
(*KaspadMessage_Version)(nil),
(*KaspadMessage_TransactionNotFound)(nil),
(*KaspadMessage_Reject)(nil),
(*KaspadMessage_RequestIBDRootUTXOSetAndBlock)(nil),
(*KaspadMessage_IbdRootUTXOSetAndBlock)(nil),
(*KaspadMessage_RequestIBDBlocks)(nil),
(*KaspadMessage_IbdRootNotFound)(nil),
(*KaspadMessage_RequestIBDRootHash)(nil),
(*KaspadMessage_IbdRootHash)(nil),
(*KaspadMessage_IbdBlockLocator)(nil),
(*KaspadMessage_IbdBlockLocatorHighestHash)(nil),
(*KaspadMessage_BlockHeaders)(nil),
(*KaspadMessage_GetCurrentNetworkRequest)(nil),
(*KaspadMessage_GetCurrentNetworkResponse)(nil),
(*KaspadMessage_SubmitBlockRequest)(nil),
(*KaspadMessage_SubmitBlockResponse)(nil),
(*KaspadMessage_GetBlockTemplateRequest)(nil),
(*KaspadMessage_GetBlockTemplateResponse)(nil),
(*KaspadMessage_NotifyBlockAddedRequest)(nil),
(*KaspadMessage_NotifyBlockAddedResponse)(nil),
(*KaspadMessage_BlockAddedNotification)(nil),
(*KaspadMessage_GetPeerAddressesRequest)(nil),
(*KaspadMessage_GetPeerAddressesResponse)(nil),
(*KaspadMessage_GetSelectedTipHashRequest)(nil),
(*KaspadMessage_GetSelectedTipHashResponse)(nil),
(*KaspadMessage_GetMempoolEntryRequest)(nil),
(*KaspadMessage_GetMempoolEntryResponse)(nil),
(*KaspadMessage_GetConnectedPeerInfoRequest)(nil),
(*KaspadMessage_GetConnectedPeerInfoResponse)(nil),
(*KaspadMessage_AddPeerRequest)(nil),
(*KaspadMessage_AddPeerResponse)(nil),
(*KaspadMessage_SubmitTransactionRequest)(nil),
(*KaspadMessage_SubmitTransactionResponse)(nil),
(*KaspadMessage_NotifyVirtualSelectedParentChainChangedRequest)(nil),
(*KaspadMessage_NotifyVirtualSelectedParentChainChangedResponse)(nil),
(*KaspadMessage_VirtualSelectedParentChainChangedNotification)(nil),
(*KaspadMessage_GetBlockRequest)(nil),
(*KaspadMessage_GetBlockResponse)(nil),
(*KaspadMessage_GetSubnetworkRequest)(nil),
(*KaspadMessage_GetSubnetworkResponse)(nil),
(*KaspadMessage_GetVirtualSelectedParentChainFromBlockRequest)(nil),
(*KaspadMessage_GetVirtualSelectedParentChainFromBlockResponse)(nil),
(*KaspadMessage_GetBlocksRequest)(nil),
(*KaspadMessage_GetBlocksResponse)(nil),
(*KaspadMessage_GetBlockCountRequest)(nil),
(*KaspadMessage_GetBlockCountResponse)(nil),
(*KaspadMessage_GetBlockDagInfoRequest)(nil),
(*KaspadMessage_GetBlockDagInfoResponse)(nil),
(*KaspadMessage_ResolveFinalityConflictRequest)(nil),
(*KaspadMessage_ResolveFinalityConflictResponse)(nil),
(*KaspadMessage_NotifyFinalityConflictsRequest)(nil),
(*KaspadMessage_NotifyFinalityConflictsResponse)(nil),
(*KaspadMessage_FinalityConflictNotification)(nil),
(*KaspadMessage_FinalityConflictResolvedNotification)(nil),
(*KaspadMessage_GetMempoolEntriesRequest)(nil),
(*KaspadMessage_GetMempoolEntriesResponse)(nil),
(*KaspadMessage_ShutDownRequest)(nil),
(*KaspadMessage_ShutDownResponse)(nil),
(*KaspadMessage_GetHeadersRequest)(nil),
(*KaspadMessage_GetHeadersResponse)(nil),
(*KaspadMessage_NotifyUtxosChangedRequest)(nil),
(*KaspadMessage_NotifyUtxosChangedResponse)(nil),
(*KaspadMessage_UtxosChangedNotification)(nil),
(*KaspadMessage_GetUtxosByAddressesRequest)(nil),
(*KaspadMessage_GetUtxosByAddressesResponse)(nil),
(*KaspadMessage_GetVirtualSelectedParentBlueScoreRequest)(nil),
(*KaspadMessage_GetVirtualSelectedParentBlueScoreResponse)(nil),
(*KaspadMessage_NotifyVirtualSelectedParentBlueScoreChangedRequest)(nil),
(*KaspadMessage_NotifyVirtualSelectedParentBlueScoreChangedResponse)(nil),
(*KaspadMessage_VirtualSelectedParentBlueScoreChangedNotification)(nil),
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_messages_proto_rawDesc,
NumEnums: 0,
NumMessages: 115,
NumExtensions: 0,
NumServices: 2,
},
GoTypes: file_messages_proto_goTypes,
DependencyIndexes: file_messages_proto_depIdxs,
MessageInfos: file_messages_proto_msgTypes,
}.Build()
File_messages_proto = out.File
file_messages_proto_rawDesc = nil
file_messages_proto_goTypes = nil
file_messages_proto_depIdxs = nil
}