2271 lines
82 KiB
Go
2271 lines
82 KiB
Go
// 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_SignedBatchObservation
|
|
// *GossipMessage_SignedBatchVaaWithQuorum
|
|
// *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) GetSignedBatchObservation() *SignedBatchObservation {
|
|
if x, ok := x.GetMessage().(*GossipMessage_SignedBatchObservation); ok {
|
|
return x.SignedBatchObservation
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *GossipMessage) GetSignedBatchVaaWithQuorum() *SignedBatchVAAWithQuorum {
|
|
if x, ok := x.GetMessage().(*GossipMessage_SignedBatchVaaWithQuorum); ok {
|
|
return x.SignedBatchVaaWithQuorum
|
|
}
|
|
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_SignedBatchObservation struct {
|
|
SignedBatchObservation *SignedBatchObservation `protobuf:"bytes,6,opt,name=signed_batch_observation,json=signedBatchObservation,proto3,oneof"`
|
|
}
|
|
|
|
type GossipMessage_SignedBatchVaaWithQuorum struct {
|
|
SignedBatchVaaWithQuorum *SignedBatchVAAWithQuorum `protobuf:"bytes,7,opt,name=signed_batch_vaa_with_quorum,json=signedBatchVaaWithQuorum,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_SignedBatchObservation) isGossipMessage_Message() {}
|
|
|
|
func (*GossipMessage_SignedBatchVaaWithQuorum) 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
|
|
}
|
|
|
|
// A SignedBatchObservation is a signed statement by a given guardian node
|
|
// that they observed a series of messages originating from a transaction.
|
|
//
|
|
// BatcheObervations are emitted when all the Observations from a tx reach quorum.
|
|
//
|
|
// The event is uniquely identified by its hash (made from hashing all the
|
|
// individual Observation hashes).
|
|
//
|
|
// Messages without valid signature are dropped unceremoniously.
|
|
type SignedBatchObservation 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 batch'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"`
|
|
// Unique identifier of the transaction that produced the observation.
|
|
TxId []byte `protobuf:"bytes,4,opt,name=tx_id,json=txId,proto3" json:"tx_id,omitempty"`
|
|
// Chain ID for this observation.
|
|
ChainId uint32 `protobuf:"varint,5,opt,name=chain_id,json=chainId,proto3" json:"chain_id,omitempty"`
|
|
// Nonce of the messages in the batch.
|
|
Nonce uint32 `protobuf:"varint,6,opt,name=nonce,proto3" json:"nonce,omitempty"`
|
|
// Batch ID - emitterChain/transactionID/nonce
|
|
BatchId string `protobuf:"bytes,7,opt,name=batch_id,json=batchId,proto3" json:"batch_id,omitempty"`
|
|
}
|
|
|
|
func (x *SignedBatchObservation) Reset() {
|
|
*x = SignedBatchObservation{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_gossip_v1_gossip_proto_msgTypes[7]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *SignedBatchObservation) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*SignedBatchObservation) ProtoMessage() {}
|
|
|
|
func (x *SignedBatchObservation) 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 SignedBatchObservation.ProtoReflect.Descriptor instead.
|
|
func (*SignedBatchObservation) Descriptor() ([]byte, []int) {
|
|
return file_gossip_v1_gossip_proto_rawDescGZIP(), []int{7}
|
|
}
|
|
|
|
func (x *SignedBatchObservation) GetAddr() []byte {
|
|
if x != nil {
|
|
return x.Addr
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *SignedBatchObservation) GetHash() []byte {
|
|
if x != nil {
|
|
return x.Hash
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *SignedBatchObservation) GetSignature() []byte {
|
|
if x != nil {
|
|
return x.Signature
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *SignedBatchObservation) GetTxId() []byte {
|
|
if x != nil {
|
|
return x.TxId
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *SignedBatchObservation) GetChainId() uint32 {
|
|
if x != nil {
|
|
return x.ChainId
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *SignedBatchObservation) GetNonce() uint32 {
|
|
if x != nil {
|
|
return x.Nonce
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *SignedBatchObservation) GetBatchId() string {
|
|
if x != nil {
|
|
return x.BatchId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
type SignedBatchVAAWithQuorum struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// batch_vaa bytes are the binary encoding of the BatchVAA
|
|
BatchVaa []byte `protobuf:"bytes,1,opt,name=batch_vaa,json=batchVaa,proto3" json:"batch_vaa,omitempty"`
|
|
// Emitter Chain ID of the messages
|
|
ChainId uint32 `protobuf:"varint,2,opt,name=chain_id,json=chainId,proto3" json:"chain_id,omitempty"`
|
|
// Transaction identifier of the observation
|
|
TxId []byte `protobuf:"bytes,3,opt,name=tx_id,json=txId,proto3" json:"tx_id,omitempty"`
|
|
// Nonce of the messages in the batch
|
|
Nonce uint32 `protobuf:"varint,4,opt,name=nonce,proto3" json:"nonce,omitempty"`
|
|
// Batch ID - emitterChain/transactionID/nonce string, for convenience
|
|
BatchId string `protobuf:"bytes,5,opt,name=batch_id,json=batchId,proto3" json:"batch_id,omitempty"`
|
|
}
|
|
|
|
func (x *SignedBatchVAAWithQuorum) Reset() {
|
|
*x = SignedBatchVAAWithQuorum{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_gossip_v1_gossip_proto_msgTypes[8]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *SignedBatchVAAWithQuorum) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*SignedBatchVAAWithQuorum) ProtoMessage() {}
|
|
|
|
func (x *SignedBatchVAAWithQuorum) 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 SignedBatchVAAWithQuorum.ProtoReflect.Descriptor instead.
|
|
func (*SignedBatchVAAWithQuorum) Descriptor() ([]byte, []int) {
|
|
return file_gossip_v1_gossip_proto_rawDescGZIP(), []int{8}
|
|
}
|
|
|
|
func (x *SignedBatchVAAWithQuorum) GetBatchVaa() []byte {
|
|
if x != nil {
|
|
return x.BatchVaa
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *SignedBatchVAAWithQuorum) GetChainId() uint32 {
|
|
if x != nil {
|
|
return x.ChainId
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *SignedBatchVAAWithQuorum) GetTxId() []byte {
|
|
if x != nil {
|
|
return x.TxId
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *SignedBatchVAAWithQuorum) GetNonce() uint32 {
|
|
if x != nil {
|
|
return x.Nonce
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *SignedBatchVAAWithQuorum) GetBatchId() string {
|
|
if x != nil {
|
|
return x.BatchId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
// 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[9]
|
|
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[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 SignedChainGovernorConfig.ProtoReflect.Descriptor instead.
|
|
func (*SignedChainGovernorConfig) Descriptor() ([]byte, []int) {
|
|
return file_gossip_v1_gossip_proto_rawDescGZIP(), []int{9}
|
|
}
|
|
|
|
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[10]
|
|
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[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 ChainGovernorConfig.ProtoReflect.Descriptor instead.
|
|
func (*ChainGovernorConfig) Descriptor() ([]byte, []int) {
|
|
return file_gossip_v1_gossip_proto_rawDescGZIP(), []int{10}
|
|
}
|
|
|
|
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[11]
|
|
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[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 SignedChainGovernorStatus.ProtoReflect.Descriptor instead.
|
|
func (*SignedChainGovernorStatus) Descriptor() ([]byte, []int) {
|
|
return file_gossip_v1_gossip_proto_rawDescGZIP(), []int{11}
|
|
}
|
|
|
|
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[12]
|
|
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[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 ChainGovernorStatus.ProtoReflect.Descriptor instead.
|
|
func (*ChainGovernorStatus) Descriptor() ([]byte, []int) {
|
|
return file_gossip_v1_gossip_proto_rawDescGZIP(), []int{12}
|
|
}
|
|
|
|
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[13]
|
|
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[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 SignedQueryRequest.ProtoReflect.Descriptor instead.
|
|
func (*SignedQueryRequest) Descriptor() ([]byte, []int) {
|
|
return file_gossip_v1_gossip_proto_rawDescGZIP(), []int{13}
|
|
}
|
|
|
|
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[14]
|
|
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[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 SignedQueryResponse.ProtoReflect.Descriptor instead.
|
|
func (*SignedQueryResponse) Descriptor() ([]byte, []int) {
|
|
return file_gossip_v1_gossip_proto_rawDescGZIP(), []int{14}
|
|
}
|
|
|
|
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"`
|
|
}
|
|
|
|
func (x *Heartbeat_Network) Reset() {
|
|
*x = Heartbeat_Network{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_gossip_v1_gossip_proto_msgTypes[15]
|
|
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[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 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
|
|
}
|
|
|
|
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[16]
|
|
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[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 ChainGovernorConfig_Chain.ProtoReflect.Descriptor instead.
|
|
func (*ChainGovernorConfig_Chain) Descriptor() ([]byte, []int) {
|
|
return file_gossip_v1_gossip_proto_rawDescGZIP(), []int{10, 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[17]
|
|
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[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 ChainGovernorConfig_Token.ProtoReflect.Descriptor instead.
|
|
func (*ChainGovernorConfig_Token) Descriptor() ([]byte, []int) {
|
|
return file_gossip_v1_gossip_proto_rawDescGZIP(), []int{10, 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[18]
|
|
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[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_EnqueuedVAA.ProtoReflect.Descriptor instead.
|
|
func (*ChainGovernorStatus_EnqueuedVAA) Descriptor() ([]byte, []int) {
|
|
return file_gossip_v1_gossip_proto_rawDescGZIP(), []int{12, 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[19]
|
|
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[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 ChainGovernorStatus_Emitter.ProtoReflect.Descriptor instead.
|
|
func (*ChainGovernorStatus_Emitter) Descriptor() ([]byte, []int) {
|
|
return file_gossip_v1_gossip_proto_rawDescGZIP(), []int{12, 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[20]
|
|
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[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 ChainGovernorStatus_Chain.ProtoReflect.Descriptor instead.
|
|
func (*ChainGovernorStatus_Chain) Descriptor() ([]byte, []int) {
|
|
return file_gossip_v1_gossip_proto_rawDescGZIP(), []int{12, 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, 0xaf, 0x07, 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, 0x5d, 0x0a, 0x18, 0x73, 0x69, 0x67,
|
|
0x6e, 0x65, 0x64, 0x5f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76,
|
|
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f,
|
|
0x73, 0x73, 0x69, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x42, 0x61,
|
|
0x74, 0x63, 0x68, 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00,
|
|
0x52, 0x16, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x42, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x62, 0x73,
|
|
0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x65, 0x0a, 0x1c, 0x73, 0x69, 0x67, 0x6e,
|
|
0x65, 0x64, 0x5f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x76, 0x61, 0x61, 0x5f, 0x77, 0x69, 0x74,
|
|
0x68, 0x5f, 0x71, 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23,
|
|
0x2e, 0x67, 0x6f, 0x73, 0x73, 0x69, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x65,
|
|
0x64, 0x42, 0x61, 0x74, 0x63, 0x68, 0x56, 0x41, 0x41, 0x57, 0x69, 0x74, 0x68, 0x51, 0x75, 0x6f,
|
|
0x72, 0x75, 0x6d, 0x48, 0x00, 0x52, 0x18, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x42, 0x61, 0x74,
|
|
0x63, 0x68, 0x56, 0x61, 0x61, 0x57, 0x69, 0x74, 0x68, 0x51, 0x75, 0x6f, 0x72, 0x75, 0x6d, 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, 0xbb, 0x03, 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, 0x7d, 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, 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,
|
|
0xbf, 0x01, 0x0a, 0x16, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x42, 0x61, 0x74, 0x63, 0x68, 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, 0x13, 0x0a, 0x05, 0x74, 0x78, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52,
|
|
0x04, 0x74, 0x78, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x69,
|
|
0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x64,
|
|
0x12, 0x14, 0x0a, 0x05, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52,
|
|
0x05, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f,
|
|
0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x62, 0x61, 0x74, 0x63, 0x68, 0x49,
|
|
0x64, 0x22, 0x98, 0x01, 0x0a, 0x18, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x42, 0x61, 0x74, 0x63,
|
|
0x68, 0x56, 0x41, 0x41, 0x57, 0x69, 0x74, 0x68, 0x51, 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x12, 0x1b,
|
|
0x0a, 0x09, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x76, 0x61, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28,
|
|
0x0c, 0x52, 0x08, 0x62, 0x61, 0x74, 0x63, 0x68, 0x56, 0x61, 0x61, 0x12, 0x19, 0x0a, 0x08, 0x63,
|
|
0x68, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x63,
|
|
0x68, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x13, 0x0a, 0x05, 0x74, 0x78, 0x5f, 0x69, 0x64, 0x18,
|
|
0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x74, 0x78, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6e,
|
|
0x6f, 0x6e, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6e, 0x6f, 0x6e, 0x63,
|
|
0x65, 0x12, 0x19, 0x0a, 0x08, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20,
|
|
0x01, 0x28, 0x09, 0x52, 0x07, 0x62, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 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, 21)
|
|
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
|
|
(*SignedBatchObservation)(nil), // 7: gossip.v1.SignedBatchObservation
|
|
(*SignedBatchVAAWithQuorum)(nil), // 8: gossip.v1.SignedBatchVAAWithQuorum
|
|
(*SignedChainGovernorConfig)(nil), // 9: gossip.v1.SignedChainGovernorConfig
|
|
(*ChainGovernorConfig)(nil), // 10: gossip.v1.ChainGovernorConfig
|
|
(*SignedChainGovernorStatus)(nil), // 11: gossip.v1.SignedChainGovernorStatus
|
|
(*ChainGovernorStatus)(nil), // 12: gossip.v1.ChainGovernorStatus
|
|
(*SignedQueryRequest)(nil), // 13: gossip.v1.SignedQueryRequest
|
|
(*SignedQueryResponse)(nil), // 14: gossip.v1.SignedQueryResponse
|
|
(*Heartbeat_Network)(nil), // 15: gossip.v1.Heartbeat.Network
|
|
(*ChainGovernorConfig_Chain)(nil), // 16: gossip.v1.ChainGovernorConfig.Chain
|
|
(*ChainGovernorConfig_Token)(nil), // 17: gossip.v1.ChainGovernorConfig.Token
|
|
(*ChainGovernorStatus_EnqueuedVAA)(nil), // 18: gossip.v1.ChainGovernorStatus.EnqueuedVAA
|
|
(*ChainGovernorStatus_Emitter)(nil), // 19: gossip.v1.ChainGovernorStatus.Emitter
|
|
(*ChainGovernorStatus_Chain)(nil), // 20: 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_batch_observation:type_name -> gossip.v1.SignedBatchObservation
|
|
8, // 5: gossip.v1.GossipMessage.signed_batch_vaa_with_quorum:type_name -> gossip.v1.SignedBatchVAAWithQuorum
|
|
9, // 6: gossip.v1.GossipMessage.signed_chain_governor_config:type_name -> gossip.v1.SignedChainGovernorConfig
|
|
11, // 7: gossip.v1.GossipMessage.signed_chain_governor_status:type_name -> gossip.v1.SignedChainGovernorStatus
|
|
13, // 8: gossip.v1.GossipMessage.signed_query_request:type_name -> gossip.v1.SignedQueryRequest
|
|
14, // 9: gossip.v1.GossipMessage.signed_query_response:type_name -> gossip.v1.SignedQueryResponse
|
|
15, // 10: gossip.v1.Heartbeat.networks:type_name -> gossip.v1.Heartbeat.Network
|
|
16, // 11: gossip.v1.ChainGovernorConfig.chains:type_name -> gossip.v1.ChainGovernorConfig.Chain
|
|
17, // 12: gossip.v1.ChainGovernorConfig.tokens:type_name -> gossip.v1.ChainGovernorConfig.Token
|
|
20, // 13: gossip.v1.ChainGovernorStatus.chains:type_name -> gossip.v1.ChainGovernorStatus.Chain
|
|
18, // 14: gossip.v1.ChainGovernorStatus.Emitter.enqueued_vaas:type_name -> gossip.v1.ChainGovernorStatus.EnqueuedVAA
|
|
19, // 15: gossip.v1.ChainGovernorStatus.Chain.emitters:type_name -> gossip.v1.ChainGovernorStatus.Emitter
|
|
16, // [16:16] is the sub-list for method output_type
|
|
16, // [16:16] is the sub-list for method input_type
|
|
16, // [16:16] is the sub-list for extension type_name
|
|
16, // [16:16] is the sub-list for extension extendee
|
|
0, // [0:16] 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.(*SignedBatchObservation); 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.(*SignedBatchVAAWithQuorum); 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.(*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[10].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[11].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[12].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[13].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[14].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[15].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[16].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[17].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[18].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[19].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[20].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_SignedBatchObservation)(nil),
|
|
(*GossipMessage_SignedBatchVaaWithQuorum)(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: 21,
|
|
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
|
|
}
|