// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.27.1
// 	protoc        (unknown)
// source: gossip/v1/gossip.proto

package gossipv1

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 GossipMessage struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Types that are assignable to Message:
	//
	//	*GossipMessage_SignedObservation
	//	*GossipMessage_SignedHeartbeat
	//	*GossipMessage_SignedVaaWithQuorum
	//	*GossipMessage_SignedObservationRequest
	//	*GossipMessage_SignedChainGovernorConfig
	//	*GossipMessage_SignedChainGovernorStatus
	//	*GossipMessage_SignedQueryRequest
	//	*GossipMessage_SignedQueryResponse
	Message isGossipMessage_Message `protobuf_oneof:"message"`
}

func (x *GossipMessage) Reset() {
	*x = GossipMessage{}
	if protoimpl.UnsafeEnabled {
		mi := &file_gossip_v1_gossip_proto_msgTypes[0]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GossipMessage) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GossipMessage) ProtoMessage() {}

func (x *GossipMessage) ProtoReflect() protoreflect.Message {
	mi := &file_gossip_v1_gossip_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 GossipMessage.ProtoReflect.Descriptor instead.
func (*GossipMessage) Descriptor() ([]byte, []int) {
	return file_gossip_v1_gossip_proto_rawDescGZIP(), []int{0}
}

func (m *GossipMessage) GetMessage() isGossipMessage_Message {
	if m != nil {
		return m.Message
	}
	return nil
}

func (x *GossipMessage) GetSignedObservation() *SignedObservation {
	if x, ok := x.GetMessage().(*GossipMessage_SignedObservation); ok {
		return x.SignedObservation
	}
	return nil
}

func (x *GossipMessage) GetSignedHeartbeat() *SignedHeartbeat {
	if x, ok := x.GetMessage().(*GossipMessage_SignedHeartbeat); ok {
		return x.SignedHeartbeat
	}
	return nil
}

func (x *GossipMessage) GetSignedVaaWithQuorum() *SignedVAAWithQuorum {
	if x, ok := x.GetMessage().(*GossipMessage_SignedVaaWithQuorum); ok {
		return x.SignedVaaWithQuorum
	}
	return nil
}

func (x *GossipMessage) GetSignedObservationRequest() *SignedObservationRequest {
	if x, ok := x.GetMessage().(*GossipMessage_SignedObservationRequest); ok {
		return x.SignedObservationRequest
	}
	return nil
}

func (x *GossipMessage) GetSignedChainGovernorConfig() *SignedChainGovernorConfig {
	if x, ok := x.GetMessage().(*GossipMessage_SignedChainGovernorConfig); ok {
		return x.SignedChainGovernorConfig
	}
	return nil
}

func (x *GossipMessage) GetSignedChainGovernorStatus() *SignedChainGovernorStatus {
	if x, ok := x.GetMessage().(*GossipMessage_SignedChainGovernorStatus); ok {
		return x.SignedChainGovernorStatus
	}
	return nil
}

func (x *GossipMessage) GetSignedQueryRequest() *SignedQueryRequest {
	if x, ok := x.GetMessage().(*GossipMessage_SignedQueryRequest); ok {
		return x.SignedQueryRequest
	}
	return nil
}

func (x *GossipMessage) GetSignedQueryResponse() *SignedQueryResponse {
	if x, ok := x.GetMessage().(*GossipMessage_SignedQueryResponse); ok {
		return x.SignedQueryResponse
	}
	return nil
}

type isGossipMessage_Message interface {
	isGossipMessage_Message()
}

type GossipMessage_SignedObservation struct {
	SignedObservation *SignedObservation `protobuf:"bytes,2,opt,name=signed_observation,json=signedObservation,proto3,oneof"`
}

type GossipMessage_SignedHeartbeat struct {
	SignedHeartbeat *SignedHeartbeat `protobuf:"bytes,3,opt,name=signed_heartbeat,json=signedHeartbeat,proto3,oneof"`
}

type GossipMessage_SignedVaaWithQuorum struct {
	SignedVaaWithQuorum *SignedVAAWithQuorum `protobuf:"bytes,4,opt,name=signed_vaa_with_quorum,json=signedVaaWithQuorum,proto3,oneof"`
}

type GossipMessage_SignedObservationRequest struct {
	SignedObservationRequest *SignedObservationRequest `protobuf:"bytes,5,opt,name=signed_observation_request,json=signedObservationRequest,proto3,oneof"`
}

type GossipMessage_SignedChainGovernorConfig struct {
	SignedChainGovernorConfig *SignedChainGovernorConfig `protobuf:"bytes,8,opt,name=signed_chain_governor_config,json=signedChainGovernorConfig,proto3,oneof"`
}

type GossipMessage_SignedChainGovernorStatus struct {
	SignedChainGovernorStatus *SignedChainGovernorStatus `protobuf:"bytes,9,opt,name=signed_chain_governor_status,json=signedChainGovernorStatus,proto3,oneof"`
}

type GossipMessage_SignedQueryRequest struct {
	SignedQueryRequest *SignedQueryRequest `protobuf:"bytes,10,opt,name=signed_query_request,json=signedQueryRequest,proto3,oneof"`
}

type GossipMessage_SignedQueryResponse struct {
	SignedQueryResponse *SignedQueryResponse `protobuf:"bytes,11,opt,name=signed_query_response,json=signedQueryResponse,proto3,oneof"`
}

func (*GossipMessage_SignedObservation) isGossipMessage_Message() {}

func (*GossipMessage_SignedHeartbeat) isGossipMessage_Message() {}

func (*GossipMessage_SignedVaaWithQuorum) isGossipMessage_Message() {}

func (*GossipMessage_SignedObservationRequest) isGossipMessage_Message() {}

func (*GossipMessage_SignedChainGovernorConfig) isGossipMessage_Message() {}

func (*GossipMessage_SignedChainGovernorStatus) isGossipMessage_Message() {}

func (*GossipMessage_SignedQueryRequest) isGossipMessage_Message() {}

func (*GossipMessage_SignedQueryResponse) isGossipMessage_Message() {}

type SignedHeartbeat struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Serialized Heartbeat message.
	Heartbeat []byte `protobuf:"bytes,1,opt,name=heartbeat,proto3" json:"heartbeat,omitempty"`
	// ECDSA signature using the node's guardian public key.
	Signature []byte `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"`
	// Guardian address that signed this payload (truncated Eth address).
	// This is already contained in Heartbeat, however, we want to verify
	// the payload before we deserialize it.
	GuardianAddr []byte `protobuf:"bytes,3,opt,name=guardian_addr,json=guardianAddr,proto3" json:"guardian_addr,omitempty"`
}

func (x *SignedHeartbeat) Reset() {
	*x = SignedHeartbeat{}
	if protoimpl.UnsafeEnabled {
		mi := &file_gossip_v1_gossip_proto_msgTypes[1]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *SignedHeartbeat) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SignedHeartbeat) ProtoMessage() {}

func (x *SignedHeartbeat) ProtoReflect() protoreflect.Message {
	mi := &file_gossip_v1_gossip_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 SignedHeartbeat.ProtoReflect.Descriptor instead.
func (*SignedHeartbeat) Descriptor() ([]byte, []int) {
	return file_gossip_v1_gossip_proto_rawDescGZIP(), []int{1}
}

func (x *SignedHeartbeat) GetHeartbeat() []byte {
	if x != nil {
		return x.Heartbeat
	}
	return nil
}

func (x *SignedHeartbeat) GetSignature() []byte {
	if x != nil {
		return x.Signature
	}
	return nil
}

func (x *SignedHeartbeat) GetGuardianAddr() []byte {
	if x != nil {
		return x.GuardianAddr
	}
	return nil
}

// P2P gossip heartbeats for network introspection purposes.
type Heartbeat struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// The node's arbitrarily chosen, untrusted nodeName.
	NodeName string `protobuf:"bytes,1,opt,name=node_name,json=nodeName,proto3" json:"node_name,omitempty"`
	// A monotonic counter that resets to zero on startup.
	Counter int64 `protobuf:"varint,2,opt,name=counter,proto3" json:"counter,omitempty"`
	// UNIX wall time.
	Timestamp int64                `protobuf:"varint,3,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
	Networks  []*Heartbeat_Network `protobuf:"bytes,4,rep,name=networks,proto3" json:"networks,omitempty"`
	// Human-readable representation of the current bridge node release.
	Version string `protobuf:"bytes,5,opt,name=version,proto3" json:"version,omitempty"`
	// Human-readable representation of the guardian key's address.
	GuardianAddr string `protobuf:"bytes,6,opt,name=guardian_addr,json=guardianAddr,proto3" json:"guardian_addr,omitempty"`
	// UNIX boot timestamp.
	BootTimestamp int64 `protobuf:"varint,7,opt,name=boot_timestamp,json=bootTimestamp,proto3" json:"boot_timestamp,omitempty"`
	// List of features enabled on this node.
	Features []string `protobuf:"bytes,8,rep,name=features,proto3" json:"features,omitempty"`
	// (Optional) libp2p address of this node.
	P2PNodeId []byte `protobuf:"bytes,9,opt,name=p2p_node_id,json=p2pNodeId,proto3" json:"p2p_node_id,omitempty"`
}

func (x *Heartbeat) Reset() {
	*x = Heartbeat{}
	if protoimpl.UnsafeEnabled {
		mi := &file_gossip_v1_gossip_proto_msgTypes[2]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Heartbeat) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Heartbeat) ProtoMessage() {}

func (x *Heartbeat) ProtoReflect() protoreflect.Message {
	mi := &file_gossip_v1_gossip_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 Heartbeat.ProtoReflect.Descriptor instead.
func (*Heartbeat) Descriptor() ([]byte, []int) {
	return file_gossip_v1_gossip_proto_rawDescGZIP(), []int{2}
}

func (x *Heartbeat) GetNodeName() string {
	if x != nil {
		return x.NodeName
	}
	return ""
}

func (x *Heartbeat) GetCounter() int64 {
	if x != nil {
		return x.Counter
	}
	return 0
}

func (x *Heartbeat) GetTimestamp() int64 {
	if x != nil {
		return x.Timestamp
	}
	return 0
}

func (x *Heartbeat) GetNetworks() []*Heartbeat_Network {
	if x != nil {
		return x.Networks
	}
	return nil
}

func (x *Heartbeat) GetVersion() string {
	if x != nil {
		return x.Version
	}
	return ""
}

func (x *Heartbeat) GetGuardianAddr() string {
	if x != nil {
		return x.GuardianAddr
	}
	return ""
}

func (x *Heartbeat) GetBootTimestamp() int64 {
	if x != nil {
		return x.BootTimestamp
	}
	return 0
}

func (x *Heartbeat) GetFeatures() []string {
	if x != nil {
		return x.Features
	}
	return nil
}

func (x *Heartbeat) GetP2PNodeId() []byte {
	if x != nil {
		return x.P2PNodeId
	}
	return nil
}

// A SignedObservation is a signed statement by a given guardian node
// that they observed a given event.
//
// Observations always result from an external, final event being observed.
// Examples are emitted messages in finalized blocks on a block or guardian set changes
// injected by node operators after reaching off-chain consensus.
//
// The event is uniquely identified by its hashed (tx_hash, nonce, values...) tuple.
//
// Other nodes will verify the signature. Once any node has observed a quorum of
// guardians submitting valid signatures for a given hash, they can be assembled into a VAA.
//
// Messages without valid signature are dropped unceremoniously.
type SignedObservation struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Guardian pubkey as truncated eth address.
	Addr []byte `protobuf:"bytes,1,opt,name=addr,proto3" json:"addr,omitempty"`
	// The observation's deterministic, unique hash.
	Hash []byte `protobuf:"bytes,2,opt,name=hash,proto3" json:"hash,omitempty"`
	// ECSDA signature of the hash using the node's guardian key.
	Signature []byte `protobuf:"bytes,3,opt,name=signature,proto3" json:"signature,omitempty"`
	// Transaction hash this observation was made from.
	// Optional, included for observability.
	TxHash []byte `protobuf:"bytes,4,opt,name=tx_hash,json=txHash,proto3" json:"tx_hash,omitempty"`
	// Message ID (chain/emitter/seq) for this observation.
	// Optional, included for observability.
	MessageId string `protobuf:"bytes,5,opt,name=message_id,json=messageId,proto3" json:"message_id,omitempty"`
}

func (x *SignedObservation) Reset() {
	*x = SignedObservation{}
	if protoimpl.UnsafeEnabled {
		mi := &file_gossip_v1_gossip_proto_msgTypes[3]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *SignedObservation) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SignedObservation) ProtoMessage() {}

func (x *SignedObservation) ProtoReflect() protoreflect.Message {
	mi := &file_gossip_v1_gossip_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 SignedObservation.ProtoReflect.Descriptor instead.
func (*SignedObservation) Descriptor() ([]byte, []int) {
	return file_gossip_v1_gossip_proto_rawDescGZIP(), []int{3}
}

func (x *SignedObservation) GetAddr() []byte {
	if x != nil {
		return x.Addr
	}
	return nil
}

func (x *SignedObservation) GetHash() []byte {
	if x != nil {
		return x.Hash
	}
	return nil
}

func (x *SignedObservation) GetSignature() []byte {
	if x != nil {
		return x.Signature
	}
	return nil
}

func (x *SignedObservation) GetTxHash() []byte {
	if x != nil {
		return x.TxHash
	}
	return nil
}

func (x *SignedObservation) GetMessageId() string {
	if x != nil {
		return x.MessageId
	}
	return ""
}

// A SignedVAAWithQuorum message is sent by nodes whenever one of the VAAs they observed
// reached a 2/3+ quorum to be considered valid. Signed VAAs are broadcasted to the gossip
// network to allow nodes to persist them even if they failed to observe the signature.
type SignedVAAWithQuorum struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Vaa []byte `protobuf:"bytes,1,opt,name=vaa,proto3" json:"vaa,omitempty"`
}

func (x *SignedVAAWithQuorum) Reset() {
	*x = SignedVAAWithQuorum{}
	if protoimpl.UnsafeEnabled {
		mi := &file_gossip_v1_gossip_proto_msgTypes[4]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *SignedVAAWithQuorum) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SignedVAAWithQuorum) ProtoMessage() {}

func (x *SignedVAAWithQuorum) ProtoReflect() protoreflect.Message {
	mi := &file_gossip_v1_gossip_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 SignedVAAWithQuorum.ProtoReflect.Descriptor instead.
func (*SignedVAAWithQuorum) Descriptor() ([]byte, []int) {
	return file_gossip_v1_gossip_proto_rawDescGZIP(), []int{4}
}

func (x *SignedVAAWithQuorum) GetVaa() []byte {
	if x != nil {
		return x.Vaa
	}
	return nil
}

// Any guardian can send a SignedObservationRequest to the network to request
// all guardians to re-observe a given transaction. This is rate-limited to one
// request per second per guardian to prevent abuse.
//
// In the current implementation, this is only implemented for Solana.
// For Solana, the tx_hash is the account address of the transaction's message account.
type SignedObservationRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Serialized observation request.
	ObservationRequest []byte `protobuf:"bytes,1,opt,name=observation_request,json=observationRequest,proto3" json:"observation_request,omitempty"`
	// Signature
	Signature    []byte `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"`
	GuardianAddr []byte `protobuf:"bytes,3,opt,name=guardian_addr,json=guardianAddr,proto3" json:"guardian_addr,omitempty"`
}

func (x *SignedObservationRequest) Reset() {
	*x = SignedObservationRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_gossip_v1_gossip_proto_msgTypes[5]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *SignedObservationRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SignedObservationRequest) ProtoMessage() {}

func (x *SignedObservationRequest) ProtoReflect() protoreflect.Message {
	mi := &file_gossip_v1_gossip_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 SignedObservationRequest.ProtoReflect.Descriptor instead.
func (*SignedObservationRequest) Descriptor() ([]byte, []int) {
	return file_gossip_v1_gossip_proto_rawDescGZIP(), []int{5}
}

func (x *SignedObservationRequest) GetObservationRequest() []byte {
	if x != nil {
		return x.ObservationRequest
	}
	return nil
}

func (x *SignedObservationRequest) GetSignature() []byte {
	if x != nil {
		return x.Signature
	}
	return nil
}

func (x *SignedObservationRequest) GetGuardianAddr() []byte {
	if x != nil {
		return x.GuardianAddr
	}
	return nil
}

type ObservationRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	ChainId uint32 `protobuf:"varint,1,opt,name=chain_id,json=chainId,proto3" json:"chain_id,omitempty"`
	TxHash  []byte `protobuf:"bytes,2,opt,name=tx_hash,json=txHash,proto3" json:"tx_hash,omitempty"`
}

func (x *ObservationRequest) Reset() {
	*x = ObservationRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_gossip_v1_gossip_proto_msgTypes[6]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ObservationRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ObservationRequest) ProtoMessage() {}

func (x *ObservationRequest) ProtoReflect() protoreflect.Message {
	mi := &file_gossip_v1_gossip_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 ObservationRequest.ProtoReflect.Descriptor instead.
func (*ObservationRequest) Descriptor() ([]byte, []int) {
	return file_gossip_v1_gossip_proto_rawDescGZIP(), []int{6}
}

func (x *ObservationRequest) GetChainId() uint32 {
	if x != nil {
		return x.ChainId
	}
	return 0
}

func (x *ObservationRequest) GetTxHash() []byte {
	if x != nil {
		return x.TxHash
	}
	return nil
}

// This message is published every five minutes.
type SignedChainGovernorConfig struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Serialized ChainGovernorConfig message.
	Config []byte `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"`
	// ECDSA signature using the node's guardian key.
	Signature []byte `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"`
	// Guardian address that signed this payload (truncated Eth address).
	GuardianAddr []byte `protobuf:"bytes,3,opt,name=guardian_addr,json=guardianAddr,proto3" json:"guardian_addr,omitempty"`
}

func (x *SignedChainGovernorConfig) Reset() {
	*x = SignedChainGovernorConfig{}
	if protoimpl.UnsafeEnabled {
		mi := &file_gossip_v1_gossip_proto_msgTypes[7]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *SignedChainGovernorConfig) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SignedChainGovernorConfig) ProtoMessage() {}

func (x *SignedChainGovernorConfig) ProtoReflect() protoreflect.Message {
	mi := &file_gossip_v1_gossip_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 SignedChainGovernorConfig.ProtoReflect.Descriptor instead.
func (*SignedChainGovernorConfig) Descriptor() ([]byte, []int) {
	return file_gossip_v1_gossip_proto_rawDescGZIP(), []int{7}
}

func (x *SignedChainGovernorConfig) GetConfig() []byte {
	if x != nil {
		return x.Config
	}
	return nil
}

func (x *SignedChainGovernorConfig) GetSignature() []byte {
	if x != nil {
		return x.Signature
	}
	return nil
}

func (x *SignedChainGovernorConfig) GetGuardianAddr() []byte {
	if x != nil {
		return x.GuardianAddr
	}
	return nil
}

type ChainGovernorConfig struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NodeName  string                       `protobuf:"bytes,1,opt,name=node_name,json=nodeName,proto3" json:"node_name,omitempty"`
	Counter   int64                        `protobuf:"varint,2,opt,name=counter,proto3" json:"counter,omitempty"`
	Timestamp int64                        `protobuf:"varint,3,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
	Chains    []*ChainGovernorConfig_Chain `protobuf:"bytes,4,rep,name=chains,proto3" json:"chains,omitempty"`
	Tokens    []*ChainGovernorConfig_Token `protobuf:"bytes,5,rep,name=tokens,proto3" json:"tokens,omitempty"`
}

func (x *ChainGovernorConfig) Reset() {
	*x = ChainGovernorConfig{}
	if protoimpl.UnsafeEnabled {
		mi := &file_gossip_v1_gossip_proto_msgTypes[8]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ChainGovernorConfig) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ChainGovernorConfig) ProtoMessage() {}

func (x *ChainGovernorConfig) ProtoReflect() protoreflect.Message {
	mi := &file_gossip_v1_gossip_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 ChainGovernorConfig.ProtoReflect.Descriptor instead.
func (*ChainGovernorConfig) Descriptor() ([]byte, []int) {
	return file_gossip_v1_gossip_proto_rawDescGZIP(), []int{8}
}

func (x *ChainGovernorConfig) GetNodeName() string {
	if x != nil {
		return x.NodeName
	}
	return ""
}

func (x *ChainGovernorConfig) GetCounter() int64 {
	if x != nil {
		return x.Counter
	}
	return 0
}

func (x *ChainGovernorConfig) GetTimestamp() int64 {
	if x != nil {
		return x.Timestamp
	}
	return 0
}

func (x *ChainGovernorConfig) GetChains() []*ChainGovernorConfig_Chain {
	if x != nil {
		return x.Chains
	}
	return nil
}

func (x *ChainGovernorConfig) GetTokens() []*ChainGovernorConfig_Token {
	if x != nil {
		return x.Tokens
	}
	return nil
}

// This message is published every minute.
type SignedChainGovernorStatus struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Serialized ChainGovernorStatus message.
	Status []byte `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"`
	// ECDSA signature using the node's guardian key.
	Signature []byte `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"`
	// Guardian address that signed this payload (truncated Eth address).
	GuardianAddr []byte `protobuf:"bytes,3,opt,name=guardian_addr,json=guardianAddr,proto3" json:"guardian_addr,omitempty"`
}

func (x *SignedChainGovernorStatus) Reset() {
	*x = SignedChainGovernorStatus{}
	if protoimpl.UnsafeEnabled {
		mi := &file_gossip_v1_gossip_proto_msgTypes[9]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *SignedChainGovernorStatus) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SignedChainGovernorStatus) ProtoMessage() {}

func (x *SignedChainGovernorStatus) ProtoReflect() protoreflect.Message {
	mi := &file_gossip_v1_gossip_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 SignedChainGovernorStatus.ProtoReflect.Descriptor instead.
func (*SignedChainGovernorStatus) Descriptor() ([]byte, []int) {
	return file_gossip_v1_gossip_proto_rawDescGZIP(), []int{9}
}

func (x *SignedChainGovernorStatus) GetStatus() []byte {
	if x != nil {
		return x.Status
	}
	return nil
}

func (x *SignedChainGovernorStatus) GetSignature() []byte {
	if x != nil {
		return x.Signature
	}
	return nil
}

func (x *SignedChainGovernorStatus) GetGuardianAddr() []byte {
	if x != nil {
		return x.GuardianAddr
	}
	return nil
}

type ChainGovernorStatus struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NodeName  string                       `protobuf:"bytes,1,opt,name=node_name,json=nodeName,proto3" json:"node_name,omitempty"`
	Counter   int64                        `protobuf:"varint,2,opt,name=counter,proto3" json:"counter,omitempty"`
	Timestamp int64                        `protobuf:"varint,3,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
	Chains    []*ChainGovernorStatus_Chain `protobuf:"bytes,4,rep,name=chains,proto3" json:"chains,omitempty"`
}

func (x *ChainGovernorStatus) Reset() {
	*x = ChainGovernorStatus{}
	if protoimpl.UnsafeEnabled {
		mi := &file_gossip_v1_gossip_proto_msgTypes[10]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ChainGovernorStatus) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ChainGovernorStatus) ProtoMessage() {}

func (x *ChainGovernorStatus) ProtoReflect() protoreflect.Message {
	mi := &file_gossip_v1_gossip_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 ChainGovernorStatus.ProtoReflect.Descriptor instead.
func (*ChainGovernorStatus) Descriptor() ([]byte, []int) {
	return file_gossip_v1_gossip_proto_rawDescGZIP(), []int{10}
}

func (x *ChainGovernorStatus) GetNodeName() string {
	if x != nil {
		return x.NodeName
	}
	return ""
}

func (x *ChainGovernorStatus) GetCounter() int64 {
	if x != nil {
		return x.Counter
	}
	return 0
}

func (x *ChainGovernorStatus) GetTimestamp() int64 {
	if x != nil {
		return x.Timestamp
	}
	return 0
}

func (x *ChainGovernorStatus) GetChains() []*ChainGovernorStatus_Chain {
	if x != nil {
		return x.Chains
	}
	return nil
}

type SignedQueryRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Serialized QueryRequest message.
	QueryRequest []byte `protobuf:"bytes,1,opt,name=query_request,json=queryRequest,proto3" json:"query_request,omitempty"`
	// ECDSA signature using the requestor's public key.
	Signature []byte `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"`
}

func (x *SignedQueryRequest) Reset() {
	*x = SignedQueryRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_gossip_v1_gossip_proto_msgTypes[11]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *SignedQueryRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SignedQueryRequest) ProtoMessage() {}

func (x *SignedQueryRequest) ProtoReflect() protoreflect.Message {
	mi := &file_gossip_v1_gossip_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 SignedQueryRequest.ProtoReflect.Descriptor instead.
func (*SignedQueryRequest) Descriptor() ([]byte, []int) {
	return file_gossip_v1_gossip_proto_rawDescGZIP(), []int{11}
}

func (x *SignedQueryRequest) GetQueryRequest() []byte {
	if x != nil {
		return x.QueryRequest
	}
	return nil
}

func (x *SignedQueryRequest) GetSignature() []byte {
	if x != nil {
		return x.Signature
	}
	return nil
}

type SignedQueryResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Serialized QueryResponse message.
	QueryResponse []byte `protobuf:"bytes,1,opt,name=query_response,json=queryResponse,proto3" json:"query_response,omitempty"`
	// ECDSA signature using the node's guardian public key.
	Signature []byte `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"`
}

func (x *SignedQueryResponse) Reset() {
	*x = SignedQueryResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_gossip_v1_gossip_proto_msgTypes[12]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *SignedQueryResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SignedQueryResponse) ProtoMessage() {}

func (x *SignedQueryResponse) ProtoReflect() protoreflect.Message {
	mi := &file_gossip_v1_gossip_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 SignedQueryResponse.ProtoReflect.Descriptor instead.
func (*SignedQueryResponse) Descriptor() ([]byte, []int) {
	return file_gossip_v1_gossip_proto_rawDescGZIP(), []int{12}
}

func (x *SignedQueryResponse) GetQueryResponse() []byte {
	if x != nil {
		return x.QueryResponse
	}
	return nil
}

func (x *SignedQueryResponse) GetSignature() []byte {
	if x != nil {
		return x.Signature
	}
	return nil
}

type Heartbeat_Network struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Canonical chain ID.
	Id uint32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	// Consensus height of the node.
	Height int64 `protobuf:"varint,2,opt,name=height,proto3" json:"height,omitempty"`
	// Chain-specific human-readable representation of the bridge contract address.
	ContractAddress string `protobuf:"bytes,3,opt,name=contract_address,json=contractAddress,proto3" json:"contract_address,omitempty"`
	// Connection error count
	ErrorCount uint64 `protobuf:"varint,4,opt,name=error_count,json=errorCount,proto3" json:"error_count,omitempty"`
	// Safe block height of the node, if supported.
	SafeHeight int64 `protobuf:"varint,5,opt,name=safe_height,json=safeHeight,proto3" json:"safe_height,omitempty"`
	// Finalized block height of the node, if supported.
	FinalizedHeight int64 `protobuf:"varint,6,opt,name=finalized_height,json=finalizedHeight,proto3" json:"finalized_height,omitempty"`
}

func (x *Heartbeat_Network) Reset() {
	*x = Heartbeat_Network{}
	if protoimpl.UnsafeEnabled {
		mi := &file_gossip_v1_gossip_proto_msgTypes[13]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Heartbeat_Network) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Heartbeat_Network) ProtoMessage() {}

func (x *Heartbeat_Network) ProtoReflect() protoreflect.Message {
	mi := &file_gossip_v1_gossip_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 Heartbeat_Network.ProtoReflect.Descriptor instead.
func (*Heartbeat_Network) Descriptor() ([]byte, []int) {
	return file_gossip_v1_gossip_proto_rawDescGZIP(), []int{2, 0}
}

func (x *Heartbeat_Network) GetId() uint32 {
	if x != nil {
		return x.Id
	}
	return 0
}

func (x *Heartbeat_Network) GetHeight() int64 {
	if x != nil {
		return x.Height
	}
	return 0
}

func (x *Heartbeat_Network) GetContractAddress() string {
	if x != nil {
		return x.ContractAddress
	}
	return ""
}

func (x *Heartbeat_Network) GetErrorCount() uint64 {
	if x != nil {
		return x.ErrorCount
	}
	return 0
}

func (x *Heartbeat_Network) GetSafeHeight() int64 {
	if x != nil {
		return x.SafeHeight
	}
	return 0
}

func (x *Heartbeat_Network) GetFinalizedHeight() int64 {
	if x != nil {
		return x.FinalizedHeight
	}
	return 0
}

type ChainGovernorConfig_Chain struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	ChainId            uint32 `protobuf:"varint,1,opt,name=chain_id,json=chainId,proto3" json:"chain_id,omitempty"`
	NotionalLimit      uint64 `protobuf:"varint,2,opt,name=notional_limit,json=notionalLimit,proto3" json:"notional_limit,omitempty"`
	BigTransactionSize uint64 `protobuf:"varint,3,opt,name=big_transaction_size,json=bigTransactionSize,proto3" json:"big_transaction_size,omitempty"`
}

func (x *ChainGovernorConfig_Chain) Reset() {
	*x = ChainGovernorConfig_Chain{}
	if protoimpl.UnsafeEnabled {
		mi := &file_gossip_v1_gossip_proto_msgTypes[14]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ChainGovernorConfig_Chain) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ChainGovernorConfig_Chain) ProtoMessage() {}

func (x *ChainGovernorConfig_Chain) ProtoReflect() protoreflect.Message {
	mi := &file_gossip_v1_gossip_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 ChainGovernorConfig_Chain.ProtoReflect.Descriptor instead.
func (*ChainGovernorConfig_Chain) Descriptor() ([]byte, []int) {
	return file_gossip_v1_gossip_proto_rawDescGZIP(), []int{8, 0}
}

func (x *ChainGovernorConfig_Chain) GetChainId() uint32 {
	if x != nil {
		return x.ChainId
	}
	return 0
}

func (x *ChainGovernorConfig_Chain) GetNotionalLimit() uint64 {
	if x != nil {
		return x.NotionalLimit
	}
	return 0
}

func (x *ChainGovernorConfig_Chain) GetBigTransactionSize() uint64 {
	if x != nil {
		return x.BigTransactionSize
	}
	return 0
}

type ChainGovernorConfig_Token struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	OriginChainId uint32  `protobuf:"varint,1,opt,name=origin_chain_id,json=originChainId,proto3" json:"origin_chain_id,omitempty"`
	OriginAddress string  `protobuf:"bytes,2,opt,name=origin_address,json=originAddress,proto3" json:"origin_address,omitempty"` // human-readable hex-encoded (leading 0x)
	Price         float32 `protobuf:"fixed32,3,opt,name=price,proto3" json:"price,omitempty"`
}

func (x *ChainGovernorConfig_Token) Reset() {
	*x = ChainGovernorConfig_Token{}
	if protoimpl.UnsafeEnabled {
		mi := &file_gossip_v1_gossip_proto_msgTypes[15]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ChainGovernorConfig_Token) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ChainGovernorConfig_Token) ProtoMessage() {}

func (x *ChainGovernorConfig_Token) ProtoReflect() protoreflect.Message {
	mi := &file_gossip_v1_gossip_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 ChainGovernorConfig_Token.ProtoReflect.Descriptor instead.
func (*ChainGovernorConfig_Token) Descriptor() ([]byte, []int) {
	return file_gossip_v1_gossip_proto_rawDescGZIP(), []int{8, 1}
}

func (x *ChainGovernorConfig_Token) GetOriginChainId() uint32 {
	if x != nil {
		return x.OriginChainId
	}
	return 0
}

func (x *ChainGovernorConfig_Token) GetOriginAddress() string {
	if x != nil {
		return x.OriginAddress
	}
	return ""
}

func (x *ChainGovernorConfig_Token) GetPrice() float32 {
	if x != nil {
		return x.Price
	}
	return 0
}

type ChainGovernorStatus_EnqueuedVAA struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Sequence      uint64 `protobuf:"varint,1,opt,name=sequence,proto3" json:"sequence,omitempty"` // Chain and emitter address are assumed.
	ReleaseTime   uint32 `protobuf:"varint,2,opt,name=release_time,json=releaseTime,proto3" json:"release_time,omitempty"`
	NotionalValue uint64 `protobuf:"varint,3,opt,name=notional_value,json=notionalValue,proto3" json:"notional_value,omitempty"`
	TxHash        string `protobuf:"bytes,4,opt,name=tx_hash,json=txHash,proto3" json:"tx_hash,omitempty"`
}

func (x *ChainGovernorStatus_EnqueuedVAA) Reset() {
	*x = ChainGovernorStatus_EnqueuedVAA{}
	if protoimpl.UnsafeEnabled {
		mi := &file_gossip_v1_gossip_proto_msgTypes[16]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ChainGovernorStatus_EnqueuedVAA) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ChainGovernorStatus_EnqueuedVAA) ProtoMessage() {}

func (x *ChainGovernorStatus_EnqueuedVAA) ProtoReflect() protoreflect.Message {
	mi := &file_gossip_v1_gossip_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 ChainGovernorStatus_EnqueuedVAA.ProtoReflect.Descriptor instead.
func (*ChainGovernorStatus_EnqueuedVAA) Descriptor() ([]byte, []int) {
	return file_gossip_v1_gossip_proto_rawDescGZIP(), []int{10, 0}
}

func (x *ChainGovernorStatus_EnqueuedVAA) GetSequence() uint64 {
	if x != nil {
		return x.Sequence
	}
	return 0
}

func (x *ChainGovernorStatus_EnqueuedVAA) GetReleaseTime() uint32 {
	if x != nil {
		return x.ReleaseTime
	}
	return 0
}

func (x *ChainGovernorStatus_EnqueuedVAA) GetNotionalValue() uint64 {
	if x != nil {
		return x.NotionalValue
	}
	return 0
}

func (x *ChainGovernorStatus_EnqueuedVAA) GetTxHash() string {
	if x != nil {
		return x.TxHash
	}
	return ""
}

type ChainGovernorStatus_Emitter struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	EmitterAddress    string                             `protobuf:"bytes,1,opt,name=emitter_address,json=emitterAddress,proto3" json:"emitter_address,omitempty"` // human-readable hex-encoded (leading 0x)
	TotalEnqueuedVaas uint64                             `protobuf:"varint,2,opt,name=total_enqueued_vaas,json=totalEnqueuedVaas,proto3" json:"total_enqueued_vaas,omitempty"`
	EnqueuedVaas      []*ChainGovernorStatus_EnqueuedVAA `protobuf:"bytes,3,rep,name=enqueued_vaas,json=enqueuedVaas,proto3" json:"enqueued_vaas,omitempty"` // Only the first 20 will be included.
}

func (x *ChainGovernorStatus_Emitter) Reset() {
	*x = ChainGovernorStatus_Emitter{}
	if protoimpl.UnsafeEnabled {
		mi := &file_gossip_v1_gossip_proto_msgTypes[17]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ChainGovernorStatus_Emitter) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ChainGovernorStatus_Emitter) ProtoMessage() {}

func (x *ChainGovernorStatus_Emitter) ProtoReflect() protoreflect.Message {
	mi := &file_gossip_v1_gossip_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 ChainGovernorStatus_Emitter.ProtoReflect.Descriptor instead.
func (*ChainGovernorStatus_Emitter) Descriptor() ([]byte, []int) {
	return file_gossip_v1_gossip_proto_rawDescGZIP(), []int{10, 1}
}

func (x *ChainGovernorStatus_Emitter) GetEmitterAddress() string {
	if x != nil {
		return x.EmitterAddress
	}
	return ""
}

func (x *ChainGovernorStatus_Emitter) GetTotalEnqueuedVaas() uint64 {
	if x != nil {
		return x.TotalEnqueuedVaas
	}
	return 0
}

func (x *ChainGovernorStatus_Emitter) GetEnqueuedVaas() []*ChainGovernorStatus_EnqueuedVAA {
	if x != nil {
		return x.EnqueuedVaas
	}
	return nil
}

type ChainGovernorStatus_Chain struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	ChainId                    uint32                         `protobuf:"varint,1,opt,name=chain_id,json=chainId,proto3" json:"chain_id,omitempty"`
	RemainingAvailableNotional uint64                         `protobuf:"varint,2,opt,name=remaining_available_notional,json=remainingAvailableNotional,proto3" json:"remaining_available_notional,omitempty"`
	Emitters                   []*ChainGovernorStatus_Emitter `protobuf:"bytes,3,rep,name=emitters,proto3" json:"emitters,omitempty"`
}

func (x *ChainGovernorStatus_Chain) Reset() {
	*x = ChainGovernorStatus_Chain{}
	if protoimpl.UnsafeEnabled {
		mi := &file_gossip_v1_gossip_proto_msgTypes[18]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ChainGovernorStatus_Chain) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ChainGovernorStatus_Chain) ProtoMessage() {}

func (x *ChainGovernorStatus_Chain) ProtoReflect() protoreflect.Message {
	mi := &file_gossip_v1_gossip_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 ChainGovernorStatus_Chain.ProtoReflect.Descriptor instead.
func (*ChainGovernorStatus_Chain) Descriptor() ([]byte, []int) {
	return file_gossip_v1_gossip_proto_rawDescGZIP(), []int{10, 2}
}

func (x *ChainGovernorStatus_Chain) GetChainId() uint32 {
	if x != nil {
		return x.ChainId
	}
	return 0
}

func (x *ChainGovernorStatus_Chain) GetRemainingAvailableNotional() uint64 {
	if x != nil {
		return x.RemainingAvailableNotional
	}
	return 0
}

func (x *ChainGovernorStatus_Chain) GetEmitters() []*ChainGovernorStatus_Emitter {
	if x != nil {
		return x.Emitters
	}
	return nil
}

var File_gossip_v1_gossip_proto protoreflect.FileDescriptor

var file_gossip_v1_gossip_proto_rawDesc = []byte{
	0x0a, 0x16, 0x67, 0x6f, 0x73, 0x73, 0x69, 0x70, 0x2f, 0x76, 0x31, 0x2f, 0x67, 0x6f, 0x73, 0x73,
	0x69, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x09, 0x67, 0x6f, 0x73, 0x73, 0x69, 0x70,
	0x2e, 0x76, 0x31, 0x22, 0xe9, 0x05, 0x0a, 0x0d, 0x47, 0x6f, 0x73, 0x73, 0x69, 0x70, 0x4d, 0x65,
	0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x4d, 0x0a, 0x12, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f,
	0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x73, 0x73, 0x69, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x69,
	0x67, 0x6e, 0x65, 0x64, 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48,
	0x00, 0x52, 0x11, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61,
	0x74, 0x69, 0x6f, 0x6e, 0x12, 0x47, 0x0a, 0x10, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x68,
	0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a,
	0x2e, 0x67, 0x6f, 0x73, 0x73, 0x69, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x65,
	0x64, 0x48, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x48, 0x00, 0x52, 0x0f, 0x73, 0x69,
	0x67, 0x6e, 0x65, 0x64, 0x48, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x12, 0x55, 0x0a,
	0x16, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x76, 0x61, 0x61, 0x5f, 0x77, 0x69, 0x74, 0x68,
	0x5f, 0x71, 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e,
	0x67, 0x6f, 0x73, 0x73, 0x69, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64,
	0x56, 0x41, 0x41, 0x57, 0x69, 0x74, 0x68, 0x51, 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x48, 0x00, 0x52,
	0x13, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x56, 0x61, 0x61, 0x57, 0x69, 0x74, 0x68, 0x51, 0x75,
	0x6f, 0x72, 0x75, 0x6d, 0x12, 0x63, 0x0a, 0x1a, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x6f,
	0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65,
	0x73, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x73, 0x73, 0x69,
	0x70, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x4f, 0x62, 0x73, 0x65, 0x72,
	0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52,
	0x18, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69,
	0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x67, 0x0a, 0x1c, 0x73, 0x69, 0x67,
	0x6e, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x67, 0x6f, 0x76, 0x65, 0x72, 0x6e,
	0x6f, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x24, 0x2e, 0x67, 0x6f, 0x73, 0x73, 0x69, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x69, 0x67, 0x6e,
	0x65, 0x64, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x47, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6f, 0x72, 0x43,
	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x19, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x43,
	0x68, 0x61, 0x69, 0x6e, 0x47, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6f, 0x72, 0x43, 0x6f, 0x6e, 0x66,
	0x69, 0x67, 0x12, 0x67, 0x0a, 0x1c, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61,
	0x69, 0x6e, 0x5f, 0x67, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6f, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74,
	0x75, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x73, 0x73, 0x69,
	0x70, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x43, 0x68, 0x61, 0x69, 0x6e,
	0x47, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x00,
	0x52, 0x19, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x47, 0x6f, 0x76,
	0x65, 0x72, 0x6e, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x51, 0x0a, 0x14, 0x73,
	0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x72, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x6f, 0x73, 0x73,
	0x69, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x51, 0x75, 0x65, 0x72,
	0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x12, 0x73, 0x69, 0x67, 0x6e,
	0x65, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x54,
	0x0a, 0x15, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x72,
	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e,
	0x67, 0x6f, 0x73, 0x73, 0x69, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64,
	0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52,
	0x13, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70,
	0x6f, 0x6e, 0x73, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22,
	0x72, 0x0a, 0x0f, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x48, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65,
	0x61, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x68, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x68, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74,
	0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x0c, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x23,
	0x0a, 0x0d, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18,
	0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x41,
	0x64, 0x64, 0x72, 0x22, 0x88, 0x04, 0x0a, 0x09, 0x48, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61,
	0x74, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x6f, 0x64, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18,
	0x0a, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52,
	0x07, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 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, 0x38, 0x0a, 0x08, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72,
	0x6b, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x73, 0x73, 0x69,
	0x70, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x2e, 0x4e,
	0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x08, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73,
	0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x67, 0x75,
	0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x0c, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x41, 0x64, 0x64, 0x72, 0x12,
	0x25, 0x0a, 0x0e, 0x62, 0x6f, 0x6f, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d,
	0x70, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x62, 0x6f, 0x6f, 0x74, 0x54, 0x69, 0x6d,
	0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72,
	0x65, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72,
	0x65, 0x73, 0x12, 0x1e, 0x0a, 0x0b, 0x70, 0x32, 0x70, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x69,
	0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x70, 0x32, 0x70, 0x4e, 0x6f, 0x64, 0x65,
	0x49, 0x64, 0x1a, 0xc9, 0x01, 0x0a, 0x07, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x0e,
	0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x12, 0x16,
	0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06,
	0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61,
	0x63, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73,
	0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74,
	0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x75,
	0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x61, 0x66, 0x65, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68,
	0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x73, 0x61, 0x66, 0x65, 0x48, 0x65, 0x69,
	0x67, 0x68, 0x74, 0x12, 0x29, 0x0a, 0x10, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64,
	0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x66,
	0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x22, 0x91,
	0x01, 0x0a, 0x11, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61,
	0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x64, 0x64, 0x72, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x0c, 0x52, 0x04, 0x61, 0x64, 0x64, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x61, 0x73, 0x68,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x68, 0x61, 0x73, 0x68, 0x12, 0x1c, 0x0a, 0x09,
	0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52,
	0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x78,
	0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x74, 0x78, 0x48,
	0x61, 0x73, 0x68, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x69,
	0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
	0x49, 0x64, 0x22, 0x27, 0x0a, 0x13, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x56, 0x41, 0x41, 0x57,
	0x69, 0x74, 0x68, 0x51, 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x12, 0x10, 0x0a, 0x03, 0x76, 0x61, 0x61,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x03, 0x76, 0x61, 0x61, 0x22, 0x8e, 0x01, 0x0a, 0x18,
	0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f,
	0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2f, 0x0a, 0x13, 0x6f, 0x62, 0x73, 0x65,
	0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x12, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69,
	0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67,
	0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x73, 0x69,
	0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x67, 0x75, 0x61, 0x72, 0x64,
	0x69, 0x61, 0x6e, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c,
	0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x41, 0x64, 0x64, 0x72, 0x22, 0x48, 0x0a, 0x12,
	0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65,
	0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x17, 0x0a,
	0x07, 0x74, 0x78, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06,
	0x74, 0x78, 0x48, 0x61, 0x73, 0x68, 0x22, 0x76, 0x0a, 0x19, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64,
	0x43, 0x68, 0x61, 0x69, 0x6e, 0x47, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6f, 0x72, 0x43, 0x6f, 0x6e,
	0x66, 0x69, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x0c, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1c, 0x0a, 0x09, 0x73,
	0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09,
	0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x67, 0x75, 0x61,
	0x72, 0x64, 0x69, 0x61, 0x6e, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c,
	0x52, 0x0c, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x41, 0x64, 0x64, 0x72, 0x22, 0xd1,
	0x03, 0x0a, 0x13, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x47, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6f, 0x72,
	0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x6e,
	0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x6f, 0x64, 0x65, 0x4e,
	0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 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, 0x3c, 0x0a, 0x06, 0x63,
	0x68, 0x61, 0x69, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f,
	0x73, 0x73, 0x69, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x47, 0x6f, 0x76,
	0x65, 0x72, 0x6e, 0x6f, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x43, 0x68, 0x61, 0x69,
	0x6e, 0x52, 0x06, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x73, 0x12, 0x3c, 0x0a, 0x06, 0x74, 0x6f, 0x6b,
	0x65, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x73, 0x73,
	0x69, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x47, 0x6f, 0x76, 0x65, 0x72,
	0x6e, 0x6f, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52,
	0x06, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x1a, 0x7b, 0x0a, 0x05, 0x43, 0x68, 0x61, 0x69, 0x6e,
	0x12, 0x19, 0x0a, 0x08, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x0d, 0x52, 0x07, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x6e,
	0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x04, 0x52, 0x0d, 0x6e, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x6d,
	0x69, 0x74, 0x12, 0x30, 0x0a, 0x14, 0x62, 0x69, 0x67, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61,
	0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04,
	0x52, 0x12, 0x62, 0x69, 0x67, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e,
	0x53, 0x69, 0x7a, 0x65, 0x1a, 0x6c, 0x0a, 0x05, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x26, 0x0a,
	0x0f, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x43, 0x68,
	0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5f,
	0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6f,
	0x72, 0x69, 0x67, 0x69, 0x6e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x14, 0x0a, 0x05,
	0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x70, 0x72, 0x69,
	0x63, 0x65, 0x22, 0x76, 0x0a, 0x19, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x43, 0x68, 0x61, 0x69,
	0x6e, 0x47, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12,
	0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52,
	0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61,
	0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e,
	0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61,
	0x6e, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x67, 0x75,
	0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x41, 0x64, 0x64, 0x72, 0x22, 0x98, 0x05, 0x0a, 0x13, 0x43,
	0x68, 0x61, 0x69, 0x6e, 0x47, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74,
	0x75, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x6f, 0x64, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12,
	0x18, 0x0a, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03,
	0x52, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 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, 0x3c, 0x0a, 0x06, 0x63, 0x68, 0x61, 0x69, 0x6e,
	0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x73, 0x73, 0x69, 0x70,
	0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x47, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6f,
	0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x06, 0x63,
	0x68, 0x61, 0x69, 0x6e, 0x73, 0x1a, 0x8c, 0x01, 0x0a, 0x0b, 0x45, 0x6e, 0x71, 0x75, 0x65, 0x75,
	0x65, 0x64, 0x56, 0x41, 0x41, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63,
	0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63,
	0x65, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x5f, 0x74, 0x69, 0x6d,
	0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65,
	0x54, 0x69, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x6e, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c,
	0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x6e, 0x6f,
	0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x74,
	0x78, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x78,
	0x48, 0x61, 0x73, 0x68, 0x1a, 0xb3, 0x01, 0x0a, 0x07, 0x45, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x72,
	0x12, 0x27, 0x0a, 0x0f, 0x65, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72,
	0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x65, 0x6d, 0x69, 0x74, 0x74,
	0x65, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x2e, 0x0a, 0x13, 0x74, 0x6f, 0x74,
	0x61, 0x6c, 0x5f, 0x65, 0x6e, 0x71, 0x75, 0x65, 0x75, 0x65, 0x64, 0x5f, 0x76, 0x61, 0x61, 0x73,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x11, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x45, 0x6e, 0x71,
	0x75, 0x65, 0x75, 0x65, 0x64, 0x56, 0x61, 0x61, 0x73, 0x12, 0x4f, 0x0a, 0x0d, 0x65, 0x6e, 0x71,
	0x75, 0x65, 0x75, 0x65, 0x64, 0x5f, 0x76, 0x61, 0x61, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b,
	0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x73, 0x73, 0x69, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x61,
	0x69, 0x6e, 0x47, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73,
	0x2e, 0x45, 0x6e, 0x71, 0x75, 0x65, 0x75, 0x65, 0x64, 0x56, 0x41, 0x41, 0x52, 0x0c, 0x65, 0x6e,
	0x71, 0x75, 0x65, 0x75, 0x65, 0x64, 0x56, 0x61, 0x61, 0x73, 0x1a, 0xa8, 0x01, 0x0a, 0x05, 0x43,
	0x68, 0x61, 0x69, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12,
	0x40, 0x0a, 0x1c, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x76, 0x61,
	0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x18,
	0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x1a, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67,
	0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x61,
	0x6c, 0x12, 0x42, 0x0a, 0x08, 0x65, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20,
	0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x73, 0x73, 0x69, 0x70, 0x2e, 0x76, 0x31, 0x2e,
	0x43, 0x68, 0x61, 0x69, 0x6e, 0x47, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6f, 0x72, 0x53, 0x74, 0x61,
	0x74, 0x75, 0x73, 0x2e, 0x45, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x72, 0x52, 0x08, 0x65, 0x6d, 0x69,
	0x74, 0x74, 0x65, 0x72, 0x73, 0x22, 0x57, 0x0a, 0x12, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x51,
	0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x71,
	0x75, 0x65, 0x72, 0x79, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x0c, 0x52, 0x0c, 0x71, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
	0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x0c, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0x5a,
	0x0a, 0x13, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73,
	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x72,
	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x71,
	0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x09,
	0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52,
	0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x42, 0x41, 0x5a, 0x3f, 0x67, 0x69,
	0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x65, 0x72, 0x74, 0x75, 0x73, 0x6f,
	0x6e, 0x65, 0x2f, 0x77, 0x6f, 0x72, 0x6d, 0x68, 0x6f, 0x6c, 0x65, 0x2f, 0x6e, 0x6f, 0x64, 0x65,
	0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x73, 0x73, 0x69,
	0x70, 0x2f, 0x76, 0x31, 0x3b, 0x67, 0x6f, 0x73, 0x73, 0x69, 0x70, 0x76, 0x31, 0x62, 0x06, 0x70,
	0x72, 0x6f, 0x74, 0x6f, 0x33,
}

var (
	file_gossip_v1_gossip_proto_rawDescOnce sync.Once
	file_gossip_v1_gossip_proto_rawDescData = file_gossip_v1_gossip_proto_rawDesc
)

func file_gossip_v1_gossip_proto_rawDescGZIP() []byte {
	file_gossip_v1_gossip_proto_rawDescOnce.Do(func() {
		file_gossip_v1_gossip_proto_rawDescData = protoimpl.X.CompressGZIP(file_gossip_v1_gossip_proto_rawDescData)
	})
	return file_gossip_v1_gossip_proto_rawDescData
}

var file_gossip_v1_gossip_proto_msgTypes = make([]protoimpl.MessageInfo, 19)
var file_gossip_v1_gossip_proto_goTypes = []interface{}{
	(*GossipMessage)(nil),                   // 0: gossip.v1.GossipMessage
	(*SignedHeartbeat)(nil),                 // 1: gossip.v1.SignedHeartbeat
	(*Heartbeat)(nil),                       // 2: gossip.v1.Heartbeat
	(*SignedObservation)(nil),               // 3: gossip.v1.SignedObservation
	(*SignedVAAWithQuorum)(nil),             // 4: gossip.v1.SignedVAAWithQuorum
	(*SignedObservationRequest)(nil),        // 5: gossip.v1.SignedObservationRequest
	(*ObservationRequest)(nil),              // 6: gossip.v1.ObservationRequest
	(*SignedChainGovernorConfig)(nil),       // 7: gossip.v1.SignedChainGovernorConfig
	(*ChainGovernorConfig)(nil),             // 8: gossip.v1.ChainGovernorConfig
	(*SignedChainGovernorStatus)(nil),       // 9: gossip.v1.SignedChainGovernorStatus
	(*ChainGovernorStatus)(nil),             // 10: gossip.v1.ChainGovernorStatus
	(*SignedQueryRequest)(nil),              // 11: gossip.v1.SignedQueryRequest
	(*SignedQueryResponse)(nil),             // 12: gossip.v1.SignedQueryResponse
	(*Heartbeat_Network)(nil),               // 13: gossip.v1.Heartbeat.Network
	(*ChainGovernorConfig_Chain)(nil),       // 14: gossip.v1.ChainGovernorConfig.Chain
	(*ChainGovernorConfig_Token)(nil),       // 15: gossip.v1.ChainGovernorConfig.Token
	(*ChainGovernorStatus_EnqueuedVAA)(nil), // 16: gossip.v1.ChainGovernorStatus.EnqueuedVAA
	(*ChainGovernorStatus_Emitter)(nil),     // 17: gossip.v1.ChainGovernorStatus.Emitter
	(*ChainGovernorStatus_Chain)(nil),       // 18: gossip.v1.ChainGovernorStatus.Chain
}
var file_gossip_v1_gossip_proto_depIdxs = []int32{
	3,  // 0: gossip.v1.GossipMessage.signed_observation:type_name -> gossip.v1.SignedObservation
	1,  // 1: gossip.v1.GossipMessage.signed_heartbeat:type_name -> gossip.v1.SignedHeartbeat
	4,  // 2: gossip.v1.GossipMessage.signed_vaa_with_quorum:type_name -> gossip.v1.SignedVAAWithQuorum
	5,  // 3: gossip.v1.GossipMessage.signed_observation_request:type_name -> gossip.v1.SignedObservationRequest
	7,  // 4: gossip.v1.GossipMessage.signed_chain_governor_config:type_name -> gossip.v1.SignedChainGovernorConfig
	9,  // 5: gossip.v1.GossipMessage.signed_chain_governor_status:type_name -> gossip.v1.SignedChainGovernorStatus
	11, // 6: gossip.v1.GossipMessage.signed_query_request:type_name -> gossip.v1.SignedQueryRequest
	12, // 7: gossip.v1.GossipMessage.signed_query_response:type_name -> gossip.v1.SignedQueryResponse
	13, // 8: gossip.v1.Heartbeat.networks:type_name -> gossip.v1.Heartbeat.Network
	14, // 9: gossip.v1.ChainGovernorConfig.chains:type_name -> gossip.v1.ChainGovernorConfig.Chain
	15, // 10: gossip.v1.ChainGovernorConfig.tokens:type_name -> gossip.v1.ChainGovernorConfig.Token
	18, // 11: gossip.v1.ChainGovernorStatus.chains:type_name -> gossip.v1.ChainGovernorStatus.Chain
	16, // 12: gossip.v1.ChainGovernorStatus.Emitter.enqueued_vaas:type_name -> gossip.v1.ChainGovernorStatus.EnqueuedVAA
	17, // 13: gossip.v1.ChainGovernorStatus.Chain.emitters:type_name -> gossip.v1.ChainGovernorStatus.Emitter
	14, // [14:14] is the sub-list for method output_type
	14, // [14:14] is the sub-list for method input_type
	14, // [14:14] is the sub-list for extension type_name
	14, // [14:14] is the sub-list for extension extendee
	0,  // [0:14] is the sub-list for field type_name
}

func init() { file_gossip_v1_gossip_proto_init() }
func file_gossip_v1_gossip_proto_init() {
	if File_gossip_v1_gossip_proto != nil {
		return
	}
	if !protoimpl.UnsafeEnabled {
		file_gossip_v1_gossip_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GossipMessage); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_gossip_v1_gossip_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*SignedHeartbeat); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_gossip_v1_gossip_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Heartbeat); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_gossip_v1_gossip_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*SignedObservation); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_gossip_v1_gossip_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*SignedVAAWithQuorum); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_gossip_v1_gossip_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*SignedObservationRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_gossip_v1_gossip_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ObservationRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_gossip_v1_gossip_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*SignedChainGovernorConfig); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_gossip_v1_gossip_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ChainGovernorConfig); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_gossip_v1_gossip_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*SignedChainGovernorStatus); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_gossip_v1_gossip_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ChainGovernorStatus); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_gossip_v1_gossip_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*SignedQueryRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_gossip_v1_gossip_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*SignedQueryResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_gossip_v1_gossip_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Heartbeat_Network); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_gossip_v1_gossip_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ChainGovernorConfig_Chain); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_gossip_v1_gossip_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ChainGovernorConfig_Token); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_gossip_v1_gossip_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ChainGovernorStatus_EnqueuedVAA); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_gossip_v1_gossip_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ChainGovernorStatus_Emitter); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_gossip_v1_gossip_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ChainGovernorStatus_Chain); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
	}
	file_gossip_v1_gossip_proto_msgTypes[0].OneofWrappers = []interface{}{
		(*GossipMessage_SignedObservation)(nil),
		(*GossipMessage_SignedHeartbeat)(nil),
		(*GossipMessage_SignedVaaWithQuorum)(nil),
		(*GossipMessage_SignedObservationRequest)(nil),
		(*GossipMessage_SignedChainGovernorConfig)(nil),
		(*GossipMessage_SignedChainGovernorStatus)(nil),
		(*GossipMessage_SignedQueryRequest)(nil),
		(*GossipMessage_SignedQueryResponse)(nil),
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: file_gossip_v1_gossip_proto_rawDesc,
			NumEnums:      0,
			NumMessages:   19,
			NumExtensions: 0,
			NumServices:   0,
		},
		GoTypes:           file_gossip_v1_gossip_proto_goTypes,
		DependencyIndexes: file_gossip_v1_gossip_proto_depIdxs,
		MessageInfos:      file_gossip_v1_gossip_proto_msgTypes,
	}.Build()
	File_gossip_v1_gossip_proto = out.File
	file_gossip_v1_gossip_proto_rawDesc = nil
	file_gossip_v1_gossip_proto_goTypes = nil
	file_gossip_v1_gossip_proto_depIdxs = nil
}
