code.vegaprotocol.io/vega@v0.79.0/protos/vega/markets.pb.go (about) 1 // Code generated by protoc-gen-go. DO NOT EDIT. 2 // versions: 3 // protoc-gen-go v1.27.1 4 // protoc (unknown) 5 // source: vega/markets.proto 6 7 package vega 8 9 import ( 10 protoreflect "google.golang.org/protobuf/reflect/protoreflect" 11 protoimpl "google.golang.org/protobuf/runtime/protoimpl" 12 reflect "reflect" 13 sync "sync" 14 ) 15 16 const ( 17 // Verify that this generated code is sufficiently up-to-date. 18 _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 19 // Verify that runtime/protoimpl is sufficiently up-to-date. 20 _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 21 ) 22 23 type CompositePriceType int32 24 25 const ( 26 CompositePriceType_COMPOSITE_PRICE_TYPE_UNSPECIFIED CompositePriceType = 0 27 // Composite price is calculated as a weighted average of the underlying mark prices. 28 CompositePriceType_COMPOSITE_PRICE_TYPE_WEIGHTED CompositePriceType = 1 29 // Composite price is calculated as a median of the underlying mark prices. 30 CompositePriceType_COMPOSITE_PRICE_TYPE_MEDIAN CompositePriceType = 2 31 // Composite price is calculated as the last trade price. 32 CompositePriceType_COMPOSITE_PRICE_TYPE_LAST_TRADE CompositePriceType = 3 33 ) 34 35 // Enum value maps for CompositePriceType. 36 var ( 37 CompositePriceType_name = map[int32]string{ 38 0: "COMPOSITE_PRICE_TYPE_UNSPECIFIED", 39 1: "COMPOSITE_PRICE_TYPE_WEIGHTED", 40 2: "COMPOSITE_PRICE_TYPE_MEDIAN", 41 3: "COMPOSITE_PRICE_TYPE_LAST_TRADE", 42 } 43 CompositePriceType_value = map[string]int32{ 44 "COMPOSITE_PRICE_TYPE_UNSPECIFIED": 0, 45 "COMPOSITE_PRICE_TYPE_WEIGHTED": 1, 46 "COMPOSITE_PRICE_TYPE_MEDIAN": 2, 47 "COMPOSITE_PRICE_TYPE_LAST_TRADE": 3, 48 } 49 ) 50 51 func (x CompositePriceType) Enum() *CompositePriceType { 52 p := new(CompositePriceType) 53 *p = x 54 return p 55 } 56 57 func (x CompositePriceType) String() string { 58 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 59 } 60 61 func (CompositePriceType) Descriptor() protoreflect.EnumDescriptor { 62 return file_vega_markets_proto_enumTypes[0].Descriptor() 63 } 64 65 func (CompositePriceType) Type() protoreflect.EnumType { 66 return &file_vega_markets_proto_enumTypes[0] 67 } 68 69 func (x CompositePriceType) Number() protoreflect.EnumNumber { 70 return protoreflect.EnumNumber(x) 71 } 72 73 // Deprecated: Use CompositePriceType.Descriptor instead. 74 func (CompositePriceType) EnumDescriptor() ([]byte, []int) { 75 return file_vega_markets_proto_rawDescGZIP(), []int{0} 76 } 77 78 type LiquidityFeeSettings_Method int32 79 80 const ( 81 LiquidityFeeSettings_METHOD_UNSPECIFIED LiquidityFeeSettings_Method = 0 82 // Fee is the smallest value of all bids, such that liquidity providers with nominated fees less than or equal to this value still have sufficient commitment to fulfil the market's target stake. 83 LiquidityFeeSettings_METHOD_MARGINAL_COST LiquidityFeeSettings_Method = 1 84 // Fee is the weighted average of all liquidity providers' nominated fees, weighted by their committment. 85 LiquidityFeeSettings_METHOD_WEIGHTED_AVERAGE LiquidityFeeSettings_Method = 2 86 // Fee is set by the market to a constant value irrespective of any liquidity provider's nominated fee. 87 LiquidityFeeSettings_METHOD_CONSTANT LiquidityFeeSettings_Method = 3 88 ) 89 90 // Enum value maps for LiquidityFeeSettings_Method. 91 var ( 92 LiquidityFeeSettings_Method_name = map[int32]string{ 93 0: "METHOD_UNSPECIFIED", 94 1: "METHOD_MARGINAL_COST", 95 2: "METHOD_WEIGHTED_AVERAGE", 96 3: "METHOD_CONSTANT", 97 } 98 LiquidityFeeSettings_Method_value = map[string]int32{ 99 "METHOD_UNSPECIFIED": 0, 100 "METHOD_MARGINAL_COST": 1, 101 "METHOD_WEIGHTED_AVERAGE": 2, 102 "METHOD_CONSTANT": 3, 103 } 104 ) 105 106 func (x LiquidityFeeSettings_Method) Enum() *LiquidityFeeSettings_Method { 107 p := new(LiquidityFeeSettings_Method) 108 *p = x 109 return p 110 } 111 112 func (x LiquidityFeeSettings_Method) String() string { 113 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 114 } 115 116 func (LiquidityFeeSettings_Method) Descriptor() protoreflect.EnumDescriptor { 117 return file_vega_markets_proto_enumTypes[1].Descriptor() 118 } 119 120 func (LiquidityFeeSettings_Method) Type() protoreflect.EnumType { 121 return &file_vega_markets_proto_enumTypes[1] 122 } 123 124 func (x LiquidityFeeSettings_Method) Number() protoreflect.EnumNumber { 125 return protoreflect.EnumNumber(x) 126 } 127 128 // Deprecated: Use LiquidityFeeSettings_Method.Descriptor instead. 129 func (LiquidityFeeSettings_Method) EnumDescriptor() ([]byte, []int) { 130 return file_vega_markets_proto_rawDescGZIP(), []int{24, 0} 131 } 132 133 // Current state of the market 134 type Market_State int32 135 136 const ( 137 // Default value, invalid 138 Market_STATE_UNSPECIFIED Market_State = 0 139 // Governance proposal valid and accepted 140 Market_STATE_PROPOSED Market_State = 1 141 // Outcome of governance votes is to reject the market 142 Market_STATE_REJECTED Market_State = 2 143 // Governance vote passes/wins 144 Market_STATE_PENDING Market_State = 3 145 // Market triggers cancellation condition or governance 146 // votes to close before market becomes Active 147 Market_STATE_CANCELLED Market_State = 4 148 // Enactment date reached and usual auction exit checks pass 149 Market_STATE_ACTIVE Market_State = 5 150 // Price monitoring or liquidity monitoring trigger 151 Market_STATE_SUSPENDED Market_State = 6 152 // Governance vote to close (Not currently implemented) 153 Market_STATE_CLOSED Market_State = 7 154 // Defined by the product (i.e. from a product parameter, 155 // specified in market definition, giving close date/time) 156 Market_STATE_TRADING_TERMINATED Market_State = 8 157 // Settlement triggered and completed as defined by product 158 Market_STATE_SETTLED Market_State = 9 159 // Market has been suspended via governance 160 Market_STATE_SUSPENDED_VIA_GOVERNANCE Market_State = 10 161 ) 162 163 // Enum value maps for Market_State. 164 var ( 165 Market_State_name = map[int32]string{ 166 0: "STATE_UNSPECIFIED", 167 1: "STATE_PROPOSED", 168 2: "STATE_REJECTED", 169 3: "STATE_PENDING", 170 4: "STATE_CANCELLED", 171 5: "STATE_ACTIVE", 172 6: "STATE_SUSPENDED", 173 7: "STATE_CLOSED", 174 8: "STATE_TRADING_TERMINATED", 175 9: "STATE_SETTLED", 176 10: "STATE_SUSPENDED_VIA_GOVERNANCE", 177 } 178 Market_State_value = map[string]int32{ 179 "STATE_UNSPECIFIED": 0, 180 "STATE_PROPOSED": 1, 181 "STATE_REJECTED": 2, 182 "STATE_PENDING": 3, 183 "STATE_CANCELLED": 4, 184 "STATE_ACTIVE": 5, 185 "STATE_SUSPENDED": 6, 186 "STATE_CLOSED": 7, 187 "STATE_TRADING_TERMINATED": 8, 188 "STATE_SETTLED": 9, 189 "STATE_SUSPENDED_VIA_GOVERNANCE": 10, 190 } 191 ) 192 193 func (x Market_State) Enum() *Market_State { 194 p := new(Market_State) 195 *p = x 196 return p 197 } 198 199 func (x Market_State) String() string { 200 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 201 } 202 203 func (Market_State) Descriptor() protoreflect.EnumDescriptor { 204 return file_vega_markets_proto_enumTypes[2].Descriptor() 205 } 206 207 func (Market_State) Type() protoreflect.EnumType { 208 return &file_vega_markets_proto_enumTypes[2] 209 } 210 211 func (x Market_State) Number() protoreflect.EnumNumber { 212 return protoreflect.EnumNumber(x) 213 } 214 215 // Deprecated: Use Market_State.Descriptor instead. 216 func (Market_State) EnumDescriptor() ([]byte, []int) { 217 return file_vega_markets_proto_rawDescGZIP(), []int{26, 0} 218 } 219 220 // Trading mode the market is currently running, also referred to as 'market state' 221 type Market_TradingMode int32 222 223 const ( 224 // Default value, this is invalid 225 Market_TRADING_MODE_UNSPECIFIED Market_TradingMode = 0 226 // Normal trading 227 Market_TRADING_MODE_CONTINUOUS Market_TradingMode = 1 228 // Auction trading (FBA) 229 Market_TRADING_MODE_BATCH_AUCTION Market_TradingMode = 2 230 // Opening auction 231 Market_TRADING_MODE_OPENING_AUCTION Market_TradingMode = 3 232 // Auction triggered by monitoring 233 Market_TRADING_MODE_MONITORING_AUCTION Market_TradingMode = 4 234 // No trading is allowed 235 Market_TRADING_MODE_NO_TRADING Market_TradingMode = 5 236 // Special auction mode triggered via governance 237 Market_TRADING_MODE_SUSPENDED_VIA_GOVERNANCE Market_TradingMode = 6 238 // Auction triggered globally by long block 239 Market_TRADING_MODE_LONG_BLOCK_AUCTION Market_TradingMode = 7 240 // Scheduled auction for automated purchase 241 Market_TRADING_MODE_PROTOCOL_AUTOMATED_PURCHASE_AUCTION Market_TradingMode = 8 242 ) 243 244 // Enum value maps for Market_TradingMode. 245 var ( 246 Market_TradingMode_name = map[int32]string{ 247 0: "TRADING_MODE_UNSPECIFIED", 248 1: "TRADING_MODE_CONTINUOUS", 249 2: "TRADING_MODE_BATCH_AUCTION", 250 3: "TRADING_MODE_OPENING_AUCTION", 251 4: "TRADING_MODE_MONITORING_AUCTION", 252 5: "TRADING_MODE_NO_TRADING", 253 6: "TRADING_MODE_SUSPENDED_VIA_GOVERNANCE", 254 7: "TRADING_MODE_LONG_BLOCK_AUCTION", 255 8: "TRADING_MODE_PROTOCOL_AUTOMATED_PURCHASE_AUCTION", 256 } 257 Market_TradingMode_value = map[string]int32{ 258 "TRADING_MODE_UNSPECIFIED": 0, 259 "TRADING_MODE_CONTINUOUS": 1, 260 "TRADING_MODE_BATCH_AUCTION": 2, 261 "TRADING_MODE_OPENING_AUCTION": 3, 262 "TRADING_MODE_MONITORING_AUCTION": 4, 263 "TRADING_MODE_NO_TRADING": 5, 264 "TRADING_MODE_SUSPENDED_VIA_GOVERNANCE": 6, 265 "TRADING_MODE_LONG_BLOCK_AUCTION": 7, 266 "TRADING_MODE_PROTOCOL_AUTOMATED_PURCHASE_AUCTION": 8, 267 } 268 ) 269 270 func (x Market_TradingMode) Enum() *Market_TradingMode { 271 p := new(Market_TradingMode) 272 *p = x 273 return p 274 } 275 276 func (x Market_TradingMode) String() string { 277 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 278 } 279 280 func (Market_TradingMode) Descriptor() protoreflect.EnumDescriptor { 281 return file_vega_markets_proto_enumTypes[3].Descriptor() 282 } 283 284 func (Market_TradingMode) Type() protoreflect.EnumType { 285 return &file_vega_markets_proto_enumTypes[3] 286 } 287 288 func (x Market_TradingMode) Number() protoreflect.EnumNumber { 289 return protoreflect.EnumNumber(x) 290 } 291 292 // Deprecated: Use Market_TradingMode.Descriptor instead. 293 func (Market_TradingMode) EnumDescriptor() ([]byte, []int) { 294 return file_vega_markets_proto_rawDescGZIP(), []int{26, 1} 295 } 296 297 // Auction duration is used to configure 3 auction periods: 298 // 1. `duration > 0`, `volume == 0`: 299 // The auction will last for at least N seconds 300 // 2. `duration == 0`, `volume > 0`: 301 // The auction will end once the given volume will match at uncrossing 302 // 3. `duration > 0`, `volume > 0`: 303 // The auction will take at least N seconds, but can end sooner if the market can trade a certain volume 304 type AuctionDuration struct { 305 state protoimpl.MessageState 306 sizeCache protoimpl.SizeCache 307 unknownFields protoimpl.UnknownFields 308 309 // Duration of the auction in seconds. 310 Duration int64 `protobuf:"varint,1,opt,name=duration,proto3" json:"duration,omitempty"` 311 // Target uncrossing trading volume. 312 Volume uint64 `protobuf:"varint,2,opt,name=volume,proto3" json:"volume,omitempty"` 313 } 314 315 func (x *AuctionDuration) Reset() { 316 *x = AuctionDuration{} 317 if protoimpl.UnsafeEnabled { 318 mi := &file_vega_markets_proto_msgTypes[0] 319 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 320 ms.StoreMessageInfo(mi) 321 } 322 } 323 324 func (x *AuctionDuration) String() string { 325 return protoimpl.X.MessageStringOf(x) 326 } 327 328 func (*AuctionDuration) ProtoMessage() {} 329 330 func (x *AuctionDuration) ProtoReflect() protoreflect.Message { 331 mi := &file_vega_markets_proto_msgTypes[0] 332 if protoimpl.UnsafeEnabled && x != nil { 333 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 334 if ms.LoadMessageInfo() == nil { 335 ms.StoreMessageInfo(mi) 336 } 337 return ms 338 } 339 return mi.MessageOf(x) 340 } 341 342 // Deprecated: Use AuctionDuration.ProtoReflect.Descriptor instead. 343 func (*AuctionDuration) Descriptor() ([]byte, []int) { 344 return file_vega_markets_proto_rawDescGZIP(), []int{0} 345 } 346 347 func (x *AuctionDuration) GetDuration() int64 { 348 if x != nil { 349 return x.Duration 350 } 351 return 0 352 } 353 354 func (x *AuctionDuration) GetVolume() uint64 { 355 if x != nil { 356 return x.Volume 357 } 358 return 0 359 } 360 361 // Spot product definition 362 type Spot struct { 363 state protoimpl.MessageState 364 sizeCache protoimpl.SizeCache 365 unknownFields protoimpl.UnknownFields 366 367 // Asset ID of the underlying base asset for the spot product. 368 BaseAsset string `protobuf:"bytes,1,opt,name=base_asset,json=baseAsset,proto3" json:"base_asset,omitempty"` 369 // Asset ID of the underlying quote asset for the spot product. 370 QuoteAsset string `protobuf:"bytes,2,opt,name=quote_asset,json=quoteAsset,proto3" json:"quote_asset,omitempty"` 371 } 372 373 func (x *Spot) Reset() { 374 *x = Spot{} 375 if protoimpl.UnsafeEnabled { 376 mi := &file_vega_markets_proto_msgTypes[1] 377 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 378 ms.StoreMessageInfo(mi) 379 } 380 } 381 382 func (x *Spot) String() string { 383 return protoimpl.X.MessageStringOf(x) 384 } 385 386 func (*Spot) ProtoMessage() {} 387 388 func (x *Spot) ProtoReflect() protoreflect.Message { 389 mi := &file_vega_markets_proto_msgTypes[1] 390 if protoimpl.UnsafeEnabled && x != nil { 391 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 392 if ms.LoadMessageInfo() == nil { 393 ms.StoreMessageInfo(mi) 394 } 395 return ms 396 } 397 return mi.MessageOf(x) 398 } 399 400 // Deprecated: Use Spot.ProtoReflect.Descriptor instead. 401 func (*Spot) Descriptor() ([]byte, []int) { 402 return file_vega_markets_proto_rawDescGZIP(), []int{1} 403 } 404 405 func (x *Spot) GetBaseAsset() string { 406 if x != nil { 407 return x.BaseAsset 408 } 409 return "" 410 } 411 412 func (x *Spot) GetQuoteAsset() string { 413 if x != nil { 414 return x.QuoteAsset 415 } 416 return "" 417 } 418 419 // Future product definition 420 type Future struct { 421 state protoimpl.MessageState 422 sizeCache protoimpl.SizeCache 423 unknownFields protoimpl.UnknownFields 424 425 // Underlying asset for the future. 426 SettlementAsset string `protobuf:"bytes,1,opt,name=settlement_asset,json=settlementAsset,proto3" json:"settlement_asset,omitempty"` 427 // Quote name of the instrument. 428 QuoteName string `protobuf:"bytes,2,opt,name=quote_name,json=quoteName,proto3" json:"quote_name,omitempty"` 429 // Data source specification that describes the settlement data source filter. 430 DataSourceSpecForSettlementData *DataSourceSpec `protobuf:"bytes,3,opt,name=data_source_spec_for_settlement_data,json=dataSourceSpecForSettlementData,proto3" json:"data_source_spec_for_settlement_data,omitempty"` 431 // Data source specification that describes the trading termination data source filter. 432 DataSourceSpecForTradingTermination *DataSourceSpec `protobuf:"bytes,4,opt,name=data_source_spec_for_trading_termination,json=dataSourceSpecForTradingTermination,proto3" json:"data_source_spec_for_trading_termination,omitempty"` 433 // Binding between the data spec and the data source. 434 DataSourceSpecBinding *DataSourceSpecToFutureBinding `protobuf:"bytes,5,opt,name=data_source_spec_binding,json=dataSourceSpecBinding,proto3" json:"data_source_spec_binding,omitempty"` 435 // If set, this product represents a capped future market. 436 Cap *FutureCap `protobuf:"bytes,6,opt,name=cap,proto3,oneof" json:"cap,omitempty"` 437 } 438 439 func (x *Future) Reset() { 440 *x = Future{} 441 if protoimpl.UnsafeEnabled { 442 mi := &file_vega_markets_proto_msgTypes[2] 443 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 444 ms.StoreMessageInfo(mi) 445 } 446 } 447 448 func (x *Future) String() string { 449 return protoimpl.X.MessageStringOf(x) 450 } 451 452 func (*Future) ProtoMessage() {} 453 454 func (x *Future) ProtoReflect() protoreflect.Message { 455 mi := &file_vega_markets_proto_msgTypes[2] 456 if protoimpl.UnsafeEnabled && x != nil { 457 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 458 if ms.LoadMessageInfo() == nil { 459 ms.StoreMessageInfo(mi) 460 } 461 return ms 462 } 463 return mi.MessageOf(x) 464 } 465 466 // Deprecated: Use Future.ProtoReflect.Descriptor instead. 467 func (*Future) Descriptor() ([]byte, []int) { 468 return file_vega_markets_proto_rawDescGZIP(), []int{2} 469 } 470 471 func (x *Future) GetSettlementAsset() string { 472 if x != nil { 473 return x.SettlementAsset 474 } 475 return "" 476 } 477 478 func (x *Future) GetQuoteName() string { 479 if x != nil { 480 return x.QuoteName 481 } 482 return "" 483 } 484 485 func (x *Future) GetDataSourceSpecForSettlementData() *DataSourceSpec { 486 if x != nil { 487 return x.DataSourceSpecForSettlementData 488 } 489 return nil 490 } 491 492 func (x *Future) GetDataSourceSpecForTradingTermination() *DataSourceSpec { 493 if x != nil { 494 return x.DataSourceSpecForTradingTermination 495 } 496 return nil 497 } 498 499 func (x *Future) GetDataSourceSpecBinding() *DataSourceSpecToFutureBinding { 500 if x != nil { 501 return x.DataSourceSpecBinding 502 } 503 return nil 504 } 505 506 func (x *Future) GetCap() *FutureCap { 507 if x != nil { 508 return x.Cap 509 } 510 return nil 511 } 512 513 type FutureCap struct { 514 state protoimpl.MessageState 515 sizeCache protoimpl.SizeCache 516 unknownFields protoimpl.UnknownFields 517 518 // Set the maximum price for orders, and settlement data in market decimals. 519 MaxPrice string `protobuf:"bytes,1,opt,name=max_price,json=maxPrice,proto3" json:"max_price,omitempty"` 520 // If set to true, the settlement price must either be zero, or equal to the max price. 521 BinarySettlement *bool `protobuf:"varint,2,opt,name=binary_settlement,json=binarySettlement,proto3,oneof" json:"binary_settlement,omitempty"` 522 // If set to true, positions must be fully collateralised so there is no default risk for any party. 523 FullyCollateralised *bool `protobuf:"varint,3,opt,name=fully_collateralised,json=fullyCollateralised,proto3,oneof" json:"fully_collateralised,omitempty"` 524 } 525 526 func (x *FutureCap) Reset() { 527 *x = FutureCap{} 528 if protoimpl.UnsafeEnabled { 529 mi := &file_vega_markets_proto_msgTypes[3] 530 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 531 ms.StoreMessageInfo(mi) 532 } 533 } 534 535 func (x *FutureCap) String() string { 536 return protoimpl.X.MessageStringOf(x) 537 } 538 539 func (*FutureCap) ProtoMessage() {} 540 541 func (x *FutureCap) ProtoReflect() protoreflect.Message { 542 mi := &file_vega_markets_proto_msgTypes[3] 543 if protoimpl.UnsafeEnabled && x != nil { 544 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 545 if ms.LoadMessageInfo() == nil { 546 ms.StoreMessageInfo(mi) 547 } 548 return ms 549 } 550 return mi.MessageOf(x) 551 } 552 553 // Deprecated: Use FutureCap.ProtoReflect.Descriptor instead. 554 func (*FutureCap) Descriptor() ([]byte, []int) { 555 return file_vega_markets_proto_rawDescGZIP(), []int{3} 556 } 557 558 func (x *FutureCap) GetMaxPrice() string { 559 if x != nil { 560 return x.MaxPrice 561 } 562 return "" 563 } 564 565 func (x *FutureCap) GetBinarySettlement() bool { 566 if x != nil && x.BinarySettlement != nil { 567 return *x.BinarySettlement 568 } 569 return false 570 } 571 572 func (x *FutureCap) GetFullyCollateralised() bool { 573 if x != nil && x.FullyCollateralised != nil { 574 return *x.FullyCollateralised 575 } 576 return false 577 } 578 579 // Perpetual product definition 580 type Perpetual struct { 581 state protoimpl.MessageState 582 sizeCache protoimpl.SizeCache 583 unknownFields protoimpl.UnknownFields 584 585 // Underlying asset for the perpetual. 586 SettlementAsset string `protobuf:"bytes,1,opt,name=settlement_asset,json=settlementAsset,proto3" json:"settlement_asset,omitempty"` 587 // Quote name of the instrument. 588 QuoteName string `protobuf:"bytes,2,opt,name=quote_name,json=quoteName,proto3" json:"quote_name,omitempty"` 589 // Controls how much the upcoming funding payment liability contributes to party's margin, in the range [0, 1]. 590 MarginFundingFactor string `protobuf:"bytes,3,opt,name=margin_funding_factor,json=marginFundingFactor,proto3" json:"margin_funding_factor,omitempty"` 591 // Continuously compounded interest rate used in funding rate calculation, in the range [-1, 1]. 592 InterestRate string `protobuf:"bytes,4,opt,name=interest_rate,json=interestRate,proto3" json:"interest_rate,omitempty"` 593 // Lower bound for the clamp function used as part of the funding rate calculation, in the range [-1, 1]. 594 ClampLowerBound string `protobuf:"bytes,5,opt,name=clamp_lower_bound,json=clampLowerBound,proto3" json:"clamp_lower_bound,omitempty"` 595 // Upper bound for the clamp function used as part of the funding rate calculation, in the range [-1, 1]. 596 ClampUpperBound string `protobuf:"bytes,6,opt,name=clamp_upper_bound,json=clampUpperBound,proto3" json:"clamp_upper_bound,omitempty"` 597 // Data source spec describing the data source for settlement schedule. 598 DataSourceSpecForSettlementSchedule *DataSourceSpec `protobuf:"bytes,7,opt,name=data_source_spec_for_settlement_schedule,json=dataSourceSpecForSettlementSchedule,proto3" json:"data_source_spec_for_settlement_schedule,omitempty"` 599 // Data source spec describing the data source for settlement. 600 DataSourceSpecForSettlementData *DataSourceSpec `protobuf:"bytes,8,opt,name=data_source_spec_for_settlement_data,json=dataSourceSpecForSettlementData,proto3" json:"data_source_spec_for_settlement_data,omitempty"` 601 // Binding between the data source spec and the settlement data. 602 DataSourceSpecBinding *DataSourceSpecToPerpetualBinding `protobuf:"bytes,9,opt,name=data_source_spec_binding,json=dataSourceSpecBinding,proto3" json:"data_source_spec_binding,omitempty"` 603 // Factor applied to funding-rates. This scales the impact that spot price deviations have on funding payments. 604 FundingRateScalingFactor *string `protobuf:"bytes,10,opt,name=funding_rate_scaling_factor,json=fundingRateScalingFactor,proto3,oneof" json:"funding_rate_scaling_factor,omitempty"` 605 // Lower bound for the funding-rate such that the funding-rate will never be lower than this value. 606 FundingRateLowerBound *string `protobuf:"bytes,11,opt,name=funding_rate_lower_bound,json=fundingRateLowerBound,proto3,oneof" json:"funding_rate_lower_bound,omitempty"` 607 // Upper bound for the funding-rate such that the funding-rate will never be higher than this value. 608 FundingRateUpperBound *string `protobuf:"bytes,12,opt,name=funding_rate_upper_bound,json=fundingRateUpperBound,proto3,oneof" json:"funding_rate_upper_bound,omitempty"` 609 // Optional configuration for the internal composite price used in funding payment calculation. 610 InternalCompositePriceConfig *CompositePriceConfiguration `protobuf:"bytes,13,opt,name=internal_composite_price_config,json=internalCompositePriceConfig,proto3,oneof" json:"internal_composite_price_config,omitempty"` 611 } 612 613 func (x *Perpetual) Reset() { 614 *x = Perpetual{} 615 if protoimpl.UnsafeEnabled { 616 mi := &file_vega_markets_proto_msgTypes[4] 617 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 618 ms.StoreMessageInfo(mi) 619 } 620 } 621 622 func (x *Perpetual) String() string { 623 return protoimpl.X.MessageStringOf(x) 624 } 625 626 func (*Perpetual) ProtoMessage() {} 627 628 func (x *Perpetual) ProtoReflect() protoreflect.Message { 629 mi := &file_vega_markets_proto_msgTypes[4] 630 if protoimpl.UnsafeEnabled && x != nil { 631 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 632 if ms.LoadMessageInfo() == nil { 633 ms.StoreMessageInfo(mi) 634 } 635 return ms 636 } 637 return mi.MessageOf(x) 638 } 639 640 // Deprecated: Use Perpetual.ProtoReflect.Descriptor instead. 641 func (*Perpetual) Descriptor() ([]byte, []int) { 642 return file_vega_markets_proto_rawDescGZIP(), []int{4} 643 } 644 645 func (x *Perpetual) GetSettlementAsset() string { 646 if x != nil { 647 return x.SettlementAsset 648 } 649 return "" 650 } 651 652 func (x *Perpetual) GetQuoteName() string { 653 if x != nil { 654 return x.QuoteName 655 } 656 return "" 657 } 658 659 func (x *Perpetual) GetMarginFundingFactor() string { 660 if x != nil { 661 return x.MarginFundingFactor 662 } 663 return "" 664 } 665 666 func (x *Perpetual) GetInterestRate() string { 667 if x != nil { 668 return x.InterestRate 669 } 670 return "" 671 } 672 673 func (x *Perpetual) GetClampLowerBound() string { 674 if x != nil { 675 return x.ClampLowerBound 676 } 677 return "" 678 } 679 680 func (x *Perpetual) GetClampUpperBound() string { 681 if x != nil { 682 return x.ClampUpperBound 683 } 684 return "" 685 } 686 687 func (x *Perpetual) GetDataSourceSpecForSettlementSchedule() *DataSourceSpec { 688 if x != nil { 689 return x.DataSourceSpecForSettlementSchedule 690 } 691 return nil 692 } 693 694 func (x *Perpetual) GetDataSourceSpecForSettlementData() *DataSourceSpec { 695 if x != nil { 696 return x.DataSourceSpecForSettlementData 697 } 698 return nil 699 } 700 701 func (x *Perpetual) GetDataSourceSpecBinding() *DataSourceSpecToPerpetualBinding { 702 if x != nil { 703 return x.DataSourceSpecBinding 704 } 705 return nil 706 } 707 708 func (x *Perpetual) GetFundingRateScalingFactor() string { 709 if x != nil && x.FundingRateScalingFactor != nil { 710 return *x.FundingRateScalingFactor 711 } 712 return "" 713 } 714 715 func (x *Perpetual) GetFundingRateLowerBound() string { 716 if x != nil && x.FundingRateLowerBound != nil { 717 return *x.FundingRateLowerBound 718 } 719 return "" 720 } 721 722 func (x *Perpetual) GetFundingRateUpperBound() string { 723 if x != nil && x.FundingRateUpperBound != nil { 724 return *x.FundingRateUpperBound 725 } 726 return "" 727 } 728 729 func (x *Perpetual) GetInternalCompositePriceConfig() *CompositePriceConfiguration { 730 if x != nil { 731 return x.InternalCompositePriceConfig 732 } 733 return nil 734 } 735 736 // DataSourceSpecToFutureBinding describes which property of the data source data is to be 737 // used as settlement data and which to use as the trading terminated trigger 738 type DataSourceSpecToFutureBinding struct { 739 state protoimpl.MessageState 740 sizeCache protoimpl.SizeCache 741 unknownFields protoimpl.UnknownFields 742 743 // Name of the property in the source data that should be used as settlement data. 744 // If it is set to "prices.BTC.value", then the Future will use the value of 745 // this property as settlement data. 746 SettlementDataProperty string `protobuf:"bytes,1,opt,name=settlement_data_property,json=settlementDataProperty,proto3" json:"settlement_data_property,omitempty"` 747 // Name of the property in the data source data that signals termination of trading. 748 TradingTerminationProperty string `protobuf:"bytes,2,opt,name=trading_termination_property,json=tradingTerminationProperty,proto3" json:"trading_termination_property,omitempty"` 749 } 750 751 func (x *DataSourceSpecToFutureBinding) Reset() { 752 *x = DataSourceSpecToFutureBinding{} 753 if protoimpl.UnsafeEnabled { 754 mi := &file_vega_markets_proto_msgTypes[5] 755 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 756 ms.StoreMessageInfo(mi) 757 } 758 } 759 760 func (x *DataSourceSpecToFutureBinding) String() string { 761 return protoimpl.X.MessageStringOf(x) 762 } 763 764 func (*DataSourceSpecToFutureBinding) ProtoMessage() {} 765 766 func (x *DataSourceSpecToFutureBinding) ProtoReflect() protoreflect.Message { 767 mi := &file_vega_markets_proto_msgTypes[5] 768 if protoimpl.UnsafeEnabled && x != nil { 769 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 770 if ms.LoadMessageInfo() == nil { 771 ms.StoreMessageInfo(mi) 772 } 773 return ms 774 } 775 return mi.MessageOf(x) 776 } 777 778 // Deprecated: Use DataSourceSpecToFutureBinding.ProtoReflect.Descriptor instead. 779 func (*DataSourceSpecToFutureBinding) Descriptor() ([]byte, []int) { 780 return file_vega_markets_proto_rawDescGZIP(), []int{5} 781 } 782 783 func (x *DataSourceSpecToFutureBinding) GetSettlementDataProperty() string { 784 if x != nil { 785 return x.SettlementDataProperty 786 } 787 return "" 788 } 789 790 func (x *DataSourceSpecToFutureBinding) GetTradingTerminationProperty() string { 791 if x != nil { 792 return x.TradingTerminationProperty 793 } 794 return "" 795 } 796 797 // Describes which properties of the data source data is to be 798 // used for settlement. 799 type DataSourceSpecToPerpetualBinding struct { 800 state protoimpl.MessageState 801 sizeCache protoimpl.SizeCache 802 unknownFields protoimpl.UnknownFields 803 804 // Name of the property in the source data that should be used for settlement data. 805 // If it is set to "prices.BTC.value" for example, then the perpetual market will use the value of 806 // this property to get settlement data. 807 SettlementDataProperty string `protobuf:"bytes,1,opt,name=settlement_data_property,json=settlementDataProperty,proto3" json:"settlement_data_property,omitempty"` 808 // Name of the property in the source data that should be used to determine the perpetual's settlement schedule. 809 SettlementScheduleProperty string `protobuf:"bytes,2,opt,name=settlement_schedule_property,json=settlementScheduleProperty,proto3" json:"settlement_schedule_property,omitempty"` 810 } 811 812 func (x *DataSourceSpecToPerpetualBinding) Reset() { 813 *x = DataSourceSpecToPerpetualBinding{} 814 if protoimpl.UnsafeEnabled { 815 mi := &file_vega_markets_proto_msgTypes[6] 816 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 817 ms.StoreMessageInfo(mi) 818 } 819 } 820 821 func (x *DataSourceSpecToPerpetualBinding) String() string { 822 return protoimpl.X.MessageStringOf(x) 823 } 824 825 func (*DataSourceSpecToPerpetualBinding) ProtoMessage() {} 826 827 func (x *DataSourceSpecToPerpetualBinding) ProtoReflect() protoreflect.Message { 828 mi := &file_vega_markets_proto_msgTypes[6] 829 if protoimpl.UnsafeEnabled && x != nil { 830 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 831 if ms.LoadMessageInfo() == nil { 832 ms.StoreMessageInfo(mi) 833 } 834 return ms 835 } 836 return mi.MessageOf(x) 837 } 838 839 // Deprecated: Use DataSourceSpecToPerpetualBinding.ProtoReflect.Descriptor instead. 840 func (*DataSourceSpecToPerpetualBinding) Descriptor() ([]byte, []int) { 841 return file_vega_markets_proto_rawDescGZIP(), []int{6} 842 } 843 844 func (x *DataSourceSpecToPerpetualBinding) GetSettlementDataProperty() string { 845 if x != nil { 846 return x.SettlementDataProperty 847 } 848 return "" 849 } 850 851 func (x *DataSourceSpecToPerpetualBinding) GetSettlementScheduleProperty() string { 852 if x != nil { 853 return x.SettlementScheduleProperty 854 } 855 return "" 856 } 857 858 // Instrument metadata definition 859 type InstrumentMetadata struct { 860 state protoimpl.MessageState 861 sizeCache protoimpl.SizeCache 862 unknownFields protoimpl.UnknownFields 863 864 // List of 0 or more tags. 865 Tags []string `protobuf:"bytes,1,rep,name=tags,proto3" json:"tags,omitempty"` 866 } 867 868 func (x *InstrumentMetadata) Reset() { 869 *x = InstrumentMetadata{} 870 if protoimpl.UnsafeEnabled { 871 mi := &file_vega_markets_proto_msgTypes[7] 872 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 873 ms.StoreMessageInfo(mi) 874 } 875 } 876 877 func (x *InstrumentMetadata) String() string { 878 return protoimpl.X.MessageStringOf(x) 879 } 880 881 func (*InstrumentMetadata) ProtoMessage() {} 882 883 func (x *InstrumentMetadata) ProtoReflect() protoreflect.Message { 884 mi := &file_vega_markets_proto_msgTypes[7] 885 if protoimpl.UnsafeEnabled && x != nil { 886 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 887 if ms.LoadMessageInfo() == nil { 888 ms.StoreMessageInfo(mi) 889 } 890 return ms 891 } 892 return mi.MessageOf(x) 893 } 894 895 // Deprecated: Use InstrumentMetadata.ProtoReflect.Descriptor instead. 896 func (*InstrumentMetadata) Descriptor() ([]byte, []int) { 897 return file_vega_markets_proto_rawDescGZIP(), []int{7} 898 } 899 900 func (x *InstrumentMetadata) GetTags() []string { 901 if x != nil { 902 return x.Tags 903 } 904 return nil 905 } 906 907 // Instrument definition 908 type Instrument struct { 909 state protoimpl.MessageState 910 sizeCache protoimpl.SizeCache 911 unknownFields protoimpl.UnknownFields 912 913 // Unique instrument ID. 914 Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` 915 // Code for the instrument. 916 Code string `protobuf:"bytes,2,opt,name=code,proto3" json:"code,omitempty"` 917 // Name of the instrument. 918 Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` 919 // Collection of instrument meta-data. 920 Metadata *InstrumentMetadata `protobuf:"bytes,4,opt,name=metadata,proto3" json:"metadata,omitempty"` 921 // Product the instrument is composed of. 922 // 923 // Types that are assignable to Product: 924 // 925 // *Instrument_Future 926 // *Instrument_Spot 927 // *Instrument_Perpetual 928 Product isInstrument_Product `protobuf_oneof:"product"` 929 } 930 931 func (x *Instrument) Reset() { 932 *x = Instrument{} 933 if protoimpl.UnsafeEnabled { 934 mi := &file_vega_markets_proto_msgTypes[8] 935 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 936 ms.StoreMessageInfo(mi) 937 } 938 } 939 940 func (x *Instrument) String() string { 941 return protoimpl.X.MessageStringOf(x) 942 } 943 944 func (*Instrument) ProtoMessage() {} 945 946 func (x *Instrument) ProtoReflect() protoreflect.Message { 947 mi := &file_vega_markets_proto_msgTypes[8] 948 if protoimpl.UnsafeEnabled && x != nil { 949 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 950 if ms.LoadMessageInfo() == nil { 951 ms.StoreMessageInfo(mi) 952 } 953 return ms 954 } 955 return mi.MessageOf(x) 956 } 957 958 // Deprecated: Use Instrument.ProtoReflect.Descriptor instead. 959 func (*Instrument) Descriptor() ([]byte, []int) { 960 return file_vega_markets_proto_rawDescGZIP(), []int{8} 961 } 962 963 func (x *Instrument) GetId() string { 964 if x != nil { 965 return x.Id 966 } 967 return "" 968 } 969 970 func (x *Instrument) GetCode() string { 971 if x != nil { 972 return x.Code 973 } 974 return "" 975 } 976 977 func (x *Instrument) GetName() string { 978 if x != nil { 979 return x.Name 980 } 981 return "" 982 } 983 984 func (x *Instrument) GetMetadata() *InstrumentMetadata { 985 if x != nil { 986 return x.Metadata 987 } 988 return nil 989 } 990 991 func (m *Instrument) GetProduct() isInstrument_Product { 992 if m != nil { 993 return m.Product 994 } 995 return nil 996 } 997 998 func (x *Instrument) GetFuture() *Future { 999 if x, ok := x.GetProduct().(*Instrument_Future); ok { 1000 return x.Future 1001 } 1002 return nil 1003 } 1004 1005 func (x *Instrument) GetSpot() *Spot { 1006 if x, ok := x.GetProduct().(*Instrument_Spot); ok { 1007 return x.Spot 1008 } 1009 return nil 1010 } 1011 1012 func (x *Instrument) GetPerpetual() *Perpetual { 1013 if x, ok := x.GetProduct().(*Instrument_Perpetual); ok { 1014 return x.Perpetual 1015 } 1016 return nil 1017 } 1018 1019 type isInstrument_Product interface { 1020 isInstrument_Product() 1021 } 1022 1023 type Instrument_Future struct { 1024 // Future. 1025 Future *Future `protobuf:"bytes,100,opt,name=future,proto3,oneof"` 1026 } 1027 1028 type Instrument_Spot struct { 1029 // Spot. 1030 Spot *Spot `protobuf:"bytes,101,opt,name=spot,proto3,oneof"` 1031 } 1032 1033 type Instrument_Perpetual struct { 1034 // Perpetual. 1035 Perpetual *Perpetual `protobuf:"bytes,102,opt,name=perpetual,proto3,oneof"` 1036 } 1037 1038 func (*Instrument_Future) isInstrument_Product() {} 1039 1040 func (*Instrument_Spot) isInstrument_Product() {} 1041 1042 func (*Instrument_Perpetual) isInstrument_Product() {} 1043 1044 // Risk model for log normal 1045 type LogNormalRiskModel struct { 1046 state protoimpl.MessageState 1047 sizeCache protoimpl.SizeCache 1048 unknownFields protoimpl.UnknownFields 1049 1050 // Risk Aversion Parameter. 1051 RiskAversionParameter float64 `protobuf:"fixed64,1,opt,name=risk_aversion_parameter,json=riskAversionParameter,proto3" json:"risk_aversion_parameter,omitempty"` 1052 // Tau parameter of the risk model, projection horizon measured as a year fraction used in the expected shortfall 1053 // calculation to obtain the maintenance margin, must be a strictly non-negative real number. 1054 Tau float64 `protobuf:"fixed64,2,opt,name=tau,proto3" json:"tau,omitempty"` 1055 // Risk model parameters for log normal. 1056 Params *LogNormalModelParams `protobuf:"bytes,3,opt,name=params,proto3" json:"params,omitempty"` 1057 // And optional override for the risk factor calculated by the risk model. 1058 RiskFactorOverride *RiskFactorOverride `protobuf:"bytes,4,opt,name=risk_factor_override,json=riskFactorOverride,proto3,oneof" json:"risk_factor_override,omitempty"` 1059 } 1060 1061 func (x *LogNormalRiskModel) Reset() { 1062 *x = LogNormalRiskModel{} 1063 if protoimpl.UnsafeEnabled { 1064 mi := &file_vega_markets_proto_msgTypes[9] 1065 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1066 ms.StoreMessageInfo(mi) 1067 } 1068 } 1069 1070 func (x *LogNormalRiskModel) String() string { 1071 return protoimpl.X.MessageStringOf(x) 1072 } 1073 1074 func (*LogNormalRiskModel) ProtoMessage() {} 1075 1076 func (x *LogNormalRiskModel) ProtoReflect() protoreflect.Message { 1077 mi := &file_vega_markets_proto_msgTypes[9] 1078 if protoimpl.UnsafeEnabled && x != nil { 1079 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1080 if ms.LoadMessageInfo() == nil { 1081 ms.StoreMessageInfo(mi) 1082 } 1083 return ms 1084 } 1085 return mi.MessageOf(x) 1086 } 1087 1088 // Deprecated: Use LogNormalRiskModel.ProtoReflect.Descriptor instead. 1089 func (*LogNormalRiskModel) Descriptor() ([]byte, []int) { 1090 return file_vega_markets_proto_rawDescGZIP(), []int{9} 1091 } 1092 1093 func (x *LogNormalRiskModel) GetRiskAversionParameter() float64 { 1094 if x != nil { 1095 return x.RiskAversionParameter 1096 } 1097 return 0 1098 } 1099 1100 func (x *LogNormalRiskModel) GetTau() float64 { 1101 if x != nil { 1102 return x.Tau 1103 } 1104 return 0 1105 } 1106 1107 func (x *LogNormalRiskModel) GetParams() *LogNormalModelParams { 1108 if x != nil { 1109 return x.Params 1110 } 1111 return nil 1112 } 1113 1114 func (x *LogNormalRiskModel) GetRiskFactorOverride() *RiskFactorOverride { 1115 if x != nil { 1116 return x.RiskFactorOverride 1117 } 1118 return nil 1119 } 1120 1121 // Risk factor override to control stable leverage 1122 type RiskFactorOverride struct { 1123 state protoimpl.MessageState 1124 sizeCache protoimpl.SizeCache 1125 unknownFields protoimpl.UnknownFields 1126 1127 // Short Risk factor value. 1128 Short string `protobuf:"bytes,1,opt,name=short,proto3" json:"short,omitempty"` 1129 // Long Risk factor value. 1130 Long string `protobuf:"bytes,2,opt,name=long,proto3" json:"long,omitempty"` 1131 } 1132 1133 func (x *RiskFactorOverride) Reset() { 1134 *x = RiskFactorOverride{} 1135 if protoimpl.UnsafeEnabled { 1136 mi := &file_vega_markets_proto_msgTypes[10] 1137 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1138 ms.StoreMessageInfo(mi) 1139 } 1140 } 1141 1142 func (x *RiskFactorOverride) String() string { 1143 return protoimpl.X.MessageStringOf(x) 1144 } 1145 1146 func (*RiskFactorOverride) ProtoMessage() {} 1147 1148 func (x *RiskFactorOverride) ProtoReflect() protoreflect.Message { 1149 mi := &file_vega_markets_proto_msgTypes[10] 1150 if protoimpl.UnsafeEnabled && x != nil { 1151 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1152 if ms.LoadMessageInfo() == nil { 1153 ms.StoreMessageInfo(mi) 1154 } 1155 return ms 1156 } 1157 return mi.MessageOf(x) 1158 } 1159 1160 // Deprecated: Use RiskFactorOverride.ProtoReflect.Descriptor instead. 1161 func (*RiskFactorOverride) Descriptor() ([]byte, []int) { 1162 return file_vega_markets_proto_rawDescGZIP(), []int{10} 1163 } 1164 1165 func (x *RiskFactorOverride) GetShort() string { 1166 if x != nil { 1167 return x.Short 1168 } 1169 return "" 1170 } 1171 1172 func (x *RiskFactorOverride) GetLong() string { 1173 if x != nil { 1174 return x.Long 1175 } 1176 return "" 1177 } 1178 1179 // Risk model parameters for log normal 1180 type LogNormalModelParams struct { 1181 state protoimpl.MessageState 1182 sizeCache protoimpl.SizeCache 1183 unknownFields protoimpl.UnknownFields 1184 1185 // Mu parameter, annualised growth rate of the underlying asset. 1186 Mu float64 `protobuf:"fixed64,1,opt,name=mu,proto3" json:"mu,omitempty"` 1187 // R parameter, annualised growth rate of the risk-free asset, used for discounting of future cash flows, can be any real number. 1188 R float64 `protobuf:"fixed64,2,opt,name=r,proto3" json:"r,omitempty"` 1189 // Sigma parameter, annualised volatility of the underlying asset, must be a strictly non-negative real number. 1190 Sigma float64 `protobuf:"fixed64,3,opt,name=sigma,proto3" json:"sigma,omitempty"` 1191 } 1192 1193 func (x *LogNormalModelParams) Reset() { 1194 *x = LogNormalModelParams{} 1195 if protoimpl.UnsafeEnabled { 1196 mi := &file_vega_markets_proto_msgTypes[11] 1197 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1198 ms.StoreMessageInfo(mi) 1199 } 1200 } 1201 1202 func (x *LogNormalModelParams) String() string { 1203 return protoimpl.X.MessageStringOf(x) 1204 } 1205 1206 func (*LogNormalModelParams) ProtoMessage() {} 1207 1208 func (x *LogNormalModelParams) ProtoReflect() protoreflect.Message { 1209 mi := &file_vega_markets_proto_msgTypes[11] 1210 if protoimpl.UnsafeEnabled && x != nil { 1211 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1212 if ms.LoadMessageInfo() == nil { 1213 ms.StoreMessageInfo(mi) 1214 } 1215 return ms 1216 } 1217 return mi.MessageOf(x) 1218 } 1219 1220 // Deprecated: Use LogNormalModelParams.ProtoReflect.Descriptor instead. 1221 func (*LogNormalModelParams) Descriptor() ([]byte, []int) { 1222 return file_vega_markets_proto_rawDescGZIP(), []int{11} 1223 } 1224 1225 func (x *LogNormalModelParams) GetMu() float64 { 1226 if x != nil { 1227 return x.Mu 1228 } 1229 return 0 1230 } 1231 1232 func (x *LogNormalModelParams) GetR() float64 { 1233 if x != nil { 1234 return x.R 1235 } 1236 return 0 1237 } 1238 1239 func (x *LogNormalModelParams) GetSigma() float64 { 1240 if x != nil { 1241 return x.Sigma 1242 } 1243 return 0 1244 } 1245 1246 // Risk model for simple modelling 1247 type SimpleRiskModel struct { 1248 state protoimpl.MessageState 1249 sizeCache protoimpl.SizeCache 1250 unknownFields protoimpl.UnknownFields 1251 1252 // Risk model params for simple modelling. 1253 Params *SimpleModelParams `protobuf:"bytes,1,opt,name=params,proto3" json:"params,omitempty"` 1254 } 1255 1256 func (x *SimpleRiskModel) Reset() { 1257 *x = SimpleRiskModel{} 1258 if protoimpl.UnsafeEnabled { 1259 mi := &file_vega_markets_proto_msgTypes[12] 1260 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1261 ms.StoreMessageInfo(mi) 1262 } 1263 } 1264 1265 func (x *SimpleRiskModel) String() string { 1266 return protoimpl.X.MessageStringOf(x) 1267 } 1268 1269 func (*SimpleRiskModel) ProtoMessage() {} 1270 1271 func (x *SimpleRiskModel) ProtoReflect() protoreflect.Message { 1272 mi := &file_vega_markets_proto_msgTypes[12] 1273 if protoimpl.UnsafeEnabled && x != nil { 1274 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1275 if ms.LoadMessageInfo() == nil { 1276 ms.StoreMessageInfo(mi) 1277 } 1278 return ms 1279 } 1280 return mi.MessageOf(x) 1281 } 1282 1283 // Deprecated: Use SimpleRiskModel.ProtoReflect.Descriptor instead. 1284 func (*SimpleRiskModel) Descriptor() ([]byte, []int) { 1285 return file_vega_markets_proto_rawDescGZIP(), []int{12} 1286 } 1287 1288 func (x *SimpleRiskModel) GetParams() *SimpleModelParams { 1289 if x != nil { 1290 return x.Params 1291 } 1292 return nil 1293 } 1294 1295 // Risk model parameters for simple modelling 1296 type SimpleModelParams struct { 1297 state protoimpl.MessageState 1298 sizeCache protoimpl.SizeCache 1299 unknownFields protoimpl.UnknownFields 1300 1301 // Pre-defined risk factor value for long. 1302 FactorLong float64 `protobuf:"fixed64,1,opt,name=factor_long,json=factorLong,proto3" json:"factor_long,omitempty"` 1303 // Pre-defined risk factor value for short. 1304 FactorShort float64 `protobuf:"fixed64,2,opt,name=factor_short,json=factorShort,proto3" json:"factor_short,omitempty"` 1305 // Pre-defined maximum price move up that the model considers as valid. 1306 MaxMoveUp float64 `protobuf:"fixed64,3,opt,name=max_move_up,json=maxMoveUp,proto3" json:"max_move_up,omitempty"` 1307 // Pre-defined minimum price move down that the model considers as valid. 1308 MinMoveDown float64 `protobuf:"fixed64,4,opt,name=min_move_down,json=minMoveDown,proto3" json:"min_move_down,omitempty"` 1309 // Pre-defined constant probability of trading. 1310 ProbabilityOfTrading float64 `protobuf:"fixed64,5,opt,name=probability_of_trading,json=probabilityOfTrading,proto3" json:"probability_of_trading,omitempty"` 1311 } 1312 1313 func (x *SimpleModelParams) Reset() { 1314 *x = SimpleModelParams{} 1315 if protoimpl.UnsafeEnabled { 1316 mi := &file_vega_markets_proto_msgTypes[13] 1317 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1318 ms.StoreMessageInfo(mi) 1319 } 1320 } 1321 1322 func (x *SimpleModelParams) String() string { 1323 return protoimpl.X.MessageStringOf(x) 1324 } 1325 1326 func (*SimpleModelParams) ProtoMessage() {} 1327 1328 func (x *SimpleModelParams) ProtoReflect() protoreflect.Message { 1329 mi := &file_vega_markets_proto_msgTypes[13] 1330 if protoimpl.UnsafeEnabled && x != nil { 1331 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1332 if ms.LoadMessageInfo() == nil { 1333 ms.StoreMessageInfo(mi) 1334 } 1335 return ms 1336 } 1337 return mi.MessageOf(x) 1338 } 1339 1340 // Deprecated: Use SimpleModelParams.ProtoReflect.Descriptor instead. 1341 func (*SimpleModelParams) Descriptor() ([]byte, []int) { 1342 return file_vega_markets_proto_rawDescGZIP(), []int{13} 1343 } 1344 1345 func (x *SimpleModelParams) GetFactorLong() float64 { 1346 if x != nil { 1347 return x.FactorLong 1348 } 1349 return 0 1350 } 1351 1352 func (x *SimpleModelParams) GetFactorShort() float64 { 1353 if x != nil { 1354 return x.FactorShort 1355 } 1356 return 0 1357 } 1358 1359 func (x *SimpleModelParams) GetMaxMoveUp() float64 { 1360 if x != nil { 1361 return x.MaxMoveUp 1362 } 1363 return 0 1364 } 1365 1366 func (x *SimpleModelParams) GetMinMoveDown() float64 { 1367 if x != nil { 1368 return x.MinMoveDown 1369 } 1370 return 0 1371 } 1372 1373 func (x *SimpleModelParams) GetProbabilityOfTrading() float64 { 1374 if x != nil { 1375 return x.ProbabilityOfTrading 1376 } 1377 return 0 1378 } 1379 1380 // Scaling Factors (for use in margin calculation) 1381 type ScalingFactors struct { 1382 state protoimpl.MessageState 1383 sizeCache protoimpl.SizeCache 1384 unknownFields protoimpl.UnknownFields 1385 1386 // Collateral search level. If collateral dips below this value, 1387 // the system will search for collateral to release. 1388 SearchLevel float64 `protobuf:"fixed64,1,opt,name=search_level,json=searchLevel,proto3" json:"search_level,omitempty"` 1389 // Initial margin level. This is the minimum amount of collateral 1390 // required to open a position in a market that requires margin. 1391 InitialMargin float64 `protobuf:"fixed64,2,opt,name=initial_margin,json=initialMargin,proto3" json:"initial_margin,omitempty"` 1392 // Collateral release level. If a trader has collateral above this level, 1393 // the system will release collateral to a trader's general collateral account 1394 // for the asset. 1395 CollateralRelease float64 `protobuf:"fixed64,3,opt,name=collateral_release,json=collateralRelease,proto3" json:"collateral_release,omitempty"` 1396 } 1397 1398 func (x *ScalingFactors) Reset() { 1399 *x = ScalingFactors{} 1400 if protoimpl.UnsafeEnabled { 1401 mi := &file_vega_markets_proto_msgTypes[14] 1402 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1403 ms.StoreMessageInfo(mi) 1404 } 1405 } 1406 1407 func (x *ScalingFactors) String() string { 1408 return protoimpl.X.MessageStringOf(x) 1409 } 1410 1411 func (*ScalingFactors) ProtoMessage() {} 1412 1413 func (x *ScalingFactors) ProtoReflect() protoreflect.Message { 1414 mi := &file_vega_markets_proto_msgTypes[14] 1415 if protoimpl.UnsafeEnabled && x != nil { 1416 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1417 if ms.LoadMessageInfo() == nil { 1418 ms.StoreMessageInfo(mi) 1419 } 1420 return ms 1421 } 1422 return mi.MessageOf(x) 1423 } 1424 1425 // Deprecated: Use ScalingFactors.ProtoReflect.Descriptor instead. 1426 func (*ScalingFactors) Descriptor() ([]byte, []int) { 1427 return file_vega_markets_proto_rawDescGZIP(), []int{14} 1428 } 1429 1430 func (x *ScalingFactors) GetSearchLevel() float64 { 1431 if x != nil { 1432 return x.SearchLevel 1433 } 1434 return 0 1435 } 1436 1437 func (x *ScalingFactors) GetInitialMargin() float64 { 1438 if x != nil { 1439 return x.InitialMargin 1440 } 1441 return 0 1442 } 1443 1444 func (x *ScalingFactors) GetCollateralRelease() float64 { 1445 if x != nil { 1446 return x.CollateralRelease 1447 } 1448 return 0 1449 } 1450 1451 // Margin Calculator definition 1452 type MarginCalculator struct { 1453 state protoimpl.MessageState 1454 sizeCache protoimpl.SizeCache 1455 unknownFields protoimpl.UnknownFields 1456 1457 // Scaling factors for margin calculation. 1458 ScalingFactors *ScalingFactors `protobuf:"bytes,1,opt,name=scaling_factors,json=scalingFactors,proto3" json:"scaling_factors,omitempty"` 1459 // If set to true, positions must be fully collateralised so there is no default risk for any party (capped futures). 1460 FullyCollateralised *bool `protobuf:"varint,2,opt,name=fully_collateralised,json=fullyCollateralised,proto3,oneof" json:"fully_collateralised,omitempty"` 1461 } 1462 1463 func (x *MarginCalculator) Reset() { 1464 *x = MarginCalculator{} 1465 if protoimpl.UnsafeEnabled { 1466 mi := &file_vega_markets_proto_msgTypes[15] 1467 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1468 ms.StoreMessageInfo(mi) 1469 } 1470 } 1471 1472 func (x *MarginCalculator) String() string { 1473 return protoimpl.X.MessageStringOf(x) 1474 } 1475 1476 func (*MarginCalculator) ProtoMessage() {} 1477 1478 func (x *MarginCalculator) ProtoReflect() protoreflect.Message { 1479 mi := &file_vega_markets_proto_msgTypes[15] 1480 if protoimpl.UnsafeEnabled && x != nil { 1481 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1482 if ms.LoadMessageInfo() == nil { 1483 ms.StoreMessageInfo(mi) 1484 } 1485 return ms 1486 } 1487 return mi.MessageOf(x) 1488 } 1489 1490 // Deprecated: Use MarginCalculator.ProtoReflect.Descriptor instead. 1491 func (*MarginCalculator) Descriptor() ([]byte, []int) { 1492 return file_vega_markets_proto_rawDescGZIP(), []int{15} 1493 } 1494 1495 func (x *MarginCalculator) GetScalingFactors() *ScalingFactors { 1496 if x != nil { 1497 return x.ScalingFactors 1498 } 1499 return nil 1500 } 1501 1502 func (x *MarginCalculator) GetFullyCollateralised() bool { 1503 if x != nil && x.FullyCollateralised != nil { 1504 return *x.FullyCollateralised 1505 } 1506 return false 1507 } 1508 1509 // Tradable Instrument definition 1510 type TradableInstrument struct { 1511 state protoimpl.MessageState 1512 sizeCache protoimpl.SizeCache 1513 unknownFields protoimpl.UnknownFields 1514 1515 // Details for the underlying instrument. 1516 Instrument *Instrument `protobuf:"bytes,1,opt,name=instrument,proto3" json:"instrument,omitempty"` 1517 // Margin calculator for the instrument. 1518 MarginCalculator *MarginCalculator `protobuf:"bytes,2,opt,name=margin_calculator,json=marginCalculator,proto3" json:"margin_calculator,omitempty"` 1519 // Risk model for use by the instrument. 1520 // 1521 // Types that are assignable to RiskModel: 1522 // 1523 // *TradableInstrument_LogNormalRiskModel 1524 // *TradableInstrument_SimpleRiskModel 1525 RiskModel isTradableInstrument_RiskModel `protobuf_oneof:"risk_model"` 1526 } 1527 1528 func (x *TradableInstrument) Reset() { 1529 *x = TradableInstrument{} 1530 if protoimpl.UnsafeEnabled { 1531 mi := &file_vega_markets_proto_msgTypes[16] 1532 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1533 ms.StoreMessageInfo(mi) 1534 } 1535 } 1536 1537 func (x *TradableInstrument) String() string { 1538 return protoimpl.X.MessageStringOf(x) 1539 } 1540 1541 func (*TradableInstrument) ProtoMessage() {} 1542 1543 func (x *TradableInstrument) ProtoReflect() protoreflect.Message { 1544 mi := &file_vega_markets_proto_msgTypes[16] 1545 if protoimpl.UnsafeEnabled && x != nil { 1546 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1547 if ms.LoadMessageInfo() == nil { 1548 ms.StoreMessageInfo(mi) 1549 } 1550 return ms 1551 } 1552 return mi.MessageOf(x) 1553 } 1554 1555 // Deprecated: Use TradableInstrument.ProtoReflect.Descriptor instead. 1556 func (*TradableInstrument) Descriptor() ([]byte, []int) { 1557 return file_vega_markets_proto_rawDescGZIP(), []int{16} 1558 } 1559 1560 func (x *TradableInstrument) GetInstrument() *Instrument { 1561 if x != nil { 1562 return x.Instrument 1563 } 1564 return nil 1565 } 1566 1567 func (x *TradableInstrument) GetMarginCalculator() *MarginCalculator { 1568 if x != nil { 1569 return x.MarginCalculator 1570 } 1571 return nil 1572 } 1573 1574 func (m *TradableInstrument) GetRiskModel() isTradableInstrument_RiskModel { 1575 if m != nil { 1576 return m.RiskModel 1577 } 1578 return nil 1579 } 1580 1581 func (x *TradableInstrument) GetLogNormalRiskModel() *LogNormalRiskModel { 1582 if x, ok := x.GetRiskModel().(*TradableInstrument_LogNormalRiskModel); ok { 1583 return x.LogNormalRiskModel 1584 } 1585 return nil 1586 } 1587 1588 func (x *TradableInstrument) GetSimpleRiskModel() *SimpleRiskModel { 1589 if x, ok := x.GetRiskModel().(*TradableInstrument_SimpleRiskModel); ok { 1590 return x.SimpleRiskModel 1591 } 1592 return nil 1593 } 1594 1595 type isTradableInstrument_RiskModel interface { 1596 isTradableInstrument_RiskModel() 1597 } 1598 1599 type TradableInstrument_LogNormalRiskModel struct { 1600 // Log normal. 1601 LogNormalRiskModel *LogNormalRiskModel `protobuf:"bytes,100,opt,name=log_normal_risk_model,json=logNormalRiskModel,proto3,oneof"` 1602 } 1603 1604 type TradableInstrument_SimpleRiskModel struct { 1605 // Simple. 1606 SimpleRiskModel *SimpleRiskModel `protobuf:"bytes,101,opt,name=simple_risk_model,json=simpleRiskModel,proto3,oneof"` 1607 } 1608 1609 func (*TradableInstrument_LogNormalRiskModel) isTradableInstrument_RiskModel() {} 1610 1611 func (*TradableInstrument_SimpleRiskModel) isTradableInstrument_RiskModel() {} 1612 1613 // Fee factors definition 1614 type FeeFactors struct { 1615 state protoimpl.MessageState 1616 sizeCache protoimpl.SizeCache 1617 unknownFields protoimpl.UnknownFields 1618 1619 // Market maker fee charged network wide. 1620 MakerFee string `protobuf:"bytes,1,opt,name=maker_fee,json=makerFee,proto3" json:"maker_fee,omitempty"` 1621 // Infrastructure fee charged network wide for staking and governance. 1622 InfrastructureFee string `protobuf:"bytes,2,opt,name=infrastructure_fee,json=infrastructureFee,proto3" json:"infrastructure_fee,omitempty"` 1623 // Liquidity fee applied per market for market making. 1624 LiquidityFee string `protobuf:"bytes,3,opt,name=liquidity_fee,json=liquidityFee,proto3" json:"liquidity_fee,omitempty"` 1625 // Fees sent to network treasury for later use based on governance actions (network wide). 1626 TreasuryFee string `protobuf:"bytes,4,opt,name=treasury_fee,json=treasuryFee,proto3" json:"treasury_fee,omitempty"` 1627 // Fees used to purchase governance tokens via regular auctions (network wide). 1628 BuyBackFee string `protobuf:"bytes,5,opt,name=buy_back_fee,json=buyBackFee,proto3" json:"buy_back_fee,omitempty"` 1629 } 1630 1631 func (x *FeeFactors) Reset() { 1632 *x = FeeFactors{} 1633 if protoimpl.UnsafeEnabled { 1634 mi := &file_vega_markets_proto_msgTypes[17] 1635 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1636 ms.StoreMessageInfo(mi) 1637 } 1638 } 1639 1640 func (x *FeeFactors) String() string { 1641 return protoimpl.X.MessageStringOf(x) 1642 } 1643 1644 func (*FeeFactors) ProtoMessage() {} 1645 1646 func (x *FeeFactors) ProtoReflect() protoreflect.Message { 1647 mi := &file_vega_markets_proto_msgTypes[17] 1648 if protoimpl.UnsafeEnabled && x != nil { 1649 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1650 if ms.LoadMessageInfo() == nil { 1651 ms.StoreMessageInfo(mi) 1652 } 1653 return ms 1654 } 1655 return mi.MessageOf(x) 1656 } 1657 1658 // Deprecated: Use FeeFactors.ProtoReflect.Descriptor instead. 1659 func (*FeeFactors) Descriptor() ([]byte, []int) { 1660 return file_vega_markets_proto_rawDescGZIP(), []int{17} 1661 } 1662 1663 func (x *FeeFactors) GetMakerFee() string { 1664 if x != nil { 1665 return x.MakerFee 1666 } 1667 return "" 1668 } 1669 1670 func (x *FeeFactors) GetInfrastructureFee() string { 1671 if x != nil { 1672 return x.InfrastructureFee 1673 } 1674 return "" 1675 } 1676 1677 func (x *FeeFactors) GetLiquidityFee() string { 1678 if x != nil { 1679 return x.LiquidityFee 1680 } 1681 return "" 1682 } 1683 1684 func (x *FeeFactors) GetTreasuryFee() string { 1685 if x != nil { 1686 return x.TreasuryFee 1687 } 1688 return "" 1689 } 1690 1691 func (x *FeeFactors) GetBuyBackFee() string { 1692 if x != nil { 1693 return x.BuyBackFee 1694 } 1695 return "" 1696 } 1697 1698 // Fees definition 1699 type Fees struct { 1700 state protoimpl.MessageState 1701 sizeCache protoimpl.SizeCache 1702 unknownFields protoimpl.UnknownFields 1703 1704 // Fee factors. 1705 Factors *FeeFactors `protobuf:"bytes,1,opt,name=factors,proto3" json:"factors,omitempty"` 1706 // Liquidity fee settings for the market describing how the fee was calculated. 1707 LiquidityFeeSettings *LiquidityFeeSettings `protobuf:"bytes,2,opt,name=liquidity_fee_settings,json=liquidityFeeSettings,proto3" json:"liquidity_fee_settings,omitempty"` 1708 } 1709 1710 func (x *Fees) Reset() { 1711 *x = Fees{} 1712 if protoimpl.UnsafeEnabled { 1713 mi := &file_vega_markets_proto_msgTypes[18] 1714 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1715 ms.StoreMessageInfo(mi) 1716 } 1717 } 1718 1719 func (x *Fees) String() string { 1720 return protoimpl.X.MessageStringOf(x) 1721 } 1722 1723 func (*Fees) ProtoMessage() {} 1724 1725 func (x *Fees) ProtoReflect() protoreflect.Message { 1726 mi := &file_vega_markets_proto_msgTypes[18] 1727 if protoimpl.UnsafeEnabled && x != nil { 1728 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1729 if ms.LoadMessageInfo() == nil { 1730 ms.StoreMessageInfo(mi) 1731 } 1732 return ms 1733 } 1734 return mi.MessageOf(x) 1735 } 1736 1737 // Deprecated: Use Fees.ProtoReflect.Descriptor instead. 1738 func (*Fees) Descriptor() ([]byte, []int) { 1739 return file_vega_markets_proto_rawDescGZIP(), []int{18} 1740 } 1741 1742 func (x *Fees) GetFactors() *FeeFactors { 1743 if x != nil { 1744 return x.Factors 1745 } 1746 return nil 1747 } 1748 1749 func (x *Fees) GetLiquidityFeeSettings() *LiquidityFeeSettings { 1750 if x != nil { 1751 return x.LiquidityFeeSettings 1752 } 1753 return nil 1754 } 1755 1756 // PriceMonitoringTrigger holds together price projection horizon Ï„, probability level p, and auction extension duration 1757 type PriceMonitoringTrigger struct { 1758 state protoimpl.MessageState 1759 sizeCache protoimpl.SizeCache 1760 unknownFields protoimpl.UnknownFields 1761 1762 // Price monitoring projection horizon Ï„ in seconds. 1763 Horizon int64 `protobuf:"varint,1,opt,name=horizon,proto3" json:"horizon,omitempty"` 1764 // Price monitoring probability level p. 1765 Probability string `protobuf:"bytes,2,opt,name=probability,proto3" json:"probability,omitempty"` 1766 // Price monitoring auction extension duration in seconds should the price 1767 // breach its theoretical level over the specified horizon at the specified 1768 // probability level. 1769 AuctionExtension int64 `protobuf:"varint,3,opt,name=auction_extension,json=auctionExtension,proto3" json:"auction_extension,omitempty"` 1770 } 1771 1772 func (x *PriceMonitoringTrigger) Reset() { 1773 *x = PriceMonitoringTrigger{} 1774 if protoimpl.UnsafeEnabled { 1775 mi := &file_vega_markets_proto_msgTypes[19] 1776 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1777 ms.StoreMessageInfo(mi) 1778 } 1779 } 1780 1781 func (x *PriceMonitoringTrigger) String() string { 1782 return protoimpl.X.MessageStringOf(x) 1783 } 1784 1785 func (*PriceMonitoringTrigger) ProtoMessage() {} 1786 1787 func (x *PriceMonitoringTrigger) ProtoReflect() protoreflect.Message { 1788 mi := &file_vega_markets_proto_msgTypes[19] 1789 if protoimpl.UnsafeEnabled && x != nil { 1790 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1791 if ms.LoadMessageInfo() == nil { 1792 ms.StoreMessageInfo(mi) 1793 } 1794 return ms 1795 } 1796 return mi.MessageOf(x) 1797 } 1798 1799 // Deprecated: Use PriceMonitoringTrigger.ProtoReflect.Descriptor instead. 1800 func (*PriceMonitoringTrigger) Descriptor() ([]byte, []int) { 1801 return file_vega_markets_proto_rawDescGZIP(), []int{19} 1802 } 1803 1804 func (x *PriceMonitoringTrigger) GetHorizon() int64 { 1805 if x != nil { 1806 return x.Horizon 1807 } 1808 return 0 1809 } 1810 1811 func (x *PriceMonitoringTrigger) GetProbability() string { 1812 if x != nil { 1813 return x.Probability 1814 } 1815 return "" 1816 } 1817 1818 func (x *PriceMonitoringTrigger) GetAuctionExtension() int64 { 1819 if x != nil { 1820 return x.AuctionExtension 1821 } 1822 return 0 1823 } 1824 1825 // PriceMonitoringParameters contains a collection of triggers to be used for a given market 1826 type PriceMonitoringParameters struct { 1827 state protoimpl.MessageState 1828 sizeCache protoimpl.SizeCache 1829 unknownFields protoimpl.UnknownFields 1830 1831 Triggers []*PriceMonitoringTrigger `protobuf:"bytes,1,rep,name=triggers,proto3" json:"triggers,omitempty"` 1832 } 1833 1834 func (x *PriceMonitoringParameters) Reset() { 1835 *x = PriceMonitoringParameters{} 1836 if protoimpl.UnsafeEnabled { 1837 mi := &file_vega_markets_proto_msgTypes[20] 1838 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1839 ms.StoreMessageInfo(mi) 1840 } 1841 } 1842 1843 func (x *PriceMonitoringParameters) String() string { 1844 return protoimpl.X.MessageStringOf(x) 1845 } 1846 1847 func (*PriceMonitoringParameters) ProtoMessage() {} 1848 1849 func (x *PriceMonitoringParameters) ProtoReflect() protoreflect.Message { 1850 mi := &file_vega_markets_proto_msgTypes[20] 1851 if protoimpl.UnsafeEnabled && x != nil { 1852 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1853 if ms.LoadMessageInfo() == nil { 1854 ms.StoreMessageInfo(mi) 1855 } 1856 return ms 1857 } 1858 return mi.MessageOf(x) 1859 } 1860 1861 // Deprecated: Use PriceMonitoringParameters.ProtoReflect.Descriptor instead. 1862 func (*PriceMonitoringParameters) Descriptor() ([]byte, []int) { 1863 return file_vega_markets_proto_rawDescGZIP(), []int{20} 1864 } 1865 1866 func (x *PriceMonitoringParameters) GetTriggers() []*PriceMonitoringTrigger { 1867 if x != nil { 1868 return x.Triggers 1869 } 1870 return nil 1871 } 1872 1873 // PriceMonitoringSettings contains the settings for price monitoring 1874 type PriceMonitoringSettings struct { 1875 state protoimpl.MessageState 1876 sizeCache protoimpl.SizeCache 1877 unknownFields protoimpl.UnknownFields 1878 1879 // Specifies price monitoring parameters to be used for price monitoring purposes. 1880 Parameters *PriceMonitoringParameters `protobuf:"bytes,1,opt,name=parameters,proto3" json:"parameters,omitempty"` 1881 } 1882 1883 func (x *PriceMonitoringSettings) Reset() { 1884 *x = PriceMonitoringSettings{} 1885 if protoimpl.UnsafeEnabled { 1886 mi := &file_vega_markets_proto_msgTypes[21] 1887 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1888 ms.StoreMessageInfo(mi) 1889 } 1890 } 1891 1892 func (x *PriceMonitoringSettings) String() string { 1893 return protoimpl.X.MessageStringOf(x) 1894 } 1895 1896 func (*PriceMonitoringSettings) ProtoMessage() {} 1897 1898 func (x *PriceMonitoringSettings) ProtoReflect() protoreflect.Message { 1899 mi := &file_vega_markets_proto_msgTypes[21] 1900 if protoimpl.UnsafeEnabled && x != nil { 1901 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1902 if ms.LoadMessageInfo() == nil { 1903 ms.StoreMessageInfo(mi) 1904 } 1905 return ms 1906 } 1907 return mi.MessageOf(x) 1908 } 1909 1910 // Deprecated: Use PriceMonitoringSettings.ProtoReflect.Descriptor instead. 1911 func (*PriceMonitoringSettings) Descriptor() ([]byte, []int) { 1912 return file_vega_markets_proto_rawDescGZIP(), []int{21} 1913 } 1914 1915 func (x *PriceMonitoringSettings) GetParameters() *PriceMonitoringParameters { 1916 if x != nil { 1917 return x.Parameters 1918 } 1919 return nil 1920 } 1921 1922 // LiquidityMonitoringParameters contains settings used for liquidity monitoring 1923 type LiquidityMonitoringParameters struct { 1924 state protoimpl.MessageState 1925 sizeCache protoimpl.SizeCache 1926 unknownFields protoimpl.UnknownFields 1927 1928 // Specifies parameters related to target stake calculation. 1929 TargetStakeParameters *TargetStakeParameters `protobuf:"bytes,1,opt,name=target_stake_parameters,json=targetStakeParameters,proto3" json:"target_stake_parameters,omitempty"` 1930 // Specifies the triggering ratio for entering liquidity auction. 1931 TriggeringRatio string `protobuf:"bytes,2,opt,name=triggering_ratio,json=triggeringRatio,proto3" json:"triggering_ratio,omitempty"` 1932 // Specifies by how many seconds an auction should be extended if leaving the auction were to trigger a liquidity auction. 1933 AuctionExtension int64 `protobuf:"varint,3,opt,name=auction_extension,json=auctionExtension,proto3" json:"auction_extension,omitempty"` 1934 } 1935 1936 func (x *LiquidityMonitoringParameters) Reset() { 1937 *x = LiquidityMonitoringParameters{} 1938 if protoimpl.UnsafeEnabled { 1939 mi := &file_vega_markets_proto_msgTypes[22] 1940 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1941 ms.StoreMessageInfo(mi) 1942 } 1943 } 1944 1945 func (x *LiquidityMonitoringParameters) String() string { 1946 return protoimpl.X.MessageStringOf(x) 1947 } 1948 1949 func (*LiquidityMonitoringParameters) ProtoMessage() {} 1950 1951 func (x *LiquidityMonitoringParameters) ProtoReflect() protoreflect.Message { 1952 mi := &file_vega_markets_proto_msgTypes[22] 1953 if protoimpl.UnsafeEnabled && x != nil { 1954 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1955 if ms.LoadMessageInfo() == nil { 1956 ms.StoreMessageInfo(mi) 1957 } 1958 return ms 1959 } 1960 return mi.MessageOf(x) 1961 } 1962 1963 // Deprecated: Use LiquidityMonitoringParameters.ProtoReflect.Descriptor instead. 1964 func (*LiquidityMonitoringParameters) Descriptor() ([]byte, []int) { 1965 return file_vega_markets_proto_rawDescGZIP(), []int{22} 1966 } 1967 1968 func (x *LiquidityMonitoringParameters) GetTargetStakeParameters() *TargetStakeParameters { 1969 if x != nil { 1970 return x.TargetStakeParameters 1971 } 1972 return nil 1973 } 1974 1975 func (x *LiquidityMonitoringParameters) GetTriggeringRatio() string { 1976 if x != nil { 1977 return x.TriggeringRatio 1978 } 1979 return "" 1980 } 1981 1982 func (x *LiquidityMonitoringParameters) GetAuctionExtension() int64 { 1983 if x != nil { 1984 return x.AuctionExtension 1985 } 1986 return 0 1987 } 1988 1989 type LiquiditySLAParameters struct { 1990 state protoimpl.MessageState 1991 sizeCache protoimpl.SizeCache 1992 unknownFields protoimpl.UnknownFields 1993 1994 PriceRange string `protobuf:"bytes,1,opt,name=price_range,json=priceRange,proto3" json:"price_range,omitempty"` 1995 // Specifies the minimum fraction of time LPs must spend "on the book" providing their committed liquidity. 1996 CommitmentMinTimeFraction string `protobuf:"bytes,2,opt,name=commitment_min_time_fraction,json=commitmentMinTimeFraction,proto3" json:"commitment_min_time_fraction,omitempty"` 1997 // Specifies the number of liquidity epochs over which past performance will continue to affect rewards. 1998 PerformanceHysteresisEpochs uint64 `protobuf:"varint,4,opt,name=performance_hysteresis_epochs,json=performanceHysteresisEpochs,proto3" json:"performance_hysteresis_epochs,omitempty"` 1999 // Specifies the maximum fraction of their accrued fees an LP that meets the SLA implied by market.liquidity.commitmentMinTimeFraction will lose to liquidity providers 2000 // that achieved a higher SLA performance than them. 2001 SlaCompetitionFactor string `protobuf:"bytes,5,opt,name=sla_competition_factor,json=slaCompetitionFactor,proto3" json:"sla_competition_factor,omitempty"` 2002 } 2003 2004 func (x *LiquiditySLAParameters) Reset() { 2005 *x = LiquiditySLAParameters{} 2006 if protoimpl.UnsafeEnabled { 2007 mi := &file_vega_markets_proto_msgTypes[23] 2008 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2009 ms.StoreMessageInfo(mi) 2010 } 2011 } 2012 2013 func (x *LiquiditySLAParameters) String() string { 2014 return protoimpl.X.MessageStringOf(x) 2015 } 2016 2017 func (*LiquiditySLAParameters) ProtoMessage() {} 2018 2019 func (x *LiquiditySLAParameters) ProtoReflect() protoreflect.Message { 2020 mi := &file_vega_markets_proto_msgTypes[23] 2021 if protoimpl.UnsafeEnabled && x != nil { 2022 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2023 if ms.LoadMessageInfo() == nil { 2024 ms.StoreMessageInfo(mi) 2025 } 2026 return ms 2027 } 2028 return mi.MessageOf(x) 2029 } 2030 2031 // Deprecated: Use LiquiditySLAParameters.ProtoReflect.Descriptor instead. 2032 func (*LiquiditySLAParameters) Descriptor() ([]byte, []int) { 2033 return file_vega_markets_proto_rawDescGZIP(), []int{23} 2034 } 2035 2036 func (x *LiquiditySLAParameters) GetPriceRange() string { 2037 if x != nil { 2038 return x.PriceRange 2039 } 2040 return "" 2041 } 2042 2043 func (x *LiquiditySLAParameters) GetCommitmentMinTimeFraction() string { 2044 if x != nil { 2045 return x.CommitmentMinTimeFraction 2046 } 2047 return "" 2048 } 2049 2050 func (x *LiquiditySLAParameters) GetPerformanceHysteresisEpochs() uint64 { 2051 if x != nil { 2052 return x.PerformanceHysteresisEpochs 2053 } 2054 return 0 2055 } 2056 2057 func (x *LiquiditySLAParameters) GetSlaCompetitionFactor() string { 2058 if x != nil { 2059 return x.SlaCompetitionFactor 2060 } 2061 return "" 2062 } 2063 2064 // Market settings that describe how the liquidity fee is calculated. 2065 type LiquidityFeeSettings struct { 2066 state protoimpl.MessageState 2067 sizeCache protoimpl.SizeCache 2068 unknownFields protoimpl.UnknownFields 2069 2070 // Method used to calculate the market's liquidity fee. 2071 Method LiquidityFeeSettings_Method `protobuf:"varint,1,opt,name=method,proto3,enum=vega.LiquidityFeeSettings_Method" json:"method,omitempty"` 2072 // Constant liquidity fee used when using the constant fee method. 2073 FeeConstant *string `protobuf:"bytes,2,opt,name=fee_constant,json=feeConstant,proto3,oneof" json:"fee_constant,omitempty"` 2074 } 2075 2076 func (x *LiquidityFeeSettings) Reset() { 2077 *x = LiquidityFeeSettings{} 2078 if protoimpl.UnsafeEnabled { 2079 mi := &file_vega_markets_proto_msgTypes[24] 2080 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2081 ms.StoreMessageInfo(mi) 2082 } 2083 } 2084 2085 func (x *LiquidityFeeSettings) String() string { 2086 return protoimpl.X.MessageStringOf(x) 2087 } 2088 2089 func (*LiquidityFeeSettings) ProtoMessage() {} 2090 2091 func (x *LiquidityFeeSettings) ProtoReflect() protoreflect.Message { 2092 mi := &file_vega_markets_proto_msgTypes[24] 2093 if protoimpl.UnsafeEnabled && x != nil { 2094 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2095 if ms.LoadMessageInfo() == nil { 2096 ms.StoreMessageInfo(mi) 2097 } 2098 return ms 2099 } 2100 return mi.MessageOf(x) 2101 } 2102 2103 // Deprecated: Use LiquidityFeeSettings.ProtoReflect.Descriptor instead. 2104 func (*LiquidityFeeSettings) Descriptor() ([]byte, []int) { 2105 return file_vega_markets_proto_rawDescGZIP(), []int{24} 2106 } 2107 2108 func (x *LiquidityFeeSettings) GetMethod() LiquidityFeeSettings_Method { 2109 if x != nil { 2110 return x.Method 2111 } 2112 return LiquidityFeeSettings_METHOD_UNSPECIFIED 2113 } 2114 2115 func (x *LiquidityFeeSettings) GetFeeConstant() string { 2116 if x != nil && x.FeeConstant != nil { 2117 return *x.FeeConstant 2118 } 2119 return "" 2120 } 2121 2122 // TargetStakeParameters contains parameters used in target stake calculation 2123 type TargetStakeParameters struct { 2124 state protoimpl.MessageState 2125 sizeCache protoimpl.SizeCache 2126 unknownFields protoimpl.UnknownFields 2127 2128 // Specifies length of time window expressed in seconds for target stake calculation. 2129 TimeWindow int64 `protobuf:"varint,1,opt,name=time_window,json=timeWindow,proto3" json:"time_window,omitempty"` 2130 // Specifies scaling factors used in target stake calculation. 2131 ScalingFactor float64 `protobuf:"fixed64,2,opt,name=scaling_factor,json=scalingFactor,proto3" json:"scaling_factor,omitempty"` 2132 } 2133 2134 func (x *TargetStakeParameters) Reset() { 2135 *x = TargetStakeParameters{} 2136 if protoimpl.UnsafeEnabled { 2137 mi := &file_vega_markets_proto_msgTypes[25] 2138 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2139 ms.StoreMessageInfo(mi) 2140 } 2141 } 2142 2143 func (x *TargetStakeParameters) String() string { 2144 return protoimpl.X.MessageStringOf(x) 2145 } 2146 2147 func (*TargetStakeParameters) ProtoMessage() {} 2148 2149 func (x *TargetStakeParameters) ProtoReflect() protoreflect.Message { 2150 mi := &file_vega_markets_proto_msgTypes[25] 2151 if protoimpl.UnsafeEnabled && x != nil { 2152 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2153 if ms.LoadMessageInfo() == nil { 2154 ms.StoreMessageInfo(mi) 2155 } 2156 return ms 2157 } 2158 return mi.MessageOf(x) 2159 } 2160 2161 // Deprecated: Use TargetStakeParameters.ProtoReflect.Descriptor instead. 2162 func (*TargetStakeParameters) Descriptor() ([]byte, []int) { 2163 return file_vega_markets_proto_rawDescGZIP(), []int{25} 2164 } 2165 2166 func (x *TargetStakeParameters) GetTimeWindow() int64 { 2167 if x != nil { 2168 return x.TimeWindow 2169 } 2170 return 0 2171 } 2172 2173 func (x *TargetStakeParameters) GetScalingFactor() float64 { 2174 if x != nil { 2175 return x.ScalingFactor 2176 } 2177 return 0 2178 } 2179 2180 // Market definition 2181 type Market struct { 2182 state protoimpl.MessageState 2183 sizeCache protoimpl.SizeCache 2184 unknownFields protoimpl.UnknownFields 2185 2186 // Unique ID for the market. 2187 Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` 2188 // Tradable instrument configuration. 2189 TradableInstrument *TradableInstrument `protobuf:"bytes,2,opt,name=tradable_instrument,json=tradableInstrument,proto3" json:"tradable_instrument,omitempty"` 2190 // Number of decimal places that a price must be shifted by in order to get a 2191 // correct price denominated in the currency of the market, for example: 2192 // `realPrice = price / 10^decimalPlaces`. On spot markets, also called 'size decimal places'. 2193 DecimalPlaces uint64 `protobuf:"varint,3,opt,name=decimal_places,json=decimalPlaces,proto3" json:"decimal_places,omitempty"` 2194 // Fees configuration that apply to the market. 2195 Fees *Fees `protobuf:"bytes,4,opt,name=fees,proto3" json:"fees,omitempty"` 2196 // Auction duration specifies how long the opening auction will run (minimum 2197 // duration and optionally a minimum traded volume). 2198 OpeningAuction *AuctionDuration `protobuf:"bytes,5,opt,name=opening_auction,json=openingAuction,proto3" json:"opening_auction,omitempty"` 2199 // PriceMonitoringSettings for the market. 2200 PriceMonitoringSettings *PriceMonitoringSettings `protobuf:"bytes,6,opt,name=price_monitoring_settings,json=priceMonitoringSettings,proto3" json:"price_monitoring_settings,omitempty"` 2201 // LiquidityMonitoringParameters for the market. 2202 LiquidityMonitoringParameters *LiquidityMonitoringParameters `protobuf:"bytes,7,opt,name=liquidity_monitoring_parameters,json=liquidityMonitoringParameters,proto3" json:"liquidity_monitoring_parameters,omitempty"` 2203 // Current mode of execution of the market. 2204 TradingMode Market_TradingMode `protobuf:"varint,8,opt,name=trading_mode,json=tradingMode,proto3,enum=vega.Market_TradingMode" json:"trading_mode,omitempty"` 2205 // Current state of the market. 2206 State Market_State `protobuf:"varint,9,opt,name=state,proto3,enum=vega.Market_State" json:"state,omitempty"` 2207 // Timestamps for when the market state changes. 2208 MarketTimestamps *MarketTimestamps `protobuf:"bytes,10,opt,name=market_timestamps,json=marketTimestamps,proto3" json:"market_timestamps,omitempty"` 2209 // The number of decimal places for a position. 2210 // On spot markets, used for order size, also known as 'size decimal places'. 2211 PositionDecimalPlaces int64 `protobuf:"varint,11,opt,name=position_decimal_places,json=positionDecimalPlaces,proto3" json:"position_decimal_places,omitempty"` 2212 // Percentage move up and down from the mid price which specifies the range of 2213 // price levels over which automated liquidity provisions will be deployed. 2214 LpPriceRange string `protobuf:"bytes,12,opt,name=lp_price_range,json=lpPriceRange,proto3" json:"lp_price_range,omitempty"` 2215 // Linear slippage factor is used to cap the slippage component of maintenance margin - it is applied to the slippage volume. 2216 LinearSlippageFactor string `protobuf:"bytes,13,opt,name=linear_slippage_factor,json=linearSlippageFactor,proto3" json:"linear_slippage_factor,omitempty"` 2217 // Quadratic slippage factor is used to cap the slippage component of maintenance margin - it is applied to the square of the slippage volume. 2218 QuadraticSlippageFactor string `protobuf:"bytes,14,opt,name=quadratic_slippage_factor,json=quadraticSlippageFactor,proto3" json:"quadratic_slippage_factor,omitempty"` 2219 // ID of the market this market succeeds 2220 ParentMarketId *string `protobuf:"bytes,15,opt,name=parent_market_id,json=parentMarketId,proto3,oneof" json:"parent_market_id,omitempty"` 2221 // The fraction of the parent market's insurance pool that this market inherits; range 0 through 1. 2222 InsurancePoolFraction *string `protobuf:"bytes,16,opt,name=insurance_pool_fraction,json=insurancePoolFraction,proto3,oneof" json:"insurance_pool_fraction,omitempty"` 2223 // ID of the market that succeeds this market if it exists. This will be populated by the system when the successor market is enabled. 2224 SuccessorMarketId *string `protobuf:"bytes,17,opt,name=successor_market_id,json=successorMarketId,proto3,oneof" json:"successor_market_id,omitempty"` 2225 // Liquidity SLA parameters for the market. 2226 LiquiditySlaParams *LiquiditySLAParameters `protobuf:"bytes,18,opt,name=liquidity_sla_params,json=liquiditySlaParams,proto3,oneof" json:"liquidity_sla_params,omitempty"` 2227 // Liquidation strategy used by this market. 2228 LiquidationStrategy *LiquidationStrategy `protobuf:"bytes,19,opt,name=liquidation_strategy,json=liquidationStrategy,proto3" json:"liquidation_strategy,omitempty"` 2229 // Mark price calculation configuration. 2230 MarkPriceConfiguration *CompositePriceConfiguration `protobuf:"bytes,20,opt,name=mark_price_configuration,json=markPriceConfiguration,proto3" json:"mark_price_configuration,omitempty"` 2231 // The market tick size defines the minimum change in quote price for the market 2232 TickSize string `protobuf:"bytes,21,opt,name=tick_size,json=tickSize,proto3" json:"tick_size,omitempty"` 2233 // If enabled aggressive orders sent to the market will be delayed by the configured number of blocks 2234 EnableTransactionReordering bool `protobuf:"varint,22,opt,name=enable_transaction_reordering,json=enableTransactionReordering,proto3" json:"enable_transaction_reordering,omitempty"` 2235 // Number of allowed price levels between an AMM's fair price and its quote prices. An AMM definition that exceeds this will be rejected at submission. 2236 AllowedEmptyAmmLevels uint64 `protobuf:"varint,23,opt,name=allowed_empty_amm_levels,json=allowedEmptyAmmLevels,proto3" json:"allowed_empty_amm_levels,omitempty"` 2237 // Proposer of the market, to be used to restrict the sell side 2238 AllowedSellers []string `protobuf:"bytes,24,rep,name=allowed_sellers,json=allowedSellers,proto3" json:"allowed_sellers,omitempty"` 2239 } 2240 2241 func (x *Market) Reset() { 2242 *x = Market{} 2243 if protoimpl.UnsafeEnabled { 2244 mi := &file_vega_markets_proto_msgTypes[26] 2245 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2246 ms.StoreMessageInfo(mi) 2247 } 2248 } 2249 2250 func (x *Market) String() string { 2251 return protoimpl.X.MessageStringOf(x) 2252 } 2253 2254 func (*Market) ProtoMessage() {} 2255 2256 func (x *Market) ProtoReflect() protoreflect.Message { 2257 mi := &file_vega_markets_proto_msgTypes[26] 2258 if protoimpl.UnsafeEnabled && x != nil { 2259 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2260 if ms.LoadMessageInfo() == nil { 2261 ms.StoreMessageInfo(mi) 2262 } 2263 return ms 2264 } 2265 return mi.MessageOf(x) 2266 } 2267 2268 // Deprecated: Use Market.ProtoReflect.Descriptor instead. 2269 func (*Market) Descriptor() ([]byte, []int) { 2270 return file_vega_markets_proto_rawDescGZIP(), []int{26} 2271 } 2272 2273 func (x *Market) GetId() string { 2274 if x != nil { 2275 return x.Id 2276 } 2277 return "" 2278 } 2279 2280 func (x *Market) GetTradableInstrument() *TradableInstrument { 2281 if x != nil { 2282 return x.TradableInstrument 2283 } 2284 return nil 2285 } 2286 2287 func (x *Market) GetDecimalPlaces() uint64 { 2288 if x != nil { 2289 return x.DecimalPlaces 2290 } 2291 return 0 2292 } 2293 2294 func (x *Market) GetFees() *Fees { 2295 if x != nil { 2296 return x.Fees 2297 } 2298 return nil 2299 } 2300 2301 func (x *Market) GetOpeningAuction() *AuctionDuration { 2302 if x != nil { 2303 return x.OpeningAuction 2304 } 2305 return nil 2306 } 2307 2308 func (x *Market) GetPriceMonitoringSettings() *PriceMonitoringSettings { 2309 if x != nil { 2310 return x.PriceMonitoringSettings 2311 } 2312 return nil 2313 } 2314 2315 func (x *Market) GetLiquidityMonitoringParameters() *LiquidityMonitoringParameters { 2316 if x != nil { 2317 return x.LiquidityMonitoringParameters 2318 } 2319 return nil 2320 } 2321 2322 func (x *Market) GetTradingMode() Market_TradingMode { 2323 if x != nil { 2324 return x.TradingMode 2325 } 2326 return Market_TRADING_MODE_UNSPECIFIED 2327 } 2328 2329 func (x *Market) GetState() Market_State { 2330 if x != nil { 2331 return x.State 2332 } 2333 return Market_STATE_UNSPECIFIED 2334 } 2335 2336 func (x *Market) GetMarketTimestamps() *MarketTimestamps { 2337 if x != nil { 2338 return x.MarketTimestamps 2339 } 2340 return nil 2341 } 2342 2343 func (x *Market) GetPositionDecimalPlaces() int64 { 2344 if x != nil { 2345 return x.PositionDecimalPlaces 2346 } 2347 return 0 2348 } 2349 2350 func (x *Market) GetLpPriceRange() string { 2351 if x != nil { 2352 return x.LpPriceRange 2353 } 2354 return "" 2355 } 2356 2357 func (x *Market) GetLinearSlippageFactor() string { 2358 if x != nil { 2359 return x.LinearSlippageFactor 2360 } 2361 return "" 2362 } 2363 2364 func (x *Market) GetQuadraticSlippageFactor() string { 2365 if x != nil { 2366 return x.QuadraticSlippageFactor 2367 } 2368 return "" 2369 } 2370 2371 func (x *Market) GetParentMarketId() string { 2372 if x != nil && x.ParentMarketId != nil { 2373 return *x.ParentMarketId 2374 } 2375 return "" 2376 } 2377 2378 func (x *Market) GetInsurancePoolFraction() string { 2379 if x != nil && x.InsurancePoolFraction != nil { 2380 return *x.InsurancePoolFraction 2381 } 2382 return "" 2383 } 2384 2385 func (x *Market) GetSuccessorMarketId() string { 2386 if x != nil && x.SuccessorMarketId != nil { 2387 return *x.SuccessorMarketId 2388 } 2389 return "" 2390 } 2391 2392 func (x *Market) GetLiquiditySlaParams() *LiquiditySLAParameters { 2393 if x != nil { 2394 return x.LiquiditySlaParams 2395 } 2396 return nil 2397 } 2398 2399 func (x *Market) GetLiquidationStrategy() *LiquidationStrategy { 2400 if x != nil { 2401 return x.LiquidationStrategy 2402 } 2403 return nil 2404 } 2405 2406 func (x *Market) GetMarkPriceConfiguration() *CompositePriceConfiguration { 2407 if x != nil { 2408 return x.MarkPriceConfiguration 2409 } 2410 return nil 2411 } 2412 2413 func (x *Market) GetTickSize() string { 2414 if x != nil { 2415 return x.TickSize 2416 } 2417 return "" 2418 } 2419 2420 func (x *Market) GetEnableTransactionReordering() bool { 2421 if x != nil { 2422 return x.EnableTransactionReordering 2423 } 2424 return false 2425 } 2426 2427 func (x *Market) GetAllowedEmptyAmmLevels() uint64 { 2428 if x != nil { 2429 return x.AllowedEmptyAmmLevels 2430 } 2431 return 0 2432 } 2433 2434 func (x *Market) GetAllowedSellers() []string { 2435 if x != nil { 2436 return x.AllowedSellers 2437 } 2438 return nil 2439 } 2440 2441 // Time stamps for important times about creating, enacting etc the market 2442 type MarketTimestamps struct { 2443 state protoimpl.MessageState 2444 sizeCache protoimpl.SizeCache 2445 unknownFields protoimpl.UnknownFields 2446 2447 // Time when the market is first proposed. 2448 Proposed int64 `protobuf:"varint,1,opt,name=proposed,proto3" json:"proposed,omitempty"` 2449 // Time when the market has been voted in and began its opening auction. 2450 Pending int64 `protobuf:"varint,2,opt,name=pending,proto3" json:"pending,omitempty"` 2451 // Time when the market has left the opening auction and is ready to accept trades. 2452 Open int64 `protobuf:"varint,3,opt,name=open,proto3" json:"open,omitempty"` 2453 // Time when the market closed. 2454 Close int64 `protobuf:"varint,4,opt,name=close,proto3" json:"close,omitempty"` 2455 } 2456 2457 func (x *MarketTimestamps) Reset() { 2458 *x = MarketTimestamps{} 2459 if protoimpl.UnsafeEnabled { 2460 mi := &file_vega_markets_proto_msgTypes[27] 2461 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2462 ms.StoreMessageInfo(mi) 2463 } 2464 } 2465 2466 func (x *MarketTimestamps) String() string { 2467 return protoimpl.X.MessageStringOf(x) 2468 } 2469 2470 func (*MarketTimestamps) ProtoMessage() {} 2471 2472 func (x *MarketTimestamps) ProtoReflect() protoreflect.Message { 2473 mi := &file_vega_markets_proto_msgTypes[27] 2474 if protoimpl.UnsafeEnabled && x != nil { 2475 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2476 if ms.LoadMessageInfo() == nil { 2477 ms.StoreMessageInfo(mi) 2478 } 2479 return ms 2480 } 2481 return mi.MessageOf(x) 2482 } 2483 2484 // Deprecated: Use MarketTimestamps.ProtoReflect.Descriptor instead. 2485 func (*MarketTimestamps) Descriptor() ([]byte, []int) { 2486 return file_vega_markets_proto_rawDescGZIP(), []int{27} 2487 } 2488 2489 func (x *MarketTimestamps) GetProposed() int64 { 2490 if x != nil { 2491 return x.Proposed 2492 } 2493 return 0 2494 } 2495 2496 func (x *MarketTimestamps) GetPending() int64 { 2497 if x != nil { 2498 return x.Pending 2499 } 2500 return 0 2501 } 2502 2503 func (x *MarketTimestamps) GetOpen() int64 { 2504 if x != nil { 2505 return x.Open 2506 } 2507 return 0 2508 } 2509 2510 func (x *MarketTimestamps) GetClose() int64 { 2511 if x != nil { 2512 return x.Close 2513 } 2514 return 0 2515 } 2516 2517 // Liquidation strategy used when the network holds a position resulting from position resolution. 2518 type LiquidationStrategy struct { 2519 state protoimpl.MessageState 2520 sizeCache protoimpl.SizeCache 2521 unknownFields protoimpl.UnknownFields 2522 2523 // Interval, in seconds, at which the network will attempt to close its position. 2524 DisposalTimeStep int64 `protobuf:"varint,1,opt,name=disposal_time_step,json=disposalTimeStep,proto3" json:"disposal_time_step,omitempty"` 2525 // Fraction of the open position the market will try to close in a single attempt; range 0 through 1. 2526 DisposalFraction string `protobuf:"bytes,2,opt,name=disposal_fraction,json=disposalFraction,proto3" json:"disposal_fraction,omitempty"` 2527 // Size of the position that the network will try to close in a single attempt. 2528 FullDisposalSize uint64 `protobuf:"varint,3,opt,name=full_disposal_size,json=fullDisposalSize,proto3" json:"full_disposal_size,omitempty"` 2529 // Max fraction of the total volume of the orderbook, within liquidity bounds, that the network can use to close its position; range 0 through 1. 2530 MaxFractionConsumed string `protobuf:"bytes,4,opt,name=max_fraction_consumed,json=maxFractionConsumed,proto3" json:"max_fraction_consumed,omitempty"` 2531 // Decimal > 0 specifying the range range above and below the mid price within which the network will trade to dispose of its position. 2532 // The value can be > 1. For example, if set to 1.5, the minimum price will be 0, ie max(0, mid_price * (1 - 1.5)), and the maximum price will be mid_price * (1 + 1.5). 2533 DisposalSlippageRange string `protobuf:"bytes,5,opt,name=disposal_slippage_range,json=disposalSlippageRange,proto3" json:"disposal_slippage_range,omitempty"` 2534 } 2535 2536 func (x *LiquidationStrategy) Reset() { 2537 *x = LiquidationStrategy{} 2538 if protoimpl.UnsafeEnabled { 2539 mi := &file_vega_markets_proto_msgTypes[28] 2540 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2541 ms.StoreMessageInfo(mi) 2542 } 2543 } 2544 2545 func (x *LiquidationStrategy) String() string { 2546 return protoimpl.X.MessageStringOf(x) 2547 } 2548 2549 func (*LiquidationStrategy) ProtoMessage() {} 2550 2551 func (x *LiquidationStrategy) ProtoReflect() protoreflect.Message { 2552 mi := &file_vega_markets_proto_msgTypes[28] 2553 if protoimpl.UnsafeEnabled && x != nil { 2554 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2555 if ms.LoadMessageInfo() == nil { 2556 ms.StoreMessageInfo(mi) 2557 } 2558 return ms 2559 } 2560 return mi.MessageOf(x) 2561 } 2562 2563 // Deprecated: Use LiquidationStrategy.ProtoReflect.Descriptor instead. 2564 func (*LiquidationStrategy) Descriptor() ([]byte, []int) { 2565 return file_vega_markets_proto_rawDescGZIP(), []int{28} 2566 } 2567 2568 func (x *LiquidationStrategy) GetDisposalTimeStep() int64 { 2569 if x != nil { 2570 return x.DisposalTimeStep 2571 } 2572 return 0 2573 } 2574 2575 func (x *LiquidationStrategy) GetDisposalFraction() string { 2576 if x != nil { 2577 return x.DisposalFraction 2578 } 2579 return "" 2580 } 2581 2582 func (x *LiquidationStrategy) GetFullDisposalSize() uint64 { 2583 if x != nil { 2584 return x.FullDisposalSize 2585 } 2586 return 0 2587 } 2588 2589 func (x *LiquidationStrategy) GetMaxFractionConsumed() string { 2590 if x != nil { 2591 return x.MaxFractionConsumed 2592 } 2593 return "" 2594 } 2595 2596 func (x *LiquidationStrategy) GetDisposalSlippageRange() string { 2597 if x != nil { 2598 return x.DisposalSlippageRange 2599 } 2600 return "" 2601 } 2602 2603 // Mark price configuration parameters. 2604 type CompositePriceConfiguration struct { 2605 state protoimpl.MessageState 2606 sizeCache protoimpl.SizeCache 2607 unknownFields protoimpl.UnknownFields 2608 2609 // Decay weight used for calculation of mark price. 2610 DecayWeight string `protobuf:"bytes,1,opt,name=decay_weight,json=decayWeight,proto3" json:"decay_weight,omitempty"` 2611 // Decay power used for the calculation of mark price. 2612 DecayPower uint64 `protobuf:"varint,2,opt,name=decay_power,json=decayPower,proto3" json:"decay_power,omitempty"` 2613 // Cash amount, in asset decimals, used for the calculation of the mark price from the order book. 2614 CashAmount string `protobuf:"bytes,3,opt,name=cash_amount,json=cashAmount,proto3" json:"cash_amount,omitempty"` 2615 // Weights for each composite price data source. 2616 SourceWeights []string `protobuf:"bytes,4,rep,name=source_weights,json=sourceWeights,proto3" json:"source_weights,omitempty"` 2617 // For how long a price source is considered valid. One entry for each data source 2618 // such that the first is for the trade based mark price, the second is for the book based price 2619 // the third is for the first oracle, followed by more oracle data source staleness tolerance. 2620 SourceStalenessTolerance []string `protobuf:"bytes,5,rep,name=source_staleness_tolerance,json=sourceStalenessTolerance,proto3" json:"source_staleness_tolerance,omitempty"` 2621 // Which method is used for the calculation of the composite price for the market. 2622 CompositePriceType CompositePriceType `protobuf:"varint,6,opt,name=composite_price_type,json=compositePriceType,proto3,enum=vega.CompositePriceType" json:"composite_price_type,omitempty"` 2623 // Additional price sources to be used for internal composite price calculation. 2624 DataSourcesSpec []*DataSourceDefinition `protobuf:"bytes,7,rep,name=data_sources_spec,json=dataSourcesSpec,proto3" json:"data_sources_spec,omitempty"` 2625 // List of each price source and its corresponding binding 2626 DataSourcesSpecBinding []*SpecBindingForCompositePrice `protobuf:"bytes,8,rep,name=data_sources_spec_binding,json=dataSourcesSpecBinding,proto3" json:"data_sources_spec_binding,omitempty"` 2627 } 2628 2629 func (x *CompositePriceConfiguration) Reset() { 2630 *x = CompositePriceConfiguration{} 2631 if protoimpl.UnsafeEnabled { 2632 mi := &file_vega_markets_proto_msgTypes[29] 2633 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2634 ms.StoreMessageInfo(mi) 2635 } 2636 } 2637 2638 func (x *CompositePriceConfiguration) String() string { 2639 return protoimpl.X.MessageStringOf(x) 2640 } 2641 2642 func (*CompositePriceConfiguration) ProtoMessage() {} 2643 2644 func (x *CompositePriceConfiguration) ProtoReflect() protoreflect.Message { 2645 mi := &file_vega_markets_proto_msgTypes[29] 2646 if protoimpl.UnsafeEnabled && x != nil { 2647 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2648 if ms.LoadMessageInfo() == nil { 2649 ms.StoreMessageInfo(mi) 2650 } 2651 return ms 2652 } 2653 return mi.MessageOf(x) 2654 } 2655 2656 // Deprecated: Use CompositePriceConfiguration.ProtoReflect.Descriptor instead. 2657 func (*CompositePriceConfiguration) Descriptor() ([]byte, []int) { 2658 return file_vega_markets_proto_rawDescGZIP(), []int{29} 2659 } 2660 2661 func (x *CompositePriceConfiguration) GetDecayWeight() string { 2662 if x != nil { 2663 return x.DecayWeight 2664 } 2665 return "" 2666 } 2667 2668 func (x *CompositePriceConfiguration) GetDecayPower() uint64 { 2669 if x != nil { 2670 return x.DecayPower 2671 } 2672 return 0 2673 } 2674 2675 func (x *CompositePriceConfiguration) GetCashAmount() string { 2676 if x != nil { 2677 return x.CashAmount 2678 } 2679 return "" 2680 } 2681 2682 func (x *CompositePriceConfiguration) GetSourceWeights() []string { 2683 if x != nil { 2684 return x.SourceWeights 2685 } 2686 return nil 2687 } 2688 2689 func (x *CompositePriceConfiguration) GetSourceStalenessTolerance() []string { 2690 if x != nil { 2691 return x.SourceStalenessTolerance 2692 } 2693 return nil 2694 } 2695 2696 func (x *CompositePriceConfiguration) GetCompositePriceType() CompositePriceType { 2697 if x != nil { 2698 return x.CompositePriceType 2699 } 2700 return CompositePriceType_COMPOSITE_PRICE_TYPE_UNSPECIFIED 2701 } 2702 2703 func (x *CompositePriceConfiguration) GetDataSourcesSpec() []*DataSourceDefinition { 2704 if x != nil { 2705 return x.DataSourcesSpec 2706 } 2707 return nil 2708 } 2709 2710 func (x *CompositePriceConfiguration) GetDataSourcesSpecBinding() []*SpecBindingForCompositePrice { 2711 if x != nil { 2712 return x.DataSourcesSpecBinding 2713 } 2714 return nil 2715 } 2716 2717 // Describes which properties of the data source data are to be 2718 // used for automated purchase. 2719 type DataSourceSpecToAutomatedPurchaseBinding struct { 2720 state protoimpl.MessageState 2721 sizeCache protoimpl.SizeCache 2722 unknownFields protoimpl.UnknownFields 2723 2724 // Name of the property in the source data that should be used to determine the automated purchase schedule. 2725 AuctionScheduleProperty string `protobuf:"bytes,1,opt,name=auction_schedule_property,json=auctionScheduleProperty,proto3" json:"auction_schedule_property,omitempty"` 2726 // Name of the property in the source data that should be used to determine the schedule of the automated purchase auction. 2727 AuctionVolumeSnapshotScheduleProperty string `protobuf:"bytes,2,opt,name=auction_volume_snapshot_schedule_property,json=auctionVolumeSnapshotScheduleProperty,proto3" json:"auction_volume_snapshot_schedule_property,omitempty"` 2728 } 2729 2730 func (x *DataSourceSpecToAutomatedPurchaseBinding) Reset() { 2731 *x = DataSourceSpecToAutomatedPurchaseBinding{} 2732 if protoimpl.UnsafeEnabled { 2733 mi := &file_vega_markets_proto_msgTypes[30] 2734 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2735 ms.StoreMessageInfo(mi) 2736 } 2737 } 2738 2739 func (x *DataSourceSpecToAutomatedPurchaseBinding) String() string { 2740 return protoimpl.X.MessageStringOf(x) 2741 } 2742 2743 func (*DataSourceSpecToAutomatedPurchaseBinding) ProtoMessage() {} 2744 2745 func (x *DataSourceSpecToAutomatedPurchaseBinding) ProtoReflect() protoreflect.Message { 2746 mi := &file_vega_markets_proto_msgTypes[30] 2747 if protoimpl.UnsafeEnabled && x != nil { 2748 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2749 if ms.LoadMessageInfo() == nil { 2750 ms.StoreMessageInfo(mi) 2751 } 2752 return ms 2753 } 2754 return mi.MessageOf(x) 2755 } 2756 2757 // Deprecated: Use DataSourceSpecToAutomatedPurchaseBinding.ProtoReflect.Descriptor instead. 2758 func (*DataSourceSpecToAutomatedPurchaseBinding) Descriptor() ([]byte, []int) { 2759 return file_vega_markets_proto_rawDescGZIP(), []int{30} 2760 } 2761 2762 func (x *DataSourceSpecToAutomatedPurchaseBinding) GetAuctionScheduleProperty() string { 2763 if x != nil { 2764 return x.AuctionScheduleProperty 2765 } 2766 return "" 2767 } 2768 2769 func (x *DataSourceSpecToAutomatedPurchaseBinding) GetAuctionVolumeSnapshotScheduleProperty() string { 2770 if x != nil { 2771 return x.AuctionVolumeSnapshotScheduleProperty 2772 } 2773 return "" 2774 } 2775 2776 var File_vega_markets_proto protoreflect.FileDescriptor 2777 2778 var file_vega_markets_proto_rawDesc = []byte{ 2779 0x0a, 0x12, 0x76, 0x65, 0x67, 0x61, 0x2f, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x2e, 0x70, 2780 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x04, 0x76, 0x65, 0x67, 0x61, 0x1a, 0x16, 0x76, 0x65, 0x67, 0x61, 2781 0x2f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 2782 0x74, 0x6f, 0x22, 0x45, 0x0a, 0x0f, 0x41, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x75, 0x72, 2783 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 2784 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 2785 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 2786 0x04, 0x52, 0x06, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x22, 0x46, 0x0a, 0x04, 0x53, 0x70, 0x6f, 2787 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x61, 0x73, 0x73, 0x65, 0x74, 0x18, 2788 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x62, 0x61, 0x73, 0x65, 0x41, 0x73, 0x73, 0x65, 0x74, 2789 0x12, 0x1f, 0x0a, 0x0b, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x5f, 0x61, 0x73, 0x73, 0x65, 0x74, 0x18, 2790 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x41, 0x73, 0x73, 0x65, 2791 0x74, 0x22, 0xb2, 0x03, 0x0a, 0x06, 0x46, 0x75, 0x74, 0x75, 0x72, 0x65, 0x12, 0x29, 0x0a, 0x10, 2792 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x61, 0x73, 0x73, 0x65, 0x74, 2793 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x6d, 0x65, 2794 0x6e, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x71, 0x75, 0x6f, 0x74, 0x65, 2795 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x71, 0x75, 0x6f, 2796 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x63, 0x0a, 0x24, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 2797 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x73, 2798 0x65, 0x74, 0x74, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 2799 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x76, 0x65, 0x67, 0x61, 0x2e, 0x44, 0x61, 0x74, 0x61, 2800 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x70, 0x65, 0x63, 0x52, 0x1f, 0x64, 0x61, 0x74, 0x61, 2801 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x70, 0x65, 0x63, 0x46, 0x6f, 0x72, 0x53, 0x65, 0x74, 2802 0x74, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, 0x12, 0x6b, 0x0a, 0x28, 0x64, 2803 0x61, 0x74, 0x61, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x5f, 2804 0x66, 0x6f, 0x72, 0x5f, 0x74, 0x72, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x65, 0x72, 0x6d, 2805 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 2806 0x76, 0x65, 0x67, 0x61, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 2807 0x70, 0x65, 0x63, 0x52, 0x23, 0x64, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 2808 0x70, 0x65, 0x63, 0x46, 0x6f, 0x72, 0x54, 0x72, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x54, 0x65, 0x72, 2809 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x5c, 0x0a, 0x18, 0x64, 0x61, 0x74, 0x61, 2810 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x5f, 0x62, 0x69, 0x6e, 2811 0x64, 0x69, 0x6e, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x76, 0x65, 0x67, 2812 0x61, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x70, 0x65, 0x63, 2813 0x54, 0x6f, 0x46, 0x75, 0x74, 0x75, 0x72, 0x65, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 2814 0x15, 0x64, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x70, 0x65, 0x63, 0x42, 2815 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x26, 0x0a, 0x03, 0x63, 0x61, 0x70, 0x18, 0x06, 0x20, 2816 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x76, 0x65, 0x67, 0x61, 0x2e, 0x46, 0x75, 0x74, 0x75, 0x72, 2817 0x65, 0x43, 0x61, 0x70, 0x48, 0x00, 0x52, 0x03, 0x63, 0x61, 0x70, 0x88, 0x01, 0x01, 0x42, 0x06, 2818 0x0a, 0x04, 0x5f, 0x63, 0x61, 0x70, 0x22, 0xc1, 0x01, 0x0a, 0x09, 0x46, 0x75, 0x74, 0x75, 0x72, 2819 0x65, 0x43, 0x61, 0x70, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x72, 0x69, 0x63, 2820 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x78, 0x50, 0x72, 0x69, 0x63, 2821 0x65, 0x12, 0x30, 0x0a, 0x11, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x5f, 0x73, 0x65, 0x74, 0x74, 2822 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x10, 2823 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 2824 0x88, 0x01, 0x01, 0x12, 0x36, 0x0a, 0x14, 0x66, 0x75, 0x6c, 0x6c, 0x79, 0x5f, 0x63, 0x6f, 0x6c, 2825 0x6c, 0x61, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x69, 0x73, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 2826 0x08, 0x48, 0x01, 0x52, 0x13, 0x66, 0x75, 0x6c, 0x6c, 0x79, 0x43, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 2827 0x65, 0x72, 0x61, 0x6c, 0x69, 0x73, 0x65, 0x64, 0x88, 0x01, 0x01, 0x42, 0x14, 0x0a, 0x12, 0x5f, 2828 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 2829 0x74, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x66, 0x75, 0x6c, 0x6c, 0x79, 0x5f, 0x63, 0x6f, 0x6c, 0x6c, 2830 0x61, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x69, 0x73, 0x65, 0x64, 0x22, 0xe6, 0x07, 0x0a, 0x09, 0x50, 2831 0x65, 0x72, 0x70, 0x65, 0x74, 0x75, 0x61, 0x6c, 0x12, 0x29, 0x0a, 0x10, 0x73, 0x65, 0x74, 0x74, 2832 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x61, 0x73, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 2833 0x28, 0x09, 0x52, 0x0f, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x73, 2834 0x73, 0x65, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 2835 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x4e, 0x61, 2836 0x6d, 0x65, 0x12, 0x32, 0x0a, 0x15, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x5f, 0x66, 0x75, 0x6e, 2837 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 2838 0x09, 0x52, 0x13, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 2839 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x65, 2840 0x73, 0x74, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 2841 0x6e, 0x74, 0x65, 0x72, 0x65, 0x73, 0x74, 0x52, 0x61, 0x74, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x63, 2842 0x6c, 0x61, 0x6d, 0x70, 0x5f, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 2843 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x6c, 0x61, 0x6d, 0x70, 0x4c, 0x6f, 0x77, 2844 0x65, 0x72, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x2a, 0x0a, 0x11, 0x63, 0x6c, 0x61, 0x6d, 0x70, 2845 0x5f, 0x75, 0x70, 0x70, 0x65, 0x72, 0x5f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x06, 0x20, 0x01, 2846 0x28, 0x09, 0x52, 0x0f, 0x63, 0x6c, 0x61, 0x6d, 0x70, 0x55, 0x70, 0x70, 0x65, 0x72, 0x42, 0x6f, 2847 0x75, 0x6e, 0x64, 0x12, 0x6b, 0x0a, 0x28, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x6f, 0x75, 0x72, 2848 0x63, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x73, 0x65, 0x74, 0x74, 2849 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x18, 2850 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x76, 0x65, 0x67, 0x61, 0x2e, 0x44, 0x61, 0x74, 2851 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x70, 0x65, 0x63, 0x52, 0x23, 0x64, 0x61, 0x74, 2852 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x70, 0x65, 0x63, 0x46, 0x6f, 0x72, 0x53, 0x65, 2853 0x74, 0x74, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 2854 0x12, 0x63, 0x0a, 0x24, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 2855 0x73, 0x70, 0x65, 0x63, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x6d, 2856 0x65, 0x6e, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 2857 0x2e, 0x76, 0x65, 0x67, 0x61, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 2858 0x53, 0x70, 0x65, 0x63, 0x52, 0x1f, 0x64, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 2859 0x53, 0x70, 0x65, 0x63, 0x46, 0x6f, 0x72, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 2860 0x74, 0x44, 0x61, 0x74, 0x61, 0x12, 0x5f, 0x0a, 0x18, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x6f, 2861 0x75, 0x72, 0x63, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x5f, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 2862 0x67, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x76, 0x65, 0x67, 0x61, 0x2e, 0x44, 2863 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x70, 0x65, 0x63, 0x54, 0x6f, 0x50, 2864 0x65, 0x72, 0x70, 0x65, 0x74, 0x75, 0x61, 0x6c, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 2865 0x15, 0x64, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x70, 0x65, 0x63, 0x42, 2866 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x42, 0x0a, 0x1b, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 2867 0x67, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x66, 2868 0x61, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x18, 0x66, 2869 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x61, 0x74, 0x65, 0x53, 0x63, 0x61, 0x6c, 0x69, 0x6e, 2870 0x67, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x88, 0x01, 0x01, 0x12, 0x3c, 0x0a, 0x18, 0x66, 0x75, 2871 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x6f, 0x77, 0x65, 0x72, 2872 0x5f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x15, 2873 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x6f, 0x77, 0x65, 0x72, 2874 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x3c, 0x0a, 0x18, 0x66, 0x75, 0x6e, 0x64, 2875 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x75, 0x70, 0x70, 0x65, 0x72, 0x5f, 0x62, 2876 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x15, 0x66, 0x75, 2877 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x61, 0x74, 0x65, 0x55, 0x70, 0x70, 0x65, 0x72, 0x42, 0x6f, 2878 0x75, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x6d, 0x0a, 0x1f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 2879 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x65, 0x5f, 0x70, 0x72, 0x69, 2880 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 2881 0x21, 0x2e, 0x76, 0x65, 0x67, 0x61, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x65, 2882 0x50, 0x72, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 2883 0x6f, 0x6e, 0x48, 0x03, 0x52, 0x1c, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x43, 0x6f, 2884 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x65, 0x50, 0x72, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 2885 0x69, 0x67, 0x88, 0x01, 0x01, 0x42, 0x1e, 0x0a, 0x1c, 0x5f, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 2886 0x67, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x66, 2887 0x61, 0x63, 0x74, 0x6f, 0x72, 0x42, 0x1b, 0x0a, 0x19, 0x5f, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 2888 0x67, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x62, 0x6f, 0x75, 2889 0x6e, 0x64, 0x42, 0x1b, 0x0a, 0x19, 0x5f, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, 2890 0x61, 0x74, 0x65, 0x5f, 0x75, 0x70, 0x70, 0x65, 0x72, 0x5f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x42, 2891 0x22, 0x0a, 0x20, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x6d, 2892 0x70, 0x6f, 0x73, 0x69, 0x74, 0x65, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 2893 0x66, 0x69, 0x67, 0x22, 0x9b, 0x01, 0x0a, 0x1d, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 2894 0x63, 0x65, 0x53, 0x70, 0x65, 0x63, 0x54, 0x6f, 0x46, 0x75, 0x74, 0x75, 0x72, 0x65, 0x42, 0x69, 2895 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x38, 0x0a, 0x18, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x6d, 2896 0x65, 0x6e, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 2897 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x16, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x6d, 2898 0x65, 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x12, 2899 0x40, 0x0a, 0x1c, 0x74, 0x72, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x65, 0x72, 0x6d, 0x69, 2900 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x18, 2901 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1a, 0x74, 0x72, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x54, 0x65, 2902 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 2903 0x79, 0x22, 0x9e, 0x01, 0x0a, 0x20, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 2904 0x53, 0x70, 0x65, 0x63, 0x54, 0x6f, 0x50, 0x65, 0x72, 0x70, 0x65, 0x74, 0x75, 0x61, 0x6c, 0x42, 2905 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x38, 0x0a, 0x18, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65, 2906 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 2907 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x16, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65, 2908 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 2909 0x12, 0x40, 0x0a, 0x1c, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x73, 2910 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 2911 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1a, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x6d, 0x65, 2912 0x6e, 0x74, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 2913 0x74, 0x79, 0x22, 0x28, 0x0a, 0x12, 0x49, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x6d, 0x65, 0x6e, 0x74, 2914 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 2915 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x22, 0x80, 0x02, 0x0a, 2916 0x0a, 0x49, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 2917 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x63, 2918 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 2919 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 2920 0x61, 0x6d, 0x65, 0x12, 0x34, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 2921 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x76, 0x65, 0x67, 0x61, 0x2e, 0x49, 0x6e, 0x73, 2922 0x74, 0x72, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 2923 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x26, 0x0a, 0x06, 0x66, 0x75, 0x74, 2924 0x75, 0x72, 0x65, 0x18, 0x64, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x76, 0x65, 0x67, 0x61, 2925 0x2e, 0x46, 0x75, 0x74, 0x75, 0x72, 0x65, 0x48, 0x00, 0x52, 0x06, 0x66, 0x75, 0x74, 0x75, 0x72, 2926 0x65, 0x12, 0x20, 0x0a, 0x04, 0x73, 0x70, 0x6f, 0x74, 0x18, 0x65, 0x20, 0x01, 0x28, 0x0b, 0x32, 2927 0x0a, 0x2e, 0x76, 0x65, 0x67, 0x61, 0x2e, 0x53, 0x70, 0x6f, 0x74, 0x48, 0x00, 0x52, 0x04, 0x73, 2928 0x70, 0x6f, 0x74, 0x12, 0x2f, 0x0a, 0x09, 0x70, 0x65, 0x72, 0x70, 0x65, 0x74, 0x75, 0x61, 0x6c, 2929 0x18, 0x66, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x76, 0x65, 0x67, 0x61, 0x2e, 0x50, 0x65, 2930 0x72, 0x70, 0x65, 0x74, 0x75, 0x61, 0x6c, 0x48, 0x00, 0x52, 0x09, 0x70, 0x65, 0x72, 0x70, 0x65, 2931 0x74, 0x75, 0x61, 0x6c, 0x42, 0x09, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x22, 2932 0xfc, 0x01, 0x0a, 0x12, 0x4c, 0x6f, 0x67, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x52, 0x69, 0x73, 2933 0x6b, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x36, 0x0a, 0x17, 0x72, 0x69, 0x73, 0x6b, 0x5f, 0x61, 2934 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 2935 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x15, 0x72, 0x69, 0x73, 0x6b, 0x41, 0x76, 0x65, 2936 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x12, 0x10, 2937 0x0a, 0x03, 0x74, 0x61, 0x75, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x03, 0x74, 0x61, 0x75, 2938 0x12, 0x32, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 2939 0x32, 0x1a, 0x2e, 0x76, 0x65, 0x67, 0x61, 0x2e, 0x4c, 0x6f, 0x67, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 2940 0x6c, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x06, 0x70, 0x61, 2941 0x72, 0x61, 0x6d, 0x73, 0x12, 0x4f, 0x0a, 0x14, 0x72, 0x69, 0x73, 0x6b, 0x5f, 0x66, 0x61, 0x63, 2942 0x74, 0x6f, 0x72, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 2943 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x76, 0x65, 0x67, 0x61, 0x2e, 0x52, 0x69, 0x73, 0x6b, 0x46, 0x61, 2944 0x63, 0x74, 0x6f, 0x72, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x48, 0x00, 0x52, 0x12, 2945 0x72, 0x69, 0x73, 0x6b, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 2946 0x64, 0x65, 0x88, 0x01, 0x01, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x72, 0x69, 0x73, 0x6b, 0x5f, 0x66, 2947 0x61, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x22, 0x3e, 2948 0x0a, 0x12, 0x52, 0x69, 0x73, 0x6b, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x4f, 0x76, 0x65, 0x72, 2949 0x72, 0x69, 0x64, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x18, 0x01, 0x20, 2950 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x6f, 2951 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6c, 0x6f, 0x6e, 0x67, 0x22, 0x4a, 2952 0x0a, 0x14, 0x4c, 0x6f, 0x67, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 2953 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x6d, 0x75, 0x18, 0x01, 0x20, 0x01, 2954 0x28, 0x01, 0x52, 0x02, 0x6d, 0x75, 0x12, 0x0c, 0x0a, 0x01, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 2955 0x01, 0x52, 0x01, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x69, 0x67, 0x6d, 0x61, 0x18, 0x03, 0x20, 2956 0x01, 0x28, 0x01, 0x52, 0x05, 0x73, 0x69, 0x67, 0x6d, 0x61, 0x22, 0x42, 0x0a, 0x0f, 0x53, 0x69, 2957 0x6d, 0x70, 0x6c, 0x65, 0x52, 0x69, 0x73, 0x6b, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x2f, 0x0a, 2958 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 2959 0x76, 0x65, 0x67, 0x61, 0x2e, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 2960 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0xd1, 2961 0x01, 0x0a, 0x11, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x50, 0x61, 2962 0x72, 0x61, 0x6d, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x6c, 2963 0x6f, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0a, 0x66, 0x61, 0x63, 0x74, 0x6f, 2964 0x72, 0x4c, 0x6f, 0x6e, 0x67, 0x12, 0x21, 0x0a, 0x0c, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x5f, 2965 0x73, 0x68, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0b, 0x66, 0x61, 0x63, 2966 0x74, 0x6f, 0x72, 0x53, 0x68, 0x6f, 0x72, 0x74, 0x12, 0x1e, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 2967 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x75, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x6d, 2968 0x61, 0x78, 0x4d, 0x6f, 0x76, 0x65, 0x55, 0x70, 0x12, 0x22, 0x0a, 0x0d, 0x6d, 0x69, 0x6e, 0x5f, 2969 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x52, 2970 0x0b, 0x6d, 0x69, 0x6e, 0x4d, 0x6f, 0x76, 0x65, 0x44, 0x6f, 0x77, 0x6e, 0x12, 0x34, 0x0a, 0x16, 2971 0x70, 0x72, 0x6f, 0x62, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x6f, 0x66, 0x5f, 0x74, 2972 0x72, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x01, 0x52, 0x14, 0x70, 0x72, 2973 0x6f, 0x62, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4f, 0x66, 0x54, 0x72, 0x61, 0x64, 0x69, 2974 0x6e, 0x67, 0x22, 0x89, 0x01, 0x0a, 0x0e, 0x53, 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x46, 0x61, 2975 0x63, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 2976 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0b, 0x73, 0x65, 0x61, 2977 0x72, 0x63, 0x68, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x25, 0x0a, 0x0e, 0x69, 0x6e, 0x69, 0x74, 2978 0x69, 0x61, 0x6c, 0x5f, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 2979 0x52, 0x0d, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x4d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x12, 2980 0x2d, 0x0a, 0x12, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x5f, 0x72, 0x65, 2981 0x6c, 0x65, 0x61, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x11, 0x63, 0x6f, 0x6c, 2982 0x6c, 0x61, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x22, 0xa2, 2983 0x01, 0x0a, 0x10, 0x4d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 2984 0x74, 0x6f, 0x72, 0x12, 0x3d, 0x0a, 0x0f, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x66, 2985 0x61, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x76, 2986 0x65, 0x67, 0x61, 0x2e, 0x53, 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x46, 0x61, 0x63, 0x74, 0x6f, 2987 0x72, 0x73, 0x52, 0x0e, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x46, 0x61, 0x63, 0x74, 0x6f, 2988 0x72, 0x73, 0x12, 0x36, 0x0a, 0x14, 0x66, 0x75, 0x6c, 0x6c, 0x79, 0x5f, 0x63, 0x6f, 0x6c, 0x6c, 2989 0x61, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x69, 0x73, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 2990 0x48, 0x00, 0x52, 0x13, 0x66, 0x75, 0x6c, 0x6c, 0x79, 0x43, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x65, 2991 0x72, 0x61, 0x6c, 0x69, 0x73, 0x65, 0x64, 0x88, 0x01, 0x01, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x66, 2992 0x75, 0x6c, 0x6c, 0x79, 0x5f, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x69, 2993 0x73, 0x65, 0x64, 0x22, 0xad, 0x02, 0x0a, 0x12, 0x54, 0x72, 0x61, 0x64, 0x61, 0x62, 0x6c, 0x65, 2994 0x49, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x30, 0x0a, 0x0a, 0x69, 0x6e, 2995 0x73, 0x74, 0x72, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 2996 0x2e, 0x76, 0x65, 0x67, 0x61, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x6d, 0x65, 0x6e, 0x74, 2997 0x52, 0x0a, 0x69, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x43, 0x0a, 0x11, 2998 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x5f, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x6f, 2999 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x76, 0x65, 0x67, 0x61, 0x2e, 0x4d, 3000 0x61, 0x72, 0x67, 0x69, 0x6e, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x6f, 0x72, 0x52, 3001 0x10, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x6f, 3002 0x72, 0x12, 0x4d, 0x0a, 0x15, 0x6c, 0x6f, 0x67, 0x5f, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x5f, 3003 0x72, 0x69, 0x73, 0x6b, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x64, 0x20, 0x01, 0x28, 0x0b, 3004 0x32, 0x18, 0x2e, 0x76, 0x65, 0x67, 0x61, 0x2e, 0x4c, 0x6f, 0x67, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 3005 0x6c, 0x52, 0x69, 0x73, 0x6b, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x48, 0x00, 0x52, 0x12, 0x6c, 0x6f, 3006 0x67, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x52, 0x69, 0x73, 0x6b, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 3007 0x12, 0x43, 0x0a, 0x11, 0x73, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x72, 0x69, 0x73, 0x6b, 0x5f, 3008 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x65, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x76, 0x65, 3009 0x67, 0x61, 0x2e, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x52, 0x69, 0x73, 0x6b, 0x4d, 0x6f, 0x64, 3010 0x65, 0x6c, 0x48, 0x00, 0x52, 0x0f, 0x73, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x52, 0x69, 0x73, 0x6b, 3011 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x42, 0x0c, 0x0a, 0x0a, 0x72, 0x69, 0x73, 0x6b, 0x5f, 0x6d, 0x6f, 3012 0x64, 0x65, 0x6c, 0x22, 0xc2, 0x01, 0x0a, 0x0a, 0x46, 0x65, 0x65, 0x46, 0x61, 0x63, 0x74, 0x6f, 3013 0x72, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x66, 0x65, 0x65, 0x18, 3014 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x6b, 0x65, 0x72, 0x46, 0x65, 0x65, 0x12, 3015 0x2d, 0x0a, 0x12, 0x69, 0x6e, 0x66, 0x72, 0x61, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 3016 0x65, 0x5f, 0x66, 0x65, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x69, 0x6e, 0x66, 3017 0x72, 0x61, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x46, 0x65, 0x65, 0x12, 0x23, 3018 0x0a, 0x0d, 0x6c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x69, 0x74, 0x79, 0x5f, 0x66, 0x65, 0x65, 0x18, 3019 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x69, 0x74, 0x79, 3020 0x46, 0x65, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x72, 0x65, 0x61, 0x73, 0x75, 0x72, 0x79, 0x5f, 3021 0x66, 0x65, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x74, 0x72, 0x65, 0x61, 0x73, 3022 0x75, 0x72, 0x79, 0x46, 0x65, 0x65, 0x12, 0x20, 0x0a, 0x0c, 0x62, 0x75, 0x79, 0x5f, 0x62, 0x61, 3023 0x63, 0x6b, 0x5f, 0x66, 0x65, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x75, 3024 0x79, 0x42, 0x61, 0x63, 0x6b, 0x46, 0x65, 0x65, 0x22, 0x84, 0x01, 0x0a, 0x04, 0x46, 0x65, 0x65, 3025 0x73, 0x12, 0x2a, 0x0a, 0x07, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x01, 0x20, 0x01, 3026 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x76, 0x65, 0x67, 0x61, 0x2e, 0x46, 0x65, 0x65, 0x46, 0x61, 0x63, 3027 0x74, 0x6f, 0x72, 0x73, 0x52, 0x07, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x50, 0x0a, 3028 0x16, 0x6c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x69, 0x74, 0x79, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x73, 3029 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 3030 0x76, 0x65, 0x67, 0x61, 0x2e, 0x4c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x69, 0x74, 0x79, 0x46, 0x65, 3031 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x14, 0x6c, 0x69, 0x71, 0x75, 0x69, 3032 0x64, 0x69, 0x74, 0x79, 0x46, 0x65, 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x22, 3033 0x81, 0x01, 0x0a, 0x16, 0x50, 0x72, 0x69, 0x63, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 3034 0x69, 0x6e, 0x67, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x68, 0x6f, 3035 0x72, 0x69, 0x7a, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x68, 0x6f, 0x72, 3036 0x69, 0x7a, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x62, 0x61, 0x62, 0x69, 0x6c, 3037 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x62, 0x61, 3038 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x2b, 0x0a, 0x11, 0x61, 0x75, 0x63, 0x74, 0x69, 0x6f, 3039 0x6e, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 3040 0x03, 0x52, 0x10, 0x61, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 3041 0x69, 0x6f, 0x6e, 0x22, 0x55, 0x0a, 0x19, 0x50, 0x72, 0x69, 0x63, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 3042 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 3043 0x12, 0x38, 0x0a, 0x08, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 3044 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x76, 0x65, 0x67, 0x61, 0x2e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x4d, 3045 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 3046 0x52, 0x08, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x73, 0x22, 0x5a, 0x0a, 0x17, 0x50, 0x72, 3047 0x69, 0x63, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x74, 3048 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x3f, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 3049 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x76, 0x65, 0x67, 0x61, 3050 0x2e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 3051 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x61, 3052 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x22, 0xcc, 0x01, 0x0a, 0x1d, 0x4c, 0x69, 0x71, 0x75, 0x69, 3053 0x64, 0x69, 0x74, 0x79, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x50, 0x61, 3054 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x53, 0x0a, 0x17, 0x74, 0x61, 0x72, 0x67, 3055 0x65, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x6b, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 3056 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x76, 0x65, 0x67, 0x61, 3057 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x50, 0x61, 0x72, 0x61, 3058 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x52, 0x15, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x74, 3059 0x61, 0x6b, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x29, 0x0a, 3060 0x10, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x61, 0x74, 0x69, 3061 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 3062 0x69, 0x6e, 0x67, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x12, 0x2b, 0x0a, 0x11, 0x61, 0x75, 0x63, 0x74, 3063 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 3064 0x01, 0x28, 0x03, 0x52, 0x10, 0x61, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x74, 0x65, 3065 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xfa, 0x01, 0x0a, 0x16, 0x4c, 0x69, 0x71, 0x75, 0x69, 0x64, 3066 0x69, 0x74, 0x79, 0x53, 0x4c, 0x41, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 3067 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x72, 0x69, 0x63, 0x65, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 3068 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x69, 0x63, 0x65, 0x52, 0x61, 0x6e, 0x67, 3069 0x65, 0x12, 0x3f, 0x0a, 0x1c, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 3070 0x6d, 0x69, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x66, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 3071 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x19, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 3072 0x65, 0x6e, 0x74, 0x4d, 0x69, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 3073 0x6f, 0x6e, 0x12, 0x42, 0x0a, 0x1d, 0x70, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 3074 0x65, 0x5f, 0x68, 0x79, 0x73, 0x74, 0x65, 0x72, 0x65, 0x73, 0x69, 0x73, 0x5f, 0x65, 0x70, 0x6f, 3075 0x63, 0x68, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x1b, 0x70, 0x65, 0x72, 0x66, 0x6f, 3076 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x48, 0x79, 0x73, 0x74, 0x65, 0x72, 0x65, 0x73, 0x69, 0x73, 3077 0x45, 0x70, 0x6f, 0x63, 0x68, 0x73, 0x12, 0x34, 0x0a, 0x16, 0x73, 0x6c, 0x61, 0x5f, 0x63, 0x6f, 3078 0x6d, 0x70, 0x65, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 3079 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x73, 0x6c, 0x61, 0x43, 0x6f, 0x6d, 0x70, 0x65, 3080 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x4a, 0x04, 0x08, 0x03, 3081 0x10, 0x04, 0x22, 0xf8, 0x01, 0x0a, 0x14, 0x4c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x69, 0x74, 0x79, 3082 0x46, 0x65, 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x39, 0x0a, 0x06, 0x6d, 3083 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x76, 0x65, 3084 0x67, 0x61, 0x2e, 0x4c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x69, 0x74, 0x79, 0x46, 0x65, 0x65, 0x53, 3085 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x52, 0x06, 3086 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x26, 0x0a, 0x0c, 0x66, 0x65, 0x65, 0x5f, 0x63, 0x6f, 3087 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 3088 0x66, 0x65, 0x65, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x22, 0x6c, 3089 0x0a, 0x06, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x16, 0x0a, 0x12, 0x4d, 0x45, 0x54, 0x48, 3090 0x4f, 0x44, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 3091 0x12, 0x18, 0x0a, 0x14, 0x4d, 0x45, 0x54, 0x48, 0x4f, 0x44, 0x5f, 0x4d, 0x41, 0x52, 0x47, 0x49, 3092 0x4e, 0x41, 0x4c, 0x5f, 0x43, 0x4f, 0x53, 0x54, 0x10, 0x01, 0x12, 0x1b, 0x0a, 0x17, 0x4d, 0x45, 3093 0x54, 0x48, 0x4f, 0x44, 0x5f, 0x57, 0x45, 0x49, 0x47, 0x48, 0x54, 0x45, 0x44, 0x5f, 0x41, 0x56, 3094 0x45, 0x52, 0x41, 0x47, 0x45, 0x10, 0x02, 0x12, 0x13, 0x0a, 0x0f, 0x4d, 0x45, 0x54, 0x48, 0x4f, 3095 0x44, 0x5f, 0x43, 0x4f, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x54, 0x10, 0x03, 0x42, 0x0f, 0x0a, 0x0d, 3096 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x22, 0x5f, 0x0a, 3097 0x15, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x50, 0x61, 0x72, 0x61, 3098 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x77, 3099 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x74, 0x69, 0x6d, 3100 0x65, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x63, 0x61, 0x6c, 0x69, 3101 0x6e, 0x67, 0x5f, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 3102 0x0d, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x22, 0xc8, 3103 0x10, 0x0a, 0x06, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 3104 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x49, 0x0a, 0x13, 0x74, 0x72, 0x61, 3105 0x64, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x6d, 0x65, 0x6e, 0x74, 3106 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x76, 0x65, 0x67, 0x61, 0x2e, 0x54, 0x72, 3107 0x61, 0x64, 0x61, 0x62, 0x6c, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x6d, 0x65, 0x6e, 0x74, 3108 0x52, 0x12, 0x74, 0x72, 0x61, 0x64, 0x61, 0x62, 0x6c, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x72, 0x75, 3109 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x64, 0x65, 0x63, 0x69, 0x6d, 0x61, 0x6c, 0x5f, 3110 0x70, 0x6c, 0x61, 0x63, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x64, 0x65, 3111 0x63, 0x69, 0x6d, 0x61, 0x6c, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x73, 0x12, 0x1e, 0x0a, 0x04, 0x66, 3112 0x65, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x76, 0x65, 0x67, 0x61, 3113 0x2e, 0x46, 0x65, 0x65, 0x73, 0x52, 0x04, 0x66, 0x65, 0x65, 0x73, 0x12, 0x3e, 0x0a, 0x0f, 0x6f, 3114 0x70, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 3115 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x76, 0x65, 0x67, 0x61, 0x2e, 0x41, 0x75, 0x63, 0x74, 3116 0x69, 0x6f, 0x6e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x6f, 0x70, 0x65, 3117 0x6e, 0x69, 0x6e, 0x67, 0x41, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x59, 0x0a, 0x19, 0x70, 3118 0x72, 0x69, 0x63, 0x65, 0x5f, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x5f, 3119 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 3120 0x2e, 0x76, 0x65, 0x67, 0x61, 0x2e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 3121 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x17, 0x70, 3122 0x72, 0x69, 0x63, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x53, 0x65, 3123 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x6b, 0x0a, 0x1f, 0x6c, 0x69, 0x71, 0x75, 0x69, 0x64, 3124 0x69, 0x74, 0x79, 0x5f, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x70, 3125 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 3126 0x23, 0x2e, 0x76, 0x65, 0x67, 0x61, 0x2e, 0x4c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x69, 0x74, 0x79, 3127 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 3128 0x74, 0x65, 0x72, 0x73, 0x52, 0x1d, 0x6c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x69, 0x74, 0x79, 0x4d, 3129 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 3130 0x65, 0x72, 0x73, 0x12, 0x3b, 0x0a, 0x0c, 0x74, 0x72, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 3131 0x6f, 0x64, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x76, 0x65, 0x67, 0x61, 3132 0x2e, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x2e, 0x54, 0x72, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x4d, 3133 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x74, 0x72, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x4d, 0x6f, 0x64, 0x65, 3134 0x12, 0x28, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 3135 0x12, 0x2e, 0x76, 0x65, 0x67, 0x61, 0x2e, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x2e, 0x53, 0x74, 3136 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x43, 0x0a, 0x11, 0x6d, 0x61, 3137 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x73, 0x18, 3138 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x76, 0x65, 0x67, 0x61, 0x2e, 0x4d, 0x61, 0x72, 3139 0x6b, 0x65, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x73, 0x52, 0x10, 0x6d, 3140 0x61, 0x72, 0x6b, 0x65, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x73, 0x12, 3141 0x36, 0x0a, 0x17, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x65, 0x63, 0x69, 3142 0x6d, 0x61, 0x6c, 0x5f, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x03, 3143 0x52, 0x15, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x63, 0x69, 0x6d, 0x61, 3144 0x6c, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x73, 0x12, 0x24, 0x0a, 0x0e, 0x6c, 0x70, 0x5f, 0x70, 0x72, 3145 0x69, 0x63, 0x65, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 3146 0x0c, 0x6c, 0x70, 0x50, 0x72, 0x69, 0x63, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x34, 0x0a, 3147 0x16, 0x6c, 0x69, 0x6e, 0x65, 0x61, 0x72, 0x5f, 0x73, 0x6c, 0x69, 0x70, 0x70, 0x61, 0x67, 0x65, 3148 0x5f, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x6c, 3149 0x69, 0x6e, 0x65, 0x61, 0x72, 0x53, 0x6c, 0x69, 0x70, 0x70, 0x61, 0x67, 0x65, 0x46, 0x61, 0x63, 3150 0x74, 0x6f, 0x72, 0x12, 0x3a, 0x0a, 0x19, 0x71, 0x75, 0x61, 0x64, 0x72, 0x61, 0x74, 0x69, 0x63, 3151 0x5f, 0x73, 0x6c, 0x69, 0x70, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 3152 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x17, 0x71, 0x75, 0x61, 0x64, 0x72, 0x61, 0x74, 0x69, 3153 0x63, 0x53, 0x6c, 0x69, 0x70, 0x70, 0x61, 0x67, 0x65, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x12, 3154 0x2d, 0x0a, 0x10, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 3155 0x5f, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0e, 0x70, 0x61, 0x72, 3156 0x65, 0x6e, 0x74, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x3b, 3157 0x0a, 0x17, 0x69, 0x6e, 0x73, 0x75, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 3158 0x5f, 0x66, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x48, 3159 0x01, 0x52, 0x15, 0x69, 0x6e, 0x73, 0x75, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 3160 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x33, 0x0a, 0x13, 0x73, 3161 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 3162 0x69, 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x11, 0x73, 0x75, 0x63, 0x63, 3163 0x65, 0x73, 0x73, 0x6f, 0x72, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 3164 0x12, 0x53, 0x0a, 0x14, 0x6c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x69, 0x74, 0x79, 0x5f, 0x73, 0x6c, 3165 0x61, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 3166 0x2e, 0x76, 0x65, 0x67, 0x61, 0x2e, 0x4c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x69, 0x74, 0x79, 0x53, 3167 0x4c, 0x41, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x48, 0x03, 0x52, 0x12, 3168 0x6c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x69, 0x74, 0x79, 0x53, 0x6c, 0x61, 0x50, 0x61, 0x72, 0x61, 3169 0x6d, 0x73, 0x88, 0x01, 0x01, 0x12, 0x4c, 0x0a, 0x14, 0x6c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x61, 3170 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x18, 0x13, 0x20, 3171 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x76, 0x65, 0x67, 0x61, 0x2e, 0x4c, 0x69, 0x71, 0x75, 0x69, 3172 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x52, 0x13, 3173 0x6c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x72, 0x61, 0x74, 3174 0x65, 0x67, 0x79, 0x12, 0x5b, 0x0a, 0x18, 0x6d, 0x61, 0x72, 0x6b, 0x5f, 0x70, 0x72, 0x69, 0x63, 3175 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 3176 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x76, 0x65, 0x67, 0x61, 0x2e, 0x43, 0x6f, 0x6d, 3177 0x70, 0x6f, 0x73, 0x69, 0x74, 0x65, 0x50, 0x72, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 3178 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x16, 0x6d, 0x61, 0x72, 0x6b, 0x50, 0x72, 3179 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 3180 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x15, 0x20, 3181 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x69, 0x63, 0x6b, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x42, 0x0a, 3182 0x1d, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 3183 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x16, 3184 0x20, 0x01, 0x28, 0x08, 0x52, 0x1b, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x72, 0x61, 0x6e, 3185 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x69, 0x6e, 3186 0x67, 0x12, 0x37, 0x0a, 0x18, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x65, 0x6d, 0x70, 3187 0x74, 0x79, 0x5f, 0x61, 0x6d, 0x6d, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x73, 0x18, 0x17, 0x20, 3188 0x01, 0x28, 0x04, 0x52, 0x15, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x45, 0x6d, 0x70, 0x74, 3189 0x79, 0x41, 0x6d, 0x6d, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x6c, 3190 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x6c, 0x6c, 0x65, 0x72, 0x73, 0x18, 0x18, 0x20, 3191 0x03, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x53, 0x65, 0x6c, 0x6c, 3192 0x65, 0x72, 0x73, 0x22, 0xfc, 0x01, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x15, 0x0a, 3193 0x11, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 3194 0x45, 0x44, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x50, 0x52, 3195 0x4f, 0x50, 0x4f, 0x53, 0x45, 0x44, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x53, 0x54, 0x41, 0x54, 3196 0x45, 0x5f, 0x52, 0x45, 0x4a, 0x45, 0x43, 0x54, 0x45, 0x44, 0x10, 0x02, 0x12, 0x11, 0x0a, 0x0d, 3197 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x03, 0x12, 3198 0x13, 0x0a, 0x0f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x4c, 3199 0x45, 0x44, 0x10, 0x04, 0x12, 0x10, 0x0a, 0x0c, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x41, 0x43, 3200 0x54, 0x49, 0x56, 0x45, 0x10, 0x05, 0x12, 0x13, 0x0a, 0x0f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 3201 0x53, 0x55, 0x53, 0x50, 0x45, 0x4e, 0x44, 0x45, 0x44, 0x10, 0x06, 0x12, 0x10, 0x0a, 0x0c, 0x53, 3202 0x54, 0x41, 0x54, 0x45, 0x5f, 0x43, 0x4c, 0x4f, 0x53, 0x45, 0x44, 0x10, 0x07, 0x12, 0x1c, 0x0a, 3203 0x18, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x54, 0x52, 0x41, 0x44, 0x49, 0x4e, 0x47, 0x5f, 0x54, 3204 0x45, 0x52, 0x4d, 0x49, 0x4e, 0x41, 0x54, 0x45, 0x44, 0x10, 0x08, 0x12, 0x11, 0x0a, 0x0d, 0x53, 3205 0x54, 0x41, 0x54, 0x45, 0x5f, 0x53, 0x45, 0x54, 0x54, 0x4c, 0x45, 0x44, 0x10, 0x09, 0x12, 0x22, 3206 0x0a, 0x1e, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x53, 0x55, 0x53, 0x50, 0x45, 0x4e, 0x44, 0x45, 3207 0x44, 0x5f, 0x56, 0x49, 0x41, 0x5f, 0x47, 0x4f, 0x56, 0x45, 0x52, 0x4e, 0x41, 0x4e, 0x43, 0x45, 3208 0x10, 0x0a, 0x22, 0xd2, 0x02, 0x0a, 0x0b, 0x54, 0x72, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x4d, 0x6f, 3209 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x18, 0x54, 0x52, 0x41, 0x44, 0x49, 0x4e, 0x47, 0x5f, 0x4d, 0x4f, 3210 0x44, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 3211 0x12, 0x1b, 0x0a, 0x17, 0x54, 0x52, 0x41, 0x44, 0x49, 0x4e, 0x47, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 3212 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x49, 0x4e, 0x55, 0x4f, 0x55, 0x53, 0x10, 0x01, 0x12, 0x1e, 0x0a, 3213 0x1a, 0x54, 0x52, 0x41, 0x44, 0x49, 0x4e, 0x47, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x42, 0x41, 3214 0x54, 0x43, 0x48, 0x5f, 0x41, 0x55, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x02, 0x12, 0x20, 0x0a, 3215 0x1c, 0x54, 0x52, 0x41, 0x44, 0x49, 0x4e, 0x47, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x4f, 0x50, 3216 0x45, 0x4e, 0x49, 0x4e, 0x47, 0x5f, 0x41, 0x55, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x03, 0x12, 3217 0x23, 0x0a, 0x1f, 0x54, 0x52, 0x41, 0x44, 0x49, 0x4e, 0x47, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 3218 0x4d, 0x4f, 0x4e, 0x49, 0x54, 0x4f, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x41, 0x55, 0x43, 0x54, 0x49, 3219 0x4f, 0x4e, 0x10, 0x04, 0x12, 0x1b, 0x0a, 0x17, 0x54, 0x52, 0x41, 0x44, 0x49, 0x4e, 0x47, 0x5f, 3220 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x4e, 0x4f, 0x5f, 0x54, 0x52, 0x41, 0x44, 0x49, 0x4e, 0x47, 0x10, 3221 0x05, 0x12, 0x29, 0x0a, 0x25, 0x54, 0x52, 0x41, 0x44, 0x49, 0x4e, 0x47, 0x5f, 0x4d, 0x4f, 0x44, 3222 0x45, 0x5f, 0x53, 0x55, 0x53, 0x50, 0x45, 0x4e, 0x44, 0x45, 0x44, 0x5f, 0x56, 0x49, 0x41, 0x5f, 3223 0x47, 0x4f, 0x56, 0x45, 0x52, 0x4e, 0x41, 0x4e, 0x43, 0x45, 0x10, 0x06, 0x12, 0x23, 0x0a, 0x1f, 3224 0x54, 0x52, 0x41, 0x44, 0x49, 0x4e, 0x47, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x4c, 0x4f, 0x4e, 3225 0x47, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x41, 0x55, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 3226 0x07, 0x12, 0x34, 0x0a, 0x30, 0x54, 0x52, 0x41, 0x44, 0x49, 0x4e, 0x47, 0x5f, 0x4d, 0x4f, 0x44, 3227 0x45, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x41, 0x55, 0x54, 0x4f, 0x4d, 3228 0x41, 0x54, 0x45, 0x44, 0x5f, 0x50, 0x55, 0x52, 0x43, 0x48, 0x41, 0x53, 0x45, 0x5f, 0x41, 0x55, 3229 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x08, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x70, 0x61, 0x72, 0x65, 3230 0x6e, 0x74, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x42, 0x1a, 0x0a, 0x18, 3231 0x5f, 0x69, 0x6e, 0x73, 0x75, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 3232 0x66, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x73, 0x75, 0x63, 3233 0x63, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 3234 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x6c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x69, 0x74, 0x79, 0x5f, 0x73, 3235 0x6c, 0x61, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x72, 0x0a, 0x10, 0x4d, 0x61, 0x72, 3236 0x6b, 0x65, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x73, 0x12, 0x1a, 0x0a, 3237 0x08, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 3238 0x08, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x65, 0x6e, 3239 0x64, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x70, 0x65, 0x6e, 0x64, 3240 0x69, 0x6e, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 3241 0x03, 0x52, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6c, 0x6f, 0x73, 0x65, 3242 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x22, 0x8a, 0x02, 3243 0x0a, 0x13, 0x4c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x72, 3244 0x61, 0x74, 0x65, 0x67, 0x79, 0x12, 0x2c, 0x0a, 0x12, 0x64, 0x69, 0x73, 0x70, 0x6f, 0x73, 0x61, 3245 0x6c, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x74, 0x65, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 3246 0x03, 0x52, 0x10, 0x64, 0x69, 0x73, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x53, 3247 0x74, 0x65, 0x70, 0x12, 0x2b, 0x0a, 0x11, 0x64, 0x69, 0x73, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x5f, 3248 0x66, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 3249 0x64, 0x69, 0x73, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 3250 0x12, 0x2c, 0x0a, 0x12, 0x66, 0x75, 0x6c, 0x6c, 0x5f, 0x64, 0x69, 0x73, 0x70, 0x6f, 0x73, 0x61, 3251 0x6c, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x66, 0x75, 3252 0x6c, 0x6c, 0x44, 0x69, 0x73, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x32, 3253 0x0a, 0x15, 0x6d, 0x61, 0x78, 0x5f, 0x66, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 3254 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x6d, 3255 0x61, 0x78, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 3256 0x65, 0x64, 0x12, 0x36, 0x0a, 0x17, 0x64, 0x69, 0x73, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x5f, 0x73, 3257 0x6c, 0x69, 0x70, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x05, 0x20, 3258 0x01, 0x28, 0x09, 0x52, 0x15, 0x64, 0x69, 0x73, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x53, 0x6c, 0x69, 3259 0x70, 0x70, 0x61, 0x67, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x22, 0xda, 0x03, 0x0a, 0x1b, 0x43, 3260 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x65, 0x50, 0x72, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 3261 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x65, 3262 0x63, 0x61, 0x79, 0x5f, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 3263 0x52, 0x0b, 0x64, 0x65, 0x63, 0x61, 0x79, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x1f, 0x0a, 3264 0x0b, 0x64, 0x65, 0x63, 0x61, 0x79, 0x5f, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 3265 0x28, 0x04, 0x52, 0x0a, 0x64, 0x65, 0x63, 0x61, 0x79, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x12, 0x1f, 3266 0x0a, 0x0b, 0x63, 0x61, 0x73, 0x68, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 3267 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x61, 0x73, 0x68, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 3268 0x25, 0x0a, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 3269 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x57, 3270 0x65, 0x69, 0x67, 0x68, 0x74, 0x73, 0x12, 0x3c, 0x0a, 0x1a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 3271 0x5f, 0x73, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x6f, 0x6c, 0x65, 0x72, 3272 0x61, 0x6e, 0x63, 0x65, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x18, 0x73, 0x6f, 0x75, 0x72, 3273 0x63, 0x65, 0x53, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6c, 0x65, 0x72, 3274 0x61, 0x6e, 0x63, 0x65, 0x12, 0x4a, 0x0a, 0x14, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 3275 0x65, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 3276 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x76, 0x65, 0x67, 0x61, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 3277 0x69, 0x74, 0x65, 0x50, 0x72, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x12, 0x63, 0x6f, 3278 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x65, 0x50, 0x72, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 3279 0x12, 0x46, 0x0a, 0x11, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 3280 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x76, 0x65, 3281 0x67, 0x61, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x44, 0x65, 0x66, 3282 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x64, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 3283 0x72, 0x63, 0x65, 0x73, 0x53, 0x70, 0x65, 0x63, 0x12, 0x5d, 0x0a, 0x19, 0x64, 0x61, 0x74, 0x61, 3284 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x5f, 0x62, 0x69, 3285 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x76, 0x65, 3286 0x67, 0x61, 0x2e, 0x53, 0x70, 0x65, 0x63, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x46, 0x6f, 3287 0x72, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x65, 0x50, 0x72, 0x69, 0x63, 0x65, 0x52, 3288 0x16, 0x64, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x53, 0x70, 0x65, 0x63, 3289 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x22, 0xc0, 0x01, 0x0a, 0x28, 0x44, 0x61, 0x74, 0x61, 3290 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x70, 0x65, 0x63, 0x54, 0x6f, 0x41, 0x75, 0x74, 0x6f, 3291 0x6d, 0x61, 0x74, 0x65, 0x64, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x42, 0x69, 0x6e, 3292 0x64, 0x69, 0x6e, 0x67, 0x12, 0x3a, 0x0a, 0x19, 0x61, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 3293 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 3294 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x17, 0x61, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 3295 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 3296 0x12, 0x58, 0x0a, 0x29, 0x61, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x76, 0x6f, 0x6c, 0x75, 3297 0x6d, 0x65, 0x5f, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x73, 0x63, 0x68, 0x65, 3298 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x18, 0x02, 0x20, 3299 0x01, 0x28, 0x09, 0x52, 0x25, 0x61, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x6f, 0x6c, 0x75, 3300 0x6d, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 3301 0x6c, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x2a, 0xa3, 0x01, 0x0a, 0x12, 0x43, 3302 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x65, 0x50, 0x72, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 3303 0x65, 0x12, 0x24, 0x0a, 0x20, 0x43, 0x4f, 0x4d, 0x50, 0x4f, 0x53, 0x49, 0x54, 0x45, 0x5f, 0x50, 3304 0x52, 0x49, 0x43, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 3305 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x21, 0x0a, 0x1d, 0x43, 0x4f, 0x4d, 0x50, 0x4f, 3306 0x53, 0x49, 0x54, 0x45, 0x5f, 0x50, 0x52, 0x49, 0x43, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 3307 0x57, 0x45, 0x49, 0x47, 0x48, 0x54, 0x45, 0x44, 0x10, 0x01, 0x12, 0x1f, 0x0a, 0x1b, 0x43, 0x4f, 3308 0x4d, 0x50, 0x4f, 0x53, 0x49, 0x54, 0x45, 0x5f, 0x50, 0x52, 0x49, 0x43, 0x45, 0x5f, 0x54, 0x59, 3309 0x50, 0x45, 0x5f, 0x4d, 0x45, 0x44, 0x49, 0x41, 0x4e, 0x10, 0x02, 0x12, 0x23, 0x0a, 0x1f, 0x43, 3310 0x4f, 0x4d, 0x50, 0x4f, 0x53, 0x49, 0x54, 0x45, 0x5f, 0x50, 0x52, 0x49, 0x43, 0x45, 0x5f, 0x54, 3311 0x59, 0x50, 0x45, 0x5f, 0x4c, 0x41, 0x53, 0x54, 0x5f, 0x54, 0x52, 0x41, 0x44, 0x45, 0x10, 0x03, 3312 0x42, 0x27, 0x5a, 0x25, 0x63, 0x6f, 0x64, 0x65, 0x2e, 0x76, 0x65, 0x67, 0x61, 0x70, 0x72, 0x6f, 3313 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x69, 0x6f, 0x2f, 0x76, 0x65, 0x67, 0x61, 0x2f, 0x70, 0x72, 3314 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x76, 0x65, 0x67, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 3315 0x33, 3316 } 3317 3318 var ( 3319 file_vega_markets_proto_rawDescOnce sync.Once 3320 file_vega_markets_proto_rawDescData = file_vega_markets_proto_rawDesc 3321 ) 3322 3323 func file_vega_markets_proto_rawDescGZIP() []byte { 3324 file_vega_markets_proto_rawDescOnce.Do(func() { 3325 file_vega_markets_proto_rawDescData = protoimpl.X.CompressGZIP(file_vega_markets_proto_rawDescData) 3326 }) 3327 return file_vega_markets_proto_rawDescData 3328 } 3329 3330 var file_vega_markets_proto_enumTypes = make([]protoimpl.EnumInfo, 4) 3331 var file_vega_markets_proto_msgTypes = make([]protoimpl.MessageInfo, 31) 3332 var file_vega_markets_proto_goTypes = []interface{}{ 3333 (CompositePriceType)(0), // 0: vega.CompositePriceType 3334 (LiquidityFeeSettings_Method)(0), // 1: vega.LiquidityFeeSettings.Method 3335 (Market_State)(0), // 2: vega.Market.State 3336 (Market_TradingMode)(0), // 3: vega.Market.TradingMode 3337 (*AuctionDuration)(nil), // 4: vega.AuctionDuration 3338 (*Spot)(nil), // 5: vega.Spot 3339 (*Future)(nil), // 6: vega.Future 3340 (*FutureCap)(nil), // 7: vega.FutureCap 3341 (*Perpetual)(nil), // 8: vega.Perpetual 3342 (*DataSourceSpecToFutureBinding)(nil), // 9: vega.DataSourceSpecToFutureBinding 3343 (*DataSourceSpecToPerpetualBinding)(nil), // 10: vega.DataSourceSpecToPerpetualBinding 3344 (*InstrumentMetadata)(nil), // 11: vega.InstrumentMetadata 3345 (*Instrument)(nil), // 12: vega.Instrument 3346 (*LogNormalRiskModel)(nil), // 13: vega.LogNormalRiskModel 3347 (*RiskFactorOverride)(nil), // 14: vega.RiskFactorOverride 3348 (*LogNormalModelParams)(nil), // 15: vega.LogNormalModelParams 3349 (*SimpleRiskModel)(nil), // 16: vega.SimpleRiskModel 3350 (*SimpleModelParams)(nil), // 17: vega.SimpleModelParams 3351 (*ScalingFactors)(nil), // 18: vega.ScalingFactors 3352 (*MarginCalculator)(nil), // 19: vega.MarginCalculator 3353 (*TradableInstrument)(nil), // 20: vega.TradableInstrument 3354 (*FeeFactors)(nil), // 21: vega.FeeFactors 3355 (*Fees)(nil), // 22: vega.Fees 3356 (*PriceMonitoringTrigger)(nil), // 23: vega.PriceMonitoringTrigger 3357 (*PriceMonitoringParameters)(nil), // 24: vega.PriceMonitoringParameters 3358 (*PriceMonitoringSettings)(nil), // 25: vega.PriceMonitoringSettings 3359 (*LiquidityMonitoringParameters)(nil), // 26: vega.LiquidityMonitoringParameters 3360 (*LiquiditySLAParameters)(nil), // 27: vega.LiquiditySLAParameters 3361 (*LiquidityFeeSettings)(nil), // 28: vega.LiquidityFeeSettings 3362 (*TargetStakeParameters)(nil), // 29: vega.TargetStakeParameters 3363 (*Market)(nil), // 30: vega.Market 3364 (*MarketTimestamps)(nil), // 31: vega.MarketTimestamps 3365 (*LiquidationStrategy)(nil), // 32: vega.LiquidationStrategy 3366 (*CompositePriceConfiguration)(nil), // 33: vega.CompositePriceConfiguration 3367 (*DataSourceSpecToAutomatedPurchaseBinding)(nil), // 34: vega.DataSourceSpecToAutomatedPurchaseBinding 3368 (*DataSourceSpec)(nil), // 35: vega.DataSourceSpec 3369 (*DataSourceDefinition)(nil), // 36: vega.DataSourceDefinition 3370 (*SpecBindingForCompositePrice)(nil), // 37: vega.SpecBindingForCompositePrice 3371 } 3372 var file_vega_markets_proto_depIdxs = []int32{ 3373 35, // 0: vega.Future.data_source_spec_for_settlement_data:type_name -> vega.DataSourceSpec 3374 35, // 1: vega.Future.data_source_spec_for_trading_termination:type_name -> vega.DataSourceSpec 3375 9, // 2: vega.Future.data_source_spec_binding:type_name -> vega.DataSourceSpecToFutureBinding 3376 7, // 3: vega.Future.cap:type_name -> vega.FutureCap 3377 35, // 4: vega.Perpetual.data_source_spec_for_settlement_schedule:type_name -> vega.DataSourceSpec 3378 35, // 5: vega.Perpetual.data_source_spec_for_settlement_data:type_name -> vega.DataSourceSpec 3379 10, // 6: vega.Perpetual.data_source_spec_binding:type_name -> vega.DataSourceSpecToPerpetualBinding 3380 33, // 7: vega.Perpetual.internal_composite_price_config:type_name -> vega.CompositePriceConfiguration 3381 11, // 8: vega.Instrument.metadata:type_name -> vega.InstrumentMetadata 3382 6, // 9: vega.Instrument.future:type_name -> vega.Future 3383 5, // 10: vega.Instrument.spot:type_name -> vega.Spot 3384 8, // 11: vega.Instrument.perpetual:type_name -> vega.Perpetual 3385 15, // 12: vega.LogNormalRiskModel.params:type_name -> vega.LogNormalModelParams 3386 14, // 13: vega.LogNormalRiskModel.risk_factor_override:type_name -> vega.RiskFactorOverride 3387 17, // 14: vega.SimpleRiskModel.params:type_name -> vega.SimpleModelParams 3388 18, // 15: vega.MarginCalculator.scaling_factors:type_name -> vega.ScalingFactors 3389 12, // 16: vega.TradableInstrument.instrument:type_name -> vega.Instrument 3390 19, // 17: vega.TradableInstrument.margin_calculator:type_name -> vega.MarginCalculator 3391 13, // 18: vega.TradableInstrument.log_normal_risk_model:type_name -> vega.LogNormalRiskModel 3392 16, // 19: vega.TradableInstrument.simple_risk_model:type_name -> vega.SimpleRiskModel 3393 21, // 20: vega.Fees.factors:type_name -> vega.FeeFactors 3394 28, // 21: vega.Fees.liquidity_fee_settings:type_name -> vega.LiquidityFeeSettings 3395 23, // 22: vega.PriceMonitoringParameters.triggers:type_name -> vega.PriceMonitoringTrigger 3396 24, // 23: vega.PriceMonitoringSettings.parameters:type_name -> vega.PriceMonitoringParameters 3397 29, // 24: vega.LiquidityMonitoringParameters.target_stake_parameters:type_name -> vega.TargetStakeParameters 3398 1, // 25: vega.LiquidityFeeSettings.method:type_name -> vega.LiquidityFeeSettings.Method 3399 20, // 26: vega.Market.tradable_instrument:type_name -> vega.TradableInstrument 3400 22, // 27: vega.Market.fees:type_name -> vega.Fees 3401 4, // 28: vega.Market.opening_auction:type_name -> vega.AuctionDuration 3402 25, // 29: vega.Market.price_monitoring_settings:type_name -> vega.PriceMonitoringSettings 3403 26, // 30: vega.Market.liquidity_monitoring_parameters:type_name -> vega.LiquidityMonitoringParameters 3404 3, // 31: vega.Market.trading_mode:type_name -> vega.Market.TradingMode 3405 2, // 32: vega.Market.state:type_name -> vega.Market.State 3406 31, // 33: vega.Market.market_timestamps:type_name -> vega.MarketTimestamps 3407 27, // 34: vega.Market.liquidity_sla_params:type_name -> vega.LiquiditySLAParameters 3408 32, // 35: vega.Market.liquidation_strategy:type_name -> vega.LiquidationStrategy 3409 33, // 36: vega.Market.mark_price_configuration:type_name -> vega.CompositePriceConfiguration 3410 0, // 37: vega.CompositePriceConfiguration.composite_price_type:type_name -> vega.CompositePriceType 3411 36, // 38: vega.CompositePriceConfiguration.data_sources_spec:type_name -> vega.DataSourceDefinition 3412 37, // 39: vega.CompositePriceConfiguration.data_sources_spec_binding:type_name -> vega.SpecBindingForCompositePrice 3413 40, // [40:40] is the sub-list for method output_type 3414 40, // [40:40] is the sub-list for method input_type 3415 40, // [40:40] is the sub-list for extension type_name 3416 40, // [40:40] is the sub-list for extension extendee 3417 0, // [0:40] is the sub-list for field type_name 3418 } 3419 3420 func init() { file_vega_markets_proto_init() } 3421 func file_vega_markets_proto_init() { 3422 if File_vega_markets_proto != nil { 3423 return 3424 } 3425 file_vega_data_source_proto_init() 3426 if !protoimpl.UnsafeEnabled { 3427 file_vega_markets_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { 3428 switch v := v.(*AuctionDuration); i { 3429 case 0: 3430 return &v.state 3431 case 1: 3432 return &v.sizeCache 3433 case 2: 3434 return &v.unknownFields 3435 default: 3436 return nil 3437 } 3438 } 3439 file_vega_markets_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { 3440 switch v := v.(*Spot); i { 3441 case 0: 3442 return &v.state 3443 case 1: 3444 return &v.sizeCache 3445 case 2: 3446 return &v.unknownFields 3447 default: 3448 return nil 3449 } 3450 } 3451 file_vega_markets_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { 3452 switch v := v.(*Future); i { 3453 case 0: 3454 return &v.state 3455 case 1: 3456 return &v.sizeCache 3457 case 2: 3458 return &v.unknownFields 3459 default: 3460 return nil 3461 } 3462 } 3463 file_vega_markets_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { 3464 switch v := v.(*FutureCap); i { 3465 case 0: 3466 return &v.state 3467 case 1: 3468 return &v.sizeCache 3469 case 2: 3470 return &v.unknownFields 3471 default: 3472 return nil 3473 } 3474 } 3475 file_vega_markets_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { 3476 switch v := v.(*Perpetual); i { 3477 case 0: 3478 return &v.state 3479 case 1: 3480 return &v.sizeCache 3481 case 2: 3482 return &v.unknownFields 3483 default: 3484 return nil 3485 } 3486 } 3487 file_vega_markets_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { 3488 switch v := v.(*DataSourceSpecToFutureBinding); i { 3489 case 0: 3490 return &v.state 3491 case 1: 3492 return &v.sizeCache 3493 case 2: 3494 return &v.unknownFields 3495 default: 3496 return nil 3497 } 3498 } 3499 file_vega_markets_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { 3500 switch v := v.(*DataSourceSpecToPerpetualBinding); i { 3501 case 0: 3502 return &v.state 3503 case 1: 3504 return &v.sizeCache 3505 case 2: 3506 return &v.unknownFields 3507 default: 3508 return nil 3509 } 3510 } 3511 file_vega_markets_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { 3512 switch v := v.(*InstrumentMetadata); i { 3513 case 0: 3514 return &v.state 3515 case 1: 3516 return &v.sizeCache 3517 case 2: 3518 return &v.unknownFields 3519 default: 3520 return nil 3521 } 3522 } 3523 file_vega_markets_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { 3524 switch v := v.(*Instrument); i { 3525 case 0: 3526 return &v.state 3527 case 1: 3528 return &v.sizeCache 3529 case 2: 3530 return &v.unknownFields 3531 default: 3532 return nil 3533 } 3534 } 3535 file_vega_markets_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { 3536 switch v := v.(*LogNormalRiskModel); i { 3537 case 0: 3538 return &v.state 3539 case 1: 3540 return &v.sizeCache 3541 case 2: 3542 return &v.unknownFields 3543 default: 3544 return nil 3545 } 3546 } 3547 file_vega_markets_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { 3548 switch v := v.(*RiskFactorOverride); i { 3549 case 0: 3550 return &v.state 3551 case 1: 3552 return &v.sizeCache 3553 case 2: 3554 return &v.unknownFields 3555 default: 3556 return nil 3557 } 3558 } 3559 file_vega_markets_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { 3560 switch v := v.(*LogNormalModelParams); i { 3561 case 0: 3562 return &v.state 3563 case 1: 3564 return &v.sizeCache 3565 case 2: 3566 return &v.unknownFields 3567 default: 3568 return nil 3569 } 3570 } 3571 file_vega_markets_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { 3572 switch v := v.(*SimpleRiskModel); i { 3573 case 0: 3574 return &v.state 3575 case 1: 3576 return &v.sizeCache 3577 case 2: 3578 return &v.unknownFields 3579 default: 3580 return nil 3581 } 3582 } 3583 file_vega_markets_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { 3584 switch v := v.(*SimpleModelParams); i { 3585 case 0: 3586 return &v.state 3587 case 1: 3588 return &v.sizeCache 3589 case 2: 3590 return &v.unknownFields 3591 default: 3592 return nil 3593 } 3594 } 3595 file_vega_markets_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { 3596 switch v := v.(*ScalingFactors); i { 3597 case 0: 3598 return &v.state 3599 case 1: 3600 return &v.sizeCache 3601 case 2: 3602 return &v.unknownFields 3603 default: 3604 return nil 3605 } 3606 } 3607 file_vega_markets_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { 3608 switch v := v.(*MarginCalculator); i { 3609 case 0: 3610 return &v.state 3611 case 1: 3612 return &v.sizeCache 3613 case 2: 3614 return &v.unknownFields 3615 default: 3616 return nil 3617 } 3618 } 3619 file_vega_markets_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { 3620 switch v := v.(*TradableInstrument); i { 3621 case 0: 3622 return &v.state 3623 case 1: 3624 return &v.sizeCache 3625 case 2: 3626 return &v.unknownFields 3627 default: 3628 return nil 3629 } 3630 } 3631 file_vega_markets_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { 3632 switch v := v.(*FeeFactors); i { 3633 case 0: 3634 return &v.state 3635 case 1: 3636 return &v.sizeCache 3637 case 2: 3638 return &v.unknownFields 3639 default: 3640 return nil 3641 } 3642 } 3643 file_vega_markets_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { 3644 switch v := v.(*Fees); i { 3645 case 0: 3646 return &v.state 3647 case 1: 3648 return &v.sizeCache 3649 case 2: 3650 return &v.unknownFields 3651 default: 3652 return nil 3653 } 3654 } 3655 file_vega_markets_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { 3656 switch v := v.(*PriceMonitoringTrigger); i { 3657 case 0: 3658 return &v.state 3659 case 1: 3660 return &v.sizeCache 3661 case 2: 3662 return &v.unknownFields 3663 default: 3664 return nil 3665 } 3666 } 3667 file_vega_markets_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { 3668 switch v := v.(*PriceMonitoringParameters); i { 3669 case 0: 3670 return &v.state 3671 case 1: 3672 return &v.sizeCache 3673 case 2: 3674 return &v.unknownFields 3675 default: 3676 return nil 3677 } 3678 } 3679 file_vega_markets_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { 3680 switch v := v.(*PriceMonitoringSettings); i { 3681 case 0: 3682 return &v.state 3683 case 1: 3684 return &v.sizeCache 3685 case 2: 3686 return &v.unknownFields 3687 default: 3688 return nil 3689 } 3690 } 3691 file_vega_markets_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { 3692 switch v := v.(*LiquidityMonitoringParameters); i { 3693 case 0: 3694 return &v.state 3695 case 1: 3696 return &v.sizeCache 3697 case 2: 3698 return &v.unknownFields 3699 default: 3700 return nil 3701 } 3702 } 3703 file_vega_markets_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { 3704 switch v := v.(*LiquiditySLAParameters); i { 3705 case 0: 3706 return &v.state 3707 case 1: 3708 return &v.sizeCache 3709 case 2: 3710 return &v.unknownFields 3711 default: 3712 return nil 3713 } 3714 } 3715 file_vega_markets_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { 3716 switch v := v.(*LiquidityFeeSettings); i { 3717 case 0: 3718 return &v.state 3719 case 1: 3720 return &v.sizeCache 3721 case 2: 3722 return &v.unknownFields 3723 default: 3724 return nil 3725 } 3726 } 3727 file_vega_markets_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { 3728 switch v := v.(*TargetStakeParameters); i { 3729 case 0: 3730 return &v.state 3731 case 1: 3732 return &v.sizeCache 3733 case 2: 3734 return &v.unknownFields 3735 default: 3736 return nil 3737 } 3738 } 3739 file_vega_markets_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { 3740 switch v := v.(*Market); i { 3741 case 0: 3742 return &v.state 3743 case 1: 3744 return &v.sizeCache 3745 case 2: 3746 return &v.unknownFields 3747 default: 3748 return nil 3749 } 3750 } 3751 file_vega_markets_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { 3752 switch v := v.(*MarketTimestamps); i { 3753 case 0: 3754 return &v.state 3755 case 1: 3756 return &v.sizeCache 3757 case 2: 3758 return &v.unknownFields 3759 default: 3760 return nil 3761 } 3762 } 3763 file_vega_markets_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { 3764 switch v := v.(*LiquidationStrategy); i { 3765 case 0: 3766 return &v.state 3767 case 1: 3768 return &v.sizeCache 3769 case 2: 3770 return &v.unknownFields 3771 default: 3772 return nil 3773 } 3774 } 3775 file_vega_markets_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { 3776 switch v := v.(*CompositePriceConfiguration); i { 3777 case 0: 3778 return &v.state 3779 case 1: 3780 return &v.sizeCache 3781 case 2: 3782 return &v.unknownFields 3783 default: 3784 return nil 3785 } 3786 } 3787 file_vega_markets_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { 3788 switch v := v.(*DataSourceSpecToAutomatedPurchaseBinding); i { 3789 case 0: 3790 return &v.state 3791 case 1: 3792 return &v.sizeCache 3793 case 2: 3794 return &v.unknownFields 3795 default: 3796 return nil 3797 } 3798 } 3799 } 3800 file_vega_markets_proto_msgTypes[2].OneofWrappers = []interface{}{} 3801 file_vega_markets_proto_msgTypes[3].OneofWrappers = []interface{}{} 3802 file_vega_markets_proto_msgTypes[4].OneofWrappers = []interface{}{} 3803 file_vega_markets_proto_msgTypes[8].OneofWrappers = []interface{}{ 3804 (*Instrument_Future)(nil), 3805 (*Instrument_Spot)(nil), 3806 (*Instrument_Perpetual)(nil), 3807 } 3808 file_vega_markets_proto_msgTypes[9].OneofWrappers = []interface{}{} 3809 file_vega_markets_proto_msgTypes[15].OneofWrappers = []interface{}{} 3810 file_vega_markets_proto_msgTypes[16].OneofWrappers = []interface{}{ 3811 (*TradableInstrument_LogNormalRiskModel)(nil), 3812 (*TradableInstrument_SimpleRiskModel)(nil), 3813 } 3814 file_vega_markets_proto_msgTypes[24].OneofWrappers = []interface{}{} 3815 file_vega_markets_proto_msgTypes[26].OneofWrappers = []interface{}{} 3816 type x struct{} 3817 out := protoimpl.TypeBuilder{ 3818 File: protoimpl.DescBuilder{ 3819 GoPackagePath: reflect.TypeOf(x{}).PkgPath(), 3820 RawDescriptor: file_vega_markets_proto_rawDesc, 3821 NumEnums: 4, 3822 NumMessages: 31, 3823 NumExtensions: 0, 3824 NumServices: 0, 3825 }, 3826 GoTypes: file_vega_markets_proto_goTypes, 3827 DependencyIndexes: file_vega_markets_proto_depIdxs, 3828 EnumInfos: file_vega_markets_proto_enumTypes, 3829 MessageInfos: file_vega_markets_proto_msgTypes, 3830 }.Build() 3831 File_vega_markets_proto = out.File 3832 file_vega_markets_proto_rawDesc = nil 3833 file_vega_markets_proto_goTypes = nil 3834 file_vega_markets_proto_depIdxs = nil 3835 }