gotron/gen/core/Tron.pb.go
2024-11-21 23:29:58 -03:00

9033 lines
361 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.35.2
// protoc v5.28.0
// source: core/Tron.proto
package core
import (
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
anypb "google.golang.org/protobuf/types/known/anypb"
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 AccountType int32
const (
AccountType_Normal AccountType = 0
AccountType_AssetIssue AccountType = 1
AccountType_Contract AccountType = 2
)
// Enum value maps for AccountType.
var (
AccountType_name = map[int32]string{
0: "Normal",
1: "AssetIssue",
2: "Contract",
}
AccountType_value = map[string]int32{
"Normal": 0,
"AssetIssue": 1,
"Contract": 2,
}
)
func (x AccountType) Enum() *AccountType {
p := new(AccountType)
*p = x
return p
}
func (x AccountType) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (AccountType) Descriptor() protoreflect.EnumDescriptor {
return file_core_Tron_proto_enumTypes[0].Descriptor()
}
func (AccountType) Type() protoreflect.EnumType {
return &file_core_Tron_proto_enumTypes[0]
}
func (x AccountType) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use AccountType.Descriptor instead.
func (AccountType) EnumDescriptor() ([]byte, []int) {
return file_core_Tron_proto_rawDescGZIP(), []int{0}
}
type ReasonCode int32
const (
ReasonCode_REQUESTED ReasonCode = 0
ReasonCode_BAD_PROTOCOL ReasonCode = 2
ReasonCode_TOO_MANY_PEERS ReasonCode = 4
ReasonCode_DUPLICATE_PEER ReasonCode = 5
ReasonCode_INCOMPATIBLE_PROTOCOL ReasonCode = 6
ReasonCode_RANDOM_ELIMINATION ReasonCode = 7
ReasonCode_PEER_QUITING ReasonCode = 8
ReasonCode_UNEXPECTED_IDENTITY ReasonCode = 9
ReasonCode_LOCAL_IDENTITY ReasonCode = 10
ReasonCode_PING_TIMEOUT ReasonCode = 11
ReasonCode_USER_REASON ReasonCode = 16
ReasonCode_RESET ReasonCode = 17
ReasonCode_SYNC_FAIL ReasonCode = 18
ReasonCode_FETCH_FAIL ReasonCode = 19
ReasonCode_BAD_TX ReasonCode = 20
ReasonCode_BAD_BLOCK ReasonCode = 21
ReasonCode_FORKED ReasonCode = 22
ReasonCode_UNLINKABLE ReasonCode = 23
ReasonCode_INCOMPATIBLE_VERSION ReasonCode = 24
ReasonCode_INCOMPATIBLE_CHAIN ReasonCode = 25
ReasonCode_TIME_OUT ReasonCode = 32
ReasonCode_CONNECT_FAIL ReasonCode = 33
ReasonCode_TOO_MANY_PEERS_WITH_SAME_IP ReasonCode = 34
ReasonCode_LIGHT_NODE_SYNC_FAIL ReasonCode = 35
ReasonCode_BELOW_THAN_ME ReasonCode = 36
ReasonCode_NOT_WITNESS ReasonCode = 37
ReasonCode_NO_SUCH_MESSAGE ReasonCode = 38
ReasonCode_UNKNOWN ReasonCode = 255
)
// Enum value maps for ReasonCode.
var (
ReasonCode_name = map[int32]string{
0: "REQUESTED",
2: "BAD_PROTOCOL",
4: "TOO_MANY_PEERS",
5: "DUPLICATE_PEER",
6: "INCOMPATIBLE_PROTOCOL",
7: "RANDOM_ELIMINATION",
8: "PEER_QUITING",
9: "UNEXPECTED_IDENTITY",
10: "LOCAL_IDENTITY",
11: "PING_TIMEOUT",
16: "USER_REASON",
17: "RESET",
18: "SYNC_FAIL",
19: "FETCH_FAIL",
20: "BAD_TX",
21: "BAD_BLOCK",
22: "FORKED",
23: "UNLINKABLE",
24: "INCOMPATIBLE_VERSION",
25: "INCOMPATIBLE_CHAIN",
32: "TIME_OUT",
33: "CONNECT_FAIL",
34: "TOO_MANY_PEERS_WITH_SAME_IP",
35: "LIGHT_NODE_SYNC_FAIL",
36: "BELOW_THAN_ME",
37: "NOT_WITNESS",
38: "NO_SUCH_MESSAGE",
255: "UNKNOWN",
}
ReasonCode_value = map[string]int32{
"REQUESTED": 0,
"BAD_PROTOCOL": 2,
"TOO_MANY_PEERS": 4,
"DUPLICATE_PEER": 5,
"INCOMPATIBLE_PROTOCOL": 6,
"RANDOM_ELIMINATION": 7,
"PEER_QUITING": 8,
"UNEXPECTED_IDENTITY": 9,
"LOCAL_IDENTITY": 10,
"PING_TIMEOUT": 11,
"USER_REASON": 16,
"RESET": 17,
"SYNC_FAIL": 18,
"FETCH_FAIL": 19,
"BAD_TX": 20,
"BAD_BLOCK": 21,
"FORKED": 22,
"UNLINKABLE": 23,
"INCOMPATIBLE_VERSION": 24,
"INCOMPATIBLE_CHAIN": 25,
"TIME_OUT": 32,
"CONNECT_FAIL": 33,
"TOO_MANY_PEERS_WITH_SAME_IP": 34,
"LIGHT_NODE_SYNC_FAIL": 35,
"BELOW_THAN_ME": 36,
"NOT_WITNESS": 37,
"NO_SUCH_MESSAGE": 38,
"UNKNOWN": 255,
}
)
func (x ReasonCode) Enum() *ReasonCode {
p := new(ReasonCode)
*p = x
return p
}
func (x ReasonCode) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (ReasonCode) Descriptor() protoreflect.EnumDescriptor {
return file_core_Tron_proto_enumTypes[1].Descriptor()
}
func (ReasonCode) Type() protoreflect.EnumType {
return &file_core_Tron_proto_enumTypes[1]
}
func (x ReasonCode) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use ReasonCode.Descriptor instead.
func (ReasonCode) EnumDescriptor() ([]byte, []int) {
return file_core_Tron_proto_rawDescGZIP(), []int{1}
}
type Proposal_State int32
const (
Proposal_PENDING Proposal_State = 0
Proposal_DISAPPROVED Proposal_State = 1
Proposal_APPROVED Proposal_State = 2
Proposal_CANCELED Proposal_State = 3
)
// Enum value maps for Proposal_State.
var (
Proposal_State_name = map[int32]string{
0: "PENDING",
1: "DISAPPROVED",
2: "APPROVED",
3: "CANCELED",
}
Proposal_State_value = map[string]int32{
"PENDING": 0,
"DISAPPROVED": 1,
"APPROVED": 2,
"CANCELED": 3,
}
)
func (x Proposal_State) Enum() *Proposal_State {
p := new(Proposal_State)
*p = x
return p
}
func (x Proposal_State) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (Proposal_State) Descriptor() protoreflect.EnumDescriptor {
return file_core_Tron_proto_enumTypes[2].Descriptor()
}
func (Proposal_State) Type() protoreflect.EnumType {
return &file_core_Tron_proto_enumTypes[2]
}
func (x Proposal_State) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use Proposal_State.Descriptor instead.
func (Proposal_State) EnumDescriptor() ([]byte, []int) {
return file_core_Tron_proto_rawDescGZIP(), []int{2, 0}
}
type MarketOrder_State int32
const (
MarketOrder_ACTIVE MarketOrder_State = 0
MarketOrder_INACTIVE MarketOrder_State = 1
MarketOrder_CANCELED MarketOrder_State = 2
)
// Enum value maps for MarketOrder_State.
var (
MarketOrder_State_name = map[int32]string{
0: "ACTIVE",
1: "INACTIVE",
2: "CANCELED",
}
MarketOrder_State_value = map[string]int32{
"ACTIVE": 0,
"INACTIVE": 1,
"CANCELED": 2,
}
)
func (x MarketOrder_State) Enum() *MarketOrder_State {
p := new(MarketOrder_State)
*p = x
return p
}
func (x MarketOrder_State) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (MarketOrder_State) Descriptor() protoreflect.EnumDescriptor {
return file_core_Tron_proto_enumTypes[3].Descriptor()
}
func (MarketOrder_State) Type() protoreflect.EnumType {
return &file_core_Tron_proto_enumTypes[3]
}
func (x MarketOrder_State) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use MarketOrder_State.Descriptor instead.
func (MarketOrder_State) EnumDescriptor() ([]byte, []int) {
return file_core_Tron_proto_rawDescGZIP(), []int{4, 0}
}
type Permission_PermissionType int32
const (
Permission_Owner Permission_PermissionType = 0
Permission_Witness Permission_PermissionType = 1
Permission_Active Permission_PermissionType = 2
)
// Enum value maps for Permission_PermissionType.
var (
Permission_PermissionType_name = map[int32]string{
0: "Owner",
1: "Witness",
2: "Active",
}
Permission_PermissionType_value = map[string]int32{
"Owner": 0,
"Witness": 1,
"Active": 2,
}
)
func (x Permission_PermissionType) Enum() *Permission_PermissionType {
p := new(Permission_PermissionType)
*p = x
return p
}
func (x Permission_PermissionType) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (Permission_PermissionType) Descriptor() protoreflect.EnumDescriptor {
return file_core_Tron_proto_enumTypes[4].Descriptor()
}
func (Permission_PermissionType) Type() protoreflect.EnumType {
return &file_core_Tron_proto_enumTypes[4]
}
func (x Permission_PermissionType) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use Permission_PermissionType.Descriptor instead.
func (Permission_PermissionType) EnumDescriptor() ([]byte, []int) {
return file_core_Tron_proto_rawDescGZIP(), []int{17, 0}
}
type Transaction_Contract_ContractType int32
const (
Transaction_Contract_AccountCreateContract Transaction_Contract_ContractType = 0
Transaction_Contract_TransferContract Transaction_Contract_ContractType = 1
Transaction_Contract_TransferAssetContract Transaction_Contract_ContractType = 2
Transaction_Contract_VoteAssetContract Transaction_Contract_ContractType = 3
Transaction_Contract_VoteWitnessContract Transaction_Contract_ContractType = 4
Transaction_Contract_WitnessCreateContract Transaction_Contract_ContractType = 5
Transaction_Contract_AssetIssueContract Transaction_Contract_ContractType = 6
Transaction_Contract_WitnessUpdateContract Transaction_Contract_ContractType = 8
Transaction_Contract_ParticipateAssetIssueContract Transaction_Contract_ContractType = 9
Transaction_Contract_AccountUpdateContract Transaction_Contract_ContractType = 10
Transaction_Contract_FreezeBalanceContract Transaction_Contract_ContractType = 11
Transaction_Contract_UnfreezeBalanceContract Transaction_Contract_ContractType = 12
Transaction_Contract_WithdrawBalanceContract Transaction_Contract_ContractType = 13
Transaction_Contract_UnfreezeAssetContract Transaction_Contract_ContractType = 14
Transaction_Contract_UpdateAssetContract Transaction_Contract_ContractType = 15
Transaction_Contract_ProposalCreateContract Transaction_Contract_ContractType = 16
Transaction_Contract_ProposalApproveContract Transaction_Contract_ContractType = 17
Transaction_Contract_ProposalDeleteContract Transaction_Contract_ContractType = 18
Transaction_Contract_SetAccountIdContract Transaction_Contract_ContractType = 19
Transaction_Contract_CustomContract Transaction_Contract_ContractType = 20
Transaction_Contract_CreateSmartContract Transaction_Contract_ContractType = 30
Transaction_Contract_TriggerSmartContract Transaction_Contract_ContractType = 31
Transaction_Contract_GetContract Transaction_Contract_ContractType = 32
Transaction_Contract_UpdateSettingContract Transaction_Contract_ContractType = 33
Transaction_Contract_ExchangeCreateContract Transaction_Contract_ContractType = 41
Transaction_Contract_ExchangeInjectContract Transaction_Contract_ContractType = 42
Transaction_Contract_ExchangeWithdrawContract Transaction_Contract_ContractType = 43
Transaction_Contract_ExchangeTransactionContract Transaction_Contract_ContractType = 44
Transaction_Contract_UpdateEnergyLimitContract Transaction_Contract_ContractType = 45
Transaction_Contract_AccountPermissionUpdateContract Transaction_Contract_ContractType = 46
Transaction_Contract_ClearABIContract Transaction_Contract_ContractType = 48
Transaction_Contract_UpdateBrokerageContract Transaction_Contract_ContractType = 49
Transaction_Contract_ShieldedTransferContract Transaction_Contract_ContractType = 51
Transaction_Contract_MarketSellAssetContract Transaction_Contract_ContractType = 52
Transaction_Contract_MarketCancelOrderContract Transaction_Contract_ContractType = 53
Transaction_Contract_FreezeBalanceV2Contract Transaction_Contract_ContractType = 54
Transaction_Contract_UnfreezeBalanceV2Contract Transaction_Contract_ContractType = 55
Transaction_Contract_WithdrawExpireUnfreezeContract Transaction_Contract_ContractType = 56
Transaction_Contract_DelegateResourceContract Transaction_Contract_ContractType = 57
Transaction_Contract_UnDelegateResourceContract Transaction_Contract_ContractType = 58
Transaction_Contract_CancelAllUnfreezeV2Contract Transaction_Contract_ContractType = 59
)
// Enum value maps for Transaction_Contract_ContractType.
var (
Transaction_Contract_ContractType_name = map[int32]string{
0: "AccountCreateContract",
1: "TransferContract",
2: "TransferAssetContract",
3: "VoteAssetContract",
4: "VoteWitnessContract",
5: "WitnessCreateContract",
6: "AssetIssueContract",
8: "WitnessUpdateContract",
9: "ParticipateAssetIssueContract",
10: "AccountUpdateContract",
11: "FreezeBalanceContract",
12: "UnfreezeBalanceContract",
13: "WithdrawBalanceContract",
14: "UnfreezeAssetContract",
15: "UpdateAssetContract",
16: "ProposalCreateContract",
17: "ProposalApproveContract",
18: "ProposalDeleteContract",
19: "SetAccountIdContract",
20: "CustomContract",
30: "CreateSmartContract",
31: "TriggerSmartContract",
32: "GetContract",
33: "UpdateSettingContract",
41: "ExchangeCreateContract",
42: "ExchangeInjectContract",
43: "ExchangeWithdrawContract",
44: "ExchangeTransactionContract",
45: "UpdateEnergyLimitContract",
46: "AccountPermissionUpdateContract",
48: "ClearABIContract",
49: "UpdateBrokerageContract",
51: "ShieldedTransferContract",
52: "MarketSellAssetContract",
53: "MarketCancelOrderContract",
54: "FreezeBalanceV2Contract",
55: "UnfreezeBalanceV2Contract",
56: "WithdrawExpireUnfreezeContract",
57: "DelegateResourceContract",
58: "UnDelegateResourceContract",
59: "CancelAllUnfreezeV2Contract",
}
Transaction_Contract_ContractType_value = map[string]int32{
"AccountCreateContract": 0,
"TransferContract": 1,
"TransferAssetContract": 2,
"VoteAssetContract": 3,
"VoteWitnessContract": 4,
"WitnessCreateContract": 5,
"AssetIssueContract": 6,
"WitnessUpdateContract": 8,
"ParticipateAssetIssueContract": 9,
"AccountUpdateContract": 10,
"FreezeBalanceContract": 11,
"UnfreezeBalanceContract": 12,
"WithdrawBalanceContract": 13,
"UnfreezeAssetContract": 14,
"UpdateAssetContract": 15,
"ProposalCreateContract": 16,
"ProposalApproveContract": 17,
"ProposalDeleteContract": 18,
"SetAccountIdContract": 19,
"CustomContract": 20,
"CreateSmartContract": 30,
"TriggerSmartContract": 31,
"GetContract": 32,
"UpdateSettingContract": 33,
"ExchangeCreateContract": 41,
"ExchangeInjectContract": 42,
"ExchangeWithdrawContract": 43,
"ExchangeTransactionContract": 44,
"UpdateEnergyLimitContract": 45,
"AccountPermissionUpdateContract": 46,
"ClearABIContract": 48,
"UpdateBrokerageContract": 49,
"ShieldedTransferContract": 51,
"MarketSellAssetContract": 52,
"MarketCancelOrderContract": 53,
"FreezeBalanceV2Contract": 54,
"UnfreezeBalanceV2Contract": 55,
"WithdrawExpireUnfreezeContract": 56,
"DelegateResourceContract": 57,
"UnDelegateResourceContract": 58,
"CancelAllUnfreezeV2Contract": 59,
}
)
func (x Transaction_Contract_ContractType) Enum() *Transaction_Contract_ContractType {
p := new(Transaction_Contract_ContractType)
*p = x
return p
}
func (x Transaction_Contract_ContractType) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (Transaction_Contract_ContractType) Descriptor() protoreflect.EnumDescriptor {
return file_core_Tron_proto_enumTypes[5].Descriptor()
}
func (Transaction_Contract_ContractType) Type() protoreflect.EnumType {
return &file_core_Tron_proto_enumTypes[5]
}
func (x Transaction_Contract_ContractType) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use Transaction_Contract_ContractType.Descriptor instead.
func (Transaction_Contract_ContractType) EnumDescriptor() ([]byte, []int) {
return file_core_Tron_proto_rawDescGZIP(), []int{25, 0, 0}
}
type Transaction_ResultCode int32
const (
Transaction_Result_SUCESS Transaction_ResultCode = 0
Transaction_Result_FAILED Transaction_ResultCode = 1
)
// Enum value maps for Transaction_ResultCode.
var (
Transaction_ResultCode_name = map[int32]string{
0: "SUCESS",
1: "FAILED",
}
Transaction_ResultCode_value = map[string]int32{
"SUCESS": 0,
"FAILED": 1,
}
)
func (x Transaction_ResultCode) Enum() *Transaction_ResultCode {
p := new(Transaction_ResultCode)
*p = x
return p
}
func (x Transaction_ResultCode) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (Transaction_ResultCode) Descriptor() protoreflect.EnumDescriptor {
return file_core_Tron_proto_enumTypes[6].Descriptor()
}
func (Transaction_ResultCode) Type() protoreflect.EnumType {
return &file_core_Tron_proto_enumTypes[6]
}
func (x Transaction_ResultCode) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use Transaction_ResultCode.Descriptor instead.
func (Transaction_ResultCode) EnumDescriptor() ([]byte, []int) {
return file_core_Tron_proto_rawDescGZIP(), []int{25, 1, 0}
}
type Transaction_ResultContractResult int32
const (
Transaction_Result_DEFAULT Transaction_ResultContractResult = 0
Transaction_Result_SUCCESS Transaction_ResultContractResult = 1
Transaction_Result_REVERT Transaction_ResultContractResult = 2
Transaction_Result_BAD_JUMP_DESTINATION Transaction_ResultContractResult = 3
Transaction_Result_OUT_OF_MEMORY Transaction_ResultContractResult = 4
Transaction_Result_PRECOMPILED_CONTRACT Transaction_ResultContractResult = 5
Transaction_Result_STACK_TOO_SMALL Transaction_ResultContractResult = 6
Transaction_Result_STACK_TOO_LARGE Transaction_ResultContractResult = 7
Transaction_Result_ILLEGAL_OPERATION Transaction_ResultContractResult = 8
Transaction_Result_STACK_OVERFLOW Transaction_ResultContractResult = 9
Transaction_Result_OUT_OF_ENERGY Transaction_ResultContractResult = 10
Transaction_Result_OUT_OF_TIME Transaction_ResultContractResult = 11
Transaction_Result_JVM_STACK_OVER_FLOW Transaction_ResultContractResult = 12
Transaction_Result_UNKNOWN Transaction_ResultContractResult = 13
Transaction_Result_TRANSFER_FAILED Transaction_ResultContractResult = 14
Transaction_Result_INVALID_CODE Transaction_ResultContractResult = 15
)
// Enum value maps for Transaction_ResultContractResult.
var (
Transaction_ResultContractResult_name = map[int32]string{
0: "DEFAULT",
1: "SUCCESS",
2: "REVERT",
3: "BAD_JUMP_DESTINATION",
4: "OUT_OF_MEMORY",
5: "PRECOMPILED_CONTRACT",
6: "STACK_TOO_SMALL",
7: "STACK_TOO_LARGE",
8: "ILLEGAL_OPERATION",
9: "STACK_OVERFLOW",
10: "OUT_OF_ENERGY",
11: "OUT_OF_TIME",
12: "JVM_STACK_OVER_FLOW",
13: "UNKNOWN",
14: "TRANSFER_FAILED",
15: "INVALID_CODE",
}
Transaction_ResultContractResult_value = map[string]int32{
"DEFAULT": 0,
"SUCCESS": 1,
"REVERT": 2,
"BAD_JUMP_DESTINATION": 3,
"OUT_OF_MEMORY": 4,
"PRECOMPILED_CONTRACT": 5,
"STACK_TOO_SMALL": 6,
"STACK_TOO_LARGE": 7,
"ILLEGAL_OPERATION": 8,
"STACK_OVERFLOW": 9,
"OUT_OF_ENERGY": 10,
"OUT_OF_TIME": 11,
"JVM_STACK_OVER_FLOW": 12,
"UNKNOWN": 13,
"TRANSFER_FAILED": 14,
"INVALID_CODE": 15,
}
)
func (x Transaction_ResultContractResult) Enum() *Transaction_ResultContractResult {
p := new(Transaction_ResultContractResult)
*p = x
return p
}
func (x Transaction_ResultContractResult) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (Transaction_ResultContractResult) Descriptor() protoreflect.EnumDescriptor {
return file_core_Tron_proto_enumTypes[7].Descriptor()
}
func (Transaction_ResultContractResult) Type() protoreflect.EnumType {
return &file_core_Tron_proto_enumTypes[7]
}
func (x Transaction_ResultContractResult) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use Transaction_ResultContractResult.Descriptor instead.
func (Transaction_ResultContractResult) EnumDescriptor() ([]byte, []int) {
return file_core_Tron_proto_rawDescGZIP(), []int{25, 1, 1}
}
type TransactionInfoCode int32
const (
TransactionInfo_SUCESS TransactionInfoCode = 0
TransactionInfo_FAILED TransactionInfoCode = 1
)
// Enum value maps for TransactionInfoCode.
var (
TransactionInfoCode_name = map[int32]string{
0: "SUCESS",
1: "FAILED",
}
TransactionInfoCode_value = map[string]int32{
"SUCESS": 0,
"FAILED": 1,
}
)
func (x TransactionInfoCode) Enum() *TransactionInfoCode {
p := new(TransactionInfoCode)
*p = x
return p
}
func (x TransactionInfoCode) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (TransactionInfoCode) Descriptor() protoreflect.EnumDescriptor {
return file_core_Tron_proto_enumTypes[8].Descriptor()
}
func (TransactionInfoCode) Type() protoreflect.EnumType {
return &file_core_Tron_proto_enumTypes[8]
}
func (x TransactionInfoCode) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use TransactionInfoCode.Descriptor instead.
func (TransactionInfoCode) EnumDescriptor() ([]byte, []int) {
return file_core_Tron_proto_rawDescGZIP(), []int{26, 0}
}
type BlockInventory_Type int32
const (
BlockInventory_SYNC BlockInventory_Type = 0
BlockInventory_ADVTISE BlockInventory_Type = 1
BlockInventory_FETCH BlockInventory_Type = 2
)
// Enum value maps for BlockInventory_Type.
var (
BlockInventory_Type_name = map[int32]string{
0: "SYNC",
1: "ADVTISE",
2: "FETCH",
}
BlockInventory_Type_value = map[string]int32{
"SYNC": 0,
"ADVTISE": 1,
"FETCH": 2,
}
)
func (x BlockInventory_Type) Enum() *BlockInventory_Type {
p := new(BlockInventory_Type)
*p = x
return p
}
func (x BlockInventory_Type) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (BlockInventory_Type) Descriptor() protoreflect.EnumDescriptor {
return file_core_Tron_proto_enumTypes[9].Descriptor()
}
func (BlockInventory_Type) Type() protoreflect.EnumType {
return &file_core_Tron_proto_enumTypes[9]
}
func (x BlockInventory_Type) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use BlockInventory_Type.Descriptor instead.
func (BlockInventory_Type) EnumDescriptor() ([]byte, []int) {
return file_core_Tron_proto_rawDescGZIP(), []int{32, 0}
}
type Inventory_InventoryType int32
const (
Inventory_TRX Inventory_InventoryType = 0
Inventory_BLOCK Inventory_InventoryType = 1
)
// Enum value maps for Inventory_InventoryType.
var (
Inventory_InventoryType_name = map[int32]string{
0: "TRX",
1: "BLOCK",
}
Inventory_InventoryType_value = map[string]int32{
"TRX": 0,
"BLOCK": 1,
}
)
func (x Inventory_InventoryType) Enum() *Inventory_InventoryType {
p := new(Inventory_InventoryType)
*p = x
return p
}
func (x Inventory_InventoryType) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (Inventory_InventoryType) Descriptor() protoreflect.EnumDescriptor {
return file_core_Tron_proto_enumTypes[10].Descriptor()
}
func (Inventory_InventoryType) Type() protoreflect.EnumType {
return &file_core_Tron_proto_enumTypes[10]
}
func (x Inventory_InventoryType) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use Inventory_InventoryType.Descriptor instead.
func (Inventory_InventoryType) EnumDescriptor() ([]byte, []int) {
return file_core_Tron_proto_rawDescGZIP(), []int{33, 0}
}
type Items_ItemType int32
const (
Items_ERR Items_ItemType = 0
Items_TRX Items_ItemType = 1
Items_BLOCK Items_ItemType = 2
Items_BLOCKHEADER Items_ItemType = 3
)
// Enum value maps for Items_ItemType.
var (
Items_ItemType_name = map[int32]string{
0: "ERR",
1: "TRX",
2: "BLOCK",
3: "BLOCKHEADER",
}
Items_ItemType_value = map[string]int32{
"ERR": 0,
"TRX": 1,
"BLOCK": 2,
"BLOCKHEADER": 3,
}
)
func (x Items_ItemType) Enum() *Items_ItemType {
p := new(Items_ItemType)
*p = x
return p
}
func (x Items_ItemType) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (Items_ItemType) Descriptor() protoreflect.EnumDescriptor {
return file_core_Tron_proto_enumTypes[11].Descriptor()
}
func (Items_ItemType) Type() protoreflect.EnumType {
return &file_core_Tron_proto_enumTypes[11]
}
func (x Items_ItemType) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use Items_ItemType.Descriptor instead.
func (Items_ItemType) EnumDescriptor() ([]byte, []int) {
return file_core_Tron_proto_rawDescGZIP(), []int{34, 0}
}
type PBFTMessage_MsgType int32
const (
PBFTMessage_VIEW_CHANGE PBFTMessage_MsgType = 0
PBFTMessage_REQUEST PBFTMessage_MsgType = 1
PBFTMessage_PREPREPARE PBFTMessage_MsgType = 2
PBFTMessage_PREPARE PBFTMessage_MsgType = 3
PBFTMessage_COMMIT PBFTMessage_MsgType = 4
)
// Enum value maps for PBFTMessage_MsgType.
var (
PBFTMessage_MsgType_name = map[int32]string{
0: "VIEW_CHANGE",
1: "REQUEST",
2: "PREPREPARE",
3: "PREPARE",
4: "COMMIT",
}
PBFTMessage_MsgType_value = map[string]int32{
"VIEW_CHANGE": 0,
"REQUEST": 1,
"PREPREPARE": 2,
"PREPARE": 3,
"COMMIT": 4,
}
)
func (x PBFTMessage_MsgType) Enum() *PBFTMessage_MsgType {
p := new(PBFTMessage_MsgType)
*p = x
return p
}
func (x PBFTMessage_MsgType) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (PBFTMessage_MsgType) Descriptor() protoreflect.EnumDescriptor {
return file_core_Tron_proto_enumTypes[12].Descriptor()
}
func (PBFTMessage_MsgType) Type() protoreflect.EnumType {
return &file_core_Tron_proto_enumTypes[12]
}
func (x PBFTMessage_MsgType) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use PBFTMessage_MsgType.Descriptor instead.
func (PBFTMessage_MsgType) EnumDescriptor() ([]byte, []int) {
return file_core_Tron_proto_rawDescGZIP(), []int{42, 0}
}
type PBFTMessage_DataType int32
const (
PBFTMessage_BLOCK PBFTMessage_DataType = 0
PBFTMessage_SRL PBFTMessage_DataType = 1
)
// Enum value maps for PBFTMessage_DataType.
var (
PBFTMessage_DataType_name = map[int32]string{
0: "BLOCK",
1: "SRL",
}
PBFTMessage_DataType_value = map[string]int32{
"BLOCK": 0,
"SRL": 1,
}
)
func (x PBFTMessage_DataType) Enum() *PBFTMessage_DataType {
p := new(PBFTMessage_DataType)
*p = x
return p
}
func (x PBFTMessage_DataType) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (PBFTMessage_DataType) Descriptor() protoreflect.EnumDescriptor {
return file_core_Tron_proto_enumTypes[13].Descriptor()
}
func (PBFTMessage_DataType) Type() protoreflect.EnumType {
return &file_core_Tron_proto_enumTypes[13]
}
func (x PBFTMessage_DataType) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use PBFTMessage_DataType.Descriptor instead.
func (PBFTMessage_DataType) EnumDescriptor() ([]byte, []int) {
return file_core_Tron_proto_rawDescGZIP(), []int{42, 1}
}
// AccountId, (name, address) use name, (null, address) use address, (name, null) use name,
type AccountId struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Name []byte `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
Address []byte `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"`
}
func (x *AccountId) Reset() {
*x = AccountId{}
mi := &file_core_Tron_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *AccountId) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AccountId) ProtoMessage() {}
func (x *AccountId) ProtoReflect() protoreflect.Message {
mi := &file_core_Tron_proto_msgTypes[0]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use AccountId.ProtoReflect.Descriptor instead.
func (*AccountId) Descriptor() ([]byte, []int) {
return file_core_Tron_proto_rawDescGZIP(), []int{0}
}
func (x *AccountId) GetName() []byte {
if x != nil {
return x.Name
}
return nil
}
func (x *AccountId) GetAddress() []byte {
if x != nil {
return x.Address
}
return nil
}
// vote message
type Vote struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// the super rep address
VoteAddress []byte `protobuf:"bytes,1,opt,name=vote_address,json=voteAddress,proto3" json:"vote_address,omitempty"`
// the vote num to this super rep.
VoteCount int64 `protobuf:"varint,2,opt,name=vote_count,json=voteCount,proto3" json:"vote_count,omitempty"`
}
func (x *Vote) Reset() {
*x = Vote{}
mi := &file_core_Tron_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *Vote) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Vote) ProtoMessage() {}
func (x *Vote) ProtoReflect() protoreflect.Message {
mi := &file_core_Tron_proto_msgTypes[1]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Vote.ProtoReflect.Descriptor instead.
func (*Vote) Descriptor() ([]byte, []int) {
return file_core_Tron_proto_rawDescGZIP(), []int{1}
}
func (x *Vote) GetVoteAddress() []byte {
if x != nil {
return x.VoteAddress
}
return nil
}
func (x *Vote) GetVoteCount() int64 {
if x != nil {
return x.VoteCount
}
return 0
}
// Proposal
type Proposal struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ProposalId int64 `protobuf:"varint,1,opt,name=proposal_id,json=proposalId,proto3" json:"proposal_id,omitempty"`
ProposerAddress []byte `protobuf:"bytes,2,opt,name=proposer_address,json=proposerAddress,proto3" json:"proposer_address,omitempty"`
Parameters map[int64]int64 `protobuf:"bytes,3,rep,name=parameters,proto3" json:"parameters,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
ExpirationTime int64 `protobuf:"varint,4,opt,name=expiration_time,json=expirationTime,proto3" json:"expiration_time,omitempty"`
CreateTime int64 `protobuf:"varint,5,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
Approvals [][]byte `protobuf:"bytes,6,rep,name=approvals,proto3" json:"approvals,omitempty"`
State Proposal_State `protobuf:"varint,7,opt,name=state,proto3,enum=protocol.Proposal_State" json:"state,omitempty"`
}
func (x *Proposal) Reset() {
*x = Proposal{}
mi := &file_core_Tron_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *Proposal) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Proposal) ProtoMessage() {}
func (x *Proposal) ProtoReflect() protoreflect.Message {
mi := &file_core_Tron_proto_msgTypes[2]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Proposal.ProtoReflect.Descriptor instead.
func (*Proposal) Descriptor() ([]byte, []int) {
return file_core_Tron_proto_rawDescGZIP(), []int{2}
}
func (x *Proposal) GetProposalId() int64 {
if x != nil {
return x.ProposalId
}
return 0
}
func (x *Proposal) GetProposerAddress() []byte {
if x != nil {
return x.ProposerAddress
}
return nil
}
func (x *Proposal) GetParameters() map[int64]int64 {
if x != nil {
return x.Parameters
}
return nil
}
func (x *Proposal) GetExpirationTime() int64 {
if x != nil {
return x.ExpirationTime
}
return 0
}
func (x *Proposal) GetCreateTime() int64 {
if x != nil {
return x.CreateTime
}
return 0
}
func (x *Proposal) GetApprovals() [][]byte {
if x != nil {
return x.Approvals
}
return nil
}
func (x *Proposal) GetState() Proposal_State {
if x != nil {
return x.State
}
return Proposal_PENDING
}
// Exchange
type Exchange struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ExchangeId int64 `protobuf:"varint,1,opt,name=exchange_id,json=exchangeId,proto3" json:"exchange_id,omitempty"`
CreatorAddress []byte `protobuf:"bytes,2,opt,name=creator_address,json=creatorAddress,proto3" json:"creator_address,omitempty"`
CreateTime int64 `protobuf:"varint,3,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
FirstTokenId []byte `protobuf:"bytes,6,opt,name=first_token_id,json=firstTokenId,proto3" json:"first_token_id,omitempty"`
FirstTokenBalance int64 `protobuf:"varint,7,opt,name=first_token_balance,json=firstTokenBalance,proto3" json:"first_token_balance,omitempty"`
SecondTokenId []byte `protobuf:"bytes,8,opt,name=second_token_id,json=secondTokenId,proto3" json:"second_token_id,omitempty"`
SecondTokenBalance int64 `protobuf:"varint,9,opt,name=second_token_balance,json=secondTokenBalance,proto3" json:"second_token_balance,omitempty"`
}
func (x *Exchange) Reset() {
*x = Exchange{}
mi := &file_core_Tron_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *Exchange) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Exchange) ProtoMessage() {}
func (x *Exchange) ProtoReflect() protoreflect.Message {
mi := &file_core_Tron_proto_msgTypes[3]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Exchange.ProtoReflect.Descriptor instead.
func (*Exchange) Descriptor() ([]byte, []int) {
return file_core_Tron_proto_rawDescGZIP(), []int{3}
}
func (x *Exchange) GetExchangeId() int64 {
if x != nil {
return x.ExchangeId
}
return 0
}
func (x *Exchange) GetCreatorAddress() []byte {
if x != nil {
return x.CreatorAddress
}
return nil
}
func (x *Exchange) GetCreateTime() int64 {
if x != nil {
return x.CreateTime
}
return 0
}
func (x *Exchange) GetFirstTokenId() []byte {
if x != nil {
return x.FirstTokenId
}
return nil
}
func (x *Exchange) GetFirstTokenBalance() int64 {
if x != nil {
return x.FirstTokenBalance
}
return 0
}
func (x *Exchange) GetSecondTokenId() []byte {
if x != nil {
return x.SecondTokenId
}
return nil
}
func (x *Exchange) GetSecondTokenBalance() int64 {
if x != nil {
return x.SecondTokenBalance
}
return 0
}
// market
type MarketOrder struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
OrderId []byte `protobuf:"bytes,1,opt,name=order_id,json=orderId,proto3" json:"order_id,omitempty"`
OwnerAddress []byte `protobuf:"bytes,2,opt,name=owner_address,json=ownerAddress,proto3" json:"owner_address,omitempty"`
CreateTime int64 `protobuf:"varint,3,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
SellTokenId []byte `protobuf:"bytes,4,opt,name=sell_token_id,json=sellTokenId,proto3" json:"sell_token_id,omitempty"`
SellTokenQuantity int64 `protobuf:"varint,5,opt,name=sell_token_quantity,json=sellTokenQuantity,proto3" json:"sell_token_quantity,omitempty"`
BuyTokenId []byte `protobuf:"bytes,6,opt,name=buy_token_id,json=buyTokenId,proto3" json:"buy_token_id,omitempty"`
BuyTokenQuantity int64 `protobuf:"varint,7,opt,name=buy_token_quantity,json=buyTokenQuantity,proto3" json:"buy_token_quantity,omitempty"` // min to receive
SellTokenQuantityRemain int64 `protobuf:"varint,9,opt,name=sell_token_quantity_remain,json=sellTokenQuantityRemain,proto3" json:"sell_token_quantity_remain,omitempty"`
// When state != ACTIVE and sell_token_quantity_return !=0,
// it means that some sell tokens are returned to the account due to insufficient remaining amount
SellTokenQuantityReturn int64 `protobuf:"varint,10,opt,name=sell_token_quantity_return,json=sellTokenQuantityReturn,proto3" json:"sell_token_quantity_return,omitempty"`
State MarketOrder_State `protobuf:"varint,11,opt,name=state,proto3,enum=protocol.MarketOrder_State" json:"state,omitempty"`
Prev []byte `protobuf:"bytes,12,opt,name=prev,proto3" json:"prev,omitempty"`
Next []byte `protobuf:"bytes,13,opt,name=next,proto3" json:"next,omitempty"`
}
func (x *MarketOrder) Reset() {
*x = MarketOrder{}
mi := &file_core_Tron_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *MarketOrder) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MarketOrder) ProtoMessage() {}
func (x *MarketOrder) ProtoReflect() protoreflect.Message {
mi := &file_core_Tron_proto_msgTypes[4]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use MarketOrder.ProtoReflect.Descriptor instead.
func (*MarketOrder) Descriptor() ([]byte, []int) {
return file_core_Tron_proto_rawDescGZIP(), []int{4}
}
func (x *MarketOrder) GetOrderId() []byte {
if x != nil {
return x.OrderId
}
return nil
}
func (x *MarketOrder) GetOwnerAddress() []byte {
if x != nil {
return x.OwnerAddress
}
return nil
}
func (x *MarketOrder) GetCreateTime() int64 {
if x != nil {
return x.CreateTime
}
return 0
}
func (x *MarketOrder) GetSellTokenId() []byte {
if x != nil {
return x.SellTokenId
}
return nil
}
func (x *MarketOrder) GetSellTokenQuantity() int64 {
if x != nil {
return x.SellTokenQuantity
}
return 0
}
func (x *MarketOrder) GetBuyTokenId() []byte {
if x != nil {
return x.BuyTokenId
}
return nil
}
func (x *MarketOrder) GetBuyTokenQuantity() int64 {
if x != nil {
return x.BuyTokenQuantity
}
return 0
}
func (x *MarketOrder) GetSellTokenQuantityRemain() int64 {
if x != nil {
return x.SellTokenQuantityRemain
}
return 0
}
func (x *MarketOrder) GetSellTokenQuantityReturn() int64 {
if x != nil {
return x.SellTokenQuantityReturn
}
return 0
}
func (x *MarketOrder) GetState() MarketOrder_State {
if x != nil {
return x.State
}
return MarketOrder_ACTIVE
}
func (x *MarketOrder) GetPrev() []byte {
if x != nil {
return x.Prev
}
return nil
}
func (x *MarketOrder) GetNext() []byte {
if x != nil {
return x.Next
}
return nil
}
type MarketOrderList struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Orders []*MarketOrder `protobuf:"bytes,1,rep,name=orders,proto3" json:"orders,omitempty"`
}
func (x *MarketOrderList) Reset() {
*x = MarketOrderList{}
mi := &file_core_Tron_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *MarketOrderList) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MarketOrderList) ProtoMessage() {}
func (x *MarketOrderList) ProtoReflect() protoreflect.Message {
mi := &file_core_Tron_proto_msgTypes[5]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use MarketOrderList.ProtoReflect.Descriptor instead.
func (*MarketOrderList) Descriptor() ([]byte, []int) {
return file_core_Tron_proto_rawDescGZIP(), []int{5}
}
func (x *MarketOrderList) GetOrders() []*MarketOrder {
if x != nil {
return x.Orders
}
return nil
}
type MarketOrderPairList struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
OrderPair []*MarketOrderPair `protobuf:"bytes,1,rep,name=orderPair,proto3" json:"orderPair,omitempty"`
}
func (x *MarketOrderPairList) Reset() {
*x = MarketOrderPairList{}
mi := &file_core_Tron_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *MarketOrderPairList) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MarketOrderPairList) ProtoMessage() {}
func (x *MarketOrderPairList) ProtoReflect() protoreflect.Message {
mi := &file_core_Tron_proto_msgTypes[6]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use MarketOrderPairList.ProtoReflect.Descriptor instead.
func (*MarketOrderPairList) Descriptor() ([]byte, []int) {
return file_core_Tron_proto_rawDescGZIP(), []int{6}
}
func (x *MarketOrderPairList) GetOrderPair() []*MarketOrderPair {
if x != nil {
return x.OrderPair
}
return nil
}
type MarketOrderPair struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
SellTokenId []byte `protobuf:"bytes,1,opt,name=sell_token_id,json=sellTokenId,proto3" json:"sell_token_id,omitempty"`
BuyTokenId []byte `protobuf:"bytes,2,opt,name=buy_token_id,json=buyTokenId,proto3" json:"buy_token_id,omitempty"`
}
func (x *MarketOrderPair) Reset() {
*x = MarketOrderPair{}
mi := &file_core_Tron_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *MarketOrderPair) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MarketOrderPair) ProtoMessage() {}
func (x *MarketOrderPair) ProtoReflect() protoreflect.Message {
mi := &file_core_Tron_proto_msgTypes[7]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use MarketOrderPair.ProtoReflect.Descriptor instead.
func (*MarketOrderPair) Descriptor() ([]byte, []int) {
return file_core_Tron_proto_rawDescGZIP(), []int{7}
}
func (x *MarketOrderPair) GetSellTokenId() []byte {
if x != nil {
return x.SellTokenId
}
return nil
}
func (x *MarketOrderPair) GetBuyTokenId() []byte {
if x != nil {
return x.BuyTokenId
}
return nil
}
type MarketAccountOrder struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
OwnerAddress []byte `protobuf:"bytes,1,opt,name=owner_address,json=ownerAddress,proto3" json:"owner_address,omitempty"`
Orders [][]byte `protobuf:"bytes,2,rep,name=orders,proto3" json:"orders,omitempty"` // order_id list
Count int64 `protobuf:"varint,3,opt,name=count,proto3" json:"count,omitempty"` // active count
TotalCount int64 `protobuf:"varint,4,opt,name=total_count,json=totalCount,proto3" json:"total_count,omitempty"`
}
func (x *MarketAccountOrder) Reset() {
*x = MarketAccountOrder{}
mi := &file_core_Tron_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *MarketAccountOrder) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MarketAccountOrder) ProtoMessage() {}
func (x *MarketAccountOrder) ProtoReflect() protoreflect.Message {
mi := &file_core_Tron_proto_msgTypes[8]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use MarketAccountOrder.ProtoReflect.Descriptor instead.
func (*MarketAccountOrder) Descriptor() ([]byte, []int) {
return file_core_Tron_proto_rawDescGZIP(), []int{8}
}
func (x *MarketAccountOrder) GetOwnerAddress() []byte {
if x != nil {
return x.OwnerAddress
}
return nil
}
func (x *MarketAccountOrder) GetOrders() [][]byte {
if x != nil {
return x.Orders
}
return nil
}
func (x *MarketAccountOrder) GetCount() int64 {
if x != nil {
return x.Count
}
return 0
}
func (x *MarketAccountOrder) GetTotalCount() int64 {
if x != nil {
return x.TotalCount
}
return 0
}
type MarketPrice struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
SellTokenQuantity int64 `protobuf:"varint,1,opt,name=sell_token_quantity,json=sellTokenQuantity,proto3" json:"sell_token_quantity,omitempty"`
BuyTokenQuantity int64 `protobuf:"varint,2,opt,name=buy_token_quantity,json=buyTokenQuantity,proto3" json:"buy_token_quantity,omitempty"`
}
func (x *MarketPrice) Reset() {
*x = MarketPrice{}
mi := &file_core_Tron_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *MarketPrice) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MarketPrice) ProtoMessage() {}
func (x *MarketPrice) ProtoReflect() protoreflect.Message {
mi := &file_core_Tron_proto_msgTypes[9]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use MarketPrice.ProtoReflect.Descriptor instead.
func (*MarketPrice) Descriptor() ([]byte, []int) {
return file_core_Tron_proto_rawDescGZIP(), []int{9}
}
func (x *MarketPrice) GetSellTokenQuantity() int64 {
if x != nil {
return x.SellTokenQuantity
}
return 0
}
func (x *MarketPrice) GetBuyTokenQuantity() int64 {
if x != nil {
return x.BuyTokenQuantity
}
return 0
}
type MarketPriceList struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
SellTokenId []byte `protobuf:"bytes,1,opt,name=sell_token_id,json=sellTokenId,proto3" json:"sell_token_id,omitempty"`
BuyTokenId []byte `protobuf:"bytes,2,opt,name=buy_token_id,json=buyTokenId,proto3" json:"buy_token_id,omitempty"`
Prices []*MarketPrice `protobuf:"bytes,3,rep,name=prices,proto3" json:"prices,omitempty"`
}
func (x *MarketPriceList) Reset() {
*x = MarketPriceList{}
mi := &file_core_Tron_proto_msgTypes[10]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *MarketPriceList) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MarketPriceList) ProtoMessage() {}
func (x *MarketPriceList) ProtoReflect() protoreflect.Message {
mi := &file_core_Tron_proto_msgTypes[10]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use MarketPriceList.ProtoReflect.Descriptor instead.
func (*MarketPriceList) Descriptor() ([]byte, []int) {
return file_core_Tron_proto_rawDescGZIP(), []int{10}
}
func (x *MarketPriceList) GetSellTokenId() []byte {
if x != nil {
return x.SellTokenId
}
return nil
}
func (x *MarketPriceList) GetBuyTokenId() []byte {
if x != nil {
return x.BuyTokenId
}
return nil
}
func (x *MarketPriceList) GetPrices() []*MarketPrice {
if x != nil {
return x.Prices
}
return nil
}
type MarketOrderIdList struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Head []byte `protobuf:"bytes,1,opt,name=head,proto3" json:"head,omitempty"`
Tail []byte `protobuf:"bytes,2,opt,name=tail,proto3" json:"tail,omitempty"`
}
func (x *MarketOrderIdList) Reset() {
*x = MarketOrderIdList{}
mi := &file_core_Tron_proto_msgTypes[11]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *MarketOrderIdList) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MarketOrderIdList) ProtoMessage() {}
func (x *MarketOrderIdList) ProtoReflect() protoreflect.Message {
mi := &file_core_Tron_proto_msgTypes[11]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use MarketOrderIdList.ProtoReflect.Descriptor instead.
func (*MarketOrderIdList) Descriptor() ([]byte, []int) {
return file_core_Tron_proto_rawDescGZIP(), []int{11}
}
func (x *MarketOrderIdList) GetHead() []byte {
if x != nil {
return x.Head
}
return nil
}
func (x *MarketOrderIdList) GetTail() []byte {
if x != nil {
return x.Tail
}
return nil
}
type ChainParameters struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ChainParameter []*ChainParameters_ChainParameter `protobuf:"bytes,1,rep,name=chainParameter,proto3" json:"chainParameter,omitempty"`
}
func (x *ChainParameters) Reset() {
*x = ChainParameters{}
mi := &file_core_Tron_proto_msgTypes[12]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ChainParameters) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ChainParameters) ProtoMessage() {}
func (x *ChainParameters) ProtoReflect() protoreflect.Message {
mi := &file_core_Tron_proto_msgTypes[12]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ChainParameters.ProtoReflect.Descriptor instead.
func (*ChainParameters) Descriptor() ([]byte, []int) {
return file_core_Tron_proto_rawDescGZIP(), []int{12}
}
func (x *ChainParameters) GetChainParameter() []*ChainParameters_ChainParameter {
if x != nil {
return x.ChainParameter
}
return nil
}
// Account
type Account struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// account nick name
AccountName []byte `protobuf:"bytes,1,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"`
Type AccountType `protobuf:"varint,2,opt,name=type,proto3,enum=protocol.AccountType" json:"type,omitempty"`
// the create address
Address []byte `protobuf:"bytes,3,opt,name=address,proto3" json:"address,omitempty"`
// the trx balance
Balance int64 `protobuf:"varint,4,opt,name=balance,proto3" json:"balance,omitempty"`
// the votes
Votes []*Vote `protobuf:"bytes,5,rep,name=votes,proto3" json:"votes,omitempty"`
// the other asset owned by this account
Asset map[string]int64 `protobuf:"bytes,6,rep,name=asset,proto3" json:"asset,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
// the other asset owned by this accountkey is assetId
AssetV2 map[string]int64 `protobuf:"bytes,56,rep,name=assetV2,proto3" json:"assetV2,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
// the frozen balance for bandwidth
Frozen []*Account_Frozen `protobuf:"bytes,7,rep,name=frozen,proto3" json:"frozen,omitempty"`
// bandwidth, get from frozen
NetUsage int64 `protobuf:"varint,8,opt,name=net_usage,json=netUsage,proto3" json:"net_usage,omitempty"`
// Frozen balance provided by other accounts to this account
AcquiredDelegatedFrozenBalanceForBandwidth int64 `protobuf:"varint,41,opt,name=acquired_delegated_frozen_balance_for_bandwidth,json=acquiredDelegatedFrozenBalanceForBandwidth,proto3" json:"acquired_delegated_frozen_balance_for_bandwidth,omitempty"`
// Freeze and provide balances to other accounts
DelegatedFrozenBalanceForBandwidth int64 `protobuf:"varint,42,opt,name=delegated_frozen_balance_for_bandwidth,json=delegatedFrozenBalanceForBandwidth,proto3" json:"delegated_frozen_balance_for_bandwidth,omitempty"`
OldTronPower int64 `protobuf:"varint,46,opt,name=old_tron_power,json=oldTronPower,proto3" json:"old_tron_power,omitempty"`
TronPower *Account_Frozen `protobuf:"bytes,47,opt,name=tron_power,json=tronPower,proto3" json:"tron_power,omitempty"`
AssetOptimized bool `protobuf:"varint,60,opt,name=asset_optimized,json=assetOptimized,proto3" json:"asset_optimized,omitempty"`
// this account create time
CreateTime int64 `protobuf:"varint,9,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
// this last operation time, including transfer, voting and so on. //FIXME fix grammar
LatestOprationTime int64 `protobuf:"varint,10,opt,name=latest_opration_time,json=latestOprationTime,proto3" json:"latest_opration_time,omitempty"`
// witness block producing allowance
Allowance int64 `protobuf:"varint,11,opt,name=allowance,proto3" json:"allowance,omitempty"`
// last withdraw time
LatestWithdrawTime int64 `protobuf:"varint,12,opt,name=latest_withdraw_time,json=latestWithdrawTime,proto3" json:"latest_withdraw_time,omitempty"`
// not used so far
Code []byte `protobuf:"bytes,13,opt,name=code,proto3" json:"code,omitempty"`
IsWitness bool `protobuf:"varint,14,opt,name=is_witness,json=isWitness,proto3" json:"is_witness,omitempty"`
IsCommittee bool `protobuf:"varint,15,opt,name=is_committee,json=isCommittee,proto3" json:"is_committee,omitempty"`
// frozen asset(for asset issuer)
FrozenSupply []*Account_Frozen `protobuf:"bytes,16,rep,name=frozen_supply,json=frozenSupply,proto3" json:"frozen_supply,omitempty"`
// asset_issued_name
AssetIssuedName []byte `protobuf:"bytes,17,opt,name=asset_issued_name,json=assetIssuedName,proto3" json:"asset_issued_name,omitempty"`
AssetIssued_ID []byte `protobuf:"bytes,57,opt,name=asset_issued_ID,json=assetIssuedID,proto3" json:"asset_issued_ID,omitempty"`
LatestAssetOperationTime map[string]int64 `protobuf:"bytes,18,rep,name=latest_asset_operation_time,json=latestAssetOperationTime,proto3" json:"latest_asset_operation_time,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
LatestAssetOperationTimeV2 map[string]int64 `protobuf:"bytes,58,rep,name=latest_asset_operation_timeV2,json=latestAssetOperationTimeV2,proto3" json:"latest_asset_operation_timeV2,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
FreeNetUsage int64 `protobuf:"varint,19,opt,name=free_net_usage,json=freeNetUsage,proto3" json:"free_net_usage,omitempty"`
FreeAssetNetUsage map[string]int64 `protobuf:"bytes,20,rep,name=free_asset_net_usage,json=freeAssetNetUsage,proto3" json:"free_asset_net_usage,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
FreeAssetNetUsageV2 map[string]int64 `protobuf:"bytes,59,rep,name=free_asset_net_usageV2,json=freeAssetNetUsageV2,proto3" json:"free_asset_net_usageV2,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
LatestConsumeTime int64 `protobuf:"varint,21,opt,name=latest_consume_time,json=latestConsumeTime,proto3" json:"latest_consume_time,omitempty"`
LatestConsumeFreeTime int64 `protobuf:"varint,22,opt,name=latest_consume_free_time,json=latestConsumeFreeTime,proto3" json:"latest_consume_free_time,omitempty"`
// the identity of this account, case insensitive
AccountId []byte `protobuf:"bytes,23,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"`
NetWindowSize int64 `protobuf:"varint,24,opt,name=net_window_size,json=netWindowSize,proto3" json:"net_window_size,omitempty"`
NetWindowOptimized bool `protobuf:"varint,25,opt,name=net_window_optimized,json=netWindowOptimized,proto3" json:"net_window_optimized,omitempty"`
AccountResource *Account_AccountResource `protobuf:"bytes,26,opt,name=account_resource,json=accountResource,proto3" json:"account_resource,omitempty"`
CodeHash []byte `protobuf:"bytes,30,opt,name=codeHash,proto3" json:"codeHash,omitempty"`
OwnerPermission *Permission `protobuf:"bytes,31,opt,name=owner_permission,json=ownerPermission,proto3" json:"owner_permission,omitempty"`
WitnessPermission *Permission `protobuf:"bytes,32,opt,name=witness_permission,json=witnessPermission,proto3" json:"witness_permission,omitempty"`
ActivePermission []*Permission `protobuf:"bytes,33,rep,name=active_permission,json=activePermission,proto3" json:"active_permission,omitempty"`
FrozenV2 []*Account_FreezeV2 `protobuf:"bytes,34,rep,name=frozenV2,proto3" json:"frozenV2,omitempty"`
UnfrozenV2 []*Account_UnFreezeV2 `protobuf:"bytes,35,rep,name=unfrozenV2,proto3" json:"unfrozenV2,omitempty"`
DelegatedFrozenV2BalanceForBandwidth int64 `protobuf:"varint,36,opt,name=delegated_frozenV2_balance_for_bandwidth,json=delegatedFrozenV2BalanceForBandwidth,proto3" json:"delegated_frozenV2_balance_for_bandwidth,omitempty"`
AcquiredDelegatedFrozenV2BalanceForBandwidth int64 `protobuf:"varint,37,opt,name=acquired_delegated_frozenV2_balance_for_bandwidth,json=acquiredDelegatedFrozenV2BalanceForBandwidth,proto3" json:"acquired_delegated_frozenV2_balance_for_bandwidth,omitempty"`
}
func (x *Account) Reset() {
*x = Account{}
mi := &file_core_Tron_proto_msgTypes[13]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *Account) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Account) ProtoMessage() {}
func (x *Account) ProtoReflect() protoreflect.Message {
mi := &file_core_Tron_proto_msgTypes[13]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Account.ProtoReflect.Descriptor instead.
func (*Account) Descriptor() ([]byte, []int) {
return file_core_Tron_proto_rawDescGZIP(), []int{13}
}
func (x *Account) GetAccountName() []byte {
if x != nil {
return x.AccountName
}
return nil
}
func (x *Account) GetType() AccountType {
if x != nil {
return x.Type
}
return AccountType_Normal
}
func (x *Account) GetAddress() []byte {
if x != nil {
return x.Address
}
return nil
}
func (x *Account) GetBalance() int64 {
if x != nil {
return x.Balance
}
return 0
}
func (x *Account) GetVotes() []*Vote {
if x != nil {
return x.Votes
}
return nil
}
func (x *Account) GetAsset() map[string]int64 {
if x != nil {
return x.Asset
}
return nil
}
func (x *Account) GetAssetV2() map[string]int64 {
if x != nil {
return x.AssetV2
}
return nil
}
func (x *Account) GetFrozen() []*Account_Frozen {
if x != nil {
return x.Frozen
}
return nil
}
func (x *Account) GetNetUsage() int64 {
if x != nil {
return x.NetUsage
}
return 0
}
func (x *Account) GetAcquiredDelegatedFrozenBalanceForBandwidth() int64 {
if x != nil {
return x.AcquiredDelegatedFrozenBalanceForBandwidth
}
return 0
}
func (x *Account) GetDelegatedFrozenBalanceForBandwidth() int64 {
if x != nil {
return x.DelegatedFrozenBalanceForBandwidth
}
return 0
}
func (x *Account) GetOldTronPower() int64 {
if x != nil {
return x.OldTronPower
}
return 0
}
func (x *Account) GetTronPower() *Account_Frozen {
if x != nil {
return x.TronPower
}
return nil
}
func (x *Account) GetAssetOptimized() bool {
if x != nil {
return x.AssetOptimized
}
return false
}
func (x *Account) GetCreateTime() int64 {
if x != nil {
return x.CreateTime
}
return 0
}
func (x *Account) GetLatestOprationTime() int64 {
if x != nil {
return x.LatestOprationTime
}
return 0
}
func (x *Account) GetAllowance() int64 {
if x != nil {
return x.Allowance
}
return 0
}
func (x *Account) GetLatestWithdrawTime() int64 {
if x != nil {
return x.LatestWithdrawTime
}
return 0
}
func (x *Account) GetCode() []byte {
if x != nil {
return x.Code
}
return nil
}
func (x *Account) GetIsWitness() bool {
if x != nil {
return x.IsWitness
}
return false
}
func (x *Account) GetIsCommittee() bool {
if x != nil {
return x.IsCommittee
}
return false
}
func (x *Account) GetFrozenSupply() []*Account_Frozen {
if x != nil {
return x.FrozenSupply
}
return nil
}
func (x *Account) GetAssetIssuedName() []byte {
if x != nil {
return x.AssetIssuedName
}
return nil
}
func (x *Account) GetAssetIssued_ID() []byte {
if x != nil {
return x.AssetIssued_ID
}
return nil
}
func (x *Account) GetLatestAssetOperationTime() map[string]int64 {
if x != nil {
return x.LatestAssetOperationTime
}
return nil
}
func (x *Account) GetLatestAssetOperationTimeV2() map[string]int64 {
if x != nil {
return x.LatestAssetOperationTimeV2
}
return nil
}
func (x *Account) GetFreeNetUsage() int64 {
if x != nil {
return x.FreeNetUsage
}
return 0
}
func (x *Account) GetFreeAssetNetUsage() map[string]int64 {
if x != nil {
return x.FreeAssetNetUsage
}
return nil
}
func (x *Account) GetFreeAssetNetUsageV2() map[string]int64 {
if x != nil {
return x.FreeAssetNetUsageV2
}
return nil
}
func (x *Account) GetLatestConsumeTime() int64 {
if x != nil {
return x.LatestConsumeTime
}
return 0
}
func (x *Account) GetLatestConsumeFreeTime() int64 {
if x != nil {
return x.LatestConsumeFreeTime
}
return 0
}
func (x *Account) GetAccountId() []byte {
if x != nil {
return x.AccountId
}
return nil
}
func (x *Account) GetNetWindowSize() int64 {
if x != nil {
return x.NetWindowSize
}
return 0
}
func (x *Account) GetNetWindowOptimized() bool {
if x != nil {
return x.NetWindowOptimized
}
return false
}
func (x *Account) GetAccountResource() *Account_AccountResource {
if x != nil {
return x.AccountResource
}
return nil
}
func (x *Account) GetCodeHash() []byte {
if x != nil {
return x.CodeHash
}
return nil
}
func (x *Account) GetOwnerPermission() *Permission {
if x != nil {
return x.OwnerPermission
}
return nil
}
func (x *Account) GetWitnessPermission() *Permission {
if x != nil {
return x.WitnessPermission
}
return nil
}
func (x *Account) GetActivePermission() []*Permission {
if x != nil {
return x.ActivePermission
}
return nil
}
func (x *Account) GetFrozenV2() []*Account_FreezeV2 {
if x != nil {
return x.FrozenV2
}
return nil
}
func (x *Account) GetUnfrozenV2() []*Account_UnFreezeV2 {
if x != nil {
return x.UnfrozenV2
}
return nil
}
func (x *Account) GetDelegatedFrozenV2BalanceForBandwidth() int64 {
if x != nil {
return x.DelegatedFrozenV2BalanceForBandwidth
}
return 0
}
func (x *Account) GetAcquiredDelegatedFrozenV2BalanceForBandwidth() int64 {
if x != nil {
return x.AcquiredDelegatedFrozenV2BalanceForBandwidth
}
return 0
}
type Key struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Address []byte `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
Weight int64 `protobuf:"varint,2,opt,name=weight,proto3" json:"weight,omitempty"`
}
func (x *Key) Reset() {
*x = Key{}
mi := &file_core_Tron_proto_msgTypes[14]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *Key) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Key) ProtoMessage() {}
func (x *Key) ProtoReflect() protoreflect.Message {
mi := &file_core_Tron_proto_msgTypes[14]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Key.ProtoReflect.Descriptor instead.
func (*Key) Descriptor() ([]byte, []int) {
return file_core_Tron_proto_rawDescGZIP(), []int{14}
}
func (x *Key) GetAddress() []byte {
if x != nil {
return x.Address
}
return nil
}
func (x *Key) GetWeight() int64 {
if x != nil {
return x.Weight
}
return 0
}
type DelegatedResource struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
From []byte `protobuf:"bytes,1,opt,name=from,proto3" json:"from,omitempty"`
To []byte `protobuf:"bytes,2,opt,name=to,proto3" json:"to,omitempty"`
FrozenBalanceForBandwidth int64 `protobuf:"varint,3,opt,name=frozen_balance_for_bandwidth,json=frozenBalanceForBandwidth,proto3" json:"frozen_balance_for_bandwidth,omitempty"`
FrozenBalanceForEnergy int64 `protobuf:"varint,4,opt,name=frozen_balance_for_energy,json=frozenBalanceForEnergy,proto3" json:"frozen_balance_for_energy,omitempty"`
ExpireTimeForBandwidth int64 `protobuf:"varint,5,opt,name=expire_time_for_bandwidth,json=expireTimeForBandwidth,proto3" json:"expire_time_for_bandwidth,omitempty"`
ExpireTimeForEnergy int64 `protobuf:"varint,6,opt,name=expire_time_for_energy,json=expireTimeForEnergy,proto3" json:"expire_time_for_energy,omitempty"`
}
func (x *DelegatedResource) Reset() {
*x = DelegatedResource{}
mi := &file_core_Tron_proto_msgTypes[15]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *DelegatedResource) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DelegatedResource) ProtoMessage() {}
func (x *DelegatedResource) ProtoReflect() protoreflect.Message {
mi := &file_core_Tron_proto_msgTypes[15]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use DelegatedResource.ProtoReflect.Descriptor instead.
func (*DelegatedResource) Descriptor() ([]byte, []int) {
return file_core_Tron_proto_rawDescGZIP(), []int{15}
}
func (x *DelegatedResource) GetFrom() []byte {
if x != nil {
return x.From
}
return nil
}
func (x *DelegatedResource) GetTo() []byte {
if x != nil {
return x.To
}
return nil
}
func (x *DelegatedResource) GetFrozenBalanceForBandwidth() int64 {
if x != nil {
return x.FrozenBalanceForBandwidth
}
return 0
}
func (x *DelegatedResource) GetFrozenBalanceForEnergy() int64 {
if x != nil {
return x.FrozenBalanceForEnergy
}
return 0
}
func (x *DelegatedResource) GetExpireTimeForBandwidth() int64 {
if x != nil {
return x.ExpireTimeForBandwidth
}
return 0
}
func (x *DelegatedResource) GetExpireTimeForEnergy() int64 {
if x != nil {
return x.ExpireTimeForEnergy
}
return 0
}
type Authority struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Account *AccountId `protobuf:"bytes,1,opt,name=account,proto3" json:"account,omitempty"`
PermissionName []byte `protobuf:"bytes,2,opt,name=permission_name,json=permissionName,proto3" json:"permission_name,omitempty"`
}
func (x *Authority) Reset() {
*x = Authority{}
mi := &file_core_Tron_proto_msgTypes[16]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *Authority) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Authority) ProtoMessage() {}
func (x *Authority) ProtoReflect() protoreflect.Message {
mi := &file_core_Tron_proto_msgTypes[16]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Authority.ProtoReflect.Descriptor instead.
func (*Authority) Descriptor() ([]byte, []int) {
return file_core_Tron_proto_rawDescGZIP(), []int{16}
}
func (x *Authority) GetAccount() *AccountId {
if x != nil {
return x.Account
}
return nil
}
func (x *Authority) GetPermissionName() []byte {
if x != nil {
return x.PermissionName
}
return nil
}
type Permission struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Type Permission_PermissionType `protobuf:"varint,1,opt,name=type,proto3,enum=protocol.Permission_PermissionType" json:"type,omitempty"`
Id int32 `protobuf:"varint,2,opt,name=id,proto3" json:"id,omitempty"` //Owner id=0, Witness id=1, Active id start by 2
PermissionName string `protobuf:"bytes,3,opt,name=permission_name,json=permissionName,proto3" json:"permission_name,omitempty"`
Threshold int64 `protobuf:"varint,4,opt,name=threshold,proto3" json:"threshold,omitempty"`
ParentId int32 `protobuf:"varint,5,opt,name=parent_id,json=parentId,proto3" json:"parent_id,omitempty"`
Operations []byte `protobuf:"bytes,6,opt,name=operations,proto3" json:"operations,omitempty"` //1 bit 1 contract
Keys []*Key `protobuf:"bytes,7,rep,name=keys,proto3" json:"keys,omitempty"`
}
func (x *Permission) Reset() {
*x = Permission{}
mi := &file_core_Tron_proto_msgTypes[17]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *Permission) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Permission) ProtoMessage() {}
func (x *Permission) ProtoReflect() protoreflect.Message {
mi := &file_core_Tron_proto_msgTypes[17]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Permission.ProtoReflect.Descriptor instead.
func (*Permission) Descriptor() ([]byte, []int) {
return file_core_Tron_proto_rawDescGZIP(), []int{17}
}
func (x *Permission) GetType() Permission_PermissionType {
if x != nil {
return x.Type
}
return Permission_Owner
}
func (x *Permission) GetId() int32 {
if x != nil {
return x.Id
}
return 0
}
func (x *Permission) GetPermissionName() string {
if x != nil {
return x.PermissionName
}
return ""
}
func (x *Permission) GetThreshold() int64 {
if x != nil {
return x.Threshold
}
return 0
}
func (x *Permission) GetParentId() int32 {
if x != nil {
return x.ParentId
}
return 0
}
func (x *Permission) GetOperations() []byte {
if x != nil {
return x.Operations
}
return nil
}
func (x *Permission) GetKeys() []*Key {
if x != nil {
return x.Keys
}
return nil
}
// Witness
type Witness struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Address []byte `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
VoteCount int64 `protobuf:"varint,2,opt,name=voteCount,proto3" json:"voteCount,omitempty"`
PubKey []byte `protobuf:"bytes,3,opt,name=pubKey,proto3" json:"pubKey,omitempty"`
Url string `protobuf:"bytes,4,opt,name=url,proto3" json:"url,omitempty"`
TotalProduced int64 `protobuf:"varint,5,opt,name=totalProduced,proto3" json:"totalProduced,omitempty"`
TotalMissed int64 `protobuf:"varint,6,opt,name=totalMissed,proto3" json:"totalMissed,omitempty"`
LatestBlockNum int64 `protobuf:"varint,7,opt,name=latestBlockNum,proto3" json:"latestBlockNum,omitempty"`
LatestSlotNum int64 `protobuf:"varint,8,opt,name=latestSlotNum,proto3" json:"latestSlotNum,omitempty"`
IsJobs bool `protobuf:"varint,9,opt,name=isJobs,proto3" json:"isJobs,omitempty"`
}
func (x *Witness) Reset() {
*x = Witness{}
mi := &file_core_Tron_proto_msgTypes[18]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *Witness) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Witness) ProtoMessage() {}
func (x *Witness) ProtoReflect() protoreflect.Message {
mi := &file_core_Tron_proto_msgTypes[18]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Witness.ProtoReflect.Descriptor instead.
func (*Witness) Descriptor() ([]byte, []int) {
return file_core_Tron_proto_rawDescGZIP(), []int{18}
}
func (x *Witness) GetAddress() []byte {
if x != nil {
return x.Address
}
return nil
}
func (x *Witness) GetVoteCount() int64 {
if x != nil {
return x.VoteCount
}
return 0
}
func (x *Witness) GetPubKey() []byte {
if x != nil {
return x.PubKey
}
return nil
}
func (x *Witness) GetUrl() string {
if x != nil {
return x.Url
}
return ""
}
func (x *Witness) GetTotalProduced() int64 {
if x != nil {
return x.TotalProduced
}
return 0
}
func (x *Witness) GetTotalMissed() int64 {
if x != nil {
return x.TotalMissed
}
return 0
}
func (x *Witness) GetLatestBlockNum() int64 {
if x != nil {
return x.LatestBlockNum
}
return 0
}
func (x *Witness) GetLatestSlotNum() int64 {
if x != nil {
return x.LatestSlotNum
}
return 0
}
func (x *Witness) GetIsJobs() bool {
if x != nil {
return x.IsJobs
}
return false
}
// Vote Change
type Votes struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Address []byte `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
OldVotes []*Vote `protobuf:"bytes,2,rep,name=old_votes,json=oldVotes,proto3" json:"old_votes,omitempty"`
NewVotes []*Vote `protobuf:"bytes,3,rep,name=new_votes,json=newVotes,proto3" json:"new_votes,omitempty"`
}
func (x *Votes) Reset() {
*x = Votes{}
mi := &file_core_Tron_proto_msgTypes[19]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *Votes) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Votes) ProtoMessage() {}
func (x *Votes) ProtoReflect() protoreflect.Message {
mi := &file_core_Tron_proto_msgTypes[19]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Votes.ProtoReflect.Descriptor instead.
func (*Votes) Descriptor() ([]byte, []int) {
return file_core_Tron_proto_rawDescGZIP(), []int{19}
}
func (x *Votes) GetAddress() []byte {
if x != nil {
return x.Address
}
return nil
}
func (x *Votes) GetOldVotes() []*Vote {
if x != nil {
return x.OldVotes
}
return nil
}
func (x *Votes) GetNewVotes() []*Vote {
if x != nil {
return x.NewVotes
}
return nil
}
type TXOutput struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Value int64 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"`
PubKeyHash []byte `protobuf:"bytes,2,opt,name=pubKeyHash,proto3" json:"pubKeyHash,omitempty"`
}
func (x *TXOutput) Reset() {
*x = TXOutput{}
mi := &file_core_Tron_proto_msgTypes[20]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *TXOutput) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TXOutput) ProtoMessage() {}
func (x *TXOutput) ProtoReflect() protoreflect.Message {
mi := &file_core_Tron_proto_msgTypes[20]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use TXOutput.ProtoReflect.Descriptor instead.
func (*TXOutput) Descriptor() ([]byte, []int) {
return file_core_Tron_proto_rawDescGZIP(), []int{20}
}
func (x *TXOutput) GetValue() int64 {
if x != nil {
return x.Value
}
return 0
}
func (x *TXOutput) GetPubKeyHash() []byte {
if x != nil {
return x.PubKeyHash
}
return nil
}
type TXInput struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
RawData *TXInputRaw `protobuf:"bytes,1,opt,name=raw_data,json=rawData,proto3" json:"raw_data,omitempty"`
Signature []byte `protobuf:"bytes,4,opt,name=signature,proto3" json:"signature,omitempty"`
}
func (x *TXInput) Reset() {
*x = TXInput{}
mi := &file_core_Tron_proto_msgTypes[21]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *TXInput) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TXInput) ProtoMessage() {}
func (x *TXInput) ProtoReflect() protoreflect.Message {
mi := &file_core_Tron_proto_msgTypes[21]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use TXInput.ProtoReflect.Descriptor instead.
func (*TXInput) Descriptor() ([]byte, []int) {
return file_core_Tron_proto_rawDescGZIP(), []int{21}
}
func (x *TXInput) GetRawData() *TXInputRaw {
if x != nil {
return x.RawData
}
return nil
}
func (x *TXInput) GetSignature() []byte {
if x != nil {
return x.Signature
}
return nil
}
type TXOutputs struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Outputs []*TXOutput `protobuf:"bytes,1,rep,name=outputs,proto3" json:"outputs,omitempty"`
}
func (x *TXOutputs) Reset() {
*x = TXOutputs{}
mi := &file_core_Tron_proto_msgTypes[22]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *TXOutputs) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TXOutputs) ProtoMessage() {}
func (x *TXOutputs) ProtoReflect() protoreflect.Message {
mi := &file_core_Tron_proto_msgTypes[22]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use TXOutputs.ProtoReflect.Descriptor instead.
func (*TXOutputs) Descriptor() ([]byte, []int) {
return file_core_Tron_proto_rawDescGZIP(), []int{22}
}
func (x *TXOutputs) GetOutputs() []*TXOutput {
if x != nil {
return x.Outputs
}
return nil
}
type ResourceReceipt struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
EnergyUsage int64 `protobuf:"varint,1,opt,name=energy_usage,json=energyUsage,proto3" json:"energy_usage,omitempty"`
EnergyFee int64 `protobuf:"varint,2,opt,name=energy_fee,json=energyFee,proto3" json:"energy_fee,omitempty"`
OriginEnergyUsage int64 `protobuf:"varint,3,opt,name=origin_energy_usage,json=originEnergyUsage,proto3" json:"origin_energy_usage,omitempty"`
EnergyUsageTotal int64 `protobuf:"varint,4,opt,name=energy_usage_total,json=energyUsageTotal,proto3" json:"energy_usage_total,omitempty"`
NetUsage int64 `protobuf:"varint,5,opt,name=net_usage,json=netUsage,proto3" json:"net_usage,omitempty"`
NetFee int64 `protobuf:"varint,6,opt,name=net_fee,json=netFee,proto3" json:"net_fee,omitempty"`
Result Transaction_ResultContractResult `protobuf:"varint,7,opt,name=result,proto3,enum=protocol.Transaction_ResultContractResult" json:"result,omitempty"`
EnergyPenaltyTotal int64 `protobuf:"varint,8,opt,name=energy_penalty_total,json=energyPenaltyTotal,proto3" json:"energy_penalty_total,omitempty"`
}
func (x *ResourceReceipt) Reset() {
*x = ResourceReceipt{}
mi := &file_core_Tron_proto_msgTypes[23]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ResourceReceipt) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ResourceReceipt) ProtoMessage() {}
func (x *ResourceReceipt) ProtoReflect() protoreflect.Message {
mi := &file_core_Tron_proto_msgTypes[23]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ResourceReceipt.ProtoReflect.Descriptor instead.
func (*ResourceReceipt) Descriptor() ([]byte, []int) {
return file_core_Tron_proto_rawDescGZIP(), []int{23}
}
func (x *ResourceReceipt) GetEnergyUsage() int64 {
if x != nil {
return x.EnergyUsage
}
return 0
}
func (x *ResourceReceipt) GetEnergyFee() int64 {
if x != nil {
return x.EnergyFee
}
return 0
}
func (x *ResourceReceipt) GetOriginEnergyUsage() int64 {
if x != nil {
return x.OriginEnergyUsage
}
return 0
}
func (x *ResourceReceipt) GetEnergyUsageTotal() int64 {
if x != nil {
return x.EnergyUsageTotal
}
return 0
}
func (x *ResourceReceipt) GetNetUsage() int64 {
if x != nil {
return x.NetUsage
}
return 0
}
func (x *ResourceReceipt) GetNetFee() int64 {
if x != nil {
return x.NetFee
}
return 0
}
func (x *ResourceReceipt) GetResult() Transaction_ResultContractResult {
if x != nil {
return x.Result
}
return Transaction_Result_DEFAULT
}
func (x *ResourceReceipt) GetEnergyPenaltyTotal() int64 {
if x != nil {
return x.EnergyPenaltyTotal
}
return 0
}
type MarketOrderDetail struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
MakerOrderId []byte `protobuf:"bytes,1,opt,name=makerOrderId,proto3" json:"makerOrderId,omitempty"`
TakerOrderId []byte `protobuf:"bytes,2,opt,name=takerOrderId,proto3" json:"takerOrderId,omitempty"`
FillSellQuantity int64 `protobuf:"varint,3,opt,name=fillSellQuantity,proto3" json:"fillSellQuantity,omitempty"`
FillBuyQuantity int64 `protobuf:"varint,4,opt,name=fillBuyQuantity,proto3" json:"fillBuyQuantity,omitempty"`
}
func (x *MarketOrderDetail) Reset() {
*x = MarketOrderDetail{}
mi := &file_core_Tron_proto_msgTypes[24]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *MarketOrderDetail) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MarketOrderDetail) ProtoMessage() {}
func (x *MarketOrderDetail) ProtoReflect() protoreflect.Message {
mi := &file_core_Tron_proto_msgTypes[24]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use MarketOrderDetail.ProtoReflect.Descriptor instead.
func (*MarketOrderDetail) Descriptor() ([]byte, []int) {
return file_core_Tron_proto_rawDescGZIP(), []int{24}
}
func (x *MarketOrderDetail) GetMakerOrderId() []byte {
if x != nil {
return x.MakerOrderId
}
return nil
}
func (x *MarketOrderDetail) GetTakerOrderId() []byte {
if x != nil {
return x.TakerOrderId
}
return nil
}
func (x *MarketOrderDetail) GetFillSellQuantity() int64 {
if x != nil {
return x.FillSellQuantity
}
return 0
}
func (x *MarketOrderDetail) GetFillBuyQuantity() int64 {
if x != nil {
return x.FillBuyQuantity
}
return 0
}
type Transaction struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
RawData *TransactionRaw `protobuf:"bytes,1,opt,name=raw_data,json=rawData,proto3" json:"raw_data,omitempty"`
// only support size = 1, repeated list here for muti-sig extension
Signature [][]byte `protobuf:"bytes,2,rep,name=signature,proto3" json:"signature,omitempty"`
Ret []*Transaction_Result `protobuf:"bytes,5,rep,name=ret,proto3" json:"ret,omitempty"`
}
func (x *Transaction) Reset() {
*x = Transaction{}
mi := &file_core_Tron_proto_msgTypes[25]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *Transaction) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Transaction) ProtoMessage() {}
func (x *Transaction) ProtoReflect() protoreflect.Message {
mi := &file_core_Tron_proto_msgTypes[25]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Transaction.ProtoReflect.Descriptor instead.
func (*Transaction) Descriptor() ([]byte, []int) {
return file_core_Tron_proto_rawDescGZIP(), []int{25}
}
func (x *Transaction) GetRawData() *TransactionRaw {
if x != nil {
return x.RawData
}
return nil
}
func (x *Transaction) GetSignature() [][]byte {
if x != nil {
return x.Signature
}
return nil
}
func (x *Transaction) GetRet() []*Transaction_Result {
if x != nil {
return x.Ret
}
return nil
}
type TransactionInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id []byte `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
Fee int64 `protobuf:"varint,2,opt,name=fee,proto3" json:"fee,omitempty"`
BlockNumber int64 `protobuf:"varint,3,opt,name=blockNumber,proto3" json:"blockNumber,omitempty"`
BlockTimeStamp int64 `protobuf:"varint,4,opt,name=blockTimeStamp,proto3" json:"blockTimeStamp,omitempty"`
ContractResult [][]byte `protobuf:"bytes,5,rep,name=contractResult,proto3" json:"contractResult,omitempty"`
ContractAddress []byte `protobuf:"bytes,6,opt,name=contract_address,json=contractAddress,proto3" json:"contract_address,omitempty"`
Receipt *ResourceReceipt `protobuf:"bytes,7,opt,name=receipt,proto3" json:"receipt,omitempty"`
Log []*TransactionInfo_Log `protobuf:"bytes,8,rep,name=log,proto3" json:"log,omitempty"`
Result TransactionInfoCode `protobuf:"varint,9,opt,name=result,proto3,enum=protocol.TransactionInfoCode" json:"result,omitempty"`
ResMessage []byte `protobuf:"bytes,10,opt,name=resMessage,proto3" json:"resMessage,omitempty"`
AssetIssueID string `protobuf:"bytes,14,opt,name=assetIssueID,proto3" json:"assetIssueID,omitempty"`
WithdrawAmount int64 `protobuf:"varint,15,opt,name=withdraw_amount,json=withdrawAmount,proto3" json:"withdraw_amount,omitempty"`
UnfreezeAmount int64 `protobuf:"varint,16,opt,name=unfreeze_amount,json=unfreezeAmount,proto3" json:"unfreeze_amount,omitempty"`
InternalTransactions []*InternalTransaction `protobuf:"bytes,17,rep,name=internal_transactions,json=internalTransactions,proto3" json:"internal_transactions,omitempty"`
ExchangeReceivedAmount int64 `protobuf:"varint,18,opt,name=exchange_received_amount,json=exchangeReceivedAmount,proto3" json:"exchange_received_amount,omitempty"`
ExchangeInjectAnotherAmount int64 `protobuf:"varint,19,opt,name=exchange_inject_another_amount,json=exchangeInjectAnotherAmount,proto3" json:"exchange_inject_another_amount,omitempty"`
ExchangeWithdrawAnotherAmount int64 `protobuf:"varint,20,opt,name=exchange_withdraw_another_amount,json=exchangeWithdrawAnotherAmount,proto3" json:"exchange_withdraw_another_amount,omitempty"`
ExchangeId int64 `protobuf:"varint,21,opt,name=exchange_id,json=exchangeId,proto3" json:"exchange_id,omitempty"`
ShieldedTransactionFee int64 `protobuf:"varint,22,opt,name=shielded_transaction_fee,json=shieldedTransactionFee,proto3" json:"shielded_transaction_fee,omitempty"`
OrderId []byte `protobuf:"bytes,25,opt,name=orderId,proto3" json:"orderId,omitempty"`
OrderDetails []*MarketOrderDetail `protobuf:"bytes,26,rep,name=orderDetails,proto3" json:"orderDetails,omitempty"`
PackingFee int64 `protobuf:"varint,27,opt,name=packingFee,proto3" json:"packingFee,omitempty"`
WithdrawExpireAmount int64 `protobuf:"varint,28,opt,name=withdraw_expire_amount,json=withdrawExpireAmount,proto3" json:"withdraw_expire_amount,omitempty"`
CancelUnfreezeV2Amount map[string]int64 `protobuf:"bytes,29,rep,name=cancel_unfreezeV2_amount,json=cancelUnfreezeV2Amount,proto3" json:"cancel_unfreezeV2_amount,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
}
func (x *TransactionInfo) Reset() {
*x = TransactionInfo{}
mi := &file_core_Tron_proto_msgTypes[26]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *TransactionInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TransactionInfo) ProtoMessage() {}
func (x *TransactionInfo) ProtoReflect() protoreflect.Message {
mi := &file_core_Tron_proto_msgTypes[26]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use TransactionInfo.ProtoReflect.Descriptor instead.
func (*TransactionInfo) Descriptor() ([]byte, []int) {
return file_core_Tron_proto_rawDescGZIP(), []int{26}
}
func (x *TransactionInfo) GetId() []byte {
if x != nil {
return x.Id
}
return nil
}
func (x *TransactionInfo) GetFee() int64 {
if x != nil {
return x.Fee
}
return 0
}
func (x *TransactionInfo) GetBlockNumber() int64 {
if x != nil {
return x.BlockNumber
}
return 0
}
func (x *TransactionInfo) GetBlockTimeStamp() int64 {
if x != nil {
return x.BlockTimeStamp
}
return 0
}
func (x *TransactionInfo) GetContractResult() [][]byte {
if x != nil {
return x.ContractResult
}
return nil
}
func (x *TransactionInfo) GetContractAddress() []byte {
if x != nil {
return x.ContractAddress
}
return nil
}
func (x *TransactionInfo) GetReceipt() *ResourceReceipt {
if x != nil {
return x.Receipt
}
return nil
}
func (x *TransactionInfo) GetLog() []*TransactionInfo_Log {
if x != nil {
return x.Log
}
return nil
}
func (x *TransactionInfo) GetResult() TransactionInfoCode {
if x != nil {
return x.Result
}
return TransactionInfo_SUCESS
}
func (x *TransactionInfo) GetResMessage() []byte {
if x != nil {
return x.ResMessage
}
return nil
}
func (x *TransactionInfo) GetAssetIssueID() string {
if x != nil {
return x.AssetIssueID
}
return ""
}
func (x *TransactionInfo) GetWithdrawAmount() int64 {
if x != nil {
return x.WithdrawAmount
}
return 0
}
func (x *TransactionInfo) GetUnfreezeAmount() int64 {
if x != nil {
return x.UnfreezeAmount
}
return 0
}
func (x *TransactionInfo) GetInternalTransactions() []*InternalTransaction {
if x != nil {
return x.InternalTransactions
}
return nil
}
func (x *TransactionInfo) GetExchangeReceivedAmount() int64 {
if x != nil {
return x.ExchangeReceivedAmount
}
return 0
}
func (x *TransactionInfo) GetExchangeInjectAnotherAmount() int64 {
if x != nil {
return x.ExchangeInjectAnotherAmount
}
return 0
}
func (x *TransactionInfo) GetExchangeWithdrawAnotherAmount() int64 {
if x != nil {
return x.ExchangeWithdrawAnotherAmount
}
return 0
}
func (x *TransactionInfo) GetExchangeId() int64 {
if x != nil {
return x.ExchangeId
}
return 0
}
func (x *TransactionInfo) GetShieldedTransactionFee() int64 {
if x != nil {
return x.ShieldedTransactionFee
}
return 0
}
func (x *TransactionInfo) GetOrderId() []byte {
if x != nil {
return x.OrderId
}
return nil
}
func (x *TransactionInfo) GetOrderDetails() []*MarketOrderDetail {
if x != nil {
return x.OrderDetails
}
return nil
}
func (x *TransactionInfo) GetPackingFee() int64 {
if x != nil {
return x.PackingFee
}
return 0
}
func (x *TransactionInfo) GetWithdrawExpireAmount() int64 {
if x != nil {
return x.WithdrawExpireAmount
}
return 0
}
func (x *TransactionInfo) GetCancelUnfreezeV2Amount() map[string]int64 {
if x != nil {
return x.CancelUnfreezeV2Amount
}
return nil
}
type TransactionRet struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
BlockNumber int64 `protobuf:"varint,1,opt,name=blockNumber,proto3" json:"blockNumber,omitempty"`
BlockTimeStamp int64 `protobuf:"varint,2,opt,name=blockTimeStamp,proto3" json:"blockTimeStamp,omitempty"`
Transactioninfo []*TransactionInfo `protobuf:"bytes,3,rep,name=transactioninfo,proto3" json:"transactioninfo,omitempty"`
}
func (x *TransactionRet) Reset() {
*x = TransactionRet{}
mi := &file_core_Tron_proto_msgTypes[27]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *TransactionRet) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TransactionRet) ProtoMessage() {}
func (x *TransactionRet) ProtoReflect() protoreflect.Message {
mi := &file_core_Tron_proto_msgTypes[27]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use TransactionRet.ProtoReflect.Descriptor instead.
func (*TransactionRet) Descriptor() ([]byte, []int) {
return file_core_Tron_proto_rawDescGZIP(), []int{27}
}
func (x *TransactionRet) GetBlockNumber() int64 {
if x != nil {
return x.BlockNumber
}
return 0
}
func (x *TransactionRet) GetBlockTimeStamp() int64 {
if x != nil {
return x.BlockTimeStamp
}
return 0
}
func (x *TransactionRet) GetTransactioninfo() []*TransactionInfo {
if x != nil {
return x.Transactioninfo
}
return nil
}
type Transactions struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Transactions []*Transaction `protobuf:"bytes,1,rep,name=transactions,proto3" json:"transactions,omitempty"`
}
func (x *Transactions) Reset() {
*x = Transactions{}
mi := &file_core_Tron_proto_msgTypes[28]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *Transactions) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Transactions) ProtoMessage() {}
func (x *Transactions) ProtoReflect() protoreflect.Message {
mi := &file_core_Tron_proto_msgTypes[28]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Transactions.ProtoReflect.Descriptor instead.
func (*Transactions) Descriptor() ([]byte, []int) {
return file_core_Tron_proto_rawDescGZIP(), []int{28}
}
func (x *Transactions) GetTransactions() []*Transaction {
if x != nil {
return x.Transactions
}
return nil
}
type BlockHeader struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
RawData *BlockHeaderRaw `protobuf:"bytes,1,opt,name=raw_data,json=rawData,proto3" json:"raw_data,omitempty"`
WitnessSignature []byte `protobuf:"bytes,2,opt,name=witness_signature,json=witnessSignature,proto3" json:"witness_signature,omitempty"`
}
func (x *BlockHeader) Reset() {
*x = BlockHeader{}
mi := &file_core_Tron_proto_msgTypes[29]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *BlockHeader) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*BlockHeader) ProtoMessage() {}
func (x *BlockHeader) ProtoReflect() protoreflect.Message {
mi := &file_core_Tron_proto_msgTypes[29]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use BlockHeader.ProtoReflect.Descriptor instead.
func (*BlockHeader) Descriptor() ([]byte, []int) {
return file_core_Tron_proto_rawDescGZIP(), []int{29}
}
func (x *BlockHeader) GetRawData() *BlockHeaderRaw {
if x != nil {
return x.RawData
}
return nil
}
func (x *BlockHeader) GetWitnessSignature() []byte {
if x != nil {
return x.WitnessSignature
}
return nil
}
// block
type Block struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Transactions []*Transaction `protobuf:"bytes,1,rep,name=transactions,proto3" json:"transactions,omitempty"`
BlockHeader *BlockHeader `protobuf:"bytes,2,opt,name=block_header,json=blockHeader,proto3" json:"block_header,omitempty"`
}
func (x *Block) Reset() {
*x = Block{}
mi := &file_core_Tron_proto_msgTypes[30]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *Block) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Block) ProtoMessage() {}
func (x *Block) ProtoReflect() protoreflect.Message {
mi := &file_core_Tron_proto_msgTypes[30]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Block.ProtoReflect.Descriptor instead.
func (*Block) Descriptor() ([]byte, []int) {
return file_core_Tron_proto_rawDescGZIP(), []int{30}
}
func (x *Block) GetTransactions() []*Transaction {
if x != nil {
return x.Transactions
}
return nil
}
func (x *Block) GetBlockHeader() *BlockHeader {
if x != nil {
return x.BlockHeader
}
return nil
}
type ChainInventory struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Ids []*ChainInventory_BlockId `protobuf:"bytes,1,rep,name=ids,proto3" json:"ids,omitempty"`
RemainNum int64 `protobuf:"varint,2,opt,name=remain_num,json=remainNum,proto3" json:"remain_num,omitempty"`
}
func (x *ChainInventory) Reset() {
*x = ChainInventory{}
mi := &file_core_Tron_proto_msgTypes[31]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ChainInventory) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ChainInventory) ProtoMessage() {}
func (x *ChainInventory) ProtoReflect() protoreflect.Message {
mi := &file_core_Tron_proto_msgTypes[31]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ChainInventory.ProtoReflect.Descriptor instead.
func (*ChainInventory) Descriptor() ([]byte, []int) {
return file_core_Tron_proto_rawDescGZIP(), []int{31}
}
func (x *ChainInventory) GetIds() []*ChainInventory_BlockId {
if x != nil {
return x.Ids
}
return nil
}
func (x *ChainInventory) GetRemainNum() int64 {
if x != nil {
return x.RemainNum
}
return 0
}
// Inventory
type BlockInventory struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Ids []*BlockInventory_BlockId `protobuf:"bytes,1,rep,name=ids,proto3" json:"ids,omitempty"`
Type BlockInventory_Type `protobuf:"varint,2,opt,name=type,proto3,enum=protocol.BlockInventory_Type" json:"type,omitempty"`
}
func (x *BlockInventory) Reset() {
*x = BlockInventory{}
mi := &file_core_Tron_proto_msgTypes[32]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *BlockInventory) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*BlockInventory) ProtoMessage() {}
func (x *BlockInventory) ProtoReflect() protoreflect.Message {
mi := &file_core_Tron_proto_msgTypes[32]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use BlockInventory.ProtoReflect.Descriptor instead.
func (*BlockInventory) Descriptor() ([]byte, []int) {
return file_core_Tron_proto_rawDescGZIP(), []int{32}
}
func (x *BlockInventory) GetIds() []*BlockInventory_BlockId {
if x != nil {
return x.Ids
}
return nil
}
func (x *BlockInventory) GetType() BlockInventory_Type {
if x != nil {
return x.Type
}
return BlockInventory_SYNC
}
type Inventory struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Type Inventory_InventoryType `protobuf:"varint,1,opt,name=type,proto3,enum=protocol.Inventory_InventoryType" json:"type,omitempty"`
Ids [][]byte `protobuf:"bytes,2,rep,name=ids,proto3" json:"ids,omitempty"`
}
func (x *Inventory) Reset() {
*x = Inventory{}
mi := &file_core_Tron_proto_msgTypes[33]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *Inventory) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Inventory) ProtoMessage() {}
func (x *Inventory) ProtoReflect() protoreflect.Message {
mi := &file_core_Tron_proto_msgTypes[33]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Inventory.ProtoReflect.Descriptor instead.
func (*Inventory) Descriptor() ([]byte, []int) {
return file_core_Tron_proto_rawDescGZIP(), []int{33}
}
func (x *Inventory) GetType() Inventory_InventoryType {
if x != nil {
return x.Type
}
return Inventory_TRX
}
func (x *Inventory) GetIds() [][]byte {
if x != nil {
return x.Ids
}
return nil
}
type Items struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Type Items_ItemType `protobuf:"varint,1,opt,name=type,proto3,enum=protocol.Items_ItemType" json:"type,omitempty"`
Blocks []*Block `protobuf:"bytes,2,rep,name=blocks,proto3" json:"blocks,omitempty"`
BlockHeaders []*BlockHeader `protobuf:"bytes,3,rep,name=block_headers,json=blockHeaders,proto3" json:"block_headers,omitempty"`
Transactions []*Transaction `protobuf:"bytes,4,rep,name=transactions,proto3" json:"transactions,omitempty"`
}
func (x *Items) Reset() {
*x = Items{}
mi := &file_core_Tron_proto_msgTypes[34]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *Items) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Items) ProtoMessage() {}
func (x *Items) ProtoReflect() protoreflect.Message {
mi := &file_core_Tron_proto_msgTypes[34]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Items.ProtoReflect.Descriptor instead.
func (*Items) Descriptor() ([]byte, []int) {
return file_core_Tron_proto_rawDescGZIP(), []int{34}
}
func (x *Items) GetType() Items_ItemType {
if x != nil {
return x.Type
}
return Items_ERR
}
func (x *Items) GetBlocks() []*Block {
if x != nil {
return x.Blocks
}
return nil
}
func (x *Items) GetBlockHeaders() []*BlockHeader {
if x != nil {
return x.BlockHeaders
}
return nil
}
func (x *Items) GetTransactions() []*Transaction {
if x != nil {
return x.Transactions
}
return nil
}
// DynamicProperties
type DynamicProperties struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
LastSolidityBlockNum int64 `protobuf:"varint,1,opt,name=last_solidity_block_num,json=lastSolidityBlockNum,proto3" json:"last_solidity_block_num,omitempty"`
}
func (x *DynamicProperties) Reset() {
*x = DynamicProperties{}
mi := &file_core_Tron_proto_msgTypes[35]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *DynamicProperties) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DynamicProperties) ProtoMessage() {}
func (x *DynamicProperties) ProtoReflect() protoreflect.Message {
mi := &file_core_Tron_proto_msgTypes[35]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use DynamicProperties.ProtoReflect.Descriptor instead.
func (*DynamicProperties) Descriptor() ([]byte, []int) {
return file_core_Tron_proto_rawDescGZIP(), []int{35}
}
func (x *DynamicProperties) GetLastSolidityBlockNum() int64 {
if x != nil {
return x.LastSolidityBlockNum
}
return 0
}
type DisconnectMessage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Reason ReasonCode `protobuf:"varint,1,opt,name=reason,proto3,enum=protocol.ReasonCode" json:"reason,omitempty"`
}
func (x *DisconnectMessage) Reset() {
*x = DisconnectMessage{}
mi := &file_core_Tron_proto_msgTypes[36]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *DisconnectMessage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DisconnectMessage) ProtoMessage() {}
func (x *DisconnectMessage) ProtoReflect() protoreflect.Message {
mi := &file_core_Tron_proto_msgTypes[36]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use DisconnectMessage.ProtoReflect.Descriptor instead.
func (*DisconnectMessage) Descriptor() ([]byte, []int) {
return file_core_Tron_proto_rawDescGZIP(), []int{36}
}
func (x *DisconnectMessage) GetReason() ReasonCode {
if x != nil {
return x.Reason
}
return ReasonCode_REQUESTED
}
type HelloMessage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
From *Endpoint `protobuf:"bytes,1,opt,name=from,proto3" json:"from,omitempty"`
Version int32 `protobuf:"varint,2,opt,name=version,proto3" json:"version,omitempty"`
Timestamp int64 `protobuf:"varint,3,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
GenesisBlockId *HelloMessage_BlockId `protobuf:"bytes,4,opt,name=genesisBlockId,proto3" json:"genesisBlockId,omitempty"`
SolidBlockId *HelloMessage_BlockId `protobuf:"bytes,5,opt,name=solidBlockId,proto3" json:"solidBlockId,omitempty"`
HeadBlockId *HelloMessage_BlockId `protobuf:"bytes,6,opt,name=headBlockId,proto3" json:"headBlockId,omitempty"`
Address []byte `protobuf:"bytes,7,opt,name=address,proto3" json:"address,omitempty"`
Signature []byte `protobuf:"bytes,8,opt,name=signature,proto3" json:"signature,omitempty"`
NodeType int32 `protobuf:"varint,9,opt,name=nodeType,proto3" json:"nodeType,omitempty"`
LowestBlockNum int64 `protobuf:"varint,10,opt,name=lowestBlockNum,proto3" json:"lowestBlockNum,omitempty"`
CodeVersion []byte `protobuf:"bytes,11,opt,name=codeVersion,proto3" json:"codeVersion,omitempty"`
}
func (x *HelloMessage) Reset() {
*x = HelloMessage{}
mi := &file_core_Tron_proto_msgTypes[37]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *HelloMessage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*HelloMessage) ProtoMessage() {}
func (x *HelloMessage) ProtoReflect() protoreflect.Message {
mi := &file_core_Tron_proto_msgTypes[37]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use HelloMessage.ProtoReflect.Descriptor instead.
func (*HelloMessage) Descriptor() ([]byte, []int) {
return file_core_Tron_proto_rawDescGZIP(), []int{37}
}
func (x *HelloMessage) GetFrom() *Endpoint {
if x != nil {
return x.From
}
return nil
}
func (x *HelloMessage) GetVersion() int32 {
if x != nil {
return x.Version
}
return 0
}
func (x *HelloMessage) GetTimestamp() int64 {
if x != nil {
return x.Timestamp
}
return 0
}
func (x *HelloMessage) GetGenesisBlockId() *HelloMessage_BlockId {
if x != nil {
return x.GenesisBlockId
}
return nil
}
func (x *HelloMessage) GetSolidBlockId() *HelloMessage_BlockId {
if x != nil {
return x.SolidBlockId
}
return nil
}
func (x *HelloMessage) GetHeadBlockId() *HelloMessage_BlockId {
if x != nil {
return x.HeadBlockId
}
return nil
}
func (x *HelloMessage) GetAddress() []byte {
if x != nil {
return x.Address
}
return nil
}
func (x *HelloMessage) GetSignature() []byte {
if x != nil {
return x.Signature
}
return nil
}
func (x *HelloMessage) GetNodeType() int32 {
if x != nil {
return x.NodeType
}
return 0
}
func (x *HelloMessage) GetLowestBlockNum() int64 {
if x != nil {
return x.LowestBlockNum
}
return 0
}
func (x *HelloMessage) GetCodeVersion() []byte {
if x != nil {
return x.CodeVersion
}
return nil
}
type InternalTransaction struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// internalTransaction identity, the root InternalTransaction hash
// should equals to root transaction id.
Hash []byte `protobuf:"bytes,1,opt,name=hash,proto3" json:"hash,omitempty"`
// the one send trx (TBD: or token) via function
CallerAddress []byte `protobuf:"bytes,2,opt,name=caller_address,json=callerAddress,proto3" json:"caller_address,omitempty"`
// the one recieve trx (TBD: or token) via function
TransferToAddress []byte `protobuf:"bytes,3,opt,name=transferTo_address,json=transferToAddress,proto3" json:"transferTo_address,omitempty"`
CallValueInfo []*InternalTransaction_CallValueInfo `protobuf:"bytes,4,rep,name=callValueInfo,proto3" json:"callValueInfo,omitempty"`
Note []byte `protobuf:"bytes,5,opt,name=note,proto3" json:"note,omitempty"`
Rejected bool `protobuf:"varint,6,opt,name=rejected,proto3" json:"rejected,omitempty"`
Extra string `protobuf:"bytes,7,opt,name=extra,proto3" json:"extra,omitempty"`
}
func (x *InternalTransaction) Reset() {
*x = InternalTransaction{}
mi := &file_core_Tron_proto_msgTypes[38]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *InternalTransaction) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*InternalTransaction) ProtoMessage() {}
func (x *InternalTransaction) ProtoReflect() protoreflect.Message {
mi := &file_core_Tron_proto_msgTypes[38]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use InternalTransaction.ProtoReflect.Descriptor instead.
func (*InternalTransaction) Descriptor() ([]byte, []int) {
return file_core_Tron_proto_rawDescGZIP(), []int{38}
}
func (x *InternalTransaction) GetHash() []byte {
if x != nil {
return x.Hash
}
return nil
}
func (x *InternalTransaction) GetCallerAddress() []byte {
if x != nil {
return x.CallerAddress
}
return nil
}
func (x *InternalTransaction) GetTransferToAddress() []byte {
if x != nil {
return x.TransferToAddress
}
return nil
}
func (x *InternalTransaction) GetCallValueInfo() []*InternalTransaction_CallValueInfo {
if x != nil {
return x.CallValueInfo
}
return nil
}
func (x *InternalTransaction) GetNote() []byte {
if x != nil {
return x.Note
}
return nil
}
func (x *InternalTransaction) GetRejected() bool {
if x != nil {
return x.Rejected
}
return false
}
func (x *InternalTransaction) GetExtra() string {
if x != nil {
return x.Extra
}
return ""
}
type DelegatedResourceAccountIndex struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Account []byte `protobuf:"bytes,1,opt,name=account,proto3" json:"account,omitempty"`
FromAccounts [][]byte `protobuf:"bytes,2,rep,name=fromAccounts,proto3" json:"fromAccounts,omitempty"`
ToAccounts [][]byte `protobuf:"bytes,3,rep,name=toAccounts,proto3" json:"toAccounts,omitempty"`
Timestamp int64 `protobuf:"varint,4,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
}
func (x *DelegatedResourceAccountIndex) Reset() {
*x = DelegatedResourceAccountIndex{}
mi := &file_core_Tron_proto_msgTypes[39]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *DelegatedResourceAccountIndex) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DelegatedResourceAccountIndex) ProtoMessage() {}
func (x *DelegatedResourceAccountIndex) ProtoReflect() protoreflect.Message {
mi := &file_core_Tron_proto_msgTypes[39]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use DelegatedResourceAccountIndex.ProtoReflect.Descriptor instead.
func (*DelegatedResourceAccountIndex) Descriptor() ([]byte, []int) {
return file_core_Tron_proto_rawDescGZIP(), []int{39}
}
func (x *DelegatedResourceAccountIndex) GetAccount() []byte {
if x != nil {
return x.Account
}
return nil
}
func (x *DelegatedResourceAccountIndex) GetFromAccounts() [][]byte {
if x != nil {
return x.FromAccounts
}
return nil
}
func (x *DelegatedResourceAccountIndex) GetToAccounts() [][]byte {
if x != nil {
return x.ToAccounts
}
return nil
}
func (x *DelegatedResourceAccountIndex) GetTimestamp() int64 {
if x != nil {
return x.Timestamp
}
return 0
}
type NodeInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
BeginSyncNum int64 `protobuf:"varint,1,opt,name=beginSyncNum,proto3" json:"beginSyncNum,omitempty"`
Block string `protobuf:"bytes,2,opt,name=block,proto3" json:"block,omitempty"`
SolidityBlock string `protobuf:"bytes,3,opt,name=solidityBlock,proto3" json:"solidityBlock,omitempty"`
// connect information
CurrentConnectCount int32 `protobuf:"varint,4,opt,name=currentConnectCount,proto3" json:"currentConnectCount,omitempty"`
ActiveConnectCount int32 `protobuf:"varint,5,opt,name=activeConnectCount,proto3" json:"activeConnectCount,omitempty"`
PassiveConnectCount int32 `protobuf:"varint,6,opt,name=passiveConnectCount,proto3" json:"passiveConnectCount,omitempty"`
TotalFlow int64 `protobuf:"varint,7,opt,name=totalFlow,proto3" json:"totalFlow,omitempty"`
PeerInfoList []*NodeInfo_PeerInfo `protobuf:"bytes,8,rep,name=peerInfoList,proto3" json:"peerInfoList,omitempty"`
ConfigNodeInfo *NodeInfo_ConfigNodeInfo `protobuf:"bytes,9,opt,name=configNodeInfo,proto3" json:"configNodeInfo,omitempty"`
MachineInfo *NodeInfo_MachineInfo `protobuf:"bytes,10,opt,name=machineInfo,proto3" json:"machineInfo,omitempty"`
CheatWitnessInfoMap map[string]string `protobuf:"bytes,11,rep,name=cheatWitnessInfoMap,proto3" json:"cheatWitnessInfoMap,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
}
func (x *NodeInfo) Reset() {
*x = NodeInfo{}
mi := &file_core_Tron_proto_msgTypes[40]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *NodeInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*NodeInfo) ProtoMessage() {}
func (x *NodeInfo) ProtoReflect() protoreflect.Message {
mi := &file_core_Tron_proto_msgTypes[40]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use NodeInfo.ProtoReflect.Descriptor instead.
func (*NodeInfo) Descriptor() ([]byte, []int) {
return file_core_Tron_proto_rawDescGZIP(), []int{40}
}
func (x *NodeInfo) GetBeginSyncNum() int64 {
if x != nil {
return x.BeginSyncNum
}
return 0
}
func (x *NodeInfo) GetBlock() string {
if x != nil {
return x.Block
}
return ""
}
func (x *NodeInfo) GetSolidityBlock() string {
if x != nil {
return x.SolidityBlock
}
return ""
}
func (x *NodeInfo) GetCurrentConnectCount() int32 {
if x != nil {
return x.CurrentConnectCount
}
return 0
}
func (x *NodeInfo) GetActiveConnectCount() int32 {
if x != nil {
return x.ActiveConnectCount
}
return 0
}
func (x *NodeInfo) GetPassiveConnectCount() int32 {
if x != nil {
return x.PassiveConnectCount
}
return 0
}
func (x *NodeInfo) GetTotalFlow() int64 {
if x != nil {
return x.TotalFlow
}
return 0
}
func (x *NodeInfo) GetPeerInfoList() []*NodeInfo_PeerInfo {
if x != nil {
return x.PeerInfoList
}
return nil
}
func (x *NodeInfo) GetConfigNodeInfo() *NodeInfo_ConfigNodeInfo {
if x != nil {
return x.ConfigNodeInfo
}
return nil
}
func (x *NodeInfo) GetMachineInfo() *NodeInfo_MachineInfo {
if x != nil {
return x.MachineInfo
}
return nil
}
func (x *NodeInfo) GetCheatWitnessInfoMap() map[string]string {
if x != nil {
return x.CheatWitnessInfoMap
}
return nil
}
type MetricsInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Interval int64 `protobuf:"varint,1,opt,name=interval,proto3" json:"interval,omitempty"`
Node *MetricsInfo_NodeInfo `protobuf:"bytes,2,opt,name=node,proto3" json:"node,omitempty"`
Blockchain *MetricsInfo_BlockChainInfo `protobuf:"bytes,3,opt,name=blockchain,proto3" json:"blockchain,omitempty"`
Net *MetricsInfo_NetInfo `protobuf:"bytes,4,opt,name=net,proto3" json:"net,omitempty"`
}
func (x *MetricsInfo) Reset() {
*x = MetricsInfo{}
mi := &file_core_Tron_proto_msgTypes[41]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *MetricsInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MetricsInfo) ProtoMessage() {}
func (x *MetricsInfo) ProtoReflect() protoreflect.Message {
mi := &file_core_Tron_proto_msgTypes[41]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use MetricsInfo.ProtoReflect.Descriptor instead.
func (*MetricsInfo) Descriptor() ([]byte, []int) {
return file_core_Tron_proto_rawDescGZIP(), []int{41}
}
func (x *MetricsInfo) GetInterval() int64 {
if x != nil {
return x.Interval
}
return 0
}
func (x *MetricsInfo) GetNode() *MetricsInfo_NodeInfo {
if x != nil {
return x.Node
}
return nil
}
func (x *MetricsInfo) GetBlockchain() *MetricsInfo_BlockChainInfo {
if x != nil {
return x.Blockchain
}
return nil
}
func (x *MetricsInfo) GetNet() *MetricsInfo_NetInfo {
if x != nil {
return x.Net
}
return nil
}
type PBFTMessage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
RawData *PBFTMessage_Raw `protobuf:"bytes,1,opt,name=raw_data,json=rawData,proto3" json:"raw_data,omitempty"`
Signature []byte `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"`
}
func (x *PBFTMessage) Reset() {
*x = PBFTMessage{}
mi := &file_core_Tron_proto_msgTypes[42]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *PBFTMessage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PBFTMessage) ProtoMessage() {}
func (x *PBFTMessage) ProtoReflect() protoreflect.Message {
mi := &file_core_Tron_proto_msgTypes[42]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use PBFTMessage.ProtoReflect.Descriptor instead.
func (*PBFTMessage) Descriptor() ([]byte, []int) {
return file_core_Tron_proto_rawDescGZIP(), []int{42}
}
func (x *PBFTMessage) GetRawData() *PBFTMessage_Raw {
if x != nil {
return x.RawData
}
return nil
}
func (x *PBFTMessage) GetSignature() []byte {
if x != nil {
return x.Signature
}
return nil
}
type PBFTCommitResult struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Data []byte `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"`
Signature [][]byte `protobuf:"bytes,2,rep,name=signature,proto3" json:"signature,omitempty"`
}
func (x *PBFTCommitResult) Reset() {
*x = PBFTCommitResult{}
mi := &file_core_Tron_proto_msgTypes[43]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *PBFTCommitResult) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PBFTCommitResult) ProtoMessage() {}
func (x *PBFTCommitResult) ProtoReflect() protoreflect.Message {
mi := &file_core_Tron_proto_msgTypes[43]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use PBFTCommitResult.ProtoReflect.Descriptor instead.
func (*PBFTCommitResult) Descriptor() ([]byte, []int) {
return file_core_Tron_proto_rawDescGZIP(), []int{43}
}
func (x *PBFTCommitResult) GetData() []byte {
if x != nil {
return x.Data
}
return nil
}
func (x *PBFTCommitResult) GetSignature() [][]byte {
if x != nil {
return x.Signature
}
return nil
}
type SRL struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
SrAddress [][]byte `protobuf:"bytes,1,rep,name=srAddress,proto3" json:"srAddress,omitempty"`
}
func (x *SRL) Reset() {
*x = SRL{}
mi := &file_core_Tron_proto_msgTypes[44]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *SRL) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SRL) ProtoMessage() {}
func (x *SRL) ProtoReflect() protoreflect.Message {
mi := &file_core_Tron_proto_msgTypes[44]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SRL.ProtoReflect.Descriptor instead.
func (*SRL) Descriptor() ([]byte, []int) {
return file_core_Tron_proto_rawDescGZIP(), []int{44}
}
func (x *SRL) GetSrAddress() [][]byte {
if x != nil {
return x.SrAddress
}
return nil
}
type ChainParameters_ChainParameter struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
Value int64 `protobuf:"varint,2,opt,name=value,proto3" json:"value,omitempty"`
}
func (x *ChainParameters_ChainParameter) Reset() {
*x = ChainParameters_ChainParameter{}
mi := &file_core_Tron_proto_msgTypes[46]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ChainParameters_ChainParameter) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ChainParameters_ChainParameter) ProtoMessage() {}
func (x *ChainParameters_ChainParameter) ProtoReflect() protoreflect.Message {
mi := &file_core_Tron_proto_msgTypes[46]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ChainParameters_ChainParameter.ProtoReflect.Descriptor instead.
func (*ChainParameters_ChainParameter) Descriptor() ([]byte, []int) {
return file_core_Tron_proto_rawDescGZIP(), []int{12, 0}
}
func (x *ChainParameters_ChainParameter) GetKey() string {
if x != nil {
return x.Key
}
return ""
}
func (x *ChainParameters_ChainParameter) GetValue() int64 {
if x != nil {
return x.Value
}
return 0
}
// frozen balance
type Account_Frozen struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
FrozenBalance int64 `protobuf:"varint,1,opt,name=frozen_balance,json=frozenBalance,proto3" json:"frozen_balance,omitempty"` // the frozen trx balance
ExpireTime int64 `protobuf:"varint,2,opt,name=expire_time,json=expireTime,proto3" json:"expire_time,omitempty"` // the expire time
}
func (x *Account_Frozen) Reset() {
*x = Account_Frozen{}
mi := &file_core_Tron_proto_msgTypes[47]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *Account_Frozen) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Account_Frozen) ProtoMessage() {}
func (x *Account_Frozen) ProtoReflect() protoreflect.Message {
mi := &file_core_Tron_proto_msgTypes[47]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Account_Frozen.ProtoReflect.Descriptor instead.
func (*Account_Frozen) Descriptor() ([]byte, []int) {
return file_core_Tron_proto_rawDescGZIP(), []int{13, 0}
}
func (x *Account_Frozen) GetFrozenBalance() int64 {
if x != nil {
return x.FrozenBalance
}
return 0
}
func (x *Account_Frozen) GetExpireTime() int64 {
if x != nil {
return x.ExpireTime
}
return 0
}
type Account_AccountResource struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// energy resource, get from frozen
EnergyUsage int64 `protobuf:"varint,1,opt,name=energy_usage,json=energyUsage,proto3" json:"energy_usage,omitempty"`
// the frozen balance for energy
FrozenBalanceForEnergy *Account_Frozen `protobuf:"bytes,2,opt,name=frozen_balance_for_energy,json=frozenBalanceForEnergy,proto3" json:"frozen_balance_for_energy,omitempty"`
LatestConsumeTimeForEnergy int64 `protobuf:"varint,3,opt,name=latest_consume_time_for_energy,json=latestConsumeTimeForEnergy,proto3" json:"latest_consume_time_for_energy,omitempty"`
// Frozen balance provided by other accounts to this account
AcquiredDelegatedFrozenBalanceForEnergy int64 `protobuf:"varint,4,opt,name=acquired_delegated_frozen_balance_for_energy,json=acquiredDelegatedFrozenBalanceForEnergy,proto3" json:"acquired_delegated_frozen_balance_for_energy,omitempty"`
// Frozen balances provided to other accounts
DelegatedFrozenBalanceForEnergy int64 `protobuf:"varint,5,opt,name=delegated_frozen_balance_for_energy,json=delegatedFrozenBalanceForEnergy,proto3" json:"delegated_frozen_balance_for_energy,omitempty"`
// storage resource, get from market
StorageLimit int64 `protobuf:"varint,6,opt,name=storage_limit,json=storageLimit,proto3" json:"storage_limit,omitempty"`
StorageUsage int64 `protobuf:"varint,7,opt,name=storage_usage,json=storageUsage,proto3" json:"storage_usage,omitempty"`
LatestExchangeStorageTime int64 `protobuf:"varint,8,opt,name=latest_exchange_storage_time,json=latestExchangeStorageTime,proto3" json:"latest_exchange_storage_time,omitempty"`
EnergyWindowSize int64 `protobuf:"varint,9,opt,name=energy_window_size,json=energyWindowSize,proto3" json:"energy_window_size,omitempty"`
DelegatedFrozenV2BalanceForEnergy int64 `protobuf:"varint,10,opt,name=delegated_frozenV2_balance_for_energy,json=delegatedFrozenV2BalanceForEnergy,proto3" json:"delegated_frozenV2_balance_for_energy,omitempty"`
AcquiredDelegatedFrozenV2BalanceForEnergy int64 `protobuf:"varint,11,opt,name=acquired_delegated_frozenV2_balance_for_energy,json=acquiredDelegatedFrozenV2BalanceForEnergy,proto3" json:"acquired_delegated_frozenV2_balance_for_energy,omitempty"`
EnergyWindowOptimized bool `protobuf:"varint,12,opt,name=energy_window_optimized,json=energyWindowOptimized,proto3" json:"energy_window_optimized,omitempty"`
}
func (x *Account_AccountResource) Reset() {
*x = Account_AccountResource{}
mi := &file_core_Tron_proto_msgTypes[54]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *Account_AccountResource) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Account_AccountResource) ProtoMessage() {}
func (x *Account_AccountResource) ProtoReflect() protoreflect.Message {
mi := &file_core_Tron_proto_msgTypes[54]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Account_AccountResource.ProtoReflect.Descriptor instead.
func (*Account_AccountResource) Descriptor() ([]byte, []int) {
return file_core_Tron_proto_rawDescGZIP(), []int{13, 7}
}
func (x *Account_AccountResource) GetEnergyUsage() int64 {
if x != nil {
return x.EnergyUsage
}
return 0
}
func (x *Account_AccountResource) GetFrozenBalanceForEnergy() *Account_Frozen {
if x != nil {
return x.FrozenBalanceForEnergy
}
return nil
}
func (x *Account_AccountResource) GetLatestConsumeTimeForEnergy() int64 {
if x != nil {
return x.LatestConsumeTimeForEnergy
}
return 0
}
func (x *Account_AccountResource) GetAcquiredDelegatedFrozenBalanceForEnergy() int64 {
if x != nil {
return x.AcquiredDelegatedFrozenBalanceForEnergy
}
return 0
}
func (x *Account_AccountResource) GetDelegatedFrozenBalanceForEnergy() int64 {
if x != nil {
return x.DelegatedFrozenBalanceForEnergy
}
return 0
}
func (x *Account_AccountResource) GetStorageLimit() int64 {
if x != nil {
return x.StorageLimit
}
return 0
}
func (x *Account_AccountResource) GetStorageUsage() int64 {
if x != nil {
return x.StorageUsage
}
return 0
}
func (x *Account_AccountResource) GetLatestExchangeStorageTime() int64 {
if x != nil {
return x.LatestExchangeStorageTime
}
return 0
}
func (x *Account_AccountResource) GetEnergyWindowSize() int64 {
if x != nil {
return x.EnergyWindowSize
}
return 0
}
func (x *Account_AccountResource) GetDelegatedFrozenV2BalanceForEnergy() int64 {
if x != nil {
return x.DelegatedFrozenV2BalanceForEnergy
}
return 0
}
func (x *Account_AccountResource) GetAcquiredDelegatedFrozenV2BalanceForEnergy() int64 {
if x != nil {
return x.AcquiredDelegatedFrozenV2BalanceForEnergy
}
return 0
}
func (x *Account_AccountResource) GetEnergyWindowOptimized() bool {
if x != nil {
return x.EnergyWindowOptimized
}
return false
}
type Account_FreezeV2 struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Type ResourceCode `protobuf:"varint,1,opt,name=type,proto3,enum=protocol.ResourceCode" json:"type,omitempty"`
Amount int64 `protobuf:"varint,2,opt,name=amount,proto3" json:"amount,omitempty"`
}
func (x *Account_FreezeV2) Reset() {
*x = Account_FreezeV2{}
mi := &file_core_Tron_proto_msgTypes[55]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *Account_FreezeV2) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Account_FreezeV2) ProtoMessage() {}
func (x *Account_FreezeV2) ProtoReflect() protoreflect.Message {
mi := &file_core_Tron_proto_msgTypes[55]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Account_FreezeV2.ProtoReflect.Descriptor instead.
func (*Account_FreezeV2) Descriptor() ([]byte, []int) {
return file_core_Tron_proto_rawDescGZIP(), []int{13, 8}
}
func (x *Account_FreezeV2) GetType() ResourceCode {
if x != nil {
return x.Type
}
return ResourceCode_BANDWIDTH
}
func (x *Account_FreezeV2) GetAmount() int64 {
if x != nil {
return x.Amount
}
return 0
}
type Account_UnFreezeV2 struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Type ResourceCode `protobuf:"varint,1,opt,name=type,proto3,enum=protocol.ResourceCode" json:"type,omitempty"`
UnfreezeAmount int64 `protobuf:"varint,3,opt,name=unfreeze_amount,json=unfreezeAmount,proto3" json:"unfreeze_amount,omitempty"`
UnfreezeExpireTime int64 `protobuf:"varint,4,opt,name=unfreeze_expire_time,json=unfreezeExpireTime,proto3" json:"unfreeze_expire_time,omitempty"`
}
func (x *Account_UnFreezeV2) Reset() {
*x = Account_UnFreezeV2{}
mi := &file_core_Tron_proto_msgTypes[56]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *Account_UnFreezeV2) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Account_UnFreezeV2) ProtoMessage() {}
func (x *Account_UnFreezeV2) ProtoReflect() protoreflect.Message {
mi := &file_core_Tron_proto_msgTypes[56]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Account_UnFreezeV2.ProtoReflect.Descriptor instead.
func (*Account_UnFreezeV2) Descriptor() ([]byte, []int) {
return file_core_Tron_proto_rawDescGZIP(), []int{13, 9}
}
func (x *Account_UnFreezeV2) GetType() ResourceCode {
if x != nil {
return x.Type
}
return ResourceCode_BANDWIDTH
}
func (x *Account_UnFreezeV2) GetUnfreezeAmount() int64 {
if x != nil {
return x.UnfreezeAmount
}
return 0
}
func (x *Account_UnFreezeV2) GetUnfreezeExpireTime() int64 {
if x != nil {
return x.UnfreezeExpireTime
}
return 0
}
type TXInputRaw struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
TxID []byte `protobuf:"bytes,1,opt,name=txID,proto3" json:"txID,omitempty"`
Vout int64 `protobuf:"varint,2,opt,name=vout,proto3" json:"vout,omitempty"`
PubKey []byte `protobuf:"bytes,3,opt,name=pubKey,proto3" json:"pubKey,omitempty"`
}
func (x *TXInputRaw) Reset() {
*x = TXInputRaw{}
mi := &file_core_Tron_proto_msgTypes[57]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *TXInputRaw) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TXInputRaw) ProtoMessage() {}
func (x *TXInputRaw) ProtoReflect() protoreflect.Message {
mi := &file_core_Tron_proto_msgTypes[57]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use TXInputRaw.ProtoReflect.Descriptor instead.
func (*TXInputRaw) Descriptor() ([]byte, []int) {
return file_core_Tron_proto_rawDescGZIP(), []int{21, 0}
}
func (x *TXInputRaw) GetTxID() []byte {
if x != nil {
return x.TxID
}
return nil
}
func (x *TXInputRaw) GetVout() int64 {
if x != nil {
return x.Vout
}
return 0
}
func (x *TXInputRaw) GetPubKey() []byte {
if x != nil {
return x.PubKey
}
return nil
}
type Transaction_Contract struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Type Transaction_Contract_ContractType `protobuf:"varint,1,opt,name=type,proto3,enum=protocol.Transaction_Contract_ContractType" json:"type,omitempty"`
Parameter *anypb.Any `protobuf:"bytes,2,opt,name=parameter,proto3" json:"parameter,omitempty"`
Provider []byte `protobuf:"bytes,3,opt,name=provider,proto3" json:"provider,omitempty"`
ContractName []byte `protobuf:"bytes,4,opt,name=ContractName,proto3" json:"ContractName,omitempty"`
PermissionId int32 `protobuf:"varint,5,opt,name=Permission_id,json=PermissionId,proto3" json:"Permission_id,omitempty"`
}
func (x *Transaction_Contract) Reset() {
*x = Transaction_Contract{}
mi := &file_core_Tron_proto_msgTypes[58]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *Transaction_Contract) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Transaction_Contract) ProtoMessage() {}
func (x *Transaction_Contract) ProtoReflect() protoreflect.Message {
mi := &file_core_Tron_proto_msgTypes[58]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Transaction_Contract.ProtoReflect.Descriptor instead.
func (*Transaction_Contract) Descriptor() ([]byte, []int) {
return file_core_Tron_proto_rawDescGZIP(), []int{25, 0}
}
func (x *Transaction_Contract) GetType() Transaction_Contract_ContractType {
if x != nil {
return x.Type
}
return Transaction_Contract_AccountCreateContract
}
func (x *Transaction_Contract) GetParameter() *anypb.Any {
if x != nil {
return x.Parameter
}
return nil
}
func (x *Transaction_Contract) GetProvider() []byte {
if x != nil {
return x.Provider
}
return nil
}
func (x *Transaction_Contract) GetContractName() []byte {
if x != nil {
return x.ContractName
}
return nil
}
func (x *Transaction_Contract) GetPermissionId() int32 {
if x != nil {
return x.PermissionId
}
return 0
}
type Transaction_Result struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Fee int64 `protobuf:"varint,1,opt,name=fee,proto3" json:"fee,omitempty"`
Ret Transaction_ResultCode `protobuf:"varint,2,opt,name=ret,proto3,enum=protocol.Transaction_ResultCode" json:"ret,omitempty"`
ContractRet Transaction_ResultContractResult `protobuf:"varint,3,opt,name=contractRet,proto3,enum=protocol.Transaction_ResultContractResult" json:"contractRet,omitempty"`
AssetIssueID string `protobuf:"bytes,14,opt,name=assetIssueID,proto3" json:"assetIssueID,omitempty"`
WithdrawAmount int64 `protobuf:"varint,15,opt,name=withdraw_amount,json=withdrawAmount,proto3" json:"withdraw_amount,omitempty"`
UnfreezeAmount int64 `protobuf:"varint,16,opt,name=unfreeze_amount,json=unfreezeAmount,proto3" json:"unfreeze_amount,omitempty"`
ExchangeReceivedAmount int64 `protobuf:"varint,18,opt,name=exchange_received_amount,json=exchangeReceivedAmount,proto3" json:"exchange_received_amount,omitempty"`
ExchangeInjectAnotherAmount int64 `protobuf:"varint,19,opt,name=exchange_inject_another_amount,json=exchangeInjectAnotherAmount,proto3" json:"exchange_inject_another_amount,omitempty"`
ExchangeWithdrawAnotherAmount int64 `protobuf:"varint,20,opt,name=exchange_withdraw_another_amount,json=exchangeWithdrawAnotherAmount,proto3" json:"exchange_withdraw_another_amount,omitempty"`
ExchangeId int64 `protobuf:"varint,21,opt,name=exchange_id,json=exchangeId,proto3" json:"exchange_id,omitempty"`
ShieldedTransactionFee int64 `protobuf:"varint,22,opt,name=shielded_transaction_fee,json=shieldedTransactionFee,proto3" json:"shielded_transaction_fee,omitempty"`
OrderId []byte `protobuf:"bytes,25,opt,name=orderId,proto3" json:"orderId,omitempty"`
OrderDetails []*MarketOrderDetail `protobuf:"bytes,26,rep,name=orderDetails,proto3" json:"orderDetails,omitempty"`
WithdrawExpireAmount int64 `protobuf:"varint,27,opt,name=withdraw_expire_amount,json=withdrawExpireAmount,proto3" json:"withdraw_expire_amount,omitempty"`
CancelUnfreezeV2Amount map[string]int64 `protobuf:"bytes,28,rep,name=cancel_unfreezeV2_amount,json=cancelUnfreezeV2Amount,proto3" json:"cancel_unfreezeV2_amount,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
}
func (x *Transaction_Result) Reset() {
*x = Transaction_Result{}
mi := &file_core_Tron_proto_msgTypes[59]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *Transaction_Result) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Transaction_Result) ProtoMessage() {}
func (x *Transaction_Result) ProtoReflect() protoreflect.Message {
mi := &file_core_Tron_proto_msgTypes[59]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Transaction_Result.ProtoReflect.Descriptor instead.
func (*Transaction_Result) Descriptor() ([]byte, []int) {
return file_core_Tron_proto_rawDescGZIP(), []int{25, 1}
}
func (x *Transaction_Result) GetFee() int64 {
if x != nil {
return x.Fee
}
return 0
}
func (x *Transaction_Result) GetRet() Transaction_ResultCode {
if x != nil {
return x.Ret
}
return Transaction_Result_SUCESS
}
func (x *Transaction_Result) GetContractRet() Transaction_ResultContractResult {
if x != nil {
return x.ContractRet
}
return Transaction_Result_DEFAULT
}
func (x *Transaction_Result) GetAssetIssueID() string {
if x != nil {
return x.AssetIssueID
}
return ""
}
func (x *Transaction_Result) GetWithdrawAmount() int64 {
if x != nil {
return x.WithdrawAmount
}
return 0
}
func (x *Transaction_Result) GetUnfreezeAmount() int64 {
if x != nil {
return x.UnfreezeAmount
}
return 0
}
func (x *Transaction_Result) GetExchangeReceivedAmount() int64 {
if x != nil {
return x.ExchangeReceivedAmount
}
return 0
}
func (x *Transaction_Result) GetExchangeInjectAnotherAmount() int64 {
if x != nil {
return x.ExchangeInjectAnotherAmount
}
return 0
}
func (x *Transaction_Result) GetExchangeWithdrawAnotherAmount() int64 {
if x != nil {
return x.ExchangeWithdrawAnotherAmount
}
return 0
}
func (x *Transaction_Result) GetExchangeId() int64 {
if x != nil {
return x.ExchangeId
}
return 0
}
func (x *Transaction_Result) GetShieldedTransactionFee() int64 {
if x != nil {
return x.ShieldedTransactionFee
}
return 0
}
func (x *Transaction_Result) GetOrderId() []byte {
if x != nil {
return x.OrderId
}
return nil
}
func (x *Transaction_Result) GetOrderDetails() []*MarketOrderDetail {
if x != nil {
return x.OrderDetails
}
return nil
}
func (x *Transaction_Result) GetWithdrawExpireAmount() int64 {
if x != nil {
return x.WithdrawExpireAmount
}
return 0
}
func (x *Transaction_Result) GetCancelUnfreezeV2Amount() map[string]int64 {
if x != nil {
return x.CancelUnfreezeV2Amount
}
return nil
}
type TransactionRaw struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
RefBlockBytes []byte `protobuf:"bytes,1,opt,name=ref_block_bytes,json=refBlockBytes,proto3" json:"ref_block_bytes,omitempty"`
RefBlockNum int64 `protobuf:"varint,3,opt,name=ref_block_num,json=refBlockNum,proto3" json:"ref_block_num,omitempty"`
RefBlockHash []byte `protobuf:"bytes,4,opt,name=ref_block_hash,json=refBlockHash,proto3" json:"ref_block_hash,omitempty"`
Expiration int64 `protobuf:"varint,8,opt,name=expiration,proto3" json:"expiration,omitempty"`
Auths []*Authority `protobuf:"bytes,9,rep,name=auths,proto3" json:"auths,omitempty"`
// data not used
Data []byte `protobuf:"bytes,10,opt,name=data,proto3" json:"data,omitempty"`
// only support size = 1, repeated list here for extension
Contract []*Transaction_Contract `protobuf:"bytes,11,rep,name=contract,proto3" json:"contract,omitempty"`
// scripts not used
Scripts []byte `protobuf:"bytes,12,opt,name=scripts,proto3" json:"scripts,omitempty"`
Timestamp int64 `protobuf:"varint,14,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
FeeLimit int64 `protobuf:"varint,18,opt,name=fee_limit,json=feeLimit,proto3" json:"fee_limit,omitempty"`
}
func (x *TransactionRaw) Reset() {
*x = TransactionRaw{}
mi := &file_core_Tron_proto_msgTypes[60]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *TransactionRaw) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TransactionRaw) ProtoMessage() {}
func (x *TransactionRaw) ProtoReflect() protoreflect.Message {
mi := &file_core_Tron_proto_msgTypes[60]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use TransactionRaw.ProtoReflect.Descriptor instead.
func (*TransactionRaw) Descriptor() ([]byte, []int) {
return file_core_Tron_proto_rawDescGZIP(), []int{25, 2}
}
func (x *TransactionRaw) GetRefBlockBytes() []byte {
if x != nil {
return x.RefBlockBytes
}
return nil
}
func (x *TransactionRaw) GetRefBlockNum() int64 {
if x != nil {
return x.RefBlockNum
}
return 0
}
func (x *TransactionRaw) GetRefBlockHash() []byte {
if x != nil {
return x.RefBlockHash
}
return nil
}
func (x *TransactionRaw) GetExpiration() int64 {
if x != nil {
return x.Expiration
}
return 0
}
func (x *TransactionRaw) GetAuths() []*Authority {
if x != nil {
return x.Auths
}
return nil
}
func (x *TransactionRaw) GetData() []byte {
if x != nil {
return x.Data
}
return nil
}
func (x *TransactionRaw) GetContract() []*Transaction_Contract {
if x != nil {
return x.Contract
}
return nil
}
func (x *TransactionRaw) GetScripts() []byte {
if x != nil {
return x.Scripts
}
return nil
}
func (x *TransactionRaw) GetTimestamp() int64 {
if x != nil {
return x.Timestamp
}
return 0
}
func (x *TransactionRaw) GetFeeLimit() int64 {
if x != nil {
return x.FeeLimit
}
return 0
}
type TransactionInfo_Log struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Address []byte `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
Topics [][]byte `protobuf:"bytes,2,rep,name=topics,proto3" json:"topics,omitempty"`
Data []byte `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"`
}
func (x *TransactionInfo_Log) Reset() {
*x = TransactionInfo_Log{}
mi := &file_core_Tron_proto_msgTypes[62]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *TransactionInfo_Log) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TransactionInfo_Log) ProtoMessage() {}
func (x *TransactionInfo_Log) ProtoReflect() protoreflect.Message {
mi := &file_core_Tron_proto_msgTypes[62]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use TransactionInfo_Log.ProtoReflect.Descriptor instead.
func (*TransactionInfo_Log) Descriptor() ([]byte, []int) {
return file_core_Tron_proto_rawDescGZIP(), []int{26, 0}
}
func (x *TransactionInfo_Log) GetAddress() []byte {
if x != nil {
return x.Address
}
return nil
}
func (x *TransactionInfo_Log) GetTopics() [][]byte {
if x != nil {
return x.Topics
}
return nil
}
func (x *TransactionInfo_Log) GetData() []byte {
if x != nil {
return x.Data
}
return nil
}
type BlockHeaderRaw struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Timestamp int64 `protobuf:"varint,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
TxTrieRoot []byte `protobuf:"bytes,2,opt,name=txTrieRoot,proto3" json:"txTrieRoot,omitempty"`
ParentHash []byte `protobuf:"bytes,3,opt,name=parentHash,proto3" json:"parentHash,omitempty"`
// bytes nonce = 5;
// bytes difficulty = 6;
Number int64 `protobuf:"varint,7,opt,name=number,proto3" json:"number,omitempty"`
WitnessId int64 `protobuf:"varint,8,opt,name=witness_id,json=witnessId,proto3" json:"witness_id,omitempty"`
WitnessAddress []byte `protobuf:"bytes,9,opt,name=witness_address,json=witnessAddress,proto3" json:"witness_address,omitempty"`
Version int32 `protobuf:"varint,10,opt,name=version,proto3" json:"version,omitempty"`
AccountStateRoot []byte `protobuf:"bytes,11,opt,name=accountStateRoot,proto3" json:"accountStateRoot,omitempty"`
}
func (x *BlockHeaderRaw) Reset() {
*x = BlockHeaderRaw{}
mi := &file_core_Tron_proto_msgTypes[64]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *BlockHeaderRaw) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*BlockHeaderRaw) ProtoMessage() {}
func (x *BlockHeaderRaw) ProtoReflect() protoreflect.Message {
mi := &file_core_Tron_proto_msgTypes[64]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use BlockHeaderRaw.ProtoReflect.Descriptor instead.
func (*BlockHeaderRaw) Descriptor() ([]byte, []int) {
return file_core_Tron_proto_rawDescGZIP(), []int{29, 0}
}
func (x *BlockHeaderRaw) GetTimestamp() int64 {
if x != nil {
return x.Timestamp
}
return 0
}
func (x *BlockHeaderRaw) GetTxTrieRoot() []byte {
if x != nil {
return x.TxTrieRoot
}
return nil
}
func (x *BlockHeaderRaw) GetParentHash() []byte {
if x != nil {
return x.ParentHash
}
return nil
}
func (x *BlockHeaderRaw) GetNumber() int64 {
if x != nil {
return x.Number
}
return 0
}
func (x *BlockHeaderRaw) GetWitnessId() int64 {
if x != nil {
return x.WitnessId
}
return 0
}
func (x *BlockHeaderRaw) GetWitnessAddress() []byte {
if x != nil {
return x.WitnessAddress
}
return nil
}
func (x *BlockHeaderRaw) GetVersion() int32 {
if x != nil {
return x.Version
}
return 0
}
func (x *BlockHeaderRaw) GetAccountStateRoot() []byte {
if x != nil {
return x.AccountStateRoot
}
return nil
}
type ChainInventory_BlockId struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Hash []byte `protobuf:"bytes,1,opt,name=hash,proto3" json:"hash,omitempty"`
Number int64 `protobuf:"varint,2,opt,name=number,proto3" json:"number,omitempty"`
}
func (x *ChainInventory_BlockId) Reset() {
*x = ChainInventory_BlockId{}
mi := &file_core_Tron_proto_msgTypes[65]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ChainInventory_BlockId) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ChainInventory_BlockId) ProtoMessage() {}
func (x *ChainInventory_BlockId) ProtoReflect() protoreflect.Message {
mi := &file_core_Tron_proto_msgTypes[65]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ChainInventory_BlockId.ProtoReflect.Descriptor instead.
func (*ChainInventory_BlockId) Descriptor() ([]byte, []int) {
return file_core_Tron_proto_rawDescGZIP(), []int{31, 0}
}
func (x *ChainInventory_BlockId) GetHash() []byte {
if x != nil {
return x.Hash
}
return nil
}
func (x *ChainInventory_BlockId) GetNumber() int64 {
if x != nil {
return x.Number
}
return 0
}
type BlockInventory_BlockId struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Hash []byte `protobuf:"bytes,1,opt,name=hash,proto3" json:"hash,omitempty"`
Number int64 `protobuf:"varint,2,opt,name=number,proto3" json:"number,omitempty"`
}
func (x *BlockInventory_BlockId) Reset() {
*x = BlockInventory_BlockId{}
mi := &file_core_Tron_proto_msgTypes[66]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *BlockInventory_BlockId) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*BlockInventory_BlockId) ProtoMessage() {}
func (x *BlockInventory_BlockId) ProtoReflect() protoreflect.Message {
mi := &file_core_Tron_proto_msgTypes[66]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use BlockInventory_BlockId.ProtoReflect.Descriptor instead.
func (*BlockInventory_BlockId) Descriptor() ([]byte, []int) {
return file_core_Tron_proto_rawDescGZIP(), []int{32, 0}
}
func (x *BlockInventory_BlockId) GetHash() []byte {
if x != nil {
return x.Hash
}
return nil
}
func (x *BlockInventory_BlockId) GetNumber() int64 {
if x != nil {
return x.Number
}
return 0
}
type HelloMessage_BlockId struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Hash []byte `protobuf:"bytes,1,opt,name=hash,proto3" json:"hash,omitempty"`
Number int64 `protobuf:"varint,2,opt,name=number,proto3" json:"number,omitempty"`
}
func (x *HelloMessage_BlockId) Reset() {
*x = HelloMessage_BlockId{}
mi := &file_core_Tron_proto_msgTypes[67]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *HelloMessage_BlockId) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*HelloMessage_BlockId) ProtoMessage() {}
func (x *HelloMessage_BlockId) ProtoReflect() protoreflect.Message {
mi := &file_core_Tron_proto_msgTypes[67]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use HelloMessage_BlockId.ProtoReflect.Descriptor instead.
func (*HelloMessage_BlockId) Descriptor() ([]byte, []int) {
return file_core_Tron_proto_rawDescGZIP(), []int{37, 0}
}
func (x *HelloMessage_BlockId) GetHash() []byte {
if x != nil {
return x.Hash
}
return nil
}
func (x *HelloMessage_BlockId) GetNumber() int64 {
if x != nil {
return x.Number
}
return 0
}
type InternalTransaction_CallValueInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// trx (TBD: or token) value
CallValue int64 `protobuf:"varint,1,opt,name=callValue,proto3" json:"callValue,omitempty"`
// TBD: tokenName, trx should be empty
TokenId string `protobuf:"bytes,2,opt,name=tokenId,proto3" json:"tokenId,omitempty"`
}
func (x *InternalTransaction_CallValueInfo) Reset() {
*x = InternalTransaction_CallValueInfo{}
mi := &file_core_Tron_proto_msgTypes[68]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *InternalTransaction_CallValueInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*InternalTransaction_CallValueInfo) ProtoMessage() {}
func (x *InternalTransaction_CallValueInfo) ProtoReflect() protoreflect.Message {
mi := &file_core_Tron_proto_msgTypes[68]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use InternalTransaction_CallValueInfo.ProtoReflect.Descriptor instead.
func (*InternalTransaction_CallValueInfo) Descriptor() ([]byte, []int) {
return file_core_Tron_proto_rawDescGZIP(), []int{38, 0}
}
func (x *InternalTransaction_CallValueInfo) GetCallValue() int64 {
if x != nil {
return x.CallValue
}
return 0
}
func (x *InternalTransaction_CallValueInfo) GetTokenId() string {
if x != nil {
return x.TokenId
}
return ""
}
type NodeInfo_PeerInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
LastSyncBlock string `protobuf:"bytes,1,opt,name=lastSyncBlock,proto3" json:"lastSyncBlock,omitempty"`
RemainNum int64 `protobuf:"varint,2,opt,name=remainNum,proto3" json:"remainNum,omitempty"`
LastBlockUpdateTime int64 `protobuf:"varint,3,opt,name=lastBlockUpdateTime,proto3" json:"lastBlockUpdateTime,omitempty"`
SyncFlag bool `protobuf:"varint,4,opt,name=syncFlag,proto3" json:"syncFlag,omitempty"`
HeadBlockTimeWeBothHave int64 `protobuf:"varint,5,opt,name=headBlockTimeWeBothHave,proto3" json:"headBlockTimeWeBothHave,omitempty"`
NeedSyncFromPeer bool `protobuf:"varint,6,opt,name=needSyncFromPeer,proto3" json:"needSyncFromPeer,omitempty"`
NeedSyncFromUs bool `protobuf:"varint,7,opt,name=needSyncFromUs,proto3" json:"needSyncFromUs,omitempty"`
Host string `protobuf:"bytes,8,opt,name=host,proto3" json:"host,omitempty"`
Port int32 `protobuf:"varint,9,opt,name=port,proto3" json:"port,omitempty"`
NodeId string `protobuf:"bytes,10,opt,name=nodeId,proto3" json:"nodeId,omitempty"`
ConnectTime int64 `protobuf:"varint,11,opt,name=connectTime,proto3" json:"connectTime,omitempty"`
AvgLatency float64 `protobuf:"fixed64,12,opt,name=avgLatency,proto3" json:"avgLatency,omitempty"`
SyncToFetchSize int32 `protobuf:"varint,13,opt,name=syncToFetchSize,proto3" json:"syncToFetchSize,omitempty"`
SyncToFetchSizePeekNum int64 `protobuf:"varint,14,opt,name=syncToFetchSizePeekNum,proto3" json:"syncToFetchSizePeekNum,omitempty"`
SyncBlockRequestedSize int32 `protobuf:"varint,15,opt,name=syncBlockRequestedSize,proto3" json:"syncBlockRequestedSize,omitempty"`
UnFetchSynNum int64 `protobuf:"varint,16,opt,name=unFetchSynNum,proto3" json:"unFetchSynNum,omitempty"`
BlockInPorcSize int32 `protobuf:"varint,17,opt,name=blockInPorcSize,proto3" json:"blockInPorcSize,omitempty"`
HeadBlockWeBothHave string `protobuf:"bytes,18,opt,name=headBlockWeBothHave,proto3" json:"headBlockWeBothHave,omitempty"`
IsActive bool `protobuf:"varint,19,opt,name=isActive,proto3" json:"isActive,omitempty"`
Score int32 `protobuf:"varint,20,opt,name=score,proto3" json:"score,omitempty"`
NodeCount int32 `protobuf:"varint,21,opt,name=nodeCount,proto3" json:"nodeCount,omitempty"`
InFlow int64 `protobuf:"varint,22,opt,name=inFlow,proto3" json:"inFlow,omitempty"`
DisconnectTimes int32 `protobuf:"varint,23,opt,name=disconnectTimes,proto3" json:"disconnectTimes,omitempty"`
LocalDisconnectReason string `protobuf:"bytes,24,opt,name=localDisconnectReason,proto3" json:"localDisconnectReason,omitempty"`
RemoteDisconnectReason string `protobuf:"bytes,25,opt,name=remoteDisconnectReason,proto3" json:"remoteDisconnectReason,omitempty"`
}
func (x *NodeInfo_PeerInfo) Reset() {
*x = NodeInfo_PeerInfo{}
mi := &file_core_Tron_proto_msgTypes[70]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *NodeInfo_PeerInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*NodeInfo_PeerInfo) ProtoMessage() {}
func (x *NodeInfo_PeerInfo) ProtoReflect() protoreflect.Message {
mi := &file_core_Tron_proto_msgTypes[70]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use NodeInfo_PeerInfo.ProtoReflect.Descriptor instead.
func (*NodeInfo_PeerInfo) Descriptor() ([]byte, []int) {
return file_core_Tron_proto_rawDescGZIP(), []int{40, 1}
}
func (x *NodeInfo_PeerInfo) GetLastSyncBlock() string {
if x != nil {
return x.LastSyncBlock
}
return ""
}
func (x *NodeInfo_PeerInfo) GetRemainNum() int64 {
if x != nil {
return x.RemainNum
}
return 0
}
func (x *NodeInfo_PeerInfo) GetLastBlockUpdateTime() int64 {
if x != nil {
return x.LastBlockUpdateTime
}
return 0
}
func (x *NodeInfo_PeerInfo) GetSyncFlag() bool {
if x != nil {
return x.SyncFlag
}
return false
}
func (x *NodeInfo_PeerInfo) GetHeadBlockTimeWeBothHave() int64 {
if x != nil {
return x.HeadBlockTimeWeBothHave
}
return 0
}
func (x *NodeInfo_PeerInfo) GetNeedSyncFromPeer() bool {
if x != nil {
return x.NeedSyncFromPeer
}
return false
}
func (x *NodeInfo_PeerInfo) GetNeedSyncFromUs() bool {
if x != nil {
return x.NeedSyncFromUs
}
return false
}
func (x *NodeInfo_PeerInfo) GetHost() string {
if x != nil {
return x.Host
}
return ""
}
func (x *NodeInfo_PeerInfo) GetPort() int32 {
if x != nil {
return x.Port
}
return 0
}
func (x *NodeInfo_PeerInfo) GetNodeId() string {
if x != nil {
return x.NodeId
}
return ""
}
func (x *NodeInfo_PeerInfo) GetConnectTime() int64 {
if x != nil {
return x.ConnectTime
}
return 0
}
func (x *NodeInfo_PeerInfo) GetAvgLatency() float64 {
if x != nil {
return x.AvgLatency
}
return 0
}
func (x *NodeInfo_PeerInfo) GetSyncToFetchSize() int32 {
if x != nil {
return x.SyncToFetchSize
}
return 0
}
func (x *NodeInfo_PeerInfo) GetSyncToFetchSizePeekNum() int64 {
if x != nil {
return x.SyncToFetchSizePeekNum
}
return 0
}
func (x *NodeInfo_PeerInfo) GetSyncBlockRequestedSize() int32 {
if x != nil {
return x.SyncBlockRequestedSize
}
return 0
}
func (x *NodeInfo_PeerInfo) GetUnFetchSynNum() int64 {
if x != nil {
return x.UnFetchSynNum
}
return 0
}
func (x *NodeInfo_PeerInfo) GetBlockInPorcSize() int32 {
if x != nil {
return x.BlockInPorcSize
}
return 0
}
func (x *NodeInfo_PeerInfo) GetHeadBlockWeBothHave() string {
if x != nil {
return x.HeadBlockWeBothHave
}
return ""
}
func (x *NodeInfo_PeerInfo) GetIsActive() bool {
if x != nil {
return x.IsActive
}
return false
}
func (x *NodeInfo_PeerInfo) GetScore() int32 {
if x != nil {
return x.Score
}
return 0
}
func (x *NodeInfo_PeerInfo) GetNodeCount() int32 {
if x != nil {
return x.NodeCount
}
return 0
}
func (x *NodeInfo_PeerInfo) GetInFlow() int64 {
if x != nil {
return x.InFlow
}
return 0
}
func (x *NodeInfo_PeerInfo) GetDisconnectTimes() int32 {
if x != nil {
return x.DisconnectTimes
}
return 0
}
func (x *NodeInfo_PeerInfo) GetLocalDisconnectReason() string {
if x != nil {
return x.LocalDisconnectReason
}
return ""
}
func (x *NodeInfo_PeerInfo) GetRemoteDisconnectReason() string {
if x != nil {
return x.RemoteDisconnectReason
}
return ""
}
type NodeInfo_ConfigNodeInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
CodeVersion string `protobuf:"bytes,1,opt,name=codeVersion,proto3" json:"codeVersion,omitempty"`
P2PVersion string `protobuf:"bytes,2,opt,name=p2pVersion,proto3" json:"p2pVersion,omitempty"`
ListenPort int32 `protobuf:"varint,3,opt,name=listenPort,proto3" json:"listenPort,omitempty"`
DiscoverEnable bool `protobuf:"varint,4,opt,name=discoverEnable,proto3" json:"discoverEnable,omitempty"`
ActiveNodeSize int32 `protobuf:"varint,5,opt,name=activeNodeSize,proto3" json:"activeNodeSize,omitempty"`
PassiveNodeSize int32 `protobuf:"varint,6,opt,name=passiveNodeSize,proto3" json:"passiveNodeSize,omitempty"`
SendNodeSize int32 `protobuf:"varint,7,opt,name=sendNodeSize,proto3" json:"sendNodeSize,omitempty"`
MaxConnectCount int32 `protobuf:"varint,8,opt,name=maxConnectCount,proto3" json:"maxConnectCount,omitempty"`
SameIpMaxConnectCount int32 `protobuf:"varint,9,opt,name=sameIpMaxConnectCount,proto3" json:"sameIpMaxConnectCount,omitempty"`
BackupListenPort int32 `protobuf:"varint,10,opt,name=backupListenPort,proto3" json:"backupListenPort,omitempty"`
BackupMemberSize int32 `protobuf:"varint,11,opt,name=backupMemberSize,proto3" json:"backupMemberSize,omitempty"`
BackupPriority int32 `protobuf:"varint,12,opt,name=backupPriority,proto3" json:"backupPriority,omitempty"`
DbVersion int32 `protobuf:"varint,13,opt,name=dbVersion,proto3" json:"dbVersion,omitempty"`
MinParticipationRate int32 `protobuf:"varint,14,opt,name=minParticipationRate,proto3" json:"minParticipationRate,omitempty"`
SupportConstant bool `protobuf:"varint,15,opt,name=supportConstant,proto3" json:"supportConstant,omitempty"`
MinTimeRatio float64 `protobuf:"fixed64,16,opt,name=minTimeRatio,proto3" json:"minTimeRatio,omitempty"`
MaxTimeRatio float64 `protobuf:"fixed64,17,opt,name=maxTimeRatio,proto3" json:"maxTimeRatio,omitempty"`
AllowCreationOfContracts int64 `protobuf:"varint,18,opt,name=allowCreationOfContracts,proto3" json:"allowCreationOfContracts,omitempty"`
AllowAdaptiveEnergy int64 `protobuf:"varint,19,opt,name=allowAdaptiveEnergy,proto3" json:"allowAdaptiveEnergy,omitempty"`
}
func (x *NodeInfo_ConfigNodeInfo) Reset() {
*x = NodeInfo_ConfigNodeInfo{}
mi := &file_core_Tron_proto_msgTypes[71]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *NodeInfo_ConfigNodeInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*NodeInfo_ConfigNodeInfo) ProtoMessage() {}
func (x *NodeInfo_ConfigNodeInfo) ProtoReflect() protoreflect.Message {
mi := &file_core_Tron_proto_msgTypes[71]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use NodeInfo_ConfigNodeInfo.ProtoReflect.Descriptor instead.
func (*NodeInfo_ConfigNodeInfo) Descriptor() ([]byte, []int) {
return file_core_Tron_proto_rawDescGZIP(), []int{40, 2}
}
func (x *NodeInfo_ConfigNodeInfo) GetCodeVersion() string {
if x != nil {
return x.CodeVersion
}
return ""
}
func (x *NodeInfo_ConfigNodeInfo) GetP2PVersion() string {
if x != nil {
return x.P2PVersion
}
return ""
}
func (x *NodeInfo_ConfigNodeInfo) GetListenPort() int32 {
if x != nil {
return x.ListenPort
}
return 0
}
func (x *NodeInfo_ConfigNodeInfo) GetDiscoverEnable() bool {
if x != nil {
return x.DiscoverEnable
}
return false
}
func (x *NodeInfo_ConfigNodeInfo) GetActiveNodeSize() int32 {
if x != nil {
return x.ActiveNodeSize
}
return 0
}
func (x *NodeInfo_ConfigNodeInfo) GetPassiveNodeSize() int32 {
if x != nil {
return x.PassiveNodeSize
}
return 0
}
func (x *NodeInfo_ConfigNodeInfo) GetSendNodeSize() int32 {
if x != nil {
return x.SendNodeSize
}
return 0
}
func (x *NodeInfo_ConfigNodeInfo) GetMaxConnectCount() int32 {
if x != nil {
return x.MaxConnectCount
}
return 0
}
func (x *NodeInfo_ConfigNodeInfo) GetSameIpMaxConnectCount() int32 {
if x != nil {
return x.SameIpMaxConnectCount
}
return 0
}
func (x *NodeInfo_ConfigNodeInfo) GetBackupListenPort() int32 {
if x != nil {
return x.BackupListenPort
}
return 0
}
func (x *NodeInfo_ConfigNodeInfo) GetBackupMemberSize() int32 {
if x != nil {
return x.BackupMemberSize
}
return 0
}
func (x *NodeInfo_ConfigNodeInfo) GetBackupPriority() int32 {
if x != nil {
return x.BackupPriority
}
return 0
}
func (x *NodeInfo_ConfigNodeInfo) GetDbVersion() int32 {
if x != nil {
return x.DbVersion
}
return 0
}
func (x *NodeInfo_ConfigNodeInfo) GetMinParticipationRate() int32 {
if x != nil {
return x.MinParticipationRate
}
return 0
}
func (x *NodeInfo_ConfigNodeInfo) GetSupportConstant() bool {
if x != nil {
return x.SupportConstant
}
return false
}
func (x *NodeInfo_ConfigNodeInfo) GetMinTimeRatio() float64 {
if x != nil {
return x.MinTimeRatio
}
return 0
}
func (x *NodeInfo_ConfigNodeInfo) GetMaxTimeRatio() float64 {
if x != nil {
return x.MaxTimeRatio
}
return 0
}
func (x *NodeInfo_ConfigNodeInfo) GetAllowCreationOfContracts() int64 {
if x != nil {
return x.AllowCreationOfContracts
}
return 0
}
func (x *NodeInfo_ConfigNodeInfo) GetAllowAdaptiveEnergy() int64 {
if x != nil {
return x.AllowAdaptiveEnergy
}
return 0
}
type NodeInfo_MachineInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ThreadCount int32 `protobuf:"varint,1,opt,name=threadCount,proto3" json:"threadCount,omitempty"`
DeadLockThreadCount int32 `protobuf:"varint,2,opt,name=deadLockThreadCount,proto3" json:"deadLockThreadCount,omitempty"`
CpuCount int32 `protobuf:"varint,3,opt,name=cpuCount,proto3" json:"cpuCount,omitempty"`
TotalMemory int64 `protobuf:"varint,4,opt,name=totalMemory,proto3" json:"totalMemory,omitempty"`
FreeMemory int64 `protobuf:"varint,5,opt,name=freeMemory,proto3" json:"freeMemory,omitempty"`
CpuRate float64 `protobuf:"fixed64,6,opt,name=cpuRate,proto3" json:"cpuRate,omitempty"`
JavaVersion string `protobuf:"bytes,7,opt,name=javaVersion,proto3" json:"javaVersion,omitempty"`
OsName string `protobuf:"bytes,8,opt,name=osName,proto3" json:"osName,omitempty"`
JvmTotalMemory int64 `protobuf:"varint,9,opt,name=jvmTotalMemory,proto3" json:"jvmTotalMemory,omitempty"`
JvmFreeMemory int64 `protobuf:"varint,10,opt,name=jvmFreeMemory,proto3" json:"jvmFreeMemory,omitempty"`
ProcessCpuRate float64 `protobuf:"fixed64,11,opt,name=processCpuRate,proto3" json:"processCpuRate,omitempty"`
MemoryDescInfoList []*NodeInfo_MachineInfo_MemoryDescInfo `protobuf:"bytes,12,rep,name=memoryDescInfoList,proto3" json:"memoryDescInfoList,omitempty"`
DeadLockThreadInfoList []*NodeInfo_MachineInfo_DeadLockThreadInfo `protobuf:"bytes,13,rep,name=deadLockThreadInfoList,proto3" json:"deadLockThreadInfoList,omitempty"`
}
func (x *NodeInfo_MachineInfo) Reset() {
*x = NodeInfo_MachineInfo{}
mi := &file_core_Tron_proto_msgTypes[72]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *NodeInfo_MachineInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*NodeInfo_MachineInfo) ProtoMessage() {}
func (x *NodeInfo_MachineInfo) ProtoReflect() protoreflect.Message {
mi := &file_core_Tron_proto_msgTypes[72]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use NodeInfo_MachineInfo.ProtoReflect.Descriptor instead.
func (*NodeInfo_MachineInfo) Descriptor() ([]byte, []int) {
return file_core_Tron_proto_rawDescGZIP(), []int{40, 3}
}
func (x *NodeInfo_MachineInfo) GetThreadCount() int32 {
if x != nil {
return x.ThreadCount
}
return 0
}
func (x *NodeInfo_MachineInfo) GetDeadLockThreadCount() int32 {
if x != nil {
return x.DeadLockThreadCount
}
return 0
}
func (x *NodeInfo_MachineInfo) GetCpuCount() int32 {
if x != nil {
return x.CpuCount
}
return 0
}
func (x *NodeInfo_MachineInfo) GetTotalMemory() int64 {
if x != nil {
return x.TotalMemory
}
return 0
}
func (x *NodeInfo_MachineInfo) GetFreeMemory() int64 {
if x != nil {
return x.FreeMemory
}
return 0
}
func (x *NodeInfo_MachineInfo) GetCpuRate() float64 {
if x != nil {
return x.CpuRate
}
return 0
}
func (x *NodeInfo_MachineInfo) GetJavaVersion() string {
if x != nil {
return x.JavaVersion
}
return ""
}
func (x *NodeInfo_MachineInfo) GetOsName() string {
if x != nil {
return x.OsName
}
return ""
}
func (x *NodeInfo_MachineInfo) GetJvmTotalMemory() int64 {
if x != nil {
return x.JvmTotalMemory
}
return 0
}
func (x *NodeInfo_MachineInfo) GetJvmFreeMemory() int64 {
if x != nil {
return x.JvmFreeMemory
}
return 0
}
func (x *NodeInfo_MachineInfo) GetProcessCpuRate() float64 {
if x != nil {
return x.ProcessCpuRate
}
return 0
}
func (x *NodeInfo_MachineInfo) GetMemoryDescInfoList() []*NodeInfo_MachineInfo_MemoryDescInfo {
if x != nil {
return x.MemoryDescInfoList
}
return nil
}
func (x *NodeInfo_MachineInfo) GetDeadLockThreadInfoList() []*NodeInfo_MachineInfo_DeadLockThreadInfo {
if x != nil {
return x.DeadLockThreadInfoList
}
return nil
}
type NodeInfo_MachineInfo_MemoryDescInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
InitSize int64 `protobuf:"varint,2,opt,name=initSize,proto3" json:"initSize,omitempty"`
UseSize int64 `protobuf:"varint,3,opt,name=useSize,proto3" json:"useSize,omitempty"`
MaxSize int64 `protobuf:"varint,4,opt,name=maxSize,proto3" json:"maxSize,omitempty"`
UseRate float64 `protobuf:"fixed64,5,opt,name=useRate,proto3" json:"useRate,omitempty"`
}
func (x *NodeInfo_MachineInfo_MemoryDescInfo) Reset() {
*x = NodeInfo_MachineInfo_MemoryDescInfo{}
mi := &file_core_Tron_proto_msgTypes[73]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *NodeInfo_MachineInfo_MemoryDescInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*NodeInfo_MachineInfo_MemoryDescInfo) ProtoMessage() {}
func (x *NodeInfo_MachineInfo_MemoryDescInfo) ProtoReflect() protoreflect.Message {
mi := &file_core_Tron_proto_msgTypes[73]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use NodeInfo_MachineInfo_MemoryDescInfo.ProtoReflect.Descriptor instead.
func (*NodeInfo_MachineInfo_MemoryDescInfo) Descriptor() ([]byte, []int) {
return file_core_Tron_proto_rawDescGZIP(), []int{40, 3, 0}
}
func (x *NodeInfo_MachineInfo_MemoryDescInfo) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *NodeInfo_MachineInfo_MemoryDescInfo) GetInitSize() int64 {
if x != nil {
return x.InitSize
}
return 0
}
func (x *NodeInfo_MachineInfo_MemoryDescInfo) GetUseSize() int64 {
if x != nil {
return x.UseSize
}
return 0
}
func (x *NodeInfo_MachineInfo_MemoryDescInfo) GetMaxSize() int64 {
if x != nil {
return x.MaxSize
}
return 0
}
func (x *NodeInfo_MachineInfo_MemoryDescInfo) GetUseRate() float64 {
if x != nil {
return x.UseRate
}
return 0
}
type NodeInfo_MachineInfo_DeadLockThreadInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
LockName string `protobuf:"bytes,2,opt,name=lockName,proto3" json:"lockName,omitempty"`
LockOwner string `protobuf:"bytes,3,opt,name=lockOwner,proto3" json:"lockOwner,omitempty"`
State string `protobuf:"bytes,4,opt,name=state,proto3" json:"state,omitempty"`
BlockTime int64 `protobuf:"varint,5,opt,name=blockTime,proto3" json:"blockTime,omitempty"`
WaitTime int64 `protobuf:"varint,6,opt,name=waitTime,proto3" json:"waitTime,omitempty"`
StackTrace string `protobuf:"bytes,7,opt,name=stackTrace,proto3" json:"stackTrace,omitempty"`
}
func (x *NodeInfo_MachineInfo_DeadLockThreadInfo) Reset() {
*x = NodeInfo_MachineInfo_DeadLockThreadInfo{}
mi := &file_core_Tron_proto_msgTypes[74]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *NodeInfo_MachineInfo_DeadLockThreadInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*NodeInfo_MachineInfo_DeadLockThreadInfo) ProtoMessage() {}
func (x *NodeInfo_MachineInfo_DeadLockThreadInfo) ProtoReflect() protoreflect.Message {
mi := &file_core_Tron_proto_msgTypes[74]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use NodeInfo_MachineInfo_DeadLockThreadInfo.ProtoReflect.Descriptor instead.
func (*NodeInfo_MachineInfo_DeadLockThreadInfo) Descriptor() ([]byte, []int) {
return file_core_Tron_proto_rawDescGZIP(), []int{40, 3, 1}
}
func (x *NodeInfo_MachineInfo_DeadLockThreadInfo) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *NodeInfo_MachineInfo_DeadLockThreadInfo) GetLockName() string {
if x != nil {
return x.LockName
}
return ""
}
func (x *NodeInfo_MachineInfo_DeadLockThreadInfo) GetLockOwner() string {
if x != nil {
return x.LockOwner
}
return ""
}
func (x *NodeInfo_MachineInfo_DeadLockThreadInfo) GetState() string {
if x != nil {
return x.State
}
return ""
}
func (x *NodeInfo_MachineInfo_DeadLockThreadInfo) GetBlockTime() int64 {
if x != nil {
return x.BlockTime
}
return 0
}
func (x *NodeInfo_MachineInfo_DeadLockThreadInfo) GetWaitTime() int64 {
if x != nil {
return x.WaitTime
}
return 0
}
func (x *NodeInfo_MachineInfo_DeadLockThreadInfo) GetStackTrace() string {
if x != nil {
return x.StackTrace
}
return ""
}
type MetricsInfo_NodeInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Ip string `protobuf:"bytes,1,opt,name=ip,proto3" json:"ip,omitempty"`
NodeType int32 `protobuf:"varint,2,opt,name=nodeType,proto3" json:"nodeType,omitempty"`
Version string `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"`
BackupStatus int32 `protobuf:"varint,4,opt,name=backupStatus,proto3" json:"backupStatus,omitempty"`
}
func (x *MetricsInfo_NodeInfo) Reset() {
*x = MetricsInfo_NodeInfo{}
mi := &file_core_Tron_proto_msgTypes[75]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *MetricsInfo_NodeInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MetricsInfo_NodeInfo) ProtoMessage() {}
func (x *MetricsInfo_NodeInfo) ProtoReflect() protoreflect.Message {
mi := &file_core_Tron_proto_msgTypes[75]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use MetricsInfo_NodeInfo.ProtoReflect.Descriptor instead.
func (*MetricsInfo_NodeInfo) Descriptor() ([]byte, []int) {
return file_core_Tron_proto_rawDescGZIP(), []int{41, 0}
}
func (x *MetricsInfo_NodeInfo) GetIp() string {
if x != nil {
return x.Ip
}
return ""
}
func (x *MetricsInfo_NodeInfo) GetNodeType() int32 {
if x != nil {
return x.NodeType
}
return 0
}
func (x *MetricsInfo_NodeInfo) GetVersion() string {
if x != nil {
return x.Version
}
return ""
}
func (x *MetricsInfo_NodeInfo) GetBackupStatus() int32 {
if x != nil {
return x.BackupStatus
}
return 0
}
type MetricsInfo_BlockChainInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
HeadBlockNum int64 `protobuf:"varint,1,opt,name=headBlockNum,proto3" json:"headBlockNum,omitempty"`
HeadBlockTimestamp int64 `protobuf:"varint,2,opt,name=headBlockTimestamp,proto3" json:"headBlockTimestamp,omitempty"`
HeadBlockHash string `protobuf:"bytes,3,opt,name=headBlockHash,proto3" json:"headBlockHash,omitempty"`
ForkCount int32 `protobuf:"varint,4,opt,name=forkCount,proto3" json:"forkCount,omitempty"`
FailForkCount int32 `protobuf:"varint,5,opt,name=failForkCount,proto3" json:"failForkCount,omitempty"`
BlockProcessTime *MetricsInfo_RateInfo `protobuf:"bytes,6,opt,name=blockProcessTime,proto3" json:"blockProcessTime,omitempty"`
Tps *MetricsInfo_RateInfo `protobuf:"bytes,7,opt,name=tps,proto3" json:"tps,omitempty"`
TransactionCacheSize int32 `protobuf:"varint,8,opt,name=transactionCacheSize,proto3" json:"transactionCacheSize,omitempty"`
MissedTransaction *MetricsInfo_RateInfo `protobuf:"bytes,9,opt,name=missedTransaction,proto3" json:"missedTransaction,omitempty"`
Witnesses []*MetricsInfo_BlockChainInfo_Witness `protobuf:"bytes,10,rep,name=witnesses,proto3" json:"witnesses,omitempty"`
FailProcessBlockNum int64 `protobuf:"varint,11,opt,name=failProcessBlockNum,proto3" json:"failProcessBlockNum,omitempty"`
FailProcessBlockReason string `protobuf:"bytes,12,opt,name=failProcessBlockReason,proto3" json:"failProcessBlockReason,omitempty"`
DupWitness []*MetricsInfo_BlockChainInfo_DupWitness `protobuf:"bytes,13,rep,name=dupWitness,proto3" json:"dupWitness,omitempty"`
}
func (x *MetricsInfo_BlockChainInfo) Reset() {
*x = MetricsInfo_BlockChainInfo{}
mi := &file_core_Tron_proto_msgTypes[76]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *MetricsInfo_BlockChainInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MetricsInfo_BlockChainInfo) ProtoMessage() {}
func (x *MetricsInfo_BlockChainInfo) ProtoReflect() protoreflect.Message {
mi := &file_core_Tron_proto_msgTypes[76]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use MetricsInfo_BlockChainInfo.ProtoReflect.Descriptor instead.
func (*MetricsInfo_BlockChainInfo) Descriptor() ([]byte, []int) {
return file_core_Tron_proto_rawDescGZIP(), []int{41, 1}
}
func (x *MetricsInfo_BlockChainInfo) GetHeadBlockNum() int64 {
if x != nil {
return x.HeadBlockNum
}
return 0
}
func (x *MetricsInfo_BlockChainInfo) GetHeadBlockTimestamp() int64 {
if x != nil {
return x.HeadBlockTimestamp
}
return 0
}
func (x *MetricsInfo_BlockChainInfo) GetHeadBlockHash() string {
if x != nil {
return x.HeadBlockHash
}
return ""
}
func (x *MetricsInfo_BlockChainInfo) GetForkCount() int32 {
if x != nil {
return x.ForkCount
}
return 0
}
func (x *MetricsInfo_BlockChainInfo) GetFailForkCount() int32 {
if x != nil {
return x.FailForkCount
}
return 0
}
func (x *MetricsInfo_BlockChainInfo) GetBlockProcessTime() *MetricsInfo_RateInfo {
if x != nil {
return x.BlockProcessTime
}
return nil
}
func (x *MetricsInfo_BlockChainInfo) GetTps() *MetricsInfo_RateInfo {
if x != nil {
return x.Tps
}
return nil
}
func (x *MetricsInfo_BlockChainInfo) GetTransactionCacheSize() int32 {
if x != nil {
return x.TransactionCacheSize
}
return 0
}
func (x *MetricsInfo_BlockChainInfo) GetMissedTransaction() *MetricsInfo_RateInfo {
if x != nil {
return x.MissedTransaction
}
return nil
}
func (x *MetricsInfo_BlockChainInfo) GetWitnesses() []*MetricsInfo_BlockChainInfo_Witness {
if x != nil {
return x.Witnesses
}
return nil
}
func (x *MetricsInfo_BlockChainInfo) GetFailProcessBlockNum() int64 {
if x != nil {
return x.FailProcessBlockNum
}
return 0
}
func (x *MetricsInfo_BlockChainInfo) GetFailProcessBlockReason() string {
if x != nil {
return x.FailProcessBlockReason
}
return ""
}
func (x *MetricsInfo_BlockChainInfo) GetDupWitness() []*MetricsInfo_BlockChainInfo_DupWitness {
if x != nil {
return x.DupWitness
}
return nil
}
type MetricsInfo_RateInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Count int64 `protobuf:"varint,1,opt,name=count,proto3" json:"count,omitempty"`
MeanRate float64 `protobuf:"fixed64,2,opt,name=meanRate,proto3" json:"meanRate,omitempty"`
OneMinuteRate float64 `protobuf:"fixed64,3,opt,name=oneMinuteRate,proto3" json:"oneMinuteRate,omitempty"`
FiveMinuteRate float64 `protobuf:"fixed64,4,opt,name=fiveMinuteRate,proto3" json:"fiveMinuteRate,omitempty"`
FifteenMinuteRate float64 `protobuf:"fixed64,5,opt,name=fifteenMinuteRate,proto3" json:"fifteenMinuteRate,omitempty"`
}
func (x *MetricsInfo_RateInfo) Reset() {
*x = MetricsInfo_RateInfo{}
mi := &file_core_Tron_proto_msgTypes[77]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *MetricsInfo_RateInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MetricsInfo_RateInfo) ProtoMessage() {}
func (x *MetricsInfo_RateInfo) ProtoReflect() protoreflect.Message {
mi := &file_core_Tron_proto_msgTypes[77]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use MetricsInfo_RateInfo.ProtoReflect.Descriptor instead.
func (*MetricsInfo_RateInfo) Descriptor() ([]byte, []int) {
return file_core_Tron_proto_rawDescGZIP(), []int{41, 2}
}
func (x *MetricsInfo_RateInfo) GetCount() int64 {
if x != nil {
return x.Count
}
return 0
}
func (x *MetricsInfo_RateInfo) GetMeanRate() float64 {
if x != nil {
return x.MeanRate
}
return 0
}
func (x *MetricsInfo_RateInfo) GetOneMinuteRate() float64 {
if x != nil {
return x.OneMinuteRate
}
return 0
}
func (x *MetricsInfo_RateInfo) GetFiveMinuteRate() float64 {
if x != nil {
return x.FiveMinuteRate
}
return 0
}
func (x *MetricsInfo_RateInfo) GetFifteenMinuteRate() float64 {
if x != nil {
return x.FifteenMinuteRate
}
return 0
}
type MetricsInfo_NetInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ErrorProtoCount int32 `protobuf:"varint,1,opt,name=errorProtoCount,proto3" json:"errorProtoCount,omitempty"`
Api *MetricsInfo_NetInfo_ApiInfo `protobuf:"bytes,2,opt,name=api,proto3" json:"api,omitempty"`
ConnectionCount int32 `protobuf:"varint,3,opt,name=connectionCount,proto3" json:"connectionCount,omitempty"`
ValidConnectionCount int32 `protobuf:"varint,4,opt,name=validConnectionCount,proto3" json:"validConnectionCount,omitempty"`
TcpInTraffic *MetricsInfo_RateInfo `protobuf:"bytes,5,opt,name=tcpInTraffic,proto3" json:"tcpInTraffic,omitempty"`
TcpOutTraffic *MetricsInfo_RateInfo `protobuf:"bytes,6,opt,name=tcpOutTraffic,proto3" json:"tcpOutTraffic,omitempty"`
DisconnectionCount int32 `protobuf:"varint,7,opt,name=disconnectionCount,proto3" json:"disconnectionCount,omitempty"`
DisconnectionDetail []*MetricsInfo_NetInfo_DisconnectionDetailInfo `protobuf:"bytes,8,rep,name=disconnectionDetail,proto3" json:"disconnectionDetail,omitempty"`
UdpInTraffic *MetricsInfo_RateInfo `protobuf:"bytes,9,opt,name=udpInTraffic,proto3" json:"udpInTraffic,omitempty"`
UdpOutTraffic *MetricsInfo_RateInfo `protobuf:"bytes,10,opt,name=udpOutTraffic,proto3" json:"udpOutTraffic,omitempty"`
Latency *MetricsInfo_NetInfo_LatencyInfo `protobuf:"bytes,11,opt,name=latency,proto3" json:"latency,omitempty"`
}
func (x *MetricsInfo_NetInfo) Reset() {
*x = MetricsInfo_NetInfo{}
mi := &file_core_Tron_proto_msgTypes[78]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *MetricsInfo_NetInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MetricsInfo_NetInfo) ProtoMessage() {}
func (x *MetricsInfo_NetInfo) ProtoReflect() protoreflect.Message {
mi := &file_core_Tron_proto_msgTypes[78]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use MetricsInfo_NetInfo.ProtoReflect.Descriptor instead.
func (*MetricsInfo_NetInfo) Descriptor() ([]byte, []int) {
return file_core_Tron_proto_rawDescGZIP(), []int{41, 3}
}
func (x *MetricsInfo_NetInfo) GetErrorProtoCount() int32 {
if x != nil {
return x.ErrorProtoCount
}
return 0
}
func (x *MetricsInfo_NetInfo) GetApi() *MetricsInfo_NetInfo_ApiInfo {
if x != nil {
return x.Api
}
return nil
}
func (x *MetricsInfo_NetInfo) GetConnectionCount() int32 {
if x != nil {
return x.ConnectionCount
}
return 0
}
func (x *MetricsInfo_NetInfo) GetValidConnectionCount() int32 {
if x != nil {
return x.ValidConnectionCount
}
return 0
}
func (x *MetricsInfo_NetInfo) GetTcpInTraffic() *MetricsInfo_RateInfo {
if x != nil {
return x.TcpInTraffic
}
return nil
}
func (x *MetricsInfo_NetInfo) GetTcpOutTraffic() *MetricsInfo_RateInfo {
if x != nil {
return x.TcpOutTraffic
}
return nil
}
func (x *MetricsInfo_NetInfo) GetDisconnectionCount() int32 {
if x != nil {
return x.DisconnectionCount
}
return 0
}
func (x *MetricsInfo_NetInfo) GetDisconnectionDetail() []*MetricsInfo_NetInfo_DisconnectionDetailInfo {
if x != nil {
return x.DisconnectionDetail
}
return nil
}
func (x *MetricsInfo_NetInfo) GetUdpInTraffic() *MetricsInfo_RateInfo {
if x != nil {
return x.UdpInTraffic
}
return nil
}
func (x *MetricsInfo_NetInfo) GetUdpOutTraffic() *MetricsInfo_RateInfo {
if x != nil {
return x.UdpOutTraffic
}
return nil
}
func (x *MetricsInfo_NetInfo) GetLatency() *MetricsInfo_NetInfo_LatencyInfo {
if x != nil {
return x.Latency
}
return nil
}
type MetricsInfo_BlockChainInfo_Witness struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
Version int32 `protobuf:"varint,2,opt,name=version,proto3" json:"version,omitempty"`
}
func (x *MetricsInfo_BlockChainInfo_Witness) Reset() {
*x = MetricsInfo_BlockChainInfo_Witness{}
mi := &file_core_Tron_proto_msgTypes[79]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *MetricsInfo_BlockChainInfo_Witness) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MetricsInfo_BlockChainInfo_Witness) ProtoMessage() {}
func (x *MetricsInfo_BlockChainInfo_Witness) ProtoReflect() protoreflect.Message {
mi := &file_core_Tron_proto_msgTypes[79]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use MetricsInfo_BlockChainInfo_Witness.ProtoReflect.Descriptor instead.
func (*MetricsInfo_BlockChainInfo_Witness) Descriptor() ([]byte, []int) {
return file_core_Tron_proto_rawDescGZIP(), []int{41, 1, 0}
}
func (x *MetricsInfo_BlockChainInfo_Witness) GetAddress() string {
if x != nil {
return x.Address
}
return ""
}
func (x *MetricsInfo_BlockChainInfo_Witness) GetVersion() int32 {
if x != nil {
return x.Version
}
return 0
}
type MetricsInfo_BlockChainInfo_DupWitness struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
BlockNum int64 `protobuf:"varint,2,opt,name=blockNum,proto3" json:"blockNum,omitempty"`
Count int32 `protobuf:"varint,3,opt,name=count,proto3" json:"count,omitempty"`
}
func (x *MetricsInfo_BlockChainInfo_DupWitness) Reset() {
*x = MetricsInfo_BlockChainInfo_DupWitness{}
mi := &file_core_Tron_proto_msgTypes[80]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *MetricsInfo_BlockChainInfo_DupWitness) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MetricsInfo_BlockChainInfo_DupWitness) ProtoMessage() {}
func (x *MetricsInfo_BlockChainInfo_DupWitness) ProtoReflect() protoreflect.Message {
mi := &file_core_Tron_proto_msgTypes[80]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use MetricsInfo_BlockChainInfo_DupWitness.ProtoReflect.Descriptor instead.
func (*MetricsInfo_BlockChainInfo_DupWitness) Descriptor() ([]byte, []int) {
return file_core_Tron_proto_rawDescGZIP(), []int{41, 1, 1}
}
func (x *MetricsInfo_BlockChainInfo_DupWitness) GetAddress() string {
if x != nil {
return x.Address
}
return ""
}
func (x *MetricsInfo_BlockChainInfo_DupWitness) GetBlockNum() int64 {
if x != nil {
return x.BlockNum
}
return 0
}
func (x *MetricsInfo_BlockChainInfo_DupWitness) GetCount() int32 {
if x != nil {
return x.Count
}
return 0
}
type MetricsInfo_NetInfo_ApiInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Qps *MetricsInfo_RateInfo `protobuf:"bytes,1,opt,name=qps,proto3" json:"qps,omitempty"`
FailQps *MetricsInfo_RateInfo `protobuf:"bytes,2,opt,name=failQps,proto3" json:"failQps,omitempty"`
OutTraffic *MetricsInfo_RateInfo `protobuf:"bytes,3,opt,name=outTraffic,proto3" json:"outTraffic,omitempty"`
Detail []*MetricsInfo_NetInfo_ApiInfo_ApiDetailInfo `protobuf:"bytes,4,rep,name=detail,proto3" json:"detail,omitempty"`
}
func (x *MetricsInfo_NetInfo_ApiInfo) Reset() {
*x = MetricsInfo_NetInfo_ApiInfo{}
mi := &file_core_Tron_proto_msgTypes[81]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *MetricsInfo_NetInfo_ApiInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MetricsInfo_NetInfo_ApiInfo) ProtoMessage() {}
func (x *MetricsInfo_NetInfo_ApiInfo) ProtoReflect() protoreflect.Message {
mi := &file_core_Tron_proto_msgTypes[81]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use MetricsInfo_NetInfo_ApiInfo.ProtoReflect.Descriptor instead.
func (*MetricsInfo_NetInfo_ApiInfo) Descriptor() ([]byte, []int) {
return file_core_Tron_proto_rawDescGZIP(), []int{41, 3, 0}
}
func (x *MetricsInfo_NetInfo_ApiInfo) GetQps() *MetricsInfo_RateInfo {
if x != nil {
return x.Qps
}
return nil
}
func (x *MetricsInfo_NetInfo_ApiInfo) GetFailQps() *MetricsInfo_RateInfo {
if x != nil {
return x.FailQps
}
return nil
}
func (x *MetricsInfo_NetInfo_ApiInfo) GetOutTraffic() *MetricsInfo_RateInfo {
if x != nil {
return x.OutTraffic
}
return nil
}
func (x *MetricsInfo_NetInfo_ApiInfo) GetDetail() []*MetricsInfo_NetInfo_ApiInfo_ApiDetailInfo {
if x != nil {
return x.Detail
}
return nil
}
type MetricsInfo_NetInfo_DisconnectionDetailInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Reason string `protobuf:"bytes,1,opt,name=reason,proto3" json:"reason,omitempty"`
Count int32 `protobuf:"varint,2,opt,name=count,proto3" json:"count,omitempty"`
}
func (x *MetricsInfo_NetInfo_DisconnectionDetailInfo) Reset() {
*x = MetricsInfo_NetInfo_DisconnectionDetailInfo{}
mi := &file_core_Tron_proto_msgTypes[82]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *MetricsInfo_NetInfo_DisconnectionDetailInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MetricsInfo_NetInfo_DisconnectionDetailInfo) ProtoMessage() {}
func (x *MetricsInfo_NetInfo_DisconnectionDetailInfo) ProtoReflect() protoreflect.Message {
mi := &file_core_Tron_proto_msgTypes[82]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use MetricsInfo_NetInfo_DisconnectionDetailInfo.ProtoReflect.Descriptor instead.
func (*MetricsInfo_NetInfo_DisconnectionDetailInfo) Descriptor() ([]byte, []int) {
return file_core_Tron_proto_rawDescGZIP(), []int{41, 3, 1}
}
func (x *MetricsInfo_NetInfo_DisconnectionDetailInfo) GetReason() string {
if x != nil {
return x.Reason
}
return ""
}
func (x *MetricsInfo_NetInfo_DisconnectionDetailInfo) GetCount() int32 {
if x != nil {
return x.Count
}
return 0
}
type MetricsInfo_NetInfo_LatencyInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Top99 int32 `protobuf:"varint,1,opt,name=top99,proto3" json:"top99,omitempty"`
Top95 int32 `protobuf:"varint,2,opt,name=top95,proto3" json:"top95,omitempty"`
Top75 int32 `protobuf:"varint,3,opt,name=top75,proto3" json:"top75,omitempty"`
TotalCount int32 `protobuf:"varint,4,opt,name=totalCount,proto3" json:"totalCount,omitempty"`
Delay1S int32 `protobuf:"varint,5,opt,name=delay1S,proto3" json:"delay1S,omitempty"`
Delay2S int32 `protobuf:"varint,6,opt,name=delay2S,proto3" json:"delay2S,omitempty"`
Delay3S int32 `protobuf:"varint,7,opt,name=delay3S,proto3" json:"delay3S,omitempty"`
Detail []*MetricsInfo_NetInfo_LatencyInfo_LatencyDetailInfo `protobuf:"bytes,8,rep,name=detail,proto3" json:"detail,omitempty"`
}
func (x *MetricsInfo_NetInfo_LatencyInfo) Reset() {
*x = MetricsInfo_NetInfo_LatencyInfo{}
mi := &file_core_Tron_proto_msgTypes[83]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *MetricsInfo_NetInfo_LatencyInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MetricsInfo_NetInfo_LatencyInfo) ProtoMessage() {}
func (x *MetricsInfo_NetInfo_LatencyInfo) ProtoReflect() protoreflect.Message {
mi := &file_core_Tron_proto_msgTypes[83]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use MetricsInfo_NetInfo_LatencyInfo.ProtoReflect.Descriptor instead.
func (*MetricsInfo_NetInfo_LatencyInfo) Descriptor() ([]byte, []int) {
return file_core_Tron_proto_rawDescGZIP(), []int{41, 3, 2}
}
func (x *MetricsInfo_NetInfo_LatencyInfo) GetTop99() int32 {
if x != nil {
return x.Top99
}
return 0
}
func (x *MetricsInfo_NetInfo_LatencyInfo) GetTop95() int32 {
if x != nil {
return x.Top95
}
return 0
}
func (x *MetricsInfo_NetInfo_LatencyInfo) GetTop75() int32 {
if x != nil {
return x.Top75
}
return 0
}
func (x *MetricsInfo_NetInfo_LatencyInfo) GetTotalCount() int32 {
if x != nil {
return x.TotalCount
}
return 0
}
func (x *MetricsInfo_NetInfo_LatencyInfo) GetDelay1S() int32 {
if x != nil {
return x.Delay1S
}
return 0
}
func (x *MetricsInfo_NetInfo_LatencyInfo) GetDelay2S() int32 {
if x != nil {
return x.Delay2S
}
return 0
}
func (x *MetricsInfo_NetInfo_LatencyInfo) GetDelay3S() int32 {
if x != nil {
return x.Delay3S
}
return 0
}
func (x *MetricsInfo_NetInfo_LatencyInfo) GetDetail() []*MetricsInfo_NetInfo_LatencyInfo_LatencyDetailInfo {
if x != nil {
return x.Detail
}
return nil
}
type MetricsInfo_NetInfo_ApiInfo_ApiDetailInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
Qps *MetricsInfo_RateInfo `protobuf:"bytes,2,opt,name=qps,proto3" json:"qps,omitempty"`
FailQps *MetricsInfo_RateInfo `protobuf:"bytes,3,opt,name=failQps,proto3" json:"failQps,omitempty"`
OutTraffic *MetricsInfo_RateInfo `protobuf:"bytes,4,opt,name=outTraffic,proto3" json:"outTraffic,omitempty"`
}
func (x *MetricsInfo_NetInfo_ApiInfo_ApiDetailInfo) Reset() {
*x = MetricsInfo_NetInfo_ApiInfo_ApiDetailInfo{}
mi := &file_core_Tron_proto_msgTypes[84]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *MetricsInfo_NetInfo_ApiInfo_ApiDetailInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MetricsInfo_NetInfo_ApiInfo_ApiDetailInfo) ProtoMessage() {}
func (x *MetricsInfo_NetInfo_ApiInfo_ApiDetailInfo) ProtoReflect() protoreflect.Message {
mi := &file_core_Tron_proto_msgTypes[84]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use MetricsInfo_NetInfo_ApiInfo_ApiDetailInfo.ProtoReflect.Descriptor instead.
func (*MetricsInfo_NetInfo_ApiInfo_ApiDetailInfo) Descriptor() ([]byte, []int) {
return file_core_Tron_proto_rawDescGZIP(), []int{41, 3, 0, 0}
}
func (x *MetricsInfo_NetInfo_ApiInfo_ApiDetailInfo) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *MetricsInfo_NetInfo_ApiInfo_ApiDetailInfo) GetQps() *MetricsInfo_RateInfo {
if x != nil {
return x.Qps
}
return nil
}
func (x *MetricsInfo_NetInfo_ApiInfo_ApiDetailInfo) GetFailQps() *MetricsInfo_RateInfo {
if x != nil {
return x.FailQps
}
return nil
}
func (x *MetricsInfo_NetInfo_ApiInfo_ApiDetailInfo) GetOutTraffic() *MetricsInfo_RateInfo {
if x != nil {
return x.OutTraffic
}
return nil
}
type MetricsInfo_NetInfo_LatencyInfo_LatencyDetailInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Witness string `protobuf:"bytes,1,opt,name=witness,proto3" json:"witness,omitempty"`
Top99 int32 `protobuf:"varint,2,opt,name=top99,proto3" json:"top99,omitempty"`
Top95 int32 `protobuf:"varint,3,opt,name=top95,proto3" json:"top95,omitempty"`
Top75 int32 `protobuf:"varint,4,opt,name=top75,proto3" json:"top75,omitempty"`
Count int32 `protobuf:"varint,5,opt,name=count,proto3" json:"count,omitempty"`
Delay1S int32 `protobuf:"varint,6,opt,name=delay1S,proto3" json:"delay1S,omitempty"`
Delay2S int32 `protobuf:"varint,7,opt,name=delay2S,proto3" json:"delay2S,omitempty"`
Delay3S int32 `protobuf:"varint,8,opt,name=delay3S,proto3" json:"delay3S,omitempty"`
}
func (x *MetricsInfo_NetInfo_LatencyInfo_LatencyDetailInfo) Reset() {
*x = MetricsInfo_NetInfo_LatencyInfo_LatencyDetailInfo{}
mi := &file_core_Tron_proto_msgTypes[85]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *MetricsInfo_NetInfo_LatencyInfo_LatencyDetailInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MetricsInfo_NetInfo_LatencyInfo_LatencyDetailInfo) ProtoMessage() {}
func (x *MetricsInfo_NetInfo_LatencyInfo_LatencyDetailInfo) ProtoReflect() protoreflect.Message {
mi := &file_core_Tron_proto_msgTypes[85]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use MetricsInfo_NetInfo_LatencyInfo_LatencyDetailInfo.ProtoReflect.Descriptor instead.
func (*MetricsInfo_NetInfo_LatencyInfo_LatencyDetailInfo) Descriptor() ([]byte, []int) {
return file_core_Tron_proto_rawDescGZIP(), []int{41, 3, 2, 0}
}
func (x *MetricsInfo_NetInfo_LatencyInfo_LatencyDetailInfo) GetWitness() string {
if x != nil {
return x.Witness
}
return ""
}
func (x *MetricsInfo_NetInfo_LatencyInfo_LatencyDetailInfo) GetTop99() int32 {
if x != nil {
return x.Top99
}
return 0
}
func (x *MetricsInfo_NetInfo_LatencyInfo_LatencyDetailInfo) GetTop95() int32 {
if x != nil {
return x.Top95
}
return 0
}
func (x *MetricsInfo_NetInfo_LatencyInfo_LatencyDetailInfo) GetTop75() int32 {
if x != nil {
return x.Top75
}
return 0
}
func (x *MetricsInfo_NetInfo_LatencyInfo_LatencyDetailInfo) GetCount() int32 {
if x != nil {
return x.Count
}
return 0
}
func (x *MetricsInfo_NetInfo_LatencyInfo_LatencyDetailInfo) GetDelay1S() int32 {
if x != nil {
return x.Delay1S
}
return 0
}
func (x *MetricsInfo_NetInfo_LatencyInfo_LatencyDetailInfo) GetDelay2S() int32 {
if x != nil {
return x.Delay2S
}
return 0
}
func (x *MetricsInfo_NetInfo_LatencyInfo_LatencyDetailInfo) GetDelay3S() int32 {
if x != nil {
return x.Delay3S
}
return 0
}
type PBFTMessage_Raw struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
MsgType PBFTMessage_MsgType `protobuf:"varint,1,opt,name=msg_type,json=msgType,proto3,enum=protocol.PBFTMessage_MsgType" json:"msg_type,omitempty"`
DataType PBFTMessage_DataType `protobuf:"varint,2,opt,name=data_type,json=dataType,proto3,enum=protocol.PBFTMessage_DataType" json:"data_type,omitempty"`
ViewN int64 `protobuf:"varint,3,opt,name=view_n,json=viewN,proto3" json:"view_n,omitempty"`
Epoch int64 `protobuf:"varint,4,opt,name=epoch,proto3" json:"epoch,omitempty"`
Data []byte `protobuf:"bytes,5,opt,name=data,proto3" json:"data,omitempty"`
}
func (x *PBFTMessage_Raw) Reset() {
*x = PBFTMessage_Raw{}
mi := &file_core_Tron_proto_msgTypes[86]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *PBFTMessage_Raw) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PBFTMessage_Raw) ProtoMessage() {}
func (x *PBFTMessage_Raw) ProtoReflect() protoreflect.Message {
mi := &file_core_Tron_proto_msgTypes[86]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use PBFTMessage_Raw.ProtoReflect.Descriptor instead.
func (*PBFTMessage_Raw) Descriptor() ([]byte, []int) {
return file_core_Tron_proto_rawDescGZIP(), []int{42, 0}
}
func (x *PBFTMessage_Raw) GetMsgType() PBFTMessage_MsgType {
if x != nil {
return x.MsgType
}
return PBFTMessage_VIEW_CHANGE
}
func (x *PBFTMessage_Raw) GetDataType() PBFTMessage_DataType {
if x != nil {
return x.DataType
}
return PBFTMessage_BLOCK
}
func (x *PBFTMessage_Raw) GetViewN() int64 {
if x != nil {
return x.ViewN
}
return 0
}
func (x *PBFTMessage_Raw) GetEpoch() int64 {
if x != nil {
return x.Epoch
}
return 0
}
func (x *PBFTMessage_Raw) GetData() []byte {
if x != nil {
return x.Data
}
return nil
}
var File_core_Tron_proto protoreflect.FileDescriptor
var file_core_Tron_proto_rawDesc = []byte{
0x0a, 0x0f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x54, 0x72, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x12, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x1a, 0x19, 0x67, 0x6f, 0x6f,
0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x13, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x44, 0x69, 0x73,
0x63, 0x6f, 0x76, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x63, 0x6f, 0x72,
0x65, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f,
0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x39, 0x0a, 0x09, 0x41, 0x63, 0x63, 0x6f, 0x75,
0x6e, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01,
0x28, 0x0c, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72,
0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65,
0x73, 0x73, 0x22, 0x48, 0x0a, 0x04, 0x56, 0x6f, 0x74, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x76, 0x6f,
0x74, 0x65, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c,
0x52, 0x0b, 0x76, 0x6f, 0x74, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1d, 0x0a,
0x0a, 0x76, 0x6f, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28,
0x03, 0x52, 0x09, 0x76, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xb4, 0x03, 0x0a,
0x08, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x72, 0x6f,
0x70, 0x6f, 0x73, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a,
0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x49, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x72,
0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02,
0x20, 0x01, 0x28, 0x0c, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x41, 0x64,
0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x42, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74,
0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x2e, 0x50, 0x61,
0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x70,
0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x78, 0x70,
0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01,
0x28, 0x03, 0x52, 0x0e, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69,
0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d,
0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54,
0x69, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x73,
0x18, 0x06, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x09, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c,
0x73, 0x12, 0x2e, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e,
0x32, 0x18, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x50, 0x72, 0x6f, 0x70,
0x6f, 0x73, 0x61, 0x6c, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74,
0x65, 0x1a, 0x3d, 0x0a, 0x0f, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x45,
0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01,
0x22, 0x41, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x45, 0x4e,
0x44, 0x49, 0x4e, 0x47, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x44, 0x49, 0x53, 0x41, 0x50, 0x50,
0x52, 0x4f, 0x56, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x41, 0x50, 0x50, 0x52, 0x4f,
0x56, 0x45, 0x44, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x45,
0x44, 0x10, 0x03, 0x22, 0xa5, 0x02, 0x0a, 0x08, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65,
0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18,
0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x49,
0x64, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64,
0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0e, 0x63, 0x72, 0x65, 0x61,
0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x72,
0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52,
0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x66,
0x69, 0x72, 0x73, 0x74, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20,
0x01, 0x28, 0x0c, 0x52, 0x0c, 0x66, 0x69, 0x72, 0x73, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x49,
0x64, 0x12, 0x2e, 0x0a, 0x13, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e,
0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11,
0x66, 0x69, 0x72, 0x73, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63,
0x65, 0x12, 0x26, 0x0a, 0x0f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x5f, 0x74, 0x6f, 0x6b, 0x65,
0x6e, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x73, 0x65, 0x63, 0x6f,
0x6e, 0x64, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x49, 0x64, 0x12, 0x30, 0x0a, 0x14, 0x73, 0x65, 0x63,
0x6f, 0x6e, 0x64, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63,
0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x12, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x54,
0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x98, 0x04, 0x0a, 0x0b,
0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x6f,
0x72, 0x64, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x6f,
0x72, 0x64, 0x65, 0x72, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f,
0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x6f,
0x77, 0x6e, 0x65, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x63,
0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03,
0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0d,
0x73, 0x65, 0x6c, 0x6c, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20,
0x01, 0x28, 0x0c, 0x52, 0x0b, 0x73, 0x65, 0x6c, 0x6c, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x49, 0x64,
0x12, 0x2e, 0x0a, 0x13, 0x73, 0x65, 0x6c, 0x6c, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x71,
0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x73,
0x65, 0x6c, 0x6c, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79,
0x12, 0x20, 0x0a, 0x0c, 0x62, 0x75, 0x79, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x69, 0x64,
0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x62, 0x75, 0x79, 0x54, 0x6f, 0x6b, 0x65, 0x6e,
0x49, 0x64, 0x12, 0x2c, 0x0a, 0x12, 0x62, 0x75, 0x79, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f,
0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10,
0x62, 0x75, 0x79, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79,
0x12, 0x3b, 0x0a, 0x1a, 0x73, 0x65, 0x6c, 0x6c, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x71,
0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x09,
0x20, 0x01, 0x28, 0x03, 0x52, 0x17, 0x73, 0x65, 0x6c, 0x6c, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x51,
0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x3b, 0x0a,
0x1a, 0x73, 0x65, 0x6c, 0x6c, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x71, 0x75, 0x61, 0x6e,
0x74, 0x69, 0x74, 0x79, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28,
0x03, 0x52, 0x17, 0x73, 0x65, 0x6c, 0x6c, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x51, 0x75, 0x61, 0x6e,
0x74, 0x69, 0x74, 0x79, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x12, 0x31, 0x0a, 0x05, 0x73, 0x74,
0x61, 0x74, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72,
0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x12, 0x0a,
0x04, 0x70, 0x72, 0x65, 0x76, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x70, 0x72, 0x65,
0x76, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x65, 0x78, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0c, 0x52,
0x04, 0x6e, 0x65, 0x78, 0x74, 0x22, 0x2f, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0a,
0x0a, 0x06, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x49, 0x4e,
0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x41, 0x4e, 0x43,
0x45, 0x4c, 0x45, 0x44, 0x10, 0x02, 0x22, 0x40, 0x0a, 0x0f, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74,
0x4f, 0x72, 0x64, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2d, 0x0a, 0x06, 0x6f, 0x72, 0x64,
0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72,
0x52, 0x06, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x22, 0x4e, 0x0a, 0x13, 0x4d, 0x61, 0x72, 0x6b,
0x65, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x50, 0x61, 0x69, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x12,
0x37, 0x0a, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x50, 0x61, 0x69, 0x72, 0x18, 0x01, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x4d, 0x61,
0x72, 0x6b, 0x65, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x50, 0x61, 0x69, 0x72, 0x52, 0x09, 0x6f,
0x72, 0x64, 0x65, 0x72, 0x50, 0x61, 0x69, 0x72, 0x22, 0x57, 0x0a, 0x0f, 0x4d, 0x61, 0x72, 0x6b,
0x65, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x50, 0x61, 0x69, 0x72, 0x12, 0x22, 0x0a, 0x0d, 0x73,
0x65, 0x6c, 0x6c, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
0x28, 0x0c, 0x52, 0x0b, 0x73, 0x65, 0x6c, 0x6c, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x49, 0x64, 0x12,
0x20, 0x0a, 0x0c, 0x62, 0x75, 0x79, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x69, 0x64, 0x18,
0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x62, 0x75, 0x79, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x49,
0x64, 0x22, 0x88, 0x01, 0x0a, 0x12, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f,
0x75, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x23, 0x0a, 0x0d, 0x6f, 0x77, 0x6e, 0x65,
0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52,
0x0c, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x16, 0x0a,
0x06, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x06, 0x6f,
0x72, 0x64, 0x65, 0x72, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03,
0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x74,
0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03,
0x52, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x6b, 0x0a, 0x0b,
0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x73,
0x65, 0x6c, 0x6c, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69,
0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x73, 0x65, 0x6c, 0x6c, 0x54, 0x6f,
0x6b, 0x65, 0x6e, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x2c, 0x0a, 0x12, 0x62,
0x75, 0x79, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74,
0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x62, 0x75, 0x79, 0x54, 0x6f, 0x6b, 0x65,
0x6e, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x22, 0x86, 0x01, 0x0a, 0x0f, 0x4d, 0x61,
0x72, 0x6b, 0x65, 0x74, 0x50, 0x72, 0x69, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x22, 0x0a,
0x0d, 0x73, 0x65, 0x6c, 0x6c, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01,
0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x73, 0x65, 0x6c, 0x6c, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x49,
0x64, 0x12, 0x20, 0x0a, 0x0c, 0x62, 0x75, 0x79, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x69,
0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x62, 0x75, 0x79, 0x54, 0x6f, 0x6b, 0x65,
0x6e, 0x49, 0x64, 0x12, 0x2d, 0x0a, 0x06, 0x70, 0x72, 0x69, 0x63, 0x65, 0x73, 0x18, 0x03, 0x20,
0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x4d,
0x61, 0x72, 0x6b, 0x65, 0x74, 0x50, 0x72, 0x69, 0x63, 0x65, 0x52, 0x06, 0x70, 0x72, 0x69, 0x63,
0x65, 0x73, 0x22, 0x3b, 0x0a, 0x11, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x4f, 0x72, 0x64, 0x65,
0x72, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x65, 0x61, 0x64, 0x18,
0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x68, 0x65, 0x61, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74,
0x61, 0x69, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x74, 0x61, 0x69, 0x6c, 0x22,
0x9d, 0x01, 0x0a, 0x0f, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74,
0x65, 0x72, 0x73, 0x12, 0x50, 0x0a, 0x0e, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x50, 0x61, 0x72, 0x61,
0x6d, 0x65, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x50, 0x61, 0x72, 0x61,
0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x50, 0x61, 0x72, 0x61,
0x6d, 0x65, 0x74, 0x65, 0x72, 0x52, 0x0e, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x50, 0x61, 0x72, 0x61,
0x6d, 0x65, 0x74, 0x65, 0x72, 0x1a, 0x38, 0x0a, 0x0e, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x50, 0x61,
0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01,
0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c,
0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22,
0xca, 0x1e, 0x0a, 0x07, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x61,
0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
0x0c, 0x52, 0x0b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x29,
0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54,
0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64,
0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72,
0x65, 0x73, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x04,
0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x24, 0x0a,
0x05, 0x76, 0x6f, 0x74, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x56, 0x6f, 0x74, 0x65, 0x52, 0x05, 0x76, 0x6f,
0x74, 0x65, 0x73, 0x12, 0x32, 0x0a, 0x05, 0x61, 0x73, 0x73, 0x65, 0x74, 0x18, 0x06, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x41, 0x63,
0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x41, 0x73, 0x73, 0x65, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79,
0x52, 0x05, 0x61, 0x73, 0x73, 0x65, 0x74, 0x12, 0x38, 0x0a, 0x07, 0x61, 0x73, 0x73, 0x65, 0x74,
0x56, 0x32, 0x18, 0x38, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x63, 0x6f, 0x6c, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x41, 0x73, 0x73, 0x65,
0x74, 0x56, 0x32, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x61, 0x73, 0x73, 0x65, 0x74, 0x56,
0x32, 0x12, 0x30, 0x0a, 0x06, 0x66, 0x72, 0x6f, 0x7a, 0x65, 0x6e, 0x18, 0x07, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x18, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x41, 0x63, 0x63,
0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x46, 0x72, 0x6f, 0x7a, 0x65, 0x6e, 0x52, 0x06, 0x66, 0x72, 0x6f,
0x7a, 0x65, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x65, 0x74, 0x5f, 0x75, 0x73, 0x61, 0x67, 0x65,
0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x6e, 0x65, 0x74, 0x55, 0x73, 0x61, 0x67, 0x65,
0x12, 0x63, 0x0a, 0x2f, 0x61, 0x63, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x5f, 0x64, 0x65, 0x6c,
0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x66, 0x72, 0x6f, 0x7a, 0x65, 0x6e, 0x5f, 0x62, 0x61,
0x6c, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x62, 0x61, 0x6e, 0x64, 0x77, 0x69,
0x64, 0x74, 0x68, 0x18, 0x29, 0x20, 0x01, 0x28, 0x03, 0x52, 0x2a, 0x61, 0x63, 0x71, 0x75, 0x69,
0x72, 0x65, 0x64, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x46, 0x72, 0x6f, 0x7a,
0x65, 0x6e, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x46, 0x6f, 0x72, 0x42, 0x61, 0x6e, 0x64,
0x77, 0x69, 0x64, 0x74, 0x68, 0x12, 0x52, 0x0a, 0x26, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74,
0x65, 0x64, 0x5f, 0x66, 0x72, 0x6f, 0x7a, 0x65, 0x6e, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63,
0x65, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x62, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18,
0x2a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x22, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64,
0x46, 0x72, 0x6f, 0x7a, 0x65, 0x6e, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x46, 0x6f, 0x72,
0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x12, 0x24, 0x0a, 0x0e, 0x6f, 0x6c, 0x64,
0x5f, 0x74, 0x72, 0x6f, 0x6e, 0x5f, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x18, 0x2e, 0x20, 0x01, 0x28,
0x03, 0x52, 0x0c, 0x6f, 0x6c, 0x64, 0x54, 0x72, 0x6f, 0x6e, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x12,
0x37, 0x0a, 0x0a, 0x74, 0x72, 0x6f, 0x6e, 0x5f, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x18, 0x2f, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x41,
0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x46, 0x72, 0x6f, 0x7a, 0x65, 0x6e, 0x52, 0x09, 0x74,
0x72, 0x6f, 0x6e, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x73, 0x73, 0x65,
0x74, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x65, 0x64, 0x18, 0x3c, 0x20, 0x01, 0x28,
0x08, 0x52, 0x0e, 0x61, 0x73, 0x73, 0x65, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x65,
0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65,
0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69,
0x6d, 0x65, 0x12, 0x30, 0x0a, 0x14, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x6f, 0x70, 0x72,
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03,
0x52, 0x12, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x4f, 0x70, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x54, 0x69, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x61, 0x6e, 0x63,
0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x61, 0x6e,
0x63, 0x65, 0x12, 0x30, 0x0a, 0x14, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x77, 0x69, 0x74,
0x68, 0x64, 0x72, 0x61, 0x77, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x03,
0x52, 0x12, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77,
0x54, 0x69, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0d, 0x20, 0x01,
0x28, 0x0c, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x77,
0x69, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73,
0x57, 0x69, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x73, 0x5f, 0x63, 0x6f,
0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69,
0x73, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x3d, 0x0a, 0x0d, 0x66, 0x72,
0x6f, 0x7a, 0x65, 0x6e, 0x5f, 0x73, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x18, 0x10, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x18, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x41, 0x63, 0x63,
0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x46, 0x72, 0x6f, 0x7a, 0x65, 0x6e, 0x52, 0x0c, 0x66, 0x72, 0x6f,
0x7a, 0x65, 0x6e, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x12, 0x2a, 0x0a, 0x11, 0x61, 0x73, 0x73,
0x65, 0x74, 0x5f, 0x69, 0x73, 0x73, 0x75, 0x65, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x11,
0x20, 0x01, 0x28, 0x0c, 0x52, 0x0f, 0x61, 0x73, 0x73, 0x65, 0x74, 0x49, 0x73, 0x73, 0x75, 0x65,
0x64, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x69,
0x73, 0x73, 0x75, 0x65, 0x64, 0x5f, 0x49, 0x44, 0x18, 0x39, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d,
0x61, 0x73, 0x73, 0x65, 0x74, 0x49, 0x73, 0x73, 0x75, 0x65, 0x64, 0x49, 0x44, 0x12, 0x6e, 0x0a,
0x1b, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x6f, 0x70,
0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x12, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x41, 0x63,
0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x41, 0x73, 0x73, 0x65,
0x74, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x45, 0x6e,
0x74, 0x72, 0x79, 0x52, 0x18, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74,
0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x74, 0x0a,
0x1d, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x6f, 0x70,
0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x56, 0x32, 0x18, 0x3a,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e,
0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x41, 0x73,
0x73, 0x65, 0x74, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65,
0x56, 0x32, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x1a, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x41,
0x73, 0x73, 0x65, 0x74, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d,
0x65, 0x56, 0x32, 0x12, 0x24, 0x0a, 0x0e, 0x66, 0x72, 0x65, 0x65, 0x5f, 0x6e, 0x65, 0x74, 0x5f,
0x75, 0x73, 0x61, 0x67, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x66, 0x72, 0x65,
0x65, 0x4e, 0x65, 0x74, 0x55, 0x73, 0x61, 0x67, 0x65, 0x12, 0x59, 0x0a, 0x14, 0x66, 0x72, 0x65,
0x65, 0x5f, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x6e, 0x65, 0x74, 0x5f, 0x75, 0x73, 0x61, 0x67,
0x65, 0x18, 0x14, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63,
0x6f, 0x6c, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x46, 0x72, 0x65, 0x65, 0x41,
0x73, 0x73, 0x65, 0x74, 0x4e, 0x65, 0x74, 0x55, 0x73, 0x61, 0x67, 0x65, 0x45, 0x6e, 0x74, 0x72,
0x79, 0x52, 0x11, 0x66, 0x72, 0x65, 0x65, 0x41, 0x73, 0x73, 0x65, 0x74, 0x4e, 0x65, 0x74, 0x55,
0x73, 0x61, 0x67, 0x65, 0x12, 0x5f, 0x0a, 0x16, 0x66, 0x72, 0x65, 0x65, 0x5f, 0x61, 0x73, 0x73,
0x65, 0x74, 0x5f, 0x6e, 0x65, 0x74, 0x5f, 0x75, 0x73, 0x61, 0x67, 0x65, 0x56, 0x32, 0x18, 0x3b,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e,
0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x46, 0x72, 0x65, 0x65, 0x41, 0x73, 0x73, 0x65,
0x74, 0x4e, 0x65, 0x74, 0x55, 0x73, 0x61, 0x67, 0x65, 0x56, 0x32, 0x45, 0x6e, 0x74, 0x72, 0x79,
0x52, 0x13, 0x66, 0x72, 0x65, 0x65, 0x41, 0x73, 0x73, 0x65, 0x74, 0x4e, 0x65, 0x74, 0x55, 0x73,
0x61, 0x67, 0x65, 0x56, 0x32, 0x12, 0x2e, 0x0a, 0x13, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x5f,
0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x15, 0x20, 0x01,
0x28, 0x03, 0x52, 0x11, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d,
0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x37, 0x0a, 0x18, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x5f,
0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x5f, 0x66, 0x72, 0x65, 0x65, 0x5f, 0x74, 0x69, 0x6d,
0x65, 0x18, 0x16, 0x20, 0x01, 0x28, 0x03, 0x52, 0x15, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x43,
0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x46, 0x72, 0x65, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1d,
0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x17, 0x20, 0x01,
0x28, 0x0c, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x26, 0x0a,
0x0f, 0x6e, 0x65, 0x74, 0x5f, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x5f, 0x73, 0x69, 0x7a, 0x65,
0x18, 0x18, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x6e, 0x65, 0x74, 0x57, 0x69, 0x6e, 0x64, 0x6f,
0x77, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x30, 0x0a, 0x14, 0x6e, 0x65, 0x74, 0x5f, 0x77, 0x69, 0x6e,
0x64, 0x6f, 0x77, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x65, 0x64, 0x18, 0x19, 0x20,
0x01, 0x28, 0x08, 0x52, 0x12, 0x6e, 0x65, 0x74, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x4f, 0x70,
0x74, 0x69, 0x6d, 0x69, 0x7a, 0x65, 0x64, 0x12, 0x4c, 0x0a, 0x10, 0x61, 0x63, 0x63, 0x6f, 0x75,
0x6e, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x1a, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x21, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x41, 0x63, 0x63,
0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f,
0x75, 0x72, 0x63, 0x65, 0x52, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73,
0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6f, 0x64, 0x65, 0x48, 0x61, 0x73,
0x68, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x63, 0x6f, 0x64, 0x65, 0x48, 0x61, 0x73,
0x68, 0x12, 0x3f, 0x0a, 0x10, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69,
0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f,
0x6e, 0x52, 0x0f, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69,
0x6f, 0x6e, 0x12, 0x43, 0x0a, 0x12, 0x77, 0x69, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x5f, 0x70, 0x65,
0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x20, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73,
0x73, 0x69, 0x6f, 0x6e, 0x52, 0x11, 0x77, 0x69, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x50, 0x65, 0x72,
0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x41, 0x0a, 0x11, 0x61, 0x63, 0x74, 0x69, 0x76,
0x65, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x21, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x50, 0x65,
0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x10, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65,
0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x36, 0x0a, 0x08, 0x66, 0x72,
0x6f, 0x7a, 0x65, 0x6e, 0x56, 0x32, 0x18, 0x22, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e,
0x46, 0x72, 0x65, 0x65, 0x7a, 0x65, 0x56, 0x32, 0x52, 0x08, 0x66, 0x72, 0x6f, 0x7a, 0x65, 0x6e,
0x56, 0x32, 0x12, 0x3c, 0x0a, 0x0a, 0x75, 0x6e, 0x66, 0x72, 0x6f, 0x7a, 0x65, 0x6e, 0x56, 0x32,
0x18, 0x23, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f,
0x6c, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x55, 0x6e, 0x46, 0x72, 0x65, 0x65,
0x7a, 0x65, 0x56, 0x32, 0x52, 0x0a, 0x75, 0x6e, 0x66, 0x72, 0x6f, 0x7a, 0x65, 0x6e, 0x56, 0x32,
0x12, 0x56, 0x0a, 0x28, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x66, 0x72,
0x6f, 0x7a, 0x65, 0x6e, 0x56, 0x32, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x66,
0x6f, 0x72, 0x5f, 0x62, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x24, 0x20, 0x01,
0x28, 0x03, 0x52, 0x24, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x46, 0x72, 0x6f,
0x7a, 0x65, 0x6e, 0x56, 0x32, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x46, 0x6f, 0x72, 0x42,
0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x12, 0x67, 0x0a, 0x31, 0x61, 0x63, 0x71, 0x75,
0x69, 0x72, 0x65, 0x64, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x66,
0x72, 0x6f, 0x7a, 0x65, 0x6e, 0x56, 0x32, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x5f,
0x66, 0x6f, 0x72, 0x5f, 0x62, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x25, 0x20,
0x01, 0x28, 0x03, 0x52, 0x2c, 0x61, 0x63, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x44, 0x65, 0x6c,
0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x46, 0x72, 0x6f, 0x7a, 0x65, 0x6e, 0x56, 0x32, 0x42, 0x61,
0x6c, 0x61, 0x6e, 0x63, 0x65, 0x46, 0x6f, 0x72, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74,
0x68, 0x1a, 0x50, 0x0a, 0x06, 0x46, 0x72, 0x6f, 0x7a, 0x65, 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x66,
0x72, 0x6f, 0x7a, 0x65, 0x6e, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20,
0x01, 0x28, 0x03, 0x52, 0x0d, 0x66, 0x72, 0x6f, 0x7a, 0x65, 0x6e, 0x42, 0x61, 0x6c, 0x61, 0x6e,
0x63, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x5f, 0x74, 0x69, 0x6d,
0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x54,
0x69, 0x6d, 0x65, 0x1a, 0x38, 0x0a, 0x0a, 0x41, 0x73, 0x73, 0x65, 0x74, 0x45, 0x6e, 0x74, 0x72,
0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03,
0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01,
0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3a, 0x0a,
0x0c, 0x41, 0x73, 0x73, 0x65, 0x74, 0x56, 0x32, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a,
0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12,
0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05,
0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x4b, 0x0a, 0x1d, 0x4c, 0x61, 0x74,
0x65, 0x73, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f,
0x6e, 0x54, 0x69, 0x6d, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65,
0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05,
0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c,
0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x4d, 0x0a, 0x1f, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74,
0x41, 0x73, 0x73, 0x65, 0x74, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69,
0x6d, 0x65, 0x56, 0x32, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79,
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76,
0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x44, 0x0a, 0x16, 0x46, 0x72, 0x65, 0x65, 0x41, 0x73, 0x73,
0x65, 0x74, 0x4e, 0x65, 0x74, 0x55, 0x73, 0x61, 0x67, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12,
0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65,
0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03,
0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x46, 0x0a, 0x18, 0x46,
0x72, 0x65, 0x65, 0x41, 0x73, 0x73, 0x65, 0x74, 0x4e, 0x65, 0x74, 0x55, 0x73, 0x61, 0x67, 0x65,
0x56, 0x32, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01,
0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c,
0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a,
0x02, 0x38, 0x01, 0x1a, 0xa0, 0x06, 0x0a, 0x0f, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52,
0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x6e, 0x65, 0x72, 0x67,
0x79, 0x5f, 0x75, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x65,
0x6e, 0x65, 0x72, 0x67, 0x79, 0x55, 0x73, 0x61, 0x67, 0x65, 0x12, 0x53, 0x0a, 0x19, 0x66, 0x72,
0x6f, 0x7a, 0x65, 0x6e, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x66, 0x6f, 0x72,
0x5f, 0x65, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74,
0x2e, 0x46, 0x72, 0x6f, 0x7a, 0x65, 0x6e, 0x52, 0x16, 0x66, 0x72, 0x6f, 0x7a, 0x65, 0x6e, 0x42,
0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x46, 0x6f, 0x72, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x12,
0x42, 0x0a, 0x1e, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d,
0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x65, 0x6e, 0x65, 0x72, 0x67,
0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x1a, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x43,
0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x46, 0x6f, 0x72, 0x45, 0x6e, 0x65,
0x72, 0x67, 0x79, 0x12, 0x5d, 0x0a, 0x2c, 0x61, 0x63, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x5f,
0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x66, 0x72, 0x6f, 0x7a, 0x65, 0x6e,
0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x65, 0x6e, 0x65,
0x72, 0x67, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x27, 0x61, 0x63, 0x71, 0x75, 0x69,
0x72, 0x65, 0x64, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x46, 0x72, 0x6f, 0x7a,
0x65, 0x6e, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x46, 0x6f, 0x72, 0x45, 0x6e, 0x65, 0x72,
0x67, 0x79, 0x12, 0x4c, 0x0a, 0x23, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x5f,
0x66, 0x72, 0x6f, 0x7a, 0x65, 0x6e, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x66,
0x6f, 0x72, 0x5f, 0x65, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52,
0x1f, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x46, 0x72, 0x6f, 0x7a, 0x65, 0x6e,
0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x46, 0x6f, 0x72, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79,
0x12, 0x23, 0x0a, 0x0d, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69,
0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65,
0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65,
0x5f, 0x75, 0x73, 0x61, 0x67, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x73, 0x74,
0x6f, 0x72, 0x61, 0x67, 0x65, 0x55, 0x73, 0x61, 0x67, 0x65, 0x12, 0x3f, 0x0a, 0x1c, 0x6c, 0x61,
0x74, 0x65, 0x73, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x73, 0x74,
0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03,
0x52, 0x19, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65,
0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x65,
0x6e, 0x65, 0x72, 0x67, 0x79, 0x5f, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x5f, 0x73, 0x69, 0x7a,
0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x65, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x57,
0x69, 0x6e, 0x64, 0x6f, 0x77, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x50, 0x0a, 0x25, 0x64, 0x65, 0x6c,
0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x66, 0x72, 0x6f, 0x7a, 0x65, 0x6e, 0x56, 0x32, 0x5f,
0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x65, 0x6e, 0x65, 0x72,
0x67, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x21, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61,
0x74, 0x65, 0x64, 0x46, 0x72, 0x6f, 0x7a, 0x65, 0x6e, 0x56, 0x32, 0x42, 0x61, 0x6c, 0x61, 0x6e,
0x63, 0x65, 0x46, 0x6f, 0x72, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x12, 0x61, 0x0a, 0x2e, 0x61,
0x63, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65,
0x64, 0x5f, 0x66, 0x72, 0x6f, 0x7a, 0x65, 0x6e, 0x56, 0x32, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e,
0x63, 0x65, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x65, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x18, 0x0b, 0x20,
0x01, 0x28, 0x03, 0x52, 0x29, 0x61, 0x63, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x44, 0x65, 0x6c,
0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x46, 0x72, 0x6f, 0x7a, 0x65, 0x6e, 0x56, 0x32, 0x42, 0x61,
0x6c, 0x61, 0x6e, 0x63, 0x65, 0x46, 0x6f, 0x72, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x12, 0x36,
0x0a, 0x17, 0x65, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x5f, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x5f,
0x6f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x65, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52,
0x15, 0x65, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x4f, 0x70, 0x74,
0x69, 0x6d, 0x69, 0x7a, 0x65, 0x64, 0x1a, 0x4e, 0x0a, 0x08, 0x46, 0x72, 0x65, 0x65, 0x7a, 0x65,
0x56, 0x32, 0x12, 0x2a, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e,
0x32, 0x16, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x52, 0x65, 0x73, 0x6f,
0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x16,
0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06,
0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x1a, 0x93, 0x01, 0x0a, 0x0a, 0x55, 0x6e, 0x46, 0x72, 0x65,
0x65, 0x7a, 0x65, 0x56, 0x32, 0x12, 0x2a, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20,
0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x52,
0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70,
0x65, 0x12, 0x27, 0x0a, 0x0f, 0x75, 0x6e, 0x66, 0x72, 0x65, 0x65, 0x7a, 0x65, 0x5f, 0x61, 0x6d,
0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x75, 0x6e, 0x66, 0x72,
0x65, 0x65, 0x7a, 0x65, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x30, 0x0a, 0x14, 0x75, 0x6e,
0x66, 0x72, 0x65, 0x65, 0x7a, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x5f, 0x74, 0x69,
0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x12, 0x75, 0x6e, 0x66, 0x72, 0x65, 0x65,
0x7a, 0x65, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x37, 0x0a, 0x03,
0x4b, 0x65, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01,
0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x16, 0x0a,
0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x77,
0x65, 0x69, 0x67, 0x68, 0x74, 0x22, 0xa3, 0x02, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61,
0x74, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66,
0x72, 0x6f, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x12,
0x0e, 0x0a, 0x02, 0x74, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x02, 0x74, 0x6f, 0x12,
0x3f, 0x0a, 0x1c, 0x66, 0x72, 0x6f, 0x7a, 0x65, 0x6e, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63,
0x65, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x62, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18,
0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x19, 0x66, 0x72, 0x6f, 0x7a, 0x65, 0x6e, 0x42, 0x61, 0x6c,
0x61, 0x6e, 0x63, 0x65, 0x46, 0x6f, 0x72, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68,
0x12, 0x39, 0x0a, 0x19, 0x66, 0x72, 0x6f, 0x7a, 0x65, 0x6e, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e,
0x63, 0x65, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x65, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x18, 0x04, 0x20,
0x01, 0x28, 0x03, 0x52, 0x16, 0x66, 0x72, 0x6f, 0x7a, 0x65, 0x6e, 0x42, 0x61, 0x6c, 0x61, 0x6e,
0x63, 0x65, 0x46, 0x6f, 0x72, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x12, 0x39, 0x0a, 0x19, 0x65,
0x78, 0x70, 0x69, 0x72, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x62,
0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x16,
0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x46, 0x6f, 0x72, 0x42, 0x61, 0x6e,
0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x12, 0x33, 0x0a, 0x16, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65,
0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x65, 0x6e, 0x65, 0x72, 0x67, 0x79,
0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x13, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x54, 0x69,
0x6d, 0x65, 0x46, 0x6f, 0x72, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x22, 0x63, 0x0a, 0x09, 0x61,
0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x2d, 0x0a, 0x07, 0x61, 0x63, 0x63, 0x6f,
0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x52, 0x07,
0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x65, 0x72, 0x6d, 0x69,
0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c,
0x52, 0x0e, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65,
0x22, 0xb2, 0x02, 0x0a, 0x0a, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12,
0x37, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73,
0x69, 0x6f, 0x6e, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x79,
0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02,
0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x65, 0x72, 0x6d,
0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28,
0x09, 0x52, 0x0e, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d,
0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x04,
0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x12,
0x1b, 0x0a, 0x09, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01,
0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a,
0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c,
0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x21, 0x0a, 0x04,
0x6b, 0x65, 0x79, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x4b, 0x65, 0x79, 0x52, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x22,
0x34, 0x0a, 0x0e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70,
0x65, 0x12, 0x09, 0x0a, 0x05, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07,
0x57, 0x69, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x41, 0x63, 0x74,
0x69, 0x76, 0x65, 0x10, 0x02, 0x22, 0x99, 0x02, 0x0a, 0x07, 0x57, 0x69, 0x74, 0x6e, 0x65, 0x73,
0x73, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01,
0x28, 0x0c, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x76,
0x6f, 0x74, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09,
0x76, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x75, 0x62,
0x4b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x70, 0x75, 0x62, 0x4b, 0x65,
0x79, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03,
0x75, 0x72, 0x6c, 0x12, 0x24, 0x0a, 0x0d, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x72, 0x6f, 0x64,
0x75, 0x63, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x74, 0x6f, 0x74, 0x61,
0x6c, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x74, 0x6f, 0x74,
0x61, 0x6c, 0x4d, 0x69, 0x73, 0x73, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b,
0x74, 0x6f, 0x74, 0x61, 0x6c, 0x4d, 0x69, 0x73, 0x73, 0x65, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x6c,
0x61, 0x74, 0x65, 0x73, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x4e, 0x75, 0x6d, 0x18, 0x07, 0x20,
0x01, 0x28, 0x03, 0x52, 0x0e, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b,
0x4e, 0x75, 0x6d, 0x12, 0x24, 0x0a, 0x0d, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x53, 0x6c, 0x6f,
0x74, 0x4e, 0x75, 0x6d, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x6c, 0x61, 0x74, 0x65,
0x73, 0x74, 0x53, 0x6c, 0x6f, 0x74, 0x4e, 0x75, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x4a,
0x6f, 0x62, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x4a, 0x6f, 0x62,
0x73, 0x22, 0x7b, 0x0a, 0x05, 0x56, 0x6f, 0x74, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64,
0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x61, 0x64, 0x64,
0x72, 0x65, 0x73, 0x73, 0x12, 0x2b, 0x0a, 0x09, 0x6f, 0x6c, 0x64, 0x5f, 0x76, 0x6f, 0x74, 0x65,
0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63,
0x6f, 0x6c, 0x2e, 0x56, 0x6f, 0x74, 0x65, 0x52, 0x08, 0x6f, 0x6c, 0x64, 0x56, 0x6f, 0x74, 0x65,
0x73, 0x12, 0x2b, 0x0a, 0x09, 0x6e, 0x65, 0x77, 0x5f, 0x76, 0x6f, 0x74, 0x65, 0x73, 0x18, 0x03,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e,
0x56, 0x6f, 0x74, 0x65, 0x52, 0x08, 0x6e, 0x65, 0x77, 0x56, 0x6f, 0x74, 0x65, 0x73, 0x22, 0x40,
0x0a, 0x08, 0x54, 0x58, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61,
0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x48, 0x61, 0x73, 0x68, 0x18, 0x02,
0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x70, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x48, 0x61, 0x73, 0x68,
0x22, 0xa0, 0x01, 0x0a, 0x07, 0x54, 0x58, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x30, 0x0a, 0x08,
0x72, 0x61, 0x77, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x54, 0x58, 0x49, 0x6e, 0x70, 0x75,
0x74, 0x2e, 0x72, 0x61, 0x77, 0x52, 0x07, 0x72, 0x61, 0x77, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1c,
0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28,
0x0c, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x1a, 0x45, 0x0a, 0x03,
0x72, 0x61, 0x77, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x78, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28,
0x0c, 0x52, 0x04, 0x74, 0x78, 0x49, 0x44, 0x12, 0x12, 0x0a, 0x04, 0x76, 0x6f, 0x75, 0x74, 0x18,
0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x76, 0x6f, 0x75, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x70,
0x75, 0x62, 0x4b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x70, 0x75, 0x62,
0x4b, 0x65, 0x79, 0x22, 0x39, 0x0a, 0x09, 0x54, 0x58, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73,
0x12, 0x2c, 0x0a, 0x07, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x12, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x54, 0x58, 0x4f,
0x75, 0x74, 0x70, 0x75, 0x74, 0x52, 0x07, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x22, 0xde,
0x02, 0x0a, 0x0f, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69,
0x70, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x5f, 0x75, 0x73, 0x61,
0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x65, 0x6e, 0x65, 0x72, 0x67, 0x79,
0x55, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x5f,
0x66, 0x65, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x65, 0x6e, 0x65, 0x72, 0x67,
0x79, 0x46, 0x65, 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x65,
0x6e, 0x65, 0x72, 0x67, 0x79, 0x5f, 0x75, 0x73, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28,
0x03, 0x52, 0x11, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x55,
0x73, 0x61, 0x67, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x65, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x5f, 0x75,
0x73, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03,
0x52, 0x10, 0x65, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x55, 0x73, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x74,
0x61, 0x6c, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x65, 0x74, 0x5f, 0x75, 0x73, 0x61, 0x67, 0x65, 0x18,
0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x6e, 0x65, 0x74, 0x55, 0x73, 0x61, 0x67, 0x65, 0x12,
0x17, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x5f, 0x66, 0x65, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03,
0x52, 0x06, 0x6e, 0x65, 0x74, 0x46, 0x65, 0x65, 0x12, 0x43, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75,
0x6c, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x63, 0x6f, 0x6c, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e,
0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52,
0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x30, 0x0a,
0x14, 0x65, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x5f, 0x70, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x5f,
0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x12, 0x65, 0x6e, 0x65,
0x72, 0x67, 0x79, 0x50, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x22,
0xb1, 0x01, 0x0a, 0x11, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x44,
0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x22, 0x0a, 0x0c, 0x6d, 0x61, 0x6b, 0x65, 0x72, 0x4f, 0x72,
0x64, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x6d, 0x61, 0x6b,
0x65, 0x72, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x74, 0x61, 0x6b,
0x65, 0x72, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52,
0x0c, 0x74, 0x61, 0x6b, 0x65, 0x72, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x64, 0x12, 0x2a, 0x0a,
0x10, 0x66, 0x69, 0x6c, 0x6c, 0x53, 0x65, 0x6c, 0x6c, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74,
0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x66, 0x69, 0x6c, 0x6c, 0x53, 0x65, 0x6c,
0x6c, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x28, 0x0a, 0x0f, 0x66, 0x69, 0x6c,
0x6c, 0x42, 0x75, 0x79, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x04, 0x20, 0x01,
0x28, 0x03, 0x52, 0x0f, 0x66, 0x69, 0x6c, 0x6c, 0x42, 0x75, 0x79, 0x51, 0x75, 0x61, 0x6e, 0x74,
0x69, 0x74, 0x79, 0x22, 0xdd, 0x18, 0x0a, 0x0b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74,
0x69, 0x6f, 0x6e, 0x12, 0x34, 0x0a, 0x08, 0x72, 0x61, 0x77, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18,
0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c,
0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x72, 0x61, 0x77,
0x52, 0x07, 0x72, 0x61, 0x77, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67,
0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x09, 0x73, 0x69,
0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x2e, 0x0a, 0x03, 0x72, 0x65, 0x74, 0x18, 0x05,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e,
0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x73, 0x75,
0x6c, 0x74, 0x52, 0x03, 0x72, 0x65, 0x74, 0x1a, 0xef, 0x0a, 0x0a, 0x08, 0x43, 0x6f, 0x6e, 0x74,
0x72, 0x61, 0x63, 0x74, 0x12, 0x3f, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01,
0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x54, 0x72,
0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61,
0x63, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52,
0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x32, 0x0a, 0x09, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74,
0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x09,
0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f,
0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x70, 0x72, 0x6f,
0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x22, 0x0a, 0x0c, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63,
0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x43, 0x6f, 0x6e,
0x74, 0x72, 0x61, 0x63, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x50, 0x65, 0x72,
0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05,
0x52, 0x0c, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x88,
0x09, 0x0a, 0x0c, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12,
0x19, 0x0a, 0x15, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65,
0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x72,
0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x10, 0x01,
0x12, 0x19, 0x0a, 0x15, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x41, 0x73, 0x73, 0x65,
0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x10, 0x02, 0x12, 0x15, 0x0a, 0x11, 0x56,
0x6f, 0x74, 0x65, 0x41, 0x73, 0x73, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74,
0x10, 0x03, 0x12, 0x17, 0x0a, 0x13, 0x56, 0x6f, 0x74, 0x65, 0x57, 0x69, 0x74, 0x6e, 0x65, 0x73,
0x73, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x10, 0x04, 0x12, 0x19, 0x0a, 0x15, 0x57,
0x69, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74,
0x72, 0x61, 0x63, 0x74, 0x10, 0x05, 0x12, 0x16, 0x0a, 0x12, 0x41, 0x73, 0x73, 0x65, 0x74, 0x49,
0x73, 0x73, 0x75, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x10, 0x06, 0x12, 0x19,
0x0a, 0x15, 0x57, 0x69, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43,
0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x10, 0x08, 0x12, 0x21, 0x0a, 0x1d, 0x50, 0x61, 0x72,
0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x74, 0x65, 0x41, 0x73, 0x73, 0x65, 0x74, 0x49, 0x73, 0x73,
0x75, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x10, 0x09, 0x12, 0x19, 0x0a, 0x15,
0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e,
0x74, 0x72, 0x61, 0x63, 0x74, 0x10, 0x0a, 0x12, 0x19, 0x0a, 0x15, 0x46, 0x72, 0x65, 0x65, 0x7a,
0x65, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74,
0x10, 0x0b, 0x12, 0x1b, 0x0a, 0x17, 0x55, 0x6e, 0x66, 0x72, 0x65, 0x65, 0x7a, 0x65, 0x42, 0x61,
0x6c, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x10, 0x0c, 0x12,
0x1b, 0x0a, 0x17, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x42, 0x61, 0x6c, 0x61, 0x6e,
0x63, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x10, 0x0d, 0x12, 0x19, 0x0a, 0x15,
0x55, 0x6e, 0x66, 0x72, 0x65, 0x65, 0x7a, 0x65, 0x41, 0x73, 0x73, 0x65, 0x74, 0x43, 0x6f, 0x6e,
0x74, 0x72, 0x61, 0x63, 0x74, 0x10, 0x0e, 0x12, 0x17, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74,
0x65, 0x41, 0x73, 0x73, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x10, 0x0f,
0x12, 0x1a, 0x0a, 0x16, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x43, 0x72, 0x65, 0x61,
0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x10, 0x10, 0x12, 0x1b, 0x0a, 0x17,
0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x43,
0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x10, 0x11, 0x12, 0x1a, 0x0a, 0x16, 0x50, 0x72, 0x6f,
0x70, 0x6f, 0x73, 0x61, 0x6c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72,
0x61, 0x63, 0x74, 0x10, 0x12, 0x12, 0x18, 0x0a, 0x14, 0x53, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f,
0x75, 0x6e, 0x74, 0x49, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x10, 0x13, 0x12,
0x12, 0x0a, 0x0e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63,
0x74, 0x10, 0x14, 0x12, 0x17, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x6d, 0x61,
0x72, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x10, 0x1e, 0x12, 0x18, 0x0a, 0x14,
0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x53, 0x6d, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x74,
0x72, 0x61, 0x63, 0x74, 0x10, 0x1f, 0x12, 0x0f, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e,
0x74, 0x72, 0x61, 0x63, 0x74, 0x10, 0x20, 0x12, 0x19, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74,
0x65, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74,
0x10, 0x21, 0x12, 0x1a, 0x0a, 0x16, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x43, 0x72,
0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x10, 0x29, 0x12, 0x1a,
0x0a, 0x16, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x49, 0x6e, 0x6a, 0x65, 0x63, 0x74,
0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x10, 0x2a, 0x12, 0x1c, 0x0a, 0x18, 0x45, 0x78,
0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x43, 0x6f,
0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x10, 0x2b, 0x12, 0x1f, 0x0a, 0x1b, 0x45, 0x78, 0x63, 0x68,
0x61, 0x6e, 0x67, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43,
0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x10, 0x2c, 0x12, 0x1d, 0x0a, 0x19, 0x55, 0x70, 0x64,
0x61, 0x74, 0x65, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x43, 0x6f,
0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x10, 0x2d, 0x12, 0x23, 0x0a, 0x1f, 0x41, 0x63, 0x63, 0x6f,
0x75, 0x6e, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x55, 0x70, 0x64,
0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x10, 0x2e, 0x12, 0x14, 0x0a,
0x10, 0x43, 0x6c, 0x65, 0x61, 0x72, 0x41, 0x42, 0x49, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63,
0x74, 0x10, 0x30, 0x12, 0x1b, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x72, 0x6f,
0x6b, 0x65, 0x72, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x10, 0x31,
0x12, 0x1c, 0x0a, 0x18, 0x53, 0x68, 0x69, 0x65, 0x6c, 0x64, 0x65, 0x64, 0x54, 0x72, 0x61, 0x6e,
0x73, 0x66, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x10, 0x33, 0x12, 0x1b,
0x0a, 0x17, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x53, 0x65, 0x6c, 0x6c, 0x41, 0x73, 0x73, 0x65,
0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x10, 0x34, 0x12, 0x1d, 0x0a, 0x19, 0x4d,
0x61, 0x72, 0x6b, 0x65, 0x74, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x4f, 0x72, 0x64, 0x65, 0x72,
0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x10, 0x35, 0x12, 0x1b, 0x0a, 0x17, 0x46, 0x72,
0x65, 0x65, 0x7a, 0x65, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x56, 0x32, 0x43, 0x6f, 0x6e,
0x74, 0x72, 0x61, 0x63, 0x74, 0x10, 0x36, 0x12, 0x1d, 0x0a, 0x19, 0x55, 0x6e, 0x66, 0x72, 0x65,
0x65, 0x7a, 0x65, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x56, 0x32, 0x43, 0x6f, 0x6e, 0x74,
0x72, 0x61, 0x63, 0x74, 0x10, 0x37, 0x12, 0x22, 0x0a, 0x1e, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72,
0x61, 0x77, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x55, 0x6e, 0x66, 0x72, 0x65, 0x65, 0x7a, 0x65,
0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x10, 0x38, 0x12, 0x1c, 0x0a, 0x18, 0x44, 0x65,
0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f,
0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x10, 0x39, 0x12, 0x1e, 0x0a, 0x1a, 0x55, 0x6e, 0x44, 0x65,
0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f,
0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x10, 0x3a, 0x12, 0x1f, 0x0a, 0x1b, 0x43, 0x61, 0x6e, 0x63,
0x65, 0x6c, 0x41, 0x6c, 0x6c, 0x55, 0x6e, 0x66, 0x72, 0x65, 0x65, 0x7a, 0x65, 0x56, 0x32, 0x43,
0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x10, 0x3b, 0x1a, 0xed, 0x09, 0x0a, 0x06, 0x52, 0x65,
0x73, 0x75, 0x6c, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x66, 0x65, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
0x03, 0x52, 0x03, 0x66, 0x65, 0x65, 0x12, 0x33, 0x0a, 0x03, 0x72, 0x65, 0x74, 0x18, 0x02, 0x20,
0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x54,
0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c,
0x74, 0x2e, 0x63, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x72, 0x65, 0x74, 0x12, 0x4d, 0x0a, 0x0b, 0x63,
0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e,
0x32, 0x2b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x54, 0x72, 0x61, 0x6e,
0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x63,
0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x0b, 0x63,
0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x61, 0x73,
0x73, 0x65, 0x74, 0x49, 0x73, 0x73, 0x75, 0x65, 0x49, 0x44, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09,
0x52, 0x0c, 0x61, 0x73, 0x73, 0x65, 0x74, 0x49, 0x73, 0x73, 0x75, 0x65, 0x49, 0x44, 0x12, 0x27,
0x0a, 0x0f, 0x77, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e,
0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x77, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61,
0x77, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x75, 0x6e, 0x66, 0x72, 0x65,
0x65, 0x7a, 0x65, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x03,
0x52, 0x0e, 0x75, 0x6e, 0x66, 0x72, 0x65, 0x65, 0x7a, 0x65, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74,
0x12, 0x38, 0x0a, 0x18, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x65, 0x63,
0x65, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x12, 0x20, 0x01,
0x28, 0x03, 0x52, 0x16, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x63, 0x65,
0x69, 0x76, 0x65, 0x64, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x43, 0x0a, 0x1e, 0x65, 0x78,
0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x61, 0x6e,
0x6f, 0x74, 0x68, 0x65, 0x72, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x13, 0x20, 0x01,
0x28, 0x03, 0x52, 0x1b, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x49, 0x6e, 0x6a, 0x65,
0x63, 0x74, 0x41, 0x6e, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12,
0x47, 0x0a, 0x20, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x77, 0x69, 0x74, 0x68,
0x64, 0x72, 0x61, 0x77, 0x5f, 0x61, 0x6e, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x5f, 0x61, 0x6d, 0x6f,
0x75, 0x6e, 0x74, 0x18, 0x14, 0x20, 0x01, 0x28, 0x03, 0x52, 0x1d, 0x65, 0x78, 0x63, 0x68, 0x61,
0x6e, 0x67, 0x65, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x41, 0x6e, 0x6f, 0x74, 0x68,
0x65, 0x72, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x78, 0x63, 0x68,
0x61, 0x6e, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x15, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x65,
0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x49, 0x64, 0x12, 0x38, 0x0a, 0x18, 0x73, 0x68, 0x69,
0x65, 0x6c, 0x64, 0x65, 0x64, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f,
0x6e, 0x5f, 0x66, 0x65, 0x65, 0x18, 0x16, 0x20, 0x01, 0x28, 0x03, 0x52, 0x16, 0x73, 0x68, 0x69,
0x65, 0x6c, 0x64, 0x65, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e,
0x46, 0x65, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x64, 0x18, 0x19,
0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x64, 0x12, 0x3f, 0x0a,
0x0c, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x1a, 0x20,
0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x4d,
0x61, 0x72, 0x6b, 0x65, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c,
0x52, 0x0c, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x34,
0x0a, 0x16, 0x77, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72,
0x65, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x03, 0x52, 0x14,
0x77, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x41, 0x6d,
0x6f, 0x75, 0x6e, 0x74, 0x12, 0x72, 0x0a, 0x18, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x5f, 0x75,
0x6e, 0x66, 0x72, 0x65, 0x65, 0x7a, 0x65, 0x56, 0x32, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74,
0x18, 0x1c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f,
0x6c, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65,
0x73, 0x75, 0x6c, 0x74, 0x2e, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x55, 0x6e, 0x66, 0x72, 0x65,
0x65, 0x7a, 0x65, 0x56, 0x32, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79,
0x52, 0x16, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x55, 0x6e, 0x66, 0x72, 0x65, 0x65, 0x7a, 0x65,
0x56, 0x32, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x1a, 0x49, 0x0a, 0x1b, 0x43, 0x61, 0x6e, 0x63,
0x65, 0x6c, 0x55, 0x6e, 0x66, 0x72, 0x65, 0x65, 0x7a, 0x65, 0x56, 0x32, 0x41, 0x6d, 0x6f, 0x75,
0x6e, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01,
0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c,
0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a,
0x02, 0x38, 0x01, 0x22, 0x1e, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x0a, 0x0a, 0x06, 0x53,
0x55, 0x43, 0x45, 0x53, 0x53, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x46, 0x41, 0x49, 0x4c, 0x45,
0x44, 0x10, 0x01, 0x22, 0xc3, 0x02, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74,
0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c,
0x54, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x01,
0x12, 0x0a, 0x0a, 0x06, 0x52, 0x45, 0x56, 0x45, 0x52, 0x54, 0x10, 0x02, 0x12, 0x18, 0x0a, 0x14,
0x42, 0x41, 0x44, 0x5f, 0x4a, 0x55, 0x4d, 0x50, 0x5f, 0x44, 0x45, 0x53, 0x54, 0x49, 0x4e, 0x41,
0x54, 0x49, 0x4f, 0x4e, 0x10, 0x03, 0x12, 0x11, 0x0a, 0x0d, 0x4f, 0x55, 0x54, 0x5f, 0x4f, 0x46,
0x5f, 0x4d, 0x45, 0x4d, 0x4f, 0x52, 0x59, 0x10, 0x04, 0x12, 0x18, 0x0a, 0x14, 0x50, 0x52, 0x45,
0x43, 0x4f, 0x4d, 0x50, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x41, 0x43,
0x54, 0x10, 0x05, 0x12, 0x13, 0x0a, 0x0f, 0x53, 0x54, 0x41, 0x43, 0x4b, 0x5f, 0x54, 0x4f, 0x4f,
0x5f, 0x53, 0x4d, 0x41, 0x4c, 0x4c, 0x10, 0x06, 0x12, 0x13, 0x0a, 0x0f, 0x53, 0x54, 0x41, 0x43,
0x4b, 0x5f, 0x54, 0x4f, 0x4f, 0x5f, 0x4c, 0x41, 0x52, 0x47, 0x45, 0x10, 0x07, 0x12, 0x15, 0x0a,
0x11, 0x49, 0x4c, 0x4c, 0x45, 0x47, 0x41, 0x4c, 0x5f, 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, 0x49,
0x4f, 0x4e, 0x10, 0x08, 0x12, 0x12, 0x0a, 0x0e, 0x53, 0x54, 0x41, 0x43, 0x4b, 0x5f, 0x4f, 0x56,
0x45, 0x52, 0x46, 0x4c, 0x4f, 0x57, 0x10, 0x09, 0x12, 0x11, 0x0a, 0x0d, 0x4f, 0x55, 0x54, 0x5f,
0x4f, 0x46, 0x5f, 0x45, 0x4e, 0x45, 0x52, 0x47, 0x59, 0x10, 0x0a, 0x12, 0x0f, 0x0a, 0x0b, 0x4f,
0x55, 0x54, 0x5f, 0x4f, 0x46, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x10, 0x0b, 0x12, 0x17, 0x0a, 0x13,
0x4a, 0x56, 0x4d, 0x5f, 0x53, 0x54, 0x41, 0x43, 0x4b, 0x5f, 0x4f, 0x56, 0x45, 0x52, 0x5f, 0x46,
0x4c, 0x4f, 0x57, 0x10, 0x0c, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e,
0x10, 0x0d, 0x12, 0x13, 0x0a, 0x0f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x45, 0x52, 0x5f, 0x46,
0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x0e, 0x12, 0x10, 0x0a, 0x0c, 0x49, 0x4e, 0x56, 0x41, 0x4c,
0x49, 0x44, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x10, 0x0f, 0x1a, 0xe7, 0x02, 0x0a, 0x03, 0x72, 0x61,
0x77, 0x12, 0x26, 0x0a, 0x0f, 0x72, 0x65, 0x66, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x62,
0x79, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x72, 0x65, 0x66, 0x42,
0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x22, 0x0a, 0x0d, 0x72, 0x65, 0x66,
0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03,
0x52, 0x0b, 0x72, 0x65, 0x66, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x4e, 0x75, 0x6d, 0x12, 0x24, 0x0a,
0x0e, 0x72, 0x65, 0x66, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18,
0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x72, 0x65, 0x66, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48,
0x61, 0x73, 0x68, 0x12, 0x1e, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f,
0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x12, 0x29, 0x0a, 0x05, 0x61, 0x75, 0x74, 0x68, 0x73, 0x18, 0x09, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x61, 0x75,
0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x52, 0x05, 0x61, 0x75, 0x74, 0x68, 0x73, 0x12, 0x12,
0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61,
0x74, 0x61, 0x12, 0x3a, 0x0a, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x18, 0x0b,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e,
0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6e, 0x74,
0x72, 0x61, 0x63, 0x74, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x12, 0x18,
0x0a, 0x07, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0c, 0x52,
0x07, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65,
0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d,
0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x65, 0x65, 0x5f, 0x6c, 0x69,
0x6d, 0x69, 0x74, 0x18, 0x12, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x66, 0x65, 0x65, 0x4c, 0x69,
0x6d, 0x69, 0x74, 0x22, 0xd5, 0x0a, 0x0a, 0x0f, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74,
0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20,
0x01, 0x28, 0x0c, 0x52, 0x02, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x66, 0x65, 0x65, 0x18, 0x02,
0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x66, 0x65, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x62, 0x6c, 0x6f,
0x63, 0x6b, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b,
0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x26, 0x0a, 0x0e, 0x62,
0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20,
0x01, 0x28, 0x03, 0x52, 0x0e, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x74,
0x61, 0x6d, 0x70, 0x12, 0x26, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52,
0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x0e, 0x63, 0x6f, 0x6e,
0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x29, 0x0a, 0x10, 0x63,
0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18,
0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x41,
0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x33, 0x0a, 0x07, 0x72, 0x65, 0x63, 0x65, 0x69, 0x70,
0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63,
0x6f, 0x6c, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69,
0x70, 0x74, 0x52, 0x07, 0x72, 0x65, 0x63, 0x65, 0x69, 0x70, 0x74, 0x12, 0x2f, 0x0a, 0x03, 0x6c,
0x6f, 0x67, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x63, 0x6f, 0x6c, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49,
0x6e, 0x66, 0x6f, 0x2e, 0x4c, 0x6f, 0x67, 0x52, 0x03, 0x6c, 0x6f, 0x67, 0x12, 0x36, 0x0a, 0x06,
0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74,
0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x63, 0x6f, 0x64, 0x65, 0x52, 0x06, 0x72, 0x65,
0x73, 0x75, 0x6c, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61,
0x67, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x4d, 0x65, 0x73,
0x73, 0x61, 0x67, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x61, 0x73, 0x73, 0x65, 0x74, 0x49, 0x73, 0x73,
0x75, 0x65, 0x49, 0x44, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x73, 0x73, 0x65,
0x74, 0x49, 0x73, 0x73, 0x75, 0x65, 0x49, 0x44, 0x12, 0x27, 0x0a, 0x0f, 0x77, 0x69, 0x74, 0x68,
0x64, 0x72, 0x61, 0x77, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28,
0x03, 0x52, 0x0e, 0x77, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x41, 0x6d, 0x6f, 0x75, 0x6e,
0x74, 0x12, 0x27, 0x0a, 0x0f, 0x75, 0x6e, 0x66, 0x72, 0x65, 0x65, 0x7a, 0x65, 0x5f, 0x61, 0x6d,
0x6f, 0x75, 0x6e, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x75, 0x6e, 0x66, 0x72,
0x65, 0x65, 0x7a, 0x65, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x52, 0x0a, 0x15, 0x69, 0x6e,
0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69,
0x6f, 0x6e, 0x73, 0x18, 0x11, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x54, 0x72, 0x61,
0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x14, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e,
0x61, 0x6c, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x38,
0x0a, 0x18, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x65, 0x69,
0x76, 0x65, 0x64, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x12, 0x20, 0x01, 0x28, 0x03,
0x52, 0x16, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76,
0x65, 0x64, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x43, 0x0a, 0x1e, 0x65, 0x78, 0x63, 0x68,
0x61, 0x6e, 0x67, 0x65, 0x5f, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x61, 0x6e, 0x6f, 0x74,
0x68, 0x65, 0x72, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x13, 0x20, 0x01, 0x28, 0x03,
0x52, 0x1b, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x49, 0x6e, 0x6a, 0x65, 0x63, 0x74,
0x41, 0x6e, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x47, 0x0a,
0x20, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x64, 0x72,
0x61, 0x77, 0x5f, 0x61, 0x6e, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e,
0x74, 0x18, 0x14, 0x20, 0x01, 0x28, 0x03, 0x52, 0x1d, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67,
0x65, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x41, 0x6e, 0x6f, 0x74, 0x68, 0x65, 0x72,
0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e,
0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x15, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x65, 0x78, 0x63,
0x68, 0x61, 0x6e, 0x67, 0x65, 0x49, 0x64, 0x12, 0x38, 0x0a, 0x18, 0x73, 0x68, 0x69, 0x65, 0x6c,
0x64, 0x65, 0x64, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
0x66, 0x65, 0x65, 0x18, 0x16, 0x20, 0x01, 0x28, 0x03, 0x52, 0x16, 0x73, 0x68, 0x69, 0x65, 0x6c,
0x64, 0x65, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x65,
0x65, 0x12, 0x18, 0x0a, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x64, 0x18, 0x19, 0x20, 0x01,
0x28, 0x0c, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x64, 0x12, 0x3f, 0x0a, 0x0c, 0x6f,
0x72, 0x64, 0x65, 0x72, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x1a, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x4d, 0x61, 0x72,
0x6b, 0x65, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x0c,
0x6f, 0x72, 0x64, 0x65, 0x72, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x1e, 0x0a, 0x0a,
0x70, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x46, 0x65, 0x65, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x03,
0x52, 0x0a, 0x70, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x46, 0x65, 0x65, 0x12, 0x34, 0x0a, 0x16,
0x77, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x5f,
0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x14, 0x77, 0x69,
0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x41, 0x6d, 0x6f, 0x75,
0x6e, 0x74, 0x12, 0x6f, 0x0a, 0x18, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x5f, 0x75, 0x6e, 0x66,
0x72, 0x65, 0x65, 0x7a, 0x65, 0x56, 0x32, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x1d,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e,
0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x2e,
0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x55, 0x6e, 0x66, 0x72, 0x65, 0x65, 0x7a, 0x65, 0x56, 0x32,
0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x16, 0x63, 0x61, 0x6e,
0x63, 0x65, 0x6c, 0x55, 0x6e, 0x66, 0x72, 0x65, 0x65, 0x7a, 0x65, 0x56, 0x32, 0x41, 0x6d, 0x6f,
0x75, 0x6e, 0x74, 0x1a, 0x4b, 0x0a, 0x03, 0x4c, 0x6f, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64,
0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x61, 0x64, 0x64,
0x72, 0x65, 0x73, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x18, 0x02,
0x20, 0x03, 0x28, 0x0c, 0x52, 0x06, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x12, 0x12, 0x0a, 0x04,
0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61,
0x1a, 0x49, 0x0a, 0x1b, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x55, 0x6e, 0x66, 0x72, 0x65, 0x65,
0x7a, 0x65, 0x56, 0x32, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12,
0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65,
0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03,
0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x1e, 0x0a, 0x04, 0x63,
0x6f, 0x64, 0x65, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x55, 0x43, 0x45, 0x53, 0x53, 0x10, 0x00, 0x12,
0x0a, 0x0a, 0x06, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x01, 0x22, 0x9f, 0x01, 0x0a, 0x0e,
0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x74, 0x12, 0x20,
0x0a, 0x0b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20,
0x01, 0x28, 0x03, 0x52, 0x0b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72,
0x12, 0x26, 0x0a, 0x0e, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61,
0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x54,
0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x43, 0x0a, 0x0f, 0x74, 0x72, 0x61, 0x6e,
0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x19, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x54, 0x72, 0x61,
0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0f, 0x74, 0x72,
0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x66, 0x6f, 0x22, 0x49, 0x0a,
0x0c, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x39, 0x0a,
0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20,
0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 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, 0x22, 0xfc, 0x02, 0x0a, 0x0b, 0x42, 0x6c, 0x6f,
0x63, 0x6b, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x34, 0x0a, 0x08, 0x72, 0x61, 0x77, 0x5f,
0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x61, 0x64, 0x65,
0x72, 0x2e, 0x72, 0x61, 0x77, 0x52, 0x07, 0x72, 0x61, 0x77, 0x44, 0x61, 0x74, 0x61, 0x12, 0x2b,
0x0a, 0x11, 0x77, 0x69, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74,
0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x10, 0x77, 0x69, 0x74, 0x6e, 0x65,
0x73, 0x73, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x1a, 0x89, 0x02, 0x0a, 0x03,
0x72, 0x61, 0x77, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70,
0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d,
0x70, 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x78, 0x54, 0x72, 0x69, 0x65, 0x52, 0x6f, 0x6f, 0x74, 0x18,
0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x74, 0x78, 0x54, 0x72, 0x69, 0x65, 0x52, 0x6f, 0x6f,
0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x48, 0x61, 0x73, 0x68, 0x18,
0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x48, 0x61, 0x73,
0x68, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28,
0x03, 0x52, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x77, 0x69, 0x74,
0x6e, 0x65, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x77,
0x69, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x77, 0x69, 0x74, 0x6e,
0x65, 0x73, 0x73, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28,
0x0c, 0x52, 0x0e, 0x77, 0x69, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73,
0x73, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01,
0x28, 0x05, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2a, 0x0a, 0x10, 0x61,
0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x74, 0x18,
0x0b, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x10, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x74,
0x61, 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x74, 0x22, 0x7c, 0x0a, 0x05, 0x42, 0x6c, 0x6f, 0x63, 0x6b,
0x12, 0x39, 0x0a, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73,
0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f,
0x6c, 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, 0x38, 0x0a, 0x0c, 0x62,
0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x15, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x42, 0x6c, 0x6f,
0x63, 0x6b, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x0b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x48,
0x65, 0x61, 0x64, 0x65, 0x72, 0x22, 0x9a, 0x01, 0x0a, 0x0e, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x49,
0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x32, 0x0a, 0x03, 0x69, 0x64, 0x73, 0x18,
0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c,
0x2e, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x2e,
0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x64, 0x52, 0x03, 0x69, 0x64, 0x73, 0x12, 0x1d, 0x0a, 0x0a,
0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03,
0x52, 0x09, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x4e, 0x75, 0x6d, 0x1a, 0x35, 0x0a, 0x07, 0x42,
0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01,
0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x68, 0x61, 0x73, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x75,
0x6d, 0x62, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x75, 0x6d, 0x62,
0x65, 0x72, 0x22, 0xd8, 0x01, 0x0a, 0x0e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x6e, 0x76, 0x65,
0x6e, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x32, 0x0a, 0x03, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x42, 0x6c,
0x6f, 0x63, 0x6b, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x42, 0x6c, 0x6f,
0x63, 0x6b, 0x49, 0x64, 0x52, 0x03, 0x69, 0x64, 0x73, 0x12, 0x31, 0x0a, 0x04, 0x74, 0x79, 0x70,
0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63,
0x6f, 0x6c, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72,
0x79, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x1a, 0x35, 0x0a, 0x07,
0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x61, 0x73, 0x68, 0x18,
0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x68, 0x61, 0x73, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x6e,
0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x75, 0x6d,
0x62, 0x65, 0x72, 0x22, 0x28, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x08, 0x0a, 0x04, 0x53,
0x59, 0x4e, 0x43, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x41, 0x44, 0x56, 0x54, 0x49, 0x53, 0x45,
0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x46, 0x45, 0x54, 0x43, 0x48, 0x10, 0x02, 0x22, 0x79, 0x0a,
0x09, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x35, 0x0a, 0x04, 0x74, 0x79,
0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x63, 0x6f, 0x6c, 0x2e, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x49, 0x6e,
0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70,
0x65, 0x12, 0x10, 0x0a, 0x03, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x03,
0x69, 0x64, 0x73, 0x22, 0x23, 0x0a, 0x0d, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79,
0x54, 0x79, 0x70, 0x65, 0x12, 0x07, 0x0a, 0x03, 0x54, 0x52, 0x58, 0x10, 0x00, 0x12, 0x09, 0x0a,
0x05, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x10, 0x01, 0x22, 0x8f, 0x02, 0x0a, 0x05, 0x49, 0x74, 0x65,
0x6d, 0x73, 0x12, 0x2c, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e,
0x32, 0x18, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x49, 0x74, 0x65, 0x6d,
0x73, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65,
0x12, 0x27, 0x0a, 0x06, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x0f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x42, 0x6c, 0x6f, 0x63,
0x6b, 0x52, 0x06, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x12, 0x3a, 0x0a, 0x0d, 0x62, 0x6c, 0x6f,
0x63, 0x6b, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x15, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x42, 0x6c, 0x6f, 0x63,
0x6b, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65,
0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x39, 0x0a, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63,
0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 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,
0x22, 0x38, 0x0a, 0x08, 0x49, 0x74, 0x65, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x12, 0x07, 0x0a, 0x03,
0x45, 0x52, 0x52, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x54, 0x52, 0x58, 0x10, 0x01, 0x12, 0x09,
0x0a, 0x05, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x42, 0x4c, 0x4f,
0x43, 0x4b, 0x48, 0x45, 0x41, 0x44, 0x45, 0x52, 0x10, 0x03, 0x22, 0x4a, 0x0a, 0x11, 0x44, 0x79,
0x6e, 0x61, 0x6d, 0x69, 0x63, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12,
0x35, 0x0a, 0x17, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x73, 0x6f, 0x6c, 0x69, 0x64, 0x69, 0x74, 0x79,
0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03,
0x52, 0x14, 0x6c, 0x61, 0x73, 0x74, 0x53, 0x6f, 0x6c, 0x69, 0x64, 0x69, 0x74, 0x79, 0x42, 0x6c,
0x6f, 0x63, 0x6b, 0x4e, 0x75, 0x6d, 0x22, 0x41, 0x0a, 0x11, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e,
0x6e, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x2c, 0x0a, 0x06, 0x72,
0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x43, 0x6f, 0x64,
0x65, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x22, 0x91, 0x04, 0x0a, 0x0c, 0x48, 0x65,
0x6c, 0x6c, 0x6f, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x26, 0x0a, 0x04, 0x66, 0x72,
0x6f, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x63, 0x6f, 0x6c, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x04, 0x66, 0x72,
0x6f, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20,
0x01, 0x28, 0x05, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 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, 0x46, 0x0a, 0x0e, 0x67, 0x65,
0x6e, 0x65, 0x73, 0x69, 0x73, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x48, 0x65,
0x6c, 0x6c, 0x6f, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b,
0x49, 0x64, 0x52, 0x0e, 0x67, 0x65, 0x6e, 0x65, 0x73, 0x69, 0x73, 0x42, 0x6c, 0x6f, 0x63, 0x6b,
0x49, 0x64, 0x12, 0x42, 0x0a, 0x0c, 0x73, 0x6f, 0x6c, 0x69, 0x64, 0x42, 0x6c, 0x6f, 0x63, 0x6b,
0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x63, 0x6f, 0x6c, 0x2e, 0x48, 0x65, 0x6c, 0x6c, 0x6f, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x64, 0x52, 0x0c, 0x73, 0x6f, 0x6c, 0x69, 0x64, 0x42,
0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x64, 0x12, 0x40, 0x0a, 0x0b, 0x68, 0x65, 0x61, 0x64, 0x42, 0x6c,
0x6f, 0x63, 0x6b, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x48, 0x65, 0x6c, 0x6c, 0x6f, 0x4d, 0x65, 0x73, 0x73,
0x61, 0x67, 0x65, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x64, 0x52, 0x0b, 0x68, 0x65, 0x61,
0x64, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72,
0x65, 0x73, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65,
0x73, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18,
0x08, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65,
0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x6f, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x09, 0x20, 0x01,
0x28, 0x05, 0x52, 0x08, 0x6e, 0x6f, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x26, 0x0a, 0x0e,
0x6c, 0x6f, 0x77, 0x65, 0x73, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x4e, 0x75, 0x6d, 0x18, 0x0a,
0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x6c, 0x6f, 0x77, 0x65, 0x73, 0x74, 0x42, 0x6c, 0x6f, 0x63,
0x6b, 0x4e, 0x75, 0x6d, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x6f, 0x64, 0x65, 0x56, 0x65, 0x72, 0x73,
0x69, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x63, 0x6f, 0x64, 0x65, 0x56,
0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x1a, 0x35, 0x0a, 0x07, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x49,
0x64, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52,
0x04, 0x68, 0x61, 0x73, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18,
0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0xe1, 0x02,
0x0a, 0x13, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61,
0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20,
0x01, 0x28, 0x0c, 0x52, 0x04, 0x68, 0x61, 0x73, 0x68, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x61, 0x6c,
0x6c, 0x65, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28,
0x0c, 0x52, 0x0d, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73,
0x12, 0x2d, 0x0a, 0x12, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x54, 0x6f, 0x5f, 0x61,
0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x11, 0x74, 0x72,
0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x54, 0x6f, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12,
0x51, 0x0a, 0x0d, 0x63, 0x61, 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x49, 0x6e, 0x66, 0x6f,
0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f,
0x6c, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61,
0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x49,
0x6e, 0x66, 0x6f, 0x52, 0x0d, 0x63, 0x61, 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x49, 0x6e,
0x66, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x6f, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c,
0x52, 0x04, 0x6e, 0x6f, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74,
0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74,
0x65, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x78, 0x74, 0x72, 0x61, 0x18, 0x07, 0x20, 0x01, 0x28,
0x09, 0x52, 0x05, 0x65, 0x78, 0x74, 0x72, 0x61, 0x1a, 0x47, 0x0a, 0x0d, 0x43, 0x61, 0x6c, 0x6c,
0x56, 0x61, 0x6c, 0x75, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x61, 0x6c,
0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x61,
0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x6f, 0x6b, 0x65, 0x6e,
0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x49,
0x64, 0x22, 0x9b, 0x01, 0x0a, 0x1d, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x52,
0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e,
0x64, 0x65, 0x78, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01,
0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x22, 0x0a,
0x0c, 0x66, 0x72, 0x6f, 0x6d, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20,
0x03, 0x28, 0x0c, 0x52, 0x0c, 0x66, 0x72, 0x6f, 0x6d, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74,
0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x6f, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18,
0x03, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x0a, 0x74, 0x6f, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74,
0x73, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04,
0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22,
0xbd, 0x1a, 0x0a, 0x08, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x22, 0x0a, 0x0c,
0x62, 0x65, 0x67, 0x69, 0x6e, 0x53, 0x79, 0x6e, 0x63, 0x4e, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01,
0x28, 0x03, 0x52, 0x0c, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x53, 0x79, 0x6e, 0x63, 0x4e, 0x75, 0x6d,
0x12, 0x14, 0x0a, 0x05, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
0x05, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x24, 0x0a, 0x0d, 0x73, 0x6f, 0x6c, 0x69, 0x64, 0x69,
0x74, 0x79, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73,
0x6f, 0x6c, 0x69, 0x64, 0x69, 0x74, 0x79, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x30, 0x0a, 0x13,
0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x43, 0x6f,
0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x13, 0x63, 0x75, 0x72, 0x72, 0x65,
0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2e,
0x0a, 0x12, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x43,
0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x12, 0x61, 0x63, 0x74, 0x69,
0x76, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x30,
0x0a, 0x13, 0x70, 0x61, 0x73, 0x73, 0x69, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74,
0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x13, 0x70, 0x61, 0x73,
0x73, 0x69, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74,
0x12, 0x1c, 0x0a, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x46, 0x6c, 0x6f, 0x77, 0x18, 0x07, 0x20,
0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x46, 0x6c, 0x6f, 0x77, 0x12, 0x3f,
0x0a, 0x0c, 0x70, 0x65, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x08,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e,
0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x49, 0x6e, 0x66,
0x6f, 0x52, 0x0c, 0x70, 0x65, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x12,
0x49, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66,
0x6f, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63,
0x6f, 0x6c, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x6f, 0x6e, 0x66,
0x69, 0x67, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0e, 0x63, 0x6f, 0x6e, 0x66,
0x69, 0x67, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x40, 0x0a, 0x0b, 0x6d, 0x61,
0x63, 0x68, 0x69, 0x6e, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x49,
0x6e, 0x66, 0x6f, 0x2e, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52,
0x0b, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x5d, 0x0a, 0x13,
0x63, 0x68, 0x65, 0x61, 0x74, 0x57, 0x69, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x66, 0x6f,
0x4d, 0x61, 0x70, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x68,
0x65, 0x61, 0x74, 0x57, 0x69, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x4d, 0x61,
0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x13, 0x63, 0x68, 0x65, 0x61, 0x74, 0x57, 0x69, 0x74,
0x6e, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x4d, 0x61, 0x70, 0x1a, 0x46, 0x0a, 0x18, 0x43,
0x68, 0x65, 0x61, 0x74, 0x57, 0x69, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x4d,
0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01,
0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c,
0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a,
0x02, 0x38, 0x01, 0x1a, 0xc8, 0x07, 0x0a, 0x08, 0x50, 0x65, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f,
0x12, 0x24, 0x0a, 0x0d, 0x6c, 0x61, 0x73, 0x74, 0x53, 0x79, 0x6e, 0x63, 0x42, 0x6c, 0x6f, 0x63,
0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6c, 0x61, 0x73, 0x74, 0x53, 0x79, 0x6e,
0x63, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e,
0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x72, 0x65, 0x6d, 0x61, 0x69,
0x6e, 0x4e, 0x75, 0x6d, 0x12, 0x30, 0x0a, 0x13, 0x6c, 0x61, 0x73, 0x74, 0x42, 0x6c, 0x6f, 0x63,
0x6b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28,
0x03, 0x52, 0x13, 0x6c, 0x61, 0x73, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x70, 0x64, 0x61,
0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x79, 0x6e, 0x63, 0x46, 0x6c,
0x61, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x73, 0x79, 0x6e, 0x63, 0x46, 0x6c,
0x61, 0x67, 0x12, 0x38, 0x0a, 0x17, 0x68, 0x65, 0x61, 0x64, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x54,
0x69, 0x6d, 0x65, 0x57, 0x65, 0x42, 0x6f, 0x74, 0x68, 0x48, 0x61, 0x76, 0x65, 0x18, 0x05, 0x20,
0x01, 0x28, 0x03, 0x52, 0x17, 0x68, 0x65, 0x61, 0x64, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x69,
0x6d, 0x65, 0x57, 0x65, 0x42, 0x6f, 0x74, 0x68, 0x48, 0x61, 0x76, 0x65, 0x12, 0x2a, 0x0a, 0x10,
0x6e, 0x65, 0x65, 0x64, 0x53, 0x79, 0x6e, 0x63, 0x46, 0x72, 0x6f, 0x6d, 0x50, 0x65, 0x65, 0x72,
0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x6e, 0x65, 0x65, 0x64, 0x53, 0x79, 0x6e, 0x63,
0x46, 0x72, 0x6f, 0x6d, 0x50, 0x65, 0x65, 0x72, 0x12, 0x26, 0x0a, 0x0e, 0x6e, 0x65, 0x65, 0x64,
0x53, 0x79, 0x6e, 0x63, 0x46, 0x72, 0x6f, 0x6d, 0x55, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08,
0x52, 0x0e, 0x6e, 0x65, 0x65, 0x64, 0x53, 0x79, 0x6e, 0x63, 0x46, 0x72, 0x6f, 0x6d, 0x55, 0x73,
0x12, 0x12, 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
0x68, 0x6f, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x09, 0x20, 0x01,
0x28, 0x05, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x6f, 0x64, 0x65,
0x49, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64,
0x12, 0x20, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18,
0x0b, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x54, 0x69,
0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x76, 0x67, 0x4c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79,
0x18, 0x0c, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0a, 0x61, 0x76, 0x67, 0x4c, 0x61, 0x74, 0x65, 0x6e,
0x63, 0x79, 0x12, 0x28, 0x0a, 0x0f, 0x73, 0x79, 0x6e, 0x63, 0x54, 0x6f, 0x46, 0x65, 0x74, 0x63,
0x68, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x73, 0x79, 0x6e,
0x63, 0x54, 0x6f, 0x46, 0x65, 0x74, 0x63, 0x68, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x36, 0x0a, 0x16,
0x73, 0x79, 0x6e, 0x63, 0x54, 0x6f, 0x46, 0x65, 0x74, 0x63, 0x68, 0x53, 0x69, 0x7a, 0x65, 0x50,
0x65, 0x65, 0x6b, 0x4e, 0x75, 0x6d, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x16, 0x73, 0x79,
0x6e, 0x63, 0x54, 0x6f, 0x46, 0x65, 0x74, 0x63, 0x68, 0x53, 0x69, 0x7a, 0x65, 0x50, 0x65, 0x65,
0x6b, 0x4e, 0x75, 0x6d, 0x12, 0x36, 0x0a, 0x16, 0x73, 0x79, 0x6e, 0x63, 0x42, 0x6c, 0x6f, 0x63,
0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x0f,
0x20, 0x01, 0x28, 0x05, 0x52, 0x16, 0x73, 0x79, 0x6e, 0x63, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x24, 0x0a, 0x0d,
0x75, 0x6e, 0x46, 0x65, 0x74, 0x63, 0x68, 0x53, 0x79, 0x6e, 0x4e, 0x75, 0x6d, 0x18, 0x10, 0x20,
0x01, 0x28, 0x03, 0x52, 0x0d, 0x75, 0x6e, 0x46, 0x65, 0x74, 0x63, 0x68, 0x53, 0x79, 0x6e, 0x4e,
0x75, 0x6d, 0x12, 0x28, 0x0a, 0x0f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x6e, 0x50, 0x6f, 0x72,
0x63, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x62, 0x6c, 0x6f,
0x63, 0x6b, 0x49, 0x6e, 0x50, 0x6f, 0x72, 0x63, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x30, 0x0a, 0x13,
0x68, 0x65, 0x61, 0x64, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x57, 0x65, 0x42, 0x6f, 0x74, 0x68, 0x48,
0x61, 0x76, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x68, 0x65, 0x61, 0x64, 0x42,
0x6c, 0x6f, 0x63, 0x6b, 0x57, 0x65, 0x42, 0x6f, 0x74, 0x68, 0x48, 0x61, 0x76, 0x65, 0x12, 0x1a,
0x0a, 0x08, 0x69, 0x73, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x08,
0x52, 0x08, 0x69, 0x73, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63,
0x6f, 0x72, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65,
0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x15, 0x20,
0x01, 0x28, 0x05, 0x52, 0x09, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x16,
0x0a, 0x06, 0x69, 0x6e, 0x46, 0x6c, 0x6f, 0x77, 0x18, 0x16, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06,
0x69, 0x6e, 0x46, 0x6c, 0x6f, 0x77, 0x12, 0x28, 0x0a, 0x0f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x6e,
0x6e, 0x65, 0x63, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x18, 0x17, 0x20, 0x01, 0x28, 0x05, 0x52,
0x0f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x73,
0x12, 0x34, 0x0a, 0x15, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e,
0x65, 0x63, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x18, 0x20, 0x01, 0x28, 0x09, 0x52,
0x15, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74,
0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x36, 0x0a, 0x16, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65,
0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e,
0x18, 0x19, 0x20, 0x01, 0x28, 0x09, 0x52, 0x16, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x44, 0x69,
0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x1a, 0xa2,
0x06, 0x0a, 0x0e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66,
0x6f, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x6f, 0x64, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x64, 0x65, 0x56, 0x65, 0x72, 0x73,
0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x32, 0x70, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f,
0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x32, 0x70, 0x56, 0x65, 0x72, 0x73,
0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x50, 0x6f, 0x72,
0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x50,
0x6f, 0x72, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x45,
0x6e, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x64, 0x69, 0x73,
0x63, 0x6f, 0x76, 0x65, 0x72, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x61,
0x63, 0x74, 0x69, 0x76, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x05, 0x20,
0x01, 0x28, 0x05, 0x52, 0x0e, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x53,
0x69, 0x7a, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x70, 0x61, 0x73, 0x73, 0x69, 0x76, 0x65, 0x4e, 0x6f,
0x64, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x70, 0x61,
0x73, 0x73, 0x69, 0x76, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a,
0x0c, 0x73, 0x65, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x07, 0x20,
0x01, 0x28, 0x05, 0x52, 0x0c, 0x73, 0x65, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x69, 0x7a,
0x65, 0x12, 0x28, 0x0a, 0x0f, 0x6d, 0x61, 0x78, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x43,
0x6f, 0x75, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x6d, 0x61, 0x78, 0x43,
0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x34, 0x0a, 0x15, 0x73,
0x61, 0x6d, 0x65, 0x49, 0x70, 0x4d, 0x61, 0x78, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x43,
0x6f, 0x75, 0x6e, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x15, 0x73, 0x61, 0x6d, 0x65,
0x49, 0x70, 0x4d, 0x61, 0x78, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x75, 0x6e,
0x74, 0x12, 0x2a, 0x0a, 0x10, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x65,
0x6e, 0x50, 0x6f, 0x72, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x62, 0x61, 0x63,
0x6b, 0x75, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x2a, 0x0a,
0x10, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x53, 0x69, 0x7a,
0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x4d,
0x65, 0x6d, 0x62, 0x65, 0x72, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x62, 0x61, 0x63,
0x6b, 0x75, 0x70, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x0c, 0x20, 0x01, 0x28,
0x05, 0x52, 0x0e, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74,
0x79, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x62, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0d,
0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x64, 0x62, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12,
0x32, 0x0a, 0x14, 0x6d, 0x69, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x52, 0x61, 0x74, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x14, 0x6d,
0x69, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52,
0x61, 0x74, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x43, 0x6f,
0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x73, 0x75,
0x70, 0x70, 0x6f, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x12, 0x22, 0x0a,
0x0c, 0x6d, 0x69, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x18, 0x10, 0x20,
0x01, 0x28, 0x01, 0x52, 0x0c, 0x6d, 0x69, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x61, 0x74, 0x69,
0x6f, 0x12, 0x22, 0x0a, 0x0c, 0x6d, 0x61, 0x78, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x61, 0x74, 0x69,
0x6f, 0x18, 0x11, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0c, 0x6d, 0x61, 0x78, 0x54, 0x69, 0x6d, 0x65,
0x52, 0x61, 0x74, 0x69, 0x6f, 0x12, 0x3a, 0x0a, 0x18, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x43, 0x72,
0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x66, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74,
0x73, 0x18, 0x12, 0x20, 0x01, 0x28, 0x03, 0x52, 0x18, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x43, 0x72,
0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x66, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74,
0x73, 0x12, 0x30, 0x0a, 0x13, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x41, 0x64, 0x61, 0x70, 0x74, 0x69,
0x76, 0x65, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x18, 0x13, 0x20, 0x01, 0x28, 0x03, 0x52, 0x13,
0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x41, 0x64, 0x61, 0x70, 0x74, 0x69, 0x76, 0x65, 0x45, 0x6e, 0x65,
0x72, 0x67, 0x79, 0x1a, 0xb9, 0x07, 0x0a, 0x0b, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x49,
0x6e, 0x66, 0x6f, 0x12, 0x20, 0x0a, 0x0b, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x43, 0x6f, 0x75,
0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64,
0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x30, 0x0a, 0x13, 0x64, 0x65, 0x61, 0x64, 0x4c, 0x6f, 0x63,
0x6b, 0x54, 0x68, 0x72, 0x65, 0x61, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01,
0x28, 0x05, 0x52, 0x13, 0x64, 0x65, 0x61, 0x64, 0x4c, 0x6f, 0x63, 0x6b, 0x54, 0x68, 0x72, 0x65,
0x61, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x70, 0x75, 0x43, 0x6f,
0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x63, 0x70, 0x75, 0x43, 0x6f,
0x75, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x4d, 0x65, 0x6d, 0x6f,
0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x4d,
0x65, 0x6d, 0x6f, 0x72, 0x79, 0x12, 0x1e, 0x0a, 0x0a, 0x66, 0x72, 0x65, 0x65, 0x4d, 0x65, 0x6d,
0x6f, 0x72, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x66, 0x72, 0x65, 0x65, 0x4d,
0x65, 0x6d, 0x6f, 0x72, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x70, 0x75, 0x52, 0x61, 0x74, 0x65,
0x18, 0x06, 0x20, 0x01, 0x28, 0x01, 0x52, 0x07, 0x63, 0x70, 0x75, 0x52, 0x61, 0x74, 0x65, 0x12,
0x20, 0x0a, 0x0b, 0x6a, 0x61, 0x76, 0x61, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x07,
0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6a, 0x61, 0x76, 0x61, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f,
0x6e, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28,
0x09, 0x52, 0x06, 0x6f, 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x6a, 0x76, 0x6d,
0x54, 0x6f, 0x74, 0x61, 0x6c, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28,
0x03, 0x52, 0x0e, 0x6a, 0x76, 0x6d, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x4d, 0x65, 0x6d, 0x6f, 0x72,
0x79, 0x12, 0x24, 0x0a, 0x0d, 0x6a, 0x76, 0x6d, 0x46, 0x72, 0x65, 0x65, 0x4d, 0x65, 0x6d, 0x6f,
0x72, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x6a, 0x76, 0x6d, 0x46, 0x72, 0x65,
0x65, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x12, 0x26, 0x0a, 0x0e, 0x70, 0x72, 0x6f, 0x63, 0x65,
0x73, 0x73, 0x43, 0x70, 0x75, 0x52, 0x61, 0x74, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x01, 0x52,
0x0e, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x43, 0x70, 0x75, 0x52, 0x61, 0x74, 0x65, 0x12,
0x5d, 0x0a, 0x12, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x44, 0x65, 0x73, 0x63, 0x49, 0x6e, 0x66,
0x6f, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e,
0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x4d, 0x65, 0x6d, 0x6f,
0x72, 0x79, 0x44, 0x65, 0x73, 0x63, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x12, 0x6d, 0x65, 0x6d, 0x6f,
0x72, 0x79, 0x44, 0x65, 0x73, 0x63, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x69,
0x0a, 0x16, 0x64, 0x65, 0x61, 0x64, 0x4c, 0x6f, 0x63, 0x6b, 0x54, 0x68, 0x72, 0x65, 0x61, 0x64,
0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e,
0x66, 0x6f, 0x2e, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x44,
0x65, 0x61, 0x64, 0x4c, 0x6f, 0x63, 0x6b, 0x54, 0x68, 0x72, 0x65, 0x61, 0x64, 0x49, 0x6e, 0x66,
0x6f, 0x52, 0x16, 0x64, 0x65, 0x61, 0x64, 0x4c, 0x6f, 0x63, 0x6b, 0x54, 0x68, 0x72, 0x65, 0x61,
0x64, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x1a, 0x8e, 0x01, 0x0a, 0x0e, 0x4d, 0x65,
0x6d, 0x6f, 0x72, 0x79, 0x44, 0x65, 0x73, 0x63, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x12, 0x0a, 0x04,
0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65,
0x12, 0x1a, 0x0a, 0x08, 0x69, 0x6e, 0x69, 0x74, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01,
0x28, 0x03, 0x52, 0x08, 0x69, 0x6e, 0x69, 0x74, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x18, 0x0a, 0x07,
0x75, 0x73, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x75,
0x73, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x61, 0x78, 0x53, 0x69, 0x7a,
0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x6d, 0x61, 0x78, 0x53, 0x69, 0x7a, 0x65,
0x12, 0x18, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x52, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28,
0x01, 0x52, 0x07, 0x75, 0x73, 0x65, 0x52, 0x61, 0x74, 0x65, 0x1a, 0xd2, 0x01, 0x0a, 0x12, 0x44,
0x65, 0x61, 0x64, 0x4c, 0x6f, 0x63, 0x6b, 0x54, 0x68, 0x72, 0x65, 0x61, 0x64, 0x49, 0x6e, 0x66,
0x6f, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x6b, 0x4e, 0x61, 0x6d,
0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x6b, 0x4e, 0x61, 0x6d,
0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6c, 0x6f, 0x63, 0x6b, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x03,
0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6c, 0x6f, 0x63, 0x6b, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x12,
0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05,
0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x69,
0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x54,
0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x61, 0x69, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18,
0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x77, 0x61, 0x69, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12,
0x1e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x63, 0x65, 0x18, 0x07, 0x20,
0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x63, 0x65, 0x22,
0xc0, 0x18, 0x0a, 0x0b, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x12,
0x1a, 0x0a, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28,
0x03, 0x52, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x32, 0x0a, 0x04, 0x6e,
0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x49, 0x6e, 0x66, 0x6f,
0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x12,
0x44, 0x0a, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x18, 0x03, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x4d,
0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b,
0x43, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b,
0x63, 0x68, 0x61, 0x69, 0x6e, 0x12, 0x2f, 0x0a, 0x03, 0x6e, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x4d, 0x65,
0x74, 0x72, 0x69, 0x63, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x4e, 0x65, 0x74, 0x49, 0x6e, 0x66,
0x6f, 0x52, 0x03, 0x6e, 0x65, 0x74, 0x1a, 0x74, 0x0a, 0x08, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e,
0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02,
0x69, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x6f, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02,
0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6e, 0x6f, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18,
0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x0c, 0x62, 0x61, 0x63, 0x6b,
0x75, 0x70, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c,
0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x1a, 0xee, 0x06, 0x0a,
0x0e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12,
0x22, 0x0a, 0x0c, 0x68, 0x65, 0x61, 0x64, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x4e, 0x75, 0x6d, 0x18,
0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x68, 0x65, 0x61, 0x64, 0x42, 0x6c, 0x6f, 0x63, 0x6b,
0x4e, 0x75, 0x6d, 0x12, 0x2e, 0x0a, 0x12, 0x68, 0x65, 0x61, 0x64, 0x42, 0x6c, 0x6f, 0x63, 0x6b,
0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52,
0x12, 0x68, 0x65, 0x61, 0x64, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74,
0x61, 0x6d, 0x70, 0x12, 0x24, 0x0a, 0x0d, 0x68, 0x65, 0x61, 0x64, 0x42, 0x6c, 0x6f, 0x63, 0x6b,
0x48, 0x61, 0x73, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x68, 0x65, 0x61, 0x64,
0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x12, 0x1c, 0x0a, 0x09, 0x66, 0x6f, 0x72,
0x6b, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x66, 0x6f,
0x72, 0x6b, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x66, 0x61, 0x69, 0x6c, 0x46,
0x6f, 0x72, 0x6b, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d,
0x66, 0x61, 0x69, 0x6c, 0x46, 0x6f, 0x72, 0x6b, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x4a, 0x0a,
0x10, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x54, 0x69, 0x6d,
0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63,
0x6f, 0x6c, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x52,
0x61, 0x74, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x10, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x50, 0x72,
0x6f, 0x63, 0x65, 0x73, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x30, 0x0a, 0x03, 0x74, 0x70, 0x73,
0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f,
0x6c, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x52, 0x61,
0x74, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x03, 0x74, 0x70, 0x73, 0x12, 0x32, 0x0a, 0x14, 0x74,
0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x61, 0x63, 0x68, 0x65, 0x53,
0x69, 0x7a, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x14, 0x74, 0x72, 0x61, 0x6e, 0x73,
0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x61, 0x63, 0x68, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12,
0x4c, 0x0a, 0x11, 0x6d, 0x69, 0x73, 0x73, 0x65, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63,
0x74, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x49, 0x6e, 0x66,
0x6f, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x11, 0x6d, 0x69, 0x73, 0x73,
0x65, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4a, 0x0a,
0x09, 0x77, 0x69, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x2c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x4d, 0x65, 0x74, 0x72,
0x69, 0x63, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x43, 0x68, 0x61,
0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x57, 0x69, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x52, 0x09,
0x77, 0x69, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x65, 0x73, 0x12, 0x30, 0x0a, 0x13, 0x66, 0x61, 0x69,
0x6c, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x4e, 0x75, 0x6d,
0x18, 0x0b, 0x20, 0x01, 0x28, 0x03, 0x52, 0x13, 0x66, 0x61, 0x69, 0x6c, 0x50, 0x72, 0x6f, 0x63,
0x65, 0x73, 0x73, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x4e, 0x75, 0x6d, 0x12, 0x36, 0x0a, 0x16, 0x66,
0x61, 0x69, 0x6c, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52,
0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x16, 0x66, 0x61, 0x69,
0x6c, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x61,
0x73, 0x6f, 0x6e, 0x12, 0x4f, 0x0a, 0x0a, 0x64, 0x75, 0x70, 0x57, 0x69, 0x74, 0x6e, 0x65, 0x73,
0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63,
0x6f, 0x6c, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x42,
0x6c, 0x6f, 0x63, 0x6b, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x44, 0x75,
0x70, 0x57, 0x69, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x52, 0x0a, 0x64, 0x75, 0x70, 0x57, 0x69, 0x74,
0x6e, 0x65, 0x73, 0x73, 0x1a, 0x3d, 0x0a, 0x07, 0x57, 0x69, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x12,
0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72,
0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73,
0x69, 0x6f, 0x6e, 0x1a, 0x58, 0x0a, 0x0a, 0x44, 0x75, 0x70, 0x57, 0x69, 0x74, 0x6e, 0x65, 0x73,
0x73, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01,
0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x62,
0x6c, 0x6f, 0x63, 0x6b, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x62,
0x6c, 0x6f, 0x63, 0x6b, 0x4e, 0x75, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74,
0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x1a, 0xb8, 0x01,
0x0a, 0x08, 0x52, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f,
0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74,
0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x61, 0x6e, 0x52, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01,
0x28, 0x01, 0x52, 0x08, 0x6d, 0x65, 0x61, 0x6e, 0x52, 0x61, 0x74, 0x65, 0x12, 0x24, 0x0a, 0x0d,
0x6f, 0x6e, 0x65, 0x4d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x52, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20,
0x01, 0x28, 0x01, 0x52, 0x0d, 0x6f, 0x6e, 0x65, 0x4d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x52, 0x61,
0x74, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x66, 0x69, 0x76, 0x65, 0x4d, 0x69, 0x6e, 0x75, 0x74, 0x65,
0x52, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0e, 0x66, 0x69, 0x76, 0x65,
0x4d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x52, 0x61, 0x74, 0x65, 0x12, 0x2c, 0x0a, 0x11, 0x66, 0x69,
0x66, 0x74, 0x65, 0x65, 0x6e, 0x4d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x52, 0x61, 0x74, 0x65, 0x18,
0x05, 0x20, 0x01, 0x28, 0x01, 0x52, 0x11, 0x66, 0x69, 0x66, 0x74, 0x65, 0x65, 0x6e, 0x4d, 0x69,
0x6e, 0x75, 0x74, 0x65, 0x52, 0x61, 0x74, 0x65, 0x1a, 0xc7, 0x0d, 0x0a, 0x07, 0x4e, 0x65, 0x74,
0x49, 0x6e, 0x66, 0x6f, 0x12, 0x28, 0x0a, 0x0f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x50, 0x72, 0x6f,
0x74, 0x6f, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x65,
0x72, 0x72, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x37,
0x0a, 0x03, 0x61, 0x70, 0x69, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x49, 0x6e,
0x66, 0x6f, 0x2e, 0x4e, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x70, 0x69, 0x49, 0x6e,
0x66, 0x6f, 0x52, 0x03, 0x61, 0x70, 0x69, 0x12, 0x28, 0x0a, 0x0f, 0x63, 0x6f, 0x6e, 0x6e, 0x65,
0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05,
0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e,
0x74, 0x12, 0x32, 0x0a, 0x14, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63,
0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52,
0x14, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e,
0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x42, 0x0a, 0x0c, 0x74, 0x63, 0x70, 0x49, 0x6e, 0x54, 0x72,
0x61, 0x66, 0x66, 0x69, 0x63, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x49, 0x6e,
0x66, 0x6f, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0c, 0x74, 0x63, 0x70,
0x49, 0x6e, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x12, 0x44, 0x0a, 0x0d, 0x74, 0x63, 0x70,
0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x4d, 0x65, 0x74, 0x72,
0x69, 0x63, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x66, 0x6f,
0x52, 0x0d, 0x74, 0x63, 0x70, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x12,
0x2e, 0x0a, 0x12, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e,
0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x12, 0x64, 0x69, 0x73,
0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12,
0x67, 0x0a, 0x13, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e,
0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x49,
0x6e, 0x66, 0x6f, 0x2e, 0x4e, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x44, 0x69, 0x73, 0x63,
0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49,
0x6e, 0x66, 0x6f, 0x52, 0x13, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69,
0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x42, 0x0a, 0x0c, 0x75, 0x64, 0x70, 0x49,
0x6e, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63,
0x73, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0c,
0x75, 0x64, 0x70, 0x49, 0x6e, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x12, 0x44, 0x0a, 0x0d,
0x75, 0x64, 0x70, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x18, 0x0a, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x4d,
0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x49,
0x6e, 0x66, 0x6f, 0x52, 0x0d, 0x75, 0x64, 0x70, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x66, 0x66,
0x69, 0x63, 0x12, 0x43, 0x0a, 0x07, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x0b, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x4d,
0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x4e, 0x65, 0x74, 0x49, 0x6e,
0x66, 0x6f, 0x2e, 0x4c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07,
0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x1a, 0xd4, 0x03, 0x0a, 0x07, 0x41, 0x70, 0x69, 0x49,
0x6e, 0x66, 0x6f, 0x12, 0x30, 0x0a, 0x03, 0x71, 0x70, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x4d, 0x65, 0x74, 0x72,
0x69, 0x63, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x66, 0x6f,
0x52, 0x03, 0x71, 0x70, 0x73, 0x12, 0x38, 0x0a, 0x07, 0x66, 0x61, 0x69, 0x6c, 0x51, 0x70, 0x73,
0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f,
0x6c, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x52, 0x61,
0x74, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x66, 0x61, 0x69, 0x6c, 0x51, 0x70, 0x73, 0x12,
0x3e, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x18, 0x03, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x4d,
0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x49,
0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x12,
0x4b, 0x0a, 0x06, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32,
0x33, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69,
0x63, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x4e, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x41,
0x70, 0x69, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x70, 0x69, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c,
0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x1a, 0xcf, 0x01, 0x0a,
0x0d, 0x41, 0x70, 0x69, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x12,
0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61,
0x6d, 0x65, 0x12, 0x30, 0x0a, 0x03, 0x71, 0x70, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69,
0x63, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52,
0x03, 0x71, 0x70, 0x73, 0x12, 0x38, 0x0a, 0x07, 0x66, 0x61, 0x69, 0x6c, 0x51, 0x70, 0x73, 0x18,
0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c,
0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x52, 0x61, 0x74,
0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x66, 0x61, 0x69, 0x6c, 0x51, 0x70, 0x73, 0x12, 0x3e,
0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x18, 0x04, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x4d, 0x65,
0x74, 0x72, 0x69, 0x63, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x49, 0x6e,
0x66, 0x6f, 0x52, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x1a, 0x47,
0x0a, 0x17, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44,
0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61,
0x73, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f,
0x6e, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05,
0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x1a, 0xe8, 0x03, 0x0a, 0x0b, 0x4c, 0x61, 0x74, 0x65,
0x6e, 0x63, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x70, 0x39, 0x39,
0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x74, 0x6f, 0x70, 0x39, 0x39, 0x12, 0x14, 0x0a,
0x05, 0x74, 0x6f, 0x70, 0x39, 0x35, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x74, 0x6f,
0x70, 0x39, 0x35, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x70, 0x37, 0x35, 0x18, 0x03, 0x20, 0x01,
0x28, 0x05, 0x52, 0x05, 0x74, 0x6f, 0x70, 0x37, 0x35, 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x6f, 0x74,
0x61, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x74,
0x6f, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x65, 0x6c,
0x61, 0x79, 0x31, 0x53, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x64, 0x65, 0x6c, 0x61,
0x79, 0x31, 0x53, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x32, 0x53, 0x18, 0x06,
0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x32, 0x53, 0x12, 0x18, 0x0a,
0x07, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x33, 0x53, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07,
0x64, 0x65, 0x6c, 0x61, 0x79, 0x33, 0x53, 0x12, 0x53, 0x0a, 0x06, 0x64, 0x65, 0x74, 0x61, 0x69,
0x6c, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63,
0x6f, 0x6c, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x4e,
0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x4c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x49, 0x6e,
0x66, 0x6f, 0x2e, 0x4c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c,
0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x1a, 0xd3, 0x01, 0x0a,
0x11, 0x4c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e,
0x66, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x77, 0x69, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20,
0x01, 0x28, 0x09, 0x52, 0x07, 0x77, 0x69, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x12, 0x14, 0x0a, 0x05,
0x74, 0x6f, 0x70, 0x39, 0x39, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x74, 0x6f, 0x70,
0x39, 0x39, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x70, 0x39, 0x35, 0x18, 0x03, 0x20, 0x01, 0x28,
0x05, 0x52, 0x05, 0x74, 0x6f, 0x70, 0x39, 0x35, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x70, 0x37,
0x35, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x74, 0x6f, 0x70, 0x37, 0x35, 0x12, 0x14,
0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x63,
0x6f, 0x75, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x31, 0x53, 0x18,
0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x31, 0x53, 0x12, 0x18,
0x0a, 0x07, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x32, 0x53, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52,
0x07, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x32, 0x53, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x65, 0x6c, 0x61,
0x79, 0x33, 0x53, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x64, 0x65, 0x6c, 0x61, 0x79,
0x33, 0x53, 0x22, 0x93, 0x03, 0x0a, 0x0b, 0x50, 0x42, 0x46, 0x54, 0x4d, 0x65, 0x73, 0x73, 0x61,
0x67, 0x65, 0x12, 0x34, 0x0a, 0x08, 0x72, 0x61, 0x77, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e,
0x50, 0x42, 0x46, 0x54, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x52, 0x61, 0x77, 0x52,
0x07, 0x72, 0x61, 0x77, 0x44, 0x61, 0x74, 0x61, 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, 0x1a, 0xbd, 0x01, 0x0a, 0x03, 0x52, 0x61, 0x77, 0x12, 0x38,
0x0a, 0x08, 0x6d, 0x73, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e,
0x32, 0x1d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x50, 0x42, 0x46, 0x54,
0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x4d, 0x73, 0x67, 0x54, 0x79, 0x70, 0x65, 0x52,
0x07, 0x6d, 0x73, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x3b, 0x0a, 0x09, 0x64, 0x61, 0x74, 0x61,
0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x50, 0x42, 0x46, 0x54, 0x4d, 0x65, 0x73, 0x73, 0x61,
0x67, 0x65, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x64, 0x61, 0x74,
0x61, 0x54, 0x79, 0x70, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x76, 0x69, 0x65, 0x77, 0x5f, 0x6e, 0x18,
0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x69, 0x65, 0x77, 0x4e, 0x12, 0x14, 0x0a, 0x05,
0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x65, 0x70, 0x6f,
0x63, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c,
0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x50, 0x0a, 0x07, 0x4d, 0x73, 0x67, 0x54, 0x79, 0x70,
0x65, 0x12, 0x0f, 0x0a, 0x0b, 0x56, 0x49, 0x45, 0x57, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45,
0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x10, 0x01, 0x12,
0x0e, 0x0a, 0x0a, 0x50, 0x52, 0x45, 0x50, 0x52, 0x45, 0x50, 0x41, 0x52, 0x45, 0x10, 0x02, 0x12,
0x0b, 0x0a, 0x07, 0x50, 0x52, 0x45, 0x50, 0x41, 0x52, 0x45, 0x10, 0x03, 0x12, 0x0a, 0x0a, 0x06,
0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x10, 0x04, 0x22, 0x1e, 0x0a, 0x08, 0x44, 0x61, 0x74, 0x61,
0x54, 0x79, 0x70, 0x65, 0x12, 0x09, 0x0a, 0x05, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x10, 0x00, 0x12,
0x07, 0x0a, 0x03, 0x53, 0x52, 0x4c, 0x10, 0x01, 0x22, 0x44, 0x0a, 0x10, 0x50, 0x42, 0x46, 0x54,
0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x12, 0x0a, 0x04,
0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61,
0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20,
0x03, 0x28, 0x0c, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0x23,
0x0a, 0x03, 0x53, 0x52, 0x4c, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65,
0x73, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x09, 0x73, 0x72, 0x41, 0x64, 0x64, 0x72,
0x65, 0x73, 0x73, 0x2a, 0x37, 0x0a, 0x0b, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x79,
0x70, 0x65, 0x12, 0x0a, 0x0a, 0x06, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x10, 0x00, 0x12, 0x0e,
0x0a, 0x0a, 0x41, 0x73, 0x73, 0x65, 0x74, 0x49, 0x73, 0x73, 0x75, 0x65, 0x10, 0x01, 0x12, 0x0c,
0x0a, 0x08, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x10, 0x02, 0x2a, 0x9f, 0x04, 0x0a,
0x0a, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x0d, 0x0a, 0x09, 0x52,
0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x45, 0x44, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x42, 0x41,
0x44, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x10, 0x02, 0x12, 0x12, 0x0a, 0x0e,
0x54, 0x4f, 0x4f, 0x5f, 0x4d, 0x41, 0x4e, 0x59, 0x5f, 0x50, 0x45, 0x45, 0x52, 0x53, 0x10, 0x04,
0x12, 0x12, 0x0a, 0x0e, 0x44, 0x55, 0x50, 0x4c, 0x49, 0x43, 0x41, 0x54, 0x45, 0x5f, 0x50, 0x45,
0x45, 0x52, 0x10, 0x05, 0x12, 0x19, 0x0a, 0x15, 0x49, 0x4e, 0x43, 0x4f, 0x4d, 0x50, 0x41, 0x54,
0x49, 0x42, 0x4c, 0x45, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x10, 0x06, 0x12,
0x16, 0x0a, 0x12, 0x52, 0x41, 0x4e, 0x44, 0x4f, 0x4d, 0x5f, 0x45, 0x4c, 0x49, 0x4d, 0x49, 0x4e,
0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x07, 0x12, 0x10, 0x0a, 0x0c, 0x50, 0x45, 0x45, 0x52, 0x5f,
0x51, 0x55, 0x49, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x08, 0x12, 0x17, 0x0a, 0x13, 0x55, 0x4e, 0x45,
0x58, 0x50, 0x45, 0x43, 0x54, 0x45, 0x44, 0x5f, 0x49, 0x44, 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59,
0x10, 0x09, 0x12, 0x12, 0x0a, 0x0e, 0x4c, 0x4f, 0x43, 0x41, 0x4c, 0x5f, 0x49, 0x44, 0x45, 0x4e,
0x54, 0x49, 0x54, 0x59, 0x10, 0x0a, 0x12, 0x10, 0x0a, 0x0c, 0x50, 0x49, 0x4e, 0x47, 0x5f, 0x54,
0x49, 0x4d, 0x45, 0x4f, 0x55, 0x54, 0x10, 0x0b, 0x12, 0x0f, 0x0a, 0x0b, 0x55, 0x53, 0x45, 0x52,
0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x10, 0x10, 0x12, 0x09, 0x0a, 0x05, 0x52, 0x45, 0x53,
0x45, 0x54, 0x10, 0x11, 0x12, 0x0d, 0x0a, 0x09, 0x53, 0x59, 0x4e, 0x43, 0x5f, 0x46, 0x41, 0x49,
0x4c, 0x10, 0x12, 0x12, 0x0e, 0x0a, 0x0a, 0x46, 0x45, 0x54, 0x43, 0x48, 0x5f, 0x46, 0x41, 0x49,
0x4c, 0x10, 0x13, 0x12, 0x0a, 0x0a, 0x06, 0x42, 0x41, 0x44, 0x5f, 0x54, 0x58, 0x10, 0x14, 0x12,
0x0d, 0x0a, 0x09, 0x42, 0x41, 0x44, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x10, 0x15, 0x12, 0x0a,
0x0a, 0x06, 0x46, 0x4f, 0x52, 0x4b, 0x45, 0x44, 0x10, 0x16, 0x12, 0x0e, 0x0a, 0x0a, 0x55, 0x4e,
0x4c, 0x49, 0x4e, 0x4b, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x17, 0x12, 0x18, 0x0a, 0x14, 0x49, 0x4e,
0x43, 0x4f, 0x4d, 0x50, 0x41, 0x54, 0x49, 0x42, 0x4c, 0x45, 0x5f, 0x56, 0x45, 0x52, 0x53, 0x49,
0x4f, 0x4e, 0x10, 0x18, 0x12, 0x16, 0x0a, 0x12, 0x49, 0x4e, 0x43, 0x4f, 0x4d, 0x50, 0x41, 0x54,
0x49, 0x42, 0x4c, 0x45, 0x5f, 0x43, 0x48, 0x41, 0x49, 0x4e, 0x10, 0x19, 0x12, 0x0c, 0x0a, 0x08,
0x54, 0x49, 0x4d, 0x45, 0x5f, 0x4f, 0x55, 0x54, 0x10, 0x20, 0x12, 0x10, 0x0a, 0x0c, 0x43, 0x4f,
0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x10, 0x21, 0x12, 0x1f, 0x0a, 0x1b,
0x54, 0x4f, 0x4f, 0x5f, 0x4d, 0x41, 0x4e, 0x59, 0x5f, 0x50, 0x45, 0x45, 0x52, 0x53, 0x5f, 0x57,
0x49, 0x54, 0x48, 0x5f, 0x53, 0x41, 0x4d, 0x45, 0x5f, 0x49, 0x50, 0x10, 0x22, 0x12, 0x18, 0x0a,
0x14, 0x4c, 0x49, 0x47, 0x48, 0x54, 0x5f, 0x4e, 0x4f, 0x44, 0x45, 0x5f, 0x53, 0x59, 0x4e, 0x43,
0x5f, 0x46, 0x41, 0x49, 0x4c, 0x10, 0x23, 0x12, 0x11, 0x0a, 0x0d, 0x42, 0x45, 0x4c, 0x4f, 0x57,
0x5f, 0x54, 0x48, 0x41, 0x4e, 0x5f, 0x4d, 0x45, 0x10, 0x24, 0x12, 0x0f, 0x0a, 0x0b, 0x4e, 0x4f,
0x54, 0x5f, 0x57, 0x49, 0x54, 0x4e, 0x45, 0x53, 0x53, 0x10, 0x25, 0x12, 0x13, 0x0a, 0x0f, 0x4e,
0x4f, 0x5f, 0x53, 0x55, 0x43, 0x48, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x10, 0x26,
0x12, 0x0c, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0xff, 0x01, 0x42, 0x46,
0x0a, 0x0f, 0x6f, 0x72, 0x67, 0x2e, 0x74, 0x72, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x73, 0x42, 0x08, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5a, 0x29, 0x67, 0x69, 0x74,
0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x74, 0x72, 0x6f, 0x6e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x63, 0x6f, 0x6c, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x2d, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61,
0x79, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
file_core_Tron_proto_rawDescOnce sync.Once
file_core_Tron_proto_rawDescData = file_core_Tron_proto_rawDesc
)
func file_core_Tron_proto_rawDescGZIP() []byte {
file_core_Tron_proto_rawDescOnce.Do(func() {
file_core_Tron_proto_rawDescData = protoimpl.X.CompressGZIP(file_core_Tron_proto_rawDescData)
})
return file_core_Tron_proto_rawDescData
}
var file_core_Tron_proto_enumTypes = make([]protoimpl.EnumInfo, 14)
var file_core_Tron_proto_msgTypes = make([]protoimpl.MessageInfo, 87)
var file_core_Tron_proto_goTypes = []any{
(AccountType)(0), // 0: protocol.AccountType
(ReasonCode)(0), // 1: protocol.ReasonCode
(Proposal_State)(0), // 2: protocol.Proposal.State
(MarketOrder_State)(0), // 3: protocol.MarketOrder.State
(Permission_PermissionType)(0), // 4: protocol.Permission.PermissionType
(Transaction_Contract_ContractType)(0), // 5: protocol.Transaction.Contract.ContractType
(Transaction_ResultCode)(0), // 6: protocol.Transaction.Result.code
(Transaction_ResultContractResult)(0), // 7: protocol.Transaction.Result.contractResult
(TransactionInfoCode)(0), // 8: protocol.TransactionInfo.code
(BlockInventory_Type)(0), // 9: protocol.BlockInventory.Type
(Inventory_InventoryType)(0), // 10: protocol.Inventory.InventoryType
(Items_ItemType)(0), // 11: protocol.Items.ItemType
(PBFTMessage_MsgType)(0), // 12: protocol.PBFTMessage.MsgType
(PBFTMessage_DataType)(0), // 13: protocol.PBFTMessage.DataType
(*AccountId)(nil), // 14: protocol.AccountId
(*Vote)(nil), // 15: protocol.Vote
(*Proposal)(nil), // 16: protocol.Proposal
(*Exchange)(nil), // 17: protocol.Exchange
(*MarketOrder)(nil), // 18: protocol.MarketOrder
(*MarketOrderList)(nil), // 19: protocol.MarketOrderList
(*MarketOrderPairList)(nil), // 20: protocol.MarketOrderPairList
(*MarketOrderPair)(nil), // 21: protocol.MarketOrderPair
(*MarketAccountOrder)(nil), // 22: protocol.MarketAccountOrder
(*MarketPrice)(nil), // 23: protocol.MarketPrice
(*MarketPriceList)(nil), // 24: protocol.MarketPriceList
(*MarketOrderIdList)(nil), // 25: protocol.MarketOrderIdList
(*ChainParameters)(nil), // 26: protocol.ChainParameters
(*Account)(nil), // 27: protocol.Account
(*Key)(nil), // 28: protocol.Key
(*DelegatedResource)(nil), // 29: protocol.DelegatedResource
(*Authority)(nil), // 30: protocol.authority
(*Permission)(nil), // 31: protocol.Permission
(*Witness)(nil), // 32: protocol.Witness
(*Votes)(nil), // 33: protocol.Votes
(*TXOutput)(nil), // 34: protocol.TXOutput
(*TXInput)(nil), // 35: protocol.TXInput
(*TXOutputs)(nil), // 36: protocol.TXOutputs
(*ResourceReceipt)(nil), // 37: protocol.ResourceReceipt
(*MarketOrderDetail)(nil), // 38: protocol.MarketOrderDetail
(*Transaction)(nil), // 39: protocol.Transaction
(*TransactionInfo)(nil), // 40: protocol.TransactionInfo
(*TransactionRet)(nil), // 41: protocol.TransactionRet
(*Transactions)(nil), // 42: protocol.Transactions
(*BlockHeader)(nil), // 43: protocol.BlockHeader
(*Block)(nil), // 44: protocol.Block
(*ChainInventory)(nil), // 45: protocol.ChainInventory
(*BlockInventory)(nil), // 46: protocol.BlockInventory
(*Inventory)(nil), // 47: protocol.Inventory
(*Items)(nil), // 48: protocol.Items
(*DynamicProperties)(nil), // 49: protocol.DynamicProperties
(*DisconnectMessage)(nil), // 50: protocol.DisconnectMessage
(*HelloMessage)(nil), // 51: protocol.HelloMessage
(*InternalTransaction)(nil), // 52: protocol.InternalTransaction
(*DelegatedResourceAccountIndex)(nil), // 53: protocol.DelegatedResourceAccountIndex
(*NodeInfo)(nil), // 54: protocol.NodeInfo
(*MetricsInfo)(nil), // 55: protocol.MetricsInfo
(*PBFTMessage)(nil), // 56: protocol.PBFTMessage
(*PBFTCommitResult)(nil), // 57: protocol.PBFTCommitResult
(*SRL)(nil), // 58: protocol.SRL
nil, // 59: protocol.Proposal.ParametersEntry
(*ChainParameters_ChainParameter)(nil), // 60: protocol.ChainParameters.ChainParameter
(*Account_Frozen)(nil), // 61: protocol.Account.Frozen
nil, // 62: protocol.Account.AssetEntry
nil, // 63: protocol.Account.AssetV2Entry
nil, // 64: protocol.Account.LatestAssetOperationTimeEntry
nil, // 65: protocol.Account.LatestAssetOperationTimeV2Entry
nil, // 66: protocol.Account.FreeAssetNetUsageEntry
nil, // 67: protocol.Account.FreeAssetNetUsageV2Entry
(*Account_AccountResource)(nil), // 68: protocol.Account.AccountResource
(*Account_FreezeV2)(nil), // 69: protocol.Account.FreezeV2
(*Account_UnFreezeV2)(nil), // 70: protocol.Account.UnFreezeV2
(*TXInputRaw)(nil), // 71: protocol.TXInput.raw
(*Transaction_Contract)(nil), // 72: protocol.Transaction.Contract
(*Transaction_Result)(nil), // 73: protocol.Transaction.Result
(*TransactionRaw)(nil), // 74: protocol.Transaction.raw
nil, // 75: protocol.Transaction.Result.CancelUnfreezeV2AmountEntry
(*TransactionInfo_Log)(nil), // 76: protocol.TransactionInfo.Log
nil, // 77: protocol.TransactionInfo.CancelUnfreezeV2AmountEntry
(*BlockHeaderRaw)(nil), // 78: protocol.BlockHeader.raw
(*ChainInventory_BlockId)(nil), // 79: protocol.ChainInventory.BlockId
(*BlockInventory_BlockId)(nil), // 80: protocol.BlockInventory.BlockId
(*HelloMessage_BlockId)(nil), // 81: protocol.HelloMessage.BlockId
(*InternalTransaction_CallValueInfo)(nil), // 82: protocol.InternalTransaction.CallValueInfo
nil, // 83: protocol.NodeInfo.CheatWitnessInfoMapEntry
(*NodeInfo_PeerInfo)(nil), // 84: protocol.NodeInfo.PeerInfo
(*NodeInfo_ConfigNodeInfo)(nil), // 85: protocol.NodeInfo.ConfigNodeInfo
(*NodeInfo_MachineInfo)(nil), // 86: protocol.NodeInfo.MachineInfo
(*NodeInfo_MachineInfo_MemoryDescInfo)(nil), // 87: protocol.NodeInfo.MachineInfo.MemoryDescInfo
(*NodeInfo_MachineInfo_DeadLockThreadInfo)(nil), // 88: protocol.NodeInfo.MachineInfo.DeadLockThreadInfo
(*MetricsInfo_NodeInfo)(nil), // 89: protocol.MetricsInfo.NodeInfo
(*MetricsInfo_BlockChainInfo)(nil), // 90: protocol.MetricsInfo.BlockChainInfo
(*MetricsInfo_RateInfo)(nil), // 91: protocol.MetricsInfo.RateInfo
(*MetricsInfo_NetInfo)(nil), // 92: protocol.MetricsInfo.NetInfo
(*MetricsInfo_BlockChainInfo_Witness)(nil), // 93: protocol.MetricsInfo.BlockChainInfo.Witness
(*MetricsInfo_BlockChainInfo_DupWitness)(nil), // 94: protocol.MetricsInfo.BlockChainInfo.DupWitness
(*MetricsInfo_NetInfo_ApiInfo)(nil), // 95: protocol.MetricsInfo.NetInfo.ApiInfo
(*MetricsInfo_NetInfo_DisconnectionDetailInfo)(nil), // 96: protocol.MetricsInfo.NetInfo.DisconnectionDetailInfo
(*MetricsInfo_NetInfo_LatencyInfo)(nil), // 97: protocol.MetricsInfo.NetInfo.LatencyInfo
(*MetricsInfo_NetInfo_ApiInfo_ApiDetailInfo)(nil), // 98: protocol.MetricsInfo.NetInfo.ApiInfo.ApiDetailInfo
(*MetricsInfo_NetInfo_LatencyInfo_LatencyDetailInfo)(nil), // 99: protocol.MetricsInfo.NetInfo.LatencyInfo.LatencyDetailInfo
(*PBFTMessage_Raw)(nil), // 100: protocol.PBFTMessage.Raw
(*Endpoint)(nil), // 101: protocol.Endpoint
(ResourceCode)(0), // 102: protocol.ResourceCode
(*anypb.Any)(nil), // 103: google.protobuf.Any
}
var file_core_Tron_proto_depIdxs = []int32{
59, // 0: protocol.Proposal.parameters:type_name -> protocol.Proposal.ParametersEntry
2, // 1: protocol.Proposal.state:type_name -> protocol.Proposal.State
3, // 2: protocol.MarketOrder.state:type_name -> protocol.MarketOrder.State
18, // 3: protocol.MarketOrderList.orders:type_name -> protocol.MarketOrder
21, // 4: protocol.MarketOrderPairList.orderPair:type_name -> protocol.MarketOrderPair
23, // 5: protocol.MarketPriceList.prices:type_name -> protocol.MarketPrice
60, // 6: protocol.ChainParameters.chainParameter:type_name -> protocol.ChainParameters.ChainParameter
0, // 7: protocol.Account.type:type_name -> protocol.AccountType
15, // 8: protocol.Account.votes:type_name -> protocol.Vote
62, // 9: protocol.Account.asset:type_name -> protocol.Account.AssetEntry
63, // 10: protocol.Account.assetV2:type_name -> protocol.Account.AssetV2Entry
61, // 11: protocol.Account.frozen:type_name -> protocol.Account.Frozen
61, // 12: protocol.Account.tron_power:type_name -> protocol.Account.Frozen
61, // 13: protocol.Account.frozen_supply:type_name -> protocol.Account.Frozen
64, // 14: protocol.Account.latest_asset_operation_time:type_name -> protocol.Account.LatestAssetOperationTimeEntry
65, // 15: protocol.Account.latest_asset_operation_timeV2:type_name -> protocol.Account.LatestAssetOperationTimeV2Entry
66, // 16: protocol.Account.free_asset_net_usage:type_name -> protocol.Account.FreeAssetNetUsageEntry
67, // 17: protocol.Account.free_asset_net_usageV2:type_name -> protocol.Account.FreeAssetNetUsageV2Entry
68, // 18: protocol.Account.account_resource:type_name -> protocol.Account.AccountResource
31, // 19: protocol.Account.owner_permission:type_name -> protocol.Permission
31, // 20: protocol.Account.witness_permission:type_name -> protocol.Permission
31, // 21: protocol.Account.active_permission:type_name -> protocol.Permission
69, // 22: protocol.Account.frozenV2:type_name -> protocol.Account.FreezeV2
70, // 23: protocol.Account.unfrozenV2:type_name -> protocol.Account.UnFreezeV2
14, // 24: protocol.authority.account:type_name -> protocol.AccountId
4, // 25: protocol.Permission.type:type_name -> protocol.Permission.PermissionType
28, // 26: protocol.Permission.keys:type_name -> protocol.Key
15, // 27: protocol.Votes.old_votes:type_name -> protocol.Vote
15, // 28: protocol.Votes.new_votes:type_name -> protocol.Vote
71, // 29: protocol.TXInput.raw_data:type_name -> protocol.TXInput.raw
34, // 30: protocol.TXOutputs.outputs:type_name -> protocol.TXOutput
7, // 31: protocol.ResourceReceipt.result:type_name -> protocol.Transaction.Result.contractResult
74, // 32: protocol.Transaction.raw_data:type_name -> protocol.Transaction.raw
73, // 33: protocol.Transaction.ret:type_name -> protocol.Transaction.Result
37, // 34: protocol.TransactionInfo.receipt:type_name -> protocol.ResourceReceipt
76, // 35: protocol.TransactionInfo.log:type_name -> protocol.TransactionInfo.Log
8, // 36: protocol.TransactionInfo.result:type_name -> protocol.TransactionInfo.code
52, // 37: protocol.TransactionInfo.internal_transactions:type_name -> protocol.InternalTransaction
38, // 38: protocol.TransactionInfo.orderDetails:type_name -> protocol.MarketOrderDetail
77, // 39: protocol.TransactionInfo.cancel_unfreezeV2_amount:type_name -> protocol.TransactionInfo.CancelUnfreezeV2AmountEntry
40, // 40: protocol.TransactionRet.transactioninfo:type_name -> protocol.TransactionInfo
39, // 41: protocol.Transactions.transactions:type_name -> protocol.Transaction
78, // 42: protocol.BlockHeader.raw_data:type_name -> protocol.BlockHeader.raw
39, // 43: protocol.Block.transactions:type_name -> protocol.Transaction
43, // 44: protocol.Block.block_header:type_name -> protocol.BlockHeader
79, // 45: protocol.ChainInventory.ids:type_name -> protocol.ChainInventory.BlockId
80, // 46: protocol.BlockInventory.ids:type_name -> protocol.BlockInventory.BlockId
9, // 47: protocol.BlockInventory.type:type_name -> protocol.BlockInventory.Type
10, // 48: protocol.Inventory.type:type_name -> protocol.Inventory.InventoryType
11, // 49: protocol.Items.type:type_name -> protocol.Items.ItemType
44, // 50: protocol.Items.blocks:type_name -> protocol.Block
43, // 51: protocol.Items.block_headers:type_name -> protocol.BlockHeader
39, // 52: protocol.Items.transactions:type_name -> protocol.Transaction
1, // 53: protocol.DisconnectMessage.reason:type_name -> protocol.ReasonCode
101, // 54: protocol.HelloMessage.from:type_name -> protocol.Endpoint
81, // 55: protocol.HelloMessage.genesisBlockId:type_name -> protocol.HelloMessage.BlockId
81, // 56: protocol.HelloMessage.solidBlockId:type_name -> protocol.HelloMessage.BlockId
81, // 57: protocol.HelloMessage.headBlockId:type_name -> protocol.HelloMessage.BlockId
82, // 58: protocol.InternalTransaction.callValueInfo:type_name -> protocol.InternalTransaction.CallValueInfo
84, // 59: protocol.NodeInfo.peerInfoList:type_name -> protocol.NodeInfo.PeerInfo
85, // 60: protocol.NodeInfo.configNodeInfo:type_name -> protocol.NodeInfo.ConfigNodeInfo
86, // 61: protocol.NodeInfo.machineInfo:type_name -> protocol.NodeInfo.MachineInfo
83, // 62: protocol.NodeInfo.cheatWitnessInfoMap:type_name -> protocol.NodeInfo.CheatWitnessInfoMapEntry
89, // 63: protocol.MetricsInfo.node:type_name -> protocol.MetricsInfo.NodeInfo
90, // 64: protocol.MetricsInfo.blockchain:type_name -> protocol.MetricsInfo.BlockChainInfo
92, // 65: protocol.MetricsInfo.net:type_name -> protocol.MetricsInfo.NetInfo
100, // 66: protocol.PBFTMessage.raw_data:type_name -> protocol.PBFTMessage.Raw
61, // 67: protocol.Account.AccountResource.frozen_balance_for_energy:type_name -> protocol.Account.Frozen
102, // 68: protocol.Account.FreezeV2.type:type_name -> protocol.ResourceCode
102, // 69: protocol.Account.UnFreezeV2.type:type_name -> protocol.ResourceCode
5, // 70: protocol.Transaction.Contract.type:type_name -> protocol.Transaction.Contract.ContractType
103, // 71: protocol.Transaction.Contract.parameter:type_name -> google.protobuf.Any
6, // 72: protocol.Transaction.Result.ret:type_name -> protocol.Transaction.Result.code
7, // 73: protocol.Transaction.Result.contractRet:type_name -> protocol.Transaction.Result.contractResult
38, // 74: protocol.Transaction.Result.orderDetails:type_name -> protocol.MarketOrderDetail
75, // 75: protocol.Transaction.Result.cancel_unfreezeV2_amount:type_name -> protocol.Transaction.Result.CancelUnfreezeV2AmountEntry
30, // 76: protocol.Transaction.raw.auths:type_name -> protocol.authority
72, // 77: protocol.Transaction.raw.contract:type_name -> protocol.Transaction.Contract
87, // 78: protocol.NodeInfo.MachineInfo.memoryDescInfoList:type_name -> protocol.NodeInfo.MachineInfo.MemoryDescInfo
88, // 79: protocol.NodeInfo.MachineInfo.deadLockThreadInfoList:type_name -> protocol.NodeInfo.MachineInfo.DeadLockThreadInfo
91, // 80: protocol.MetricsInfo.BlockChainInfo.blockProcessTime:type_name -> protocol.MetricsInfo.RateInfo
91, // 81: protocol.MetricsInfo.BlockChainInfo.tps:type_name -> protocol.MetricsInfo.RateInfo
91, // 82: protocol.MetricsInfo.BlockChainInfo.missedTransaction:type_name -> protocol.MetricsInfo.RateInfo
93, // 83: protocol.MetricsInfo.BlockChainInfo.witnesses:type_name -> protocol.MetricsInfo.BlockChainInfo.Witness
94, // 84: protocol.MetricsInfo.BlockChainInfo.dupWitness:type_name -> protocol.MetricsInfo.BlockChainInfo.DupWitness
95, // 85: protocol.MetricsInfo.NetInfo.api:type_name -> protocol.MetricsInfo.NetInfo.ApiInfo
91, // 86: protocol.MetricsInfo.NetInfo.tcpInTraffic:type_name -> protocol.MetricsInfo.RateInfo
91, // 87: protocol.MetricsInfo.NetInfo.tcpOutTraffic:type_name -> protocol.MetricsInfo.RateInfo
96, // 88: protocol.MetricsInfo.NetInfo.disconnectionDetail:type_name -> protocol.MetricsInfo.NetInfo.DisconnectionDetailInfo
91, // 89: protocol.MetricsInfo.NetInfo.udpInTraffic:type_name -> protocol.MetricsInfo.RateInfo
91, // 90: protocol.MetricsInfo.NetInfo.udpOutTraffic:type_name -> protocol.MetricsInfo.RateInfo
97, // 91: protocol.MetricsInfo.NetInfo.latency:type_name -> protocol.MetricsInfo.NetInfo.LatencyInfo
91, // 92: protocol.MetricsInfo.NetInfo.ApiInfo.qps:type_name -> protocol.MetricsInfo.RateInfo
91, // 93: protocol.MetricsInfo.NetInfo.ApiInfo.failQps:type_name -> protocol.MetricsInfo.RateInfo
91, // 94: protocol.MetricsInfo.NetInfo.ApiInfo.outTraffic:type_name -> protocol.MetricsInfo.RateInfo
98, // 95: protocol.MetricsInfo.NetInfo.ApiInfo.detail:type_name -> protocol.MetricsInfo.NetInfo.ApiInfo.ApiDetailInfo
99, // 96: protocol.MetricsInfo.NetInfo.LatencyInfo.detail:type_name -> protocol.MetricsInfo.NetInfo.LatencyInfo.LatencyDetailInfo
91, // 97: protocol.MetricsInfo.NetInfo.ApiInfo.ApiDetailInfo.qps:type_name -> protocol.MetricsInfo.RateInfo
91, // 98: protocol.MetricsInfo.NetInfo.ApiInfo.ApiDetailInfo.failQps:type_name -> protocol.MetricsInfo.RateInfo
91, // 99: protocol.MetricsInfo.NetInfo.ApiInfo.ApiDetailInfo.outTraffic:type_name -> protocol.MetricsInfo.RateInfo
12, // 100: protocol.PBFTMessage.Raw.msg_type:type_name -> protocol.PBFTMessage.MsgType
13, // 101: protocol.PBFTMessage.Raw.data_type:type_name -> protocol.PBFTMessage.DataType
102, // [102:102] is the sub-list for method output_type
102, // [102:102] is the sub-list for method input_type
102, // [102:102] is the sub-list for extension type_name
102, // [102:102] is the sub-list for extension extendee
0, // [0:102] is the sub-list for field type_name
}
func init() { file_core_Tron_proto_init() }
func file_core_Tron_proto_init() {
if File_core_Tron_proto != nil {
return
}
file_core_Discover_proto_init()
file_core_contract_common_proto_init()
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_core_Tron_proto_rawDesc,
NumEnums: 14,
NumMessages: 87,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_core_Tron_proto_goTypes,
DependencyIndexes: file_core_Tron_proto_depIdxs,
EnumInfos: file_core_Tron_proto_enumTypes,
MessageInfos: file_core_Tron_proto_msgTypes,
}.Build()
File_core_Tron_proto = out.File
file_core_Tron_proto_rawDesc = nil
file_core_Tron_proto_goTypes = nil
file_core_Tron_proto_depIdxs = nil
}