// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.26.0 // protoc v3.12.3 // source: p2p.proto package protowire import ( 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) ) 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_p2p_proto_msgTypes[0] 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_p2p_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 RequestAddressesMessage.ProtoReflect.Descriptor instead. func (*RequestAddressesMessage) Descriptor() ([]byte, []int) { return file_p2p_proto_rawDescGZIP(), []int{0} } 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 } 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_p2p_proto_msgTypes[1] 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_p2p_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 AddressesMessage.ProtoReflect.Descriptor instead. func (*AddressesMessage) Descriptor() ([]byte, []int) { return file_p2p_proto_rawDescGZIP(), []int{1} } 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"` 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_p2p_proto_msgTypes[2] 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_p2p_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 NetAddress.ProtoReflect.Descriptor instead. func (*NetAddress) Descriptor() ([]byte, []int) { return file_p2p_proto_rawDescGZIP(), []int{2} } func (x *NetAddress) GetTimestamp() int64 { if x != nil { return x.Timestamp } 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_p2p_proto_msgTypes[3] 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_p2p_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 SubnetworkId.ProtoReflect.Descriptor instead. func (*SubnetworkId) Descriptor() ([]byte, []int) { return file_p2p_proto_rawDescGZIP(), []int{3} } func (x *SubnetworkId) GetBytes() []byte { if x != nil { return x.Bytes } return nil } 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"` Payload []byte `protobuf:"bytes,8,opt,name=payload,proto3" json:"payload,omitempty"` } func (x *TransactionMessage) Reset() { *x = TransactionMessage{} if protoimpl.UnsafeEnabled { mi := &file_p2p_proto_msgTypes[4] 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_p2p_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 TransactionMessage.ProtoReflect.Descriptor instead. func (*TransactionMessage) Descriptor() ([]byte, []int) { return file_p2p_proto_rawDescGZIP(), []int{4} } 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) 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_p2p_proto_msgTypes[5] 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_p2p_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 TransactionInput.ProtoReflect.Descriptor instead. func (*TransactionInput) Descriptor() ([]byte, []int) { return file_p2p_proto_rawDescGZIP(), []int{5} } 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_p2p_proto_msgTypes[6] 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_p2p_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 Outpoint.ProtoReflect.Descriptor instead. func (*Outpoint) Descriptor() ([]byte, []int) { return file_p2p_proto_rawDescGZIP(), []int{6} } 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_p2p_proto_msgTypes[7] 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_p2p_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 TransactionId.ProtoReflect.Descriptor instead. func (*TransactionId) Descriptor() ([]byte, []int) { return file_p2p_proto_rawDescGZIP(), []int{7} } 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_p2p_proto_msgTypes[8] 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_p2p_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 ScriptPublicKey.ProtoReflect.Descriptor instead. func (*ScriptPublicKey) Descriptor() ([]byte, []int) { return file_p2p_proto_rawDescGZIP(), []int{8} } 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_p2p_proto_msgTypes[9] 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_p2p_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 TransactionOutput.ProtoReflect.Descriptor instead. func (*TransactionOutput) Descriptor() ([]byte, []int) { return file_p2p_proto_rawDescGZIP(), []int{9} } 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 } 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_p2p_proto_msgTypes[10] 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_p2p_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 BlockMessage.ProtoReflect.Descriptor instead. func (*BlockMessage) Descriptor() ([]byte, []int) { return file_p2p_proto_rawDescGZIP(), []int{10} } 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_p2p_proto_msgTypes[11] 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_p2p_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 BlockHeaderMessage.ProtoReflect.Descriptor instead. func (*BlockHeaderMessage) Descriptor() ([]byte, []int) { return file_p2p_proto_rawDescGZIP(), []int{11} } 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_p2p_proto_msgTypes[12] 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_p2p_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 Hash.ProtoReflect.Descriptor instead. func (*Hash) Descriptor() ([]byte, []int) { return file_p2p_proto_rawDescGZIP(), []int{12} } func (x *Hash) GetBytes() []byte { if x != nil { return x.Bytes } return nil } 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_p2p_proto_msgTypes[13] 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_p2p_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 RequestBlockLocatorMessage.ProtoReflect.Descriptor instead. func (*RequestBlockLocatorMessage) Descriptor() ([]byte, []int) { return file_p2p_proto_rawDescGZIP(), []int{13} } 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 } 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_p2p_proto_msgTypes[14] 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_p2p_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 BlockLocatorMessage.ProtoReflect.Descriptor instead. func (*BlockLocatorMessage) Descriptor() ([]byte, []int) { return file_p2p_proto_rawDescGZIP(), []int{14} } func (x *BlockLocatorMessage) GetHashes() []*Hash { if x != nil { return x.Hashes } return nil } 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_p2p_proto_msgTypes[15] 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_p2p_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 RequestHeadersMessage.ProtoReflect.Descriptor instead. func (*RequestHeadersMessage) Descriptor() ([]byte, []int) { return file_p2p_proto_rawDescGZIP(), []int{15} } 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 } type RequestNextHeadersMessage struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *RequestNextHeadersMessage) Reset() { *x = RequestNextHeadersMessage{} if protoimpl.UnsafeEnabled { mi := &file_p2p_proto_msgTypes[16] 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_p2p_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 RequestNextHeadersMessage.ProtoReflect.Descriptor instead. func (*RequestNextHeadersMessage) Descriptor() ([]byte, []int) { return file_p2p_proto_rawDescGZIP(), []int{16} } type DoneHeadersMessage struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *DoneHeadersMessage) Reset() { *x = DoneHeadersMessage{} if protoimpl.UnsafeEnabled { mi := &file_p2p_proto_msgTypes[17] 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_p2p_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 DoneHeadersMessage.ProtoReflect.Descriptor instead. func (*DoneHeadersMessage) Descriptor() ([]byte, []int) { return file_p2p_proto_rawDescGZIP(), []int{17} } 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_p2p_proto_msgTypes[18] 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_p2p_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 RequestRelayBlocksMessage.ProtoReflect.Descriptor instead. func (*RequestRelayBlocksMessage) Descriptor() ([]byte, []int) { return file_p2p_proto_rawDescGZIP(), []int{18} } func (x *RequestRelayBlocksMessage) GetHashes() []*Hash { if x != nil { return x.Hashes } return nil } 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_p2p_proto_msgTypes[19] 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_p2p_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 RequestTransactionsMessage.ProtoReflect.Descriptor instead. func (*RequestTransactionsMessage) Descriptor() ([]byte, []int) { return file_p2p_proto_rawDescGZIP(), []int{19} } func (x *RequestTransactionsMessage) GetIds() []*TransactionId { if x != nil { return x.Ids } return nil } 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_p2p_proto_msgTypes[20] 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_p2p_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 TransactionNotFoundMessage.ProtoReflect.Descriptor instead. func (*TransactionNotFoundMessage) Descriptor() ([]byte, []int) { return file_p2p_proto_rawDescGZIP(), []int{20} } func (x *TransactionNotFoundMessage) GetId() *TransactionId { if x != nil { return x.Id } return nil } 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_p2p_proto_msgTypes[21] 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_p2p_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 InvRelayBlockMessage.ProtoReflect.Descriptor instead. func (*InvRelayBlockMessage) Descriptor() ([]byte, []int) { return file_p2p_proto_rawDescGZIP(), []int{21} } func (x *InvRelayBlockMessage) GetHash() *Hash { if x != nil { return x.Hash } return nil } 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_p2p_proto_msgTypes[22] 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_p2p_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 InvTransactionsMessage.ProtoReflect.Descriptor instead. func (*InvTransactionsMessage) Descriptor() ([]byte, []int) { return file_p2p_proto_rawDescGZIP(), []int{22} } func (x *InvTransactionsMessage) GetIds() []*TransactionId { if x != nil { return x.Ids } return nil } 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_p2p_proto_msgTypes[23] 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_p2p_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 PingMessage.ProtoReflect.Descriptor instead. func (*PingMessage) Descriptor() ([]byte, []int) { return file_p2p_proto_rawDescGZIP(), []int{23} } func (x *PingMessage) GetNonce() uint64 { if x != nil { return x.Nonce } return 0 } 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_p2p_proto_msgTypes[24] 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_p2p_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 PongMessage.ProtoReflect.Descriptor instead. func (*PongMessage) Descriptor() ([]byte, []int) { return file_p2p_proto_rawDescGZIP(), []int{24} } func (x *PongMessage) GetNonce() uint64 { if x != nil { return x.Nonce } return 0 } type VerackMessage struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *VerackMessage) Reset() { *x = VerackMessage{} if protoimpl.UnsafeEnabled { mi := &file_p2p_proto_msgTypes[25] 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_p2p_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 VerackMessage.ProtoReflect.Descriptor instead. func (*VerackMessage) Descriptor() ([]byte, []int) { return file_p2p_proto_rawDescGZIP(), []int{25} } 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_p2p_proto_msgTypes[26] 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_p2p_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 VersionMessage.ProtoReflect.Descriptor instead. func (*VersionMessage) Descriptor() ([]byte, []int) { return file_p2p_proto_rawDescGZIP(), []int{26} } 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 "" } 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_p2p_proto_msgTypes[27] 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_p2p_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 RejectMessage.ProtoReflect.Descriptor instead. func (*RejectMessage) Descriptor() ([]byte, []int) { return file_p2p_proto_rawDescGZIP(), []int{27} } func (x *RejectMessage) GetReason() string { if x != nil { return x.Reason } return "" } type RequestPruningPointUTXOSetAndBlockMessage struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields PruningPointHash *Hash `protobuf:"bytes,1,opt,name=pruningPointHash,proto3" json:"pruningPointHash,omitempty"` } func (x *RequestPruningPointUTXOSetAndBlockMessage) Reset() { *x = RequestPruningPointUTXOSetAndBlockMessage{} if protoimpl.UnsafeEnabled { mi := &file_p2p_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RequestPruningPointUTXOSetAndBlockMessage) String() string { return protoimpl.X.MessageStringOf(x) } func (*RequestPruningPointUTXOSetAndBlockMessage) ProtoMessage() {} func (x *RequestPruningPointUTXOSetAndBlockMessage) ProtoReflect() protoreflect.Message { mi := &file_p2p_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 RequestPruningPointUTXOSetAndBlockMessage.ProtoReflect.Descriptor instead. func (*RequestPruningPointUTXOSetAndBlockMessage) Descriptor() ([]byte, []int) { return file_p2p_proto_rawDescGZIP(), []int{28} } func (x *RequestPruningPointUTXOSetAndBlockMessage) GetPruningPointHash() *Hash { if x != nil { return x.PruningPointHash } return nil } type PruningPointUtxoSetChunkMessage struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields OutpointAndUtxoEntryPairs []*OutpointAndUtxoEntryPair `protobuf:"bytes,1,rep,name=outpointAndUtxoEntryPairs,proto3" json:"outpointAndUtxoEntryPairs,omitempty"` } func (x *PruningPointUtxoSetChunkMessage) Reset() { *x = PruningPointUtxoSetChunkMessage{} if protoimpl.UnsafeEnabled { mi := &file_p2p_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PruningPointUtxoSetChunkMessage) String() string { return protoimpl.X.MessageStringOf(x) } func (*PruningPointUtxoSetChunkMessage) ProtoMessage() {} func (x *PruningPointUtxoSetChunkMessage) ProtoReflect() protoreflect.Message { mi := &file_p2p_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 PruningPointUtxoSetChunkMessage.ProtoReflect.Descriptor instead. func (*PruningPointUtxoSetChunkMessage) Descriptor() ([]byte, []int) { return file_p2p_proto_rawDescGZIP(), []int{29} } func (x *PruningPointUtxoSetChunkMessage) GetOutpointAndUtxoEntryPairs() []*OutpointAndUtxoEntryPair { if x != nil { return x.OutpointAndUtxoEntryPairs } return nil } type OutpointAndUtxoEntryPair struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Outpoint *Outpoint `protobuf:"bytes,1,opt,name=outpoint,proto3" json:"outpoint,omitempty"` UtxoEntry *UtxoEntry `protobuf:"bytes,2,opt,name=utxoEntry,proto3" json:"utxoEntry,omitempty"` } func (x *OutpointAndUtxoEntryPair) Reset() { *x = OutpointAndUtxoEntryPair{} if protoimpl.UnsafeEnabled { mi := &file_p2p_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *OutpointAndUtxoEntryPair) String() string { return protoimpl.X.MessageStringOf(x) } func (*OutpointAndUtxoEntryPair) ProtoMessage() {} func (x *OutpointAndUtxoEntryPair) ProtoReflect() protoreflect.Message { mi := &file_p2p_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 OutpointAndUtxoEntryPair.ProtoReflect.Descriptor instead. func (*OutpointAndUtxoEntryPair) Descriptor() ([]byte, []int) { return file_p2p_proto_rawDescGZIP(), []int{30} } func (x *OutpointAndUtxoEntryPair) GetOutpoint() *Outpoint { if x != nil { return x.Outpoint } return nil } func (x *OutpointAndUtxoEntryPair) GetUtxoEntry() *UtxoEntry { if x != nil { return x.UtxoEntry } return nil } type UtxoEntry struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Amount uint64 `protobuf:"varint,1,opt,name=amount,proto3" json:"amount,omitempty"` ScriptPublicKey *ScriptPublicKey `protobuf:"bytes,2,opt,name=scriptPublicKey,proto3" json:"scriptPublicKey,omitempty"` BlockDaaScore uint64 `protobuf:"varint,3,opt,name=blockDaaScore,proto3" json:"blockDaaScore,omitempty"` IsCoinbase bool `protobuf:"varint,4,opt,name=isCoinbase,proto3" json:"isCoinbase,omitempty"` } func (x *UtxoEntry) Reset() { *x = UtxoEntry{} if protoimpl.UnsafeEnabled { mi := &file_p2p_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UtxoEntry) String() string { return protoimpl.X.MessageStringOf(x) } func (*UtxoEntry) ProtoMessage() {} func (x *UtxoEntry) ProtoReflect() protoreflect.Message { mi := &file_p2p_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 UtxoEntry.ProtoReflect.Descriptor instead. func (*UtxoEntry) Descriptor() ([]byte, []int) { return file_p2p_proto_rawDescGZIP(), []int{31} } func (x *UtxoEntry) GetAmount() uint64 { if x != nil { return x.Amount } return 0 } func (x *UtxoEntry) GetScriptPublicKey() *ScriptPublicKey { if x != nil { return x.ScriptPublicKey } return nil } func (x *UtxoEntry) GetBlockDaaScore() uint64 { if x != nil { return x.BlockDaaScore } return 0 } func (x *UtxoEntry) GetIsCoinbase() bool { if x != nil { return x.IsCoinbase } return false } type RequestNextPruningPointUtxoSetChunkMessage struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *RequestNextPruningPointUtxoSetChunkMessage) Reset() { *x = RequestNextPruningPointUtxoSetChunkMessage{} if protoimpl.UnsafeEnabled { mi := &file_p2p_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RequestNextPruningPointUtxoSetChunkMessage) String() string { return protoimpl.X.MessageStringOf(x) } func (*RequestNextPruningPointUtxoSetChunkMessage) ProtoMessage() {} func (x *RequestNextPruningPointUtxoSetChunkMessage) ProtoReflect() protoreflect.Message { mi := &file_p2p_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 RequestNextPruningPointUtxoSetChunkMessage.ProtoReflect.Descriptor instead. func (*RequestNextPruningPointUtxoSetChunkMessage) Descriptor() ([]byte, []int) { return file_p2p_proto_rawDescGZIP(), []int{32} } type DonePruningPointUtxoSetChunksMessage struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *DonePruningPointUtxoSetChunksMessage) Reset() { *x = DonePruningPointUtxoSetChunksMessage{} if protoimpl.UnsafeEnabled { mi := &file_p2p_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DonePruningPointUtxoSetChunksMessage) String() string { return protoimpl.X.MessageStringOf(x) } func (*DonePruningPointUtxoSetChunksMessage) ProtoMessage() {} func (x *DonePruningPointUtxoSetChunksMessage) ProtoReflect() protoreflect.Message { mi := &file_p2p_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 DonePruningPointUtxoSetChunksMessage.ProtoReflect.Descriptor instead. func (*DonePruningPointUtxoSetChunksMessage) Descriptor() ([]byte, []int) { return file_p2p_proto_rawDescGZIP(), []int{33} } 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_p2p_proto_msgTypes[34] 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_p2p_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 RequestIBDBlocksMessage.ProtoReflect.Descriptor instead. func (*RequestIBDBlocksMessage) Descriptor() ([]byte, []int) { return file_p2p_proto_rawDescGZIP(), []int{34} } func (x *RequestIBDBlocksMessage) GetHashes() []*Hash { if x != nil { return x.Hashes } return nil } type UnexpectedPruningPointMessage struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *UnexpectedPruningPointMessage) Reset() { *x = UnexpectedPruningPointMessage{} if protoimpl.UnsafeEnabled { mi := &file_p2p_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UnexpectedPruningPointMessage) String() string { return protoimpl.X.MessageStringOf(x) } func (*UnexpectedPruningPointMessage) ProtoMessage() {} func (x *UnexpectedPruningPointMessage) ProtoReflect() protoreflect.Message { mi := &file_p2p_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 UnexpectedPruningPointMessage.ProtoReflect.Descriptor instead. func (*UnexpectedPruningPointMessage) Descriptor() ([]byte, []int) { return file_p2p_proto_rawDescGZIP(), []int{35} } type RequestPruningPointHashMessage struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *RequestPruningPointHashMessage) Reset() { *x = RequestPruningPointHashMessage{} if protoimpl.UnsafeEnabled { mi := &file_p2p_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RequestPruningPointHashMessage) String() string { return protoimpl.X.MessageStringOf(x) } func (*RequestPruningPointHashMessage) ProtoMessage() {} func (x *RequestPruningPointHashMessage) ProtoReflect() protoreflect.Message { mi := &file_p2p_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 RequestPruningPointHashMessage.ProtoReflect.Descriptor instead. func (*RequestPruningPointHashMessage) Descriptor() ([]byte, []int) { return file_p2p_proto_rawDescGZIP(), []int{36} } type PruningPointHashMessage struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Hash *Hash `protobuf:"bytes,1,opt,name=hash,proto3" json:"hash,omitempty"` } func (x *PruningPointHashMessage) Reset() { *x = PruningPointHashMessage{} if protoimpl.UnsafeEnabled { mi := &file_p2p_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PruningPointHashMessage) String() string { return protoimpl.X.MessageStringOf(x) } func (*PruningPointHashMessage) ProtoMessage() {} func (x *PruningPointHashMessage) ProtoReflect() protoreflect.Message { mi := &file_p2p_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 PruningPointHashMessage.ProtoReflect.Descriptor instead. func (*PruningPointHashMessage) Descriptor() ([]byte, []int) { return file_p2p_proto_rawDescGZIP(), []int{37} } func (x *PruningPointHashMessage) GetHash() *Hash { if x != nil { return x.Hash } return nil } 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_p2p_proto_msgTypes[38] 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_p2p_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 IbdBlockLocatorMessage.ProtoReflect.Descriptor instead. func (*IbdBlockLocatorMessage) Descriptor() ([]byte, []int) { return file_p2p_proto_rawDescGZIP(), []int{38} } 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 } 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_p2p_proto_msgTypes[39] 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_p2p_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 IbdBlockLocatorHighestHashMessage.ProtoReflect.Descriptor instead. func (*IbdBlockLocatorHighestHashMessage) Descriptor() ([]byte, []int) { return file_p2p_proto_rawDescGZIP(), []int{39} } func (x *IbdBlockLocatorHighestHashMessage) GetHighestHash() *Hash { if x != nil { return x.HighestHash } return nil } type IbdBlockLocatorHighestHashNotFoundMessage struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *IbdBlockLocatorHighestHashNotFoundMessage) Reset() { *x = IbdBlockLocatorHighestHashNotFoundMessage{} if protoimpl.UnsafeEnabled { mi := &file_p2p_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *IbdBlockLocatorHighestHashNotFoundMessage) String() string { return protoimpl.X.MessageStringOf(x) } func (*IbdBlockLocatorHighestHashNotFoundMessage) ProtoMessage() {} func (x *IbdBlockLocatorHighestHashNotFoundMessage) ProtoReflect() protoreflect.Message { mi := &file_p2p_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 IbdBlockLocatorHighestHashNotFoundMessage.ProtoReflect.Descriptor instead. func (*IbdBlockLocatorHighestHashNotFoundMessage) Descriptor() ([]byte, []int) { return file_p2p_proto_rawDescGZIP(), []int{40} } 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_p2p_proto_msgTypes[41] 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_p2p_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 BlockHeadersMessage.ProtoReflect.Descriptor instead. func (*BlockHeadersMessage) Descriptor() ([]byte, []int) { return file_p2p_proto_rawDescGZIP(), []int{41} } func (x *BlockHeadersMessage) GetBlockHeaders() []*BlockHeaderMessage { if x != nil { return x.BlockHeaders } return nil } var File_p2p_proto protoreflect.FileDescriptor var file_p2p_proto_rawDesc = []byte{ 0x0a, 0x09, 0x70, 0x32, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x09, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 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, 0x4e, 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, 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, 0xa0, 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, 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, 0x68, 0x0a, 0x29, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x72, 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x55, 0x54, 0x58, 0x4f, 0x53, 0x65, 0x74, 0x41, 0x6e, 0x64, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x3b, 0x0a, 0x10, 0x70, 0x72, 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x69, 0x6e, 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, 0x10, 0x70, 0x72, 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x48, 0x61, 0x73, 0x68, 0x22, 0x84, 0x01, 0x0a, 0x1f, 0x50, 0x72, 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x55, 0x74, 0x78, 0x6f, 0x53, 0x65, 0x74, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x61, 0x0a, 0x19, 0x6f, 0x75, 0x74, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x41, 0x6e, 0x64, 0x55, 0x74, 0x78, 0x6f, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x50, 0x61, 0x69, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x41, 0x6e, 0x64, 0x55, 0x74, 0x78, 0x6f, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x50, 0x61, 0x69, 0x72, 0x52, 0x19, 0x6f, 0x75, 0x74, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x41, 0x6e, 0x64, 0x55, 0x74, 0x78, 0x6f, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x50, 0x61, 0x69, 0x72, 0x73, 0x22, 0x7f, 0x0a, 0x18, 0x4f, 0x75, 0x74, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x41, 0x6e, 0x64, 0x55, 0x74, 0x78, 0x6f, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x50, 0x61, 0x69, 0x72, 0x12, 0x2f, 0x0a, 0x08, 0x6f, 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, 0x08, 0x6f, 0x75, 0x74, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x32, 0x0a, 0x09, 0x75, 0x74, 0x78, 0x6f, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x55, 0x74, 0x78, 0x6f, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x75, 0x74, 0x78, 0x6f, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x22, 0xaf, 0x01, 0x0a, 0x09, 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, 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, 0x12, 0x24, 0x0a, 0x0d, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x61, 0x61, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x61, 0x61, 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, 0x2c, 0x0a, 0x2a, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4e, 0x65, 0x78, 0x74, 0x50, 0x72, 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x55, 0x74, 0x78, 0x6f, 0x53, 0x65, 0x74, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x26, 0x0a, 0x24, 0x44, 0x6f, 0x6e, 0x65, 0x50, 0x72, 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x55, 0x74, 0x78, 0x6f, 0x53, 0x65, 0x74, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 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, 0x1f, 0x0a, 0x1d, 0x55, 0x6e, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x50, 0x72, 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x20, 0x0a, 0x1e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x72, 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x48, 0x61, 0x73, 0x68, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x3e, 0x0a, 0x17, 0x50, 0x72, 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x69, 0x6e, 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, 0x2b, 0x0a, 0x29, 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, 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 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, 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_p2p_proto_rawDescOnce sync.Once file_p2p_proto_rawDescData = file_p2p_proto_rawDesc ) func file_p2p_proto_rawDescGZIP() []byte { file_p2p_proto_rawDescOnce.Do(func() { file_p2p_proto_rawDescData = protoimpl.X.CompressGZIP(file_p2p_proto_rawDescData) }) return file_p2p_proto_rawDescData } var file_p2p_proto_msgTypes = make([]protoimpl.MessageInfo, 42) var file_p2p_proto_goTypes = []interface{}{ (*RequestAddressesMessage)(nil), // 0: protowire.RequestAddressesMessage (*AddressesMessage)(nil), // 1: protowire.AddressesMessage (*NetAddress)(nil), // 2: protowire.NetAddress (*SubnetworkId)(nil), // 3: protowire.SubnetworkId (*TransactionMessage)(nil), // 4: protowire.TransactionMessage (*TransactionInput)(nil), // 5: protowire.TransactionInput (*Outpoint)(nil), // 6: protowire.Outpoint (*TransactionId)(nil), // 7: protowire.TransactionId (*ScriptPublicKey)(nil), // 8: protowire.ScriptPublicKey (*TransactionOutput)(nil), // 9: protowire.TransactionOutput (*BlockMessage)(nil), // 10: protowire.BlockMessage (*BlockHeaderMessage)(nil), // 11: protowire.BlockHeaderMessage (*Hash)(nil), // 12: protowire.Hash (*RequestBlockLocatorMessage)(nil), // 13: protowire.RequestBlockLocatorMessage (*BlockLocatorMessage)(nil), // 14: protowire.BlockLocatorMessage (*RequestHeadersMessage)(nil), // 15: protowire.RequestHeadersMessage (*RequestNextHeadersMessage)(nil), // 16: protowire.RequestNextHeadersMessage (*DoneHeadersMessage)(nil), // 17: protowire.DoneHeadersMessage (*RequestRelayBlocksMessage)(nil), // 18: protowire.RequestRelayBlocksMessage (*RequestTransactionsMessage)(nil), // 19: protowire.RequestTransactionsMessage (*TransactionNotFoundMessage)(nil), // 20: protowire.TransactionNotFoundMessage (*InvRelayBlockMessage)(nil), // 21: protowire.InvRelayBlockMessage (*InvTransactionsMessage)(nil), // 22: protowire.InvTransactionsMessage (*PingMessage)(nil), // 23: protowire.PingMessage (*PongMessage)(nil), // 24: protowire.PongMessage (*VerackMessage)(nil), // 25: protowire.VerackMessage (*VersionMessage)(nil), // 26: protowire.VersionMessage (*RejectMessage)(nil), // 27: protowire.RejectMessage (*RequestPruningPointUTXOSetAndBlockMessage)(nil), // 28: protowire.RequestPruningPointUTXOSetAndBlockMessage (*PruningPointUtxoSetChunkMessage)(nil), // 29: protowire.PruningPointUtxoSetChunkMessage (*OutpointAndUtxoEntryPair)(nil), // 30: protowire.OutpointAndUtxoEntryPair (*UtxoEntry)(nil), // 31: protowire.UtxoEntry (*RequestNextPruningPointUtxoSetChunkMessage)(nil), // 32: protowire.RequestNextPruningPointUtxoSetChunkMessage (*DonePruningPointUtxoSetChunksMessage)(nil), // 33: protowire.DonePruningPointUtxoSetChunksMessage (*RequestIBDBlocksMessage)(nil), // 34: protowire.RequestIBDBlocksMessage (*UnexpectedPruningPointMessage)(nil), // 35: protowire.UnexpectedPruningPointMessage (*RequestPruningPointHashMessage)(nil), // 36: protowire.RequestPruningPointHashMessage (*PruningPointHashMessage)(nil), // 37: protowire.PruningPointHashMessage (*IbdBlockLocatorMessage)(nil), // 38: protowire.IbdBlockLocatorMessage (*IbdBlockLocatorHighestHashMessage)(nil), // 39: protowire.IbdBlockLocatorHighestHashMessage (*IbdBlockLocatorHighestHashNotFoundMessage)(nil), // 40: protowire.IbdBlockLocatorHighestHashNotFoundMessage (*BlockHeadersMessage)(nil), // 41: protowire.BlockHeadersMessage } var file_p2p_proto_depIdxs = []int32{ 3, // 0: protowire.RequestAddressesMessage.subnetworkId:type_name -> protowire.SubnetworkId 2, // 1: protowire.AddressesMessage.addressList:type_name -> protowire.NetAddress 5, // 2: protowire.TransactionMessage.inputs:type_name -> protowire.TransactionInput 9, // 3: protowire.TransactionMessage.outputs:type_name -> protowire.TransactionOutput 3, // 4: protowire.TransactionMessage.subnetworkId:type_name -> protowire.SubnetworkId 6, // 5: protowire.TransactionInput.previousOutpoint:type_name -> protowire.Outpoint 7, // 6: protowire.Outpoint.transactionId:type_name -> protowire.TransactionId 8, // 7: protowire.TransactionOutput.scriptPublicKey:type_name -> protowire.ScriptPublicKey 11, // 8: protowire.BlockMessage.header:type_name -> protowire.BlockHeaderMessage 4, // 9: protowire.BlockMessage.transactions:type_name -> protowire.TransactionMessage 12, // 10: protowire.BlockHeaderMessage.parentHashes:type_name -> protowire.Hash 12, // 11: protowire.BlockHeaderMessage.hashMerkleRoot:type_name -> protowire.Hash 12, // 12: protowire.BlockHeaderMessage.acceptedIdMerkleRoot:type_name -> protowire.Hash 12, // 13: protowire.BlockHeaderMessage.utxoCommitment:type_name -> protowire.Hash 12, // 14: protowire.RequestBlockLocatorMessage.lowHash:type_name -> protowire.Hash 12, // 15: protowire.RequestBlockLocatorMessage.highHash:type_name -> protowire.Hash 12, // 16: protowire.BlockLocatorMessage.hashes:type_name -> protowire.Hash 12, // 17: protowire.RequestHeadersMessage.lowHash:type_name -> protowire.Hash 12, // 18: protowire.RequestHeadersMessage.highHash:type_name -> protowire.Hash 12, // 19: protowire.RequestRelayBlocksMessage.hashes:type_name -> protowire.Hash 7, // 20: protowire.RequestTransactionsMessage.ids:type_name -> protowire.TransactionId 7, // 21: protowire.TransactionNotFoundMessage.id:type_name -> protowire.TransactionId 12, // 22: protowire.InvRelayBlockMessage.hash:type_name -> protowire.Hash 7, // 23: protowire.InvTransactionsMessage.ids:type_name -> protowire.TransactionId 2, // 24: protowire.VersionMessage.address:type_name -> protowire.NetAddress 3, // 25: protowire.VersionMessage.subnetworkId:type_name -> protowire.SubnetworkId 12, // 26: protowire.RequestPruningPointUTXOSetAndBlockMessage.pruningPointHash:type_name -> protowire.Hash 30, // 27: protowire.PruningPointUtxoSetChunkMessage.outpointAndUtxoEntryPairs:type_name -> protowire.OutpointAndUtxoEntryPair 6, // 28: protowire.OutpointAndUtxoEntryPair.outpoint:type_name -> protowire.Outpoint 31, // 29: protowire.OutpointAndUtxoEntryPair.utxoEntry:type_name -> protowire.UtxoEntry 8, // 30: protowire.UtxoEntry.scriptPublicKey:type_name -> protowire.ScriptPublicKey 12, // 31: protowire.RequestIBDBlocksMessage.hashes:type_name -> protowire.Hash 12, // 32: protowire.PruningPointHashMessage.hash:type_name -> protowire.Hash 12, // 33: protowire.IbdBlockLocatorMessage.targetHash:type_name -> protowire.Hash 12, // 34: protowire.IbdBlockLocatorMessage.blockLocatorHashes:type_name -> protowire.Hash 12, // 35: protowire.IbdBlockLocatorHighestHashMessage.highestHash:type_name -> protowire.Hash 11, // 36: protowire.BlockHeadersMessage.blockHeaders:type_name -> protowire.BlockHeaderMessage 37, // [37:37] is the sub-list for method output_type 37, // [37:37] is the sub-list for method input_type 37, // [37:37] is the sub-list for extension type_name 37, // [37:37] is the sub-list for extension extendee 0, // [0:37] is the sub-list for field type_name } func init() { file_p2p_proto_init() } func file_p2p_proto_init() { if File_p2p_proto != nil { return } if !protoimpl.UnsafeEnabled { file_p2p_proto_msgTypes[0].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_p2p_proto_msgTypes[1].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_p2p_proto_msgTypes[2].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_p2p_proto_msgTypes[3].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_p2p_proto_msgTypes[4].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_p2p_proto_msgTypes[5].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_p2p_proto_msgTypes[6].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_p2p_proto_msgTypes[7].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_p2p_proto_msgTypes[8].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_p2p_proto_msgTypes[9].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_p2p_proto_msgTypes[10].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_p2p_proto_msgTypes[11].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_p2p_proto_msgTypes[12].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_p2p_proto_msgTypes[13].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_p2p_proto_msgTypes[14].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_p2p_proto_msgTypes[15].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_p2p_proto_msgTypes[16].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_p2p_proto_msgTypes[17].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_p2p_proto_msgTypes[18].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_p2p_proto_msgTypes[19].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_p2p_proto_msgTypes[20].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_p2p_proto_msgTypes[21].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_p2p_proto_msgTypes[22].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_p2p_proto_msgTypes[23].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_p2p_proto_msgTypes[24].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_p2p_proto_msgTypes[25].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_p2p_proto_msgTypes[26].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_p2p_proto_msgTypes[27].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_p2p_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RequestPruningPointUTXOSetAndBlockMessage); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_p2p_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PruningPointUtxoSetChunkMessage); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_p2p_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OutpointAndUtxoEntryPair); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_p2p_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UtxoEntry); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_p2p_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RequestNextPruningPointUtxoSetChunkMessage); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_p2p_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DonePruningPointUtxoSetChunksMessage); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_p2p_proto_msgTypes[34].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_p2p_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UnexpectedPruningPointMessage); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_p2p_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RequestPruningPointHashMessage); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_p2p_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PruningPointHashMessage); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_p2p_proto_msgTypes[38].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_p2p_proto_msgTypes[39].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_p2p_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*IbdBlockLocatorHighestHashNotFoundMessage); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_p2p_proto_msgTypes[41].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 } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_p2p_proto_rawDesc, NumEnums: 0, NumMessages: 42, NumExtensions: 0, NumServices: 0, }, GoTypes: file_p2p_proto_goTypes, DependencyIndexes: file_p2p_proto_depIdxs, MessageInfos: file_p2p_proto_msgTypes, }.Build() File_p2p_proto = out.File file_p2p_proto_rawDesc = nil file_p2p_proto_goTypes = nil file_p2p_proto_depIdxs = nil }