diff --git a/proto/spacemesh/v1/types.proto b/proto/spacemesh/v1/types.proto index c82a1162..ed50ef3f 100644 --- a/proto/spacemesh/v1/types.proto +++ b/proto/spacemesh/v1/types.proto @@ -31,41 +31,6 @@ message SmesherId { bytes id = 1; } -message GasOffered { - uint64 gas_provided = 1; - uint64 gas_price = 2; -} - -// Data specific to a simple coin transaction. -message CoinTransferTransaction { - AccountId receiver = 1; -} - -// Data specific to a smart contract transaction. -message SmartContractTransaction { - enum TransactionType { - TRANSACTION_TYPE_UNSPECIFIED = 0; - TRANSACTION_TYPE_APP = 1; // smart contract method - TRANSACTION_TYPE_APP_SPAWN_APP = 2; // deploy app from template using svm terminology - TRANSACTION_TYPE_DEPLOY_TEMPLATE = 3; // deploy app template code to mesh - } - TransactionType type = 1; - bytes data = 2; // packed binary arguments, including ABI selector - AccountId account_id = 3; // address of smart contract or template -} - -// A simple signature data -message Signature { - enum Scheme { - SCHEME_UNSPECIFIED = 0; - SCHEME_ED25519 = 1; // standard Ed25519 scheme - SCHEME_ED25519_PLUS_PLUS = 2; // sm-modified ED25519 , a.k.a. ED25519++ - } - Scheme scheme = 1; // the signature's scheme - bytes signature = 2; // the signature itself - bytes public_key = 3; // included in schemes which require signer to provide a public key -} - // An Activation "transaction" (ATX) message Activation { ActivationId id = 1; @@ -79,18 +44,29 @@ message Activation { // An immutable Spacemesh transaction. // do not include mutable data such as tx state or result. message Transaction { - TransactionId id = 1; - oneof datum { - CoinTransferTransaction coin_transfer = 2; - SmartContractTransaction smart_contract = 3; - } - AccountId sender = 4; // tx originator, should match signer inside Signature - GasOffered gas_offered = 5; // gas price and max gas offered - Amount amount = 6; // amount of coin transfered in this tx by sender - uint64 counter = 7; // tx counter aka nonce - Signature signature = 8; // sender signature on transaction + bytes id = 1; + bytes principal = 2; + bytes template = 3; + uint32 method = 4; + Nonce nonce = 5; + LayerLimits limits = 6; + uint64 max_gas = 7; + uint64 gas_price = 8; + uint64 max_spend = 9; + bytes raw = 10; +} + +message LayerLimits { + uint32 min = 1; + uint32 max = 2; +} + +message Nonce { + uint64 counter = 1; + uint32 bitfield = 2; // this is actually limited by uint8, but no type for that. } + // Transaction that was added to the mesh. message MeshTransaction { Transaction transaction = 1; diff --git a/release/go/spacemesh/v1/debug.pb.go b/release/go/spacemesh/v1/debug.pb.go index d2c51d81..efe86cdf 100644 --- a/release/go/spacemesh/v1/debug.pb.go +++ b/release/go/spacemesh/v1/debug.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.25.0 +// protoc-gen-go v1.23.0 // protoc v3.12.3 // source: spacemesh/v1/debug.proto diff --git a/release/go/spacemesh/v1/debug_types.pb.go b/release/go/spacemesh/v1/debug_types.pb.go index 2f37d235..966155f4 100644 --- a/release/go/spacemesh/v1/debug_types.pb.go +++ b/release/go/spacemesh/v1/debug_types.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.25.0 +// protoc-gen-go v1.23.0 // protoc v3.12.3 // source: spacemesh/v1/debug_types.proto diff --git a/release/go/spacemesh/v1/gateway.pb.go b/release/go/spacemesh/v1/gateway.pb.go index 13d63be4..225c5d6a 100644 --- a/release/go/spacemesh/v1/gateway.pb.go +++ b/release/go/spacemesh/v1/gateway.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.25.0 +// protoc-gen-go v1.23.0 // protoc v3.12.3 // source: spacemesh/v1/gateway.proto diff --git a/release/go/spacemesh/v1/gateway_types.pb.go b/release/go/spacemesh/v1/gateway_types.pb.go index 237712dc..45d5b6f6 100644 --- a/release/go/spacemesh/v1/gateway_types.pb.go +++ b/release/go/spacemesh/v1/gateway_types.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.25.0 +// protoc-gen-go v1.23.0 // protoc v3.12.3 // source: spacemesh/v1/gateway_types.proto diff --git a/release/go/spacemesh/v1/global_state.pb.go b/release/go/spacemesh/v1/global_state.pb.go index 3b108997..04899374 100644 --- a/release/go/spacemesh/v1/global_state.pb.go +++ b/release/go/spacemesh/v1/global_state.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.25.0 +// protoc-gen-go v1.23.0 // protoc v3.12.3 // source: spacemesh/v1/global_state.proto diff --git a/release/go/spacemesh/v1/global_state_types.pb.go b/release/go/spacemesh/v1/global_state_types.pb.go index f43eae26..14edeb56 100644 --- a/release/go/spacemesh/v1/global_state_types.pb.go +++ b/release/go/spacemesh/v1/global_state_types.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.25.0 +// protoc-gen-go v1.23.0 // protoc v3.12.3 // source: spacemesh/v1/global_state_types.proto diff --git a/release/go/spacemesh/v1/mesh.pb.go b/release/go/spacemesh/v1/mesh.pb.go index 58503377..b23fd74e 100644 --- a/release/go/spacemesh/v1/mesh.pb.go +++ b/release/go/spacemesh/v1/mesh.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.25.0 +// protoc-gen-go v1.23.0 // protoc v3.12.3 // source: spacemesh/v1/mesh.proto diff --git a/release/go/spacemesh/v1/mesh_types.pb.go b/release/go/spacemesh/v1/mesh_types.pb.go index f5264f65..67926c87 100644 --- a/release/go/spacemesh/v1/mesh_types.pb.go +++ b/release/go/spacemesh/v1/mesh_types.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.25.0 +// protoc-gen-go v1.23.0 // protoc v3.12.3 // source: spacemesh/v1/mesh_types.proto diff --git a/release/go/spacemesh/v1/node.pb.go b/release/go/spacemesh/v1/node.pb.go index 27f1bf24..67dc2fab 100644 --- a/release/go/spacemesh/v1/node.pb.go +++ b/release/go/spacemesh/v1/node.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.25.0 +// protoc-gen-go v1.23.0 // protoc v3.12.3 // source: spacemesh/v1/node.proto diff --git a/release/go/spacemesh/v1/node_types.pb.go b/release/go/spacemesh/v1/node_types.pb.go index cc179d50..1157fe97 100644 --- a/release/go/spacemesh/v1/node_types.pb.go +++ b/release/go/spacemesh/v1/node_types.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.25.0 +// protoc-gen-go v1.23.0 // protoc v3.12.3 // source: spacemesh/v1/node_types.proto diff --git a/release/go/spacemesh/v1/smesher.pb.go b/release/go/spacemesh/v1/smesher.pb.go index 38903f09..31b28a8e 100644 --- a/release/go/spacemesh/v1/smesher.pb.go +++ b/release/go/spacemesh/v1/smesher.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.25.0 +// protoc-gen-go v1.23.0 // protoc v3.12.3 // source: spacemesh/v1/smesher.proto diff --git a/release/go/spacemesh/v1/smesher_types.pb.go b/release/go/spacemesh/v1/smesher_types.pb.go index a590a7c7..236f1069 100644 --- a/release/go/spacemesh/v1/smesher_types.pb.go +++ b/release/go/spacemesh/v1/smesher_types.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.25.0 +// protoc-gen-go v1.23.0 // protoc v3.12.3 // source: spacemesh/v1/smesher_types.proto diff --git a/release/go/spacemesh/v1/tx.pb.go b/release/go/spacemesh/v1/tx.pb.go index 0a34ea43..e319d64d 100644 --- a/release/go/spacemesh/v1/tx.pb.go +++ b/release/go/spacemesh/v1/tx.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.25.0 +// protoc-gen-go v1.23.0 // protoc v3.12.3 // source: spacemesh/v1/tx.proto diff --git a/release/go/spacemesh/v1/tx_types.pb.go b/release/go/spacemesh/v1/tx_types.pb.go index 83d5a967..9a8e4eb4 100644 --- a/release/go/spacemesh/v1/tx_types.pb.go +++ b/release/go/spacemesh/v1/tx_types.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.25.0 +// protoc-gen-go v1.23.0 // protoc v3.12.3 // source: spacemesh/v1/tx_types.proto diff --git a/release/go/spacemesh/v1/types.pb.go b/release/go/spacemesh/v1/types.pb.go index 5c34fa33..d77cb1a5 100644 --- a/release/go/spacemesh/v1/types.pb.go +++ b/release/go/spacemesh/v1/types.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.25.0 +// protoc-gen-go v1.23.0 // protoc v3.12.3 // source: spacemesh/v1/types.proto @@ -25,107 +25,6 @@ const ( // of the legacy proto package is being used. const _ = proto.ProtoPackageIsVersion4 -type SmartContractTransaction_TransactionType int32 - -const ( - SmartContractTransaction_TRANSACTION_TYPE_UNSPECIFIED SmartContractTransaction_TransactionType = 0 - SmartContractTransaction_TRANSACTION_TYPE_APP SmartContractTransaction_TransactionType = 1 // smart contract method - SmartContractTransaction_TRANSACTION_TYPE_APP_SPAWN_APP SmartContractTransaction_TransactionType = 2 // deploy app from template using svm terminology - SmartContractTransaction_TRANSACTION_TYPE_DEPLOY_TEMPLATE SmartContractTransaction_TransactionType = 3 // deploy app template code to mesh -) - -// Enum value maps for SmartContractTransaction_TransactionType. -var ( - SmartContractTransaction_TransactionType_name = map[int32]string{ - 0: "TRANSACTION_TYPE_UNSPECIFIED", - 1: "TRANSACTION_TYPE_APP", - 2: "TRANSACTION_TYPE_APP_SPAWN_APP", - 3: "TRANSACTION_TYPE_DEPLOY_TEMPLATE", - } - SmartContractTransaction_TransactionType_value = map[string]int32{ - "TRANSACTION_TYPE_UNSPECIFIED": 0, - "TRANSACTION_TYPE_APP": 1, - "TRANSACTION_TYPE_APP_SPAWN_APP": 2, - "TRANSACTION_TYPE_DEPLOY_TEMPLATE": 3, - } -) - -func (x SmartContractTransaction_TransactionType) Enum() *SmartContractTransaction_TransactionType { - p := new(SmartContractTransaction_TransactionType) - *p = x - return p -} - -func (x SmartContractTransaction_TransactionType) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (SmartContractTransaction_TransactionType) Descriptor() protoreflect.EnumDescriptor { - return file_spacemesh_v1_types_proto_enumTypes[0].Descriptor() -} - -func (SmartContractTransaction_TransactionType) Type() protoreflect.EnumType { - return &file_spacemesh_v1_types_proto_enumTypes[0] -} - -func (x SmartContractTransaction_TransactionType) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use SmartContractTransaction_TransactionType.Descriptor instead. -func (SmartContractTransaction_TransactionType) EnumDescriptor() ([]byte, []int) { - return file_spacemesh_v1_types_proto_rawDescGZIP(), []int{9, 0} -} - -type Signature_Scheme int32 - -const ( - Signature_SCHEME_UNSPECIFIED Signature_Scheme = 0 - Signature_SCHEME_ED25519 Signature_Scheme = 1 // standard Ed25519 scheme - Signature_SCHEME_ED25519_PLUS_PLUS Signature_Scheme = 2 // sm-modified ED25519 , a.k.a. ED25519++ -) - -// Enum value maps for Signature_Scheme. -var ( - Signature_Scheme_name = map[int32]string{ - 0: "SCHEME_UNSPECIFIED", - 1: "SCHEME_ED25519", - 2: "SCHEME_ED25519_PLUS_PLUS", - } - Signature_Scheme_value = map[string]int32{ - "SCHEME_UNSPECIFIED": 0, - "SCHEME_ED25519": 1, - "SCHEME_ED25519_PLUS_PLUS": 2, - } -) - -func (x Signature_Scheme) Enum() *Signature_Scheme { - p := new(Signature_Scheme) - *p = x - return p -} - -func (x Signature_Scheme) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (Signature_Scheme) Descriptor() protoreflect.EnumDescriptor { - return file_spacemesh_v1_types_proto_enumTypes[1].Descriptor() -} - -func (Signature_Scheme) Type() protoreflect.EnumType { - return &file_spacemesh_v1_types_proto_enumTypes[1] -} - -func (x Signature_Scheme) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use Signature_Scheme.Descriptor instead. -func (Signature_Scheme) EnumDescriptor() ([]byte, []int) { - return file_spacemesh_v1_types_proto_rawDescGZIP(), []int{10, 0} -} - type Layer_LayerStatus int32 const ( @@ -159,11 +58,11 @@ func (x Layer_LayerStatus) String() string { } func (Layer_LayerStatus) Descriptor() protoreflect.EnumDescriptor { - return file_spacemesh_v1_types_proto_enumTypes[2].Descriptor() + return file_spacemesh_v1_types_proto_enumTypes[0].Descriptor() } func (Layer_LayerStatus) Type() protoreflect.EnumType { - return &file_spacemesh_v1_types_proto_enumTypes[2] + return &file_spacemesh_v1_types_proto_enumTypes[0] } func (x Layer_LayerStatus) Number() protoreflect.EnumNumber { @@ -172,7 +71,7 @@ func (x Layer_LayerStatus) Number() protoreflect.EnumNumber { // Deprecated: Use Layer_LayerStatus.Descriptor instead. func (Layer_LayerStatus) EnumDescriptor() ([]byte, []int) { - return file_spacemesh_v1_types_proto_rawDescGZIP(), []int{16, 0} + return file_spacemesh_v1_types_proto_rawDescGZIP(), []int{14, 0} } type SimpleInt struct { @@ -505,17 +404,22 @@ func (x *SmesherId) GetId() []byte { return nil } -type GasOffered struct { +// An Activation "transaction" (ATX) +type Activation struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - GasProvided uint64 `protobuf:"varint,1,opt,name=gas_provided,json=gasProvided,proto3" json:"gas_provided,omitempty"` - GasPrice uint64 `protobuf:"varint,2,opt,name=gas_price,json=gasPrice,proto3" json:"gas_price,omitempty"` + Id *ActivationId `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Layer *LayerNumber `protobuf:"bytes,2,opt,name=layer,proto3" json:"layer,omitempty"` // the layer that this activation is part of + SmesherId *SmesherId `protobuf:"bytes,3,opt,name=smesher_id,json=smesherId,proto3" json:"smesher_id,omitempty"` // id of smesher who created the ATX + Coinbase *AccountId `protobuf:"bytes,4,opt,name=coinbase,proto3" json:"coinbase,omitempty"` // coinbase account id + PrevAtx *ActivationId `protobuf:"bytes,5,opt,name=prev_atx,json=prevAtx,proto3" json:"prev_atx,omitempty"` // previous ATX pointed to + NumUnits uint32 `protobuf:"varint,6,opt,name=num_units,json=numUnits,proto3" json:"num_units,omitempty"` // number of PoST data commitment units } -func (x *GasOffered) Reset() { - *x = GasOffered{} +func (x *Activation) Reset() { + *x = Activation{} if protoimpl.UnsafeEnabled { mi := &file_spacemesh_v1_types_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -523,13 +427,13 @@ func (x *GasOffered) Reset() { } } -func (x *GasOffered) String() string { +func (x *Activation) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GasOffered) ProtoMessage() {} +func (*Activation) ProtoMessage() {} -func (x *GasOffered) ProtoReflect() protoreflect.Message { +func (x *Activation) ProtoReflect() protoreflect.Message { mi := &file_spacemesh_v1_types_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -541,101 +445,89 @@ func (x *GasOffered) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GasOffered.ProtoReflect.Descriptor instead. -func (*GasOffered) Descriptor() ([]byte, []int) { +// Deprecated: Use Activation.ProtoReflect.Descriptor instead. +func (*Activation) Descriptor() ([]byte, []int) { return file_spacemesh_v1_types_proto_rawDescGZIP(), []int{7} } -func (x *GasOffered) GetGasProvided() uint64 { +func (x *Activation) GetId() *ActivationId { if x != nil { - return x.GasProvided + return x.Id } - return 0 + return nil } -func (x *GasOffered) GetGasPrice() uint64 { +func (x *Activation) GetLayer() *LayerNumber { if x != nil { - return x.GasPrice + return x.Layer } - return 0 -} - -// Data specific to a simple coin transaction. -type CoinTransferTransaction struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Receiver *AccountId `protobuf:"bytes,1,opt,name=receiver,proto3" json:"receiver,omitempty"` + return nil } -func (x *CoinTransferTransaction) Reset() { - *x = CoinTransferTransaction{} - if protoimpl.UnsafeEnabled { - mi := &file_spacemesh_v1_types_proto_msgTypes[8] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *Activation) GetSmesherId() *SmesherId { + if x != nil { + return x.SmesherId } + return nil } -func (x *CoinTransferTransaction) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CoinTransferTransaction) ProtoMessage() {} - -func (x *CoinTransferTransaction) ProtoReflect() protoreflect.Message { - mi := &file_spacemesh_v1_types_proto_msgTypes[8] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *Activation) GetCoinbase() *AccountId { + if x != nil { + return x.Coinbase } - return mi.MessageOf(x) + return nil } -// Deprecated: Use CoinTransferTransaction.ProtoReflect.Descriptor instead. -func (*CoinTransferTransaction) Descriptor() ([]byte, []int) { - return file_spacemesh_v1_types_proto_rawDescGZIP(), []int{8} +func (x *Activation) GetPrevAtx() *ActivationId { + if x != nil { + return x.PrevAtx + } + return nil } -func (x *CoinTransferTransaction) GetReceiver() *AccountId { +func (x *Activation) GetNumUnits() uint32 { if x != nil { - return x.Receiver + return x.NumUnits } - return nil + return 0 } -// Data specific to a smart contract transaction. -type SmartContractTransaction struct { +// An immutable Spacemesh transaction. +// do not include mutable data such as tx state or result. +type Transaction struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Type SmartContractTransaction_TransactionType `protobuf:"varint,1,opt,name=type,proto3,enum=spacemesh.v1.SmartContractTransaction_TransactionType" json:"type,omitempty"` - Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"` // packed binary arguments, including ABI selector - AccountId *AccountId `protobuf:"bytes,3,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"` // address of smart contract or template + Id []byte `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Principal []byte `protobuf:"bytes,2,opt,name=principal,proto3" json:"principal,omitempty"` + Template []byte `protobuf:"bytes,3,opt,name=template,proto3" json:"template,omitempty"` + Method uint32 `protobuf:"varint,4,opt,name=method,proto3" json:"method,omitempty"` + Nonce *Nonce `protobuf:"bytes,5,opt,name=nonce,proto3" json:"nonce,omitempty"` + Limits *LayerLimits `protobuf:"bytes,6,opt,name=limits,proto3" json:"limits,omitempty"` + MaxGas uint64 `protobuf:"varint,7,opt,name=max_gas,json=maxGas,proto3" json:"max_gas,omitempty"` + GasPrice uint64 `protobuf:"varint,8,opt,name=gas_price,json=gasPrice,proto3" json:"gas_price,omitempty"` + MaxSpend uint64 `protobuf:"varint,9,opt,name=max_spend,json=maxSpend,proto3" json:"max_spend,omitempty"` + Raw []byte `protobuf:"bytes,10,opt,name=raw,proto3" json:"raw,omitempty"` } -func (x *SmartContractTransaction) Reset() { - *x = SmartContractTransaction{} +func (x *Transaction) Reset() { + *x = Transaction{} if protoimpl.UnsafeEnabled { - mi := &file_spacemesh_v1_types_proto_msgTypes[9] + mi := &file_spacemesh_v1_types_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *SmartContractTransaction) String() string { +func (x *Transaction) String() string { return protoimpl.X.MessageStringOf(x) } -func (*SmartContractTransaction) ProtoMessage() {} +func (*Transaction) ProtoMessage() {} -func (x *SmartContractTransaction) ProtoReflect() protoreflect.Message { - mi := &file_spacemesh_v1_types_proto_msgTypes[9] +func (x *Transaction) ProtoReflect() protoreflect.Message { + mi := &file_spacemesh_v1_types_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -646,127 +538,107 @@ func (x *SmartContractTransaction) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use SmartContractTransaction.ProtoReflect.Descriptor instead. -func (*SmartContractTransaction) Descriptor() ([]byte, []int) { - return file_spacemesh_v1_types_proto_rawDescGZIP(), []int{9} +// Deprecated: Use Transaction.ProtoReflect.Descriptor instead. +func (*Transaction) Descriptor() ([]byte, []int) { + return file_spacemesh_v1_types_proto_rawDescGZIP(), []int{8} } -func (x *SmartContractTransaction) GetType() SmartContractTransaction_TransactionType { +func (x *Transaction) GetId() []byte { if x != nil { - return x.Type + return x.Id } - return SmartContractTransaction_TRANSACTION_TYPE_UNSPECIFIED + return nil } -func (x *SmartContractTransaction) GetData() []byte { +func (x *Transaction) GetPrincipal() []byte { if x != nil { - return x.Data + return x.Principal } return nil } -func (x *SmartContractTransaction) GetAccountId() *AccountId { +func (x *Transaction) GetTemplate() []byte { if x != nil { - return x.AccountId + return x.Template } return nil } -// A simple signature data -type Signature struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Scheme Signature_Scheme `protobuf:"varint,1,opt,name=scheme,proto3,enum=spacemesh.v1.Signature_Scheme" json:"scheme,omitempty"` // the signature's scheme - Signature []byte `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"` // the signature itself - PublicKey []byte `protobuf:"bytes,3,opt,name=public_key,json=publicKey,proto3" json:"public_key,omitempty"` // included in schemes which require signer to provide a public key -} - -func (x *Signature) Reset() { - *x = Signature{} - if protoimpl.UnsafeEnabled { - mi := &file_spacemesh_v1_types_proto_msgTypes[10] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *Transaction) GetMethod() uint32 { + if x != nil { + return x.Method } + return 0 } -func (x *Signature) String() string { - return protoimpl.X.MessageStringOf(x) +func (x *Transaction) GetNonce() *Nonce { + if x != nil { + return x.Nonce + } + return nil } -func (*Signature) ProtoMessage() {} - -func (x *Signature) ProtoReflect() protoreflect.Message { - mi := &file_spacemesh_v1_types_proto_msgTypes[10] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *Transaction) GetLimits() *LayerLimits { + if x != nil { + return x.Limits } - return mi.MessageOf(x) + return nil } -// Deprecated: Use Signature.ProtoReflect.Descriptor instead. -func (*Signature) Descriptor() ([]byte, []int) { - return file_spacemesh_v1_types_proto_rawDescGZIP(), []int{10} +func (x *Transaction) GetMaxGas() uint64 { + if x != nil { + return x.MaxGas + } + return 0 } -func (x *Signature) GetScheme() Signature_Scheme { +func (x *Transaction) GetGasPrice() uint64 { if x != nil { - return x.Scheme + return x.GasPrice } - return Signature_SCHEME_UNSPECIFIED + return 0 } -func (x *Signature) GetSignature() []byte { +func (x *Transaction) GetMaxSpend() uint64 { if x != nil { - return x.Signature + return x.MaxSpend } - return nil + return 0 } -func (x *Signature) GetPublicKey() []byte { +func (x *Transaction) GetRaw() []byte { if x != nil { - return x.PublicKey + return x.Raw } return nil } -// An Activation "transaction" (ATX) -type Activation struct { +type LayerLimits struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id *ActivationId `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - Layer *LayerNumber `protobuf:"bytes,2,opt,name=layer,proto3" json:"layer,omitempty"` // the layer that this activation is part of - SmesherId *SmesherId `protobuf:"bytes,3,opt,name=smesher_id,json=smesherId,proto3" json:"smesher_id,omitempty"` // id of smesher who created the ATX - Coinbase *AccountId `protobuf:"bytes,4,opt,name=coinbase,proto3" json:"coinbase,omitempty"` // coinbase account id - PrevAtx *ActivationId `protobuf:"bytes,5,opt,name=prev_atx,json=prevAtx,proto3" json:"prev_atx,omitempty"` // previous ATX pointed to - NumUnits uint32 `protobuf:"varint,6,opt,name=num_units,json=numUnits,proto3" json:"num_units,omitempty"` // number of PoST data commitment units + Min uint32 `protobuf:"varint,1,opt,name=min,proto3" json:"min,omitempty"` + Max uint32 `protobuf:"varint,2,opt,name=max,proto3" json:"max,omitempty"` } -func (x *Activation) Reset() { - *x = Activation{} +func (x *LayerLimits) Reset() { + *x = LayerLimits{} if protoimpl.UnsafeEnabled { - mi := &file_spacemesh_v1_types_proto_msgTypes[11] + mi := &file_spacemesh_v1_types_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *Activation) String() string { +func (x *LayerLimits) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Activation) ProtoMessage() {} +func (*LayerLimits) ProtoMessage() {} -func (x *Activation) ProtoReflect() protoreflect.Message { - mi := &file_spacemesh_v1_types_proto_msgTypes[11] +func (x *LayerLimits) ProtoReflect() protoreflect.Message { + mi := &file_spacemesh_v1_types_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -777,89 +649,51 @@ func (x *Activation) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Activation.ProtoReflect.Descriptor instead. -func (*Activation) Descriptor() ([]byte, []int) { - return file_spacemesh_v1_types_proto_rawDescGZIP(), []int{11} -} - -func (x *Activation) GetId() *ActivationId { - if x != nil { - return x.Id - } - return nil -} - -func (x *Activation) GetLayer() *LayerNumber { - if x != nil { - return x.Layer - } - return nil -} - -func (x *Activation) GetSmesherId() *SmesherId { - if x != nil { - return x.SmesherId - } - return nil +// Deprecated: Use LayerLimits.ProtoReflect.Descriptor instead. +func (*LayerLimits) Descriptor() ([]byte, []int) { + return file_spacemesh_v1_types_proto_rawDescGZIP(), []int{9} } -func (x *Activation) GetCoinbase() *AccountId { +func (x *LayerLimits) GetMin() uint32 { if x != nil { - return x.Coinbase + return x.Min } - return nil + return 0 } -func (x *Activation) GetPrevAtx() *ActivationId { +func (x *LayerLimits) GetMax() uint32 { if x != nil { - return x.PrevAtx - } - return nil -} - -func (x *Activation) GetNumUnits() uint32 { - if x != nil { - return x.NumUnits + return x.Max } return 0 } -// An immutable Spacemesh transaction. -// do not include mutable data such as tx state or result. -type Transaction struct { +type Nonce struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id *TransactionId `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - // Types that are assignable to Datum: - // *Transaction_CoinTransfer - // *Transaction_SmartContract - Datum isTransaction_Datum `protobuf_oneof:"datum"` - Sender *AccountId `protobuf:"bytes,4,opt,name=sender,proto3" json:"sender,omitempty"` // tx originator, should match signer inside Signature - GasOffered *GasOffered `protobuf:"bytes,5,opt,name=gas_offered,json=gasOffered,proto3" json:"gas_offered,omitempty"` // gas price and max gas offered - Amount *Amount `protobuf:"bytes,6,opt,name=amount,proto3" json:"amount,omitempty"` // amount of coin transfered in this tx by sender - Counter uint64 `protobuf:"varint,7,opt,name=counter,proto3" json:"counter,omitempty"` // tx counter aka nonce - Signature *Signature `protobuf:"bytes,8,opt,name=signature,proto3" json:"signature,omitempty"` // sender signature on transaction + Counter uint64 `protobuf:"varint,1,opt,name=counter,proto3" json:"counter,omitempty"` + Bitfield uint32 `protobuf:"varint,2,opt,name=bitfield,proto3" json:"bitfield,omitempty"` // this is actually limited by uint8, but no type for that. } -func (x *Transaction) Reset() { - *x = Transaction{} +func (x *Nonce) Reset() { + *x = Nonce{} if protoimpl.UnsafeEnabled { - mi := &file_spacemesh_v1_types_proto_msgTypes[12] + mi := &file_spacemesh_v1_types_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *Transaction) String() string { +func (x *Nonce) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Transaction) ProtoMessage() {} +func (*Nonce) ProtoMessage() {} -func (x *Transaction) ProtoReflect() protoreflect.Message { - mi := &file_spacemesh_v1_types_proto_msgTypes[12] +func (x *Nonce) ProtoReflect() protoreflect.Message { + mi := &file_spacemesh_v1_types_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -870,90 +704,25 @@ func (x *Transaction) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Transaction.ProtoReflect.Descriptor instead. -func (*Transaction) Descriptor() ([]byte, []int) { - return file_spacemesh_v1_types_proto_rawDescGZIP(), []int{12} -} - -func (x *Transaction) GetId() *TransactionId { - if x != nil { - return x.Id - } - return nil -} - -func (m *Transaction) GetDatum() isTransaction_Datum { - if m != nil { - return m.Datum - } - return nil -} - -func (x *Transaction) GetCoinTransfer() *CoinTransferTransaction { - if x, ok := x.GetDatum().(*Transaction_CoinTransfer); ok { - return x.CoinTransfer - } - return nil -} - -func (x *Transaction) GetSmartContract() *SmartContractTransaction { - if x, ok := x.GetDatum().(*Transaction_SmartContract); ok { - return x.SmartContract - } - return nil -} - -func (x *Transaction) GetSender() *AccountId { - if x != nil { - return x.Sender - } - return nil -} - -func (x *Transaction) GetGasOffered() *GasOffered { - if x != nil { - return x.GasOffered - } - return nil -} - -func (x *Transaction) GetAmount() *Amount { - if x != nil { - return x.Amount - } - return nil +// Deprecated: Use Nonce.ProtoReflect.Descriptor instead. +func (*Nonce) Descriptor() ([]byte, []int) { + return file_spacemesh_v1_types_proto_rawDescGZIP(), []int{10} } -func (x *Transaction) GetCounter() uint64 { +func (x *Nonce) GetCounter() uint64 { if x != nil { return x.Counter } return 0 } -func (x *Transaction) GetSignature() *Signature { +func (x *Nonce) GetBitfield() uint32 { if x != nil { - return x.Signature + return x.Bitfield } - return nil -} - -type isTransaction_Datum interface { - isTransaction_Datum() -} - -type Transaction_CoinTransfer struct { - CoinTransfer *CoinTransferTransaction `protobuf:"bytes,2,opt,name=coin_transfer,json=coinTransfer,proto3,oneof"` -} - -type Transaction_SmartContract struct { - SmartContract *SmartContractTransaction `protobuf:"bytes,3,opt,name=smart_contract,json=smartContract,proto3,oneof"` + return 0 } -func (*Transaction_CoinTransfer) isTransaction_Datum() {} - -func (*Transaction_SmartContract) isTransaction_Datum() {} - // Transaction that was added to the mesh. type MeshTransaction struct { state protoimpl.MessageState @@ -967,7 +736,7 @@ type MeshTransaction struct { func (x *MeshTransaction) Reset() { *x = MeshTransaction{} if protoimpl.UnsafeEnabled { - mi := &file_spacemesh_v1_types_proto_msgTypes[13] + mi := &file_spacemesh_v1_types_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -980,7 +749,7 @@ func (x *MeshTransaction) String() string { func (*MeshTransaction) ProtoMessage() {} func (x *MeshTransaction) ProtoReflect() protoreflect.Message { - mi := &file_spacemesh_v1_types_proto_msgTypes[13] + mi := &file_spacemesh_v1_types_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -993,7 +762,7 @@ func (x *MeshTransaction) ProtoReflect() protoreflect.Message { // Deprecated: Use MeshTransaction.ProtoReflect.Descriptor instead. func (*MeshTransaction) Descriptor() ([]byte, []int) { - return file_spacemesh_v1_types_proto_rawDescGZIP(), []int{13} + return file_spacemesh_v1_types_proto_rawDescGZIP(), []int{11} } func (x *MeshTransaction) GetTransaction() *Transaction { @@ -1026,7 +795,7 @@ type Reward struct { func (x *Reward) Reset() { *x = Reward{} if protoimpl.UnsafeEnabled { - mi := &file_spacemesh_v1_types_proto_msgTypes[14] + mi := &file_spacemesh_v1_types_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1039,7 +808,7 @@ func (x *Reward) String() string { func (*Reward) ProtoMessage() {} func (x *Reward) ProtoReflect() protoreflect.Message { - mi := &file_spacemesh_v1_types_proto_msgTypes[14] + mi := &file_spacemesh_v1_types_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1052,7 +821,7 @@ func (x *Reward) ProtoReflect() protoreflect.Message { // Deprecated: Use Reward.ProtoReflect.Descriptor instead. func (*Reward) Descriptor() ([]byte, []int) { - return file_spacemesh_v1_types_proto_rawDescGZIP(), []int{14} + return file_spacemesh_v1_types_proto_rawDescGZIP(), []int{12} } func (x *Reward) GetLayer() *LayerNumber { @@ -1111,7 +880,7 @@ type Block struct { func (x *Block) Reset() { *x = Block{} if protoimpl.UnsafeEnabled { - mi := &file_spacemesh_v1_types_proto_msgTypes[15] + mi := &file_spacemesh_v1_types_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1124,7 +893,7 @@ func (x *Block) String() string { func (*Block) ProtoMessage() {} func (x *Block) ProtoReflect() protoreflect.Message { - mi := &file_spacemesh_v1_types_proto_msgTypes[15] + mi := &file_spacemesh_v1_types_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1137,7 +906,7 @@ func (x *Block) ProtoReflect() protoreflect.Message { // Deprecated: Use Block.ProtoReflect.Descriptor instead. func (*Block) Descriptor() ([]byte, []int) { - return file_spacemesh_v1_types_proto_rawDescGZIP(), []int{15} + return file_spacemesh_v1_types_proto_rawDescGZIP(), []int{13} } func (x *Block) GetId() []byte { @@ -1184,7 +953,7 @@ type Layer struct { func (x *Layer) Reset() { *x = Layer{} if protoimpl.UnsafeEnabled { - mi := &file_spacemesh_v1_types_proto_msgTypes[16] + mi := &file_spacemesh_v1_types_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1197,7 +966,7 @@ func (x *Layer) String() string { func (*Layer) ProtoMessage() {} func (x *Layer) ProtoReflect() protoreflect.Message { - mi := &file_spacemesh_v1_types_proto_msgTypes[16] + mi := &file_spacemesh_v1_types_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1210,7 +979,7 @@ func (x *Layer) ProtoReflect() protoreflect.Message { // Deprecated: Use Layer.ProtoReflect.Descriptor instead. func (*Layer) Descriptor() ([]byte, []int) { - return file_spacemesh_v1_types_proto_rawDescGZIP(), []int{16} + return file_spacemesh_v1_types_proto_rawDescGZIP(), []int{14} } func (x *Layer) GetNumber() *LayerNumber { @@ -1266,7 +1035,7 @@ type LayerNumber struct { func (x *LayerNumber) Reset() { *x = LayerNumber{} if protoimpl.UnsafeEnabled { - mi := &file_spacemesh_v1_types_proto_msgTypes[17] + mi := &file_spacemesh_v1_types_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1279,7 +1048,7 @@ func (x *LayerNumber) String() string { func (*LayerNumber) ProtoMessage() {} func (x *LayerNumber) ProtoReflect() protoreflect.Message { - mi := &file_spacemesh_v1_types_proto_msgTypes[17] + mi := &file_spacemesh_v1_types_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1292,7 +1061,7 @@ func (x *LayerNumber) ProtoReflect() protoreflect.Message { // Deprecated: Use LayerNumber.ProtoReflect.Descriptor instead. func (*LayerNumber) Descriptor() ([]byte, []int) { - return file_spacemesh_v1_types_proto_rawDescGZIP(), []int{17} + return file_spacemesh_v1_types_proto_rawDescGZIP(), []int{15} } func (x *LayerNumber) GetNumber() uint32 { @@ -1314,7 +1083,7 @@ type AppEvent struct { func (x *AppEvent) Reset() { *x = AppEvent{} if protoimpl.UnsafeEnabled { - mi := &file_spacemesh_v1_types_proto_msgTypes[18] + mi := &file_spacemesh_v1_types_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1327,7 +1096,7 @@ func (x *AppEvent) String() string { func (*AppEvent) ProtoMessage() {} func (x *AppEvent) ProtoReflect() protoreflect.Message { - mi := &file_spacemesh_v1_types_proto_msgTypes[18] + mi := &file_spacemesh_v1_types_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1340,7 +1109,7 @@ func (x *AppEvent) ProtoReflect() protoreflect.Message { // Deprecated: Use AppEvent.ProtoReflect.Descriptor instead. func (*AppEvent) Descriptor() ([]byte, []int) { - return file_spacemesh_v1_types_proto_rawDescGZIP(), []int{18} + return file_spacemesh_v1_types_proto_rawDescGZIP(), []int{16} } func (x *AppEvent) GetTransactionId() *TransactionId { @@ -1377,178 +1146,131 @@ var file_spacemesh_v1_types_proto_rawDesc = []byte{ 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x02, 0x69, 0x64, 0x22, 0x1b, 0x0a, 0x09, 0x53, 0x6d, 0x65, 0x73, 0x68, 0x65, 0x72, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0c, 0x52, 0x02, 0x69, 0x64, 0x22, 0x4c, 0x0a, 0x0a, 0x47, 0x61, 0x73, 0x4f, 0x66, 0x66, - 0x65, 0x72, 0x65, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x67, 0x61, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x76, - 0x69, 0x64, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x67, 0x61, 0x73, 0x50, - 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x67, 0x61, 0x73, 0x5f, 0x70, - 0x72, 0x69, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x67, 0x61, 0x73, 0x50, - 0x72, 0x69, 0x63, 0x65, 0x22, 0x4e, 0x0a, 0x17, 0x43, 0x6f, 0x69, 0x6e, 0x54, 0x72, 0x61, 0x6e, - 0x73, 0x66, 0x65, 0x72, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x33, 0x0a, 0x08, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x31, - 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x52, 0x08, 0x72, 0x65, 0x63, 0x65, - 0x69, 0x76, 0x65, 0x72, 0x22, 0xcc, 0x02, 0x0a, 0x18, 0x53, 0x6d, 0x61, 0x72, 0x74, 0x43, 0x6f, - 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x4a, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x36, 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x53, - 0x6d, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x54, 0x72, 0x61, 0x6e, - 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, - 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, - 0x61, 0x12, 0x36, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x73, - 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x52, 0x09, - 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x97, 0x01, 0x0a, 0x0f, 0x54, 0x72, - 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, - 0x1c, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, - 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, - 0x18, 0x0a, 0x14, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, - 0x59, 0x50, 0x45, 0x5f, 0x41, 0x50, 0x50, 0x10, 0x01, 0x12, 0x22, 0x0a, 0x1e, 0x54, 0x52, 0x41, - 0x4e, 0x53, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x41, 0x50, - 0x50, 0x5f, 0x53, 0x50, 0x41, 0x57, 0x4e, 0x5f, 0x41, 0x50, 0x50, 0x10, 0x02, 0x12, 0x24, 0x0a, - 0x20, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, - 0x45, 0x5f, 0x44, 0x45, 0x50, 0x4c, 0x4f, 0x59, 0x5f, 0x54, 0x45, 0x4d, 0x50, 0x4c, 0x41, 0x54, - 0x45, 0x10, 0x03, 0x22, 0xd4, 0x01, 0x0a, 0x09, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, - 0x65, 0x12, 0x36, 0x0a, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x1e, 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x31, - 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, - 0x65, 0x52, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 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, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x75, 0x62, 0x6c, 0x69, - 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x70, 0x75, 0x62, - 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x22, 0x52, 0x0a, 0x06, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, - 0x12, 0x16, 0x0a, 0x12, 0x53, 0x43, 0x48, 0x45, 0x4d, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, - 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x53, 0x43, 0x48, 0x45, - 0x4d, 0x45, 0x5f, 0x45, 0x44, 0x32, 0x35, 0x35, 0x31, 0x39, 0x10, 0x01, 0x12, 0x1c, 0x0a, 0x18, - 0x53, 0x43, 0x48, 0x45, 0x4d, 0x45, 0x5f, 0x45, 0x44, 0x32, 0x35, 0x35, 0x31, 0x39, 0x5f, 0x50, - 0x4c, 0x55, 0x53, 0x5f, 0x50, 0x4c, 0x55, 0x53, 0x10, 0x02, 0x22, 0xaa, 0x02, 0x0a, 0x0a, 0x41, - 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2a, 0x0a, 0x02, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x73, - 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, - 0x64, 0x52, 0x02, 0x69, 0x64, 0x12, 0x2f, 0x0a, 0x05, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x73, 0x68, - 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x52, - 0x05, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x36, 0x0a, 0x0a, 0x73, 0x6d, 0x65, 0x73, 0x68, 0x65, - 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x70, 0x61, - 0x63, 0x65, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6d, 0x65, 0x73, 0x68, 0x65, - 0x72, 0x49, 0x64, 0x52, 0x09, 0x73, 0x6d, 0x65, 0x73, 0x68, 0x65, 0x72, 0x49, 0x64, 0x12, 0x33, - 0x0a, 0x08, 0x63, 0x6f, 0x69, 0x6e, 0x62, 0x61, 0x73, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x17, 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x31, 0x2e, - 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x52, 0x08, 0x63, 0x6f, 0x69, 0x6e, 0x62, - 0x61, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x08, 0x70, 0x72, 0x65, 0x76, 0x5f, 0x61, 0x74, 0x78, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x73, - 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, - 0x64, 0x52, 0x07, 0x70, 0x72, 0x65, 0x76, 0x41, 0x74, 0x78, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x75, - 0x6d, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6e, - 0x75, 0x6d, 0x55, 0x6e, 0x69, 0x74, 0x73, 0x22, 0xcd, 0x03, 0x0a, 0x0b, 0x54, 0x72, 0x61, 0x6e, - 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2b, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x73, 0x68, 0x2e, - 0x76, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, - 0x52, 0x02, 0x69, 0x64, 0x12, 0x4c, 0x0a, 0x0d, 0x63, 0x6f, 0x69, 0x6e, 0x5f, 0x74, 0x72, 0x61, - 0x6e, 0x73, 0x66, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x73, 0x70, - 0x61, 0x63, 0x65, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x54, - 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0c, 0x63, 0x6f, 0x69, 0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, - 0x65, 0x72, 0x12, 0x4f, 0x0a, 0x0e, 0x73, 0x6d, 0x61, 0x72, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x74, - 0x72, 0x61, 0x63, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x73, 0x70, 0x61, - 0x63, 0x65, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6d, 0x61, 0x72, 0x74, 0x43, - 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0d, 0x73, 0x6d, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, - 0x61, 0x63, 0x74, 0x12, 0x2f, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x73, 0x68, 0x2e, - 0x76, 0x31, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x52, 0x06, 0x73, 0x65, - 0x6e, 0x64, 0x65, 0x72, 0x12, 0x39, 0x0a, 0x0b, 0x67, 0x61, 0x73, 0x5f, 0x6f, 0x66, 0x66, 0x65, - 0x72, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x73, 0x70, 0x61, 0x63, - 0x65, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x61, 0x73, 0x4f, 0x66, 0x66, 0x65, - 0x72, 0x65, 0x64, 0x52, 0x0a, 0x67, 0x61, 0x73, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x65, 0x64, 0x12, - 0x2c, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x14, 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x41, - 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x18, 0x0a, - 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x12, 0x35, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, - 0x74, 0x75, 0x72, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x70, 0x61, - 0x63, 0x65, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, - 0x75, 0x72, 0x65, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x42, 0x07, - 0x0a, 0x05, 0x64, 0x61, 0x74, 0x75, 0x6d, 0x22, 0x84, 0x01, 0x0a, 0x0f, 0x4d, 0x65, 0x73, 0x68, - 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3b, 0x0a, 0x0b, 0x74, - 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x28, 0x0c, 0x52, 0x02, 0x69, 0x64, 0x22, 0xaa, 0x02, 0x0a, 0x0a, 0x41, 0x63, 0x74, 0x69, 0x76, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2a, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1a, 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x31, + 0x2e, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x52, 0x02, 0x69, + 0x64, 0x12, 0x2f, 0x0a, 0x05, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x31, 0x2e, - 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x74, 0x72, 0x61, - 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x34, 0x0a, 0x08, 0x6c, 0x61, 0x79, 0x65, - 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x70, 0x61, + 0x4c, 0x61, 0x79, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x05, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x12, 0x36, 0x0a, 0x0a, 0x73, 0x6d, 0x65, 0x73, 0x68, 0x65, 0x72, 0x5f, 0x69, 0x64, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6d, 0x65, + 0x73, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6d, 0x65, 0x73, 0x68, 0x65, 0x72, 0x49, 0x64, 0x52, + 0x09, 0x73, 0x6d, 0x65, 0x73, 0x68, 0x65, 0x72, 0x49, 0x64, 0x12, 0x33, 0x0a, 0x08, 0x63, 0x6f, + 0x69, 0x6e, 0x62, 0x61, 0x73, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, + 0x70, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x49, 0x64, 0x52, 0x08, 0x63, 0x6f, 0x69, 0x6e, 0x62, 0x61, 0x73, 0x65, 0x12, + 0x35, 0x0a, 0x08, 0x70, 0x72, 0x65, 0x76, 0x5f, 0x61, 0x74, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1a, 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x31, + 0x2e, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x52, 0x07, 0x70, + 0x72, 0x65, 0x76, 0x41, 0x74, 0x78, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x75, 0x6d, 0x5f, 0x75, 0x6e, + 0x69, 0x74, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6e, 0x75, 0x6d, 0x55, 0x6e, + 0x69, 0x74, 0x73, 0x22, 0xb2, 0x02, 0x0a, 0x0b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, + 0x02, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x70, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, + 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0c, 0x52, 0x08, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x16, 0x0a, + 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6d, + 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x29, 0x0a, 0x05, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x73, 0x68, + 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x52, 0x05, 0x6e, 0x6f, 0x6e, 0x63, 0x65, + 0x12, 0x31, 0x0a, 0x06, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x19, 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x31, 0x2e, + 0x4c, 0x61, 0x79, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x52, 0x06, 0x6c, 0x69, 0x6d, + 0x69, 0x74, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x6d, 0x61, 0x78, 0x5f, 0x67, 0x61, 0x73, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x6d, 0x61, 0x78, 0x47, 0x61, 0x73, 0x12, 0x1b, 0x0a, 0x09, + 0x67, 0x61, 0x73, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x08, 0x67, 0x61, 0x73, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x78, + 0x5f, 0x73, 0x70, 0x65, 0x6e, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x6d, 0x61, + 0x78, 0x53, 0x70, 0x65, 0x6e, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x72, 0x61, 0x77, 0x18, 0x0a, 0x20, + 0x01, 0x28, 0x0c, 0x52, 0x03, 0x72, 0x61, 0x77, 0x22, 0x31, 0x0a, 0x0b, 0x4c, 0x61, 0x79, 0x65, + 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x69, 0x6e, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6d, 0x69, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x61, 0x78, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6d, 0x61, 0x78, 0x22, 0x3d, 0x0a, 0x05, 0x4e, + 0x6f, 0x6e, 0x63, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x12, 0x1a, + 0x0a, 0x08, 0x62, 0x69, 0x74, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x08, 0x62, 0x69, 0x74, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x22, 0x84, 0x01, 0x0a, 0x0f, 0x4d, + 0x65, 0x73, 0x68, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3b, + 0x0a, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x73, 0x68, 0x2e, + 0x76, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, + 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x34, 0x0a, 0x08, 0x6c, + 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, + 0x73, 0x70, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x61, 0x79, + 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x07, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, + 0x64, 0x22, 0xc8, 0x02, 0x0a, 0x06, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x2f, 0x0a, 0x05, + 0x6c, 0x61, 0x79, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x70, + 0x61, 0x63, 0x65, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x61, 0x79, 0x65, 0x72, + 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x05, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x2a, 0x0a, + 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x73, + 0x70, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6d, 0x6f, 0x75, + 0x6e, 0x74, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x37, 0x0a, 0x0c, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x14, 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x41, + 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0b, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x65, 0x77, 0x61, + 0x72, 0x64, 0x12, 0x40, 0x0a, 0x0e, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x4e, - 0x75, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x07, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x22, 0xc8, - 0x02, 0x0a, 0x06, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x2f, 0x0a, 0x05, 0x6c, 0x61, 0x79, + 0x75, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x0d, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x64, 0x12, 0x33, 0x0a, 0x08, 0x63, 0x6f, 0x69, 0x6e, 0x62, 0x61, 0x73, 0x65, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6d, 0x65, + 0x73, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x52, + 0x08, 0x63, 0x6f, 0x69, 0x6e, 0x62, 0x61, 0x73, 0x65, 0x12, 0x31, 0x0a, 0x07, 0x73, 0x6d, 0x65, + 0x73, 0x68, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x70, 0x61, + 0x63, 0x65, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6d, 0x65, 0x73, 0x68, 0x65, + 0x72, 0x49, 0x64, 0x52, 0x07, 0x73, 0x6d, 0x65, 0x73, 0x68, 0x65, 0x72, 0x22, 0xcf, 0x01, 0x0a, + 0x05, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0c, 0x52, 0x02, 0x69, 0x64, 0x12, 0x3d, 0x0a, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, + 0x70, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, + 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3f, 0x0a, 0x0d, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x73, + 0x70, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x74, 0x69, + 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x52, 0x0c, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x36, 0x0a, 0x0a, 0x73, 0x6d, 0x65, 0x73, 0x68, 0x65, + 0x72, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x70, 0x61, + 0x63, 0x65, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6d, 0x65, 0x73, 0x68, 0x65, + 0x72, 0x49, 0x64, 0x52, 0x09, 0x73, 0x6d, 0x65, 0x73, 0x68, 0x65, 0x72, 0x49, 0x64, 0x22, 0xfc, + 0x02, 0x0a, 0x05, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x31, 0x0a, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x4e, 0x75, 0x6d, - 0x62, 0x65, 0x72, 0x52, 0x05, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x2a, 0x0a, 0x05, 0x74, 0x6f, - 0x74, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x73, 0x70, 0x61, 0x63, - 0x65, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, - 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x37, 0x0a, 0x0c, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, - 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x73, - 0x70, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6d, 0x6f, 0x75, - 0x6e, 0x74, 0x52, 0x0b, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, - 0x40, 0x0a, 0x0e, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6d, - 0x65, 0x73, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x62, - 0x65, 0x72, 0x52, 0x0d, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x64, 0x12, 0x33, 0x0a, 0x08, 0x63, 0x6f, 0x69, 0x6e, 0x62, 0x61, 0x73, 0x65, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x73, 0x68, 0x2e, - 0x76, 0x31, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x52, 0x08, 0x63, 0x6f, - 0x69, 0x6e, 0x62, 0x61, 0x73, 0x65, 0x12, 0x31, 0x0a, 0x07, 0x73, 0x6d, 0x65, 0x73, 0x68, 0x65, - 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6d, - 0x65, 0x73, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6d, 0x65, 0x73, 0x68, 0x65, 0x72, 0x49, 0x64, - 0x52, 0x07, 0x73, 0x6d, 0x65, 0x73, 0x68, 0x65, 0x72, 0x22, 0xcf, 0x01, 0x0a, 0x05, 0x42, 0x6c, - 0x6f, 0x63, 0x6b, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, - 0x02, 0x69, 0x64, 0x12, 0x3d, 0x0a, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x70, 0x61, 0x63, - 0x65, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x12, 0x3f, 0x0a, 0x0d, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x73, 0x70, 0x61, 0x63, - 0x65, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x52, 0x0c, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x49, 0x64, 0x12, 0x36, 0x0a, 0x0a, 0x73, 0x6d, 0x65, 0x73, 0x68, 0x65, 0x72, 0x5f, 0x69, - 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6d, - 0x65, 0x73, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6d, 0x65, 0x73, 0x68, 0x65, 0x72, 0x49, 0x64, - 0x52, 0x09, 0x73, 0x6d, 0x65, 0x73, 0x68, 0x65, 0x72, 0x49, 0x64, 0x22, 0xfc, 0x02, 0x0a, 0x05, - 0x4c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x31, 0x0a, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x73, - 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, - 0x52, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x37, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, - 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x4c, 0x61, - 0x79, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x61, 0x73, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, - 0x04, 0x68, 0x61, 0x73, 0x68, 0x12, 0x2b, 0x0a, 0x06, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x18, - 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x73, - 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x06, 0x62, 0x6c, 0x6f, 0x63, - 0x6b, 0x73, 0x12, 0x3a, 0x0a, 0x0b, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6d, - 0x65, 0x73, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x0b, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x26, - 0x0a, 0x0f, 0x72, 0x6f, 0x6f, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x68, 0x61, 0x73, - 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x72, 0x6f, 0x6f, 0x74, 0x53, 0x74, 0x61, - 0x74, 0x65, 0x48, 0x61, 0x73, 0x68, 0x22, 0x62, 0x0a, 0x0b, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1c, 0x0a, 0x18, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x53, - 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, - 0x44, 0x10, 0x00, 0x12, 0x19, 0x0a, 0x15, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x53, 0x54, 0x41, - 0x54, 0x55, 0x53, 0x5f, 0x41, 0x50, 0x50, 0x52, 0x4f, 0x56, 0x45, 0x44, 0x10, 0x01, 0x12, 0x1a, - 0x0a, 0x16, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x43, - 0x4f, 0x4e, 0x46, 0x49, 0x52, 0x4d, 0x45, 0x44, 0x10, 0x02, 0x22, 0x25, 0x0a, 0x0b, 0x4c, 0x61, - 0x79, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x75, 0x6d, - 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, - 0x72, 0x22, 0x68, 0x0a, 0x08, 0x41, 0x70, 0x70, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x42, 0x0a, - 0x0e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x73, - 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x49, 0x64, 0x52, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, - 0x64, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x42, 0x34, 0x5a, 0x32, 0x67, - 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6d, - 0x65, 0x73, 0x68, 0x6f, 0x73, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, - 0x65, 0x2f, 0x67, 0x6f, 0x2f, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x73, 0x68, 0x2f, 0x76, - 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x62, 0x65, 0x72, 0x52, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x37, 0x0a, 0x06, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x73, 0x70, + 0x61, 0x63, 0x65, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x61, 0x79, 0x65, 0x72, + 0x2e, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x61, 0x73, 0x68, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0c, 0x52, 0x04, 0x68, 0x61, 0x73, 0x68, 0x12, 0x2b, 0x0a, 0x06, 0x62, 0x6c, 0x6f, 0x63, + 0x6b, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, + 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x06, 0x62, + 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x12, 0x3a, 0x0a, 0x0b, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x73, 0x70, 0x61, + 0x63, 0x65, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x72, 0x6f, 0x6f, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, + 0x68, 0x61, 0x73, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x72, 0x6f, 0x6f, 0x74, + 0x53, 0x74, 0x61, 0x74, 0x65, 0x48, 0x61, 0x73, 0x68, 0x22, 0x62, 0x0a, 0x0b, 0x4c, 0x61, 0x79, + 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1c, 0x0a, 0x18, 0x4c, 0x41, 0x59, 0x45, + 0x52, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, + 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x19, 0x0a, 0x15, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, + 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x41, 0x50, 0x50, 0x52, 0x4f, 0x56, 0x45, 0x44, 0x10, + 0x01, 0x12, 0x1a, 0x0a, 0x16, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, + 0x53, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x52, 0x4d, 0x45, 0x44, 0x10, 0x02, 0x22, 0x25, 0x0a, + 0x0b, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, + 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6e, 0x75, + 0x6d, 0x62, 0x65, 0x72, 0x22, 0x68, 0x0a, 0x08, 0x41, 0x70, 0x70, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x12, 0x42, 0x0a, 0x0e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, + 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x52, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x42, 0x34, + 0x5a, 0x32, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x70, 0x61, + 0x63, 0x65, 0x6d, 0x65, 0x73, 0x68, 0x6f, 0x73, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x6c, + 0x65, 0x61, 0x73, 0x65, 0x2f, 0x67, 0x6f, 0x2f, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x73, + 0x68, 0x2f, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -1563,70 +1285,57 @@ func file_spacemesh_v1_types_proto_rawDescGZIP() []byte { return file_spacemesh_v1_types_proto_rawDescData } -var file_spacemesh_v1_types_proto_enumTypes = make([]protoimpl.EnumInfo, 3) -var file_spacemesh_v1_types_proto_msgTypes = make([]protoimpl.MessageInfo, 19) +var file_spacemesh_v1_types_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_spacemesh_v1_types_proto_msgTypes = make([]protoimpl.MessageInfo, 17) var file_spacemesh_v1_types_proto_goTypes = []interface{}{ - (SmartContractTransaction_TransactionType)(0), // 0: spacemesh.v1.SmartContractTransaction.TransactionType - (Signature_Scheme)(0), // 1: spacemesh.v1.Signature.Scheme - (Layer_LayerStatus)(0), // 2: spacemesh.v1.Layer.LayerStatus - (*SimpleInt)(nil), // 3: spacemesh.v1.SimpleInt - (*SimpleString)(nil), // 4: spacemesh.v1.SimpleString - (*Amount)(nil), // 5: spacemesh.v1.Amount - (*AccountId)(nil), // 6: spacemesh.v1.AccountId - (*TransactionId)(nil), // 7: spacemesh.v1.TransactionId - (*ActivationId)(nil), // 8: spacemesh.v1.ActivationId - (*SmesherId)(nil), // 9: spacemesh.v1.SmesherId - (*GasOffered)(nil), // 10: spacemesh.v1.GasOffered - (*CoinTransferTransaction)(nil), // 11: spacemesh.v1.CoinTransferTransaction - (*SmartContractTransaction)(nil), // 12: spacemesh.v1.SmartContractTransaction - (*Signature)(nil), // 13: spacemesh.v1.Signature - (*Activation)(nil), // 14: spacemesh.v1.Activation - (*Transaction)(nil), // 15: spacemesh.v1.Transaction - (*MeshTransaction)(nil), // 16: spacemesh.v1.MeshTransaction - (*Reward)(nil), // 17: spacemesh.v1.Reward - (*Block)(nil), // 18: spacemesh.v1.Block - (*Layer)(nil), // 19: spacemesh.v1.Layer - (*LayerNumber)(nil), // 20: spacemesh.v1.LayerNumber - (*AppEvent)(nil), // 21: spacemesh.v1.AppEvent + (Layer_LayerStatus)(0), // 0: spacemesh.v1.Layer.LayerStatus + (*SimpleInt)(nil), // 1: spacemesh.v1.SimpleInt + (*SimpleString)(nil), // 2: spacemesh.v1.SimpleString + (*Amount)(nil), // 3: spacemesh.v1.Amount + (*AccountId)(nil), // 4: spacemesh.v1.AccountId + (*TransactionId)(nil), // 5: spacemesh.v1.TransactionId + (*ActivationId)(nil), // 6: spacemesh.v1.ActivationId + (*SmesherId)(nil), // 7: spacemesh.v1.SmesherId + (*Activation)(nil), // 8: spacemesh.v1.Activation + (*Transaction)(nil), // 9: spacemesh.v1.Transaction + (*LayerLimits)(nil), // 10: spacemesh.v1.LayerLimits + (*Nonce)(nil), // 11: spacemesh.v1.Nonce + (*MeshTransaction)(nil), // 12: spacemesh.v1.MeshTransaction + (*Reward)(nil), // 13: spacemesh.v1.Reward + (*Block)(nil), // 14: spacemesh.v1.Block + (*Layer)(nil), // 15: spacemesh.v1.Layer + (*LayerNumber)(nil), // 16: spacemesh.v1.LayerNumber + (*AppEvent)(nil), // 17: spacemesh.v1.AppEvent } var file_spacemesh_v1_types_proto_depIdxs = []int32{ - 6, // 0: spacemesh.v1.CoinTransferTransaction.receiver:type_name -> spacemesh.v1.AccountId - 0, // 1: spacemesh.v1.SmartContractTransaction.type:type_name -> spacemesh.v1.SmartContractTransaction.TransactionType - 6, // 2: spacemesh.v1.SmartContractTransaction.account_id:type_name -> spacemesh.v1.AccountId - 1, // 3: spacemesh.v1.Signature.scheme:type_name -> spacemesh.v1.Signature.Scheme - 8, // 4: spacemesh.v1.Activation.id:type_name -> spacemesh.v1.ActivationId - 20, // 5: spacemesh.v1.Activation.layer:type_name -> spacemesh.v1.LayerNumber - 9, // 6: spacemesh.v1.Activation.smesher_id:type_name -> spacemesh.v1.SmesherId - 6, // 7: spacemesh.v1.Activation.coinbase:type_name -> spacemesh.v1.AccountId - 8, // 8: spacemesh.v1.Activation.prev_atx:type_name -> spacemesh.v1.ActivationId - 7, // 9: spacemesh.v1.Transaction.id:type_name -> spacemesh.v1.TransactionId - 11, // 10: spacemesh.v1.Transaction.coin_transfer:type_name -> spacemesh.v1.CoinTransferTransaction - 12, // 11: spacemesh.v1.Transaction.smart_contract:type_name -> spacemesh.v1.SmartContractTransaction - 6, // 12: spacemesh.v1.Transaction.sender:type_name -> spacemesh.v1.AccountId - 10, // 13: spacemesh.v1.Transaction.gas_offered:type_name -> spacemesh.v1.GasOffered - 5, // 14: spacemesh.v1.Transaction.amount:type_name -> spacemesh.v1.Amount - 13, // 15: spacemesh.v1.Transaction.signature:type_name -> spacemesh.v1.Signature - 15, // 16: spacemesh.v1.MeshTransaction.transaction:type_name -> spacemesh.v1.Transaction - 20, // 17: spacemesh.v1.MeshTransaction.layer_id:type_name -> spacemesh.v1.LayerNumber - 20, // 18: spacemesh.v1.Reward.layer:type_name -> spacemesh.v1.LayerNumber - 5, // 19: spacemesh.v1.Reward.total:type_name -> spacemesh.v1.Amount - 5, // 20: spacemesh.v1.Reward.layer_reward:type_name -> spacemesh.v1.Amount - 20, // 21: spacemesh.v1.Reward.layer_computed:type_name -> spacemesh.v1.LayerNumber - 6, // 22: spacemesh.v1.Reward.coinbase:type_name -> spacemesh.v1.AccountId - 9, // 23: spacemesh.v1.Reward.smesher:type_name -> spacemesh.v1.SmesherId - 15, // 24: spacemesh.v1.Block.transactions:type_name -> spacemesh.v1.Transaction - 8, // 25: spacemesh.v1.Block.activation_id:type_name -> spacemesh.v1.ActivationId - 9, // 26: spacemesh.v1.Block.smesher_id:type_name -> spacemesh.v1.SmesherId - 20, // 27: spacemesh.v1.Layer.number:type_name -> spacemesh.v1.LayerNumber - 2, // 28: spacemesh.v1.Layer.status:type_name -> spacemesh.v1.Layer.LayerStatus - 18, // 29: spacemesh.v1.Layer.blocks:type_name -> spacemesh.v1.Block - 14, // 30: spacemesh.v1.Layer.activations:type_name -> spacemesh.v1.Activation - 7, // 31: spacemesh.v1.AppEvent.transaction_id:type_name -> spacemesh.v1.TransactionId - 32, // [32:32] is the sub-list for method output_type - 32, // [32:32] is the sub-list for method input_type - 32, // [32:32] is the sub-list for extension type_name - 32, // [32:32] is the sub-list for extension extendee - 0, // [0:32] is the sub-list for field type_name + 6, // 0: spacemesh.v1.Activation.id:type_name -> spacemesh.v1.ActivationId + 16, // 1: spacemesh.v1.Activation.layer:type_name -> spacemesh.v1.LayerNumber + 7, // 2: spacemesh.v1.Activation.smesher_id:type_name -> spacemesh.v1.SmesherId + 4, // 3: spacemesh.v1.Activation.coinbase:type_name -> spacemesh.v1.AccountId + 6, // 4: spacemesh.v1.Activation.prev_atx:type_name -> spacemesh.v1.ActivationId + 11, // 5: spacemesh.v1.Transaction.nonce:type_name -> spacemesh.v1.Nonce + 10, // 6: spacemesh.v1.Transaction.limits:type_name -> spacemesh.v1.LayerLimits + 9, // 7: spacemesh.v1.MeshTransaction.transaction:type_name -> spacemesh.v1.Transaction + 16, // 8: spacemesh.v1.MeshTransaction.layer_id:type_name -> spacemesh.v1.LayerNumber + 16, // 9: spacemesh.v1.Reward.layer:type_name -> spacemesh.v1.LayerNumber + 3, // 10: spacemesh.v1.Reward.total:type_name -> spacemesh.v1.Amount + 3, // 11: spacemesh.v1.Reward.layer_reward:type_name -> spacemesh.v1.Amount + 16, // 12: spacemesh.v1.Reward.layer_computed:type_name -> spacemesh.v1.LayerNumber + 4, // 13: spacemesh.v1.Reward.coinbase:type_name -> spacemesh.v1.AccountId + 7, // 14: spacemesh.v1.Reward.smesher:type_name -> spacemesh.v1.SmesherId + 9, // 15: spacemesh.v1.Block.transactions:type_name -> spacemesh.v1.Transaction + 6, // 16: spacemesh.v1.Block.activation_id:type_name -> spacemesh.v1.ActivationId + 7, // 17: spacemesh.v1.Block.smesher_id:type_name -> spacemesh.v1.SmesherId + 16, // 18: spacemesh.v1.Layer.number:type_name -> spacemesh.v1.LayerNumber + 0, // 19: spacemesh.v1.Layer.status:type_name -> spacemesh.v1.Layer.LayerStatus + 14, // 20: spacemesh.v1.Layer.blocks:type_name -> spacemesh.v1.Block + 8, // 21: spacemesh.v1.Layer.activations:type_name -> spacemesh.v1.Activation + 5, // 22: spacemesh.v1.AppEvent.transaction_id:type_name -> spacemesh.v1.TransactionId + 23, // [23:23] is the sub-list for method output_type + 23, // [23:23] is the sub-list for method input_type + 23, // [23:23] is the sub-list for extension type_name + 23, // [23:23] is the sub-list for extension extendee + 0, // [0:23] is the sub-list for field type_name } func init() { file_spacemesh_v1_types_proto_init() } @@ -1720,7 +1429,7 @@ func file_spacemesh_v1_types_proto_init() { } } file_spacemesh_v1_types_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GasOffered); i { + switch v := v.(*Activation); i { case 0: return &v.state case 1: @@ -1732,7 +1441,7 @@ func file_spacemesh_v1_types_proto_init() { } } file_spacemesh_v1_types_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CoinTransferTransaction); i { + switch v := v.(*Transaction); i { case 0: return &v.state case 1: @@ -1744,7 +1453,7 @@ func file_spacemesh_v1_types_proto_init() { } } file_spacemesh_v1_types_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SmartContractTransaction); i { + switch v := v.(*LayerLimits); i { case 0: return &v.state case 1: @@ -1756,7 +1465,7 @@ func file_spacemesh_v1_types_proto_init() { } } file_spacemesh_v1_types_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Signature); i { + switch v := v.(*Nonce); i { case 0: return &v.state case 1: @@ -1768,30 +1477,6 @@ func file_spacemesh_v1_types_proto_init() { } } file_spacemesh_v1_types_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Activation); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_spacemesh_v1_types_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Transaction); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_spacemesh_v1_types_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MeshTransaction); i { case 0: return &v.state @@ -1803,7 +1488,7 @@ func file_spacemesh_v1_types_proto_init() { return nil } } - file_spacemesh_v1_types_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + file_spacemesh_v1_types_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Reward); i { case 0: return &v.state @@ -1815,7 +1500,7 @@ func file_spacemesh_v1_types_proto_init() { return nil } } - file_spacemesh_v1_types_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + file_spacemesh_v1_types_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Block); i { case 0: return &v.state @@ -1827,7 +1512,7 @@ func file_spacemesh_v1_types_proto_init() { return nil } } - file_spacemesh_v1_types_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + file_spacemesh_v1_types_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Layer); i { case 0: return &v.state @@ -1839,7 +1524,7 @@ func file_spacemesh_v1_types_proto_init() { return nil } } - file_spacemesh_v1_types_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + file_spacemesh_v1_types_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LayerNumber); i { case 0: return &v.state @@ -1851,7 +1536,7 @@ func file_spacemesh_v1_types_proto_init() { return nil } } - file_spacemesh_v1_types_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + file_spacemesh_v1_types_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AppEvent); i { case 0: return &v.state @@ -1864,17 +1549,13 @@ func file_spacemesh_v1_types_proto_init() { } } } - file_spacemesh_v1_types_proto_msgTypes[12].OneofWrappers = []interface{}{ - (*Transaction_CoinTransfer)(nil), - (*Transaction_SmartContract)(nil), - } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_spacemesh_v1_types_proto_rawDesc, - NumEnums: 3, - NumMessages: 19, + NumEnums: 1, + NumMessages: 17, NumExtensions: 0, NumServices: 0, },