Files
gocryptotrader/backtester/btrpc/btrpc.pb.go
dependabot[bot] 044f2cd204 build(deps): Bump google.golang.org/protobuf from 1.32.0 to 1.33.0 and update GitHub proto-checks action (#1499)
* build(deps): Bump google.golang.org/protobuf from 1.32.0 to 1.33.0

Bumps google.golang.org/protobuf from 1.32.0 to 1.33.0.

---
updated-dependencies:
- dependency-name: google.golang.org/protobuf
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* proto-lint: Update build deps

* buf: Run buf generate

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Adrian Gallagher <adrian.gallagher@thrasher.io>
2024-03-15 16:37:42 +11:00

3886 lines
138 KiB
Go

// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.33.0
// protoc (unknown)
// source: btrpc.proto
package btrpc
import (
_ "google.golang.org/genproto/googleapis/api/annotations"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
timestamppb "google.golang.org/protobuf/types/known/timestamppb"
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)
)
// struct definitions
type StrategySettings struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
UseSimultaneousSignalProcessing bool `protobuf:"varint,2,opt,name=use_simultaneous_signal_processing,json=useSimultaneousSignalProcessing,proto3" json:"use_simultaneous_signal_processing,omitempty"`
DisableUsdTracking bool `protobuf:"varint,3,opt,name=disable_usd_tracking,json=disableUsdTracking,proto3" json:"disable_usd_tracking,omitempty"`
CustomSettings []*CustomSettings `protobuf:"bytes,4,rep,name=custom_settings,json=customSettings,proto3" json:"custom_settings,omitempty"`
}
func (x *StrategySettings) Reset() {
*x = StrategySettings{}
if protoimpl.UnsafeEnabled {
mi := &file_btrpc_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *StrategySettings) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*StrategySettings) ProtoMessage() {}
func (x *StrategySettings) ProtoReflect() protoreflect.Message {
mi := &file_btrpc_proto_msgTypes[0]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use StrategySettings.ProtoReflect.Descriptor instead.
func (*StrategySettings) Descriptor() ([]byte, []int) {
return file_btrpc_proto_rawDescGZIP(), []int{0}
}
func (x *StrategySettings) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *StrategySettings) GetUseSimultaneousSignalProcessing() bool {
if x != nil {
return x.UseSimultaneousSignalProcessing
}
return false
}
func (x *StrategySettings) GetDisableUsdTracking() bool {
if x != nil {
return x.DisableUsdTracking
}
return false
}
func (x *StrategySettings) GetCustomSettings() []*CustomSettings {
if x != nil {
return x.CustomSettings
}
return nil
}
type CustomSettings struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
KeyField string `protobuf:"bytes,1,opt,name=key_field,json=keyField,proto3" json:"key_field,omitempty"`
KeyValue string `protobuf:"bytes,2,opt,name=key_value,json=keyValue,proto3" json:"key_value,omitempty"`
}
func (x *CustomSettings) Reset() {
*x = CustomSettings{}
if protoimpl.UnsafeEnabled {
mi := &file_btrpc_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CustomSettings) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CustomSettings) ProtoMessage() {}
func (x *CustomSettings) ProtoReflect() protoreflect.Message {
mi := &file_btrpc_proto_msgTypes[1]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CustomSettings.ProtoReflect.Descriptor instead.
func (*CustomSettings) Descriptor() ([]byte, []int) {
return file_btrpc_proto_rawDescGZIP(), []int{1}
}
func (x *CustomSettings) GetKeyField() string {
if x != nil {
return x.KeyField
}
return ""
}
func (x *CustomSettings) GetKeyValue() string {
if x != nil {
return x.KeyValue
}
return ""
}
type ExchangeLevelFunding struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ExchangeName string `protobuf:"bytes,1,opt,name=exchange_name,json=exchangeName,proto3" json:"exchange_name,omitempty"`
Asset string `protobuf:"bytes,2,opt,name=asset,proto3" json:"asset,omitempty"`
Currency string `protobuf:"bytes,3,opt,name=currency,proto3" json:"currency,omitempty"`
InitialFunds string `protobuf:"bytes,4,opt,name=initial_funds,json=initialFunds,proto3" json:"initial_funds,omitempty"`
TransferFee string `protobuf:"bytes,5,opt,name=transfer_fee,json=transferFee,proto3" json:"transfer_fee,omitempty"`
}
func (x *ExchangeLevelFunding) Reset() {
*x = ExchangeLevelFunding{}
if protoimpl.UnsafeEnabled {
mi := &file_btrpc_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ExchangeLevelFunding) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ExchangeLevelFunding) ProtoMessage() {}
func (x *ExchangeLevelFunding) ProtoReflect() protoreflect.Message {
mi := &file_btrpc_proto_msgTypes[2]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ExchangeLevelFunding.ProtoReflect.Descriptor instead.
func (*ExchangeLevelFunding) Descriptor() ([]byte, []int) {
return file_btrpc_proto_rawDescGZIP(), []int{2}
}
func (x *ExchangeLevelFunding) GetExchangeName() string {
if x != nil {
return x.ExchangeName
}
return ""
}
func (x *ExchangeLevelFunding) GetAsset() string {
if x != nil {
return x.Asset
}
return ""
}
func (x *ExchangeLevelFunding) GetCurrency() string {
if x != nil {
return x.Currency
}
return ""
}
func (x *ExchangeLevelFunding) GetInitialFunds() string {
if x != nil {
return x.InitialFunds
}
return ""
}
func (x *ExchangeLevelFunding) GetTransferFee() string {
if x != nil {
return x.TransferFee
}
return ""
}
type FundingSettings struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
UseExchangeLevelFunding bool `protobuf:"varint,1,opt,name=use_exchange_level_funding,json=useExchangeLevelFunding,proto3" json:"use_exchange_level_funding,omitempty"`
ExchangeLevelFunding []*ExchangeLevelFunding `protobuf:"bytes,2,rep,name=exchange_level_funding,json=exchangeLevelFunding,proto3" json:"exchange_level_funding,omitempty"`
}
func (x *FundingSettings) Reset() {
*x = FundingSettings{}
if protoimpl.UnsafeEnabled {
mi := &file_btrpc_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *FundingSettings) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*FundingSettings) ProtoMessage() {}
func (x *FundingSettings) ProtoReflect() protoreflect.Message {
mi := &file_btrpc_proto_msgTypes[3]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use FundingSettings.ProtoReflect.Descriptor instead.
func (*FundingSettings) Descriptor() ([]byte, []int) {
return file_btrpc_proto_rawDescGZIP(), []int{3}
}
func (x *FundingSettings) GetUseExchangeLevelFunding() bool {
if x != nil {
return x.UseExchangeLevelFunding
}
return false
}
func (x *FundingSettings) GetExchangeLevelFunding() []*ExchangeLevelFunding {
if x != nil {
return x.ExchangeLevelFunding
}
return nil
}
type PurchaseSide struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
MinimumSize string `protobuf:"bytes,1,opt,name=minimum_size,json=minimumSize,proto3" json:"minimum_size,omitempty"`
MaximumSize string `protobuf:"bytes,2,opt,name=maximum_size,json=maximumSize,proto3" json:"maximum_size,omitempty"`
MaximumTotal string `protobuf:"bytes,3,opt,name=maximum_total,json=maximumTotal,proto3" json:"maximum_total,omitempty"`
}
func (x *PurchaseSide) Reset() {
*x = PurchaseSide{}
if protoimpl.UnsafeEnabled {
mi := &file_btrpc_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *PurchaseSide) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PurchaseSide) ProtoMessage() {}
func (x *PurchaseSide) ProtoReflect() protoreflect.Message {
mi := &file_btrpc_proto_msgTypes[4]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use PurchaseSide.ProtoReflect.Descriptor instead.
func (*PurchaseSide) Descriptor() ([]byte, []int) {
return file_btrpc_proto_rawDescGZIP(), []int{4}
}
func (x *PurchaseSide) GetMinimumSize() string {
if x != nil {
return x.MinimumSize
}
return ""
}
func (x *PurchaseSide) GetMaximumSize() string {
if x != nil {
return x.MaximumSize
}
return ""
}
func (x *PurchaseSide) GetMaximumTotal() string {
if x != nil {
return x.MaximumTotal
}
return ""
}
type SpotDetails struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
InitialBaseFunds string `protobuf:"bytes,1,opt,name=initial_base_funds,json=initialBaseFunds,proto3" json:"initial_base_funds,omitempty"`
InitialQuoteFunds string `protobuf:"bytes,2,opt,name=initial_quote_funds,json=initialQuoteFunds,proto3" json:"initial_quote_funds,omitempty"`
}
func (x *SpotDetails) Reset() {
*x = SpotDetails{}
if protoimpl.UnsafeEnabled {
mi := &file_btrpc_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SpotDetails) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SpotDetails) ProtoMessage() {}
func (x *SpotDetails) ProtoReflect() protoreflect.Message {
mi := &file_btrpc_proto_msgTypes[5]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SpotDetails.ProtoReflect.Descriptor instead.
func (*SpotDetails) Descriptor() ([]byte, []int) {
return file_btrpc_proto_rawDescGZIP(), []int{5}
}
func (x *SpotDetails) GetInitialBaseFunds() string {
if x != nil {
return x.InitialBaseFunds
}
return ""
}
func (x *SpotDetails) GetInitialQuoteFunds() string {
if x != nil {
return x.InitialQuoteFunds
}
return ""
}
type FuturesDetails struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Leverage *Leverage `protobuf:"bytes,1,opt,name=leverage,proto3" json:"leverage,omitempty"`
}
func (x *FuturesDetails) Reset() {
*x = FuturesDetails{}
if protoimpl.UnsafeEnabled {
mi := &file_btrpc_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *FuturesDetails) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*FuturesDetails) ProtoMessage() {}
func (x *FuturesDetails) ProtoReflect() protoreflect.Message {
mi := &file_btrpc_proto_msgTypes[6]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use FuturesDetails.ProtoReflect.Descriptor instead.
func (*FuturesDetails) Descriptor() ([]byte, []int) {
return file_btrpc_proto_rawDescGZIP(), []int{6}
}
func (x *FuturesDetails) GetLeverage() *Leverage {
if x != nil {
return x.Leverage
}
return nil
}
type CurrencySettings struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ExchangeName string `protobuf:"bytes,1,opt,name=exchange_name,json=exchangeName,proto3" json:"exchange_name,omitempty"`
Asset string `protobuf:"bytes,2,opt,name=asset,proto3" json:"asset,omitempty"`
Base string `protobuf:"bytes,3,opt,name=base,proto3" json:"base,omitempty"`
Quote string `protobuf:"bytes,4,opt,name=quote,proto3" json:"quote,omitempty"`
BuySide *PurchaseSide `protobuf:"bytes,5,opt,name=buy_side,json=buySide,proto3" json:"buy_side,omitempty"`
SellSide *PurchaseSide `protobuf:"bytes,6,opt,name=sell_side,json=sellSide,proto3" json:"sell_side,omitempty"`
MinSlippagePercent string `protobuf:"bytes,7,opt,name=min_slippage_percent,json=minSlippagePercent,proto3" json:"min_slippage_percent,omitempty"`
MaxSlippagePercent string `protobuf:"bytes,8,opt,name=max_slippage_percent,json=maxSlippagePercent,proto3" json:"max_slippage_percent,omitempty"`
MakerFeeOverride string `protobuf:"bytes,9,opt,name=maker_fee_override,json=makerFeeOverride,proto3" json:"maker_fee_override,omitempty"`
TakerFeeOverride string `protobuf:"bytes,10,opt,name=taker_fee_override,json=takerFeeOverride,proto3" json:"taker_fee_override,omitempty"`
MaximumHoldingsRatio string `protobuf:"bytes,11,opt,name=maximum_holdings_ratio,json=maximumHoldingsRatio,proto3" json:"maximum_holdings_ratio,omitempty"`
SkipCandleVolumeFitting bool `protobuf:"varint,12,opt,name=skip_candle_volume_fitting,json=skipCandleVolumeFitting,proto3" json:"skip_candle_volume_fitting,omitempty"`
UseExchangeOrderLimits bool `protobuf:"varint,13,opt,name=use_exchange_order_limits,json=useExchangeOrderLimits,proto3" json:"use_exchange_order_limits,omitempty"`
UseExchangePnlCalculation bool `protobuf:"varint,14,opt,name=use_exchange_pnl_calculation,json=useExchangePnlCalculation,proto3" json:"use_exchange_pnl_calculation,omitempty"`
SpotDetails *SpotDetails `protobuf:"bytes,15,opt,name=spot_details,json=spotDetails,proto3" json:"spot_details,omitempty"`
FuturesDetails *FuturesDetails `protobuf:"bytes,16,opt,name=futures_details,json=futuresDetails,proto3" json:"futures_details,omitempty"`
}
func (x *CurrencySettings) Reset() {
*x = CurrencySettings{}
if protoimpl.UnsafeEnabled {
mi := &file_btrpc_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CurrencySettings) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CurrencySettings) ProtoMessage() {}
func (x *CurrencySettings) ProtoReflect() protoreflect.Message {
mi := &file_btrpc_proto_msgTypes[7]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CurrencySettings.ProtoReflect.Descriptor instead.
func (*CurrencySettings) Descriptor() ([]byte, []int) {
return file_btrpc_proto_rawDescGZIP(), []int{7}
}
func (x *CurrencySettings) GetExchangeName() string {
if x != nil {
return x.ExchangeName
}
return ""
}
func (x *CurrencySettings) GetAsset() string {
if x != nil {
return x.Asset
}
return ""
}
func (x *CurrencySettings) GetBase() string {
if x != nil {
return x.Base
}
return ""
}
func (x *CurrencySettings) GetQuote() string {
if x != nil {
return x.Quote
}
return ""
}
func (x *CurrencySettings) GetBuySide() *PurchaseSide {
if x != nil {
return x.BuySide
}
return nil
}
func (x *CurrencySettings) GetSellSide() *PurchaseSide {
if x != nil {
return x.SellSide
}
return nil
}
func (x *CurrencySettings) GetMinSlippagePercent() string {
if x != nil {
return x.MinSlippagePercent
}
return ""
}
func (x *CurrencySettings) GetMaxSlippagePercent() string {
if x != nil {
return x.MaxSlippagePercent
}
return ""
}
func (x *CurrencySettings) GetMakerFeeOverride() string {
if x != nil {
return x.MakerFeeOverride
}
return ""
}
func (x *CurrencySettings) GetTakerFeeOverride() string {
if x != nil {
return x.TakerFeeOverride
}
return ""
}
func (x *CurrencySettings) GetMaximumHoldingsRatio() string {
if x != nil {
return x.MaximumHoldingsRatio
}
return ""
}
func (x *CurrencySettings) GetSkipCandleVolumeFitting() bool {
if x != nil {
return x.SkipCandleVolumeFitting
}
return false
}
func (x *CurrencySettings) GetUseExchangeOrderLimits() bool {
if x != nil {
return x.UseExchangeOrderLimits
}
return false
}
func (x *CurrencySettings) GetUseExchangePnlCalculation() bool {
if x != nil {
return x.UseExchangePnlCalculation
}
return false
}
func (x *CurrencySettings) GetSpotDetails() *SpotDetails {
if x != nil {
return x.SpotDetails
}
return nil
}
func (x *CurrencySettings) GetFuturesDetails() *FuturesDetails {
if x != nil {
return x.FuturesDetails
}
return nil
}
type ApiData struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
StartDate *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=start_date,json=startDate,proto3" json:"start_date,omitempty"`
EndDate *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=end_date,json=endDate,proto3" json:"end_date,omitempty"`
InclusiveEndDate bool `protobuf:"varint,3,opt,name=inclusive_end_date,json=inclusiveEndDate,proto3" json:"inclusive_end_date,omitempty"`
}
func (x *ApiData) Reset() {
*x = ApiData{}
if protoimpl.UnsafeEnabled {
mi := &file_btrpc_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ApiData) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ApiData) ProtoMessage() {}
func (x *ApiData) ProtoReflect() protoreflect.Message {
mi := &file_btrpc_proto_msgTypes[8]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ApiData.ProtoReflect.Descriptor instead.
func (*ApiData) Descriptor() ([]byte, []int) {
return file_btrpc_proto_rawDescGZIP(), []int{8}
}
func (x *ApiData) GetStartDate() *timestamppb.Timestamp {
if x != nil {
return x.StartDate
}
return nil
}
func (x *ApiData) GetEndDate() *timestamppb.Timestamp {
if x != nil {
return x.EndDate
}
return nil
}
func (x *ApiData) GetInclusiveEndDate() bool {
if x != nil {
return x.InclusiveEndDate
}
return false
}
type DbConfig struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
Verbose bool `protobuf:"varint,2,opt,name=verbose,proto3" json:"verbose,omitempty"`
Driver string `protobuf:"bytes,3,opt,name=driver,proto3" json:"driver,omitempty"`
Host string `protobuf:"bytes,4,opt,name=host,proto3" json:"host,omitempty"`
Port uint32 `protobuf:"varint,5,opt,name=port,proto3" json:"port,omitempty"`
Username string `protobuf:"bytes,6,opt,name=username,proto3" json:"username,omitempty"`
Password string `protobuf:"bytes,7,opt,name=password,proto3" json:"password,omitempty"`
Database string `protobuf:"bytes,8,opt,name=database,proto3" json:"database,omitempty"`
SslMode string `protobuf:"bytes,9,opt,name=ssl_mode,json=sslMode,proto3" json:"ssl_mode,omitempty"`
}
func (x *DbConfig) Reset() {
*x = DbConfig{}
if protoimpl.UnsafeEnabled {
mi := &file_btrpc_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DbConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DbConfig) ProtoMessage() {}
func (x *DbConfig) ProtoReflect() protoreflect.Message {
mi := &file_btrpc_proto_msgTypes[9]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use DbConfig.ProtoReflect.Descriptor instead.
func (*DbConfig) Descriptor() ([]byte, []int) {
return file_btrpc_proto_rawDescGZIP(), []int{9}
}
func (x *DbConfig) GetEnabled() bool {
if x != nil {
return x.Enabled
}
return false
}
func (x *DbConfig) GetVerbose() bool {
if x != nil {
return x.Verbose
}
return false
}
func (x *DbConfig) GetDriver() string {
if x != nil {
return x.Driver
}
return ""
}
func (x *DbConfig) GetHost() string {
if x != nil {
return x.Host
}
return ""
}
func (x *DbConfig) GetPort() uint32 {
if x != nil {
return x.Port
}
return 0
}
func (x *DbConfig) GetUsername() string {
if x != nil {
return x.Username
}
return ""
}
func (x *DbConfig) GetPassword() string {
if x != nil {
return x.Password
}
return ""
}
func (x *DbConfig) GetDatabase() string {
if x != nil {
return x.Database
}
return ""
}
func (x *DbConfig) GetSslMode() string {
if x != nil {
return x.SslMode
}
return ""
}
type DbData struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
StartDate *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=start_date,json=startDate,proto3" json:"start_date,omitempty"`
EndDate *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=end_date,json=endDate,proto3" json:"end_date,omitempty"`
Config *DbConfig `protobuf:"bytes,3,opt,name=config,proto3" json:"config,omitempty"`
Path string `protobuf:"bytes,4,opt,name=path,proto3" json:"path,omitempty"`
InclusiveEndDate bool `protobuf:"varint,5,opt,name=inclusive_end_date,json=inclusiveEndDate,proto3" json:"inclusive_end_date,omitempty"`
}
func (x *DbData) Reset() {
*x = DbData{}
if protoimpl.UnsafeEnabled {
mi := &file_btrpc_proto_msgTypes[10]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DbData) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DbData) ProtoMessage() {}
func (x *DbData) ProtoReflect() protoreflect.Message {
mi := &file_btrpc_proto_msgTypes[10]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use DbData.ProtoReflect.Descriptor instead.
func (*DbData) Descriptor() ([]byte, []int) {
return file_btrpc_proto_rawDescGZIP(), []int{10}
}
func (x *DbData) GetStartDate() *timestamppb.Timestamp {
if x != nil {
return x.StartDate
}
return nil
}
func (x *DbData) GetEndDate() *timestamppb.Timestamp {
if x != nil {
return x.EndDate
}
return nil
}
func (x *DbData) GetConfig() *DbConfig {
if x != nil {
return x.Config
}
return nil
}
func (x *DbData) GetPath() string {
if x != nil {
return x.Path
}
return ""
}
func (x *DbData) GetInclusiveEndDate() bool {
if x != nil {
return x.InclusiveEndDate
}
return false
}
type CsvData struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Path string `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"`
}
func (x *CsvData) Reset() {
*x = CsvData{}
if protoimpl.UnsafeEnabled {
mi := &file_btrpc_proto_msgTypes[11]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CsvData) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CsvData) ProtoMessage() {}
func (x *CsvData) ProtoReflect() protoreflect.Message {
mi := &file_btrpc_proto_msgTypes[11]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CsvData.ProtoReflect.Descriptor instead.
func (*CsvData) Descriptor() ([]byte, []int) {
return file_btrpc_proto_rawDescGZIP(), []int{11}
}
func (x *CsvData) GetPath() string {
if x != nil {
return x.Path
}
return ""
}
type DatabaseConnectionDetails struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Host string `protobuf:"bytes,1,opt,name=host,proto3" json:"host,omitempty"`
Port uint32 `protobuf:"varint,2,opt,name=port,proto3" json:"port,omitempty"`
UserName string `protobuf:"bytes,3,opt,name=user_name,json=userName,proto3" json:"user_name,omitempty"`
Password string `protobuf:"bytes,4,opt,name=password,proto3" json:"password,omitempty"`
Database string `protobuf:"bytes,5,opt,name=database,proto3" json:"database,omitempty"`
SslMode string `protobuf:"bytes,6,opt,name=ssl_mode,json=sslMode,proto3" json:"ssl_mode,omitempty"`
}
func (x *DatabaseConnectionDetails) Reset() {
*x = DatabaseConnectionDetails{}
if protoimpl.UnsafeEnabled {
mi := &file_btrpc_proto_msgTypes[12]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DatabaseConnectionDetails) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DatabaseConnectionDetails) ProtoMessage() {}
func (x *DatabaseConnectionDetails) ProtoReflect() protoreflect.Message {
mi := &file_btrpc_proto_msgTypes[12]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use DatabaseConnectionDetails.ProtoReflect.Descriptor instead.
func (*DatabaseConnectionDetails) Descriptor() ([]byte, []int) {
return file_btrpc_proto_rawDescGZIP(), []int{12}
}
func (x *DatabaseConnectionDetails) GetHost() string {
if x != nil {
return x.Host
}
return ""
}
func (x *DatabaseConnectionDetails) GetPort() uint32 {
if x != nil {
return x.Port
}
return 0
}
func (x *DatabaseConnectionDetails) GetUserName() string {
if x != nil {
return x.UserName
}
return ""
}
func (x *DatabaseConnectionDetails) GetPassword() string {
if x != nil {
return x.Password
}
return ""
}
func (x *DatabaseConnectionDetails) GetDatabase() string {
if x != nil {
return x.Database
}
return ""
}
func (x *DatabaseConnectionDetails) GetSslMode() string {
if x != nil {
return x.SslMode
}
return ""
}
type DatabaseConfig struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
Verbose bool `protobuf:"varint,2,opt,name=verbose,proto3" json:"verbose,omitempty"`
Driver string `protobuf:"bytes,3,opt,name=driver,proto3" json:"driver,omitempty"`
Config *DatabaseConnectionDetails `protobuf:"bytes,4,opt,name=config,proto3" json:"config,omitempty"`
}
func (x *DatabaseConfig) Reset() {
*x = DatabaseConfig{}
if protoimpl.UnsafeEnabled {
mi := &file_btrpc_proto_msgTypes[13]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DatabaseConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DatabaseConfig) ProtoMessage() {}
func (x *DatabaseConfig) ProtoReflect() protoreflect.Message {
mi := &file_btrpc_proto_msgTypes[13]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use DatabaseConfig.ProtoReflect.Descriptor instead.
func (*DatabaseConfig) Descriptor() ([]byte, []int) {
return file_btrpc_proto_rawDescGZIP(), []int{13}
}
func (x *DatabaseConfig) GetEnabled() bool {
if x != nil {
return x.Enabled
}
return false
}
func (x *DatabaseConfig) GetVerbose() bool {
if x != nil {
return x.Verbose
}
return false
}
func (x *DatabaseConfig) GetDriver() string {
if x != nil {
return x.Driver
}
return ""
}
func (x *DatabaseConfig) GetConfig() *DatabaseConnectionDetails {
if x != nil {
return x.Config
}
return nil
}
type DatabaseData struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
StartDate *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=start_date,json=startDate,proto3" json:"start_date,omitempty"`
EndDate *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=end_date,json=endDate,proto3" json:"end_date,omitempty"`
Config *DatabaseConfig `protobuf:"bytes,3,opt,name=config,proto3" json:"config,omitempty"`
Path string `protobuf:"bytes,4,opt,name=path,proto3" json:"path,omitempty"`
InclusiveEndDate bool `protobuf:"varint,5,opt,name=inclusive_end_date,json=inclusiveEndDate,proto3" json:"inclusive_end_date,omitempty"`
}
func (x *DatabaseData) Reset() {
*x = DatabaseData{}
if protoimpl.UnsafeEnabled {
mi := &file_btrpc_proto_msgTypes[14]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DatabaseData) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DatabaseData) ProtoMessage() {}
func (x *DatabaseData) ProtoReflect() protoreflect.Message {
mi := &file_btrpc_proto_msgTypes[14]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use DatabaseData.ProtoReflect.Descriptor instead.
func (*DatabaseData) Descriptor() ([]byte, []int) {
return file_btrpc_proto_rawDescGZIP(), []int{14}
}
func (x *DatabaseData) GetStartDate() *timestamppb.Timestamp {
if x != nil {
return x.StartDate
}
return nil
}
func (x *DatabaseData) GetEndDate() *timestamppb.Timestamp {
if x != nil {
return x.EndDate
}
return nil
}
func (x *DatabaseData) GetConfig() *DatabaseConfig {
if x != nil {
return x.Config
}
return nil
}
func (x *DatabaseData) GetPath() string {
if x != nil {
return x.Path
}
return ""
}
func (x *DatabaseData) GetInclusiveEndDate() bool {
if x != nil {
return x.InclusiveEndDate
}
return false
}
type CSVData struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Path string `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"`
}
func (x *CSVData) Reset() {
*x = CSVData{}
if protoimpl.UnsafeEnabled {
mi := &file_btrpc_proto_msgTypes[15]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CSVData) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CSVData) ProtoMessage() {}
func (x *CSVData) ProtoReflect() protoreflect.Message {
mi := &file_btrpc_proto_msgTypes[15]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CSVData.ProtoReflect.Descriptor instead.
func (*CSVData) Descriptor() ([]byte, []int) {
return file_btrpc_proto_rawDescGZIP(), []int{15}
}
func (x *CSVData) GetPath() string {
if x != nil {
return x.Path
}
return ""
}
type LiveData struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
NewEventTimeout int64 `protobuf:"varint,1,opt,name=new_event_timeout,json=newEventTimeout,proto3" json:"new_event_timeout,omitempty"`
DataCheckTimer int64 `protobuf:"varint,2,opt,name=data_check_timer,json=dataCheckTimer,proto3" json:"data_check_timer,omitempty"`
RealOrders bool `protobuf:"varint,3,opt,name=real_orders,json=realOrders,proto3" json:"real_orders,omitempty"`
ClosePositionsOnStop bool `protobuf:"varint,4,opt,name=close_positions_on_stop,json=closePositionsOnStop,proto3" json:"close_positions_on_stop,omitempty"`
DataRequestRetryTolerance int64 `protobuf:"varint,5,opt,name=data_request_retry_tolerance,json=dataRequestRetryTolerance,proto3" json:"data_request_retry_tolerance,omitempty"`
DataRequestRetryWaitTime int64 `protobuf:"varint,6,opt,name=data_request_retry_wait_time,json=dataRequestRetryWaitTime,proto3" json:"data_request_retry_wait_time,omitempty"`
UseRealOrders bool `protobuf:"varint,7,opt,name=use_real_orders,json=useRealOrders,proto3" json:"use_real_orders,omitempty"`
Credentials []*Credentials `protobuf:"bytes,8,rep,name=credentials,proto3" json:"credentials,omitempty"`
}
func (x *LiveData) Reset() {
*x = LiveData{}
if protoimpl.UnsafeEnabled {
mi := &file_btrpc_proto_msgTypes[16]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *LiveData) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*LiveData) ProtoMessage() {}
func (x *LiveData) ProtoReflect() protoreflect.Message {
mi := &file_btrpc_proto_msgTypes[16]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use LiveData.ProtoReflect.Descriptor instead.
func (*LiveData) Descriptor() ([]byte, []int) {
return file_btrpc_proto_rawDescGZIP(), []int{16}
}
func (x *LiveData) GetNewEventTimeout() int64 {
if x != nil {
return x.NewEventTimeout
}
return 0
}
func (x *LiveData) GetDataCheckTimer() int64 {
if x != nil {
return x.DataCheckTimer
}
return 0
}
func (x *LiveData) GetRealOrders() bool {
if x != nil {
return x.RealOrders
}
return false
}
func (x *LiveData) GetClosePositionsOnStop() bool {
if x != nil {
return x.ClosePositionsOnStop
}
return false
}
func (x *LiveData) GetDataRequestRetryTolerance() int64 {
if x != nil {
return x.DataRequestRetryTolerance
}
return 0
}
func (x *LiveData) GetDataRequestRetryWaitTime() int64 {
if x != nil {
return x.DataRequestRetryWaitTime
}
return 0
}
func (x *LiveData) GetUseRealOrders() bool {
if x != nil {
return x.UseRealOrders
}
return false
}
func (x *LiveData) GetCredentials() []*Credentials {
if x != nil {
return x.Credentials
}
return nil
}
type Credentials struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Exchange string `protobuf:"bytes,1,opt,name=exchange,proto3" json:"exchange,omitempty"`
Keys *ExchangeCredentials `protobuf:"bytes,2,opt,name=keys,proto3" json:"keys,omitempty"`
}
func (x *Credentials) Reset() {
*x = Credentials{}
if protoimpl.UnsafeEnabled {
mi := &file_btrpc_proto_msgTypes[17]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Credentials) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Credentials) ProtoMessage() {}
func (x *Credentials) ProtoReflect() protoreflect.Message {
mi := &file_btrpc_proto_msgTypes[17]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Credentials.ProtoReflect.Descriptor instead.
func (*Credentials) Descriptor() ([]byte, []int) {
return file_btrpc_proto_rawDescGZIP(), []int{17}
}
func (x *Credentials) GetExchange() string {
if x != nil {
return x.Exchange
}
return ""
}
func (x *Credentials) GetKeys() *ExchangeCredentials {
if x != nil {
return x.Keys
}
return nil
}
type ExchangeCredentials struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
Secret string `protobuf:"bytes,2,opt,name=secret,proto3" json:"secret,omitempty"`
ClientId string `protobuf:"bytes,3,opt,name=client_id,json=clientId,proto3" json:"client_id,omitempty"`
PemKey string `protobuf:"bytes,4,opt,name=pem_key,json=pemKey,proto3" json:"pem_key,omitempty"`
SubAccount string `protobuf:"bytes,5,opt,name=sub_account,json=subAccount,proto3" json:"sub_account,omitempty"`
OneTimePassword string `protobuf:"bytes,6,opt,name=one_time_password,json=oneTimePassword,proto3" json:"one_time_password,omitempty"`
}
func (x *ExchangeCredentials) Reset() {
*x = ExchangeCredentials{}
if protoimpl.UnsafeEnabled {
mi := &file_btrpc_proto_msgTypes[18]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ExchangeCredentials) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ExchangeCredentials) ProtoMessage() {}
func (x *ExchangeCredentials) ProtoReflect() protoreflect.Message {
mi := &file_btrpc_proto_msgTypes[18]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ExchangeCredentials.ProtoReflect.Descriptor instead.
func (*ExchangeCredentials) Descriptor() ([]byte, []int) {
return file_btrpc_proto_rawDescGZIP(), []int{18}
}
func (x *ExchangeCredentials) GetKey() string {
if x != nil {
return x.Key
}
return ""
}
func (x *ExchangeCredentials) GetSecret() string {
if x != nil {
return x.Secret
}
return ""
}
func (x *ExchangeCredentials) GetClientId() string {
if x != nil {
return x.ClientId
}
return ""
}
func (x *ExchangeCredentials) GetPemKey() string {
if x != nil {
return x.PemKey
}
return ""
}
func (x *ExchangeCredentials) GetSubAccount() string {
if x != nil {
return x.SubAccount
}
return ""
}
func (x *ExchangeCredentials) GetOneTimePassword() string {
if x != nil {
return x.OneTimePassword
}
return ""
}
type DataSettings struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Interval uint64 `protobuf:"varint,1,opt,name=interval,proto3" json:"interval,omitempty"`
Datatype string `protobuf:"bytes,2,opt,name=datatype,proto3" json:"datatype,omitempty"`
ApiData *ApiData `protobuf:"bytes,3,opt,name=api_data,json=apiData,proto3" json:"api_data,omitempty"`
DatabaseData *DatabaseData `protobuf:"bytes,4,opt,name=database_data,json=databaseData,proto3" json:"database_data,omitempty"`
CsvData *CSVData `protobuf:"bytes,5,opt,name=csv_data,json=csvData,proto3" json:"csv_data,omitempty"`
LiveData *LiveData `protobuf:"bytes,6,opt,name=live_data,json=liveData,proto3" json:"live_data,omitempty"`
}
func (x *DataSettings) Reset() {
*x = DataSettings{}
if protoimpl.UnsafeEnabled {
mi := &file_btrpc_proto_msgTypes[19]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DataSettings) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DataSettings) ProtoMessage() {}
func (x *DataSettings) ProtoReflect() protoreflect.Message {
mi := &file_btrpc_proto_msgTypes[19]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use DataSettings.ProtoReflect.Descriptor instead.
func (*DataSettings) Descriptor() ([]byte, []int) {
return file_btrpc_proto_rawDescGZIP(), []int{19}
}
func (x *DataSettings) GetInterval() uint64 {
if x != nil {
return x.Interval
}
return 0
}
func (x *DataSettings) GetDatatype() string {
if x != nil {
return x.Datatype
}
return ""
}
func (x *DataSettings) GetApiData() *ApiData {
if x != nil {
return x.ApiData
}
return nil
}
func (x *DataSettings) GetDatabaseData() *DatabaseData {
if x != nil {
return x.DatabaseData
}
return nil
}
func (x *DataSettings) GetCsvData() *CSVData {
if x != nil {
return x.CsvData
}
return nil
}
func (x *DataSettings) GetLiveData() *LiveData {
if x != nil {
return x.LiveData
}
return nil
}
type Leverage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
CanUseLeverage bool `protobuf:"varint,1,opt,name=can_use_leverage,json=canUseLeverage,proto3" json:"can_use_leverage,omitempty"`
MaximumOrdersWithLeverageRatio string `protobuf:"bytes,2,opt,name=maximum_orders_with_leverage_ratio,json=maximumOrdersWithLeverageRatio,proto3" json:"maximum_orders_with_leverage_ratio,omitempty"`
MaximumLeverageRate string `protobuf:"bytes,3,opt,name=maximum_leverage_rate,json=maximumLeverageRate,proto3" json:"maximum_leverage_rate,omitempty"`
MaximumCollateralLeverageRate string `protobuf:"bytes,4,opt,name=maximum_collateral_leverage_rate,json=maximumCollateralLeverageRate,proto3" json:"maximum_collateral_leverage_rate,omitempty"`
}
func (x *Leverage) Reset() {
*x = Leverage{}
if protoimpl.UnsafeEnabled {
mi := &file_btrpc_proto_msgTypes[20]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Leverage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Leverage) ProtoMessage() {}
func (x *Leverage) ProtoReflect() protoreflect.Message {
mi := &file_btrpc_proto_msgTypes[20]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Leverage.ProtoReflect.Descriptor instead.
func (*Leverage) Descriptor() ([]byte, []int) {
return file_btrpc_proto_rawDescGZIP(), []int{20}
}
func (x *Leverage) GetCanUseLeverage() bool {
if x != nil {
return x.CanUseLeverage
}
return false
}
func (x *Leverage) GetMaximumOrdersWithLeverageRatio() string {
if x != nil {
return x.MaximumOrdersWithLeverageRatio
}
return ""
}
func (x *Leverage) GetMaximumLeverageRate() string {
if x != nil {
return x.MaximumLeverageRate
}
return ""
}
func (x *Leverage) GetMaximumCollateralLeverageRate() string {
if x != nil {
return x.MaximumCollateralLeverageRate
}
return ""
}
type PortfolioSettings struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Leverage *Leverage `protobuf:"bytes,1,opt,name=leverage,proto3" json:"leverage,omitempty"`
BuySide *PurchaseSide `protobuf:"bytes,2,opt,name=buy_side,json=buySide,proto3" json:"buy_side,omitempty"`
SellSide *PurchaseSide `protobuf:"bytes,3,opt,name=sell_side,json=sellSide,proto3" json:"sell_side,omitempty"`
}
func (x *PortfolioSettings) Reset() {
*x = PortfolioSettings{}
if protoimpl.UnsafeEnabled {
mi := &file_btrpc_proto_msgTypes[21]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *PortfolioSettings) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PortfolioSettings) ProtoMessage() {}
func (x *PortfolioSettings) ProtoReflect() protoreflect.Message {
mi := &file_btrpc_proto_msgTypes[21]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use PortfolioSettings.ProtoReflect.Descriptor instead.
func (*PortfolioSettings) Descriptor() ([]byte, []int) {
return file_btrpc_proto_rawDescGZIP(), []int{21}
}
func (x *PortfolioSettings) GetLeverage() *Leverage {
if x != nil {
return x.Leverage
}
return nil
}
func (x *PortfolioSettings) GetBuySide() *PurchaseSide {
if x != nil {
return x.BuySide
}
return nil
}
func (x *PortfolioSettings) GetSellSide() *PurchaseSide {
if x != nil {
return x.SellSide
}
return nil
}
type StatisticSettings struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
RiskFreeRate string `protobuf:"bytes,1,opt,name=risk_free_rate,json=riskFreeRate,proto3" json:"risk_free_rate,omitempty"`
}
func (x *StatisticSettings) Reset() {
*x = StatisticSettings{}
if protoimpl.UnsafeEnabled {
mi := &file_btrpc_proto_msgTypes[22]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *StatisticSettings) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*StatisticSettings) ProtoMessage() {}
func (x *StatisticSettings) ProtoReflect() protoreflect.Message {
mi := &file_btrpc_proto_msgTypes[22]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use StatisticSettings.ProtoReflect.Descriptor instead.
func (*StatisticSettings) Descriptor() ([]byte, []int) {
return file_btrpc_proto_rawDescGZIP(), []int{22}
}
func (x *StatisticSettings) GetRiskFreeRate() string {
if x != nil {
return x.RiskFreeRate
}
return ""
}
type Config struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Nickname string `protobuf:"bytes,1,opt,name=nickname,proto3" json:"nickname,omitempty"`
Goal string `protobuf:"bytes,2,opt,name=goal,proto3" json:"goal,omitempty"`
StrategySettings *StrategySettings `protobuf:"bytes,3,opt,name=strategy_settings,json=strategySettings,proto3" json:"strategy_settings,omitempty"`
FundingSettings *FundingSettings `protobuf:"bytes,4,opt,name=funding_settings,json=fundingSettings,proto3" json:"funding_settings,omitempty"`
CurrencySettings []*CurrencySettings `protobuf:"bytes,5,rep,name=currency_settings,json=currencySettings,proto3" json:"currency_settings,omitempty"`
DataSettings *DataSettings `protobuf:"bytes,6,opt,name=data_settings,json=dataSettings,proto3" json:"data_settings,omitempty"`
PortfolioSettings *PortfolioSettings `protobuf:"bytes,7,opt,name=portfolio_settings,json=portfolioSettings,proto3" json:"portfolio_settings,omitempty"`
StatisticSettings *StatisticSettings `protobuf:"bytes,8,opt,name=statistic_settings,json=statisticSettings,proto3" json:"statistic_settings,omitempty"`
}
func (x *Config) Reset() {
*x = Config{}
if protoimpl.UnsafeEnabled {
mi := &file_btrpc_proto_msgTypes[23]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Config) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Config) ProtoMessage() {}
func (x *Config) ProtoReflect() protoreflect.Message {
mi := &file_btrpc_proto_msgTypes[23]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Config.ProtoReflect.Descriptor instead.
func (*Config) Descriptor() ([]byte, []int) {
return file_btrpc_proto_rawDescGZIP(), []int{23}
}
func (x *Config) GetNickname() string {
if x != nil {
return x.Nickname
}
return ""
}
func (x *Config) GetGoal() string {
if x != nil {
return x.Goal
}
return ""
}
func (x *Config) GetStrategySettings() *StrategySettings {
if x != nil {
return x.StrategySettings
}
return nil
}
func (x *Config) GetFundingSettings() *FundingSettings {
if x != nil {
return x.FundingSettings
}
return nil
}
func (x *Config) GetCurrencySettings() []*CurrencySettings {
if x != nil {
return x.CurrencySettings
}
return nil
}
func (x *Config) GetDataSettings() *DataSettings {
if x != nil {
return x.DataSettings
}
return nil
}
func (x *Config) GetPortfolioSettings() *PortfolioSettings {
if x != nil {
return x.PortfolioSettings
}
return nil
}
func (x *Config) GetStatisticSettings() *StatisticSettings {
if x != nil {
return x.StatisticSettings
}
return nil
}
type TaskSummary struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
StrategyName string `protobuf:"bytes,2,opt,name=strategy_name,json=strategyName,proto3" json:"strategy_name,omitempty"`
DateLoaded string `protobuf:"bytes,3,opt,name=date_loaded,json=dateLoaded,proto3" json:"date_loaded,omitempty"`
DateStarted string `protobuf:"bytes,4,opt,name=date_started,json=dateStarted,proto3" json:"date_started,omitempty"`
DateEnded string `protobuf:"bytes,5,opt,name=date_ended,json=dateEnded,proto3" json:"date_ended,omitempty"`
Closed bool `protobuf:"varint,6,opt,name=closed,proto3" json:"closed,omitempty"`
LiveTesting bool `protobuf:"varint,7,opt,name=live_testing,json=liveTesting,proto3" json:"live_testing,omitempty"`
RealOrders bool `protobuf:"varint,8,opt,name=real_orders,json=realOrders,proto3" json:"real_orders,omitempty"`
}
func (x *TaskSummary) Reset() {
*x = TaskSummary{}
if protoimpl.UnsafeEnabled {
mi := &file_btrpc_proto_msgTypes[24]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *TaskSummary) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TaskSummary) ProtoMessage() {}
func (x *TaskSummary) ProtoReflect() protoreflect.Message {
mi := &file_btrpc_proto_msgTypes[24]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use TaskSummary.ProtoReflect.Descriptor instead.
func (*TaskSummary) Descriptor() ([]byte, []int) {
return file_btrpc_proto_rawDescGZIP(), []int{24}
}
func (x *TaskSummary) GetId() string {
if x != nil {
return x.Id
}
return ""
}
func (x *TaskSummary) GetStrategyName() string {
if x != nil {
return x.StrategyName
}
return ""
}
func (x *TaskSummary) GetDateLoaded() string {
if x != nil {
return x.DateLoaded
}
return ""
}
func (x *TaskSummary) GetDateStarted() string {
if x != nil {
return x.DateStarted
}
return ""
}
func (x *TaskSummary) GetDateEnded() string {
if x != nil {
return x.DateEnded
}
return ""
}
func (x *TaskSummary) GetClosed() bool {
if x != nil {
return x.Closed
}
return false
}
func (x *TaskSummary) GetLiveTesting() bool {
if x != nil {
return x.LiveTesting
}
return false
}
func (x *TaskSummary) GetRealOrders() bool {
if x != nil {
return x.RealOrders
}
return false
}
// Requests and responses
type ExecuteStrategyFromFileRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
StrategyFilePath string `protobuf:"bytes,1,opt,name=strategy_file_path,json=strategyFilePath,proto3" json:"strategy_file_path,omitempty"`
DoNotRunImmediately bool `protobuf:"varint,2,opt,name=do_not_run_immediately,json=doNotRunImmediately,proto3" json:"do_not_run_immediately,omitempty"`
DoNotStore bool `protobuf:"varint,3,opt,name=do_not_store,json=doNotStore,proto3" json:"do_not_store,omitempty"`
StartTimeOverride *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=start_time_override,json=startTimeOverride,proto3" json:"start_time_override,omitempty"`
EndTimeOverride *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=end_time_override,json=endTimeOverride,proto3" json:"end_time_override,omitempty"`
IntervalOverride uint64 `protobuf:"varint,6,opt,name=interval_override,json=intervalOverride,proto3" json:"interval_override,omitempty"`
}
func (x *ExecuteStrategyFromFileRequest) Reset() {
*x = ExecuteStrategyFromFileRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_btrpc_proto_msgTypes[25]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ExecuteStrategyFromFileRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ExecuteStrategyFromFileRequest) ProtoMessage() {}
func (x *ExecuteStrategyFromFileRequest) ProtoReflect() protoreflect.Message {
mi := &file_btrpc_proto_msgTypes[25]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ExecuteStrategyFromFileRequest.ProtoReflect.Descriptor instead.
func (*ExecuteStrategyFromFileRequest) Descriptor() ([]byte, []int) {
return file_btrpc_proto_rawDescGZIP(), []int{25}
}
func (x *ExecuteStrategyFromFileRequest) GetStrategyFilePath() string {
if x != nil {
return x.StrategyFilePath
}
return ""
}
func (x *ExecuteStrategyFromFileRequest) GetDoNotRunImmediately() bool {
if x != nil {
return x.DoNotRunImmediately
}
return false
}
func (x *ExecuteStrategyFromFileRequest) GetDoNotStore() bool {
if x != nil {
return x.DoNotStore
}
return false
}
func (x *ExecuteStrategyFromFileRequest) GetStartTimeOverride() *timestamppb.Timestamp {
if x != nil {
return x.StartTimeOverride
}
return nil
}
func (x *ExecuteStrategyFromFileRequest) GetEndTimeOverride() *timestamppb.Timestamp {
if x != nil {
return x.EndTimeOverride
}
return nil
}
func (x *ExecuteStrategyFromFileRequest) GetIntervalOverride() uint64 {
if x != nil {
return x.IntervalOverride
}
return 0
}
type ExecuteStrategyResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Task *TaskSummary `protobuf:"bytes,1,opt,name=task,proto3" json:"task,omitempty"`
}
func (x *ExecuteStrategyResponse) Reset() {
*x = ExecuteStrategyResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_btrpc_proto_msgTypes[26]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ExecuteStrategyResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ExecuteStrategyResponse) ProtoMessage() {}
func (x *ExecuteStrategyResponse) ProtoReflect() protoreflect.Message {
mi := &file_btrpc_proto_msgTypes[26]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ExecuteStrategyResponse.ProtoReflect.Descriptor instead.
func (*ExecuteStrategyResponse) Descriptor() ([]byte, []int) {
return file_btrpc_proto_rawDescGZIP(), []int{26}
}
func (x *ExecuteStrategyResponse) GetTask() *TaskSummary {
if x != nil {
return x.Task
}
return nil
}
type ExecuteStrategyFromConfigRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
DoNotRunImmediately bool `protobuf:"varint,1,opt,name=do_not_run_immediately,json=doNotRunImmediately,proto3" json:"do_not_run_immediately,omitempty"`
DoNotStore bool `protobuf:"varint,2,opt,name=do_not_store,json=doNotStore,proto3" json:"do_not_store,omitempty"`
Config *Config `protobuf:"bytes,3,opt,name=config,proto3" json:"config,omitempty"`
}
func (x *ExecuteStrategyFromConfigRequest) Reset() {
*x = ExecuteStrategyFromConfigRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_btrpc_proto_msgTypes[27]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ExecuteStrategyFromConfigRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ExecuteStrategyFromConfigRequest) ProtoMessage() {}
func (x *ExecuteStrategyFromConfigRequest) ProtoReflect() protoreflect.Message {
mi := &file_btrpc_proto_msgTypes[27]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ExecuteStrategyFromConfigRequest.ProtoReflect.Descriptor instead.
func (*ExecuteStrategyFromConfigRequest) Descriptor() ([]byte, []int) {
return file_btrpc_proto_rawDescGZIP(), []int{27}
}
func (x *ExecuteStrategyFromConfigRequest) GetDoNotRunImmediately() bool {
if x != nil {
return x.DoNotRunImmediately
}
return false
}
func (x *ExecuteStrategyFromConfigRequest) GetDoNotStore() bool {
if x != nil {
return x.DoNotStore
}
return false
}
func (x *ExecuteStrategyFromConfigRequest) GetConfig() *Config {
if x != nil {
return x.Config
}
return nil
}
type ListAllTasksRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *ListAllTasksRequest) Reset() {
*x = ListAllTasksRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_btrpc_proto_msgTypes[28]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ListAllTasksRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListAllTasksRequest) ProtoMessage() {}
func (x *ListAllTasksRequest) ProtoReflect() protoreflect.Message {
mi := &file_btrpc_proto_msgTypes[28]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ListAllTasksRequest.ProtoReflect.Descriptor instead.
func (*ListAllTasksRequest) Descriptor() ([]byte, []int) {
return file_btrpc_proto_rawDescGZIP(), []int{28}
}
type ListAllTasksResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Tasks []*TaskSummary `protobuf:"bytes,1,rep,name=tasks,proto3" json:"tasks,omitempty"`
}
func (x *ListAllTasksResponse) Reset() {
*x = ListAllTasksResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_btrpc_proto_msgTypes[29]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ListAllTasksResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListAllTasksResponse) ProtoMessage() {}
func (x *ListAllTasksResponse) ProtoReflect() protoreflect.Message {
mi := &file_btrpc_proto_msgTypes[29]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ListAllTasksResponse.ProtoReflect.Descriptor instead.
func (*ListAllTasksResponse) Descriptor() ([]byte, []int) {
return file_btrpc_proto_rawDescGZIP(), []int{29}
}
func (x *ListAllTasksResponse) GetTasks() []*TaskSummary {
if x != nil {
return x.Tasks
}
return nil
}
type StopTaskRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
}
func (x *StopTaskRequest) Reset() {
*x = StopTaskRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_btrpc_proto_msgTypes[30]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *StopTaskRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*StopTaskRequest) ProtoMessage() {}
func (x *StopTaskRequest) ProtoReflect() protoreflect.Message {
mi := &file_btrpc_proto_msgTypes[30]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use StopTaskRequest.ProtoReflect.Descriptor instead.
func (*StopTaskRequest) Descriptor() ([]byte, []int) {
return file_btrpc_proto_rawDescGZIP(), []int{30}
}
func (x *StopTaskRequest) GetId() string {
if x != nil {
return x.Id
}
return ""
}
type StopTaskResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
StoppedTask *TaskSummary `protobuf:"bytes,1,opt,name=stopped_task,json=stoppedTask,proto3" json:"stopped_task,omitempty"`
}
func (x *StopTaskResponse) Reset() {
*x = StopTaskResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_btrpc_proto_msgTypes[31]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *StopTaskResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*StopTaskResponse) ProtoMessage() {}
func (x *StopTaskResponse) ProtoReflect() protoreflect.Message {
mi := &file_btrpc_proto_msgTypes[31]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use StopTaskResponse.ProtoReflect.Descriptor instead.
func (*StopTaskResponse) Descriptor() ([]byte, []int) {
return file_btrpc_proto_rawDescGZIP(), []int{31}
}
func (x *StopTaskResponse) GetStoppedTask() *TaskSummary {
if x != nil {
return x.StoppedTask
}
return nil
}
type StartTaskRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
}
func (x *StartTaskRequest) Reset() {
*x = StartTaskRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_btrpc_proto_msgTypes[32]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *StartTaskRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*StartTaskRequest) ProtoMessage() {}
func (x *StartTaskRequest) ProtoReflect() protoreflect.Message {
mi := &file_btrpc_proto_msgTypes[32]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use StartTaskRequest.ProtoReflect.Descriptor instead.
func (*StartTaskRequest) Descriptor() ([]byte, []int) {
return file_btrpc_proto_rawDescGZIP(), []int{32}
}
func (x *StartTaskRequest) GetId() string {
if x != nil {
return x.Id
}
return ""
}
type StartTaskResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Started bool `protobuf:"varint,1,opt,name=started,proto3" json:"started,omitempty"`
}
func (x *StartTaskResponse) Reset() {
*x = StartTaskResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_btrpc_proto_msgTypes[33]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *StartTaskResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*StartTaskResponse) ProtoMessage() {}
func (x *StartTaskResponse) ProtoReflect() protoreflect.Message {
mi := &file_btrpc_proto_msgTypes[33]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use StartTaskResponse.ProtoReflect.Descriptor instead.
func (*StartTaskResponse) Descriptor() ([]byte, []int) {
return file_btrpc_proto_rawDescGZIP(), []int{33}
}
func (x *StartTaskResponse) GetStarted() bool {
if x != nil {
return x.Started
}
return false
}
type StartAllTasksRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *StartAllTasksRequest) Reset() {
*x = StartAllTasksRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_btrpc_proto_msgTypes[34]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *StartAllTasksRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*StartAllTasksRequest) ProtoMessage() {}
func (x *StartAllTasksRequest) ProtoReflect() protoreflect.Message {
mi := &file_btrpc_proto_msgTypes[34]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use StartAllTasksRequest.ProtoReflect.Descriptor instead.
func (*StartAllTasksRequest) Descriptor() ([]byte, []int) {
return file_btrpc_proto_rawDescGZIP(), []int{34}
}
type StartAllTasksResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
TasksStarted []string `protobuf:"bytes,1,rep,name=tasks_started,json=tasksStarted,proto3" json:"tasks_started,omitempty"`
}
func (x *StartAllTasksResponse) Reset() {
*x = StartAllTasksResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_btrpc_proto_msgTypes[35]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *StartAllTasksResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*StartAllTasksResponse) ProtoMessage() {}
func (x *StartAllTasksResponse) ProtoReflect() protoreflect.Message {
mi := &file_btrpc_proto_msgTypes[35]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use StartAllTasksResponse.ProtoReflect.Descriptor instead.
func (*StartAllTasksResponse) Descriptor() ([]byte, []int) {
return file_btrpc_proto_rawDescGZIP(), []int{35}
}
func (x *StartAllTasksResponse) GetTasksStarted() []string {
if x != nil {
return x.TasksStarted
}
return nil
}
type StopAllTasksRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *StopAllTasksRequest) Reset() {
*x = StopAllTasksRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_btrpc_proto_msgTypes[36]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *StopAllTasksRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*StopAllTasksRequest) ProtoMessage() {}
func (x *StopAllTasksRequest) ProtoReflect() protoreflect.Message {
mi := &file_btrpc_proto_msgTypes[36]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use StopAllTasksRequest.ProtoReflect.Descriptor instead.
func (*StopAllTasksRequest) Descriptor() ([]byte, []int) {
return file_btrpc_proto_rawDescGZIP(), []int{36}
}
type StopAllTasksResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
TasksStopped []*TaskSummary `protobuf:"bytes,1,rep,name=tasks_stopped,json=tasksStopped,proto3" json:"tasks_stopped,omitempty"`
}
func (x *StopAllTasksResponse) Reset() {
*x = StopAllTasksResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_btrpc_proto_msgTypes[37]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *StopAllTasksResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*StopAllTasksResponse) ProtoMessage() {}
func (x *StopAllTasksResponse) ProtoReflect() protoreflect.Message {
mi := &file_btrpc_proto_msgTypes[37]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use StopAllTasksResponse.ProtoReflect.Descriptor instead.
func (*StopAllTasksResponse) Descriptor() ([]byte, []int) {
return file_btrpc_proto_rawDescGZIP(), []int{37}
}
func (x *StopAllTasksResponse) GetTasksStopped() []*TaskSummary {
if x != nil {
return x.TasksStopped
}
return nil
}
type ClearTaskRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
}
func (x *ClearTaskRequest) Reset() {
*x = ClearTaskRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_btrpc_proto_msgTypes[38]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ClearTaskRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ClearTaskRequest) ProtoMessage() {}
func (x *ClearTaskRequest) ProtoReflect() protoreflect.Message {
mi := &file_btrpc_proto_msgTypes[38]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ClearTaskRequest.ProtoReflect.Descriptor instead.
func (*ClearTaskRequest) Descriptor() ([]byte, []int) {
return file_btrpc_proto_rawDescGZIP(), []int{38}
}
func (x *ClearTaskRequest) GetId() string {
if x != nil {
return x.Id
}
return ""
}
type ClearTaskResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ClearedTask *TaskSummary `protobuf:"bytes,1,opt,name=cleared_task,json=clearedTask,proto3" json:"cleared_task,omitempty"`
}
func (x *ClearTaskResponse) Reset() {
*x = ClearTaskResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_btrpc_proto_msgTypes[39]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ClearTaskResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ClearTaskResponse) ProtoMessage() {}
func (x *ClearTaskResponse) ProtoReflect() protoreflect.Message {
mi := &file_btrpc_proto_msgTypes[39]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ClearTaskResponse.ProtoReflect.Descriptor instead.
func (*ClearTaskResponse) Descriptor() ([]byte, []int) {
return file_btrpc_proto_rawDescGZIP(), []int{39}
}
func (x *ClearTaskResponse) GetClearedTask() *TaskSummary {
if x != nil {
return x.ClearedTask
}
return nil
}
type ClearAllTasksRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *ClearAllTasksRequest) Reset() {
*x = ClearAllTasksRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_btrpc_proto_msgTypes[40]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ClearAllTasksRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ClearAllTasksRequest) ProtoMessage() {}
func (x *ClearAllTasksRequest) ProtoReflect() protoreflect.Message {
mi := &file_btrpc_proto_msgTypes[40]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ClearAllTasksRequest.ProtoReflect.Descriptor instead.
func (*ClearAllTasksRequest) Descriptor() ([]byte, []int) {
return file_btrpc_proto_rawDescGZIP(), []int{40}
}
type ClearAllTasksResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ClearedTasks []*TaskSummary `protobuf:"bytes,1,rep,name=cleared_tasks,json=clearedTasks,proto3" json:"cleared_tasks,omitempty"`
RemainingTasks []*TaskSummary `protobuf:"bytes,2,rep,name=remaining_tasks,json=remainingTasks,proto3" json:"remaining_tasks,omitempty"`
}
func (x *ClearAllTasksResponse) Reset() {
*x = ClearAllTasksResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_btrpc_proto_msgTypes[41]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ClearAllTasksResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ClearAllTasksResponse) ProtoMessage() {}
func (x *ClearAllTasksResponse) ProtoReflect() protoreflect.Message {
mi := &file_btrpc_proto_msgTypes[41]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ClearAllTasksResponse.ProtoReflect.Descriptor instead.
func (*ClearAllTasksResponse) Descriptor() ([]byte, []int) {
return file_btrpc_proto_rawDescGZIP(), []int{41}
}
func (x *ClearAllTasksResponse) GetClearedTasks() []*TaskSummary {
if x != nil {
return x.ClearedTasks
}
return nil
}
func (x *ClearAllTasksResponse) GetRemainingTasks() []*TaskSummary {
if x != nil {
return x.RemainingTasks
}
return nil
}
var File_btrpc_proto protoreflect.FileDescriptor
var file_btrpc_proto_rawDesc = []byte{
0x0a, 0x0b, 0x62, 0x74, 0x72, 0x70, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x62,
0x74, 0x72, 0x70, 0x63, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69,
0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x22, 0xe5, 0x01, 0x0a, 0x10, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79,
0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65,
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x4b, 0x0a, 0x22,
0x75, 0x73, 0x65, 0x5f, 0x73, 0x69, 0x6d, 0x75, 0x6c, 0x74, 0x61, 0x6e, 0x65, 0x6f, 0x75, 0x73,
0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69,
0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1f, 0x75, 0x73, 0x65, 0x53, 0x69, 0x6d,
0x75, 0x6c, 0x74, 0x61, 0x6e, 0x65, 0x6f, 0x75, 0x73, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x50,
0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x12, 0x30, 0x0a, 0x14, 0x64, 0x69, 0x73,
0x61, 0x62, 0x6c, 0x65, 0x5f, 0x75, 0x73, 0x64, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x69, 0x6e,
0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65,
0x55, 0x73, 0x64, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x12, 0x3e, 0x0a, 0x0f, 0x63,
0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x04,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x62, 0x74, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x75, 0x73,
0x74, 0x6f, 0x6d, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x0e, 0x63, 0x75, 0x73,
0x74, 0x6f, 0x6d, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x22, 0x4a, 0x0a, 0x0e, 0x43,
0x75, 0x73, 0x74, 0x6f, 0x6d, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x1b, 0x0a,
0x09, 0x6b, 0x65, 0x79, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
0x52, 0x08, 0x6b, 0x65, 0x79, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6b, 0x65,
0x79, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b,
0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xb5, 0x01, 0x0a, 0x14, 0x45, 0x78, 0x63, 0x68,
0x61, 0x6e, 0x67, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67,
0x12, 0x23, 0x0a, 0x0d, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x6e, 0x61, 0x6d,
0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67,
0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x73, 0x73, 0x65, 0x74, 0x18, 0x02,
0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x73, 0x73, 0x65, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x63,
0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63,
0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x6e, 0x69, 0x74, 0x69,
0x61, 0x6c, 0x5f, 0x66, 0x75, 0x6e, 0x64, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c,
0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x46, 0x75, 0x6e, 0x64, 0x73, 0x12, 0x21, 0x0a, 0x0c,
0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x5f, 0x66, 0x65, 0x65, 0x18, 0x05, 0x20, 0x01,
0x28, 0x09, 0x52, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x46, 0x65, 0x65, 0x22,
0xa1, 0x01, 0x0a, 0x0f, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69,
0x6e, 0x67, 0x73, 0x12, 0x3b, 0x0a, 0x1a, 0x75, 0x73, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61,
0x6e, 0x67, 0x65, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e,
0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x17, 0x75, 0x73, 0x65, 0x45, 0x78, 0x63, 0x68,
0x61, 0x6e, 0x67, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67,
0x12, 0x51, 0x0a, 0x16, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x6c, 0x65, 0x76,
0x65, 0x6c, 0x5f, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x1b, 0x2e, 0x62, 0x74, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67,
0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x14, 0x65,
0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x46, 0x75, 0x6e, 0x64,
0x69, 0x6e, 0x67, 0x22, 0x79, 0x0a, 0x0c, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x53,
0x69, 0x64, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x73,
0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6d, 0x69, 0x6e, 0x69, 0x6d,
0x75, 0x6d, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75,
0x6d, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6d, 0x61,
0x78, 0x69, 0x6d, 0x75, 0x6d, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x6d, 0x61, 0x78,
0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
0x52, 0x0c, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x22, 0x6b,
0x0a, 0x0b, 0x53, 0x70, 0x6f, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x2c, 0x0a,
0x12, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x66, 0x75,
0x6e, 0x64, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x69, 0x6e, 0x69, 0x74, 0x69,
0x61, 0x6c, 0x42, 0x61, 0x73, 0x65, 0x46, 0x75, 0x6e, 0x64, 0x73, 0x12, 0x2e, 0x0a, 0x13, 0x69,
0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x5f, 0x66, 0x75, 0x6e,
0x64, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61,
0x6c, 0x51, 0x75, 0x6f, 0x74, 0x65, 0x46, 0x75, 0x6e, 0x64, 0x73, 0x22, 0x3d, 0x0a, 0x0e, 0x46,
0x75, 0x74, 0x75, 0x72, 0x65, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x2b, 0x0a,
0x08, 0x6c, 0x65, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x0f, 0x2e, 0x62, 0x74, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x65, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65,
0x52, 0x08, 0x6c, 0x65, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x22, 0xff, 0x05, 0x0a, 0x10, 0x43,
0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12,
0x23, 0x0a, 0x0d, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65,
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65,
0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x73, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20,
0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x73, 0x73, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x62, 0x61,
0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x62, 0x61, 0x73, 0x65, 0x12, 0x14,
0x0a, 0x05, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x71,
0x75, 0x6f, 0x74, 0x65, 0x12, 0x2e, 0x0a, 0x08, 0x62, 0x75, 0x79, 0x5f, 0x73, 0x69, 0x64, 0x65,
0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x62, 0x74, 0x72, 0x70, 0x63, 0x2e, 0x50,
0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x53, 0x69, 0x64, 0x65, 0x52, 0x07, 0x62, 0x75, 0x79,
0x53, 0x69, 0x64, 0x65, 0x12, 0x30, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x6c, 0x5f, 0x73, 0x69, 0x64,
0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x62, 0x74, 0x72, 0x70, 0x63, 0x2e,
0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x53, 0x69, 0x64, 0x65, 0x52, 0x08, 0x73, 0x65,
0x6c, 0x6c, 0x53, 0x69, 0x64, 0x65, 0x12, 0x30, 0x0a, 0x14, 0x6d, 0x69, 0x6e, 0x5f, 0x73, 0x6c,
0x69, 0x70, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x18, 0x07,
0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x6d, 0x69, 0x6e, 0x53, 0x6c, 0x69, 0x70, 0x70, 0x61, 0x67,
0x65, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x12, 0x30, 0x0a, 0x14, 0x6d, 0x61, 0x78, 0x5f,
0x73, 0x6c, 0x69, 0x70, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74,
0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x6d, 0x61, 0x78, 0x53, 0x6c, 0x69, 0x70, 0x70,
0x61, 0x67, 0x65, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x12, 0x2c, 0x0a, 0x12, 0x6d, 0x61,
0x6b, 0x65, 0x72, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65,
0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6d, 0x61, 0x6b, 0x65, 0x72, 0x46, 0x65, 0x65,
0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x74, 0x61, 0x6b, 0x65,
0x72, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x18, 0x0a,
0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x74, 0x61, 0x6b, 0x65, 0x72, 0x46, 0x65, 0x65, 0x4f, 0x76,
0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x12, 0x34, 0x0a, 0x16, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75,
0x6d, 0x5f, 0x68, 0x6f, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x5f, 0x72, 0x61, 0x74, 0x69, 0x6f,
0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x48,
0x6f, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x12, 0x3b, 0x0a, 0x1a,
0x73, 0x6b, 0x69, 0x70, 0x5f, 0x63, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x5f, 0x76, 0x6f, 0x6c, 0x75,
0x6d, 0x65, 0x5f, 0x66, 0x69, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08,
0x52, 0x17, 0x73, 0x6b, 0x69, 0x70, 0x43, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x56, 0x6f, 0x6c, 0x75,
0x6d, 0x65, 0x46, 0x69, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x39, 0x0a, 0x19, 0x75, 0x73, 0x65,
0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f,
0x6c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, 0x75, 0x73,
0x65, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x4c, 0x69,
0x6d, 0x69, 0x74, 0x73, 0x12, 0x3f, 0x0a, 0x1c, 0x75, 0x73, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68,
0x61, 0x6e, 0x67, 0x65, 0x5f, 0x70, 0x6e, 0x6c, 0x5f, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61,
0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x19, 0x75, 0x73, 0x65, 0x45,
0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x50, 0x6e, 0x6c, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c,
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x35, 0x0a, 0x0c, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x64, 0x65,
0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x62, 0x74,
0x72, 0x70, 0x63, 0x2e, 0x53, 0x70, 0x6f, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52,
0x0b, 0x73, 0x70, 0x6f, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x3e, 0x0a, 0x0f,
0x66, 0x75, 0x74, 0x75, 0x72, 0x65, 0x73, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18,
0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x62, 0x74, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x75,
0x74, 0x75, 0x72, 0x65, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x0e, 0x66, 0x75,
0x74, 0x75, 0x72, 0x65, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0xa9, 0x01, 0x0a,
0x07, 0x41, 0x70, 0x69, 0x44, 0x61, 0x74, 0x61, 0x12, 0x39, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72,
0x74, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67,
0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54,
0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x44,
0x61, 0x74, 0x65, 0x12, 0x35, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18,
0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d,
0x70, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x69, 0x6e,
0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x6e, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65,
0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76,
0x65, 0x45, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x65, 0x22, 0xed, 0x01, 0x0a, 0x08, 0x44, 0x62, 0x43,
0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64,
0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12,
0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x62, 0x6f, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08,
0x52, 0x07, 0x76, 0x65, 0x72, 0x62, 0x6f, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x72, 0x69,
0x76, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x72, 0x69, 0x76, 0x65,
0x72, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52,
0x04, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x05, 0x20,
0x01, 0x28, 0x0d, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65,
0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65,
0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72,
0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72,
0x64, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x18, 0x08, 0x20,
0x01, 0x28, 0x09, 0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x12, 0x19, 0x0a,
0x08, 0x73, 0x73, 0x6c, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52,
0x07, 0x73, 0x73, 0x6c, 0x4d, 0x6f, 0x64, 0x65, 0x22, 0xe5, 0x01, 0x0a, 0x06, 0x44, 0x62, 0x44,
0x61, 0x74, 0x61, 0x12, 0x39, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x64, 0x61, 0x74,
0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74,
0x61, 0x6d, 0x70, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x44, 0x61, 0x74, 0x65, 0x12, 0x35,
0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x65, 0x6e,
0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x27, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18,
0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x62, 0x74, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x62,
0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x12,
0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61,
0x74, 0x68, 0x12, 0x2c, 0x0a, 0x12, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x5f,
0x65, 0x6e, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10,
0x69, 0x6e, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x45, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x65,
0x22, 0x1d, 0x0a, 0x07, 0x43, 0x73, 0x76, 0x44, 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x70,
0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x22,
0xb3, 0x01, 0x0a, 0x19, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x43, 0x6f, 0x6e, 0x6e,
0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x12, 0x0a,
0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x6f, 0x73,
0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52,
0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x6e, 0x61,
0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61,
0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x04,
0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x1a,
0x0a, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09,
0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x73,
0x6c, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x73,
0x6c, 0x4d, 0x6f, 0x64, 0x65, 0x22, 0x96, 0x01, 0x0a, 0x0e, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61,
0x73, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62,
0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c,
0x65, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x62, 0x6f, 0x73, 0x65, 0x18, 0x02, 0x20,
0x01, 0x28, 0x08, 0x52, 0x07, 0x76, 0x65, 0x72, 0x62, 0x6f, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06,
0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x72,
0x69, 0x76, 0x65, 0x72, 0x12, 0x38, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x62, 0x74, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x61, 0x74,
0x61, 0x62, 0x61, 0x73, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44,
0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0xf1,
0x01, 0x0a, 0x0c, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12,
0x39, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52,
0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x44, 0x61, 0x74, 0x65, 0x12, 0x35, 0x0a, 0x08, 0x65, 0x6e,
0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67,
0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54,
0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x44, 0x61, 0x74,
0x65, 0x12, 0x2d, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x15, 0x2e, 0x62, 0x74, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61,
0x73, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
0x70, 0x61, 0x74, 0x68, 0x12, 0x2c, 0x0a, 0x12, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76,
0x65, 0x5f, 0x65, 0x6e, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08,
0x52, 0x10, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x45, 0x6e, 0x64, 0x44, 0x61,
0x74, 0x65, 0x22, 0x1d, 0x0a, 0x07, 0x43, 0x53, 0x56, 0x44, 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a,
0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74,
0x68, 0x22, 0x97, 0x03, 0x0a, 0x08, 0x4c, 0x69, 0x76, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x2a,
0x0a, 0x11, 0x6e, 0x65, 0x77, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65,
0x6f, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x6e, 0x65, 0x77, 0x45, 0x76,
0x65, 0x6e, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x28, 0x0a, 0x10, 0x64, 0x61,
0x74, 0x61, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x72, 0x18, 0x02,
0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x64, 0x61, 0x74, 0x61, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x54,
0x69, 0x6d, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x61, 0x6c, 0x5f, 0x6f, 0x72, 0x64,
0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x72, 0x65, 0x61, 0x6c, 0x4f,
0x72, 0x64, 0x65, 0x72, 0x73, 0x12, 0x35, 0x0a, 0x17, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x5f, 0x70,
0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x6f, 0x70,
0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x50, 0x6f, 0x73,
0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4f, 0x6e, 0x53, 0x74, 0x6f, 0x70, 0x12, 0x3f, 0x0a, 0x1c,
0x64, 0x61, 0x74, 0x61, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x74,
0x72, 0x79, 0x5f, 0x74, 0x6f, 0x6c, 0x65, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01,
0x28, 0x03, 0x52, 0x19, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52,
0x65, 0x74, 0x72, 0x79, 0x54, 0x6f, 0x6c, 0x65, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x3e, 0x0a,
0x1c, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65,
0x74, 0x72, 0x79, 0x5f, 0x77, 0x61, 0x69, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20,
0x01, 0x28, 0x03, 0x52, 0x18, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x52, 0x65, 0x74, 0x72, 0x79, 0x57, 0x61, 0x69, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x26, 0x0a,
0x0f, 0x75, 0x73, 0x65, 0x5f, 0x72, 0x65, 0x61, 0x6c, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x73,
0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x75, 0x73, 0x65, 0x52, 0x65, 0x61, 0x6c, 0x4f,
0x72, 0x64, 0x65, 0x72, 0x73, 0x12, 0x34, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74,
0x69, 0x61, 0x6c, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x62, 0x74, 0x72,
0x70, 0x63, 0x2e, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x52, 0x0b,
0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x22, 0x59, 0x0a, 0x0b, 0x43,
0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x78,
0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x78,
0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x2e, 0x0a, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x02,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x62, 0x74, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x63,
0x68, 0x61, 0x6e, 0x67, 0x65, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73,
0x52, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x22, 0xc2, 0x01, 0x0a, 0x13, 0x45, 0x78, 0x63, 0x68, 0x61,
0x6e, 0x67, 0x65, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x10,
0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79,
0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
0x52, 0x06, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6c, 0x69, 0x65,
0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6c, 0x69,
0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x70, 0x65, 0x6d, 0x5f, 0x6b, 0x65, 0x79,
0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x65, 0x6d, 0x4b, 0x65, 0x79, 0x12, 0x1f,
0x0a, 0x0b, 0x73, 0x75, 0x62, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20,
0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x75, 0x62, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12,
0x2a, 0x0a, 0x11, 0x6f, 0x6e, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x70, 0x61, 0x73, 0x73,
0x77, 0x6f, 0x72, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x6f, 0x6e, 0x65, 0x54,
0x69, 0x6d, 0x65, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x22, 0x84, 0x02, 0x0a, 0x0c,
0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x1a, 0x0a, 0x08,
0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08,
0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x61, 0x74, 0x61,
0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x64, 0x61, 0x74, 0x61,
0x74, 0x79, 0x70, 0x65, 0x12, 0x29, 0x0a, 0x08, 0x61, 0x70, 0x69, 0x5f, 0x64, 0x61, 0x74, 0x61,
0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x62, 0x74, 0x72, 0x70, 0x63, 0x2e, 0x41,
0x70, 0x69, 0x44, 0x61, 0x74, 0x61, 0x52, 0x07, 0x61, 0x70, 0x69, 0x44, 0x61, 0x74, 0x61, 0x12,
0x38, 0x0a, 0x0d, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x61,
0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x62, 0x74, 0x72, 0x70, 0x63, 0x2e, 0x44,
0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0c, 0x64, 0x61, 0x74,
0x61, 0x62, 0x61, 0x73, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x29, 0x0a, 0x08, 0x63, 0x73, 0x76,
0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x62, 0x74,
0x72, 0x70, 0x63, 0x2e, 0x43, 0x53, 0x56, 0x44, 0x61, 0x74, 0x61, 0x52, 0x07, 0x63, 0x73, 0x76,
0x44, 0x61, 0x74, 0x61, 0x12, 0x2c, 0x0a, 0x09, 0x6c, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x61, 0x74,
0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x62, 0x74, 0x72, 0x70, 0x63, 0x2e,
0x4c, 0x69, 0x76, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6c, 0x69, 0x76, 0x65, 0x44, 0x61,
0x74, 0x61, 0x22, 0xfd, 0x01, 0x0a, 0x08, 0x4c, 0x65, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x12,
0x28, 0x0a, 0x10, 0x63, 0x61, 0x6e, 0x5f, 0x75, 0x73, 0x65, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x72,
0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x63, 0x61, 0x6e, 0x55, 0x73,
0x65, 0x4c, 0x65, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x12, 0x4a, 0x0a, 0x22, 0x6d, 0x61, 0x78,
0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x77, 0x69, 0x74, 0x68,
0x5f, 0x6c, 0x65, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x18,
0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1e, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x4f, 0x72,
0x64, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4c, 0x65, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65,
0x52, 0x61, 0x74, 0x69, 0x6f, 0x12, 0x32, 0x0a, 0x15, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d,
0x5f, 0x6c, 0x65, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x03,
0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x4c, 0x65, 0x76,
0x65, 0x72, 0x61, 0x67, 0x65, 0x52, 0x61, 0x74, 0x65, 0x12, 0x47, 0x0a, 0x20, 0x6d, 0x61, 0x78,
0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x5f,
0x6c, 0x65, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20,
0x01, 0x28, 0x09, 0x52, 0x1d, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x43, 0x6f, 0x6c, 0x6c,
0x61, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x4c, 0x65, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x52, 0x61,
0x74, 0x65, 0x22, 0xa2, 0x01, 0x0a, 0x11, 0x50, 0x6f, 0x72, 0x74, 0x66, 0x6f, 0x6c, 0x69, 0x6f,
0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x2b, 0x0a, 0x08, 0x6c, 0x65, 0x76, 0x65,
0x72, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x62, 0x74, 0x72,
0x70, 0x63, 0x2e, 0x4c, 0x65, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x52, 0x08, 0x6c, 0x65, 0x76,
0x65, 0x72, 0x61, 0x67, 0x65, 0x12, 0x2e, 0x0a, 0x08, 0x62, 0x75, 0x79, 0x5f, 0x73, 0x69, 0x64,
0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x62, 0x74, 0x72, 0x70, 0x63, 0x2e,
0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x53, 0x69, 0x64, 0x65, 0x52, 0x07, 0x62, 0x75,
0x79, 0x53, 0x69, 0x64, 0x65, 0x12, 0x30, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x6c, 0x5f, 0x73, 0x69,
0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x62, 0x74, 0x72, 0x70, 0x63,
0x2e, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x53, 0x69, 0x64, 0x65, 0x52, 0x08, 0x73,
0x65, 0x6c, 0x6c, 0x53, 0x69, 0x64, 0x65, 0x22, 0x39, 0x0a, 0x11, 0x53, 0x74, 0x61, 0x74, 0x69,
0x73, 0x74, 0x69, 0x63, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x24, 0x0a, 0x0e,
0x72, 0x69, 0x73, 0x6b, 0x5f, 0x66, 0x72, 0x65, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x01,
0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x69, 0x73, 0x6b, 0x46, 0x72, 0x65, 0x65, 0x52, 0x61,
0x74, 0x65, 0x22, 0xd3, 0x03, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1a, 0x0a,
0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x67, 0x6f, 0x61,
0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x67, 0x6f, 0x61, 0x6c, 0x12, 0x44, 0x0a,
0x11, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e,
0x67, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x62, 0x74, 0x72, 0x70, 0x63,
0x2e, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67,
0x73, 0x52, 0x10, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x53, 0x65, 0x74, 0x74, 0x69,
0x6e, 0x67, 0x73, 0x12, 0x41, 0x0a, 0x10, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x73,
0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e,
0x62, 0x74, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x74,
0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x0f, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x65,
0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x44, 0x0a, 0x11, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e,
0x63, 0x79, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x17, 0x2e, 0x62, 0x74, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e,
0x63, 0x79, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x10, 0x63, 0x75, 0x72, 0x72,
0x65, 0x6e, 0x63, 0x79, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x38, 0x0a, 0x0d,
0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x06, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x62, 0x74, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x61, 0x74, 0x61,
0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x0c, 0x64, 0x61, 0x74, 0x61, 0x53, 0x65,
0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x47, 0x0a, 0x12, 0x70, 0x6f, 0x72, 0x74, 0x66, 0x6f,
0x6c, 0x69, 0x6f, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x07, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x18, 0x2e, 0x62, 0x74, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x66,
0x6f, 0x6c, 0x69, 0x6f, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x11, 0x70, 0x6f,
0x72, 0x74, 0x66, 0x6f, 0x6c, 0x69, 0x6f, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12,
0x47, 0x0a, 0x12, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x5f, 0x73, 0x65, 0x74,
0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x62, 0x74,
0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x53, 0x65, 0x74,
0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x11, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63,
0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x22, 0x81, 0x02, 0x0a, 0x0b, 0x54, 0x61, 0x73,
0x6b, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01,
0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x74, 0x72, 0x61,
0x74, 0x65, 0x67, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
0x0c, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a,
0x0b, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01,
0x28, 0x09, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x65, 0x4c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x12, 0x21,
0x0a, 0x0c, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x18, 0x04,
0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x65,
0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x18,
0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x64, 0x65, 0x64,
0x12, 0x16, 0x0a, 0x06, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08,
0x52, 0x06, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x6c, 0x69, 0x76, 0x65,
0x5f, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b,
0x6c, 0x69, 0x76, 0x65, 0x54, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x1f, 0x0a, 0x0b, 0x72,
0x65, 0x61, 0x6c, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08,
0x52, 0x0a, 0x72, 0x65, 0x61, 0x6c, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x22, 0xe6, 0x02, 0x0a,
0x1e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79,
0x46, 0x72, 0x6f, 0x6d, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
0x2c, 0x0a, 0x12, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x5f, 0x66, 0x69, 0x6c, 0x65,
0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x73, 0x74, 0x72,
0x61, 0x74, 0x65, 0x67, 0x79, 0x46, 0x69, 0x6c, 0x65, 0x50, 0x61, 0x74, 0x68, 0x12, 0x33, 0x0a,
0x16, 0x64, 0x6f, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x6d, 0x6d, 0x65,
0x64, 0x69, 0x61, 0x74, 0x65, 0x6c, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x64,
0x6f, 0x4e, 0x6f, 0x74, 0x52, 0x75, 0x6e, 0x49, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65,
0x6c, 0x79, 0x12, 0x20, 0x0a, 0x0c, 0x64, 0x6f, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x73, 0x74, 0x6f,
0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x64, 0x6f, 0x4e, 0x6f, 0x74, 0x53,
0x74, 0x6f, 0x72, 0x65, 0x12, 0x4a, 0x0a, 0x13, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69,
0x6d, 0x65, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x11, 0x73,
0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65,
0x12, 0x46, 0x0a, 0x11, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6f, 0x76, 0x65,
0x72, 0x72, 0x69, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f,
0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69,
0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0f, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65,
0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x69, 0x6e, 0x74, 0x65,
0x72, 0x76, 0x61, 0x6c, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x18, 0x06, 0x20,
0x01, 0x28, 0x04, 0x52, 0x10, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x4f, 0x76, 0x65,
0x72, 0x72, 0x69, 0x64, 0x65, 0x22, 0x41, 0x0a, 0x17, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65,
0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
0x12, 0x26, 0x0a, 0x04, 0x74, 0x61, 0x73, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12,
0x2e, 0x62, 0x74, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x75, 0x6d, 0x6d, 0x61,
0x72, 0x79, 0x52, 0x04, 0x74, 0x61, 0x73, 0x6b, 0x22, 0xa0, 0x01, 0x0a, 0x20, 0x45, 0x78, 0x65,
0x63, 0x75, 0x74, 0x65, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x46, 0x72, 0x6f, 0x6d,
0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x33, 0x0a,
0x16, 0x64, 0x6f, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x6d, 0x6d, 0x65,
0x64, 0x69, 0x61, 0x74, 0x65, 0x6c, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x64,
0x6f, 0x4e, 0x6f, 0x74, 0x52, 0x75, 0x6e, 0x49, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65,
0x6c, 0x79, 0x12, 0x20, 0x0a, 0x0c, 0x64, 0x6f, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x73, 0x74, 0x6f,
0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x64, 0x6f, 0x4e, 0x6f, 0x74, 0x53,
0x74, 0x6f, 0x72, 0x65, 0x12, 0x25, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x62, 0x74, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x6e,
0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x15, 0x0a, 0x13, 0x4c,
0x69, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65,
0x73, 0x74, 0x22, 0x40, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x61, 0x73,
0x6b, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x28, 0x0a, 0x05, 0x74, 0x61,
0x73, 0x6b, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x62, 0x74, 0x72, 0x70,
0x63, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x05, 0x74,
0x61, 0x73, 0x6b, 0x73, 0x22, 0x21, 0x0a, 0x0f, 0x53, 0x74, 0x6f, 0x70, 0x54, 0x61, 0x73, 0x6b,
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20,
0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x49, 0x0a, 0x10, 0x53, 0x74, 0x6f, 0x70, 0x54,
0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x0c, 0x73,
0x74, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x12, 0x2e, 0x62, 0x74, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x75,
0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x0b, 0x73, 0x74, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x54, 0x61,
0x73, 0x6b, 0x22, 0x22, 0x0a, 0x10, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x52,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x2d, 0x0a, 0x11, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54,
0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73,
0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x74,
0x61, 0x72, 0x74, 0x65, 0x64, 0x22, 0x16, 0x0a, 0x14, 0x53, 0x74, 0x61, 0x72, 0x74, 0x41, 0x6c,
0x6c, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x3c, 0x0a,
0x15, 0x53, 0x74, 0x61, 0x72, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x52, 0x65,
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x5f,
0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x74,
0x61, 0x73, 0x6b, 0x73, 0x53, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x22, 0x15, 0x0a, 0x13, 0x53,
0x74, 0x6f, 0x70, 0x41, 0x6c, 0x6c, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65,
0x73, 0x74, 0x22, 0x4f, 0x0a, 0x14, 0x53, 0x74, 0x6f, 0x70, 0x41, 0x6c, 0x6c, 0x54, 0x61, 0x73,
0x6b, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x37, 0x0a, 0x0d, 0x74, 0x61,
0x73, 0x6b, 0x73, 0x5f, 0x73, 0x74, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x12, 0x2e, 0x62, 0x74, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x75,
0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x0c, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x53, 0x74, 0x6f, 0x70,
0x70, 0x65, 0x64, 0x22, 0x22, 0x0a, 0x10, 0x43, 0x6c, 0x65, 0x61, 0x72, 0x54, 0x61, 0x73, 0x6b,
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20,
0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x4a, 0x0a, 0x11, 0x43, 0x6c, 0x65, 0x61, 0x72,
0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x0c,
0x63, 0x6c, 0x65, 0x61, 0x72, 0x65, 0x64, 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x18, 0x01, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x12, 0x2e, 0x62, 0x74, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x53,
0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x0b, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x65, 0x64, 0x54,
0x61, 0x73, 0x6b, 0x22, 0x16, 0x0a, 0x14, 0x43, 0x6c, 0x65, 0x61, 0x72, 0x41, 0x6c, 0x6c, 0x54,
0x61, 0x73, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x8d, 0x01, 0x0a, 0x15,
0x43, 0x6c, 0x65, 0x61, 0x72, 0x41, 0x6c, 0x6c, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x52, 0x65, 0x73,
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x37, 0x0a, 0x0d, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x65, 0x64,
0x5f, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x62,
0x74, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79,
0x52, 0x0c, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x65, 0x64, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x12, 0x3b,
0x0a, 0x0f, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x61, 0x73, 0x6b,
0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x62, 0x74, 0x72, 0x70, 0x63, 0x2e,
0x54, 0x61, 0x73, 0x6b, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x0e, 0x72, 0x65, 0x6d,
0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x32, 0xbe, 0x07, 0x0a, 0x11,
0x42, 0x61, 0x63, 0x6b, 0x74, 0x65, 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63,
0x65, 0x12, 0x85, 0x01, 0x0a, 0x17, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x53, 0x74, 0x72,
0x61, 0x74, 0x65, 0x67, 0x79, 0x46, 0x72, 0x6f, 0x6d, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x25, 0x2e,
0x62, 0x74, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x53, 0x74, 0x72,
0x61, 0x74, 0x65, 0x67, 0x79, 0x46, 0x72, 0x6f, 0x6d, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x62, 0x74, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x65,
0x63, 0x75, 0x74, 0x65, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x52, 0x65, 0x73, 0x70,
0x6f, 0x6e, 0x73, 0x65, 0x22, 0x23, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x22, 0x1b, 0x2f, 0x76,
0x31, 0x2f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67,
0x79, 0x66, 0x72, 0x6f, 0x6d, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x8b, 0x01, 0x0a, 0x19, 0x45, 0x78,
0x65, 0x63, 0x75, 0x74, 0x65, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x46, 0x72, 0x6f,
0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x27, 0x2e, 0x62, 0x74, 0x72, 0x70, 0x63, 0x2e,
0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x46,
0x72, 0x6f, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x1a, 0x1e, 0x2e, 0x62, 0x74, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65,
0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
0x22, 0x25, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x22, 0x1d, 0x2f, 0x76, 0x31, 0x2f, 0x65, 0x78,
0x65, 0x63, 0x75, 0x74, 0x65, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x66, 0x72, 0x6f,
0x6d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x61, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x41,
0x6c, 0x6c, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x12, 0x1a, 0x2e, 0x62, 0x74, 0x72, 0x70, 0x63, 0x2e,
0x4c, 0x69, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x62, 0x74, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x69, 0x73, 0x74,
0x41, 0x6c, 0x6c, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
0x22, 0x18, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x12, 0x12, 0x10, 0x2f, 0x76, 0x31, 0x2f, 0x6c, 0x69,
0x73, 0x74, 0x61, 0x6c, 0x6c, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x12, 0x55, 0x0a, 0x09, 0x53, 0x74,
0x61, 0x72, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x17, 0x2e, 0x62, 0x74, 0x72, 0x70, 0x63, 0x2e,
0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x1a, 0x18, 0x2e, 0x62, 0x74, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x61,
0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x15, 0x82, 0xd3, 0xe4, 0x93,
0x02, 0x0f, 0x22, 0x0d, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x74, 0x61, 0x73,
0x6b, 0x12, 0x65, 0x0a, 0x0d, 0x53, 0x74, 0x61, 0x72, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x61, 0x73,
0x6b, 0x73, 0x12, 0x1b, 0x2e, 0x62, 0x74, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74,
0x41, 0x6c, 0x6c, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
0x1c, 0x2e, 0x62, 0x74, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x41, 0x6c, 0x6c,
0x54, 0x61, 0x73, 0x6b, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x19, 0x82,
0xd3, 0xe4, 0x93, 0x02, 0x13, 0x22, 0x11, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x74, 0x61, 0x72, 0x74,
0x61, 0x6c, 0x6c, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x12, 0x51, 0x0a, 0x08, 0x53, 0x74, 0x6f, 0x70,
0x54, 0x61, 0x73, 0x6b, 0x12, 0x16, 0x2e, 0x62, 0x74, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x6f,
0x70, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x62,
0x74, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73,
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x14, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0e, 0x22, 0x0c, 0x2f,
0x76, 0x31, 0x2f, 0x73, 0x74, 0x6f, 0x70, 0x74, 0x61, 0x73, 0x6b, 0x12, 0x61, 0x0a, 0x0c, 0x53,
0x74, 0x6f, 0x70, 0x41, 0x6c, 0x6c, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x12, 0x1a, 0x2e, 0x62, 0x74,
0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x41, 0x6c, 0x6c, 0x54, 0x61, 0x73, 0x6b, 0x73,
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x62, 0x74, 0x72, 0x70, 0x63, 0x2e,
0x53, 0x74, 0x6f, 0x70, 0x41, 0x6c, 0x6c, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x52, 0x65, 0x73, 0x70,
0x6f, 0x6e, 0x73, 0x65, 0x22, 0x18, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x12, 0x22, 0x10, 0x2f, 0x76,
0x31, 0x2f, 0x73, 0x74, 0x6f, 0x70, 0x61, 0x6c, 0x6c, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x12, 0x55,
0x0a, 0x09, 0x43, 0x6c, 0x65, 0x61, 0x72, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x17, 0x2e, 0x62, 0x74,
0x72, 0x70, 0x63, 0x2e, 0x43, 0x6c, 0x65, 0x61, 0x72, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x62, 0x74, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6c, 0x65,
0x61, 0x72, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x15,
0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0f, 0x2a, 0x0d, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6c, 0x65, 0x61,
0x72, 0x74, 0x61, 0x73, 0x6b, 0x12, 0x65, 0x0a, 0x0d, 0x43, 0x6c, 0x65, 0x61, 0x72, 0x41, 0x6c,
0x6c, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x12, 0x1b, 0x2e, 0x62, 0x74, 0x72, 0x70, 0x63, 0x2e, 0x43,
0x6c, 0x65, 0x61, 0x72, 0x41, 0x6c, 0x6c, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x62, 0x74, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6c, 0x65, 0x61,
0x72, 0x41, 0x6c, 0x6c, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
0x65, 0x22, 0x19, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x13, 0x2a, 0x11, 0x2f, 0x76, 0x31, 0x2f, 0x63,
0x6c, 0x65, 0x61, 0x72, 0x61, 0x6c, 0x6c, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x42, 0x3a, 0x5a, 0x38,
0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x74, 0x68, 0x72, 0x61, 0x73,
0x68, 0x65, 0x72, 0x2d, 0x63, 0x6f, 0x72, 0x70, 0x2f, 0x67, 0x6f, 0x63, 0x72, 0x79, 0x70, 0x74,
0x6f, 0x74, 0x72, 0x61, 0x64, 0x65, 0x72, 0x2f, 0x62, 0x61, 0x63, 0x6b, 0x74, 0x65, 0x73, 0x74,
0x65, 0x72, 0x2f, 0x62, 0x74, 0x72, 0x70, 0x63, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
file_btrpc_proto_rawDescOnce sync.Once
file_btrpc_proto_rawDescData = file_btrpc_proto_rawDesc
)
func file_btrpc_proto_rawDescGZIP() []byte {
file_btrpc_proto_rawDescOnce.Do(func() {
file_btrpc_proto_rawDescData = protoimpl.X.CompressGZIP(file_btrpc_proto_rawDescData)
})
return file_btrpc_proto_rawDescData
}
var file_btrpc_proto_msgTypes = make([]protoimpl.MessageInfo, 42)
var file_btrpc_proto_goTypes = []interface{}{
(*StrategySettings)(nil), // 0: btrpc.StrategySettings
(*CustomSettings)(nil), // 1: btrpc.CustomSettings
(*ExchangeLevelFunding)(nil), // 2: btrpc.ExchangeLevelFunding
(*FundingSettings)(nil), // 3: btrpc.FundingSettings
(*PurchaseSide)(nil), // 4: btrpc.PurchaseSide
(*SpotDetails)(nil), // 5: btrpc.SpotDetails
(*FuturesDetails)(nil), // 6: btrpc.FuturesDetails
(*CurrencySettings)(nil), // 7: btrpc.CurrencySettings
(*ApiData)(nil), // 8: btrpc.ApiData
(*DbConfig)(nil), // 9: btrpc.DbConfig
(*DbData)(nil), // 10: btrpc.DbData
(*CsvData)(nil), // 11: btrpc.CsvData
(*DatabaseConnectionDetails)(nil), // 12: btrpc.DatabaseConnectionDetails
(*DatabaseConfig)(nil), // 13: btrpc.DatabaseConfig
(*DatabaseData)(nil), // 14: btrpc.DatabaseData
(*CSVData)(nil), // 15: btrpc.CSVData
(*LiveData)(nil), // 16: btrpc.LiveData
(*Credentials)(nil), // 17: btrpc.Credentials
(*ExchangeCredentials)(nil), // 18: btrpc.ExchangeCredentials
(*DataSettings)(nil), // 19: btrpc.DataSettings
(*Leverage)(nil), // 20: btrpc.Leverage
(*PortfolioSettings)(nil), // 21: btrpc.PortfolioSettings
(*StatisticSettings)(nil), // 22: btrpc.StatisticSettings
(*Config)(nil), // 23: btrpc.Config
(*TaskSummary)(nil), // 24: btrpc.TaskSummary
(*ExecuteStrategyFromFileRequest)(nil), // 25: btrpc.ExecuteStrategyFromFileRequest
(*ExecuteStrategyResponse)(nil), // 26: btrpc.ExecuteStrategyResponse
(*ExecuteStrategyFromConfigRequest)(nil), // 27: btrpc.ExecuteStrategyFromConfigRequest
(*ListAllTasksRequest)(nil), // 28: btrpc.ListAllTasksRequest
(*ListAllTasksResponse)(nil), // 29: btrpc.ListAllTasksResponse
(*StopTaskRequest)(nil), // 30: btrpc.StopTaskRequest
(*StopTaskResponse)(nil), // 31: btrpc.StopTaskResponse
(*StartTaskRequest)(nil), // 32: btrpc.StartTaskRequest
(*StartTaskResponse)(nil), // 33: btrpc.StartTaskResponse
(*StartAllTasksRequest)(nil), // 34: btrpc.StartAllTasksRequest
(*StartAllTasksResponse)(nil), // 35: btrpc.StartAllTasksResponse
(*StopAllTasksRequest)(nil), // 36: btrpc.StopAllTasksRequest
(*StopAllTasksResponse)(nil), // 37: btrpc.StopAllTasksResponse
(*ClearTaskRequest)(nil), // 38: btrpc.ClearTaskRequest
(*ClearTaskResponse)(nil), // 39: btrpc.ClearTaskResponse
(*ClearAllTasksRequest)(nil), // 40: btrpc.ClearAllTasksRequest
(*ClearAllTasksResponse)(nil), // 41: btrpc.ClearAllTasksResponse
(*timestamppb.Timestamp)(nil), // 42: google.protobuf.Timestamp
}
var file_btrpc_proto_depIdxs = []int32{
1, // 0: btrpc.StrategySettings.custom_settings:type_name -> btrpc.CustomSettings
2, // 1: btrpc.FundingSettings.exchange_level_funding:type_name -> btrpc.ExchangeLevelFunding
20, // 2: btrpc.FuturesDetails.leverage:type_name -> btrpc.Leverage
4, // 3: btrpc.CurrencySettings.buy_side:type_name -> btrpc.PurchaseSide
4, // 4: btrpc.CurrencySettings.sell_side:type_name -> btrpc.PurchaseSide
5, // 5: btrpc.CurrencySettings.spot_details:type_name -> btrpc.SpotDetails
6, // 6: btrpc.CurrencySettings.futures_details:type_name -> btrpc.FuturesDetails
42, // 7: btrpc.ApiData.start_date:type_name -> google.protobuf.Timestamp
42, // 8: btrpc.ApiData.end_date:type_name -> google.protobuf.Timestamp
42, // 9: btrpc.DbData.start_date:type_name -> google.protobuf.Timestamp
42, // 10: btrpc.DbData.end_date:type_name -> google.protobuf.Timestamp
9, // 11: btrpc.DbData.config:type_name -> btrpc.DbConfig
12, // 12: btrpc.DatabaseConfig.config:type_name -> btrpc.DatabaseConnectionDetails
42, // 13: btrpc.DatabaseData.start_date:type_name -> google.protobuf.Timestamp
42, // 14: btrpc.DatabaseData.end_date:type_name -> google.protobuf.Timestamp
13, // 15: btrpc.DatabaseData.config:type_name -> btrpc.DatabaseConfig
17, // 16: btrpc.LiveData.credentials:type_name -> btrpc.Credentials
18, // 17: btrpc.Credentials.keys:type_name -> btrpc.ExchangeCredentials
8, // 18: btrpc.DataSettings.api_data:type_name -> btrpc.ApiData
14, // 19: btrpc.DataSettings.database_data:type_name -> btrpc.DatabaseData
15, // 20: btrpc.DataSettings.csv_data:type_name -> btrpc.CSVData
16, // 21: btrpc.DataSettings.live_data:type_name -> btrpc.LiveData
20, // 22: btrpc.PortfolioSettings.leverage:type_name -> btrpc.Leverage
4, // 23: btrpc.PortfolioSettings.buy_side:type_name -> btrpc.PurchaseSide
4, // 24: btrpc.PortfolioSettings.sell_side:type_name -> btrpc.PurchaseSide
0, // 25: btrpc.Config.strategy_settings:type_name -> btrpc.StrategySettings
3, // 26: btrpc.Config.funding_settings:type_name -> btrpc.FundingSettings
7, // 27: btrpc.Config.currency_settings:type_name -> btrpc.CurrencySettings
19, // 28: btrpc.Config.data_settings:type_name -> btrpc.DataSettings
21, // 29: btrpc.Config.portfolio_settings:type_name -> btrpc.PortfolioSettings
22, // 30: btrpc.Config.statistic_settings:type_name -> btrpc.StatisticSettings
42, // 31: btrpc.ExecuteStrategyFromFileRequest.start_time_override:type_name -> google.protobuf.Timestamp
42, // 32: btrpc.ExecuteStrategyFromFileRequest.end_time_override:type_name -> google.protobuf.Timestamp
24, // 33: btrpc.ExecuteStrategyResponse.task:type_name -> btrpc.TaskSummary
23, // 34: btrpc.ExecuteStrategyFromConfigRequest.config:type_name -> btrpc.Config
24, // 35: btrpc.ListAllTasksResponse.tasks:type_name -> btrpc.TaskSummary
24, // 36: btrpc.StopTaskResponse.stopped_task:type_name -> btrpc.TaskSummary
24, // 37: btrpc.StopAllTasksResponse.tasks_stopped:type_name -> btrpc.TaskSummary
24, // 38: btrpc.ClearTaskResponse.cleared_task:type_name -> btrpc.TaskSummary
24, // 39: btrpc.ClearAllTasksResponse.cleared_tasks:type_name -> btrpc.TaskSummary
24, // 40: btrpc.ClearAllTasksResponse.remaining_tasks:type_name -> btrpc.TaskSummary
25, // 41: btrpc.BacktesterService.ExecuteStrategyFromFile:input_type -> btrpc.ExecuteStrategyFromFileRequest
27, // 42: btrpc.BacktesterService.ExecuteStrategyFromConfig:input_type -> btrpc.ExecuteStrategyFromConfigRequest
28, // 43: btrpc.BacktesterService.ListAllTasks:input_type -> btrpc.ListAllTasksRequest
32, // 44: btrpc.BacktesterService.StartTask:input_type -> btrpc.StartTaskRequest
34, // 45: btrpc.BacktesterService.StartAllTasks:input_type -> btrpc.StartAllTasksRequest
30, // 46: btrpc.BacktesterService.StopTask:input_type -> btrpc.StopTaskRequest
36, // 47: btrpc.BacktesterService.StopAllTasks:input_type -> btrpc.StopAllTasksRequest
38, // 48: btrpc.BacktesterService.ClearTask:input_type -> btrpc.ClearTaskRequest
40, // 49: btrpc.BacktesterService.ClearAllTasks:input_type -> btrpc.ClearAllTasksRequest
26, // 50: btrpc.BacktesterService.ExecuteStrategyFromFile:output_type -> btrpc.ExecuteStrategyResponse
26, // 51: btrpc.BacktesterService.ExecuteStrategyFromConfig:output_type -> btrpc.ExecuteStrategyResponse
29, // 52: btrpc.BacktesterService.ListAllTasks:output_type -> btrpc.ListAllTasksResponse
33, // 53: btrpc.BacktesterService.StartTask:output_type -> btrpc.StartTaskResponse
35, // 54: btrpc.BacktesterService.StartAllTasks:output_type -> btrpc.StartAllTasksResponse
31, // 55: btrpc.BacktesterService.StopTask:output_type -> btrpc.StopTaskResponse
37, // 56: btrpc.BacktesterService.StopAllTasks:output_type -> btrpc.StopAllTasksResponse
39, // 57: btrpc.BacktesterService.ClearTask:output_type -> btrpc.ClearTaskResponse
41, // 58: btrpc.BacktesterService.ClearAllTasks:output_type -> btrpc.ClearAllTasksResponse
50, // [50:59] is the sub-list for method output_type
41, // [41:50] is the sub-list for method input_type
41, // [41:41] is the sub-list for extension type_name
41, // [41:41] is the sub-list for extension extendee
0, // [0:41] is the sub-list for field type_name
}
func init() { file_btrpc_proto_init() }
func file_btrpc_proto_init() {
if File_btrpc_proto != nil {
return
}
if !protoimpl.UnsafeEnabled {
file_btrpc_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*StrategySettings); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_btrpc_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CustomSettings); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_btrpc_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ExchangeLevelFunding); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_btrpc_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*FundingSettings); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_btrpc_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PurchaseSide); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_btrpc_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SpotDetails); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_btrpc_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*FuturesDetails); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_btrpc_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CurrencySettings); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_btrpc_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ApiData); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_btrpc_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DbConfig); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_btrpc_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DbData); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_btrpc_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CsvData); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_btrpc_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DatabaseConnectionDetails); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_btrpc_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DatabaseConfig); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_btrpc_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DatabaseData); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_btrpc_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CSVData); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_btrpc_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*LiveData); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_btrpc_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Credentials); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_btrpc_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ExchangeCredentials); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_btrpc_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DataSettings); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_btrpc_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Leverage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_btrpc_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PortfolioSettings); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_btrpc_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*StatisticSettings); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_btrpc_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Config); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_btrpc_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*TaskSummary); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_btrpc_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ExecuteStrategyFromFileRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_btrpc_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ExecuteStrategyResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_btrpc_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ExecuteStrategyFromConfigRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_btrpc_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ListAllTasksRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_btrpc_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ListAllTasksResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_btrpc_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*StopTaskRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_btrpc_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*StopTaskResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_btrpc_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*StartTaskRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_btrpc_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*StartTaskResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_btrpc_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*StartAllTasksRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_btrpc_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*StartAllTasksResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_btrpc_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*StopAllTasksRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_btrpc_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*StopAllTasksResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_btrpc_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ClearTaskRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_btrpc_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ClearTaskResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_btrpc_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ClearAllTasksRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_btrpc_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ClearAllTasksResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_btrpc_proto_rawDesc,
NumEnums: 0,
NumMessages: 42,
NumExtensions: 0,
NumServices: 1,
},
GoTypes: file_btrpc_proto_goTypes,
DependencyIndexes: file_btrpc_proto_depIdxs,
MessageInfos: file_btrpc_proto_msgTypes,
}.Build()
File_btrpc_proto = out.File
file_btrpc_proto_rawDesc = nil
file_btrpc_proto_goTypes = nil
file_btrpc_proto_depIdxs = nil
}