Files
gocryptotrader/backtester/btrpc/btrpc.pb.go
Scott 2232478415 backtester: run manager (#1040)
* begins defining run management options

* fleshes out concept

* completes fund manager and RPC commands

* coverage and improvements

* adds coverage, and bad log concept

* simplifies output at expense of races

* removes run logging for now. tightens races. adds cov

* Lints thine splints

* Fixes stopping and clearing bugs

* some niteroos

* fix races
2022-09-30 14:15:10 +10:00

3633 lines
127 KiB
Go

// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.28.1
// 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
ApiKeyOverride string `protobuf:"bytes,1,opt,name=api_key_override,json=apiKeyOverride,proto3" json:"api_key_override,omitempty"`
ApiSecretOverride string `protobuf:"bytes,2,opt,name=api_secret_override,json=apiSecretOverride,proto3" json:"api_secret_override,omitempty"`
ApiClientIdOverride string `protobuf:"bytes,3,opt,name=api_client_id_override,json=apiClientIdOverride,proto3" json:"api_client_id_override,omitempty"`
Api_2FaOverride string `protobuf:"bytes,4,opt,name=api_2fa_override,json=api2faOverride,proto3" json:"api_2fa_override,omitempty"`
ApiSubAccountOverride string `protobuf:"bytes,5,opt,name=api_sub_account_override,json=apiSubAccountOverride,proto3" json:"api_sub_account_override,omitempty"`
UseRealOrders bool `protobuf:"varint,6,opt,name=use_real_orders,json=useRealOrders,proto3" json:"use_real_orders,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) GetApiKeyOverride() string {
if x != nil {
return x.ApiKeyOverride
}
return ""
}
func (x *LiveData) GetApiSecretOverride() string {
if x != nil {
return x.ApiSecretOverride
}
return ""
}
func (x *LiveData) GetApiClientIdOverride() string {
if x != nil {
return x.ApiClientIdOverride
}
return ""
}
func (x *LiveData) GetApi_2FaOverride() string {
if x != nil {
return x.Api_2FaOverride
}
return ""
}
func (x *LiveData) GetApiSubAccountOverride() string {
if x != nil {
return x.ApiSubAccountOverride
}
return ""
}
func (x *LiveData) GetUseRealOrders() bool {
if x != nil {
return x.UseRealOrders
}
return false
}
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[17]
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[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 DataSettings.ProtoReflect.Descriptor instead.
func (*DataSettings) Descriptor() ([]byte, []int) {
return file_btrpc_proto_rawDescGZIP(), []int{17}
}
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[18]
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[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 Leverage.ProtoReflect.Descriptor instead.
func (*Leverage) Descriptor() ([]byte, []int) {
return file_btrpc_proto_rawDescGZIP(), []int{18}
}
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[19]
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[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 PortfolioSettings.ProtoReflect.Descriptor instead.
func (*PortfolioSettings) Descriptor() ([]byte, []int) {
return file_btrpc_proto_rawDescGZIP(), []int{19}
}
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[20]
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[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 StatisticSettings.ProtoReflect.Descriptor instead.
func (*StatisticSettings) Descriptor() ([]byte, []int) {
return file_btrpc_proto_rawDescGZIP(), []int{20}
}
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[21]
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[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 Config.ProtoReflect.Descriptor instead.
func (*Config) Descriptor() ([]byte, []int) {
return file_btrpc_proto_rawDescGZIP(), []int{21}
}
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 RunSummary 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 *RunSummary) Reset() {
*x = RunSummary{}
if protoimpl.UnsafeEnabled {
mi := &file_btrpc_proto_msgTypes[22]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *RunSummary) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RunSummary) ProtoMessage() {}
func (x *RunSummary) 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 RunSummary.ProtoReflect.Descriptor instead.
func (*RunSummary) Descriptor() ([]byte, []int) {
return file_btrpc_proto_rawDescGZIP(), []int{22}
}
func (x *RunSummary) GetId() string {
if x != nil {
return x.Id
}
return ""
}
func (x *RunSummary) GetStrategyName() string {
if x != nil {
return x.StrategyName
}
return ""
}
func (x *RunSummary) GetDateLoaded() string {
if x != nil {
return x.DateLoaded
}
return ""
}
func (x *RunSummary) GetDateStarted() string {
if x != nil {
return x.DateStarted
}
return ""
}
func (x *RunSummary) GetDateEnded() string {
if x != nil {
return x.DateEnded
}
return ""
}
func (x *RunSummary) GetClosed() bool {
if x != nil {
return x.Closed
}
return false
}
func (x *RunSummary) GetLiveTesting() bool {
if x != nil {
return x.LiveTesting
}
return false
}
func (x *RunSummary) 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"`
}
func (x *ExecuteStrategyFromFileRequest) Reset() {
*x = ExecuteStrategyFromFileRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_btrpc_proto_msgTypes[23]
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[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 ExecuteStrategyFromFileRequest.ProtoReflect.Descriptor instead.
func (*ExecuteStrategyFromFileRequest) Descriptor() ([]byte, []int) {
return file_btrpc_proto_rawDescGZIP(), []int{23}
}
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
}
type ExecuteStrategyResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Run *RunSummary `protobuf:"bytes,1,opt,name=run,proto3" json:"run,omitempty"`
}
func (x *ExecuteStrategyResponse) Reset() {
*x = ExecuteStrategyResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_btrpc_proto_msgTypes[24]
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[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 ExecuteStrategyResponse.ProtoReflect.Descriptor instead.
func (*ExecuteStrategyResponse) Descriptor() ([]byte, []int) {
return file_btrpc_proto_rawDescGZIP(), []int{24}
}
func (x *ExecuteStrategyResponse) GetRun() *RunSummary {
if x != nil {
return x.Run
}
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[25]
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[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 ExecuteStrategyFromConfigRequest.ProtoReflect.Descriptor instead.
func (*ExecuteStrategyFromConfigRequest) Descriptor() ([]byte, []int) {
return file_btrpc_proto_rawDescGZIP(), []int{25}
}
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 ListAllRunsRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *ListAllRunsRequest) Reset() {
*x = ListAllRunsRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_btrpc_proto_msgTypes[26]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ListAllRunsRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListAllRunsRequest) ProtoMessage() {}
func (x *ListAllRunsRequest) 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 ListAllRunsRequest.ProtoReflect.Descriptor instead.
func (*ListAllRunsRequest) Descriptor() ([]byte, []int) {
return file_btrpc_proto_rawDescGZIP(), []int{26}
}
type ListAllRunsResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Runs []*RunSummary `protobuf:"bytes,1,rep,name=runs,proto3" json:"runs,omitempty"`
}
func (x *ListAllRunsResponse) Reset() {
*x = ListAllRunsResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_btrpc_proto_msgTypes[27]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ListAllRunsResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListAllRunsResponse) ProtoMessage() {}
func (x *ListAllRunsResponse) 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 ListAllRunsResponse.ProtoReflect.Descriptor instead.
func (*ListAllRunsResponse) Descriptor() ([]byte, []int) {
return file_btrpc_proto_rawDescGZIP(), []int{27}
}
func (x *ListAllRunsResponse) GetRuns() []*RunSummary {
if x != nil {
return x.Runs
}
return nil
}
type StopRunRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
}
func (x *StopRunRequest) Reset() {
*x = StopRunRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_btrpc_proto_msgTypes[28]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *StopRunRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*StopRunRequest) ProtoMessage() {}
func (x *StopRunRequest) 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 StopRunRequest.ProtoReflect.Descriptor instead.
func (*StopRunRequest) Descriptor() ([]byte, []int) {
return file_btrpc_proto_rawDescGZIP(), []int{28}
}
func (x *StopRunRequest) GetId() string {
if x != nil {
return x.Id
}
return ""
}
type StopRunResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
StoppedRun *RunSummary `protobuf:"bytes,1,opt,name=stopped_run,json=stoppedRun,proto3" json:"stopped_run,omitempty"`
}
func (x *StopRunResponse) Reset() {
*x = StopRunResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_btrpc_proto_msgTypes[29]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *StopRunResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*StopRunResponse) ProtoMessage() {}
func (x *StopRunResponse) 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 StopRunResponse.ProtoReflect.Descriptor instead.
func (*StopRunResponse) Descriptor() ([]byte, []int) {
return file_btrpc_proto_rawDescGZIP(), []int{29}
}
func (x *StopRunResponse) GetStoppedRun() *RunSummary {
if x != nil {
return x.StoppedRun
}
return nil
}
type StartRunRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
}
func (x *StartRunRequest) Reset() {
*x = StartRunRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_btrpc_proto_msgTypes[30]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *StartRunRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*StartRunRequest) ProtoMessage() {}
func (x *StartRunRequest) 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 StartRunRequest.ProtoReflect.Descriptor instead.
func (*StartRunRequest) Descriptor() ([]byte, []int) {
return file_btrpc_proto_rawDescGZIP(), []int{30}
}
func (x *StartRunRequest) GetId() string {
if x != nil {
return x.Id
}
return ""
}
type StartRunResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Started bool `protobuf:"varint,1,opt,name=started,proto3" json:"started,omitempty"`
}
func (x *StartRunResponse) Reset() {
*x = StartRunResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_btrpc_proto_msgTypes[31]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *StartRunResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*StartRunResponse) ProtoMessage() {}
func (x *StartRunResponse) 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 StartRunResponse.ProtoReflect.Descriptor instead.
func (*StartRunResponse) Descriptor() ([]byte, []int) {
return file_btrpc_proto_rawDescGZIP(), []int{31}
}
func (x *StartRunResponse) GetStarted() bool {
if x != nil {
return x.Started
}
return false
}
type StartAllRunsRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *StartAllRunsRequest) Reset() {
*x = StartAllRunsRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_btrpc_proto_msgTypes[32]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *StartAllRunsRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*StartAllRunsRequest) ProtoMessage() {}
func (x *StartAllRunsRequest) 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 StartAllRunsRequest.ProtoReflect.Descriptor instead.
func (*StartAllRunsRequest) Descriptor() ([]byte, []int) {
return file_btrpc_proto_rawDescGZIP(), []int{32}
}
type StartAllRunsResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
RunsStarted []string `protobuf:"bytes,1,rep,name=runs_started,json=runsStarted,proto3" json:"runs_started,omitempty"`
}
func (x *StartAllRunsResponse) Reset() {
*x = StartAllRunsResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_btrpc_proto_msgTypes[33]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *StartAllRunsResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*StartAllRunsResponse) ProtoMessage() {}
func (x *StartAllRunsResponse) 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 StartAllRunsResponse.ProtoReflect.Descriptor instead.
func (*StartAllRunsResponse) Descriptor() ([]byte, []int) {
return file_btrpc_proto_rawDescGZIP(), []int{33}
}
func (x *StartAllRunsResponse) GetRunsStarted() []string {
if x != nil {
return x.RunsStarted
}
return nil
}
type StopAllRunsRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *StopAllRunsRequest) Reset() {
*x = StopAllRunsRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_btrpc_proto_msgTypes[34]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *StopAllRunsRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*StopAllRunsRequest) ProtoMessage() {}
func (x *StopAllRunsRequest) 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 StopAllRunsRequest.ProtoReflect.Descriptor instead.
func (*StopAllRunsRequest) Descriptor() ([]byte, []int) {
return file_btrpc_proto_rawDescGZIP(), []int{34}
}
type StopAllRunsResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
RunsStopped []*RunSummary `protobuf:"bytes,1,rep,name=runs_stopped,json=runsStopped,proto3" json:"runs_stopped,omitempty"`
}
func (x *StopAllRunsResponse) Reset() {
*x = StopAllRunsResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_btrpc_proto_msgTypes[35]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *StopAllRunsResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*StopAllRunsResponse) ProtoMessage() {}
func (x *StopAllRunsResponse) 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 StopAllRunsResponse.ProtoReflect.Descriptor instead.
func (*StopAllRunsResponse) Descriptor() ([]byte, []int) {
return file_btrpc_proto_rawDescGZIP(), []int{35}
}
func (x *StopAllRunsResponse) GetRunsStopped() []*RunSummary {
if x != nil {
return x.RunsStopped
}
return nil
}
type ClearRunRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
}
func (x *ClearRunRequest) Reset() {
*x = ClearRunRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_btrpc_proto_msgTypes[36]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ClearRunRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ClearRunRequest) ProtoMessage() {}
func (x *ClearRunRequest) 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 ClearRunRequest.ProtoReflect.Descriptor instead.
func (*ClearRunRequest) Descriptor() ([]byte, []int) {
return file_btrpc_proto_rawDescGZIP(), []int{36}
}
func (x *ClearRunRequest) GetId() string {
if x != nil {
return x.Id
}
return ""
}
type ClearRunResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ClearedRun *RunSummary `protobuf:"bytes,1,opt,name=cleared_run,json=clearedRun,proto3" json:"cleared_run,omitempty"`
}
func (x *ClearRunResponse) Reset() {
*x = ClearRunResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_btrpc_proto_msgTypes[37]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ClearRunResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ClearRunResponse) ProtoMessage() {}
func (x *ClearRunResponse) 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 ClearRunResponse.ProtoReflect.Descriptor instead.
func (*ClearRunResponse) Descriptor() ([]byte, []int) {
return file_btrpc_proto_rawDescGZIP(), []int{37}
}
func (x *ClearRunResponse) GetClearedRun() *RunSummary {
if x != nil {
return x.ClearedRun
}
return nil
}
type ClearAllRunsRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *ClearAllRunsRequest) Reset() {
*x = ClearAllRunsRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_btrpc_proto_msgTypes[38]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ClearAllRunsRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ClearAllRunsRequest) ProtoMessage() {}
func (x *ClearAllRunsRequest) 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 ClearAllRunsRequest.ProtoReflect.Descriptor instead.
func (*ClearAllRunsRequest) Descriptor() ([]byte, []int) {
return file_btrpc_proto_rawDescGZIP(), []int{38}
}
type ClearAllRunsResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ClearedRuns []*RunSummary `protobuf:"bytes,1,rep,name=cleared_runs,json=clearedRuns,proto3" json:"cleared_runs,omitempty"`
RemainingRuns []*RunSummary `protobuf:"bytes,2,rep,name=remaining_runs,json=remainingRuns,proto3" json:"remaining_runs,omitempty"`
}
func (x *ClearAllRunsResponse) Reset() {
*x = ClearAllRunsResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_btrpc_proto_msgTypes[39]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ClearAllRunsResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ClearAllRunsResponse) ProtoMessage() {}
func (x *ClearAllRunsResponse) 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 ClearAllRunsResponse.ProtoReflect.Descriptor instead.
func (*ClearAllRunsResponse) Descriptor() ([]byte, []int) {
return file_btrpc_proto_rawDescGZIP(), []int{39}
}
func (x *ClearAllRunsResponse) GetClearedRuns() []*RunSummary {
if x != nil {
return x.ClearedRuns
}
return nil
}
func (x *ClearAllRunsResponse) GetRemainingRuns() []*RunSummary {
if x != nil {
return x.RemainingRuns
}
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, 0xa4, 0x02, 0x0a, 0x08, 0x4c, 0x69, 0x76, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x28,
0x0a, 0x10, 0x61, 0x70, 0x69, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69,
0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x70, 0x69, 0x4b, 0x65, 0x79,
0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x61, 0x70, 0x69, 0x5f,
0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x18,
0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x61, 0x70, 0x69, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74,
0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x12, 0x33, 0x0a, 0x16, 0x61, 0x70, 0x69, 0x5f,
0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69,
0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x61, 0x70, 0x69, 0x43, 0x6c, 0x69,
0x65, 0x6e, 0x74, 0x49, 0x64, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x12, 0x28, 0x0a,
0x10, 0x61, 0x70, 0x69, 0x5f, 0x32, 0x66, 0x61, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64,
0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x70, 0x69, 0x32, 0x66, 0x61, 0x4f,
0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x12, 0x37, 0x0a, 0x18, 0x61, 0x70, 0x69, 0x5f, 0x73,
0x75, 0x62, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72,
0x69, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x61, 0x70, 0x69, 0x53, 0x75,
0x62, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65,
0x12, 0x26, 0x0a, 0x0f, 0x75, 0x73, 0x65, 0x5f, 0x72, 0x65, 0x61, 0x6c, 0x5f, 0x6f, 0x72, 0x64,
0x65, 0x72, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x75, 0x73, 0x65, 0x52, 0x65,
0x61, 0x6c, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 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, 0x80, 0x02, 0x0a, 0x0a, 0x52, 0x75, 0x6e, 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, 0xa5, 0x01, 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,
0x22, 0x3e, 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, 0x23, 0x0a, 0x03, 0x72,
0x75, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x62, 0x74, 0x72, 0x70, 0x63,
0x2e, 0x52, 0x75, 0x6e, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x03, 0x72, 0x75, 0x6e,
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, 0x14, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x52, 0x75,
0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x3c, 0x0a, 0x13, 0x4c, 0x69, 0x73,
0x74, 0x41, 0x6c, 0x6c, 0x52, 0x75, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
0x12, 0x25, 0x0a, 0x04, 0x72, 0x75, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11,
0x2e, 0x62, 0x74, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x75, 0x6e, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72,
0x79, 0x52, 0x04, 0x72, 0x75, 0x6e, 0x73, 0x22, 0x20, 0x0a, 0x0e, 0x53, 0x74, 0x6f, 0x70, 0x52,
0x75, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18,
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x45, 0x0a, 0x0f, 0x53, 0x74, 0x6f,
0x70, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x32, 0x0a, 0x0b,
0x73, 0x74, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x5f, 0x72, 0x75, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x11, 0x2e, 0x62, 0x74, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x75, 0x6e, 0x53, 0x75, 0x6d,
0x6d, 0x61, 0x72, 0x79, 0x52, 0x0a, 0x73, 0x74, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x52, 0x75, 0x6e,
0x22, 0x21, 0x0a, 0x0f, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
0x02, 0x69, 0x64, 0x22, 0x2c, 0x0a, 0x10, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x75, 0x6e, 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, 0x15, 0x0a, 0x13, 0x53, 0x74, 0x61, 0x72, 0x74, 0x41, 0x6c, 0x6c, 0x52, 0x75, 0x6e,
0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x39, 0x0a, 0x14, 0x53, 0x74, 0x61, 0x72,
0x74, 0x41, 0x6c, 0x6c, 0x52, 0x75, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
0x12, 0x21, 0x0a, 0x0c, 0x72, 0x75, 0x6e, 0x73, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64,
0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x75, 0x6e, 0x73, 0x53, 0x74, 0x61, 0x72,
0x74, 0x65, 0x64, 0x22, 0x14, 0x0a, 0x12, 0x53, 0x74, 0x6f, 0x70, 0x41, 0x6c, 0x6c, 0x52, 0x75,
0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x4b, 0x0a, 0x13, 0x53, 0x74, 0x6f,
0x70, 0x41, 0x6c, 0x6c, 0x52, 0x75, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
0x12, 0x34, 0x0a, 0x0c, 0x72, 0x75, 0x6e, 0x73, 0x5f, 0x73, 0x74, 0x6f, 0x70, 0x70, 0x65, 0x64,
0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x62, 0x74, 0x72, 0x70, 0x63, 0x2e, 0x52,
0x75, 0x6e, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x0b, 0x72, 0x75, 0x6e, 0x73, 0x53,
0x74, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x22, 0x21, 0x0a, 0x0f, 0x43, 0x6c, 0x65, 0x61, 0x72, 0x52,
0x75, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18,
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x46, 0x0a, 0x10, 0x43, 0x6c, 0x65,
0x61, 0x72, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x32, 0x0a,
0x0b, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x65, 0x64, 0x5f, 0x72, 0x75, 0x6e, 0x18, 0x01, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x11, 0x2e, 0x62, 0x74, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x75, 0x6e, 0x53, 0x75,
0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x0a, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x65, 0x64, 0x52, 0x75,
0x6e, 0x22, 0x15, 0x0a, 0x13, 0x43, 0x6c, 0x65, 0x61, 0x72, 0x41, 0x6c, 0x6c, 0x52, 0x75, 0x6e,
0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x86, 0x01, 0x0a, 0x14, 0x43, 0x6c, 0x65,
0x61, 0x72, 0x41, 0x6c, 0x6c, 0x52, 0x75, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
0x65, 0x12, 0x34, 0x0a, 0x0c, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x65, 0x64, 0x5f, 0x72, 0x75, 0x6e,
0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x62, 0x74, 0x72, 0x70, 0x63, 0x2e,
0x52, 0x75, 0x6e, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x0b, 0x63, 0x6c, 0x65, 0x61,
0x72, 0x65, 0x64, 0x52, 0x75, 0x6e, 0x73, 0x12, 0x38, 0x0a, 0x0e, 0x72, 0x65, 0x6d, 0x61, 0x69,
0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32,
0x11, 0x2e, 0x62, 0x74, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x75, 0x6e, 0x53, 0x75, 0x6d, 0x6d, 0x61,
0x72, 0x79, 0x52, 0x0d, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6e,
0x73, 0x32, 0xa2, 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, 0x5d, 0x0a,
0x0b, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x52, 0x75, 0x6e, 0x73, 0x12, 0x19, 0x2e, 0x62,
0x74, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x52, 0x75, 0x6e, 0x73,
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x62, 0x74, 0x72, 0x70, 0x63, 0x2e,
0x4c, 0x69, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x52, 0x75, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f,
0x6e, 0x73, 0x65, 0x22, 0x17, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x11, 0x12, 0x0f, 0x2f, 0x76, 0x31,
0x2f, 0x6c, 0x69, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x72, 0x75, 0x6e, 0x73, 0x12, 0x51, 0x0a, 0x08,
0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x75, 0x6e, 0x12, 0x16, 0x2e, 0x62, 0x74, 0x72, 0x70, 0x63,
0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x1a, 0x17, 0x2e, 0x62, 0x74, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x75,
0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x14, 0x82, 0xd3, 0xe4, 0x93, 0x02,
0x0e, 0x22, 0x0c, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x72, 0x75, 0x6e, 0x12,
0x61, 0x0a, 0x0c, 0x53, 0x74, 0x61, 0x72, 0x74, 0x41, 0x6c, 0x6c, 0x52, 0x75, 0x6e, 0x73, 0x12,
0x1a, 0x2e, 0x62, 0x74, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x41, 0x6c, 0x6c,
0x52, 0x75, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x62, 0x74,
0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x41, 0x6c, 0x6c, 0x52, 0x75, 0x6e, 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, 0x61, 0x72, 0x74, 0x61, 0x6c, 0x6c, 0x72, 0x75,
0x6e, 0x73, 0x12, 0x4d, 0x0a, 0x07, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x75, 0x6e, 0x12, 0x15, 0x2e,
0x62, 0x74, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x62, 0x74, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x6f,
0x70, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x13, 0x82, 0xd3,
0xe4, 0x93, 0x02, 0x0d, 0x22, 0x0b, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x74, 0x6f, 0x70, 0x72, 0x75,
0x6e, 0x12, 0x5d, 0x0a, 0x0b, 0x53, 0x74, 0x6f, 0x70, 0x41, 0x6c, 0x6c, 0x52, 0x75, 0x6e, 0x73,
0x12, 0x19, 0x2e, 0x62, 0x74, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x41, 0x6c, 0x6c,
0x52, 0x75, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x62, 0x74,
0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x41, 0x6c, 0x6c, 0x52, 0x75, 0x6e, 0x73, 0x52,
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x17, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x11, 0x22,
0x0f, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x74, 0x6f, 0x70, 0x61, 0x6c, 0x6c, 0x72, 0x75, 0x6e, 0x73,
0x12, 0x51, 0x0a, 0x08, 0x43, 0x6c, 0x65, 0x61, 0x72, 0x52, 0x75, 0x6e, 0x12, 0x16, 0x2e, 0x62,
0x74, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6c, 0x65, 0x61, 0x72, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x62, 0x74, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6c, 0x65,
0x61, 0x72, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x14, 0x82,
0xd3, 0xe4, 0x93, 0x02, 0x0e, 0x2a, 0x0c, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6c, 0x65, 0x61, 0x72,
0x72, 0x75, 0x6e, 0x12, 0x61, 0x0a, 0x0c, 0x43, 0x6c, 0x65, 0x61, 0x72, 0x41, 0x6c, 0x6c, 0x52,
0x75, 0x6e, 0x73, 0x12, 0x1a, 0x2e, 0x62, 0x74, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6c, 0x65, 0x61,
0x72, 0x41, 0x6c, 0x6c, 0x52, 0x75, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
0x1b, 0x2e, 0x62, 0x74, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6c, 0x65, 0x61, 0x72, 0x41, 0x6c, 0x6c,
0x52, 0x75, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x18, 0x82, 0xd3,
0xe4, 0x93, 0x02, 0x12, 0x2a, 0x10, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x61,
0x6c, 0x6c, 0x72, 0x75, 0x6e, 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, 40)
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
(*DataSettings)(nil), // 17: btrpc.DataSettings
(*Leverage)(nil), // 18: btrpc.Leverage
(*PortfolioSettings)(nil), // 19: btrpc.PortfolioSettings
(*StatisticSettings)(nil), // 20: btrpc.StatisticSettings
(*Config)(nil), // 21: btrpc.Config
(*RunSummary)(nil), // 22: btrpc.RunSummary
(*ExecuteStrategyFromFileRequest)(nil), // 23: btrpc.ExecuteStrategyFromFileRequest
(*ExecuteStrategyResponse)(nil), // 24: btrpc.ExecuteStrategyResponse
(*ExecuteStrategyFromConfigRequest)(nil), // 25: btrpc.ExecuteStrategyFromConfigRequest
(*ListAllRunsRequest)(nil), // 26: btrpc.ListAllRunsRequest
(*ListAllRunsResponse)(nil), // 27: btrpc.ListAllRunsResponse
(*StopRunRequest)(nil), // 28: btrpc.StopRunRequest
(*StopRunResponse)(nil), // 29: btrpc.StopRunResponse
(*StartRunRequest)(nil), // 30: btrpc.StartRunRequest
(*StartRunResponse)(nil), // 31: btrpc.StartRunResponse
(*StartAllRunsRequest)(nil), // 32: btrpc.StartAllRunsRequest
(*StartAllRunsResponse)(nil), // 33: btrpc.StartAllRunsResponse
(*StopAllRunsRequest)(nil), // 34: btrpc.StopAllRunsRequest
(*StopAllRunsResponse)(nil), // 35: btrpc.StopAllRunsResponse
(*ClearRunRequest)(nil), // 36: btrpc.ClearRunRequest
(*ClearRunResponse)(nil), // 37: btrpc.ClearRunResponse
(*ClearAllRunsRequest)(nil), // 38: btrpc.ClearAllRunsRequest
(*ClearAllRunsResponse)(nil), // 39: btrpc.ClearAllRunsResponse
(*timestamppb.Timestamp)(nil), // 40: 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
18, // 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
40, // 7: btrpc.ApiData.start_date:type_name -> google.protobuf.Timestamp
40, // 8: btrpc.ApiData.end_date:type_name -> google.protobuf.Timestamp
40, // 9: btrpc.DbData.start_date:type_name -> google.protobuf.Timestamp
40, // 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
40, // 13: btrpc.DatabaseData.start_date:type_name -> google.protobuf.Timestamp
40, // 14: btrpc.DatabaseData.end_date:type_name -> google.protobuf.Timestamp
13, // 15: btrpc.DatabaseData.config:type_name -> btrpc.DatabaseConfig
8, // 16: btrpc.DataSettings.api_data:type_name -> btrpc.ApiData
14, // 17: btrpc.DataSettings.database_data:type_name -> btrpc.DatabaseData
15, // 18: btrpc.DataSettings.csv_data:type_name -> btrpc.CSVData
16, // 19: btrpc.DataSettings.live_data:type_name -> btrpc.LiveData
18, // 20: btrpc.PortfolioSettings.leverage:type_name -> btrpc.Leverage
4, // 21: btrpc.PortfolioSettings.buy_side:type_name -> btrpc.PurchaseSide
4, // 22: btrpc.PortfolioSettings.sell_side:type_name -> btrpc.PurchaseSide
0, // 23: btrpc.Config.strategy_settings:type_name -> btrpc.StrategySettings
3, // 24: btrpc.Config.funding_settings:type_name -> btrpc.FundingSettings
7, // 25: btrpc.Config.currency_settings:type_name -> btrpc.CurrencySettings
17, // 26: btrpc.Config.data_settings:type_name -> btrpc.DataSettings
19, // 27: btrpc.Config.portfolio_settings:type_name -> btrpc.PortfolioSettings
20, // 28: btrpc.Config.statistic_settings:type_name -> btrpc.StatisticSettings
22, // 29: btrpc.ExecuteStrategyResponse.run:type_name -> btrpc.RunSummary
21, // 30: btrpc.ExecuteStrategyFromConfigRequest.config:type_name -> btrpc.Config
22, // 31: btrpc.ListAllRunsResponse.runs:type_name -> btrpc.RunSummary
22, // 32: btrpc.StopRunResponse.stopped_run:type_name -> btrpc.RunSummary
22, // 33: btrpc.StopAllRunsResponse.runs_stopped:type_name -> btrpc.RunSummary
22, // 34: btrpc.ClearRunResponse.cleared_run:type_name -> btrpc.RunSummary
22, // 35: btrpc.ClearAllRunsResponse.cleared_runs:type_name -> btrpc.RunSummary
22, // 36: btrpc.ClearAllRunsResponse.remaining_runs:type_name -> btrpc.RunSummary
23, // 37: btrpc.BacktesterService.ExecuteStrategyFromFile:input_type -> btrpc.ExecuteStrategyFromFileRequest
25, // 38: btrpc.BacktesterService.ExecuteStrategyFromConfig:input_type -> btrpc.ExecuteStrategyFromConfigRequest
26, // 39: btrpc.BacktesterService.ListAllRuns:input_type -> btrpc.ListAllRunsRequest
30, // 40: btrpc.BacktesterService.StartRun:input_type -> btrpc.StartRunRequest
32, // 41: btrpc.BacktesterService.StartAllRuns:input_type -> btrpc.StartAllRunsRequest
28, // 42: btrpc.BacktesterService.StopRun:input_type -> btrpc.StopRunRequest
34, // 43: btrpc.BacktesterService.StopAllRuns:input_type -> btrpc.StopAllRunsRequest
36, // 44: btrpc.BacktesterService.ClearRun:input_type -> btrpc.ClearRunRequest
38, // 45: btrpc.BacktesterService.ClearAllRuns:input_type -> btrpc.ClearAllRunsRequest
24, // 46: btrpc.BacktesterService.ExecuteStrategyFromFile:output_type -> btrpc.ExecuteStrategyResponse
24, // 47: btrpc.BacktesterService.ExecuteStrategyFromConfig:output_type -> btrpc.ExecuteStrategyResponse
27, // 48: btrpc.BacktesterService.ListAllRuns:output_type -> btrpc.ListAllRunsResponse
31, // 49: btrpc.BacktesterService.StartRun:output_type -> btrpc.StartRunResponse
33, // 50: btrpc.BacktesterService.StartAllRuns:output_type -> btrpc.StartAllRunsResponse
29, // 51: btrpc.BacktesterService.StopRun:output_type -> btrpc.StopRunResponse
35, // 52: btrpc.BacktesterService.StopAllRuns:output_type -> btrpc.StopAllRunsResponse
37, // 53: btrpc.BacktesterService.ClearRun:output_type -> btrpc.ClearRunResponse
39, // 54: btrpc.BacktesterService.ClearAllRuns:output_type -> btrpc.ClearAllRunsResponse
46, // [46:55] is the sub-list for method output_type
37, // [37:46] is the sub-list for method input_type
37, // [37:37] is the sub-list for extension type_name
37, // [37:37] is the sub-list for extension extendee
0, // [0:37] 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.(*DataSettings); 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.(*Leverage); 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.(*PortfolioSettings); 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.(*StatisticSettings); 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.(*Config); 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.(*RunSummary); 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.(*ExecuteStrategyFromFileRequest); 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.(*ExecuteStrategyResponse); 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.(*ExecuteStrategyFromConfigRequest); 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.(*ListAllRunsRequest); 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.(*ListAllRunsResponse); 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.(*StopRunRequest); 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.(*StopRunResponse); 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.(*StartRunRequest); 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.(*StartRunResponse); 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.(*StartAllRunsRequest); 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.(*StartAllRunsResponse); 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.(*StopAllRunsRequest); 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.(*StopAllRunsResponse); 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.(*ClearRunRequest); 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.(*ClearRunResponse); 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.(*ClearAllRunsRequest); 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.(*ClearAllRunsResponse); 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: 40,
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
}