github.com/InjectiveLabs/sdk-go@v1.53.0/exchange/derivative_exchange_rpc/pb/goadesign_goagen_injective_derivative_exchange_rpc.pb.go (about) 1 // Code generated with goa v3.7.0, DO NOT EDIT. 2 // 3 // InjectiveDerivativeExchangeRPC protocol buffer definition 4 // 5 // Command: 6 // $ goa gen github.com/InjectiveLabs/injective-indexer/api/design -o ../ 7 8 // Code generated by protoc-gen-go. DO NOT EDIT. 9 // versions: 10 // protoc-gen-go v1.30.0 11 // protoc v3.19.4 12 // source: goadesign_goagen_injective_derivative_exchange_rpc.proto 13 14 package injective_derivative_exchange_rpcpb 15 16 import ( 17 protoreflect "google.golang.org/protobuf/reflect/protoreflect" 18 protoimpl "google.golang.org/protobuf/runtime/protoimpl" 19 reflect "reflect" 20 sync "sync" 21 ) 22 23 const ( 24 // Verify that this generated code is sufficiently up-to-date. 25 _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 26 // Verify that runtime/protoimpl is sufficiently up-to-date. 27 _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 28 ) 29 30 type MarketsRequest struct { 31 state protoimpl.MessageState 32 sizeCache protoimpl.SizeCache 33 unknownFields protoimpl.UnknownFields 34 35 // Filter by market status 36 MarketStatus string `protobuf:"bytes,1,opt,name=market_status,json=marketStatus,proto3" json:"market_status,omitempty"` 37 // Filter by the Coin denomination of the quote currency 38 QuoteDenom string `protobuf:"bytes,2,opt,name=quote_denom,json=quoteDenom,proto3" json:"quote_denom,omitempty"` 39 MarketStatuses []string `protobuf:"bytes,3,rep,name=market_statuses,json=marketStatuses,proto3" json:"market_statuses,omitempty"` 40 } 41 42 func (x *MarketsRequest) Reset() { 43 *x = MarketsRequest{} 44 if protoimpl.UnsafeEnabled { 45 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[0] 46 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 47 ms.StoreMessageInfo(mi) 48 } 49 } 50 51 func (x *MarketsRequest) String() string { 52 return protoimpl.X.MessageStringOf(x) 53 } 54 55 func (*MarketsRequest) ProtoMessage() {} 56 57 func (x *MarketsRequest) ProtoReflect() protoreflect.Message { 58 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[0] 59 if protoimpl.UnsafeEnabled && x != nil { 60 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 61 if ms.LoadMessageInfo() == nil { 62 ms.StoreMessageInfo(mi) 63 } 64 return ms 65 } 66 return mi.MessageOf(x) 67 } 68 69 // Deprecated: Use MarketsRequest.ProtoReflect.Descriptor instead. 70 func (*MarketsRequest) Descriptor() ([]byte, []int) { 71 return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{0} 72 } 73 74 func (x *MarketsRequest) GetMarketStatus() string { 75 if x != nil { 76 return x.MarketStatus 77 } 78 return "" 79 } 80 81 func (x *MarketsRequest) GetQuoteDenom() string { 82 if x != nil { 83 return x.QuoteDenom 84 } 85 return "" 86 } 87 88 func (x *MarketsRequest) GetMarketStatuses() []string { 89 if x != nil { 90 return x.MarketStatuses 91 } 92 return nil 93 } 94 95 type MarketsResponse struct { 96 state protoimpl.MessageState 97 sizeCache protoimpl.SizeCache 98 unknownFields protoimpl.UnknownFields 99 100 // Derivative Markets list 101 Markets []*DerivativeMarketInfo `protobuf:"bytes,1,rep,name=markets,proto3" json:"markets,omitempty"` 102 } 103 104 func (x *MarketsResponse) Reset() { 105 *x = MarketsResponse{} 106 if protoimpl.UnsafeEnabled { 107 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[1] 108 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 109 ms.StoreMessageInfo(mi) 110 } 111 } 112 113 func (x *MarketsResponse) String() string { 114 return protoimpl.X.MessageStringOf(x) 115 } 116 117 func (*MarketsResponse) ProtoMessage() {} 118 119 func (x *MarketsResponse) ProtoReflect() protoreflect.Message { 120 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[1] 121 if protoimpl.UnsafeEnabled && x != nil { 122 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 123 if ms.LoadMessageInfo() == nil { 124 ms.StoreMessageInfo(mi) 125 } 126 return ms 127 } 128 return mi.MessageOf(x) 129 } 130 131 // Deprecated: Use MarketsResponse.ProtoReflect.Descriptor instead. 132 func (*MarketsResponse) Descriptor() ([]byte, []int) { 133 return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{1} 134 } 135 136 func (x *MarketsResponse) GetMarkets() []*DerivativeMarketInfo { 137 if x != nil { 138 return x.Markets 139 } 140 return nil 141 } 142 143 type DerivativeMarketInfo struct { 144 state protoimpl.MessageState 145 sizeCache protoimpl.SizeCache 146 unknownFields protoimpl.UnknownFields 147 148 // DerivativeMarket ID is crypto.Keccak256Hash([]byte((oracleType.String() + 149 // ticker + quoteDenom + oracleBase + oracleQuote))) for perpetual markets and 150 // crypto.Keccak256Hash([]byte((oracleType.String() + ticker + quoteDenom + 151 // oracleBase + oracleQuote + strconv.Itoa(int(expiry))))) for expiry futures 152 // markets 153 MarketId string `protobuf:"bytes,1,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` 154 // The status of the market 155 MarketStatus string `protobuf:"bytes,2,opt,name=market_status,json=marketStatus,proto3" json:"market_status,omitempty"` 156 // A name of the pair in format AAA/BBB, where AAA is base asset, BBB is quote 157 // asset. 158 Ticker string `protobuf:"bytes,3,opt,name=ticker,proto3" json:"ticker,omitempty"` 159 // Oracle base currency 160 OracleBase string `protobuf:"bytes,4,opt,name=oracle_base,json=oracleBase,proto3" json:"oracle_base,omitempty"` 161 // Oracle quote currency 162 OracleQuote string `protobuf:"bytes,5,opt,name=oracle_quote,json=oracleQuote,proto3" json:"oracle_quote,omitempty"` 163 // Oracle Type 164 OracleType string `protobuf:"bytes,6,opt,name=oracle_type,json=oracleType,proto3" json:"oracle_type,omitempty"` 165 // OracleScaleFactor 166 OracleScaleFactor uint32 `protobuf:"varint,7,opt,name=oracle_scale_factor,json=oracleScaleFactor,proto3" json:"oracle_scale_factor,omitempty"` 167 // Defines the initial margin ratio of a derivative market 168 InitialMarginRatio string `protobuf:"bytes,8,opt,name=initial_margin_ratio,json=initialMarginRatio,proto3" json:"initial_margin_ratio,omitempty"` 169 // Defines the maintenance margin ratio of a derivative market 170 MaintenanceMarginRatio string `protobuf:"bytes,9,opt,name=maintenance_margin_ratio,json=maintenanceMarginRatio,proto3" json:"maintenance_margin_ratio,omitempty"` 171 // Coin denom used for the quote asset. 172 QuoteDenom string `protobuf:"bytes,10,opt,name=quote_denom,json=quoteDenom,proto3" json:"quote_denom,omitempty"` 173 // Token metadata for quote asset, only for Ethereum-based assets 174 QuoteTokenMeta *TokenMeta `protobuf:"bytes,11,opt,name=quote_token_meta,json=quoteTokenMeta,proto3" json:"quote_token_meta,omitempty"` 175 // Defines the fee percentage makers pay when trading (in quote asset) 176 MakerFeeRate string `protobuf:"bytes,12,opt,name=maker_fee_rate,json=makerFeeRate,proto3" json:"maker_fee_rate,omitempty"` 177 // Defines the fee percentage takers pay when trading (in quote asset) 178 TakerFeeRate string `protobuf:"bytes,13,opt,name=taker_fee_rate,json=takerFeeRate,proto3" json:"taker_fee_rate,omitempty"` 179 // Percentage of the transaction fee shared with the service provider 180 ServiceProviderFee string `protobuf:"bytes,14,opt,name=service_provider_fee,json=serviceProviderFee,proto3" json:"service_provider_fee,omitempty"` 181 // True if the market is a perpetual swap market 182 IsPerpetual bool `protobuf:"varint,15,opt,name=is_perpetual,json=isPerpetual,proto3" json:"is_perpetual,omitempty"` 183 // Defines the minimum required tick size for the order's price 184 MinPriceTickSize string `protobuf:"bytes,16,opt,name=min_price_tick_size,json=minPriceTickSize,proto3" json:"min_price_tick_size,omitempty"` 185 // Defines the minimum required tick size for the order's quantity 186 MinQuantityTickSize string `protobuf:"bytes,17,opt,name=min_quantity_tick_size,json=minQuantityTickSize,proto3" json:"min_quantity_tick_size,omitempty"` 187 PerpetualMarketInfo *PerpetualMarketInfo `protobuf:"bytes,18,opt,name=perpetual_market_info,json=perpetualMarketInfo,proto3" json:"perpetual_market_info,omitempty"` 188 PerpetualMarketFunding *PerpetualMarketFunding `protobuf:"bytes,19,opt,name=perpetual_market_funding,json=perpetualMarketFunding,proto3" json:"perpetual_market_funding,omitempty"` 189 ExpiryFuturesMarketInfo *ExpiryFuturesMarketInfo `protobuf:"bytes,20,opt,name=expiry_futures_market_info,json=expiryFuturesMarketInfo,proto3" json:"expiry_futures_market_info,omitempty"` 190 // Minimum notional value for the order 191 MinNotional string `protobuf:"bytes,21,opt,name=min_notional,json=minNotional,proto3" json:"min_notional,omitempty"` 192 } 193 194 func (x *DerivativeMarketInfo) Reset() { 195 *x = DerivativeMarketInfo{} 196 if protoimpl.UnsafeEnabled { 197 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[2] 198 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 199 ms.StoreMessageInfo(mi) 200 } 201 } 202 203 func (x *DerivativeMarketInfo) String() string { 204 return protoimpl.X.MessageStringOf(x) 205 } 206 207 func (*DerivativeMarketInfo) ProtoMessage() {} 208 209 func (x *DerivativeMarketInfo) ProtoReflect() protoreflect.Message { 210 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[2] 211 if protoimpl.UnsafeEnabled && x != nil { 212 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 213 if ms.LoadMessageInfo() == nil { 214 ms.StoreMessageInfo(mi) 215 } 216 return ms 217 } 218 return mi.MessageOf(x) 219 } 220 221 // Deprecated: Use DerivativeMarketInfo.ProtoReflect.Descriptor instead. 222 func (*DerivativeMarketInfo) Descriptor() ([]byte, []int) { 223 return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{2} 224 } 225 226 func (x *DerivativeMarketInfo) GetMarketId() string { 227 if x != nil { 228 return x.MarketId 229 } 230 return "" 231 } 232 233 func (x *DerivativeMarketInfo) GetMarketStatus() string { 234 if x != nil { 235 return x.MarketStatus 236 } 237 return "" 238 } 239 240 func (x *DerivativeMarketInfo) GetTicker() string { 241 if x != nil { 242 return x.Ticker 243 } 244 return "" 245 } 246 247 func (x *DerivativeMarketInfo) GetOracleBase() string { 248 if x != nil { 249 return x.OracleBase 250 } 251 return "" 252 } 253 254 func (x *DerivativeMarketInfo) GetOracleQuote() string { 255 if x != nil { 256 return x.OracleQuote 257 } 258 return "" 259 } 260 261 func (x *DerivativeMarketInfo) GetOracleType() string { 262 if x != nil { 263 return x.OracleType 264 } 265 return "" 266 } 267 268 func (x *DerivativeMarketInfo) GetOracleScaleFactor() uint32 { 269 if x != nil { 270 return x.OracleScaleFactor 271 } 272 return 0 273 } 274 275 func (x *DerivativeMarketInfo) GetInitialMarginRatio() string { 276 if x != nil { 277 return x.InitialMarginRatio 278 } 279 return "" 280 } 281 282 func (x *DerivativeMarketInfo) GetMaintenanceMarginRatio() string { 283 if x != nil { 284 return x.MaintenanceMarginRatio 285 } 286 return "" 287 } 288 289 func (x *DerivativeMarketInfo) GetQuoteDenom() string { 290 if x != nil { 291 return x.QuoteDenom 292 } 293 return "" 294 } 295 296 func (x *DerivativeMarketInfo) GetQuoteTokenMeta() *TokenMeta { 297 if x != nil { 298 return x.QuoteTokenMeta 299 } 300 return nil 301 } 302 303 func (x *DerivativeMarketInfo) GetMakerFeeRate() string { 304 if x != nil { 305 return x.MakerFeeRate 306 } 307 return "" 308 } 309 310 func (x *DerivativeMarketInfo) GetTakerFeeRate() string { 311 if x != nil { 312 return x.TakerFeeRate 313 } 314 return "" 315 } 316 317 func (x *DerivativeMarketInfo) GetServiceProviderFee() string { 318 if x != nil { 319 return x.ServiceProviderFee 320 } 321 return "" 322 } 323 324 func (x *DerivativeMarketInfo) GetIsPerpetual() bool { 325 if x != nil { 326 return x.IsPerpetual 327 } 328 return false 329 } 330 331 func (x *DerivativeMarketInfo) GetMinPriceTickSize() string { 332 if x != nil { 333 return x.MinPriceTickSize 334 } 335 return "" 336 } 337 338 func (x *DerivativeMarketInfo) GetMinQuantityTickSize() string { 339 if x != nil { 340 return x.MinQuantityTickSize 341 } 342 return "" 343 } 344 345 func (x *DerivativeMarketInfo) GetPerpetualMarketInfo() *PerpetualMarketInfo { 346 if x != nil { 347 return x.PerpetualMarketInfo 348 } 349 return nil 350 } 351 352 func (x *DerivativeMarketInfo) GetPerpetualMarketFunding() *PerpetualMarketFunding { 353 if x != nil { 354 return x.PerpetualMarketFunding 355 } 356 return nil 357 } 358 359 func (x *DerivativeMarketInfo) GetExpiryFuturesMarketInfo() *ExpiryFuturesMarketInfo { 360 if x != nil { 361 return x.ExpiryFuturesMarketInfo 362 } 363 return nil 364 } 365 366 func (x *DerivativeMarketInfo) GetMinNotional() string { 367 if x != nil { 368 return x.MinNotional 369 } 370 return "" 371 } 372 373 type TokenMeta struct { 374 state protoimpl.MessageState 375 sizeCache protoimpl.SizeCache 376 unknownFields protoimpl.UnknownFields 377 378 // Token full name 379 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 380 // Token Ethereum contract address 381 Address string `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"` 382 // Token symbol short name 383 Symbol string `protobuf:"bytes,3,opt,name=symbol,proto3" json:"symbol,omitempty"` 384 // URL to the logo image 385 Logo string `protobuf:"bytes,4,opt,name=logo,proto3" json:"logo,omitempty"` 386 // Token decimals 387 Decimals int32 `protobuf:"zigzag32,5,opt,name=decimals,proto3" json:"decimals,omitempty"` 388 // Token metadata fetched timestamp in UNIX millis. 389 UpdatedAt int64 `protobuf:"zigzag64,6,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` 390 } 391 392 func (x *TokenMeta) Reset() { 393 *x = TokenMeta{} 394 if protoimpl.UnsafeEnabled { 395 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[3] 396 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 397 ms.StoreMessageInfo(mi) 398 } 399 } 400 401 func (x *TokenMeta) String() string { 402 return protoimpl.X.MessageStringOf(x) 403 } 404 405 func (*TokenMeta) ProtoMessage() {} 406 407 func (x *TokenMeta) ProtoReflect() protoreflect.Message { 408 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[3] 409 if protoimpl.UnsafeEnabled && x != nil { 410 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 411 if ms.LoadMessageInfo() == nil { 412 ms.StoreMessageInfo(mi) 413 } 414 return ms 415 } 416 return mi.MessageOf(x) 417 } 418 419 // Deprecated: Use TokenMeta.ProtoReflect.Descriptor instead. 420 func (*TokenMeta) Descriptor() ([]byte, []int) { 421 return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{3} 422 } 423 424 func (x *TokenMeta) GetName() string { 425 if x != nil { 426 return x.Name 427 } 428 return "" 429 } 430 431 func (x *TokenMeta) GetAddress() string { 432 if x != nil { 433 return x.Address 434 } 435 return "" 436 } 437 438 func (x *TokenMeta) GetSymbol() string { 439 if x != nil { 440 return x.Symbol 441 } 442 return "" 443 } 444 445 func (x *TokenMeta) GetLogo() string { 446 if x != nil { 447 return x.Logo 448 } 449 return "" 450 } 451 452 func (x *TokenMeta) GetDecimals() int32 { 453 if x != nil { 454 return x.Decimals 455 } 456 return 0 457 } 458 459 func (x *TokenMeta) GetUpdatedAt() int64 { 460 if x != nil { 461 return x.UpdatedAt 462 } 463 return 0 464 } 465 466 type PerpetualMarketInfo struct { 467 state protoimpl.MessageState 468 sizeCache protoimpl.SizeCache 469 unknownFields protoimpl.UnknownFields 470 471 // Defines the default maximum absolute value of the hourly funding rate of the 472 // perpetual market. 473 HourlyFundingRateCap string `protobuf:"bytes,1,opt,name=hourly_funding_rate_cap,json=hourlyFundingRateCap,proto3" json:"hourly_funding_rate_cap,omitempty"` 474 // Defines the hourly interest rate of the perpetual market. 475 HourlyInterestRate string `protobuf:"bytes,2,opt,name=hourly_interest_rate,json=hourlyInterestRate,proto3" json:"hourly_interest_rate,omitempty"` 476 // Defines the next funding timestamp in seconds of a perpetual market in UNIX 477 // seconds. 478 NextFundingTimestamp int64 `protobuf:"zigzag64,3,opt,name=next_funding_timestamp,json=nextFundingTimestamp,proto3" json:"next_funding_timestamp,omitempty"` 479 // Defines the funding interval in seconds of a perpetual market in seconds. 480 FundingInterval int64 `protobuf:"zigzag64,4,opt,name=funding_interval,json=fundingInterval,proto3" json:"funding_interval,omitempty"` 481 } 482 483 func (x *PerpetualMarketInfo) Reset() { 484 *x = PerpetualMarketInfo{} 485 if protoimpl.UnsafeEnabled { 486 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[4] 487 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 488 ms.StoreMessageInfo(mi) 489 } 490 } 491 492 func (x *PerpetualMarketInfo) String() string { 493 return protoimpl.X.MessageStringOf(x) 494 } 495 496 func (*PerpetualMarketInfo) ProtoMessage() {} 497 498 func (x *PerpetualMarketInfo) ProtoReflect() protoreflect.Message { 499 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[4] 500 if protoimpl.UnsafeEnabled && x != nil { 501 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 502 if ms.LoadMessageInfo() == nil { 503 ms.StoreMessageInfo(mi) 504 } 505 return ms 506 } 507 return mi.MessageOf(x) 508 } 509 510 // Deprecated: Use PerpetualMarketInfo.ProtoReflect.Descriptor instead. 511 func (*PerpetualMarketInfo) Descriptor() ([]byte, []int) { 512 return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{4} 513 } 514 515 func (x *PerpetualMarketInfo) GetHourlyFundingRateCap() string { 516 if x != nil { 517 return x.HourlyFundingRateCap 518 } 519 return "" 520 } 521 522 func (x *PerpetualMarketInfo) GetHourlyInterestRate() string { 523 if x != nil { 524 return x.HourlyInterestRate 525 } 526 return "" 527 } 528 529 func (x *PerpetualMarketInfo) GetNextFundingTimestamp() int64 { 530 if x != nil { 531 return x.NextFundingTimestamp 532 } 533 return 0 534 } 535 536 func (x *PerpetualMarketInfo) GetFundingInterval() int64 { 537 if x != nil { 538 return x.FundingInterval 539 } 540 return 0 541 } 542 543 type PerpetualMarketFunding struct { 544 state protoimpl.MessageState 545 sizeCache protoimpl.SizeCache 546 unknownFields protoimpl.UnknownFields 547 548 // Defines the cumulative funding of a perpetual market. 549 CumulativeFunding string `protobuf:"bytes,1,opt,name=cumulative_funding,json=cumulativeFunding,proto3" json:"cumulative_funding,omitempty"` 550 // Defines defines the cumulative price for the current hour up to the last 551 // timestamp. 552 CumulativePrice string `protobuf:"bytes,2,opt,name=cumulative_price,json=cumulativePrice,proto3" json:"cumulative_price,omitempty"` 553 // Defines the last funding timestamp in seconds of a perpetual market in UNIX 554 // seconds. 555 LastTimestamp int64 `protobuf:"zigzag64,3,opt,name=last_timestamp,json=lastTimestamp,proto3" json:"last_timestamp,omitempty"` 556 } 557 558 func (x *PerpetualMarketFunding) Reset() { 559 *x = PerpetualMarketFunding{} 560 if protoimpl.UnsafeEnabled { 561 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[5] 562 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 563 ms.StoreMessageInfo(mi) 564 } 565 } 566 567 func (x *PerpetualMarketFunding) String() string { 568 return protoimpl.X.MessageStringOf(x) 569 } 570 571 func (*PerpetualMarketFunding) ProtoMessage() {} 572 573 func (x *PerpetualMarketFunding) ProtoReflect() protoreflect.Message { 574 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[5] 575 if protoimpl.UnsafeEnabled && x != nil { 576 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 577 if ms.LoadMessageInfo() == nil { 578 ms.StoreMessageInfo(mi) 579 } 580 return ms 581 } 582 return mi.MessageOf(x) 583 } 584 585 // Deprecated: Use PerpetualMarketFunding.ProtoReflect.Descriptor instead. 586 func (*PerpetualMarketFunding) Descriptor() ([]byte, []int) { 587 return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{5} 588 } 589 590 func (x *PerpetualMarketFunding) GetCumulativeFunding() string { 591 if x != nil { 592 return x.CumulativeFunding 593 } 594 return "" 595 } 596 597 func (x *PerpetualMarketFunding) GetCumulativePrice() string { 598 if x != nil { 599 return x.CumulativePrice 600 } 601 return "" 602 } 603 604 func (x *PerpetualMarketFunding) GetLastTimestamp() int64 { 605 if x != nil { 606 return x.LastTimestamp 607 } 608 return 0 609 } 610 611 type ExpiryFuturesMarketInfo struct { 612 state protoimpl.MessageState 613 sizeCache protoimpl.SizeCache 614 unknownFields protoimpl.UnknownFields 615 616 // Defines the expiration time for a time expiry futures market in UNIX seconds. 617 ExpirationTimestamp int64 `protobuf:"zigzag64,1,opt,name=expiration_timestamp,json=expirationTimestamp,proto3" json:"expiration_timestamp,omitempty"` 618 // Defines the settlement price for a time expiry futures market. 619 SettlementPrice string `protobuf:"bytes,2,opt,name=settlement_price,json=settlementPrice,proto3" json:"settlement_price,omitempty"` 620 } 621 622 func (x *ExpiryFuturesMarketInfo) Reset() { 623 *x = ExpiryFuturesMarketInfo{} 624 if protoimpl.UnsafeEnabled { 625 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[6] 626 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 627 ms.StoreMessageInfo(mi) 628 } 629 } 630 631 func (x *ExpiryFuturesMarketInfo) String() string { 632 return protoimpl.X.MessageStringOf(x) 633 } 634 635 func (*ExpiryFuturesMarketInfo) ProtoMessage() {} 636 637 func (x *ExpiryFuturesMarketInfo) ProtoReflect() protoreflect.Message { 638 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[6] 639 if protoimpl.UnsafeEnabled && x != nil { 640 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 641 if ms.LoadMessageInfo() == nil { 642 ms.StoreMessageInfo(mi) 643 } 644 return ms 645 } 646 return mi.MessageOf(x) 647 } 648 649 // Deprecated: Use ExpiryFuturesMarketInfo.ProtoReflect.Descriptor instead. 650 func (*ExpiryFuturesMarketInfo) Descriptor() ([]byte, []int) { 651 return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{6} 652 } 653 654 func (x *ExpiryFuturesMarketInfo) GetExpirationTimestamp() int64 { 655 if x != nil { 656 return x.ExpirationTimestamp 657 } 658 return 0 659 } 660 661 func (x *ExpiryFuturesMarketInfo) GetSettlementPrice() string { 662 if x != nil { 663 return x.SettlementPrice 664 } 665 return "" 666 } 667 668 type MarketRequest struct { 669 state protoimpl.MessageState 670 sizeCache protoimpl.SizeCache 671 unknownFields protoimpl.UnknownFields 672 673 // MarketId of the market we want to fetch 674 MarketId string `protobuf:"bytes,1,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` 675 } 676 677 func (x *MarketRequest) Reset() { 678 *x = MarketRequest{} 679 if protoimpl.UnsafeEnabled { 680 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[7] 681 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 682 ms.StoreMessageInfo(mi) 683 } 684 } 685 686 func (x *MarketRequest) String() string { 687 return protoimpl.X.MessageStringOf(x) 688 } 689 690 func (*MarketRequest) ProtoMessage() {} 691 692 func (x *MarketRequest) ProtoReflect() protoreflect.Message { 693 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[7] 694 if protoimpl.UnsafeEnabled && x != nil { 695 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 696 if ms.LoadMessageInfo() == nil { 697 ms.StoreMessageInfo(mi) 698 } 699 return ms 700 } 701 return mi.MessageOf(x) 702 } 703 704 // Deprecated: Use MarketRequest.ProtoReflect.Descriptor instead. 705 func (*MarketRequest) Descriptor() ([]byte, []int) { 706 return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{7} 707 } 708 709 func (x *MarketRequest) GetMarketId() string { 710 if x != nil { 711 return x.MarketId 712 } 713 return "" 714 } 715 716 type MarketResponse struct { 717 state protoimpl.MessageState 718 sizeCache protoimpl.SizeCache 719 unknownFields protoimpl.UnknownFields 720 721 // Info about particular derivative market 722 Market *DerivativeMarketInfo `protobuf:"bytes,1,opt,name=market,proto3" json:"market,omitempty"` 723 } 724 725 func (x *MarketResponse) Reset() { 726 *x = MarketResponse{} 727 if protoimpl.UnsafeEnabled { 728 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[8] 729 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 730 ms.StoreMessageInfo(mi) 731 } 732 } 733 734 func (x *MarketResponse) String() string { 735 return protoimpl.X.MessageStringOf(x) 736 } 737 738 func (*MarketResponse) ProtoMessage() {} 739 740 func (x *MarketResponse) ProtoReflect() protoreflect.Message { 741 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[8] 742 if protoimpl.UnsafeEnabled && x != nil { 743 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 744 if ms.LoadMessageInfo() == nil { 745 ms.StoreMessageInfo(mi) 746 } 747 return ms 748 } 749 return mi.MessageOf(x) 750 } 751 752 // Deprecated: Use MarketResponse.ProtoReflect.Descriptor instead. 753 func (*MarketResponse) Descriptor() ([]byte, []int) { 754 return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{8} 755 } 756 757 func (x *MarketResponse) GetMarket() *DerivativeMarketInfo { 758 if x != nil { 759 return x.Market 760 } 761 return nil 762 } 763 764 type StreamMarketRequest struct { 765 state protoimpl.MessageState 766 sizeCache protoimpl.SizeCache 767 unknownFields protoimpl.UnknownFields 768 769 // List of market IDs for updates streaming, empty means 'ALL' derivative 770 // markets 771 MarketIds []string `protobuf:"bytes,1,rep,name=market_ids,json=marketIds,proto3" json:"market_ids,omitempty"` 772 } 773 774 func (x *StreamMarketRequest) Reset() { 775 *x = StreamMarketRequest{} 776 if protoimpl.UnsafeEnabled { 777 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[9] 778 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 779 ms.StoreMessageInfo(mi) 780 } 781 } 782 783 func (x *StreamMarketRequest) String() string { 784 return protoimpl.X.MessageStringOf(x) 785 } 786 787 func (*StreamMarketRequest) ProtoMessage() {} 788 789 func (x *StreamMarketRequest) ProtoReflect() protoreflect.Message { 790 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[9] 791 if protoimpl.UnsafeEnabled && x != nil { 792 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 793 if ms.LoadMessageInfo() == nil { 794 ms.StoreMessageInfo(mi) 795 } 796 return ms 797 } 798 return mi.MessageOf(x) 799 } 800 801 // Deprecated: Use StreamMarketRequest.ProtoReflect.Descriptor instead. 802 func (*StreamMarketRequest) Descriptor() ([]byte, []int) { 803 return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{9} 804 } 805 806 func (x *StreamMarketRequest) GetMarketIds() []string { 807 if x != nil { 808 return x.MarketIds 809 } 810 return nil 811 } 812 813 type StreamMarketResponse struct { 814 state protoimpl.MessageState 815 sizeCache protoimpl.SizeCache 816 unknownFields protoimpl.UnknownFields 817 818 // Info about particular derivative market 819 Market *DerivativeMarketInfo `protobuf:"bytes,1,opt,name=market,proto3" json:"market,omitempty"` 820 // Update type 821 OperationType string `protobuf:"bytes,2,opt,name=operation_type,json=operationType,proto3" json:"operation_type,omitempty"` 822 // Operation timestamp in UNIX millis. 823 Timestamp int64 `protobuf:"zigzag64,3,opt,name=timestamp,proto3" json:"timestamp,omitempty"` 824 } 825 826 func (x *StreamMarketResponse) Reset() { 827 *x = StreamMarketResponse{} 828 if protoimpl.UnsafeEnabled { 829 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[10] 830 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 831 ms.StoreMessageInfo(mi) 832 } 833 } 834 835 func (x *StreamMarketResponse) String() string { 836 return protoimpl.X.MessageStringOf(x) 837 } 838 839 func (*StreamMarketResponse) ProtoMessage() {} 840 841 func (x *StreamMarketResponse) ProtoReflect() protoreflect.Message { 842 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[10] 843 if protoimpl.UnsafeEnabled && x != nil { 844 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 845 if ms.LoadMessageInfo() == nil { 846 ms.StoreMessageInfo(mi) 847 } 848 return ms 849 } 850 return mi.MessageOf(x) 851 } 852 853 // Deprecated: Use StreamMarketResponse.ProtoReflect.Descriptor instead. 854 func (*StreamMarketResponse) Descriptor() ([]byte, []int) { 855 return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{10} 856 } 857 858 func (x *StreamMarketResponse) GetMarket() *DerivativeMarketInfo { 859 if x != nil { 860 return x.Market 861 } 862 return nil 863 } 864 865 func (x *StreamMarketResponse) GetOperationType() string { 866 if x != nil { 867 return x.OperationType 868 } 869 return "" 870 } 871 872 func (x *StreamMarketResponse) GetTimestamp() int64 { 873 if x != nil { 874 return x.Timestamp 875 } 876 return 0 877 } 878 879 type BinaryOptionsMarketsRequest struct { 880 state protoimpl.MessageState 881 sizeCache protoimpl.SizeCache 882 unknownFields protoimpl.UnknownFields 883 884 // Filter by market status 885 MarketStatus string `protobuf:"bytes,1,opt,name=market_status,json=marketStatus,proto3" json:"market_status,omitempty"` 886 // Filter by the Coin denomination of the quote currency 887 QuoteDenom string `protobuf:"bytes,2,opt,name=quote_denom,json=quoteDenom,proto3" json:"quote_denom,omitempty"` 888 // Skip will skip the first n item from the result 889 Skip uint64 `protobuf:"varint,3,opt,name=skip,proto3" json:"skip,omitempty"` 890 // Limit is used to specify the maximum number of items to be returned. 891 Limit int32 `protobuf:"zigzag32,4,opt,name=limit,proto3" json:"limit,omitempty"` 892 } 893 894 func (x *BinaryOptionsMarketsRequest) Reset() { 895 *x = BinaryOptionsMarketsRequest{} 896 if protoimpl.UnsafeEnabled { 897 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[11] 898 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 899 ms.StoreMessageInfo(mi) 900 } 901 } 902 903 func (x *BinaryOptionsMarketsRequest) String() string { 904 return protoimpl.X.MessageStringOf(x) 905 } 906 907 func (*BinaryOptionsMarketsRequest) ProtoMessage() {} 908 909 func (x *BinaryOptionsMarketsRequest) ProtoReflect() protoreflect.Message { 910 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[11] 911 if protoimpl.UnsafeEnabled && x != nil { 912 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 913 if ms.LoadMessageInfo() == nil { 914 ms.StoreMessageInfo(mi) 915 } 916 return ms 917 } 918 return mi.MessageOf(x) 919 } 920 921 // Deprecated: Use BinaryOptionsMarketsRequest.ProtoReflect.Descriptor instead. 922 func (*BinaryOptionsMarketsRequest) Descriptor() ([]byte, []int) { 923 return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{11} 924 } 925 926 func (x *BinaryOptionsMarketsRequest) GetMarketStatus() string { 927 if x != nil { 928 return x.MarketStatus 929 } 930 return "" 931 } 932 933 func (x *BinaryOptionsMarketsRequest) GetQuoteDenom() string { 934 if x != nil { 935 return x.QuoteDenom 936 } 937 return "" 938 } 939 940 func (x *BinaryOptionsMarketsRequest) GetSkip() uint64 { 941 if x != nil { 942 return x.Skip 943 } 944 return 0 945 } 946 947 func (x *BinaryOptionsMarketsRequest) GetLimit() int32 { 948 if x != nil { 949 return x.Limit 950 } 951 return 0 952 } 953 954 type BinaryOptionsMarketsResponse struct { 955 state protoimpl.MessageState 956 sizeCache protoimpl.SizeCache 957 unknownFields protoimpl.UnknownFields 958 959 // Binary Options Markets list 960 Markets []*BinaryOptionsMarketInfo `protobuf:"bytes,1,rep,name=markets,proto3" json:"markets,omitempty"` 961 Paging *Paging `protobuf:"bytes,2,opt,name=paging,proto3" json:"paging,omitempty"` 962 } 963 964 func (x *BinaryOptionsMarketsResponse) Reset() { 965 *x = BinaryOptionsMarketsResponse{} 966 if protoimpl.UnsafeEnabled { 967 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[12] 968 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 969 ms.StoreMessageInfo(mi) 970 } 971 } 972 973 func (x *BinaryOptionsMarketsResponse) String() string { 974 return protoimpl.X.MessageStringOf(x) 975 } 976 977 func (*BinaryOptionsMarketsResponse) ProtoMessage() {} 978 979 func (x *BinaryOptionsMarketsResponse) ProtoReflect() protoreflect.Message { 980 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[12] 981 if protoimpl.UnsafeEnabled && x != nil { 982 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 983 if ms.LoadMessageInfo() == nil { 984 ms.StoreMessageInfo(mi) 985 } 986 return ms 987 } 988 return mi.MessageOf(x) 989 } 990 991 // Deprecated: Use BinaryOptionsMarketsResponse.ProtoReflect.Descriptor instead. 992 func (*BinaryOptionsMarketsResponse) Descriptor() ([]byte, []int) { 993 return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{12} 994 } 995 996 func (x *BinaryOptionsMarketsResponse) GetMarkets() []*BinaryOptionsMarketInfo { 997 if x != nil { 998 return x.Markets 999 } 1000 return nil 1001 } 1002 1003 func (x *BinaryOptionsMarketsResponse) GetPaging() *Paging { 1004 if x != nil { 1005 return x.Paging 1006 } 1007 return nil 1008 } 1009 1010 type BinaryOptionsMarketInfo struct { 1011 state protoimpl.MessageState 1012 sizeCache protoimpl.SizeCache 1013 unknownFields protoimpl.UnknownFields 1014 1015 // Binary Options Market ID is crypto.Keccak256Hash([]byte((oracleType.String() 1016 // + ticker + quoteDenom + oracleSymbol + oracleProvider))) 1017 MarketId string `protobuf:"bytes,1,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` 1018 // The status of the market 1019 MarketStatus string `protobuf:"bytes,2,opt,name=market_status,json=marketStatus,proto3" json:"market_status,omitempty"` 1020 // A name of the binary options market. 1021 Ticker string `protobuf:"bytes,3,opt,name=ticker,proto3" json:"ticker,omitempty"` 1022 // Oracle symbol 1023 OracleSymbol string `protobuf:"bytes,4,opt,name=oracle_symbol,json=oracleSymbol,proto3" json:"oracle_symbol,omitempty"` 1024 // Oracle provider 1025 OracleProvider string `protobuf:"bytes,5,opt,name=oracle_provider,json=oracleProvider,proto3" json:"oracle_provider,omitempty"` 1026 // Oracle Type 1027 OracleType string `protobuf:"bytes,6,opt,name=oracle_type,json=oracleType,proto3" json:"oracle_type,omitempty"` 1028 // OracleScaleFactor 1029 OracleScaleFactor uint32 `protobuf:"varint,7,opt,name=oracle_scale_factor,json=oracleScaleFactor,proto3" json:"oracle_scale_factor,omitempty"` 1030 // Defines the expiration time for the market in UNIX seconds. 1031 ExpirationTimestamp int64 `protobuf:"zigzag64,8,opt,name=expiration_timestamp,json=expirationTimestamp,proto3" json:"expiration_timestamp,omitempty"` 1032 // Defines the settlement time for the market in UNIX seconds. 1033 SettlementTimestamp int64 `protobuf:"zigzag64,9,opt,name=settlement_timestamp,json=settlementTimestamp,proto3" json:"settlement_timestamp,omitempty"` 1034 // Coin denom used for the quote asset. 1035 QuoteDenom string `protobuf:"bytes,10,opt,name=quote_denom,json=quoteDenom,proto3" json:"quote_denom,omitempty"` 1036 // Token metadata for quote asset, only for Ethereum-based assets 1037 QuoteTokenMeta *TokenMeta `protobuf:"bytes,11,opt,name=quote_token_meta,json=quoteTokenMeta,proto3" json:"quote_token_meta,omitempty"` 1038 // Defines the fee percentage makers pay when trading (in quote asset) 1039 MakerFeeRate string `protobuf:"bytes,12,opt,name=maker_fee_rate,json=makerFeeRate,proto3" json:"maker_fee_rate,omitempty"` 1040 // Defines the fee percentage takers pay when trading (in quote asset) 1041 TakerFeeRate string `protobuf:"bytes,13,opt,name=taker_fee_rate,json=takerFeeRate,proto3" json:"taker_fee_rate,omitempty"` 1042 // Percentage of the transaction fee shared with the service provider 1043 ServiceProviderFee string `protobuf:"bytes,14,opt,name=service_provider_fee,json=serviceProviderFee,proto3" json:"service_provider_fee,omitempty"` 1044 // Defines the minimum required tick size for the order's price 1045 MinPriceTickSize string `protobuf:"bytes,15,opt,name=min_price_tick_size,json=minPriceTickSize,proto3" json:"min_price_tick_size,omitempty"` 1046 // Defines the minimum required tick size for the order's quantity 1047 MinQuantityTickSize string `protobuf:"bytes,16,opt,name=min_quantity_tick_size,json=minQuantityTickSize,proto3" json:"min_quantity_tick_size,omitempty"` 1048 // Defines the settlement price of the market 1049 SettlementPrice string `protobuf:"bytes,17,opt,name=settlement_price,json=settlementPrice,proto3" json:"settlement_price,omitempty"` 1050 // Defines the minimum notional value for the market 1051 MinNotional string `protobuf:"bytes,18,opt,name=min_notional,json=minNotional,proto3" json:"min_notional,omitempty"` 1052 } 1053 1054 func (x *BinaryOptionsMarketInfo) Reset() { 1055 *x = BinaryOptionsMarketInfo{} 1056 if protoimpl.UnsafeEnabled { 1057 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[13] 1058 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1059 ms.StoreMessageInfo(mi) 1060 } 1061 } 1062 1063 func (x *BinaryOptionsMarketInfo) String() string { 1064 return protoimpl.X.MessageStringOf(x) 1065 } 1066 1067 func (*BinaryOptionsMarketInfo) ProtoMessage() {} 1068 1069 func (x *BinaryOptionsMarketInfo) ProtoReflect() protoreflect.Message { 1070 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[13] 1071 if protoimpl.UnsafeEnabled && x != nil { 1072 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1073 if ms.LoadMessageInfo() == nil { 1074 ms.StoreMessageInfo(mi) 1075 } 1076 return ms 1077 } 1078 return mi.MessageOf(x) 1079 } 1080 1081 // Deprecated: Use BinaryOptionsMarketInfo.ProtoReflect.Descriptor instead. 1082 func (*BinaryOptionsMarketInfo) Descriptor() ([]byte, []int) { 1083 return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{13} 1084 } 1085 1086 func (x *BinaryOptionsMarketInfo) GetMarketId() string { 1087 if x != nil { 1088 return x.MarketId 1089 } 1090 return "" 1091 } 1092 1093 func (x *BinaryOptionsMarketInfo) GetMarketStatus() string { 1094 if x != nil { 1095 return x.MarketStatus 1096 } 1097 return "" 1098 } 1099 1100 func (x *BinaryOptionsMarketInfo) GetTicker() string { 1101 if x != nil { 1102 return x.Ticker 1103 } 1104 return "" 1105 } 1106 1107 func (x *BinaryOptionsMarketInfo) GetOracleSymbol() string { 1108 if x != nil { 1109 return x.OracleSymbol 1110 } 1111 return "" 1112 } 1113 1114 func (x *BinaryOptionsMarketInfo) GetOracleProvider() string { 1115 if x != nil { 1116 return x.OracleProvider 1117 } 1118 return "" 1119 } 1120 1121 func (x *BinaryOptionsMarketInfo) GetOracleType() string { 1122 if x != nil { 1123 return x.OracleType 1124 } 1125 return "" 1126 } 1127 1128 func (x *BinaryOptionsMarketInfo) GetOracleScaleFactor() uint32 { 1129 if x != nil { 1130 return x.OracleScaleFactor 1131 } 1132 return 0 1133 } 1134 1135 func (x *BinaryOptionsMarketInfo) GetExpirationTimestamp() int64 { 1136 if x != nil { 1137 return x.ExpirationTimestamp 1138 } 1139 return 0 1140 } 1141 1142 func (x *BinaryOptionsMarketInfo) GetSettlementTimestamp() int64 { 1143 if x != nil { 1144 return x.SettlementTimestamp 1145 } 1146 return 0 1147 } 1148 1149 func (x *BinaryOptionsMarketInfo) GetQuoteDenom() string { 1150 if x != nil { 1151 return x.QuoteDenom 1152 } 1153 return "" 1154 } 1155 1156 func (x *BinaryOptionsMarketInfo) GetQuoteTokenMeta() *TokenMeta { 1157 if x != nil { 1158 return x.QuoteTokenMeta 1159 } 1160 return nil 1161 } 1162 1163 func (x *BinaryOptionsMarketInfo) GetMakerFeeRate() string { 1164 if x != nil { 1165 return x.MakerFeeRate 1166 } 1167 return "" 1168 } 1169 1170 func (x *BinaryOptionsMarketInfo) GetTakerFeeRate() string { 1171 if x != nil { 1172 return x.TakerFeeRate 1173 } 1174 return "" 1175 } 1176 1177 func (x *BinaryOptionsMarketInfo) GetServiceProviderFee() string { 1178 if x != nil { 1179 return x.ServiceProviderFee 1180 } 1181 return "" 1182 } 1183 1184 func (x *BinaryOptionsMarketInfo) GetMinPriceTickSize() string { 1185 if x != nil { 1186 return x.MinPriceTickSize 1187 } 1188 return "" 1189 } 1190 1191 func (x *BinaryOptionsMarketInfo) GetMinQuantityTickSize() string { 1192 if x != nil { 1193 return x.MinQuantityTickSize 1194 } 1195 return "" 1196 } 1197 1198 func (x *BinaryOptionsMarketInfo) GetSettlementPrice() string { 1199 if x != nil { 1200 return x.SettlementPrice 1201 } 1202 return "" 1203 } 1204 1205 func (x *BinaryOptionsMarketInfo) GetMinNotional() string { 1206 if x != nil { 1207 return x.MinNotional 1208 } 1209 return "" 1210 } 1211 1212 // Paging defines the structure for required params for handling pagination 1213 type Paging struct { 1214 state protoimpl.MessageState 1215 sizeCache protoimpl.SizeCache 1216 unknownFields protoimpl.UnknownFields 1217 1218 // total number of txs saved in database 1219 Total int64 `protobuf:"zigzag64,1,opt,name=total,proto3" json:"total,omitempty"` 1220 // can be either block height or index num 1221 From int32 `protobuf:"zigzag32,2,opt,name=from,proto3" json:"from,omitempty"` 1222 // can be either block height or index num 1223 To int32 `protobuf:"zigzag32,3,opt,name=to,proto3" json:"to,omitempty"` 1224 // count entries by subaccount, serving some places on helix 1225 CountBySubaccount int64 `protobuf:"zigzag64,4,opt,name=count_by_subaccount,json=countBySubaccount,proto3" json:"count_by_subaccount,omitempty"` 1226 // array of tokens to navigate to the next pages 1227 Next []string `protobuf:"bytes,5,rep,name=next,proto3" json:"next,omitempty"` 1228 } 1229 1230 func (x *Paging) Reset() { 1231 *x = Paging{} 1232 if protoimpl.UnsafeEnabled { 1233 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[14] 1234 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1235 ms.StoreMessageInfo(mi) 1236 } 1237 } 1238 1239 func (x *Paging) String() string { 1240 return protoimpl.X.MessageStringOf(x) 1241 } 1242 1243 func (*Paging) ProtoMessage() {} 1244 1245 func (x *Paging) ProtoReflect() protoreflect.Message { 1246 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[14] 1247 if protoimpl.UnsafeEnabled && x != nil { 1248 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1249 if ms.LoadMessageInfo() == nil { 1250 ms.StoreMessageInfo(mi) 1251 } 1252 return ms 1253 } 1254 return mi.MessageOf(x) 1255 } 1256 1257 // Deprecated: Use Paging.ProtoReflect.Descriptor instead. 1258 func (*Paging) Descriptor() ([]byte, []int) { 1259 return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{14} 1260 } 1261 1262 func (x *Paging) GetTotal() int64 { 1263 if x != nil { 1264 return x.Total 1265 } 1266 return 0 1267 } 1268 1269 func (x *Paging) GetFrom() int32 { 1270 if x != nil { 1271 return x.From 1272 } 1273 return 0 1274 } 1275 1276 func (x *Paging) GetTo() int32 { 1277 if x != nil { 1278 return x.To 1279 } 1280 return 0 1281 } 1282 1283 func (x *Paging) GetCountBySubaccount() int64 { 1284 if x != nil { 1285 return x.CountBySubaccount 1286 } 1287 return 0 1288 } 1289 1290 func (x *Paging) GetNext() []string { 1291 if x != nil { 1292 return x.Next 1293 } 1294 return nil 1295 } 1296 1297 type BinaryOptionsMarketRequest struct { 1298 state protoimpl.MessageState 1299 sizeCache protoimpl.SizeCache 1300 unknownFields protoimpl.UnknownFields 1301 1302 // MarketId of the market we want to fetch 1303 MarketId string `protobuf:"bytes,1,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` 1304 } 1305 1306 func (x *BinaryOptionsMarketRequest) Reset() { 1307 *x = BinaryOptionsMarketRequest{} 1308 if protoimpl.UnsafeEnabled { 1309 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[15] 1310 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1311 ms.StoreMessageInfo(mi) 1312 } 1313 } 1314 1315 func (x *BinaryOptionsMarketRequest) String() string { 1316 return protoimpl.X.MessageStringOf(x) 1317 } 1318 1319 func (*BinaryOptionsMarketRequest) ProtoMessage() {} 1320 1321 func (x *BinaryOptionsMarketRequest) ProtoReflect() protoreflect.Message { 1322 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[15] 1323 if protoimpl.UnsafeEnabled && x != nil { 1324 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1325 if ms.LoadMessageInfo() == nil { 1326 ms.StoreMessageInfo(mi) 1327 } 1328 return ms 1329 } 1330 return mi.MessageOf(x) 1331 } 1332 1333 // Deprecated: Use BinaryOptionsMarketRequest.ProtoReflect.Descriptor instead. 1334 func (*BinaryOptionsMarketRequest) Descriptor() ([]byte, []int) { 1335 return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{15} 1336 } 1337 1338 func (x *BinaryOptionsMarketRequest) GetMarketId() string { 1339 if x != nil { 1340 return x.MarketId 1341 } 1342 return "" 1343 } 1344 1345 type BinaryOptionsMarketResponse struct { 1346 state protoimpl.MessageState 1347 sizeCache protoimpl.SizeCache 1348 unknownFields protoimpl.UnknownFields 1349 1350 // Info about particular derivative market 1351 Market *BinaryOptionsMarketInfo `protobuf:"bytes,1,opt,name=market,proto3" json:"market,omitempty"` 1352 } 1353 1354 func (x *BinaryOptionsMarketResponse) Reset() { 1355 *x = BinaryOptionsMarketResponse{} 1356 if protoimpl.UnsafeEnabled { 1357 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[16] 1358 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1359 ms.StoreMessageInfo(mi) 1360 } 1361 } 1362 1363 func (x *BinaryOptionsMarketResponse) String() string { 1364 return protoimpl.X.MessageStringOf(x) 1365 } 1366 1367 func (*BinaryOptionsMarketResponse) ProtoMessage() {} 1368 1369 func (x *BinaryOptionsMarketResponse) ProtoReflect() protoreflect.Message { 1370 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[16] 1371 if protoimpl.UnsafeEnabled && x != nil { 1372 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1373 if ms.LoadMessageInfo() == nil { 1374 ms.StoreMessageInfo(mi) 1375 } 1376 return ms 1377 } 1378 return mi.MessageOf(x) 1379 } 1380 1381 // Deprecated: Use BinaryOptionsMarketResponse.ProtoReflect.Descriptor instead. 1382 func (*BinaryOptionsMarketResponse) Descriptor() ([]byte, []int) { 1383 return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{16} 1384 } 1385 1386 func (x *BinaryOptionsMarketResponse) GetMarket() *BinaryOptionsMarketInfo { 1387 if x != nil { 1388 return x.Market 1389 } 1390 return nil 1391 } 1392 1393 type OrderbookV2Request struct { 1394 state protoimpl.MessageState 1395 sizeCache protoimpl.SizeCache 1396 unknownFields protoimpl.UnknownFields 1397 1398 // MarketId of the market's orderbook we want to fetch 1399 MarketId string `protobuf:"bytes,1,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` 1400 } 1401 1402 func (x *OrderbookV2Request) Reset() { 1403 *x = OrderbookV2Request{} 1404 if protoimpl.UnsafeEnabled { 1405 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[17] 1406 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1407 ms.StoreMessageInfo(mi) 1408 } 1409 } 1410 1411 func (x *OrderbookV2Request) String() string { 1412 return protoimpl.X.MessageStringOf(x) 1413 } 1414 1415 func (*OrderbookV2Request) ProtoMessage() {} 1416 1417 func (x *OrderbookV2Request) ProtoReflect() protoreflect.Message { 1418 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[17] 1419 if protoimpl.UnsafeEnabled && x != nil { 1420 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1421 if ms.LoadMessageInfo() == nil { 1422 ms.StoreMessageInfo(mi) 1423 } 1424 return ms 1425 } 1426 return mi.MessageOf(x) 1427 } 1428 1429 // Deprecated: Use OrderbookV2Request.ProtoReflect.Descriptor instead. 1430 func (*OrderbookV2Request) Descriptor() ([]byte, []int) { 1431 return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{17} 1432 } 1433 1434 func (x *OrderbookV2Request) GetMarketId() string { 1435 if x != nil { 1436 return x.MarketId 1437 } 1438 return "" 1439 } 1440 1441 type OrderbookV2Response struct { 1442 state protoimpl.MessageState 1443 sizeCache protoimpl.SizeCache 1444 unknownFields protoimpl.UnknownFields 1445 1446 // Orderbook of a particular derivative market 1447 Orderbook *DerivativeLimitOrderbookV2 `protobuf:"bytes,1,opt,name=orderbook,proto3" json:"orderbook,omitempty"` 1448 } 1449 1450 func (x *OrderbookV2Response) Reset() { 1451 *x = OrderbookV2Response{} 1452 if protoimpl.UnsafeEnabled { 1453 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[18] 1454 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1455 ms.StoreMessageInfo(mi) 1456 } 1457 } 1458 1459 func (x *OrderbookV2Response) String() string { 1460 return protoimpl.X.MessageStringOf(x) 1461 } 1462 1463 func (*OrderbookV2Response) ProtoMessage() {} 1464 1465 func (x *OrderbookV2Response) ProtoReflect() protoreflect.Message { 1466 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[18] 1467 if protoimpl.UnsafeEnabled && x != nil { 1468 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1469 if ms.LoadMessageInfo() == nil { 1470 ms.StoreMessageInfo(mi) 1471 } 1472 return ms 1473 } 1474 return mi.MessageOf(x) 1475 } 1476 1477 // Deprecated: Use OrderbookV2Response.ProtoReflect.Descriptor instead. 1478 func (*OrderbookV2Response) Descriptor() ([]byte, []int) { 1479 return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{18} 1480 } 1481 1482 func (x *OrderbookV2Response) GetOrderbook() *DerivativeLimitOrderbookV2 { 1483 if x != nil { 1484 return x.Orderbook 1485 } 1486 return nil 1487 } 1488 1489 type DerivativeLimitOrderbookV2 struct { 1490 state protoimpl.MessageState 1491 sizeCache protoimpl.SizeCache 1492 unknownFields protoimpl.UnknownFields 1493 1494 // Array of price levels for buys 1495 Buys []*PriceLevel `protobuf:"bytes,1,rep,name=buys,proto3" json:"buys,omitempty"` 1496 // Array of price levels for sells 1497 Sells []*PriceLevel `protobuf:"bytes,2,rep,name=sells,proto3" json:"sells,omitempty"` 1498 // market orderbook sequence 1499 Sequence uint64 `protobuf:"varint,3,opt,name=sequence,proto3" json:"sequence,omitempty"` 1500 // Last update timestamp in UNIX millis. 1501 Timestamp int64 `protobuf:"zigzag64,4,opt,name=timestamp,proto3" json:"timestamp,omitempty"` 1502 } 1503 1504 func (x *DerivativeLimitOrderbookV2) Reset() { 1505 *x = DerivativeLimitOrderbookV2{} 1506 if protoimpl.UnsafeEnabled { 1507 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[19] 1508 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1509 ms.StoreMessageInfo(mi) 1510 } 1511 } 1512 1513 func (x *DerivativeLimitOrderbookV2) String() string { 1514 return protoimpl.X.MessageStringOf(x) 1515 } 1516 1517 func (*DerivativeLimitOrderbookV2) ProtoMessage() {} 1518 1519 func (x *DerivativeLimitOrderbookV2) ProtoReflect() protoreflect.Message { 1520 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[19] 1521 if protoimpl.UnsafeEnabled && x != nil { 1522 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1523 if ms.LoadMessageInfo() == nil { 1524 ms.StoreMessageInfo(mi) 1525 } 1526 return ms 1527 } 1528 return mi.MessageOf(x) 1529 } 1530 1531 // Deprecated: Use DerivativeLimitOrderbookV2.ProtoReflect.Descriptor instead. 1532 func (*DerivativeLimitOrderbookV2) Descriptor() ([]byte, []int) { 1533 return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{19} 1534 } 1535 1536 func (x *DerivativeLimitOrderbookV2) GetBuys() []*PriceLevel { 1537 if x != nil { 1538 return x.Buys 1539 } 1540 return nil 1541 } 1542 1543 func (x *DerivativeLimitOrderbookV2) GetSells() []*PriceLevel { 1544 if x != nil { 1545 return x.Sells 1546 } 1547 return nil 1548 } 1549 1550 func (x *DerivativeLimitOrderbookV2) GetSequence() uint64 { 1551 if x != nil { 1552 return x.Sequence 1553 } 1554 return 0 1555 } 1556 1557 func (x *DerivativeLimitOrderbookV2) GetTimestamp() int64 { 1558 if x != nil { 1559 return x.Timestamp 1560 } 1561 return 0 1562 } 1563 1564 type PriceLevel struct { 1565 state protoimpl.MessageState 1566 sizeCache protoimpl.SizeCache 1567 unknownFields protoimpl.UnknownFields 1568 1569 // Price number of the price level. 1570 Price string `protobuf:"bytes,1,opt,name=price,proto3" json:"price,omitempty"` 1571 // Quantity of the price level. 1572 Quantity string `protobuf:"bytes,2,opt,name=quantity,proto3" json:"quantity,omitempty"` 1573 // Price level last updated timestamp in UNIX millis. 1574 Timestamp int64 `protobuf:"zigzag64,3,opt,name=timestamp,proto3" json:"timestamp,omitempty"` 1575 } 1576 1577 func (x *PriceLevel) Reset() { 1578 *x = PriceLevel{} 1579 if protoimpl.UnsafeEnabled { 1580 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[20] 1581 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1582 ms.StoreMessageInfo(mi) 1583 } 1584 } 1585 1586 func (x *PriceLevel) String() string { 1587 return protoimpl.X.MessageStringOf(x) 1588 } 1589 1590 func (*PriceLevel) ProtoMessage() {} 1591 1592 func (x *PriceLevel) ProtoReflect() protoreflect.Message { 1593 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[20] 1594 if protoimpl.UnsafeEnabled && x != nil { 1595 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1596 if ms.LoadMessageInfo() == nil { 1597 ms.StoreMessageInfo(mi) 1598 } 1599 return ms 1600 } 1601 return mi.MessageOf(x) 1602 } 1603 1604 // Deprecated: Use PriceLevel.ProtoReflect.Descriptor instead. 1605 func (*PriceLevel) Descriptor() ([]byte, []int) { 1606 return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{20} 1607 } 1608 1609 func (x *PriceLevel) GetPrice() string { 1610 if x != nil { 1611 return x.Price 1612 } 1613 return "" 1614 } 1615 1616 func (x *PriceLevel) GetQuantity() string { 1617 if x != nil { 1618 return x.Quantity 1619 } 1620 return "" 1621 } 1622 1623 func (x *PriceLevel) GetTimestamp() int64 { 1624 if x != nil { 1625 return x.Timestamp 1626 } 1627 return 0 1628 } 1629 1630 type OrderbooksV2Request struct { 1631 state protoimpl.MessageState 1632 sizeCache protoimpl.SizeCache 1633 unknownFields protoimpl.UnknownFields 1634 1635 // MarketIds of the markets 1636 MarketIds []string `protobuf:"bytes,1,rep,name=market_ids,json=marketIds,proto3" json:"market_ids,omitempty"` 1637 } 1638 1639 func (x *OrderbooksV2Request) Reset() { 1640 *x = OrderbooksV2Request{} 1641 if protoimpl.UnsafeEnabled { 1642 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[21] 1643 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1644 ms.StoreMessageInfo(mi) 1645 } 1646 } 1647 1648 func (x *OrderbooksV2Request) String() string { 1649 return protoimpl.X.MessageStringOf(x) 1650 } 1651 1652 func (*OrderbooksV2Request) ProtoMessage() {} 1653 1654 func (x *OrderbooksV2Request) ProtoReflect() protoreflect.Message { 1655 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[21] 1656 if protoimpl.UnsafeEnabled && x != nil { 1657 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1658 if ms.LoadMessageInfo() == nil { 1659 ms.StoreMessageInfo(mi) 1660 } 1661 return ms 1662 } 1663 return mi.MessageOf(x) 1664 } 1665 1666 // Deprecated: Use OrderbooksV2Request.ProtoReflect.Descriptor instead. 1667 func (*OrderbooksV2Request) Descriptor() ([]byte, []int) { 1668 return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{21} 1669 } 1670 1671 func (x *OrderbooksV2Request) GetMarketIds() []string { 1672 if x != nil { 1673 return x.MarketIds 1674 } 1675 return nil 1676 } 1677 1678 type OrderbooksV2Response struct { 1679 state protoimpl.MessageState 1680 sizeCache protoimpl.SizeCache 1681 unknownFields protoimpl.UnknownFields 1682 1683 Orderbooks []*SingleDerivativeLimitOrderbookV2 `protobuf:"bytes,1,rep,name=orderbooks,proto3" json:"orderbooks,omitempty"` 1684 } 1685 1686 func (x *OrderbooksV2Response) Reset() { 1687 *x = OrderbooksV2Response{} 1688 if protoimpl.UnsafeEnabled { 1689 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[22] 1690 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1691 ms.StoreMessageInfo(mi) 1692 } 1693 } 1694 1695 func (x *OrderbooksV2Response) String() string { 1696 return protoimpl.X.MessageStringOf(x) 1697 } 1698 1699 func (*OrderbooksV2Response) ProtoMessage() {} 1700 1701 func (x *OrderbooksV2Response) ProtoReflect() protoreflect.Message { 1702 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[22] 1703 if protoimpl.UnsafeEnabled && x != nil { 1704 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1705 if ms.LoadMessageInfo() == nil { 1706 ms.StoreMessageInfo(mi) 1707 } 1708 return ms 1709 } 1710 return mi.MessageOf(x) 1711 } 1712 1713 // Deprecated: Use OrderbooksV2Response.ProtoReflect.Descriptor instead. 1714 func (*OrderbooksV2Response) Descriptor() ([]byte, []int) { 1715 return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{22} 1716 } 1717 1718 func (x *OrderbooksV2Response) GetOrderbooks() []*SingleDerivativeLimitOrderbookV2 { 1719 if x != nil { 1720 return x.Orderbooks 1721 } 1722 return nil 1723 } 1724 1725 type SingleDerivativeLimitOrderbookV2 struct { 1726 state protoimpl.MessageState 1727 sizeCache protoimpl.SizeCache 1728 unknownFields protoimpl.UnknownFields 1729 1730 // market's ID 1731 MarketId string `protobuf:"bytes,1,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` 1732 // Orderbook of the market 1733 Orderbook *DerivativeLimitOrderbookV2 `protobuf:"bytes,2,opt,name=orderbook,proto3" json:"orderbook,omitempty"` 1734 } 1735 1736 func (x *SingleDerivativeLimitOrderbookV2) Reset() { 1737 *x = SingleDerivativeLimitOrderbookV2{} 1738 if protoimpl.UnsafeEnabled { 1739 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[23] 1740 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1741 ms.StoreMessageInfo(mi) 1742 } 1743 } 1744 1745 func (x *SingleDerivativeLimitOrderbookV2) String() string { 1746 return protoimpl.X.MessageStringOf(x) 1747 } 1748 1749 func (*SingleDerivativeLimitOrderbookV2) ProtoMessage() {} 1750 1751 func (x *SingleDerivativeLimitOrderbookV2) ProtoReflect() protoreflect.Message { 1752 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[23] 1753 if protoimpl.UnsafeEnabled && x != nil { 1754 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1755 if ms.LoadMessageInfo() == nil { 1756 ms.StoreMessageInfo(mi) 1757 } 1758 return ms 1759 } 1760 return mi.MessageOf(x) 1761 } 1762 1763 // Deprecated: Use SingleDerivativeLimitOrderbookV2.ProtoReflect.Descriptor instead. 1764 func (*SingleDerivativeLimitOrderbookV2) Descriptor() ([]byte, []int) { 1765 return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{23} 1766 } 1767 1768 func (x *SingleDerivativeLimitOrderbookV2) GetMarketId() string { 1769 if x != nil { 1770 return x.MarketId 1771 } 1772 return "" 1773 } 1774 1775 func (x *SingleDerivativeLimitOrderbookV2) GetOrderbook() *DerivativeLimitOrderbookV2 { 1776 if x != nil { 1777 return x.Orderbook 1778 } 1779 return nil 1780 } 1781 1782 type StreamOrderbookV2Request struct { 1783 state protoimpl.MessageState 1784 sizeCache protoimpl.SizeCache 1785 unknownFields protoimpl.UnknownFields 1786 1787 // List of market IDs for orderbook streaming, empty means 'ALL' derivative 1788 // markets 1789 MarketIds []string `protobuf:"bytes,1,rep,name=market_ids,json=marketIds,proto3" json:"market_ids,omitempty"` 1790 } 1791 1792 func (x *StreamOrderbookV2Request) Reset() { 1793 *x = StreamOrderbookV2Request{} 1794 if protoimpl.UnsafeEnabled { 1795 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[24] 1796 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1797 ms.StoreMessageInfo(mi) 1798 } 1799 } 1800 1801 func (x *StreamOrderbookV2Request) String() string { 1802 return protoimpl.X.MessageStringOf(x) 1803 } 1804 1805 func (*StreamOrderbookV2Request) ProtoMessage() {} 1806 1807 func (x *StreamOrderbookV2Request) ProtoReflect() protoreflect.Message { 1808 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[24] 1809 if protoimpl.UnsafeEnabled && x != nil { 1810 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1811 if ms.LoadMessageInfo() == nil { 1812 ms.StoreMessageInfo(mi) 1813 } 1814 return ms 1815 } 1816 return mi.MessageOf(x) 1817 } 1818 1819 // Deprecated: Use StreamOrderbookV2Request.ProtoReflect.Descriptor instead. 1820 func (*StreamOrderbookV2Request) Descriptor() ([]byte, []int) { 1821 return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{24} 1822 } 1823 1824 func (x *StreamOrderbookV2Request) GetMarketIds() []string { 1825 if x != nil { 1826 return x.MarketIds 1827 } 1828 return nil 1829 } 1830 1831 type StreamOrderbookV2Response struct { 1832 state protoimpl.MessageState 1833 sizeCache protoimpl.SizeCache 1834 unknownFields protoimpl.UnknownFields 1835 1836 // Orderbook of a Derivative Market 1837 Orderbook *DerivativeLimitOrderbookV2 `protobuf:"bytes,1,opt,name=orderbook,proto3" json:"orderbook,omitempty"` 1838 // Order update type 1839 OperationType string `protobuf:"bytes,2,opt,name=operation_type,json=operationType,proto3" json:"operation_type,omitempty"` 1840 // Operation timestamp in UNIX millis. 1841 Timestamp int64 `protobuf:"zigzag64,3,opt,name=timestamp,proto3" json:"timestamp,omitempty"` 1842 // MarketId of the market's orderbook 1843 MarketId string `protobuf:"bytes,4,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` 1844 } 1845 1846 func (x *StreamOrderbookV2Response) Reset() { 1847 *x = StreamOrderbookV2Response{} 1848 if protoimpl.UnsafeEnabled { 1849 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[25] 1850 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1851 ms.StoreMessageInfo(mi) 1852 } 1853 } 1854 1855 func (x *StreamOrderbookV2Response) String() string { 1856 return protoimpl.X.MessageStringOf(x) 1857 } 1858 1859 func (*StreamOrderbookV2Response) ProtoMessage() {} 1860 1861 func (x *StreamOrderbookV2Response) ProtoReflect() protoreflect.Message { 1862 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[25] 1863 if protoimpl.UnsafeEnabled && x != nil { 1864 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1865 if ms.LoadMessageInfo() == nil { 1866 ms.StoreMessageInfo(mi) 1867 } 1868 return ms 1869 } 1870 return mi.MessageOf(x) 1871 } 1872 1873 // Deprecated: Use StreamOrderbookV2Response.ProtoReflect.Descriptor instead. 1874 func (*StreamOrderbookV2Response) Descriptor() ([]byte, []int) { 1875 return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{25} 1876 } 1877 1878 func (x *StreamOrderbookV2Response) GetOrderbook() *DerivativeLimitOrderbookV2 { 1879 if x != nil { 1880 return x.Orderbook 1881 } 1882 return nil 1883 } 1884 1885 func (x *StreamOrderbookV2Response) GetOperationType() string { 1886 if x != nil { 1887 return x.OperationType 1888 } 1889 return "" 1890 } 1891 1892 func (x *StreamOrderbookV2Response) GetTimestamp() int64 { 1893 if x != nil { 1894 return x.Timestamp 1895 } 1896 return 0 1897 } 1898 1899 func (x *StreamOrderbookV2Response) GetMarketId() string { 1900 if x != nil { 1901 return x.MarketId 1902 } 1903 return "" 1904 } 1905 1906 type StreamOrderbookUpdateRequest struct { 1907 state protoimpl.MessageState 1908 sizeCache protoimpl.SizeCache 1909 unknownFields protoimpl.UnknownFields 1910 1911 // List of market IDs for orderbook streaming, empty means 'ALL' derivative 1912 // markets 1913 MarketIds []string `protobuf:"bytes,1,rep,name=market_ids,json=marketIds,proto3" json:"market_ids,omitempty"` 1914 } 1915 1916 func (x *StreamOrderbookUpdateRequest) Reset() { 1917 *x = StreamOrderbookUpdateRequest{} 1918 if protoimpl.UnsafeEnabled { 1919 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[26] 1920 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1921 ms.StoreMessageInfo(mi) 1922 } 1923 } 1924 1925 func (x *StreamOrderbookUpdateRequest) String() string { 1926 return protoimpl.X.MessageStringOf(x) 1927 } 1928 1929 func (*StreamOrderbookUpdateRequest) ProtoMessage() {} 1930 1931 func (x *StreamOrderbookUpdateRequest) ProtoReflect() protoreflect.Message { 1932 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[26] 1933 if protoimpl.UnsafeEnabled && x != nil { 1934 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1935 if ms.LoadMessageInfo() == nil { 1936 ms.StoreMessageInfo(mi) 1937 } 1938 return ms 1939 } 1940 return mi.MessageOf(x) 1941 } 1942 1943 // Deprecated: Use StreamOrderbookUpdateRequest.ProtoReflect.Descriptor instead. 1944 func (*StreamOrderbookUpdateRequest) Descriptor() ([]byte, []int) { 1945 return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{26} 1946 } 1947 1948 func (x *StreamOrderbookUpdateRequest) GetMarketIds() []string { 1949 if x != nil { 1950 return x.MarketIds 1951 } 1952 return nil 1953 } 1954 1955 type StreamOrderbookUpdateResponse struct { 1956 state protoimpl.MessageState 1957 sizeCache protoimpl.SizeCache 1958 unknownFields protoimpl.UnknownFields 1959 1960 // Orderbook level updates of a Derivative Market 1961 OrderbookLevelUpdates *OrderbookLevelUpdates `protobuf:"bytes,1,opt,name=orderbook_level_updates,json=orderbookLevelUpdates,proto3" json:"orderbook_level_updates,omitempty"` 1962 // Order update type 1963 OperationType string `protobuf:"bytes,2,opt,name=operation_type,json=operationType,proto3" json:"operation_type,omitempty"` 1964 // Operation timestamp in UNIX millis. 1965 Timestamp int64 `protobuf:"zigzag64,3,opt,name=timestamp,proto3" json:"timestamp,omitempty"` 1966 // MarketId of the market's orderbook 1967 MarketId string `protobuf:"bytes,4,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` 1968 } 1969 1970 func (x *StreamOrderbookUpdateResponse) Reset() { 1971 *x = StreamOrderbookUpdateResponse{} 1972 if protoimpl.UnsafeEnabled { 1973 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[27] 1974 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1975 ms.StoreMessageInfo(mi) 1976 } 1977 } 1978 1979 func (x *StreamOrderbookUpdateResponse) String() string { 1980 return protoimpl.X.MessageStringOf(x) 1981 } 1982 1983 func (*StreamOrderbookUpdateResponse) ProtoMessage() {} 1984 1985 func (x *StreamOrderbookUpdateResponse) ProtoReflect() protoreflect.Message { 1986 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[27] 1987 if protoimpl.UnsafeEnabled && x != nil { 1988 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1989 if ms.LoadMessageInfo() == nil { 1990 ms.StoreMessageInfo(mi) 1991 } 1992 return ms 1993 } 1994 return mi.MessageOf(x) 1995 } 1996 1997 // Deprecated: Use StreamOrderbookUpdateResponse.ProtoReflect.Descriptor instead. 1998 func (*StreamOrderbookUpdateResponse) Descriptor() ([]byte, []int) { 1999 return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{27} 2000 } 2001 2002 func (x *StreamOrderbookUpdateResponse) GetOrderbookLevelUpdates() *OrderbookLevelUpdates { 2003 if x != nil { 2004 return x.OrderbookLevelUpdates 2005 } 2006 return nil 2007 } 2008 2009 func (x *StreamOrderbookUpdateResponse) GetOperationType() string { 2010 if x != nil { 2011 return x.OperationType 2012 } 2013 return "" 2014 } 2015 2016 func (x *StreamOrderbookUpdateResponse) GetTimestamp() int64 { 2017 if x != nil { 2018 return x.Timestamp 2019 } 2020 return 0 2021 } 2022 2023 func (x *StreamOrderbookUpdateResponse) GetMarketId() string { 2024 if x != nil { 2025 return x.MarketId 2026 } 2027 return "" 2028 } 2029 2030 type OrderbookLevelUpdates struct { 2031 state protoimpl.MessageState 2032 sizeCache protoimpl.SizeCache 2033 unknownFields protoimpl.UnknownFields 2034 2035 // market's ID 2036 MarketId string `protobuf:"bytes,1,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` 2037 // orderbook update sequence 2038 Sequence uint64 `protobuf:"varint,2,opt,name=sequence,proto3" json:"sequence,omitempty"` 2039 // buy levels 2040 Buys []*PriceLevelUpdate `protobuf:"bytes,3,rep,name=buys,proto3" json:"buys,omitempty"` 2041 // sell levels 2042 Sells []*PriceLevelUpdate `protobuf:"bytes,4,rep,name=sells,proto3" json:"sells,omitempty"` 2043 // updates timestamp 2044 UpdatedAt int64 `protobuf:"zigzag64,5,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` 2045 } 2046 2047 func (x *OrderbookLevelUpdates) Reset() { 2048 *x = OrderbookLevelUpdates{} 2049 if protoimpl.UnsafeEnabled { 2050 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[28] 2051 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2052 ms.StoreMessageInfo(mi) 2053 } 2054 } 2055 2056 func (x *OrderbookLevelUpdates) String() string { 2057 return protoimpl.X.MessageStringOf(x) 2058 } 2059 2060 func (*OrderbookLevelUpdates) ProtoMessage() {} 2061 2062 func (x *OrderbookLevelUpdates) ProtoReflect() protoreflect.Message { 2063 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[28] 2064 if protoimpl.UnsafeEnabled && x != nil { 2065 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2066 if ms.LoadMessageInfo() == nil { 2067 ms.StoreMessageInfo(mi) 2068 } 2069 return ms 2070 } 2071 return mi.MessageOf(x) 2072 } 2073 2074 // Deprecated: Use OrderbookLevelUpdates.ProtoReflect.Descriptor instead. 2075 func (*OrderbookLevelUpdates) Descriptor() ([]byte, []int) { 2076 return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{28} 2077 } 2078 2079 func (x *OrderbookLevelUpdates) GetMarketId() string { 2080 if x != nil { 2081 return x.MarketId 2082 } 2083 return "" 2084 } 2085 2086 func (x *OrderbookLevelUpdates) GetSequence() uint64 { 2087 if x != nil { 2088 return x.Sequence 2089 } 2090 return 0 2091 } 2092 2093 func (x *OrderbookLevelUpdates) GetBuys() []*PriceLevelUpdate { 2094 if x != nil { 2095 return x.Buys 2096 } 2097 return nil 2098 } 2099 2100 func (x *OrderbookLevelUpdates) GetSells() []*PriceLevelUpdate { 2101 if x != nil { 2102 return x.Sells 2103 } 2104 return nil 2105 } 2106 2107 func (x *OrderbookLevelUpdates) GetUpdatedAt() int64 { 2108 if x != nil { 2109 return x.UpdatedAt 2110 } 2111 return 0 2112 } 2113 2114 type PriceLevelUpdate struct { 2115 state protoimpl.MessageState 2116 sizeCache protoimpl.SizeCache 2117 unknownFields protoimpl.UnknownFields 2118 2119 // Price number of the price level. 2120 Price string `protobuf:"bytes,1,opt,name=price,proto3" json:"price,omitempty"` 2121 // Quantity of the price level. 2122 Quantity string `protobuf:"bytes,2,opt,name=quantity,proto3" json:"quantity,omitempty"` 2123 // Price level status. 2124 IsActive bool `protobuf:"varint,3,opt,name=is_active,json=isActive,proto3" json:"is_active,omitempty"` 2125 // Price level last updated timestamp in UNIX millis. 2126 Timestamp int64 `protobuf:"zigzag64,4,opt,name=timestamp,proto3" json:"timestamp,omitempty"` 2127 } 2128 2129 func (x *PriceLevelUpdate) Reset() { 2130 *x = PriceLevelUpdate{} 2131 if protoimpl.UnsafeEnabled { 2132 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[29] 2133 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2134 ms.StoreMessageInfo(mi) 2135 } 2136 } 2137 2138 func (x *PriceLevelUpdate) String() string { 2139 return protoimpl.X.MessageStringOf(x) 2140 } 2141 2142 func (*PriceLevelUpdate) ProtoMessage() {} 2143 2144 func (x *PriceLevelUpdate) ProtoReflect() protoreflect.Message { 2145 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[29] 2146 if protoimpl.UnsafeEnabled && x != nil { 2147 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2148 if ms.LoadMessageInfo() == nil { 2149 ms.StoreMessageInfo(mi) 2150 } 2151 return ms 2152 } 2153 return mi.MessageOf(x) 2154 } 2155 2156 // Deprecated: Use PriceLevelUpdate.ProtoReflect.Descriptor instead. 2157 func (*PriceLevelUpdate) Descriptor() ([]byte, []int) { 2158 return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{29} 2159 } 2160 2161 func (x *PriceLevelUpdate) GetPrice() string { 2162 if x != nil { 2163 return x.Price 2164 } 2165 return "" 2166 } 2167 2168 func (x *PriceLevelUpdate) GetQuantity() string { 2169 if x != nil { 2170 return x.Quantity 2171 } 2172 return "" 2173 } 2174 2175 func (x *PriceLevelUpdate) GetIsActive() bool { 2176 if x != nil { 2177 return x.IsActive 2178 } 2179 return false 2180 } 2181 2182 func (x *PriceLevelUpdate) GetTimestamp() int64 { 2183 if x != nil { 2184 return x.Timestamp 2185 } 2186 return 0 2187 } 2188 2189 type OrdersRequest struct { 2190 state protoimpl.MessageState 2191 sizeCache protoimpl.SizeCache 2192 unknownFields protoimpl.UnknownFields 2193 2194 // MarketId of market we want to fetch orders from. Using this field for one 2195 // single marketId 2196 MarketId string `protobuf:"bytes,1,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` 2197 // Look for specific order side 2198 OrderSide string `protobuf:"bytes,2,opt,name=order_side,json=orderSide,proto3" json:"order_side,omitempty"` 2199 // Look for specific subaccountId of an order 2200 SubaccountId string `protobuf:"bytes,3,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` 2201 // Skip will skip the first n item from the result 2202 Skip uint64 `protobuf:"varint,4,opt,name=skip,proto3" json:"skip,omitempty"` 2203 // Limit is used to specify the maximum number of items to be returned 2204 Limit int32 `protobuf:"zigzag32,5,opt,name=limit,proto3" json:"limit,omitempty"` 2205 // The starting timestamp in UNIX milliseconds that the trades must be equal or 2206 // older than 2207 StartTime int64 `protobuf:"zigzag64,6,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` 2208 // The ending timestamp in UNIX milliseconds that the trades must be equal or 2209 // younger than 2210 EndTime int64 `protobuf:"zigzag64,7,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` 2211 // MarketIds of the markets of which we want to get order from, use this field 2212 // for fetching orders from multiple markets 2213 MarketIds []string `protobuf:"bytes,8,rep,name=market_ids,json=marketIds,proto3" json:"market_ids,omitempty"` 2214 // Only search for conditional/non-conditional orders 2215 IsConditional string `protobuf:"bytes,9,opt,name=is_conditional,json=isConditional,proto3" json:"is_conditional,omitempty"` 2216 // Search for specific order type 2217 OrderType string `protobuf:"bytes,10,opt,name=order_type,json=orderType,proto3" json:"order_type,omitempty"` 2218 // Should include inactive orders 2219 IncludeInactive bool `protobuf:"varint,11,opt,name=include_inactive,json=includeInactive,proto3" json:"include_inactive,omitempty"` 2220 // Choose to return subaccount total orders 2221 SubaccountTotalOrders bool `protobuf:"varint,12,opt,name=subaccount_total_orders,json=subaccountTotalOrders,proto3" json:"subaccount_total_orders,omitempty"` 2222 // TradeId of the order we want to fetch 2223 TradeId string `protobuf:"bytes,13,opt,name=trade_id,json=tradeId,proto3" json:"trade_id,omitempty"` 2224 // Client order ID 2225 Cid string `protobuf:"bytes,14,opt,name=cid,proto3" json:"cid,omitempty"` 2226 } 2227 2228 func (x *OrdersRequest) Reset() { 2229 *x = OrdersRequest{} 2230 if protoimpl.UnsafeEnabled { 2231 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[30] 2232 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2233 ms.StoreMessageInfo(mi) 2234 } 2235 } 2236 2237 func (x *OrdersRequest) String() string { 2238 return protoimpl.X.MessageStringOf(x) 2239 } 2240 2241 func (*OrdersRequest) ProtoMessage() {} 2242 2243 func (x *OrdersRequest) ProtoReflect() protoreflect.Message { 2244 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[30] 2245 if protoimpl.UnsafeEnabled && x != nil { 2246 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2247 if ms.LoadMessageInfo() == nil { 2248 ms.StoreMessageInfo(mi) 2249 } 2250 return ms 2251 } 2252 return mi.MessageOf(x) 2253 } 2254 2255 // Deprecated: Use OrdersRequest.ProtoReflect.Descriptor instead. 2256 func (*OrdersRequest) Descriptor() ([]byte, []int) { 2257 return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{30} 2258 } 2259 2260 func (x *OrdersRequest) GetMarketId() string { 2261 if x != nil { 2262 return x.MarketId 2263 } 2264 return "" 2265 } 2266 2267 func (x *OrdersRequest) GetOrderSide() string { 2268 if x != nil { 2269 return x.OrderSide 2270 } 2271 return "" 2272 } 2273 2274 func (x *OrdersRequest) GetSubaccountId() string { 2275 if x != nil { 2276 return x.SubaccountId 2277 } 2278 return "" 2279 } 2280 2281 func (x *OrdersRequest) GetSkip() uint64 { 2282 if x != nil { 2283 return x.Skip 2284 } 2285 return 0 2286 } 2287 2288 func (x *OrdersRequest) GetLimit() int32 { 2289 if x != nil { 2290 return x.Limit 2291 } 2292 return 0 2293 } 2294 2295 func (x *OrdersRequest) GetStartTime() int64 { 2296 if x != nil { 2297 return x.StartTime 2298 } 2299 return 0 2300 } 2301 2302 func (x *OrdersRequest) GetEndTime() int64 { 2303 if x != nil { 2304 return x.EndTime 2305 } 2306 return 0 2307 } 2308 2309 func (x *OrdersRequest) GetMarketIds() []string { 2310 if x != nil { 2311 return x.MarketIds 2312 } 2313 return nil 2314 } 2315 2316 func (x *OrdersRequest) GetIsConditional() string { 2317 if x != nil { 2318 return x.IsConditional 2319 } 2320 return "" 2321 } 2322 2323 func (x *OrdersRequest) GetOrderType() string { 2324 if x != nil { 2325 return x.OrderType 2326 } 2327 return "" 2328 } 2329 2330 func (x *OrdersRequest) GetIncludeInactive() bool { 2331 if x != nil { 2332 return x.IncludeInactive 2333 } 2334 return false 2335 } 2336 2337 func (x *OrdersRequest) GetSubaccountTotalOrders() bool { 2338 if x != nil { 2339 return x.SubaccountTotalOrders 2340 } 2341 return false 2342 } 2343 2344 func (x *OrdersRequest) GetTradeId() string { 2345 if x != nil { 2346 return x.TradeId 2347 } 2348 return "" 2349 } 2350 2351 func (x *OrdersRequest) GetCid() string { 2352 if x != nil { 2353 return x.Cid 2354 } 2355 return "" 2356 } 2357 2358 type OrdersResponse struct { 2359 state protoimpl.MessageState 2360 sizeCache protoimpl.SizeCache 2361 unknownFields protoimpl.UnknownFields 2362 2363 Orders []*DerivativeLimitOrder `protobuf:"bytes,1,rep,name=orders,proto3" json:"orders,omitempty"` 2364 Paging *Paging `protobuf:"bytes,2,opt,name=paging,proto3" json:"paging,omitempty"` 2365 } 2366 2367 func (x *OrdersResponse) Reset() { 2368 *x = OrdersResponse{} 2369 if protoimpl.UnsafeEnabled { 2370 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[31] 2371 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2372 ms.StoreMessageInfo(mi) 2373 } 2374 } 2375 2376 func (x *OrdersResponse) String() string { 2377 return protoimpl.X.MessageStringOf(x) 2378 } 2379 2380 func (*OrdersResponse) ProtoMessage() {} 2381 2382 func (x *OrdersResponse) ProtoReflect() protoreflect.Message { 2383 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[31] 2384 if protoimpl.UnsafeEnabled && x != nil { 2385 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2386 if ms.LoadMessageInfo() == nil { 2387 ms.StoreMessageInfo(mi) 2388 } 2389 return ms 2390 } 2391 return mi.MessageOf(x) 2392 } 2393 2394 // Deprecated: Use OrdersResponse.ProtoReflect.Descriptor instead. 2395 func (*OrdersResponse) Descriptor() ([]byte, []int) { 2396 return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{31} 2397 } 2398 2399 func (x *OrdersResponse) GetOrders() []*DerivativeLimitOrder { 2400 if x != nil { 2401 return x.Orders 2402 } 2403 return nil 2404 } 2405 2406 func (x *OrdersResponse) GetPaging() *Paging { 2407 if x != nil { 2408 return x.Paging 2409 } 2410 return nil 2411 } 2412 2413 type DerivativeLimitOrder struct { 2414 state protoimpl.MessageState 2415 sizeCache protoimpl.SizeCache 2416 unknownFields protoimpl.UnknownFields 2417 2418 // Hash of the order 2419 OrderHash string `protobuf:"bytes,1,opt,name=order_hash,json=orderHash,proto3" json:"order_hash,omitempty"` 2420 // The side of the order 2421 OrderSide string `protobuf:"bytes,2,opt,name=order_side,json=orderSide,proto3" json:"order_side,omitempty"` 2422 // Derivative Market ID 2423 MarketId string `protobuf:"bytes,3,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` 2424 // The subaccountId that this order belongs to 2425 SubaccountId string `protobuf:"bytes,4,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` 2426 // True if the order is a reduce-only order 2427 IsReduceOnly bool `protobuf:"varint,5,opt,name=is_reduce_only,json=isReduceOnly,proto3" json:"is_reduce_only,omitempty"` 2428 // Margin of the order 2429 Margin string `protobuf:"bytes,6,opt,name=margin,proto3" json:"margin,omitempty"` 2430 // Price of the order 2431 Price string `protobuf:"bytes,7,opt,name=price,proto3" json:"price,omitempty"` 2432 // Quantity of the order 2433 Quantity string `protobuf:"bytes,8,opt,name=quantity,proto3" json:"quantity,omitempty"` 2434 // The amount of the quantity remaining unfilled 2435 UnfilledQuantity string `protobuf:"bytes,9,opt,name=unfilled_quantity,json=unfilledQuantity,proto3" json:"unfilled_quantity,omitempty"` 2436 // Trigger price is the trigger price used by stop/take orders 2437 TriggerPrice string `protobuf:"bytes,10,opt,name=trigger_price,json=triggerPrice,proto3" json:"trigger_price,omitempty"` 2438 // Fee recipient address 2439 FeeRecipient string `protobuf:"bytes,11,opt,name=fee_recipient,json=feeRecipient,proto3" json:"fee_recipient,omitempty"` 2440 // Order state 2441 State string `protobuf:"bytes,12,opt,name=state,proto3" json:"state,omitempty"` 2442 // Order committed timestamp in UNIX millis. 2443 CreatedAt int64 `protobuf:"zigzag64,13,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` 2444 // Order updated timestamp in UNIX millis. 2445 UpdatedAt int64 `protobuf:"zigzag64,14,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` 2446 // Order number of subaccount 2447 OrderNumber int64 `protobuf:"zigzag64,15,opt,name=order_number,json=orderNumber,proto3" json:"order_number,omitempty"` 2448 // Order type 2449 OrderType string `protobuf:"bytes,16,opt,name=order_type,json=orderType,proto3" json:"order_type,omitempty"` 2450 // Order type 2451 IsConditional bool `protobuf:"varint,17,opt,name=is_conditional,json=isConditional,proto3" json:"is_conditional,omitempty"` 2452 // Trigger timestamp, only exists for conditional orders 2453 TriggerAt uint64 `protobuf:"varint,18,opt,name=trigger_at,json=triggerAt,proto3" json:"trigger_at,omitempty"` 2454 // OrderHash of order that is triggered by this conditional order 2455 PlacedOrderHash string `protobuf:"bytes,19,opt,name=placed_order_hash,json=placedOrderHash,proto3" json:"placed_order_hash,omitempty"` 2456 // Execution type of conditional order 2457 ExecutionType string `protobuf:"bytes,20,opt,name=execution_type,json=executionType,proto3" json:"execution_type,omitempty"` 2458 // Transaction Hash where order is created. Not all orders have this field 2459 TxHash string `protobuf:"bytes,21,opt,name=tx_hash,json=txHash,proto3" json:"tx_hash,omitempty"` 2460 // Custom client order ID 2461 Cid string `protobuf:"bytes,22,opt,name=cid,proto3" json:"cid,omitempty"` 2462 } 2463 2464 func (x *DerivativeLimitOrder) Reset() { 2465 *x = DerivativeLimitOrder{} 2466 if protoimpl.UnsafeEnabled { 2467 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[32] 2468 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2469 ms.StoreMessageInfo(mi) 2470 } 2471 } 2472 2473 func (x *DerivativeLimitOrder) String() string { 2474 return protoimpl.X.MessageStringOf(x) 2475 } 2476 2477 func (*DerivativeLimitOrder) ProtoMessage() {} 2478 2479 func (x *DerivativeLimitOrder) ProtoReflect() protoreflect.Message { 2480 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[32] 2481 if protoimpl.UnsafeEnabled && x != nil { 2482 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2483 if ms.LoadMessageInfo() == nil { 2484 ms.StoreMessageInfo(mi) 2485 } 2486 return ms 2487 } 2488 return mi.MessageOf(x) 2489 } 2490 2491 // Deprecated: Use DerivativeLimitOrder.ProtoReflect.Descriptor instead. 2492 func (*DerivativeLimitOrder) Descriptor() ([]byte, []int) { 2493 return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{32} 2494 } 2495 2496 func (x *DerivativeLimitOrder) GetOrderHash() string { 2497 if x != nil { 2498 return x.OrderHash 2499 } 2500 return "" 2501 } 2502 2503 func (x *DerivativeLimitOrder) GetOrderSide() string { 2504 if x != nil { 2505 return x.OrderSide 2506 } 2507 return "" 2508 } 2509 2510 func (x *DerivativeLimitOrder) GetMarketId() string { 2511 if x != nil { 2512 return x.MarketId 2513 } 2514 return "" 2515 } 2516 2517 func (x *DerivativeLimitOrder) GetSubaccountId() string { 2518 if x != nil { 2519 return x.SubaccountId 2520 } 2521 return "" 2522 } 2523 2524 func (x *DerivativeLimitOrder) GetIsReduceOnly() bool { 2525 if x != nil { 2526 return x.IsReduceOnly 2527 } 2528 return false 2529 } 2530 2531 func (x *DerivativeLimitOrder) GetMargin() string { 2532 if x != nil { 2533 return x.Margin 2534 } 2535 return "" 2536 } 2537 2538 func (x *DerivativeLimitOrder) GetPrice() string { 2539 if x != nil { 2540 return x.Price 2541 } 2542 return "" 2543 } 2544 2545 func (x *DerivativeLimitOrder) GetQuantity() string { 2546 if x != nil { 2547 return x.Quantity 2548 } 2549 return "" 2550 } 2551 2552 func (x *DerivativeLimitOrder) GetUnfilledQuantity() string { 2553 if x != nil { 2554 return x.UnfilledQuantity 2555 } 2556 return "" 2557 } 2558 2559 func (x *DerivativeLimitOrder) GetTriggerPrice() string { 2560 if x != nil { 2561 return x.TriggerPrice 2562 } 2563 return "" 2564 } 2565 2566 func (x *DerivativeLimitOrder) GetFeeRecipient() string { 2567 if x != nil { 2568 return x.FeeRecipient 2569 } 2570 return "" 2571 } 2572 2573 func (x *DerivativeLimitOrder) GetState() string { 2574 if x != nil { 2575 return x.State 2576 } 2577 return "" 2578 } 2579 2580 func (x *DerivativeLimitOrder) GetCreatedAt() int64 { 2581 if x != nil { 2582 return x.CreatedAt 2583 } 2584 return 0 2585 } 2586 2587 func (x *DerivativeLimitOrder) GetUpdatedAt() int64 { 2588 if x != nil { 2589 return x.UpdatedAt 2590 } 2591 return 0 2592 } 2593 2594 func (x *DerivativeLimitOrder) GetOrderNumber() int64 { 2595 if x != nil { 2596 return x.OrderNumber 2597 } 2598 return 0 2599 } 2600 2601 func (x *DerivativeLimitOrder) GetOrderType() string { 2602 if x != nil { 2603 return x.OrderType 2604 } 2605 return "" 2606 } 2607 2608 func (x *DerivativeLimitOrder) GetIsConditional() bool { 2609 if x != nil { 2610 return x.IsConditional 2611 } 2612 return false 2613 } 2614 2615 func (x *DerivativeLimitOrder) GetTriggerAt() uint64 { 2616 if x != nil { 2617 return x.TriggerAt 2618 } 2619 return 0 2620 } 2621 2622 func (x *DerivativeLimitOrder) GetPlacedOrderHash() string { 2623 if x != nil { 2624 return x.PlacedOrderHash 2625 } 2626 return "" 2627 } 2628 2629 func (x *DerivativeLimitOrder) GetExecutionType() string { 2630 if x != nil { 2631 return x.ExecutionType 2632 } 2633 return "" 2634 } 2635 2636 func (x *DerivativeLimitOrder) GetTxHash() string { 2637 if x != nil { 2638 return x.TxHash 2639 } 2640 return "" 2641 } 2642 2643 func (x *DerivativeLimitOrder) GetCid() string { 2644 if x != nil { 2645 return x.Cid 2646 } 2647 return "" 2648 } 2649 2650 type PositionsRequest struct { 2651 state protoimpl.MessageState 2652 sizeCache protoimpl.SizeCache 2653 unknownFields protoimpl.UnknownFields 2654 2655 // SubaccountId of the trader we want to get the positions from 2656 SubaccountId string `protobuf:"bytes,1,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` 2657 // MarketId of the position we want to fetch. Use this field for fetching from 2658 // single market 2659 MarketId string `protobuf:"bytes,2,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` 2660 // Skip will skip the first n item from the result 2661 Skip uint64 `protobuf:"varint,3,opt,name=skip,proto3" json:"skip,omitempty"` 2662 // Limit is used to specify the maximum number of items to be returned 2663 Limit int32 `protobuf:"zigzag32,4,opt,name=limit,proto3" json:"limit,omitempty"` 2664 // The starting timestamp in UNIX milliseconds that the trades must be equal or 2665 // older than 2666 StartTime int64 `protobuf:"zigzag64,5,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` 2667 // The ending timestamp in UNIX milliseconds that the trades must be equal or 2668 // younger than 2669 EndTime int64 `protobuf:"zigzag64,6,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` 2670 // MarketIds of the markets we want to filter. Use this field for fetching from 2671 // multiple markets 2672 MarketIds []string `protobuf:"bytes,7,rep,name=market_ids,json=marketIds,proto3" json:"market_ids,omitempty"` 2673 // filter by direction of the position 2674 Direction string `protobuf:"bytes,8,opt,name=direction,proto3" json:"direction,omitempty"` 2675 // set to True to return subaccount total positions 2676 SubaccountTotalPositions bool `protobuf:"varint,9,opt,name=subaccount_total_positions,json=subaccountTotalPositions,proto3" json:"subaccount_total_positions,omitempty"` 2677 // filter by account address 2678 AccountAddress string `protobuf:"bytes,10,opt,name=account_address,json=accountAddress,proto3" json:"account_address,omitempty"` 2679 } 2680 2681 func (x *PositionsRequest) Reset() { 2682 *x = PositionsRequest{} 2683 if protoimpl.UnsafeEnabled { 2684 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[33] 2685 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2686 ms.StoreMessageInfo(mi) 2687 } 2688 } 2689 2690 func (x *PositionsRequest) String() string { 2691 return protoimpl.X.MessageStringOf(x) 2692 } 2693 2694 func (*PositionsRequest) ProtoMessage() {} 2695 2696 func (x *PositionsRequest) ProtoReflect() protoreflect.Message { 2697 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[33] 2698 if protoimpl.UnsafeEnabled && x != nil { 2699 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2700 if ms.LoadMessageInfo() == nil { 2701 ms.StoreMessageInfo(mi) 2702 } 2703 return ms 2704 } 2705 return mi.MessageOf(x) 2706 } 2707 2708 // Deprecated: Use PositionsRequest.ProtoReflect.Descriptor instead. 2709 func (*PositionsRequest) Descriptor() ([]byte, []int) { 2710 return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{33} 2711 } 2712 2713 func (x *PositionsRequest) GetSubaccountId() string { 2714 if x != nil { 2715 return x.SubaccountId 2716 } 2717 return "" 2718 } 2719 2720 func (x *PositionsRequest) GetMarketId() string { 2721 if x != nil { 2722 return x.MarketId 2723 } 2724 return "" 2725 } 2726 2727 func (x *PositionsRequest) GetSkip() uint64 { 2728 if x != nil { 2729 return x.Skip 2730 } 2731 return 0 2732 } 2733 2734 func (x *PositionsRequest) GetLimit() int32 { 2735 if x != nil { 2736 return x.Limit 2737 } 2738 return 0 2739 } 2740 2741 func (x *PositionsRequest) GetStartTime() int64 { 2742 if x != nil { 2743 return x.StartTime 2744 } 2745 return 0 2746 } 2747 2748 func (x *PositionsRequest) GetEndTime() int64 { 2749 if x != nil { 2750 return x.EndTime 2751 } 2752 return 0 2753 } 2754 2755 func (x *PositionsRequest) GetMarketIds() []string { 2756 if x != nil { 2757 return x.MarketIds 2758 } 2759 return nil 2760 } 2761 2762 func (x *PositionsRequest) GetDirection() string { 2763 if x != nil { 2764 return x.Direction 2765 } 2766 return "" 2767 } 2768 2769 func (x *PositionsRequest) GetSubaccountTotalPositions() bool { 2770 if x != nil { 2771 return x.SubaccountTotalPositions 2772 } 2773 return false 2774 } 2775 2776 func (x *PositionsRequest) GetAccountAddress() string { 2777 if x != nil { 2778 return x.AccountAddress 2779 } 2780 return "" 2781 } 2782 2783 type PositionsResponse struct { 2784 state protoimpl.MessageState 2785 sizeCache protoimpl.SizeCache 2786 unknownFields protoimpl.UnknownFields 2787 2788 Positions []*DerivativePosition `protobuf:"bytes,1,rep,name=positions,proto3" json:"positions,omitempty"` 2789 Paging *Paging `protobuf:"bytes,2,opt,name=paging,proto3" json:"paging,omitempty"` 2790 } 2791 2792 func (x *PositionsResponse) Reset() { 2793 *x = PositionsResponse{} 2794 if protoimpl.UnsafeEnabled { 2795 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[34] 2796 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2797 ms.StoreMessageInfo(mi) 2798 } 2799 } 2800 2801 func (x *PositionsResponse) String() string { 2802 return protoimpl.X.MessageStringOf(x) 2803 } 2804 2805 func (*PositionsResponse) ProtoMessage() {} 2806 2807 func (x *PositionsResponse) ProtoReflect() protoreflect.Message { 2808 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[34] 2809 if protoimpl.UnsafeEnabled && x != nil { 2810 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2811 if ms.LoadMessageInfo() == nil { 2812 ms.StoreMessageInfo(mi) 2813 } 2814 return ms 2815 } 2816 return mi.MessageOf(x) 2817 } 2818 2819 // Deprecated: Use PositionsResponse.ProtoReflect.Descriptor instead. 2820 func (*PositionsResponse) Descriptor() ([]byte, []int) { 2821 return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{34} 2822 } 2823 2824 func (x *PositionsResponse) GetPositions() []*DerivativePosition { 2825 if x != nil { 2826 return x.Positions 2827 } 2828 return nil 2829 } 2830 2831 func (x *PositionsResponse) GetPaging() *Paging { 2832 if x != nil { 2833 return x.Paging 2834 } 2835 return nil 2836 } 2837 2838 type DerivativePosition struct { 2839 state protoimpl.MessageState 2840 sizeCache protoimpl.SizeCache 2841 unknownFields protoimpl.UnknownFields 2842 2843 // Ticker of the derivative market 2844 Ticker string `protobuf:"bytes,1,opt,name=ticker,proto3" json:"ticker,omitempty"` 2845 // Derivative Market ID 2846 MarketId string `protobuf:"bytes,2,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` 2847 // The subaccountId that the position belongs to 2848 SubaccountId string `protobuf:"bytes,3,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` 2849 // Direction of the position 2850 Direction string `protobuf:"bytes,4,opt,name=direction,proto3" json:"direction,omitempty"` 2851 // Quantity of the position 2852 Quantity string `protobuf:"bytes,5,opt,name=quantity,proto3" json:"quantity,omitempty"` 2853 // Price of the position 2854 EntryPrice string `protobuf:"bytes,6,opt,name=entry_price,json=entryPrice,proto3" json:"entry_price,omitempty"` 2855 // Margin of the position 2856 Margin string `protobuf:"bytes,7,opt,name=margin,proto3" json:"margin,omitempty"` 2857 // LiquidationPrice of the position 2858 LiquidationPrice string `protobuf:"bytes,8,opt,name=liquidation_price,json=liquidationPrice,proto3" json:"liquidation_price,omitempty"` 2859 // MarkPrice of the position 2860 MarkPrice string `protobuf:"bytes,9,opt,name=mark_price,json=markPrice,proto3" json:"mark_price,omitempty"` 2861 // Aggregate Quantity of the Reduce Only orders associated with the position 2862 AggregateReduceOnlyQuantity string `protobuf:"bytes,11,opt,name=aggregate_reduce_only_quantity,json=aggregateReduceOnlyQuantity,proto3" json:"aggregate_reduce_only_quantity,omitempty"` 2863 // Position updated timestamp in UNIX millis. 2864 UpdatedAt int64 `protobuf:"zigzag64,12,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` 2865 // Position created timestamp in UNIX millis. 2866 CreatedAt int64 `protobuf:"zigzag64,13,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` 2867 } 2868 2869 func (x *DerivativePosition) Reset() { 2870 *x = DerivativePosition{} 2871 if protoimpl.UnsafeEnabled { 2872 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[35] 2873 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2874 ms.StoreMessageInfo(mi) 2875 } 2876 } 2877 2878 func (x *DerivativePosition) String() string { 2879 return protoimpl.X.MessageStringOf(x) 2880 } 2881 2882 func (*DerivativePosition) ProtoMessage() {} 2883 2884 func (x *DerivativePosition) ProtoReflect() protoreflect.Message { 2885 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[35] 2886 if protoimpl.UnsafeEnabled && x != nil { 2887 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2888 if ms.LoadMessageInfo() == nil { 2889 ms.StoreMessageInfo(mi) 2890 } 2891 return ms 2892 } 2893 return mi.MessageOf(x) 2894 } 2895 2896 // Deprecated: Use DerivativePosition.ProtoReflect.Descriptor instead. 2897 func (*DerivativePosition) Descriptor() ([]byte, []int) { 2898 return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{35} 2899 } 2900 2901 func (x *DerivativePosition) GetTicker() string { 2902 if x != nil { 2903 return x.Ticker 2904 } 2905 return "" 2906 } 2907 2908 func (x *DerivativePosition) GetMarketId() string { 2909 if x != nil { 2910 return x.MarketId 2911 } 2912 return "" 2913 } 2914 2915 func (x *DerivativePosition) GetSubaccountId() string { 2916 if x != nil { 2917 return x.SubaccountId 2918 } 2919 return "" 2920 } 2921 2922 func (x *DerivativePosition) GetDirection() string { 2923 if x != nil { 2924 return x.Direction 2925 } 2926 return "" 2927 } 2928 2929 func (x *DerivativePosition) GetQuantity() string { 2930 if x != nil { 2931 return x.Quantity 2932 } 2933 return "" 2934 } 2935 2936 func (x *DerivativePosition) GetEntryPrice() string { 2937 if x != nil { 2938 return x.EntryPrice 2939 } 2940 return "" 2941 } 2942 2943 func (x *DerivativePosition) GetMargin() string { 2944 if x != nil { 2945 return x.Margin 2946 } 2947 return "" 2948 } 2949 2950 func (x *DerivativePosition) GetLiquidationPrice() string { 2951 if x != nil { 2952 return x.LiquidationPrice 2953 } 2954 return "" 2955 } 2956 2957 func (x *DerivativePosition) GetMarkPrice() string { 2958 if x != nil { 2959 return x.MarkPrice 2960 } 2961 return "" 2962 } 2963 2964 func (x *DerivativePosition) GetAggregateReduceOnlyQuantity() string { 2965 if x != nil { 2966 return x.AggregateReduceOnlyQuantity 2967 } 2968 return "" 2969 } 2970 2971 func (x *DerivativePosition) GetUpdatedAt() int64 { 2972 if x != nil { 2973 return x.UpdatedAt 2974 } 2975 return 0 2976 } 2977 2978 func (x *DerivativePosition) GetCreatedAt() int64 { 2979 if x != nil { 2980 return x.CreatedAt 2981 } 2982 return 0 2983 } 2984 2985 type PositionsV2Request struct { 2986 state protoimpl.MessageState 2987 sizeCache protoimpl.SizeCache 2988 unknownFields protoimpl.UnknownFields 2989 2990 // SubaccountId of the trader we want to get the positions from 2991 SubaccountId string `protobuf:"bytes,1,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` 2992 // MarketId of the position we want to fetch. Use this field for fetching from 2993 // single market 2994 MarketId string `protobuf:"bytes,2,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` 2995 // Skip will skip the first n item from the result 2996 Skip uint64 `protobuf:"varint,3,opt,name=skip,proto3" json:"skip,omitempty"` 2997 // Limit is used to specify the maximum number of items to be returned 2998 Limit int32 `protobuf:"zigzag32,4,opt,name=limit,proto3" json:"limit,omitempty"` 2999 // The starting timestamp in UNIX milliseconds that the trades must be equal or 3000 // older than 3001 StartTime int64 `protobuf:"zigzag64,5,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` 3002 // The ending timestamp in UNIX milliseconds that the trades must be equal or 3003 // younger than 3004 EndTime int64 `protobuf:"zigzag64,6,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` 3005 // MarketIds of the markets we want to filter. Use this field for fetching from 3006 // multiple markets 3007 MarketIds []string `protobuf:"bytes,7,rep,name=market_ids,json=marketIds,proto3" json:"market_ids,omitempty"` 3008 // filter by direction of the position 3009 Direction string `protobuf:"bytes,8,opt,name=direction,proto3" json:"direction,omitempty"` 3010 // set to True to return subaccount total positions 3011 SubaccountTotalPositions bool `protobuf:"varint,9,opt,name=subaccount_total_positions,json=subaccountTotalPositions,proto3" json:"subaccount_total_positions,omitempty"` 3012 // filter by account address 3013 AccountAddress string `protobuf:"bytes,10,opt,name=account_address,json=accountAddress,proto3" json:"account_address,omitempty"` 3014 } 3015 3016 func (x *PositionsV2Request) Reset() { 3017 *x = PositionsV2Request{} 3018 if protoimpl.UnsafeEnabled { 3019 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[36] 3020 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3021 ms.StoreMessageInfo(mi) 3022 } 3023 } 3024 3025 func (x *PositionsV2Request) String() string { 3026 return protoimpl.X.MessageStringOf(x) 3027 } 3028 3029 func (*PositionsV2Request) ProtoMessage() {} 3030 3031 func (x *PositionsV2Request) ProtoReflect() protoreflect.Message { 3032 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[36] 3033 if protoimpl.UnsafeEnabled && x != nil { 3034 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3035 if ms.LoadMessageInfo() == nil { 3036 ms.StoreMessageInfo(mi) 3037 } 3038 return ms 3039 } 3040 return mi.MessageOf(x) 3041 } 3042 3043 // Deprecated: Use PositionsV2Request.ProtoReflect.Descriptor instead. 3044 func (*PositionsV2Request) Descriptor() ([]byte, []int) { 3045 return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{36} 3046 } 3047 3048 func (x *PositionsV2Request) GetSubaccountId() string { 3049 if x != nil { 3050 return x.SubaccountId 3051 } 3052 return "" 3053 } 3054 3055 func (x *PositionsV2Request) GetMarketId() string { 3056 if x != nil { 3057 return x.MarketId 3058 } 3059 return "" 3060 } 3061 3062 func (x *PositionsV2Request) GetSkip() uint64 { 3063 if x != nil { 3064 return x.Skip 3065 } 3066 return 0 3067 } 3068 3069 func (x *PositionsV2Request) GetLimit() int32 { 3070 if x != nil { 3071 return x.Limit 3072 } 3073 return 0 3074 } 3075 3076 func (x *PositionsV2Request) GetStartTime() int64 { 3077 if x != nil { 3078 return x.StartTime 3079 } 3080 return 0 3081 } 3082 3083 func (x *PositionsV2Request) GetEndTime() int64 { 3084 if x != nil { 3085 return x.EndTime 3086 } 3087 return 0 3088 } 3089 3090 func (x *PositionsV2Request) GetMarketIds() []string { 3091 if x != nil { 3092 return x.MarketIds 3093 } 3094 return nil 3095 } 3096 3097 func (x *PositionsV2Request) GetDirection() string { 3098 if x != nil { 3099 return x.Direction 3100 } 3101 return "" 3102 } 3103 3104 func (x *PositionsV2Request) GetSubaccountTotalPositions() bool { 3105 if x != nil { 3106 return x.SubaccountTotalPositions 3107 } 3108 return false 3109 } 3110 3111 func (x *PositionsV2Request) GetAccountAddress() string { 3112 if x != nil { 3113 return x.AccountAddress 3114 } 3115 return "" 3116 } 3117 3118 type PositionsV2Response struct { 3119 state protoimpl.MessageState 3120 sizeCache protoimpl.SizeCache 3121 unknownFields protoimpl.UnknownFields 3122 3123 Positions []*DerivativePositionV2 `protobuf:"bytes,1,rep,name=positions,proto3" json:"positions,omitempty"` 3124 Paging *Paging `protobuf:"bytes,2,opt,name=paging,proto3" json:"paging,omitempty"` 3125 } 3126 3127 func (x *PositionsV2Response) Reset() { 3128 *x = PositionsV2Response{} 3129 if protoimpl.UnsafeEnabled { 3130 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[37] 3131 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3132 ms.StoreMessageInfo(mi) 3133 } 3134 } 3135 3136 func (x *PositionsV2Response) String() string { 3137 return protoimpl.X.MessageStringOf(x) 3138 } 3139 3140 func (*PositionsV2Response) ProtoMessage() {} 3141 3142 func (x *PositionsV2Response) ProtoReflect() protoreflect.Message { 3143 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[37] 3144 if protoimpl.UnsafeEnabled && x != nil { 3145 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3146 if ms.LoadMessageInfo() == nil { 3147 ms.StoreMessageInfo(mi) 3148 } 3149 return ms 3150 } 3151 return mi.MessageOf(x) 3152 } 3153 3154 // Deprecated: Use PositionsV2Response.ProtoReflect.Descriptor instead. 3155 func (*PositionsV2Response) Descriptor() ([]byte, []int) { 3156 return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{37} 3157 } 3158 3159 func (x *PositionsV2Response) GetPositions() []*DerivativePositionV2 { 3160 if x != nil { 3161 return x.Positions 3162 } 3163 return nil 3164 } 3165 3166 func (x *PositionsV2Response) GetPaging() *Paging { 3167 if x != nil { 3168 return x.Paging 3169 } 3170 return nil 3171 } 3172 3173 type DerivativePositionV2 struct { 3174 state protoimpl.MessageState 3175 sizeCache protoimpl.SizeCache 3176 unknownFields protoimpl.UnknownFields 3177 3178 // Ticker of the derivative market 3179 Ticker string `protobuf:"bytes,1,opt,name=ticker,proto3" json:"ticker,omitempty"` 3180 // Derivative Market ID 3181 MarketId string `protobuf:"bytes,2,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` 3182 // The subaccountId that the position belongs to 3183 SubaccountId string `protobuf:"bytes,3,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` 3184 // Direction of the position 3185 Direction string `protobuf:"bytes,4,opt,name=direction,proto3" json:"direction,omitempty"` 3186 // Quantity of the position 3187 Quantity string `protobuf:"bytes,5,opt,name=quantity,proto3" json:"quantity,omitempty"` 3188 // Price of the position 3189 EntryPrice string `protobuf:"bytes,6,opt,name=entry_price,json=entryPrice,proto3" json:"entry_price,omitempty"` 3190 // Margin of the position 3191 Margin string `protobuf:"bytes,7,opt,name=margin,proto3" json:"margin,omitempty"` 3192 // LiquidationPrice of the position 3193 LiquidationPrice string `protobuf:"bytes,8,opt,name=liquidation_price,json=liquidationPrice,proto3" json:"liquidation_price,omitempty"` 3194 // MarkPrice of the position 3195 MarkPrice string `protobuf:"bytes,9,opt,name=mark_price,json=markPrice,proto3" json:"mark_price,omitempty"` 3196 // Position updated timestamp in UNIX millis. 3197 UpdatedAt int64 `protobuf:"zigzag64,11,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` 3198 // Market quote denom 3199 Denom string `protobuf:"bytes,12,opt,name=denom,proto3" json:"denom,omitempty"` 3200 } 3201 3202 func (x *DerivativePositionV2) Reset() { 3203 *x = DerivativePositionV2{} 3204 if protoimpl.UnsafeEnabled { 3205 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[38] 3206 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3207 ms.StoreMessageInfo(mi) 3208 } 3209 } 3210 3211 func (x *DerivativePositionV2) String() string { 3212 return protoimpl.X.MessageStringOf(x) 3213 } 3214 3215 func (*DerivativePositionV2) ProtoMessage() {} 3216 3217 func (x *DerivativePositionV2) ProtoReflect() protoreflect.Message { 3218 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[38] 3219 if protoimpl.UnsafeEnabled && x != nil { 3220 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3221 if ms.LoadMessageInfo() == nil { 3222 ms.StoreMessageInfo(mi) 3223 } 3224 return ms 3225 } 3226 return mi.MessageOf(x) 3227 } 3228 3229 // Deprecated: Use DerivativePositionV2.ProtoReflect.Descriptor instead. 3230 func (*DerivativePositionV2) Descriptor() ([]byte, []int) { 3231 return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{38} 3232 } 3233 3234 func (x *DerivativePositionV2) GetTicker() string { 3235 if x != nil { 3236 return x.Ticker 3237 } 3238 return "" 3239 } 3240 3241 func (x *DerivativePositionV2) GetMarketId() string { 3242 if x != nil { 3243 return x.MarketId 3244 } 3245 return "" 3246 } 3247 3248 func (x *DerivativePositionV2) GetSubaccountId() string { 3249 if x != nil { 3250 return x.SubaccountId 3251 } 3252 return "" 3253 } 3254 3255 func (x *DerivativePositionV2) GetDirection() string { 3256 if x != nil { 3257 return x.Direction 3258 } 3259 return "" 3260 } 3261 3262 func (x *DerivativePositionV2) GetQuantity() string { 3263 if x != nil { 3264 return x.Quantity 3265 } 3266 return "" 3267 } 3268 3269 func (x *DerivativePositionV2) GetEntryPrice() string { 3270 if x != nil { 3271 return x.EntryPrice 3272 } 3273 return "" 3274 } 3275 3276 func (x *DerivativePositionV2) GetMargin() string { 3277 if x != nil { 3278 return x.Margin 3279 } 3280 return "" 3281 } 3282 3283 func (x *DerivativePositionV2) GetLiquidationPrice() string { 3284 if x != nil { 3285 return x.LiquidationPrice 3286 } 3287 return "" 3288 } 3289 3290 func (x *DerivativePositionV2) GetMarkPrice() string { 3291 if x != nil { 3292 return x.MarkPrice 3293 } 3294 return "" 3295 } 3296 3297 func (x *DerivativePositionV2) GetUpdatedAt() int64 { 3298 if x != nil { 3299 return x.UpdatedAt 3300 } 3301 return 0 3302 } 3303 3304 func (x *DerivativePositionV2) GetDenom() string { 3305 if x != nil { 3306 return x.Denom 3307 } 3308 return "" 3309 } 3310 3311 type LiquidablePositionsRequest struct { 3312 state protoimpl.MessageState 3313 sizeCache protoimpl.SizeCache 3314 unknownFields protoimpl.UnknownFields 3315 3316 // Market ID to filter orders for specific market 3317 MarketId string `protobuf:"bytes,1,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` 3318 // Skip will skip the first n item from the result 3319 Skip uint64 `protobuf:"varint,2,opt,name=skip,proto3" json:"skip,omitempty"` 3320 // Limit is used to specify the maximum number of items to be returned. 3321 Limit int32 `protobuf:"zigzag32,3,opt,name=limit,proto3" json:"limit,omitempty"` 3322 } 3323 3324 func (x *LiquidablePositionsRequest) Reset() { 3325 *x = LiquidablePositionsRequest{} 3326 if protoimpl.UnsafeEnabled { 3327 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[39] 3328 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3329 ms.StoreMessageInfo(mi) 3330 } 3331 } 3332 3333 func (x *LiquidablePositionsRequest) String() string { 3334 return protoimpl.X.MessageStringOf(x) 3335 } 3336 3337 func (*LiquidablePositionsRequest) ProtoMessage() {} 3338 3339 func (x *LiquidablePositionsRequest) ProtoReflect() protoreflect.Message { 3340 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[39] 3341 if protoimpl.UnsafeEnabled && x != nil { 3342 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3343 if ms.LoadMessageInfo() == nil { 3344 ms.StoreMessageInfo(mi) 3345 } 3346 return ms 3347 } 3348 return mi.MessageOf(x) 3349 } 3350 3351 // Deprecated: Use LiquidablePositionsRequest.ProtoReflect.Descriptor instead. 3352 func (*LiquidablePositionsRequest) Descriptor() ([]byte, []int) { 3353 return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{39} 3354 } 3355 3356 func (x *LiquidablePositionsRequest) GetMarketId() string { 3357 if x != nil { 3358 return x.MarketId 3359 } 3360 return "" 3361 } 3362 3363 func (x *LiquidablePositionsRequest) GetSkip() uint64 { 3364 if x != nil { 3365 return x.Skip 3366 } 3367 return 0 3368 } 3369 3370 func (x *LiquidablePositionsRequest) GetLimit() int32 { 3371 if x != nil { 3372 return x.Limit 3373 } 3374 return 0 3375 } 3376 3377 type LiquidablePositionsResponse struct { 3378 state protoimpl.MessageState 3379 sizeCache protoimpl.SizeCache 3380 unknownFields protoimpl.UnknownFields 3381 3382 // List of derivative positions 3383 Positions []*DerivativePosition `protobuf:"bytes,1,rep,name=positions,proto3" json:"positions,omitempty"` 3384 } 3385 3386 func (x *LiquidablePositionsResponse) Reset() { 3387 *x = LiquidablePositionsResponse{} 3388 if protoimpl.UnsafeEnabled { 3389 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[40] 3390 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3391 ms.StoreMessageInfo(mi) 3392 } 3393 } 3394 3395 func (x *LiquidablePositionsResponse) String() string { 3396 return protoimpl.X.MessageStringOf(x) 3397 } 3398 3399 func (*LiquidablePositionsResponse) ProtoMessage() {} 3400 3401 func (x *LiquidablePositionsResponse) ProtoReflect() protoreflect.Message { 3402 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[40] 3403 if protoimpl.UnsafeEnabled && x != nil { 3404 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3405 if ms.LoadMessageInfo() == nil { 3406 ms.StoreMessageInfo(mi) 3407 } 3408 return ms 3409 } 3410 return mi.MessageOf(x) 3411 } 3412 3413 // Deprecated: Use LiquidablePositionsResponse.ProtoReflect.Descriptor instead. 3414 func (*LiquidablePositionsResponse) Descriptor() ([]byte, []int) { 3415 return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{40} 3416 } 3417 3418 func (x *LiquidablePositionsResponse) GetPositions() []*DerivativePosition { 3419 if x != nil { 3420 return x.Positions 3421 } 3422 return nil 3423 } 3424 3425 type FundingPaymentsRequest struct { 3426 state protoimpl.MessageState 3427 sizeCache protoimpl.SizeCache 3428 unknownFields protoimpl.UnknownFields 3429 3430 // SubaccountId of the trader we want to get the positions from 3431 SubaccountId string `protobuf:"bytes,1,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` 3432 // MarketIds of the funding payment we want to fetch. Using this for only one 3433 // market id. This field is prioritized 3434 MarketId string `protobuf:"bytes,2,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` 3435 // Skip will skip the first n item from the result 3436 Skip uint64 `protobuf:"varint,3,opt,name=skip,proto3" json:"skip,omitempty"` 3437 // Limit is used to specify the maximum number of items to be returned. 3438 Limit int32 `protobuf:"zigzag32,4,opt,name=limit,proto3" json:"limit,omitempty"` 3439 // Upper bound of funding payment updatedAt 3440 EndTime int64 `protobuf:"zigzag64,5,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` 3441 // Filter by market ids. Using this field for fetching funding payments from 3442 // multiple market ids 3443 MarketIds []string `protobuf:"bytes,6,rep,name=market_ids,json=marketIds,proto3" json:"market_ids,omitempty"` 3444 } 3445 3446 func (x *FundingPaymentsRequest) Reset() { 3447 *x = FundingPaymentsRequest{} 3448 if protoimpl.UnsafeEnabled { 3449 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[41] 3450 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3451 ms.StoreMessageInfo(mi) 3452 } 3453 } 3454 3455 func (x *FundingPaymentsRequest) String() string { 3456 return protoimpl.X.MessageStringOf(x) 3457 } 3458 3459 func (*FundingPaymentsRequest) ProtoMessage() {} 3460 3461 func (x *FundingPaymentsRequest) ProtoReflect() protoreflect.Message { 3462 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[41] 3463 if protoimpl.UnsafeEnabled && x != nil { 3464 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3465 if ms.LoadMessageInfo() == nil { 3466 ms.StoreMessageInfo(mi) 3467 } 3468 return ms 3469 } 3470 return mi.MessageOf(x) 3471 } 3472 3473 // Deprecated: Use FundingPaymentsRequest.ProtoReflect.Descriptor instead. 3474 func (*FundingPaymentsRequest) Descriptor() ([]byte, []int) { 3475 return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{41} 3476 } 3477 3478 func (x *FundingPaymentsRequest) GetSubaccountId() string { 3479 if x != nil { 3480 return x.SubaccountId 3481 } 3482 return "" 3483 } 3484 3485 func (x *FundingPaymentsRequest) GetMarketId() string { 3486 if x != nil { 3487 return x.MarketId 3488 } 3489 return "" 3490 } 3491 3492 func (x *FundingPaymentsRequest) GetSkip() uint64 { 3493 if x != nil { 3494 return x.Skip 3495 } 3496 return 0 3497 } 3498 3499 func (x *FundingPaymentsRequest) GetLimit() int32 { 3500 if x != nil { 3501 return x.Limit 3502 } 3503 return 0 3504 } 3505 3506 func (x *FundingPaymentsRequest) GetEndTime() int64 { 3507 if x != nil { 3508 return x.EndTime 3509 } 3510 return 0 3511 } 3512 3513 func (x *FundingPaymentsRequest) GetMarketIds() []string { 3514 if x != nil { 3515 return x.MarketIds 3516 } 3517 return nil 3518 } 3519 3520 type FundingPaymentsResponse struct { 3521 state protoimpl.MessageState 3522 sizeCache protoimpl.SizeCache 3523 unknownFields protoimpl.UnknownFields 3524 3525 // List of funding payments 3526 Payments []*FundingPayment `protobuf:"bytes,1,rep,name=payments,proto3" json:"payments,omitempty"` 3527 Paging *Paging `protobuf:"bytes,2,opt,name=paging,proto3" json:"paging,omitempty"` 3528 } 3529 3530 func (x *FundingPaymentsResponse) Reset() { 3531 *x = FundingPaymentsResponse{} 3532 if protoimpl.UnsafeEnabled { 3533 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[42] 3534 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3535 ms.StoreMessageInfo(mi) 3536 } 3537 } 3538 3539 func (x *FundingPaymentsResponse) String() string { 3540 return protoimpl.X.MessageStringOf(x) 3541 } 3542 3543 func (*FundingPaymentsResponse) ProtoMessage() {} 3544 3545 func (x *FundingPaymentsResponse) ProtoReflect() protoreflect.Message { 3546 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[42] 3547 if protoimpl.UnsafeEnabled && x != nil { 3548 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3549 if ms.LoadMessageInfo() == nil { 3550 ms.StoreMessageInfo(mi) 3551 } 3552 return ms 3553 } 3554 return mi.MessageOf(x) 3555 } 3556 3557 // Deprecated: Use FundingPaymentsResponse.ProtoReflect.Descriptor instead. 3558 func (*FundingPaymentsResponse) Descriptor() ([]byte, []int) { 3559 return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{42} 3560 } 3561 3562 func (x *FundingPaymentsResponse) GetPayments() []*FundingPayment { 3563 if x != nil { 3564 return x.Payments 3565 } 3566 return nil 3567 } 3568 3569 func (x *FundingPaymentsResponse) GetPaging() *Paging { 3570 if x != nil { 3571 return x.Paging 3572 } 3573 return nil 3574 } 3575 3576 type FundingPayment struct { 3577 state protoimpl.MessageState 3578 sizeCache protoimpl.SizeCache 3579 unknownFields protoimpl.UnknownFields 3580 3581 // Derivative Market ID 3582 MarketId string `protobuf:"bytes,1,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` 3583 // The subaccountId that the position belongs to 3584 SubaccountId string `protobuf:"bytes,2,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` 3585 // Amount of the funding payment 3586 Amount string `protobuf:"bytes,3,opt,name=amount,proto3" json:"amount,omitempty"` 3587 // Timestamp of funding payment in UNIX millis 3588 Timestamp int64 `protobuf:"zigzag64,4,opt,name=timestamp,proto3" json:"timestamp,omitempty"` 3589 } 3590 3591 func (x *FundingPayment) Reset() { 3592 *x = FundingPayment{} 3593 if protoimpl.UnsafeEnabled { 3594 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[43] 3595 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3596 ms.StoreMessageInfo(mi) 3597 } 3598 } 3599 3600 func (x *FundingPayment) String() string { 3601 return protoimpl.X.MessageStringOf(x) 3602 } 3603 3604 func (*FundingPayment) ProtoMessage() {} 3605 3606 func (x *FundingPayment) ProtoReflect() protoreflect.Message { 3607 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[43] 3608 if protoimpl.UnsafeEnabled && x != nil { 3609 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3610 if ms.LoadMessageInfo() == nil { 3611 ms.StoreMessageInfo(mi) 3612 } 3613 return ms 3614 } 3615 return mi.MessageOf(x) 3616 } 3617 3618 // Deprecated: Use FundingPayment.ProtoReflect.Descriptor instead. 3619 func (*FundingPayment) Descriptor() ([]byte, []int) { 3620 return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{43} 3621 } 3622 3623 func (x *FundingPayment) GetMarketId() string { 3624 if x != nil { 3625 return x.MarketId 3626 } 3627 return "" 3628 } 3629 3630 func (x *FundingPayment) GetSubaccountId() string { 3631 if x != nil { 3632 return x.SubaccountId 3633 } 3634 return "" 3635 } 3636 3637 func (x *FundingPayment) GetAmount() string { 3638 if x != nil { 3639 return x.Amount 3640 } 3641 return "" 3642 } 3643 3644 func (x *FundingPayment) GetTimestamp() int64 { 3645 if x != nil { 3646 return x.Timestamp 3647 } 3648 return 0 3649 } 3650 3651 type FundingRatesRequest struct { 3652 state protoimpl.MessageState 3653 sizeCache protoimpl.SizeCache 3654 unknownFields protoimpl.UnknownFields 3655 3656 // MarketId of the position we want to fetch 3657 MarketId string `protobuf:"bytes,1,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` 3658 // Skip will skip the first n item from the result 3659 Skip uint64 `protobuf:"varint,2,opt,name=skip,proto3" json:"skip,omitempty"` 3660 // Limit is used to specify the maximum number of items to be returned. 3661 Limit int32 `protobuf:"zigzag32,3,opt,name=limit,proto3" json:"limit,omitempty"` 3662 // Upper bound of funding timestamp 3663 EndTime int64 `protobuf:"zigzag64,4,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` 3664 } 3665 3666 func (x *FundingRatesRequest) Reset() { 3667 *x = FundingRatesRequest{} 3668 if protoimpl.UnsafeEnabled { 3669 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[44] 3670 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3671 ms.StoreMessageInfo(mi) 3672 } 3673 } 3674 3675 func (x *FundingRatesRequest) String() string { 3676 return protoimpl.X.MessageStringOf(x) 3677 } 3678 3679 func (*FundingRatesRequest) ProtoMessage() {} 3680 3681 func (x *FundingRatesRequest) ProtoReflect() protoreflect.Message { 3682 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[44] 3683 if protoimpl.UnsafeEnabled && x != nil { 3684 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3685 if ms.LoadMessageInfo() == nil { 3686 ms.StoreMessageInfo(mi) 3687 } 3688 return ms 3689 } 3690 return mi.MessageOf(x) 3691 } 3692 3693 // Deprecated: Use FundingRatesRequest.ProtoReflect.Descriptor instead. 3694 func (*FundingRatesRequest) Descriptor() ([]byte, []int) { 3695 return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{44} 3696 } 3697 3698 func (x *FundingRatesRequest) GetMarketId() string { 3699 if x != nil { 3700 return x.MarketId 3701 } 3702 return "" 3703 } 3704 3705 func (x *FundingRatesRequest) GetSkip() uint64 { 3706 if x != nil { 3707 return x.Skip 3708 } 3709 return 0 3710 } 3711 3712 func (x *FundingRatesRequest) GetLimit() int32 { 3713 if x != nil { 3714 return x.Limit 3715 } 3716 return 0 3717 } 3718 3719 func (x *FundingRatesRequest) GetEndTime() int64 { 3720 if x != nil { 3721 return x.EndTime 3722 } 3723 return 0 3724 } 3725 3726 type FundingRatesResponse struct { 3727 state protoimpl.MessageState 3728 sizeCache protoimpl.SizeCache 3729 unknownFields protoimpl.UnknownFields 3730 3731 // List of funding rates 3732 FundingRates []*FundingRate `protobuf:"bytes,1,rep,name=funding_rates,json=fundingRates,proto3" json:"funding_rates,omitempty"` 3733 Paging *Paging `protobuf:"bytes,2,opt,name=paging,proto3" json:"paging,omitempty"` 3734 } 3735 3736 func (x *FundingRatesResponse) Reset() { 3737 *x = FundingRatesResponse{} 3738 if protoimpl.UnsafeEnabled { 3739 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[45] 3740 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3741 ms.StoreMessageInfo(mi) 3742 } 3743 } 3744 3745 func (x *FundingRatesResponse) String() string { 3746 return protoimpl.X.MessageStringOf(x) 3747 } 3748 3749 func (*FundingRatesResponse) ProtoMessage() {} 3750 3751 func (x *FundingRatesResponse) ProtoReflect() protoreflect.Message { 3752 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[45] 3753 if protoimpl.UnsafeEnabled && x != nil { 3754 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3755 if ms.LoadMessageInfo() == nil { 3756 ms.StoreMessageInfo(mi) 3757 } 3758 return ms 3759 } 3760 return mi.MessageOf(x) 3761 } 3762 3763 // Deprecated: Use FundingRatesResponse.ProtoReflect.Descriptor instead. 3764 func (*FundingRatesResponse) Descriptor() ([]byte, []int) { 3765 return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{45} 3766 } 3767 3768 func (x *FundingRatesResponse) GetFundingRates() []*FundingRate { 3769 if x != nil { 3770 return x.FundingRates 3771 } 3772 return nil 3773 } 3774 3775 func (x *FundingRatesResponse) GetPaging() *Paging { 3776 if x != nil { 3777 return x.Paging 3778 } 3779 return nil 3780 } 3781 3782 type FundingRate struct { 3783 state protoimpl.MessageState 3784 sizeCache protoimpl.SizeCache 3785 unknownFields protoimpl.UnknownFields 3786 3787 // Derivative Market ID 3788 MarketId string `protobuf:"bytes,1,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` 3789 // Value of the funding rate 3790 Rate string `protobuf:"bytes,2,opt,name=rate,proto3" json:"rate,omitempty"` 3791 // Timestamp of funding rate in UNIX millis 3792 Timestamp int64 `protobuf:"zigzag64,3,opt,name=timestamp,proto3" json:"timestamp,omitempty"` 3793 } 3794 3795 func (x *FundingRate) Reset() { 3796 *x = FundingRate{} 3797 if protoimpl.UnsafeEnabled { 3798 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[46] 3799 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3800 ms.StoreMessageInfo(mi) 3801 } 3802 } 3803 3804 func (x *FundingRate) String() string { 3805 return protoimpl.X.MessageStringOf(x) 3806 } 3807 3808 func (*FundingRate) ProtoMessage() {} 3809 3810 func (x *FundingRate) ProtoReflect() protoreflect.Message { 3811 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[46] 3812 if protoimpl.UnsafeEnabled && x != nil { 3813 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3814 if ms.LoadMessageInfo() == nil { 3815 ms.StoreMessageInfo(mi) 3816 } 3817 return ms 3818 } 3819 return mi.MessageOf(x) 3820 } 3821 3822 // Deprecated: Use FundingRate.ProtoReflect.Descriptor instead. 3823 func (*FundingRate) Descriptor() ([]byte, []int) { 3824 return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{46} 3825 } 3826 3827 func (x *FundingRate) GetMarketId() string { 3828 if x != nil { 3829 return x.MarketId 3830 } 3831 return "" 3832 } 3833 3834 func (x *FundingRate) GetRate() string { 3835 if x != nil { 3836 return x.Rate 3837 } 3838 return "" 3839 } 3840 3841 func (x *FundingRate) GetTimestamp() int64 { 3842 if x != nil { 3843 return x.Timestamp 3844 } 3845 return 0 3846 } 3847 3848 type StreamPositionsRequest struct { 3849 state protoimpl.MessageState 3850 sizeCache protoimpl.SizeCache 3851 unknownFields protoimpl.UnknownFields 3852 3853 // SubaccountId of the trader we want to get the positions from 3854 SubaccountId string `protobuf:"bytes,1,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` 3855 // Backward compat single market ID of position we want to stream 3856 MarketId string `protobuf:"bytes,2,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` 3857 // List of market IDs of the positions we want to stream 3858 MarketIds []string `protobuf:"bytes,3,rep,name=market_ids,json=marketIds,proto3" json:"market_ids,omitempty"` 3859 // Subaccount ids of traders we want to get positions 3860 SubaccountIds []string `protobuf:"bytes,4,rep,name=subaccount_ids,json=subaccountIds,proto3" json:"subaccount_ids,omitempty"` 3861 // filter by account address 3862 AccountAddress string `protobuf:"bytes,5,opt,name=account_address,json=accountAddress,proto3" json:"account_address,omitempty"` 3863 } 3864 3865 func (x *StreamPositionsRequest) Reset() { 3866 *x = StreamPositionsRequest{} 3867 if protoimpl.UnsafeEnabled { 3868 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[47] 3869 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3870 ms.StoreMessageInfo(mi) 3871 } 3872 } 3873 3874 func (x *StreamPositionsRequest) String() string { 3875 return protoimpl.X.MessageStringOf(x) 3876 } 3877 3878 func (*StreamPositionsRequest) ProtoMessage() {} 3879 3880 func (x *StreamPositionsRequest) ProtoReflect() protoreflect.Message { 3881 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[47] 3882 if protoimpl.UnsafeEnabled && x != nil { 3883 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3884 if ms.LoadMessageInfo() == nil { 3885 ms.StoreMessageInfo(mi) 3886 } 3887 return ms 3888 } 3889 return mi.MessageOf(x) 3890 } 3891 3892 // Deprecated: Use StreamPositionsRequest.ProtoReflect.Descriptor instead. 3893 func (*StreamPositionsRequest) Descriptor() ([]byte, []int) { 3894 return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{47} 3895 } 3896 3897 func (x *StreamPositionsRequest) GetSubaccountId() string { 3898 if x != nil { 3899 return x.SubaccountId 3900 } 3901 return "" 3902 } 3903 3904 func (x *StreamPositionsRequest) GetMarketId() string { 3905 if x != nil { 3906 return x.MarketId 3907 } 3908 return "" 3909 } 3910 3911 func (x *StreamPositionsRequest) GetMarketIds() []string { 3912 if x != nil { 3913 return x.MarketIds 3914 } 3915 return nil 3916 } 3917 3918 func (x *StreamPositionsRequest) GetSubaccountIds() []string { 3919 if x != nil { 3920 return x.SubaccountIds 3921 } 3922 return nil 3923 } 3924 3925 func (x *StreamPositionsRequest) GetAccountAddress() string { 3926 if x != nil { 3927 return x.AccountAddress 3928 } 3929 return "" 3930 } 3931 3932 type StreamPositionsResponse struct { 3933 state protoimpl.MessageState 3934 sizeCache protoimpl.SizeCache 3935 unknownFields protoimpl.UnknownFields 3936 3937 // Updated derivative Position 3938 Position *DerivativePosition `protobuf:"bytes,1,opt,name=position,proto3" json:"position,omitempty"` 3939 // Operation timestamp in UNIX millis. 3940 Timestamp int64 `protobuf:"zigzag64,2,opt,name=timestamp,proto3" json:"timestamp,omitempty"` 3941 } 3942 3943 func (x *StreamPositionsResponse) Reset() { 3944 *x = StreamPositionsResponse{} 3945 if protoimpl.UnsafeEnabled { 3946 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[48] 3947 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3948 ms.StoreMessageInfo(mi) 3949 } 3950 } 3951 3952 func (x *StreamPositionsResponse) String() string { 3953 return protoimpl.X.MessageStringOf(x) 3954 } 3955 3956 func (*StreamPositionsResponse) ProtoMessage() {} 3957 3958 func (x *StreamPositionsResponse) ProtoReflect() protoreflect.Message { 3959 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[48] 3960 if protoimpl.UnsafeEnabled && x != nil { 3961 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3962 if ms.LoadMessageInfo() == nil { 3963 ms.StoreMessageInfo(mi) 3964 } 3965 return ms 3966 } 3967 return mi.MessageOf(x) 3968 } 3969 3970 // Deprecated: Use StreamPositionsResponse.ProtoReflect.Descriptor instead. 3971 func (*StreamPositionsResponse) Descriptor() ([]byte, []int) { 3972 return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{48} 3973 } 3974 3975 func (x *StreamPositionsResponse) GetPosition() *DerivativePosition { 3976 if x != nil { 3977 return x.Position 3978 } 3979 return nil 3980 } 3981 3982 func (x *StreamPositionsResponse) GetTimestamp() int64 { 3983 if x != nil { 3984 return x.Timestamp 3985 } 3986 return 0 3987 } 3988 3989 type StreamOrdersRequest struct { 3990 state protoimpl.MessageState 3991 sizeCache protoimpl.SizeCache 3992 unknownFields protoimpl.UnknownFields 3993 3994 // MarketId of market we want to fetch orders from. Using this field for one 3995 // single marketId 3996 MarketId string `protobuf:"bytes,1,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` 3997 // Look for specific order side 3998 OrderSide string `protobuf:"bytes,2,opt,name=order_side,json=orderSide,proto3" json:"order_side,omitempty"` 3999 // Look for specific subaccountId of an order 4000 SubaccountId string `protobuf:"bytes,3,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` 4001 // Skip will skip the first n item from the result 4002 Skip uint64 `protobuf:"varint,4,opt,name=skip,proto3" json:"skip,omitempty"` 4003 // Limit is used to specify the maximum number of items to be returned 4004 Limit int32 `protobuf:"zigzag32,5,opt,name=limit,proto3" json:"limit,omitempty"` 4005 // The starting timestamp in UNIX milliseconds that the trades must be equal or 4006 // older than 4007 StartTime int64 `protobuf:"zigzag64,6,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` 4008 // The ending timestamp in UNIX milliseconds that the trades must be equal or 4009 // younger than 4010 EndTime int64 `protobuf:"zigzag64,7,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` 4011 // MarketIds of the markets of which we want to get order from, use this field 4012 // for fetching orders from multiple markets 4013 MarketIds []string `protobuf:"bytes,8,rep,name=market_ids,json=marketIds,proto3" json:"market_ids,omitempty"` 4014 // Only search for conditional/non-conditional orders 4015 IsConditional string `protobuf:"bytes,9,opt,name=is_conditional,json=isConditional,proto3" json:"is_conditional,omitempty"` 4016 // Search for specific order type 4017 OrderType string `protobuf:"bytes,10,opt,name=order_type,json=orderType,proto3" json:"order_type,omitempty"` 4018 // Should include inactive orders 4019 IncludeInactive bool `protobuf:"varint,11,opt,name=include_inactive,json=includeInactive,proto3" json:"include_inactive,omitempty"` 4020 // Choose to return subaccount total orders 4021 SubaccountTotalOrders bool `protobuf:"varint,12,opt,name=subaccount_total_orders,json=subaccountTotalOrders,proto3" json:"subaccount_total_orders,omitempty"` 4022 // TradeId of the order we want to fetch 4023 TradeId string `protobuf:"bytes,13,opt,name=trade_id,json=tradeId,proto3" json:"trade_id,omitempty"` 4024 // Client order ID 4025 Cid string `protobuf:"bytes,14,opt,name=cid,proto3" json:"cid,omitempty"` 4026 } 4027 4028 func (x *StreamOrdersRequest) Reset() { 4029 *x = StreamOrdersRequest{} 4030 if protoimpl.UnsafeEnabled { 4031 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[49] 4032 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4033 ms.StoreMessageInfo(mi) 4034 } 4035 } 4036 4037 func (x *StreamOrdersRequest) String() string { 4038 return protoimpl.X.MessageStringOf(x) 4039 } 4040 4041 func (*StreamOrdersRequest) ProtoMessage() {} 4042 4043 func (x *StreamOrdersRequest) ProtoReflect() protoreflect.Message { 4044 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[49] 4045 if protoimpl.UnsafeEnabled && x != nil { 4046 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4047 if ms.LoadMessageInfo() == nil { 4048 ms.StoreMessageInfo(mi) 4049 } 4050 return ms 4051 } 4052 return mi.MessageOf(x) 4053 } 4054 4055 // Deprecated: Use StreamOrdersRequest.ProtoReflect.Descriptor instead. 4056 func (*StreamOrdersRequest) Descriptor() ([]byte, []int) { 4057 return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{49} 4058 } 4059 4060 func (x *StreamOrdersRequest) GetMarketId() string { 4061 if x != nil { 4062 return x.MarketId 4063 } 4064 return "" 4065 } 4066 4067 func (x *StreamOrdersRequest) GetOrderSide() string { 4068 if x != nil { 4069 return x.OrderSide 4070 } 4071 return "" 4072 } 4073 4074 func (x *StreamOrdersRequest) GetSubaccountId() string { 4075 if x != nil { 4076 return x.SubaccountId 4077 } 4078 return "" 4079 } 4080 4081 func (x *StreamOrdersRequest) GetSkip() uint64 { 4082 if x != nil { 4083 return x.Skip 4084 } 4085 return 0 4086 } 4087 4088 func (x *StreamOrdersRequest) GetLimit() int32 { 4089 if x != nil { 4090 return x.Limit 4091 } 4092 return 0 4093 } 4094 4095 func (x *StreamOrdersRequest) GetStartTime() int64 { 4096 if x != nil { 4097 return x.StartTime 4098 } 4099 return 0 4100 } 4101 4102 func (x *StreamOrdersRequest) GetEndTime() int64 { 4103 if x != nil { 4104 return x.EndTime 4105 } 4106 return 0 4107 } 4108 4109 func (x *StreamOrdersRequest) GetMarketIds() []string { 4110 if x != nil { 4111 return x.MarketIds 4112 } 4113 return nil 4114 } 4115 4116 func (x *StreamOrdersRequest) GetIsConditional() string { 4117 if x != nil { 4118 return x.IsConditional 4119 } 4120 return "" 4121 } 4122 4123 func (x *StreamOrdersRequest) GetOrderType() string { 4124 if x != nil { 4125 return x.OrderType 4126 } 4127 return "" 4128 } 4129 4130 func (x *StreamOrdersRequest) GetIncludeInactive() bool { 4131 if x != nil { 4132 return x.IncludeInactive 4133 } 4134 return false 4135 } 4136 4137 func (x *StreamOrdersRequest) GetSubaccountTotalOrders() bool { 4138 if x != nil { 4139 return x.SubaccountTotalOrders 4140 } 4141 return false 4142 } 4143 4144 func (x *StreamOrdersRequest) GetTradeId() string { 4145 if x != nil { 4146 return x.TradeId 4147 } 4148 return "" 4149 } 4150 4151 func (x *StreamOrdersRequest) GetCid() string { 4152 if x != nil { 4153 return x.Cid 4154 } 4155 return "" 4156 } 4157 4158 type StreamOrdersResponse struct { 4159 state protoimpl.MessageState 4160 sizeCache protoimpl.SizeCache 4161 unknownFields protoimpl.UnknownFields 4162 4163 // Updated market order 4164 Order *DerivativeLimitOrder `protobuf:"bytes,1,opt,name=order,proto3" json:"order,omitempty"` 4165 // Order update type 4166 OperationType string `protobuf:"bytes,2,opt,name=operation_type,json=operationType,proto3" json:"operation_type,omitempty"` 4167 // Operation timestamp in UNIX millis. 4168 Timestamp int64 `protobuf:"zigzag64,3,opt,name=timestamp,proto3" json:"timestamp,omitempty"` 4169 } 4170 4171 func (x *StreamOrdersResponse) Reset() { 4172 *x = StreamOrdersResponse{} 4173 if protoimpl.UnsafeEnabled { 4174 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[50] 4175 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4176 ms.StoreMessageInfo(mi) 4177 } 4178 } 4179 4180 func (x *StreamOrdersResponse) String() string { 4181 return protoimpl.X.MessageStringOf(x) 4182 } 4183 4184 func (*StreamOrdersResponse) ProtoMessage() {} 4185 4186 func (x *StreamOrdersResponse) ProtoReflect() protoreflect.Message { 4187 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[50] 4188 if protoimpl.UnsafeEnabled && x != nil { 4189 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4190 if ms.LoadMessageInfo() == nil { 4191 ms.StoreMessageInfo(mi) 4192 } 4193 return ms 4194 } 4195 return mi.MessageOf(x) 4196 } 4197 4198 // Deprecated: Use StreamOrdersResponse.ProtoReflect.Descriptor instead. 4199 func (*StreamOrdersResponse) Descriptor() ([]byte, []int) { 4200 return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{50} 4201 } 4202 4203 func (x *StreamOrdersResponse) GetOrder() *DerivativeLimitOrder { 4204 if x != nil { 4205 return x.Order 4206 } 4207 return nil 4208 } 4209 4210 func (x *StreamOrdersResponse) GetOperationType() string { 4211 if x != nil { 4212 return x.OperationType 4213 } 4214 return "" 4215 } 4216 4217 func (x *StreamOrdersResponse) GetTimestamp() int64 { 4218 if x != nil { 4219 return x.Timestamp 4220 } 4221 return 0 4222 } 4223 4224 type TradesRequest struct { 4225 state protoimpl.MessageState 4226 sizeCache protoimpl.SizeCache 4227 unknownFields protoimpl.UnknownFields 4228 4229 // MarketId of the market's orderbook we want to fetch 4230 MarketId string `protobuf:"bytes,1,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` 4231 // Filter by execution side of the trade 4232 ExecutionSide string `protobuf:"bytes,2,opt,name=execution_side,json=executionSide,proto3" json:"execution_side,omitempty"` 4233 // Filter by direction the trade 4234 Direction string `protobuf:"bytes,3,opt,name=direction,proto3" json:"direction,omitempty"` 4235 // SubaccountId of the trader we want to get the trades from 4236 SubaccountId string `protobuf:"bytes,4,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` 4237 // Skip will skip the first n item from the result 4238 Skip uint64 `protobuf:"varint,5,opt,name=skip,proto3" json:"skip,omitempty"` 4239 // Limit is used to specify the maximum number of items to be returned. 4240 Limit int32 `protobuf:"zigzag32,6,opt,name=limit,proto3" json:"limit,omitempty"` 4241 // The starting timestamp in UNIX milliseconds that the trades must be equal or 4242 // older than 4243 StartTime int64 `protobuf:"zigzag64,7,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` 4244 // The ending timestamp in UNIX milliseconds that the trades must be equal or 4245 // younger than 4246 EndTime int64 `protobuf:"zigzag64,8,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` 4247 // MarketIds of the markets of which we want to get trades 4248 MarketIds []string `protobuf:"bytes,9,rep,name=market_ids,json=marketIds,proto3" json:"market_ids,omitempty"` 4249 // Subaccount ids of traders we want to get trades. Use this field for fetching 4250 // trades from multiple subaccounts 4251 SubaccountIds []string `protobuf:"bytes,10,rep,name=subaccount_ids,json=subaccountIds,proto3" json:"subaccount_ids,omitempty"` 4252 ExecutionTypes []string `protobuf:"bytes,11,rep,name=execution_types,json=executionTypes,proto3" json:"execution_types,omitempty"` 4253 // Filter by the tradeId of the trade 4254 TradeId string `protobuf:"bytes,12,opt,name=trade_id,json=tradeId,proto3" json:"trade_id,omitempty"` 4255 // Account address 4256 AccountAddress string `protobuf:"bytes,13,opt,name=account_address,json=accountAddress,proto3" json:"account_address,omitempty"` 4257 // Client order ID 4258 Cid string `protobuf:"bytes,14,opt,name=cid,proto3" json:"cid,omitempty"` 4259 } 4260 4261 func (x *TradesRequest) Reset() { 4262 *x = TradesRequest{} 4263 if protoimpl.UnsafeEnabled { 4264 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[51] 4265 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4266 ms.StoreMessageInfo(mi) 4267 } 4268 } 4269 4270 func (x *TradesRequest) String() string { 4271 return protoimpl.X.MessageStringOf(x) 4272 } 4273 4274 func (*TradesRequest) ProtoMessage() {} 4275 4276 func (x *TradesRequest) ProtoReflect() protoreflect.Message { 4277 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[51] 4278 if protoimpl.UnsafeEnabled && x != nil { 4279 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4280 if ms.LoadMessageInfo() == nil { 4281 ms.StoreMessageInfo(mi) 4282 } 4283 return ms 4284 } 4285 return mi.MessageOf(x) 4286 } 4287 4288 // Deprecated: Use TradesRequest.ProtoReflect.Descriptor instead. 4289 func (*TradesRequest) Descriptor() ([]byte, []int) { 4290 return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{51} 4291 } 4292 4293 func (x *TradesRequest) GetMarketId() string { 4294 if x != nil { 4295 return x.MarketId 4296 } 4297 return "" 4298 } 4299 4300 func (x *TradesRequest) GetExecutionSide() string { 4301 if x != nil { 4302 return x.ExecutionSide 4303 } 4304 return "" 4305 } 4306 4307 func (x *TradesRequest) GetDirection() string { 4308 if x != nil { 4309 return x.Direction 4310 } 4311 return "" 4312 } 4313 4314 func (x *TradesRequest) GetSubaccountId() string { 4315 if x != nil { 4316 return x.SubaccountId 4317 } 4318 return "" 4319 } 4320 4321 func (x *TradesRequest) GetSkip() uint64 { 4322 if x != nil { 4323 return x.Skip 4324 } 4325 return 0 4326 } 4327 4328 func (x *TradesRequest) GetLimit() int32 { 4329 if x != nil { 4330 return x.Limit 4331 } 4332 return 0 4333 } 4334 4335 func (x *TradesRequest) GetStartTime() int64 { 4336 if x != nil { 4337 return x.StartTime 4338 } 4339 return 0 4340 } 4341 4342 func (x *TradesRequest) GetEndTime() int64 { 4343 if x != nil { 4344 return x.EndTime 4345 } 4346 return 0 4347 } 4348 4349 func (x *TradesRequest) GetMarketIds() []string { 4350 if x != nil { 4351 return x.MarketIds 4352 } 4353 return nil 4354 } 4355 4356 func (x *TradesRequest) GetSubaccountIds() []string { 4357 if x != nil { 4358 return x.SubaccountIds 4359 } 4360 return nil 4361 } 4362 4363 func (x *TradesRequest) GetExecutionTypes() []string { 4364 if x != nil { 4365 return x.ExecutionTypes 4366 } 4367 return nil 4368 } 4369 4370 func (x *TradesRequest) GetTradeId() string { 4371 if x != nil { 4372 return x.TradeId 4373 } 4374 return "" 4375 } 4376 4377 func (x *TradesRequest) GetAccountAddress() string { 4378 if x != nil { 4379 return x.AccountAddress 4380 } 4381 return "" 4382 } 4383 4384 func (x *TradesRequest) GetCid() string { 4385 if x != nil { 4386 return x.Cid 4387 } 4388 return "" 4389 } 4390 4391 type TradesResponse struct { 4392 state protoimpl.MessageState 4393 sizeCache protoimpl.SizeCache 4394 unknownFields protoimpl.UnknownFields 4395 4396 // Trades of a Derivative Market 4397 Trades []*DerivativeTrade `protobuf:"bytes,1,rep,name=trades,proto3" json:"trades,omitempty"` 4398 Paging *Paging `protobuf:"bytes,2,opt,name=paging,proto3" json:"paging,omitempty"` 4399 } 4400 4401 func (x *TradesResponse) Reset() { 4402 *x = TradesResponse{} 4403 if protoimpl.UnsafeEnabled { 4404 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[52] 4405 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4406 ms.StoreMessageInfo(mi) 4407 } 4408 } 4409 4410 func (x *TradesResponse) String() string { 4411 return protoimpl.X.MessageStringOf(x) 4412 } 4413 4414 func (*TradesResponse) ProtoMessage() {} 4415 4416 func (x *TradesResponse) ProtoReflect() protoreflect.Message { 4417 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[52] 4418 if protoimpl.UnsafeEnabled && x != nil { 4419 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4420 if ms.LoadMessageInfo() == nil { 4421 ms.StoreMessageInfo(mi) 4422 } 4423 return ms 4424 } 4425 return mi.MessageOf(x) 4426 } 4427 4428 // Deprecated: Use TradesResponse.ProtoReflect.Descriptor instead. 4429 func (*TradesResponse) Descriptor() ([]byte, []int) { 4430 return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{52} 4431 } 4432 4433 func (x *TradesResponse) GetTrades() []*DerivativeTrade { 4434 if x != nil { 4435 return x.Trades 4436 } 4437 return nil 4438 } 4439 4440 func (x *TradesResponse) GetPaging() *Paging { 4441 if x != nil { 4442 return x.Paging 4443 } 4444 return nil 4445 } 4446 4447 type DerivativeTrade struct { 4448 state protoimpl.MessageState 4449 sizeCache protoimpl.SizeCache 4450 unknownFields protoimpl.UnknownFields 4451 4452 // Order hash. 4453 OrderHash string `protobuf:"bytes,1,opt,name=order_hash,json=orderHash,proto3" json:"order_hash,omitempty"` 4454 // The subaccountId that executed the trade 4455 SubaccountId string `protobuf:"bytes,2,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` 4456 // The ID of the market that this trade is in 4457 MarketId string `protobuf:"bytes,3,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` 4458 // The execution type of the trade 4459 TradeExecutionType string `protobuf:"bytes,4,opt,name=trade_execution_type,json=tradeExecutionType,proto3" json:"trade_execution_type,omitempty"` 4460 // True if the trade is a liquidation 4461 IsLiquidation bool `protobuf:"varint,5,opt,name=is_liquidation,json=isLiquidation,proto3" json:"is_liquidation,omitempty"` 4462 // Position Delta from the trade 4463 PositionDelta *PositionDelta `protobuf:"bytes,6,opt,name=position_delta,json=positionDelta,proto3" json:"position_delta,omitempty"` 4464 // The payout associated with the trade 4465 Payout string `protobuf:"bytes,7,opt,name=payout,proto3" json:"payout,omitempty"` 4466 // The fee associated with the trade 4467 Fee string `protobuf:"bytes,8,opt,name=fee,proto3" json:"fee,omitempty"` 4468 // Timestamp of trade execution in UNIX millis 4469 ExecutedAt int64 `protobuf:"zigzag64,9,opt,name=executed_at,json=executedAt,proto3" json:"executed_at,omitempty"` 4470 // Fee recipient address 4471 FeeRecipient string `protobuf:"bytes,10,opt,name=fee_recipient,json=feeRecipient,proto3" json:"fee_recipient,omitempty"` 4472 // A unique string that helps differentiate between trades 4473 TradeId string `protobuf:"bytes,11,opt,name=trade_id,json=tradeId,proto3" json:"trade_id,omitempty"` 4474 // Trade's execution side, marker/taker 4475 ExecutionSide string `protobuf:"bytes,12,opt,name=execution_side,json=executionSide,proto3" json:"execution_side,omitempty"` 4476 // Custom client order ID 4477 Cid string `protobuf:"bytes,13,opt,name=cid,proto3" json:"cid,omitempty"` 4478 } 4479 4480 func (x *DerivativeTrade) Reset() { 4481 *x = DerivativeTrade{} 4482 if protoimpl.UnsafeEnabled { 4483 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[53] 4484 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4485 ms.StoreMessageInfo(mi) 4486 } 4487 } 4488 4489 func (x *DerivativeTrade) String() string { 4490 return protoimpl.X.MessageStringOf(x) 4491 } 4492 4493 func (*DerivativeTrade) ProtoMessage() {} 4494 4495 func (x *DerivativeTrade) ProtoReflect() protoreflect.Message { 4496 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[53] 4497 if protoimpl.UnsafeEnabled && x != nil { 4498 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4499 if ms.LoadMessageInfo() == nil { 4500 ms.StoreMessageInfo(mi) 4501 } 4502 return ms 4503 } 4504 return mi.MessageOf(x) 4505 } 4506 4507 // Deprecated: Use DerivativeTrade.ProtoReflect.Descriptor instead. 4508 func (*DerivativeTrade) Descriptor() ([]byte, []int) { 4509 return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{53} 4510 } 4511 4512 func (x *DerivativeTrade) GetOrderHash() string { 4513 if x != nil { 4514 return x.OrderHash 4515 } 4516 return "" 4517 } 4518 4519 func (x *DerivativeTrade) GetSubaccountId() string { 4520 if x != nil { 4521 return x.SubaccountId 4522 } 4523 return "" 4524 } 4525 4526 func (x *DerivativeTrade) GetMarketId() string { 4527 if x != nil { 4528 return x.MarketId 4529 } 4530 return "" 4531 } 4532 4533 func (x *DerivativeTrade) GetTradeExecutionType() string { 4534 if x != nil { 4535 return x.TradeExecutionType 4536 } 4537 return "" 4538 } 4539 4540 func (x *DerivativeTrade) GetIsLiquidation() bool { 4541 if x != nil { 4542 return x.IsLiquidation 4543 } 4544 return false 4545 } 4546 4547 func (x *DerivativeTrade) GetPositionDelta() *PositionDelta { 4548 if x != nil { 4549 return x.PositionDelta 4550 } 4551 return nil 4552 } 4553 4554 func (x *DerivativeTrade) GetPayout() string { 4555 if x != nil { 4556 return x.Payout 4557 } 4558 return "" 4559 } 4560 4561 func (x *DerivativeTrade) GetFee() string { 4562 if x != nil { 4563 return x.Fee 4564 } 4565 return "" 4566 } 4567 4568 func (x *DerivativeTrade) GetExecutedAt() int64 { 4569 if x != nil { 4570 return x.ExecutedAt 4571 } 4572 return 0 4573 } 4574 4575 func (x *DerivativeTrade) GetFeeRecipient() string { 4576 if x != nil { 4577 return x.FeeRecipient 4578 } 4579 return "" 4580 } 4581 4582 func (x *DerivativeTrade) GetTradeId() string { 4583 if x != nil { 4584 return x.TradeId 4585 } 4586 return "" 4587 } 4588 4589 func (x *DerivativeTrade) GetExecutionSide() string { 4590 if x != nil { 4591 return x.ExecutionSide 4592 } 4593 return "" 4594 } 4595 4596 func (x *DerivativeTrade) GetCid() string { 4597 if x != nil { 4598 return x.Cid 4599 } 4600 return "" 4601 } 4602 4603 type PositionDelta struct { 4604 state protoimpl.MessageState 4605 sizeCache protoimpl.SizeCache 4606 unknownFields protoimpl.UnknownFields 4607 4608 // The direction the trade 4609 TradeDirection string `protobuf:"bytes,1,opt,name=trade_direction,json=tradeDirection,proto3" json:"trade_direction,omitempty"` 4610 // Execution Price of the trade. 4611 ExecutionPrice string `protobuf:"bytes,2,opt,name=execution_price,json=executionPrice,proto3" json:"execution_price,omitempty"` 4612 // Execution Quantity of the trade. 4613 ExecutionQuantity string `protobuf:"bytes,3,opt,name=execution_quantity,json=executionQuantity,proto3" json:"execution_quantity,omitempty"` 4614 // Execution Margin of the trade. 4615 ExecutionMargin string `protobuf:"bytes,4,opt,name=execution_margin,json=executionMargin,proto3" json:"execution_margin,omitempty"` 4616 } 4617 4618 func (x *PositionDelta) Reset() { 4619 *x = PositionDelta{} 4620 if protoimpl.UnsafeEnabled { 4621 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[54] 4622 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4623 ms.StoreMessageInfo(mi) 4624 } 4625 } 4626 4627 func (x *PositionDelta) String() string { 4628 return protoimpl.X.MessageStringOf(x) 4629 } 4630 4631 func (*PositionDelta) ProtoMessage() {} 4632 4633 func (x *PositionDelta) ProtoReflect() protoreflect.Message { 4634 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[54] 4635 if protoimpl.UnsafeEnabled && x != nil { 4636 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4637 if ms.LoadMessageInfo() == nil { 4638 ms.StoreMessageInfo(mi) 4639 } 4640 return ms 4641 } 4642 return mi.MessageOf(x) 4643 } 4644 4645 // Deprecated: Use PositionDelta.ProtoReflect.Descriptor instead. 4646 func (*PositionDelta) Descriptor() ([]byte, []int) { 4647 return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{54} 4648 } 4649 4650 func (x *PositionDelta) GetTradeDirection() string { 4651 if x != nil { 4652 return x.TradeDirection 4653 } 4654 return "" 4655 } 4656 4657 func (x *PositionDelta) GetExecutionPrice() string { 4658 if x != nil { 4659 return x.ExecutionPrice 4660 } 4661 return "" 4662 } 4663 4664 func (x *PositionDelta) GetExecutionQuantity() string { 4665 if x != nil { 4666 return x.ExecutionQuantity 4667 } 4668 return "" 4669 } 4670 4671 func (x *PositionDelta) GetExecutionMargin() string { 4672 if x != nil { 4673 return x.ExecutionMargin 4674 } 4675 return "" 4676 } 4677 4678 type TradesV2Request struct { 4679 state protoimpl.MessageState 4680 sizeCache protoimpl.SizeCache 4681 unknownFields protoimpl.UnknownFields 4682 4683 // MarketId of the market's orderbook we want to fetch 4684 MarketId string `protobuf:"bytes,1,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` 4685 // Filter by execution side of the trade 4686 ExecutionSide string `protobuf:"bytes,2,opt,name=execution_side,json=executionSide,proto3" json:"execution_side,omitempty"` 4687 // Filter by direction the trade 4688 Direction string `protobuf:"bytes,3,opt,name=direction,proto3" json:"direction,omitempty"` 4689 // SubaccountId of the trader we want to get the trades from 4690 SubaccountId string `protobuf:"bytes,4,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` 4691 // Skip will skip the first n item from the result 4692 Skip uint64 `protobuf:"varint,5,opt,name=skip,proto3" json:"skip,omitempty"` 4693 // Limit is used to specify the maximum number of items to be returned. 4694 Limit int32 `protobuf:"zigzag32,6,opt,name=limit,proto3" json:"limit,omitempty"` 4695 // The starting timestamp in UNIX milliseconds that the trades must be equal or 4696 // older than 4697 StartTime int64 `protobuf:"zigzag64,7,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` 4698 // The ending timestamp in UNIX milliseconds that the trades must be equal or 4699 // younger than 4700 EndTime int64 `protobuf:"zigzag64,8,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` 4701 // MarketIds of the markets of which we want to get trades 4702 MarketIds []string `protobuf:"bytes,9,rep,name=market_ids,json=marketIds,proto3" json:"market_ids,omitempty"` 4703 // Subaccount ids of traders we want to get trades. Use this field for fetching 4704 // trades from multiple subaccounts 4705 SubaccountIds []string `protobuf:"bytes,10,rep,name=subaccount_ids,json=subaccountIds,proto3" json:"subaccount_ids,omitempty"` 4706 ExecutionTypes []string `protobuf:"bytes,11,rep,name=execution_types,json=executionTypes,proto3" json:"execution_types,omitempty"` 4707 // Filter by the tradeId of the trade 4708 TradeId string `protobuf:"bytes,12,opt,name=trade_id,json=tradeId,proto3" json:"trade_id,omitempty"` 4709 // Account address 4710 AccountAddress string `protobuf:"bytes,13,opt,name=account_address,json=accountAddress,proto3" json:"account_address,omitempty"` 4711 // Client order ID 4712 Cid string `protobuf:"bytes,14,opt,name=cid,proto3" json:"cid,omitempty"` 4713 } 4714 4715 func (x *TradesV2Request) Reset() { 4716 *x = TradesV2Request{} 4717 if protoimpl.UnsafeEnabled { 4718 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[55] 4719 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4720 ms.StoreMessageInfo(mi) 4721 } 4722 } 4723 4724 func (x *TradesV2Request) String() string { 4725 return protoimpl.X.MessageStringOf(x) 4726 } 4727 4728 func (*TradesV2Request) ProtoMessage() {} 4729 4730 func (x *TradesV2Request) ProtoReflect() protoreflect.Message { 4731 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[55] 4732 if protoimpl.UnsafeEnabled && x != nil { 4733 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4734 if ms.LoadMessageInfo() == nil { 4735 ms.StoreMessageInfo(mi) 4736 } 4737 return ms 4738 } 4739 return mi.MessageOf(x) 4740 } 4741 4742 // Deprecated: Use TradesV2Request.ProtoReflect.Descriptor instead. 4743 func (*TradesV2Request) Descriptor() ([]byte, []int) { 4744 return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{55} 4745 } 4746 4747 func (x *TradesV2Request) GetMarketId() string { 4748 if x != nil { 4749 return x.MarketId 4750 } 4751 return "" 4752 } 4753 4754 func (x *TradesV2Request) GetExecutionSide() string { 4755 if x != nil { 4756 return x.ExecutionSide 4757 } 4758 return "" 4759 } 4760 4761 func (x *TradesV2Request) GetDirection() string { 4762 if x != nil { 4763 return x.Direction 4764 } 4765 return "" 4766 } 4767 4768 func (x *TradesV2Request) GetSubaccountId() string { 4769 if x != nil { 4770 return x.SubaccountId 4771 } 4772 return "" 4773 } 4774 4775 func (x *TradesV2Request) GetSkip() uint64 { 4776 if x != nil { 4777 return x.Skip 4778 } 4779 return 0 4780 } 4781 4782 func (x *TradesV2Request) GetLimit() int32 { 4783 if x != nil { 4784 return x.Limit 4785 } 4786 return 0 4787 } 4788 4789 func (x *TradesV2Request) GetStartTime() int64 { 4790 if x != nil { 4791 return x.StartTime 4792 } 4793 return 0 4794 } 4795 4796 func (x *TradesV2Request) GetEndTime() int64 { 4797 if x != nil { 4798 return x.EndTime 4799 } 4800 return 0 4801 } 4802 4803 func (x *TradesV2Request) GetMarketIds() []string { 4804 if x != nil { 4805 return x.MarketIds 4806 } 4807 return nil 4808 } 4809 4810 func (x *TradesV2Request) GetSubaccountIds() []string { 4811 if x != nil { 4812 return x.SubaccountIds 4813 } 4814 return nil 4815 } 4816 4817 func (x *TradesV2Request) GetExecutionTypes() []string { 4818 if x != nil { 4819 return x.ExecutionTypes 4820 } 4821 return nil 4822 } 4823 4824 func (x *TradesV2Request) GetTradeId() string { 4825 if x != nil { 4826 return x.TradeId 4827 } 4828 return "" 4829 } 4830 4831 func (x *TradesV2Request) GetAccountAddress() string { 4832 if x != nil { 4833 return x.AccountAddress 4834 } 4835 return "" 4836 } 4837 4838 func (x *TradesV2Request) GetCid() string { 4839 if x != nil { 4840 return x.Cid 4841 } 4842 return "" 4843 } 4844 4845 type TradesV2Response struct { 4846 state protoimpl.MessageState 4847 sizeCache protoimpl.SizeCache 4848 unknownFields protoimpl.UnknownFields 4849 4850 // Trades of a Derivative Market 4851 Trades []*DerivativeTrade `protobuf:"bytes,1,rep,name=trades,proto3" json:"trades,omitempty"` 4852 Paging *Paging `protobuf:"bytes,2,opt,name=paging,proto3" json:"paging,omitempty"` 4853 } 4854 4855 func (x *TradesV2Response) Reset() { 4856 *x = TradesV2Response{} 4857 if protoimpl.UnsafeEnabled { 4858 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[56] 4859 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4860 ms.StoreMessageInfo(mi) 4861 } 4862 } 4863 4864 func (x *TradesV2Response) String() string { 4865 return protoimpl.X.MessageStringOf(x) 4866 } 4867 4868 func (*TradesV2Response) ProtoMessage() {} 4869 4870 func (x *TradesV2Response) ProtoReflect() protoreflect.Message { 4871 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[56] 4872 if protoimpl.UnsafeEnabled && x != nil { 4873 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4874 if ms.LoadMessageInfo() == nil { 4875 ms.StoreMessageInfo(mi) 4876 } 4877 return ms 4878 } 4879 return mi.MessageOf(x) 4880 } 4881 4882 // Deprecated: Use TradesV2Response.ProtoReflect.Descriptor instead. 4883 func (*TradesV2Response) Descriptor() ([]byte, []int) { 4884 return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{56} 4885 } 4886 4887 func (x *TradesV2Response) GetTrades() []*DerivativeTrade { 4888 if x != nil { 4889 return x.Trades 4890 } 4891 return nil 4892 } 4893 4894 func (x *TradesV2Response) GetPaging() *Paging { 4895 if x != nil { 4896 return x.Paging 4897 } 4898 return nil 4899 } 4900 4901 type StreamTradesRequest struct { 4902 state protoimpl.MessageState 4903 sizeCache protoimpl.SizeCache 4904 unknownFields protoimpl.UnknownFields 4905 4906 // MarketId of the market's orderbook we want to fetch 4907 MarketId string `protobuf:"bytes,1,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` 4908 // Filter by execution side of the trade 4909 ExecutionSide string `protobuf:"bytes,2,opt,name=execution_side,json=executionSide,proto3" json:"execution_side,omitempty"` 4910 // Filter by direction the trade 4911 Direction string `protobuf:"bytes,3,opt,name=direction,proto3" json:"direction,omitempty"` 4912 // SubaccountId of the trader we want to get the trades from 4913 SubaccountId string `protobuf:"bytes,4,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` 4914 // Skip will skip the first n item from the result 4915 Skip uint64 `protobuf:"varint,5,opt,name=skip,proto3" json:"skip,omitempty"` 4916 // Limit is used to specify the maximum number of items to be returned. 4917 Limit int32 `protobuf:"zigzag32,6,opt,name=limit,proto3" json:"limit,omitempty"` 4918 // The starting timestamp in UNIX milliseconds that the trades must be equal or 4919 // older than 4920 StartTime int64 `protobuf:"zigzag64,7,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` 4921 // The ending timestamp in UNIX milliseconds that the trades must be equal or 4922 // younger than 4923 EndTime int64 `protobuf:"zigzag64,8,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` 4924 // MarketIds of the markets of which we want to get trades 4925 MarketIds []string `protobuf:"bytes,9,rep,name=market_ids,json=marketIds,proto3" json:"market_ids,omitempty"` 4926 // Subaccount ids of traders we want to get trades. Use this field for fetching 4927 // trades from multiple subaccounts 4928 SubaccountIds []string `protobuf:"bytes,10,rep,name=subaccount_ids,json=subaccountIds,proto3" json:"subaccount_ids,omitempty"` 4929 ExecutionTypes []string `protobuf:"bytes,11,rep,name=execution_types,json=executionTypes,proto3" json:"execution_types,omitempty"` 4930 // Filter by the tradeId of the trade 4931 TradeId string `protobuf:"bytes,12,opt,name=trade_id,json=tradeId,proto3" json:"trade_id,omitempty"` 4932 // Account address 4933 AccountAddress string `protobuf:"bytes,13,opt,name=account_address,json=accountAddress,proto3" json:"account_address,omitempty"` 4934 // Client order ID 4935 Cid string `protobuf:"bytes,14,opt,name=cid,proto3" json:"cid,omitempty"` 4936 } 4937 4938 func (x *StreamTradesRequest) Reset() { 4939 *x = StreamTradesRequest{} 4940 if protoimpl.UnsafeEnabled { 4941 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[57] 4942 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4943 ms.StoreMessageInfo(mi) 4944 } 4945 } 4946 4947 func (x *StreamTradesRequest) String() string { 4948 return protoimpl.X.MessageStringOf(x) 4949 } 4950 4951 func (*StreamTradesRequest) ProtoMessage() {} 4952 4953 func (x *StreamTradesRequest) ProtoReflect() protoreflect.Message { 4954 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[57] 4955 if protoimpl.UnsafeEnabled && x != nil { 4956 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4957 if ms.LoadMessageInfo() == nil { 4958 ms.StoreMessageInfo(mi) 4959 } 4960 return ms 4961 } 4962 return mi.MessageOf(x) 4963 } 4964 4965 // Deprecated: Use StreamTradesRequest.ProtoReflect.Descriptor instead. 4966 func (*StreamTradesRequest) Descriptor() ([]byte, []int) { 4967 return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{57} 4968 } 4969 4970 func (x *StreamTradesRequest) GetMarketId() string { 4971 if x != nil { 4972 return x.MarketId 4973 } 4974 return "" 4975 } 4976 4977 func (x *StreamTradesRequest) GetExecutionSide() string { 4978 if x != nil { 4979 return x.ExecutionSide 4980 } 4981 return "" 4982 } 4983 4984 func (x *StreamTradesRequest) GetDirection() string { 4985 if x != nil { 4986 return x.Direction 4987 } 4988 return "" 4989 } 4990 4991 func (x *StreamTradesRequest) GetSubaccountId() string { 4992 if x != nil { 4993 return x.SubaccountId 4994 } 4995 return "" 4996 } 4997 4998 func (x *StreamTradesRequest) GetSkip() uint64 { 4999 if x != nil { 5000 return x.Skip 5001 } 5002 return 0 5003 } 5004 5005 func (x *StreamTradesRequest) GetLimit() int32 { 5006 if x != nil { 5007 return x.Limit 5008 } 5009 return 0 5010 } 5011 5012 func (x *StreamTradesRequest) GetStartTime() int64 { 5013 if x != nil { 5014 return x.StartTime 5015 } 5016 return 0 5017 } 5018 5019 func (x *StreamTradesRequest) GetEndTime() int64 { 5020 if x != nil { 5021 return x.EndTime 5022 } 5023 return 0 5024 } 5025 5026 func (x *StreamTradesRequest) GetMarketIds() []string { 5027 if x != nil { 5028 return x.MarketIds 5029 } 5030 return nil 5031 } 5032 5033 func (x *StreamTradesRequest) GetSubaccountIds() []string { 5034 if x != nil { 5035 return x.SubaccountIds 5036 } 5037 return nil 5038 } 5039 5040 func (x *StreamTradesRequest) GetExecutionTypes() []string { 5041 if x != nil { 5042 return x.ExecutionTypes 5043 } 5044 return nil 5045 } 5046 5047 func (x *StreamTradesRequest) GetTradeId() string { 5048 if x != nil { 5049 return x.TradeId 5050 } 5051 return "" 5052 } 5053 5054 func (x *StreamTradesRequest) GetAccountAddress() string { 5055 if x != nil { 5056 return x.AccountAddress 5057 } 5058 return "" 5059 } 5060 5061 func (x *StreamTradesRequest) GetCid() string { 5062 if x != nil { 5063 return x.Cid 5064 } 5065 return "" 5066 } 5067 5068 type StreamTradesResponse struct { 5069 state protoimpl.MessageState 5070 sizeCache protoimpl.SizeCache 5071 unknownFields protoimpl.UnknownFields 5072 5073 // New derivative market trade 5074 Trade *DerivativeTrade `protobuf:"bytes,1,opt,name=trade,proto3" json:"trade,omitempty"` 5075 // Executed trades update type 5076 OperationType string `protobuf:"bytes,2,opt,name=operation_type,json=operationType,proto3" json:"operation_type,omitempty"` 5077 // Operation timestamp in UNIX millis. 5078 Timestamp int64 `protobuf:"zigzag64,3,opt,name=timestamp,proto3" json:"timestamp,omitempty"` 5079 } 5080 5081 func (x *StreamTradesResponse) Reset() { 5082 *x = StreamTradesResponse{} 5083 if protoimpl.UnsafeEnabled { 5084 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[58] 5085 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5086 ms.StoreMessageInfo(mi) 5087 } 5088 } 5089 5090 func (x *StreamTradesResponse) String() string { 5091 return protoimpl.X.MessageStringOf(x) 5092 } 5093 5094 func (*StreamTradesResponse) ProtoMessage() {} 5095 5096 func (x *StreamTradesResponse) ProtoReflect() protoreflect.Message { 5097 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[58] 5098 if protoimpl.UnsafeEnabled && x != nil { 5099 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5100 if ms.LoadMessageInfo() == nil { 5101 ms.StoreMessageInfo(mi) 5102 } 5103 return ms 5104 } 5105 return mi.MessageOf(x) 5106 } 5107 5108 // Deprecated: Use StreamTradesResponse.ProtoReflect.Descriptor instead. 5109 func (*StreamTradesResponse) Descriptor() ([]byte, []int) { 5110 return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{58} 5111 } 5112 5113 func (x *StreamTradesResponse) GetTrade() *DerivativeTrade { 5114 if x != nil { 5115 return x.Trade 5116 } 5117 return nil 5118 } 5119 5120 func (x *StreamTradesResponse) GetOperationType() string { 5121 if x != nil { 5122 return x.OperationType 5123 } 5124 return "" 5125 } 5126 5127 func (x *StreamTradesResponse) GetTimestamp() int64 { 5128 if x != nil { 5129 return x.Timestamp 5130 } 5131 return 0 5132 } 5133 5134 type StreamTradesV2Request struct { 5135 state protoimpl.MessageState 5136 sizeCache protoimpl.SizeCache 5137 unknownFields protoimpl.UnknownFields 5138 5139 // MarketId of the market's orderbook we want to fetch 5140 MarketId string `protobuf:"bytes,1,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` 5141 // Filter by execution side of the trade 5142 ExecutionSide string `protobuf:"bytes,2,opt,name=execution_side,json=executionSide,proto3" json:"execution_side,omitempty"` 5143 // Filter by direction the trade 5144 Direction string `protobuf:"bytes,3,opt,name=direction,proto3" json:"direction,omitempty"` 5145 // SubaccountId of the trader we want to get the trades from 5146 SubaccountId string `protobuf:"bytes,4,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` 5147 // Skip will skip the first n item from the result 5148 Skip uint64 `protobuf:"varint,5,opt,name=skip,proto3" json:"skip,omitempty"` 5149 // Limit is used to specify the maximum number of items to be returned. 5150 Limit int32 `protobuf:"zigzag32,6,opt,name=limit,proto3" json:"limit,omitempty"` 5151 // The starting timestamp in UNIX milliseconds that the trades must be equal or 5152 // older than 5153 StartTime int64 `protobuf:"zigzag64,7,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` 5154 // The ending timestamp in UNIX milliseconds that the trades must be equal or 5155 // younger than 5156 EndTime int64 `protobuf:"zigzag64,8,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` 5157 // MarketIds of the markets of which we want to get trades 5158 MarketIds []string `protobuf:"bytes,9,rep,name=market_ids,json=marketIds,proto3" json:"market_ids,omitempty"` 5159 // Subaccount ids of traders we want to get trades. Use this field for fetching 5160 // trades from multiple subaccounts 5161 SubaccountIds []string `protobuf:"bytes,10,rep,name=subaccount_ids,json=subaccountIds,proto3" json:"subaccount_ids,omitempty"` 5162 ExecutionTypes []string `protobuf:"bytes,11,rep,name=execution_types,json=executionTypes,proto3" json:"execution_types,omitempty"` 5163 // Filter by the tradeId of the trade 5164 TradeId string `protobuf:"bytes,12,opt,name=trade_id,json=tradeId,proto3" json:"trade_id,omitempty"` 5165 // Account address 5166 AccountAddress string `protobuf:"bytes,13,opt,name=account_address,json=accountAddress,proto3" json:"account_address,omitempty"` 5167 // Client order ID 5168 Cid string `protobuf:"bytes,14,opt,name=cid,proto3" json:"cid,omitempty"` 5169 } 5170 5171 func (x *StreamTradesV2Request) Reset() { 5172 *x = StreamTradesV2Request{} 5173 if protoimpl.UnsafeEnabled { 5174 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[59] 5175 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5176 ms.StoreMessageInfo(mi) 5177 } 5178 } 5179 5180 func (x *StreamTradesV2Request) String() string { 5181 return protoimpl.X.MessageStringOf(x) 5182 } 5183 5184 func (*StreamTradesV2Request) ProtoMessage() {} 5185 5186 func (x *StreamTradesV2Request) ProtoReflect() protoreflect.Message { 5187 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[59] 5188 if protoimpl.UnsafeEnabled && x != nil { 5189 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5190 if ms.LoadMessageInfo() == nil { 5191 ms.StoreMessageInfo(mi) 5192 } 5193 return ms 5194 } 5195 return mi.MessageOf(x) 5196 } 5197 5198 // Deprecated: Use StreamTradesV2Request.ProtoReflect.Descriptor instead. 5199 func (*StreamTradesV2Request) Descriptor() ([]byte, []int) { 5200 return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{59} 5201 } 5202 5203 func (x *StreamTradesV2Request) GetMarketId() string { 5204 if x != nil { 5205 return x.MarketId 5206 } 5207 return "" 5208 } 5209 5210 func (x *StreamTradesV2Request) GetExecutionSide() string { 5211 if x != nil { 5212 return x.ExecutionSide 5213 } 5214 return "" 5215 } 5216 5217 func (x *StreamTradesV2Request) GetDirection() string { 5218 if x != nil { 5219 return x.Direction 5220 } 5221 return "" 5222 } 5223 5224 func (x *StreamTradesV2Request) GetSubaccountId() string { 5225 if x != nil { 5226 return x.SubaccountId 5227 } 5228 return "" 5229 } 5230 5231 func (x *StreamTradesV2Request) GetSkip() uint64 { 5232 if x != nil { 5233 return x.Skip 5234 } 5235 return 0 5236 } 5237 5238 func (x *StreamTradesV2Request) GetLimit() int32 { 5239 if x != nil { 5240 return x.Limit 5241 } 5242 return 0 5243 } 5244 5245 func (x *StreamTradesV2Request) GetStartTime() int64 { 5246 if x != nil { 5247 return x.StartTime 5248 } 5249 return 0 5250 } 5251 5252 func (x *StreamTradesV2Request) GetEndTime() int64 { 5253 if x != nil { 5254 return x.EndTime 5255 } 5256 return 0 5257 } 5258 5259 func (x *StreamTradesV2Request) GetMarketIds() []string { 5260 if x != nil { 5261 return x.MarketIds 5262 } 5263 return nil 5264 } 5265 5266 func (x *StreamTradesV2Request) GetSubaccountIds() []string { 5267 if x != nil { 5268 return x.SubaccountIds 5269 } 5270 return nil 5271 } 5272 5273 func (x *StreamTradesV2Request) GetExecutionTypes() []string { 5274 if x != nil { 5275 return x.ExecutionTypes 5276 } 5277 return nil 5278 } 5279 5280 func (x *StreamTradesV2Request) GetTradeId() string { 5281 if x != nil { 5282 return x.TradeId 5283 } 5284 return "" 5285 } 5286 5287 func (x *StreamTradesV2Request) GetAccountAddress() string { 5288 if x != nil { 5289 return x.AccountAddress 5290 } 5291 return "" 5292 } 5293 5294 func (x *StreamTradesV2Request) GetCid() string { 5295 if x != nil { 5296 return x.Cid 5297 } 5298 return "" 5299 } 5300 5301 type StreamTradesV2Response struct { 5302 state protoimpl.MessageState 5303 sizeCache protoimpl.SizeCache 5304 unknownFields protoimpl.UnknownFields 5305 5306 // New derivative market trade 5307 Trade *DerivativeTrade `protobuf:"bytes,1,opt,name=trade,proto3" json:"trade,omitempty"` 5308 // Executed trades update type 5309 OperationType string `protobuf:"bytes,2,opt,name=operation_type,json=operationType,proto3" json:"operation_type,omitempty"` 5310 // Operation timestamp in UNIX millis. 5311 Timestamp int64 `protobuf:"zigzag64,3,opt,name=timestamp,proto3" json:"timestamp,omitempty"` 5312 } 5313 5314 func (x *StreamTradesV2Response) Reset() { 5315 *x = StreamTradesV2Response{} 5316 if protoimpl.UnsafeEnabled { 5317 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[60] 5318 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5319 ms.StoreMessageInfo(mi) 5320 } 5321 } 5322 5323 func (x *StreamTradesV2Response) String() string { 5324 return protoimpl.X.MessageStringOf(x) 5325 } 5326 5327 func (*StreamTradesV2Response) ProtoMessage() {} 5328 5329 func (x *StreamTradesV2Response) ProtoReflect() protoreflect.Message { 5330 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[60] 5331 if protoimpl.UnsafeEnabled && x != nil { 5332 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5333 if ms.LoadMessageInfo() == nil { 5334 ms.StoreMessageInfo(mi) 5335 } 5336 return ms 5337 } 5338 return mi.MessageOf(x) 5339 } 5340 5341 // Deprecated: Use StreamTradesV2Response.ProtoReflect.Descriptor instead. 5342 func (*StreamTradesV2Response) Descriptor() ([]byte, []int) { 5343 return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{60} 5344 } 5345 5346 func (x *StreamTradesV2Response) GetTrade() *DerivativeTrade { 5347 if x != nil { 5348 return x.Trade 5349 } 5350 return nil 5351 } 5352 5353 func (x *StreamTradesV2Response) GetOperationType() string { 5354 if x != nil { 5355 return x.OperationType 5356 } 5357 return "" 5358 } 5359 5360 func (x *StreamTradesV2Response) GetTimestamp() int64 { 5361 if x != nil { 5362 return x.Timestamp 5363 } 5364 return 0 5365 } 5366 5367 type SubaccountOrdersListRequest struct { 5368 state protoimpl.MessageState 5369 sizeCache protoimpl.SizeCache 5370 unknownFields protoimpl.UnknownFields 5371 5372 // subaccount ID to filter orders for specific subaccount 5373 SubaccountId string `protobuf:"bytes,1,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` 5374 // Market ID to filter orders for specific market 5375 MarketId string `protobuf:"bytes,2,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` 5376 // Skip will skip the first n item from the result 5377 Skip uint64 `protobuf:"varint,3,opt,name=skip,proto3" json:"skip,omitempty"` 5378 // Limit is used to specify the maximum number of items to be returned 5379 Limit int32 `protobuf:"zigzag32,4,opt,name=limit,proto3" json:"limit,omitempty"` 5380 } 5381 5382 func (x *SubaccountOrdersListRequest) Reset() { 5383 *x = SubaccountOrdersListRequest{} 5384 if protoimpl.UnsafeEnabled { 5385 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[61] 5386 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5387 ms.StoreMessageInfo(mi) 5388 } 5389 } 5390 5391 func (x *SubaccountOrdersListRequest) String() string { 5392 return protoimpl.X.MessageStringOf(x) 5393 } 5394 5395 func (*SubaccountOrdersListRequest) ProtoMessage() {} 5396 5397 func (x *SubaccountOrdersListRequest) ProtoReflect() protoreflect.Message { 5398 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[61] 5399 if protoimpl.UnsafeEnabled && x != nil { 5400 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5401 if ms.LoadMessageInfo() == nil { 5402 ms.StoreMessageInfo(mi) 5403 } 5404 return ms 5405 } 5406 return mi.MessageOf(x) 5407 } 5408 5409 // Deprecated: Use SubaccountOrdersListRequest.ProtoReflect.Descriptor instead. 5410 func (*SubaccountOrdersListRequest) Descriptor() ([]byte, []int) { 5411 return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{61} 5412 } 5413 5414 func (x *SubaccountOrdersListRequest) GetSubaccountId() string { 5415 if x != nil { 5416 return x.SubaccountId 5417 } 5418 return "" 5419 } 5420 5421 func (x *SubaccountOrdersListRequest) GetMarketId() string { 5422 if x != nil { 5423 return x.MarketId 5424 } 5425 return "" 5426 } 5427 5428 func (x *SubaccountOrdersListRequest) GetSkip() uint64 { 5429 if x != nil { 5430 return x.Skip 5431 } 5432 return 0 5433 } 5434 5435 func (x *SubaccountOrdersListRequest) GetLimit() int32 { 5436 if x != nil { 5437 return x.Limit 5438 } 5439 return 0 5440 } 5441 5442 type SubaccountOrdersListResponse struct { 5443 state protoimpl.MessageState 5444 sizeCache protoimpl.SizeCache 5445 unknownFields protoimpl.UnknownFields 5446 5447 // List of derivative orders 5448 Orders []*DerivativeLimitOrder `protobuf:"bytes,1,rep,name=orders,proto3" json:"orders,omitempty"` 5449 Paging *Paging `protobuf:"bytes,2,opt,name=paging,proto3" json:"paging,omitempty"` 5450 } 5451 5452 func (x *SubaccountOrdersListResponse) Reset() { 5453 *x = SubaccountOrdersListResponse{} 5454 if protoimpl.UnsafeEnabled { 5455 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[62] 5456 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5457 ms.StoreMessageInfo(mi) 5458 } 5459 } 5460 5461 func (x *SubaccountOrdersListResponse) String() string { 5462 return protoimpl.X.MessageStringOf(x) 5463 } 5464 5465 func (*SubaccountOrdersListResponse) ProtoMessage() {} 5466 5467 func (x *SubaccountOrdersListResponse) ProtoReflect() protoreflect.Message { 5468 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[62] 5469 if protoimpl.UnsafeEnabled && x != nil { 5470 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5471 if ms.LoadMessageInfo() == nil { 5472 ms.StoreMessageInfo(mi) 5473 } 5474 return ms 5475 } 5476 return mi.MessageOf(x) 5477 } 5478 5479 // Deprecated: Use SubaccountOrdersListResponse.ProtoReflect.Descriptor instead. 5480 func (*SubaccountOrdersListResponse) Descriptor() ([]byte, []int) { 5481 return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{62} 5482 } 5483 5484 func (x *SubaccountOrdersListResponse) GetOrders() []*DerivativeLimitOrder { 5485 if x != nil { 5486 return x.Orders 5487 } 5488 return nil 5489 } 5490 5491 func (x *SubaccountOrdersListResponse) GetPaging() *Paging { 5492 if x != nil { 5493 return x.Paging 5494 } 5495 return nil 5496 } 5497 5498 type SubaccountTradesListRequest struct { 5499 state protoimpl.MessageState 5500 sizeCache protoimpl.SizeCache 5501 unknownFields protoimpl.UnknownFields 5502 5503 // SubaccountId of the trader we want to get the trades from 5504 SubaccountId string `protobuf:"bytes,1,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` 5505 // Filter trades by market ID 5506 MarketId string `protobuf:"bytes,2,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` 5507 // Filter by execution type of trades 5508 ExecutionType string `protobuf:"bytes,3,opt,name=execution_type,json=executionType,proto3" json:"execution_type,omitempty"` 5509 // Filter by direction trades 5510 Direction string `protobuf:"bytes,4,opt,name=direction,proto3" json:"direction,omitempty"` 5511 // Skip will skip the first n item from the result 5512 Skip uint64 `protobuf:"varint,5,opt,name=skip,proto3" json:"skip,omitempty"` 5513 // Limit is used to specify the maximum number of items to be returned 5514 Limit int32 `protobuf:"zigzag32,6,opt,name=limit,proto3" json:"limit,omitempty"` 5515 } 5516 5517 func (x *SubaccountTradesListRequest) Reset() { 5518 *x = SubaccountTradesListRequest{} 5519 if protoimpl.UnsafeEnabled { 5520 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[63] 5521 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5522 ms.StoreMessageInfo(mi) 5523 } 5524 } 5525 5526 func (x *SubaccountTradesListRequest) String() string { 5527 return protoimpl.X.MessageStringOf(x) 5528 } 5529 5530 func (*SubaccountTradesListRequest) ProtoMessage() {} 5531 5532 func (x *SubaccountTradesListRequest) ProtoReflect() protoreflect.Message { 5533 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[63] 5534 if protoimpl.UnsafeEnabled && x != nil { 5535 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5536 if ms.LoadMessageInfo() == nil { 5537 ms.StoreMessageInfo(mi) 5538 } 5539 return ms 5540 } 5541 return mi.MessageOf(x) 5542 } 5543 5544 // Deprecated: Use SubaccountTradesListRequest.ProtoReflect.Descriptor instead. 5545 func (*SubaccountTradesListRequest) Descriptor() ([]byte, []int) { 5546 return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{63} 5547 } 5548 5549 func (x *SubaccountTradesListRequest) GetSubaccountId() string { 5550 if x != nil { 5551 return x.SubaccountId 5552 } 5553 return "" 5554 } 5555 5556 func (x *SubaccountTradesListRequest) GetMarketId() string { 5557 if x != nil { 5558 return x.MarketId 5559 } 5560 return "" 5561 } 5562 5563 func (x *SubaccountTradesListRequest) GetExecutionType() string { 5564 if x != nil { 5565 return x.ExecutionType 5566 } 5567 return "" 5568 } 5569 5570 func (x *SubaccountTradesListRequest) GetDirection() string { 5571 if x != nil { 5572 return x.Direction 5573 } 5574 return "" 5575 } 5576 5577 func (x *SubaccountTradesListRequest) GetSkip() uint64 { 5578 if x != nil { 5579 return x.Skip 5580 } 5581 return 0 5582 } 5583 5584 func (x *SubaccountTradesListRequest) GetLimit() int32 { 5585 if x != nil { 5586 return x.Limit 5587 } 5588 return 0 5589 } 5590 5591 type SubaccountTradesListResponse struct { 5592 state protoimpl.MessageState 5593 sizeCache protoimpl.SizeCache 5594 unknownFields protoimpl.UnknownFields 5595 5596 // List of derivative market trades 5597 Trades []*DerivativeTrade `protobuf:"bytes,1,rep,name=trades,proto3" json:"trades,omitempty"` 5598 } 5599 5600 func (x *SubaccountTradesListResponse) Reset() { 5601 *x = SubaccountTradesListResponse{} 5602 if protoimpl.UnsafeEnabled { 5603 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[64] 5604 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5605 ms.StoreMessageInfo(mi) 5606 } 5607 } 5608 5609 func (x *SubaccountTradesListResponse) String() string { 5610 return protoimpl.X.MessageStringOf(x) 5611 } 5612 5613 func (*SubaccountTradesListResponse) ProtoMessage() {} 5614 5615 func (x *SubaccountTradesListResponse) ProtoReflect() protoreflect.Message { 5616 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[64] 5617 if protoimpl.UnsafeEnabled && x != nil { 5618 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5619 if ms.LoadMessageInfo() == nil { 5620 ms.StoreMessageInfo(mi) 5621 } 5622 return ms 5623 } 5624 return mi.MessageOf(x) 5625 } 5626 5627 // Deprecated: Use SubaccountTradesListResponse.ProtoReflect.Descriptor instead. 5628 func (*SubaccountTradesListResponse) Descriptor() ([]byte, []int) { 5629 return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{64} 5630 } 5631 5632 func (x *SubaccountTradesListResponse) GetTrades() []*DerivativeTrade { 5633 if x != nil { 5634 return x.Trades 5635 } 5636 return nil 5637 } 5638 5639 type OrdersHistoryRequest struct { 5640 state protoimpl.MessageState 5641 sizeCache protoimpl.SizeCache 5642 unknownFields protoimpl.UnknownFields 5643 5644 // subaccount ID to filter orders for specific subaccount 5645 SubaccountId string `protobuf:"bytes,1,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` 5646 // Market ID to filter orders for specific market 5647 MarketId string `protobuf:"bytes,2,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` 5648 // Skip will skip the first n item from the result 5649 Skip uint64 `protobuf:"varint,3,opt,name=skip,proto3" json:"skip,omitempty"` 5650 // Limit is used to specify the maximum number of items to be returned 5651 Limit int32 `protobuf:"zigzag32,4,opt,name=limit,proto3" json:"limit,omitempty"` 5652 // filter by order types 5653 OrderTypes []string `protobuf:"bytes,5,rep,name=order_types,json=orderTypes,proto3" json:"order_types,omitempty"` 5654 // order side filter 5655 Direction string `protobuf:"bytes,6,opt,name=direction,proto3" json:"direction,omitempty"` 5656 // Search for orders which createdAt >= startTime, time in millisecond 5657 StartTime int64 `protobuf:"zigzag64,7,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` 5658 // Search for orders which createdAt <= endTime, time in millisecond 5659 EndTime int64 `protobuf:"zigzag64,8,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` 5660 // Only search for conditional/non-conditional orders 5661 IsConditional string `protobuf:"bytes,9,opt,name=is_conditional,json=isConditional,proto3" json:"is_conditional,omitempty"` 5662 // filter by order type 5663 OrderType string `protobuf:"bytes,10,opt,name=order_type,json=orderType,proto3" json:"order_type,omitempty"` 5664 // Filter by order state 5665 State string `protobuf:"bytes,11,opt,name=state,proto3" json:"state,omitempty"` 5666 ExecutionTypes []string `protobuf:"bytes,12,rep,name=execution_types,json=executionTypes,proto3" json:"execution_types,omitempty"` 5667 MarketIds []string `protobuf:"bytes,13,rep,name=market_ids,json=marketIds,proto3" json:"market_ids,omitempty"` 5668 // TradeId of the order we want to fetch 5669 TradeId string `protobuf:"bytes,14,opt,name=trade_id,json=tradeId,proto3" json:"trade_id,omitempty"` 5670 // Return only orders for active markets 5671 ActiveMarketsOnly bool `protobuf:"varint,15,opt,name=active_markets_only,json=activeMarketsOnly,proto3" json:"active_markets_only,omitempty"` 5672 // Client order ID 5673 Cid string `protobuf:"bytes,16,opt,name=cid,proto3" json:"cid,omitempty"` 5674 } 5675 5676 func (x *OrdersHistoryRequest) Reset() { 5677 *x = OrdersHistoryRequest{} 5678 if protoimpl.UnsafeEnabled { 5679 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[65] 5680 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5681 ms.StoreMessageInfo(mi) 5682 } 5683 } 5684 5685 func (x *OrdersHistoryRequest) String() string { 5686 return protoimpl.X.MessageStringOf(x) 5687 } 5688 5689 func (*OrdersHistoryRequest) ProtoMessage() {} 5690 5691 func (x *OrdersHistoryRequest) ProtoReflect() protoreflect.Message { 5692 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[65] 5693 if protoimpl.UnsafeEnabled && x != nil { 5694 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5695 if ms.LoadMessageInfo() == nil { 5696 ms.StoreMessageInfo(mi) 5697 } 5698 return ms 5699 } 5700 return mi.MessageOf(x) 5701 } 5702 5703 // Deprecated: Use OrdersHistoryRequest.ProtoReflect.Descriptor instead. 5704 func (*OrdersHistoryRequest) Descriptor() ([]byte, []int) { 5705 return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{65} 5706 } 5707 5708 func (x *OrdersHistoryRequest) GetSubaccountId() string { 5709 if x != nil { 5710 return x.SubaccountId 5711 } 5712 return "" 5713 } 5714 5715 func (x *OrdersHistoryRequest) GetMarketId() string { 5716 if x != nil { 5717 return x.MarketId 5718 } 5719 return "" 5720 } 5721 5722 func (x *OrdersHistoryRequest) GetSkip() uint64 { 5723 if x != nil { 5724 return x.Skip 5725 } 5726 return 0 5727 } 5728 5729 func (x *OrdersHistoryRequest) GetLimit() int32 { 5730 if x != nil { 5731 return x.Limit 5732 } 5733 return 0 5734 } 5735 5736 func (x *OrdersHistoryRequest) GetOrderTypes() []string { 5737 if x != nil { 5738 return x.OrderTypes 5739 } 5740 return nil 5741 } 5742 5743 func (x *OrdersHistoryRequest) GetDirection() string { 5744 if x != nil { 5745 return x.Direction 5746 } 5747 return "" 5748 } 5749 5750 func (x *OrdersHistoryRequest) GetStartTime() int64 { 5751 if x != nil { 5752 return x.StartTime 5753 } 5754 return 0 5755 } 5756 5757 func (x *OrdersHistoryRequest) GetEndTime() int64 { 5758 if x != nil { 5759 return x.EndTime 5760 } 5761 return 0 5762 } 5763 5764 func (x *OrdersHistoryRequest) GetIsConditional() string { 5765 if x != nil { 5766 return x.IsConditional 5767 } 5768 return "" 5769 } 5770 5771 func (x *OrdersHistoryRequest) GetOrderType() string { 5772 if x != nil { 5773 return x.OrderType 5774 } 5775 return "" 5776 } 5777 5778 func (x *OrdersHistoryRequest) GetState() string { 5779 if x != nil { 5780 return x.State 5781 } 5782 return "" 5783 } 5784 5785 func (x *OrdersHistoryRequest) GetExecutionTypes() []string { 5786 if x != nil { 5787 return x.ExecutionTypes 5788 } 5789 return nil 5790 } 5791 5792 func (x *OrdersHistoryRequest) GetMarketIds() []string { 5793 if x != nil { 5794 return x.MarketIds 5795 } 5796 return nil 5797 } 5798 5799 func (x *OrdersHistoryRequest) GetTradeId() string { 5800 if x != nil { 5801 return x.TradeId 5802 } 5803 return "" 5804 } 5805 5806 func (x *OrdersHistoryRequest) GetActiveMarketsOnly() bool { 5807 if x != nil { 5808 return x.ActiveMarketsOnly 5809 } 5810 return false 5811 } 5812 5813 func (x *OrdersHistoryRequest) GetCid() string { 5814 if x != nil { 5815 return x.Cid 5816 } 5817 return "" 5818 } 5819 5820 type OrdersHistoryResponse struct { 5821 state protoimpl.MessageState 5822 sizeCache protoimpl.SizeCache 5823 unknownFields protoimpl.UnknownFields 5824 5825 // List of historical derivative orders 5826 Orders []*DerivativeOrderHistory `protobuf:"bytes,1,rep,name=orders,proto3" json:"orders,omitempty"` 5827 Paging *Paging `protobuf:"bytes,2,opt,name=paging,proto3" json:"paging,omitempty"` 5828 } 5829 5830 func (x *OrdersHistoryResponse) Reset() { 5831 *x = OrdersHistoryResponse{} 5832 if protoimpl.UnsafeEnabled { 5833 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[66] 5834 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5835 ms.StoreMessageInfo(mi) 5836 } 5837 } 5838 5839 func (x *OrdersHistoryResponse) String() string { 5840 return protoimpl.X.MessageStringOf(x) 5841 } 5842 5843 func (*OrdersHistoryResponse) ProtoMessage() {} 5844 5845 func (x *OrdersHistoryResponse) ProtoReflect() protoreflect.Message { 5846 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[66] 5847 if protoimpl.UnsafeEnabled && x != nil { 5848 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5849 if ms.LoadMessageInfo() == nil { 5850 ms.StoreMessageInfo(mi) 5851 } 5852 return ms 5853 } 5854 return mi.MessageOf(x) 5855 } 5856 5857 // Deprecated: Use OrdersHistoryResponse.ProtoReflect.Descriptor instead. 5858 func (*OrdersHistoryResponse) Descriptor() ([]byte, []int) { 5859 return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{66} 5860 } 5861 5862 func (x *OrdersHistoryResponse) GetOrders() []*DerivativeOrderHistory { 5863 if x != nil { 5864 return x.Orders 5865 } 5866 return nil 5867 } 5868 5869 func (x *OrdersHistoryResponse) GetPaging() *Paging { 5870 if x != nil { 5871 return x.Paging 5872 } 5873 return nil 5874 } 5875 5876 type DerivativeOrderHistory struct { 5877 state protoimpl.MessageState 5878 sizeCache protoimpl.SizeCache 5879 unknownFields protoimpl.UnknownFields 5880 5881 // Hash of the order 5882 OrderHash string `protobuf:"bytes,1,opt,name=order_hash,json=orderHash,proto3" json:"order_hash,omitempty"` 5883 // Spot Market ID is keccak265(baseDenom + quoteDenom) 5884 MarketId string `protobuf:"bytes,2,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` 5885 // active state of the order 5886 IsActive bool `protobuf:"varint,3,opt,name=is_active,json=isActive,proto3" json:"is_active,omitempty"` 5887 // The subaccountId that this order belongs to 5888 SubaccountId string `protobuf:"bytes,4,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` 5889 // The execution type 5890 ExecutionType string `protobuf:"bytes,5,opt,name=execution_type,json=executionType,proto3" json:"execution_type,omitempty"` 5891 // The side of the order 5892 OrderType string `protobuf:"bytes,6,opt,name=order_type,json=orderType,proto3" json:"order_type,omitempty"` 5893 // Price of the order 5894 Price string `protobuf:"bytes,7,opt,name=price,proto3" json:"price,omitempty"` 5895 // Trigger price 5896 TriggerPrice string `protobuf:"bytes,8,opt,name=trigger_price,json=triggerPrice,proto3" json:"trigger_price,omitempty"` 5897 // Quantity of the order 5898 Quantity string `protobuf:"bytes,9,opt,name=quantity,proto3" json:"quantity,omitempty"` 5899 // Filled amount 5900 FilledQuantity string `protobuf:"bytes,10,opt,name=filled_quantity,json=filledQuantity,proto3" json:"filled_quantity,omitempty"` 5901 // Order state 5902 State string `protobuf:"bytes,11,opt,name=state,proto3" json:"state,omitempty"` 5903 // Order committed timestamp in UNIX millis. 5904 CreatedAt int64 `protobuf:"zigzag64,12,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` 5905 // Order updated timestamp in UNIX millis. 5906 UpdatedAt int64 `protobuf:"zigzag64,13,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` 5907 // True if an order is reduce only 5908 IsReduceOnly bool `protobuf:"varint,14,opt,name=is_reduce_only,json=isReduceOnly,proto3" json:"is_reduce_only,omitempty"` 5909 // Order direction (order side) 5910 Direction string `protobuf:"bytes,15,opt,name=direction,proto3" json:"direction,omitempty"` 5911 // True if this is conditional order, otherwise false 5912 IsConditional bool `protobuf:"varint,16,opt,name=is_conditional,json=isConditional,proto3" json:"is_conditional,omitempty"` 5913 // Trigger timestamp in unix milli 5914 TriggerAt uint64 `protobuf:"varint,17,opt,name=trigger_at,json=triggerAt,proto3" json:"trigger_at,omitempty"` 5915 // Order hash placed when this triggers 5916 PlacedOrderHash string `protobuf:"bytes,18,opt,name=placed_order_hash,json=placedOrderHash,proto3" json:"placed_order_hash,omitempty"` 5917 // Order's margin 5918 Margin string `protobuf:"bytes,19,opt,name=margin,proto3" json:"margin,omitempty"` 5919 // Transaction Hash where order is created. Not all orders have this field 5920 TxHash string `protobuf:"bytes,20,opt,name=tx_hash,json=txHash,proto3" json:"tx_hash,omitempty"` 5921 // Custom client order ID 5922 Cid string `protobuf:"bytes,21,opt,name=cid,proto3" json:"cid,omitempty"` 5923 } 5924 5925 func (x *DerivativeOrderHistory) Reset() { 5926 *x = DerivativeOrderHistory{} 5927 if protoimpl.UnsafeEnabled { 5928 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[67] 5929 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5930 ms.StoreMessageInfo(mi) 5931 } 5932 } 5933 5934 func (x *DerivativeOrderHistory) String() string { 5935 return protoimpl.X.MessageStringOf(x) 5936 } 5937 5938 func (*DerivativeOrderHistory) ProtoMessage() {} 5939 5940 func (x *DerivativeOrderHistory) ProtoReflect() protoreflect.Message { 5941 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[67] 5942 if protoimpl.UnsafeEnabled && x != nil { 5943 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5944 if ms.LoadMessageInfo() == nil { 5945 ms.StoreMessageInfo(mi) 5946 } 5947 return ms 5948 } 5949 return mi.MessageOf(x) 5950 } 5951 5952 // Deprecated: Use DerivativeOrderHistory.ProtoReflect.Descriptor instead. 5953 func (*DerivativeOrderHistory) Descriptor() ([]byte, []int) { 5954 return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{67} 5955 } 5956 5957 func (x *DerivativeOrderHistory) GetOrderHash() string { 5958 if x != nil { 5959 return x.OrderHash 5960 } 5961 return "" 5962 } 5963 5964 func (x *DerivativeOrderHistory) GetMarketId() string { 5965 if x != nil { 5966 return x.MarketId 5967 } 5968 return "" 5969 } 5970 5971 func (x *DerivativeOrderHistory) GetIsActive() bool { 5972 if x != nil { 5973 return x.IsActive 5974 } 5975 return false 5976 } 5977 5978 func (x *DerivativeOrderHistory) GetSubaccountId() string { 5979 if x != nil { 5980 return x.SubaccountId 5981 } 5982 return "" 5983 } 5984 5985 func (x *DerivativeOrderHistory) GetExecutionType() string { 5986 if x != nil { 5987 return x.ExecutionType 5988 } 5989 return "" 5990 } 5991 5992 func (x *DerivativeOrderHistory) GetOrderType() string { 5993 if x != nil { 5994 return x.OrderType 5995 } 5996 return "" 5997 } 5998 5999 func (x *DerivativeOrderHistory) GetPrice() string { 6000 if x != nil { 6001 return x.Price 6002 } 6003 return "" 6004 } 6005 6006 func (x *DerivativeOrderHistory) GetTriggerPrice() string { 6007 if x != nil { 6008 return x.TriggerPrice 6009 } 6010 return "" 6011 } 6012 6013 func (x *DerivativeOrderHistory) GetQuantity() string { 6014 if x != nil { 6015 return x.Quantity 6016 } 6017 return "" 6018 } 6019 6020 func (x *DerivativeOrderHistory) GetFilledQuantity() string { 6021 if x != nil { 6022 return x.FilledQuantity 6023 } 6024 return "" 6025 } 6026 6027 func (x *DerivativeOrderHistory) GetState() string { 6028 if x != nil { 6029 return x.State 6030 } 6031 return "" 6032 } 6033 6034 func (x *DerivativeOrderHistory) GetCreatedAt() int64 { 6035 if x != nil { 6036 return x.CreatedAt 6037 } 6038 return 0 6039 } 6040 6041 func (x *DerivativeOrderHistory) GetUpdatedAt() int64 { 6042 if x != nil { 6043 return x.UpdatedAt 6044 } 6045 return 0 6046 } 6047 6048 func (x *DerivativeOrderHistory) GetIsReduceOnly() bool { 6049 if x != nil { 6050 return x.IsReduceOnly 6051 } 6052 return false 6053 } 6054 6055 func (x *DerivativeOrderHistory) GetDirection() string { 6056 if x != nil { 6057 return x.Direction 6058 } 6059 return "" 6060 } 6061 6062 func (x *DerivativeOrderHistory) GetIsConditional() bool { 6063 if x != nil { 6064 return x.IsConditional 6065 } 6066 return false 6067 } 6068 6069 func (x *DerivativeOrderHistory) GetTriggerAt() uint64 { 6070 if x != nil { 6071 return x.TriggerAt 6072 } 6073 return 0 6074 } 6075 6076 func (x *DerivativeOrderHistory) GetPlacedOrderHash() string { 6077 if x != nil { 6078 return x.PlacedOrderHash 6079 } 6080 return "" 6081 } 6082 6083 func (x *DerivativeOrderHistory) GetMargin() string { 6084 if x != nil { 6085 return x.Margin 6086 } 6087 return "" 6088 } 6089 6090 func (x *DerivativeOrderHistory) GetTxHash() string { 6091 if x != nil { 6092 return x.TxHash 6093 } 6094 return "" 6095 } 6096 6097 func (x *DerivativeOrderHistory) GetCid() string { 6098 if x != nil { 6099 return x.Cid 6100 } 6101 return "" 6102 } 6103 6104 type StreamOrdersHistoryRequest struct { 6105 state protoimpl.MessageState 6106 sizeCache protoimpl.SizeCache 6107 unknownFields protoimpl.UnknownFields 6108 6109 // subaccount ID to filter orders for specific subaccount 6110 SubaccountId string `protobuf:"bytes,1,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` 6111 // Market ID to filter orders for specific market 6112 MarketId string `protobuf:"bytes,2,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` 6113 // filter by order types 6114 OrderTypes []string `protobuf:"bytes,3,rep,name=order_types,json=orderTypes,proto3" json:"order_types,omitempty"` 6115 // order side filter 6116 Direction string `protobuf:"bytes,4,opt,name=direction,proto3" json:"direction,omitempty"` 6117 // Filter by order state 6118 State string `protobuf:"bytes,5,opt,name=state,proto3" json:"state,omitempty"` 6119 ExecutionTypes []string `protobuf:"bytes,6,rep,name=execution_types,json=executionTypes,proto3" json:"execution_types,omitempty"` 6120 } 6121 6122 func (x *StreamOrdersHistoryRequest) Reset() { 6123 *x = StreamOrdersHistoryRequest{} 6124 if protoimpl.UnsafeEnabled { 6125 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[68] 6126 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6127 ms.StoreMessageInfo(mi) 6128 } 6129 } 6130 6131 func (x *StreamOrdersHistoryRequest) String() string { 6132 return protoimpl.X.MessageStringOf(x) 6133 } 6134 6135 func (*StreamOrdersHistoryRequest) ProtoMessage() {} 6136 6137 func (x *StreamOrdersHistoryRequest) ProtoReflect() protoreflect.Message { 6138 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[68] 6139 if protoimpl.UnsafeEnabled && x != nil { 6140 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6141 if ms.LoadMessageInfo() == nil { 6142 ms.StoreMessageInfo(mi) 6143 } 6144 return ms 6145 } 6146 return mi.MessageOf(x) 6147 } 6148 6149 // Deprecated: Use StreamOrdersHistoryRequest.ProtoReflect.Descriptor instead. 6150 func (*StreamOrdersHistoryRequest) Descriptor() ([]byte, []int) { 6151 return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{68} 6152 } 6153 6154 func (x *StreamOrdersHistoryRequest) GetSubaccountId() string { 6155 if x != nil { 6156 return x.SubaccountId 6157 } 6158 return "" 6159 } 6160 6161 func (x *StreamOrdersHistoryRequest) GetMarketId() string { 6162 if x != nil { 6163 return x.MarketId 6164 } 6165 return "" 6166 } 6167 6168 func (x *StreamOrdersHistoryRequest) GetOrderTypes() []string { 6169 if x != nil { 6170 return x.OrderTypes 6171 } 6172 return nil 6173 } 6174 6175 func (x *StreamOrdersHistoryRequest) GetDirection() string { 6176 if x != nil { 6177 return x.Direction 6178 } 6179 return "" 6180 } 6181 6182 func (x *StreamOrdersHistoryRequest) GetState() string { 6183 if x != nil { 6184 return x.State 6185 } 6186 return "" 6187 } 6188 6189 func (x *StreamOrdersHistoryRequest) GetExecutionTypes() []string { 6190 if x != nil { 6191 return x.ExecutionTypes 6192 } 6193 return nil 6194 } 6195 6196 type StreamOrdersHistoryResponse struct { 6197 state protoimpl.MessageState 6198 sizeCache protoimpl.SizeCache 6199 unknownFields protoimpl.UnknownFields 6200 6201 // Updated order 6202 Order *DerivativeOrderHistory `protobuf:"bytes,1,opt,name=order,proto3" json:"order,omitempty"` 6203 // Order update type 6204 OperationType string `protobuf:"bytes,2,opt,name=operation_type,json=operationType,proto3" json:"operation_type,omitempty"` 6205 // Operation timestamp in UNIX millis. 6206 Timestamp int64 `protobuf:"zigzag64,3,opt,name=timestamp,proto3" json:"timestamp,omitempty"` 6207 } 6208 6209 func (x *StreamOrdersHistoryResponse) Reset() { 6210 *x = StreamOrdersHistoryResponse{} 6211 if protoimpl.UnsafeEnabled { 6212 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[69] 6213 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6214 ms.StoreMessageInfo(mi) 6215 } 6216 } 6217 6218 func (x *StreamOrdersHistoryResponse) String() string { 6219 return protoimpl.X.MessageStringOf(x) 6220 } 6221 6222 func (*StreamOrdersHistoryResponse) ProtoMessage() {} 6223 6224 func (x *StreamOrdersHistoryResponse) ProtoReflect() protoreflect.Message { 6225 mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[69] 6226 if protoimpl.UnsafeEnabled && x != nil { 6227 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6228 if ms.LoadMessageInfo() == nil { 6229 ms.StoreMessageInfo(mi) 6230 } 6231 return ms 6232 } 6233 return mi.MessageOf(x) 6234 } 6235 6236 // Deprecated: Use StreamOrdersHistoryResponse.ProtoReflect.Descriptor instead. 6237 func (*StreamOrdersHistoryResponse) Descriptor() ([]byte, []int) { 6238 return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{69} 6239 } 6240 6241 func (x *StreamOrdersHistoryResponse) GetOrder() *DerivativeOrderHistory { 6242 if x != nil { 6243 return x.Order 6244 } 6245 return nil 6246 } 6247 6248 func (x *StreamOrdersHistoryResponse) GetOperationType() string { 6249 if x != nil { 6250 return x.OperationType 6251 } 6252 return "" 6253 } 6254 6255 func (x *StreamOrdersHistoryResponse) GetTimestamp() int64 { 6256 if x != nil { 6257 return x.Timestamp 6258 } 6259 return 0 6260 } 6261 6262 var File_goadesign_goagen_injective_derivative_exchange_rpc_proto protoreflect.FileDescriptor 6263 6264 var file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDesc = []byte{ 6265 0x0a, 0x38, 0x67, 0x6f, 0x61, 0x64, 0x65, 0x73, 0x69, 0x67, 0x6e, 0x5f, 0x67, 0x6f, 0x61, 0x67, 6266 0x65, 0x6e, 0x5f, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 6267 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 6268 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x21, 0x69, 0x6e, 0x6a, 0x65, 6269 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 6270 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x22, 0x7f, 0x0a, 6271 0x0e, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 6272 0x23, 0x0a, 0x0d, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 6273 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x53, 0x74, 6274 0x61, 0x74, 0x75, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x5f, 0x64, 0x65, 6275 0x6e, 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x71, 0x75, 0x6f, 0x74, 0x65, 6276 0x44, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x27, 0x0a, 0x0f, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 6277 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 6278 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x22, 0x64, 6279 0x0a, 0x0f, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 6280 0x65, 0x12, 0x51, 0x0a, 0x07, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 6281 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 6282 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 6283 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 6284 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x6d, 0x61, 0x72, 6285 0x6b, 0x65, 0x74, 0x73, 0x22, 0xec, 0x08, 0x0a, 0x14, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 6286 0x69, 0x76, 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1b, 0x0a, 6287 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 6288 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x6d, 0x61, 6289 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 6290 0x09, 0x52, 0x0c, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 6291 0x16, 0x0a, 0x06, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 6292 0x06, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x72, 0x61, 0x63, 0x6c, 6293 0x65, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x72, 6294 0x61, 0x63, 0x6c, 0x65, 0x42, 0x61, 0x73, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x72, 0x61, 0x63, 6295 0x6c, 0x65, 0x5f, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 6296 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x51, 0x75, 0x6f, 0x74, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 6297 0x72, 0x61, 0x63, 0x6c, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 6298 0x52, 0x0a, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2e, 0x0a, 0x13, 6299 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x5f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x5f, 0x66, 0x61, 0x63, 6300 0x74, 0x6f, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x6f, 0x72, 0x61, 0x63, 0x6c, 6301 0x65, 0x53, 0x63, 0x61, 0x6c, 0x65, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x30, 0x0a, 0x14, 6302 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x5f, 0x72, 6303 0x61, 0x74, 0x69, 0x6f, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x69, 0x6e, 0x69, 0x74, 6304 0x69, 0x61, 0x6c, 0x4d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x12, 0x38, 6305 0x0a, 0x18, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x6d, 0x61, 6306 0x72, 0x67, 0x69, 0x6e, 0x5f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 6307 0x52, 0x16, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x4d, 0x61, 0x72, 6308 0x67, 0x69, 0x6e, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x12, 0x1f, 0x0a, 0x0b, 0x71, 0x75, 0x6f, 0x74, 6309 0x65, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x71, 6310 0x75, 0x6f, 0x74, 0x65, 0x44, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x56, 0x0a, 0x10, 0x71, 0x75, 0x6f, 6311 0x74, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x18, 0x0b, 0x20, 6312 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 6313 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 6314 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4d, 0x65, 0x74, 6315 0x61, 0x52, 0x0e, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4d, 0x65, 0x74, 6316 0x61, 0x12, 0x24, 0x0a, 0x0e, 0x6d, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x72, 6317 0x61, 0x74, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6d, 0x61, 0x6b, 0x65, 0x72, 6318 0x46, 0x65, 0x65, 0x52, 0x61, 0x74, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x74, 0x61, 0x6b, 0x65, 0x72, 6319 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 6320 0x0c, 0x74, 0x61, 0x6b, 0x65, 0x72, 0x46, 0x65, 0x65, 0x52, 0x61, 0x74, 0x65, 0x12, 0x30, 0x0a, 6321 0x14, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 6322 0x72, 0x5f, 0x66, 0x65, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x73, 0x65, 0x72, 6323 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x46, 0x65, 0x65, 0x12, 6324 0x21, 0x0a, 0x0c, 0x69, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x70, 0x65, 0x74, 0x75, 0x61, 0x6c, 0x18, 6325 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x50, 0x65, 0x72, 0x70, 0x65, 0x74, 0x75, 6326 0x61, 0x6c, 0x12, 0x2d, 0x0a, 0x13, 0x6d, 0x69, 0x6e, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x5f, 6327 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 6328 0x10, 0x6d, 0x69, 0x6e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x54, 0x69, 0x63, 0x6b, 0x53, 0x69, 0x7a, 6329 0x65, 0x12, 0x33, 0x0a, 0x16, 0x6d, 0x69, 0x6e, 0x5f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 6330 0x79, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 6331 0x09, 0x52, 0x13, 0x6d, 0x69, 0x6e, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x69, 6332 0x63, 0x6b, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x6a, 0x0a, 0x15, 0x70, 0x65, 0x72, 0x70, 0x65, 0x74, 6333 0x75, 0x61, 0x6c, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 6334 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 6335 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 6336 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x65, 0x72, 0x70, 0x65, 0x74, 6337 0x75, 0x61, 0x6c, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x13, 0x70, 6338 0x65, 0x72, 0x70, 0x65, 0x74, 0x75, 0x61, 0x6c, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x6e, 6339 0x66, 0x6f, 0x12, 0x73, 0x0a, 0x18, 0x70, 0x65, 0x72, 0x70, 0x65, 0x74, 0x75, 0x61, 0x6c, 0x5f, 6340 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x13, 6341 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 6342 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 6343 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x65, 0x72, 0x70, 0x65, 0x74, 0x75, 6344 0x61, 0x6c, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 6345 0x16, 0x70, 0x65, 0x72, 0x70, 0x65, 0x74, 0x75, 0x61, 0x6c, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 6346 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x77, 0x0a, 0x1a, 0x65, 0x78, 0x70, 0x69, 0x72, 6347 0x79, 0x5f, 0x66, 0x75, 0x74, 0x75, 0x72, 0x65, 0x73, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 6348 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x69, 0x6e, 6349 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 6350 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 6351 0x45, 0x78, 0x70, 0x69, 0x72, 0x79, 0x46, 0x75, 0x74, 0x75, 0x72, 0x65, 0x73, 0x4d, 0x61, 0x72, 6352 0x6b, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x17, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x46, 6353 0x75, 0x74, 0x75, 0x72, 0x65, 0x73, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 6354 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x69, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 6355 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6d, 0x69, 0x6e, 0x4e, 0x6f, 0x74, 0x69, 0x6f, 6356 0x6e, 0x61, 0x6c, 0x22, 0xa0, 0x01, 0x0a, 0x09, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4d, 0x65, 0x74, 6357 0x61, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 6358 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 6359 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 6360 0x16, 0x0a, 0x06, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 6361 0x06, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x6f, 0x67, 0x6f, 0x18, 6362 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6c, 0x6f, 0x67, 0x6f, 0x12, 0x1a, 0x0a, 0x08, 0x64, 6363 0x65, 0x63, 0x69, 0x6d, 0x61, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x11, 0x52, 0x08, 0x64, 6364 0x65, 0x63, 0x69, 0x6d, 0x61, 0x6c, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 6365 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x75, 0x70, 0x64, 6366 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0xdf, 0x01, 0x0a, 0x13, 0x50, 0x65, 0x72, 0x70, 0x65, 6367 0x74, 0x75, 0x61, 0x6c, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x35, 6368 0x0a, 0x17, 0x68, 0x6f, 0x75, 0x72, 0x6c, 0x79, 0x5f, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 6369 0x5f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x61, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 6370 0x14, 0x68, 0x6f, 0x75, 0x72, 0x6c, 0x79, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x61, 6371 0x74, 0x65, 0x43, 0x61, 0x70, 0x12, 0x30, 0x0a, 0x14, 0x68, 0x6f, 0x75, 0x72, 0x6c, 0x79, 0x5f, 6372 0x69, 0x6e, 0x74, 0x65, 0x72, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 6373 0x01, 0x28, 0x09, 0x52, 0x12, 0x68, 0x6f, 0x75, 0x72, 0x6c, 0x79, 0x49, 0x6e, 0x74, 0x65, 0x72, 6374 0x65, 0x73, 0x74, 0x52, 0x61, 0x74, 0x65, 0x12, 0x34, 0x0a, 0x16, 0x6e, 0x65, 0x78, 0x74, 0x5f, 6375 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 6376 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x12, 0x52, 0x14, 0x6e, 0x65, 0x78, 0x74, 0x46, 0x75, 0x6e, 6377 0x64, 0x69, 0x6e, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x29, 0x0a, 6378 0x10, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 6379 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x12, 0x52, 0x0f, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 6380 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x22, 0x99, 0x01, 0x0a, 0x16, 0x50, 0x65, 0x72, 6381 0x70, 0x65, 0x74, 0x75, 0x61, 0x6c, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x46, 0x75, 0x6e, 0x64, 6382 0x69, 0x6e, 0x67, 0x12, 0x2d, 0x0a, 0x12, 0x63, 0x75, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x76, 6383 0x65, 0x5f, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 6384 0x11, 0x63, 0x75, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x46, 0x75, 0x6e, 0x64, 0x69, 6385 0x6e, 0x67, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x75, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 6386 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x75, 6387 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x25, 0x0a, 6388 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 6389 0x03, 0x20, 0x01, 0x28, 0x12, 0x52, 0x0d, 0x6c, 0x61, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x73, 6390 0x74, 0x61, 0x6d, 0x70, 0x22, 0x77, 0x0a, 0x17, 0x45, 0x78, 0x70, 0x69, 0x72, 0x79, 0x46, 0x75, 6391 0x74, 0x75, 0x72, 0x65, 0x73, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 6392 0x31, 0x0a, 0x14, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 6393 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x12, 0x52, 0x13, 0x65, 6394 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 6395 0x6d, 0x70, 0x12, 0x29, 0x0a, 0x10, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 6396 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x65, 6397 0x74, 0x74, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x69, 0x63, 0x65, 0x22, 0x2c, 0x0a, 6398 0x0d, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 6399 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 6400 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x22, 0x61, 0x0a, 0x0e, 0x4d, 6401 0x61, 0x72, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4f, 0x0a, 6402 0x06, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 6403 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 6404 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 6405 0x63, 0x2e, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4d, 0x61, 0x72, 0x6b, 6406 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x22, 0x34, 6407 0x0a, 0x13, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x52, 0x65, 6408 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 6409 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 6410 0x74, 0x49, 0x64, 0x73, 0x22, 0xac, 0x01, 0x0a, 0x14, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4d, 6411 0x61, 0x72, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4f, 0x0a, 6412 0x06, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 6413 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 6414 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 6415 0x63, 0x2e, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4d, 0x61, 0x72, 0x6b, 6416 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x12, 0x25, 6417 0x0a, 0x0e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 6418 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 6419 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 6420 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 6421 0x61, 0x6d, 0x70, 0x22, 0x8d, 0x01, 0x0a, 0x1b, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x4f, 0x70, 6422 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 6423 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x73, 0x74, 6424 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6d, 0x61, 0x72, 0x6b, 6425 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x71, 0x75, 0x6f, 0x74, 6426 0x65, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x71, 6427 0x75, 0x6f, 0x74, 0x65, 0x44, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 6428 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, 6429 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 6430 0x6d, 0x69, 0x74, 0x22, 0xb7, 0x01, 0x0a, 0x1c, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x4f, 0x70, 6431 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 6432 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x54, 0x0a, 0x07, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x18, 6433 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 6434 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 6435 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 6436 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x6e, 0x66, 6437 0x6f, 0x52, 0x07, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 6438 0x67, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6e, 0x6a, 6439 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 6440 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 6441 0x61, 0x67, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x22, 0xa1, 0x06, 6442 0x0a, 0x17, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4d, 6443 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 6444 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 6445 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 6446 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6d, 6447 0x61, 0x72, 0x6b, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x74, 6448 0x69, 0x63, 0x6b, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x69, 0x63, 6449 0x6b, 0x65, 0x72, 0x12, 0x23, 0x0a, 0x0d, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x5f, 0x73, 0x79, 6450 0x6d, 0x62, 0x6f, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6f, 0x72, 0x61, 0x63, 6451 0x6c, 0x65, 0x53, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x12, 0x27, 0x0a, 0x0f, 0x6f, 0x72, 0x61, 0x63, 6452 0x6c, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 6453 0x09, 0x52, 0x0e, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 6454 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 6455 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x54, 0x79, 6456 0x70, 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x5f, 0x73, 0x63, 0x61, 6457 0x6c, 0x65, 0x5f, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 6458 0x11, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x53, 0x63, 0x61, 0x6c, 0x65, 0x46, 0x61, 0x63, 0x74, 6459 0x6f, 0x72, 0x12, 0x31, 0x0a, 0x14, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 6460 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x08, 0x20, 0x01, 0x28, 0x12, 6461 0x52, 0x13, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 6462 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x31, 0x0a, 0x14, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x6d, 6463 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x09, 0x20, 6464 0x01, 0x28, 0x12, 0x52, 0x13, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x54, 6465 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1f, 0x0a, 0x0b, 0x71, 0x75, 0x6f, 0x74, 6466 0x65, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x71, 6467 0x75, 0x6f, 0x74, 0x65, 0x44, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x56, 0x0a, 0x10, 0x71, 0x75, 0x6f, 6468 0x74, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x18, 0x0b, 0x20, 6469 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 6470 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 6471 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4d, 0x65, 0x74, 6472 0x61, 0x52, 0x0e, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4d, 0x65, 0x74, 6473 0x61, 0x12, 0x24, 0x0a, 0x0e, 0x6d, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x72, 6474 0x61, 0x74, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6d, 0x61, 0x6b, 0x65, 0x72, 6475 0x46, 0x65, 0x65, 0x52, 0x61, 0x74, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x74, 0x61, 0x6b, 0x65, 0x72, 6476 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 6477 0x0c, 0x74, 0x61, 0x6b, 0x65, 0x72, 0x46, 0x65, 0x65, 0x52, 0x61, 0x74, 0x65, 0x12, 0x30, 0x0a, 6478 0x14, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 6479 0x72, 0x5f, 0x66, 0x65, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x73, 0x65, 0x72, 6480 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x46, 0x65, 0x65, 0x12, 6481 0x2d, 0x0a, 0x13, 0x6d, 0x69, 0x6e, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x5f, 0x74, 0x69, 0x63, 6482 0x6b, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6d, 0x69, 6483 0x6e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x54, 0x69, 0x63, 0x6b, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x33, 6484 0x0a, 0x16, 0x6d, 0x69, 0x6e, 0x5f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x74, 6485 0x69, 0x63, 0x6b, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 6486 0x6d, 0x69, 0x6e, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x69, 0x63, 0x6b, 0x53, 6487 0x69, 0x7a, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 6488 0x74, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x73, 6489 0x65, 0x74, 0x74, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x21, 6490 0x0a, 0x0c, 0x6d, 0x69, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x18, 0x12, 6491 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6d, 0x69, 0x6e, 0x4e, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x61, 6492 0x6c, 0x22, 0x86, 0x01, 0x0a, 0x06, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x12, 0x14, 0x0a, 0x05, 6493 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x12, 0x52, 0x05, 0x74, 0x6f, 0x74, 6494 0x61, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x11, 6495 0x52, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x74, 0x6f, 0x18, 0x03, 0x20, 0x01, 6496 0x28, 0x11, 0x52, 0x02, 0x74, 0x6f, 0x12, 0x2e, 0x0a, 0x13, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 6497 0x62, 0x79, 0x5f, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 6498 0x01, 0x28, 0x12, 0x52, 0x11, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x79, 0x53, 0x75, 0x62, 0x61, 6499 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x65, 0x78, 0x74, 0x18, 0x05, 6500 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x65, 0x78, 0x74, 0x22, 0x39, 0x0a, 0x1a, 0x42, 0x69, 6501 0x6e, 0x61, 0x72, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4d, 0x61, 0x72, 0x6b, 0x65, 6502 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 6503 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 6504 0x6b, 0x65, 0x74, 0x49, 0x64, 0x22, 0x71, 0x0a, 0x1b, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x4f, 6505 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 6506 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x52, 0x0a, 0x06, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x18, 0x01, 6507 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 6508 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 6509 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x4f, 6510 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 6511 0x52, 0x06, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x22, 0x31, 0x0a, 0x12, 0x4f, 0x72, 0x64, 0x65, 6512 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 6513 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 6514 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x22, 0x72, 0x0a, 0x13, 0x4f, 6515 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 6516 0x73, 0x65, 0x12, 0x5b, 0x0a, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x18, 6517 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 6518 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 6519 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 6520 0x74, 0x69, 0x76, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 6521 0x6f, 0x6b, 0x56, 0x32, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x22, 6522 0xde, 0x01, 0x0a, 0x1a, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4c, 0x69, 6523 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, 0x12, 0x41, 6524 0x0a, 0x04, 0x62, 0x75, 0x79, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x69, 6525 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 6526 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 6527 0x2e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x04, 0x62, 0x75, 0x79, 6528 0x73, 0x12, 0x43, 0x0a, 0x05, 0x73, 0x65, 0x6c, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 6529 0x32, 0x2d, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 6530 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 6531 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 6532 0x05, 0x73, 0x65, 0x6c, 0x6c, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 6533 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 6534 0x63, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 6535 0x04, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 6536 0x22, 0x5c, 0x0a, 0x0a, 0x50, 0x72, 0x69, 0x63, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x14, 6537 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 6538 0x72, 0x69, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 6539 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 6540 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 6541 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x34, 6542 0x0a, 0x13, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x73, 0x56, 0x32, 0x52, 0x65, 6543 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 6544 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 6545 0x74, 0x49, 0x64, 0x73, 0x22, 0x7b, 0x0a, 0x14, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 6546 0x6b, 0x73, 0x56, 0x32, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x63, 0x0a, 0x0a, 6547 0x6f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 6548 0x32, 0x43, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 6549 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 6550 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x44, 0x65, 0x72, 0x69, 0x76, 6551 0x61, 0x74, 0x69, 0x76, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 6552 0x6f, 0x6f, 0x6b, 0x56, 0x32, 0x52, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 6553 0x73, 0x22, 0x9c, 0x01, 0x0a, 0x20, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x44, 0x65, 0x72, 0x69, 6554 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 6555 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 6556 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 6557 0x74, 0x49, 0x64, 0x12, 0x5b, 0x0a, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 6558 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 6559 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 6560 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x72, 0x69, 0x76, 6561 0x61, 0x74, 0x69, 0x76, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 6562 0x6f, 0x6f, 0x6b, 0x56, 0x32, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 6563 0x22, 0x39, 0x0a, 0x18, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 6564 0x6f, 0x6f, 0x6b, 0x56, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 6565 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 6566 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x73, 0x22, 0xda, 0x01, 0x0a, 0x19, 6567 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, 6568 0x32, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5b, 0x0a, 0x09, 0x6f, 0x72, 0x64, 6569 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x69, 6570 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 6571 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 6572 0x2e, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 6573 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, 0x52, 0x09, 0x6f, 0x72, 0x64, 6574 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 6575 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 6576 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 6577 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x12, 6578 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 6579 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 6580 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x22, 0x3d, 0x0a, 0x1c, 0x53, 0x74, 0x72, 0x65, 6581 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x55, 0x70, 0x64, 0x61, 0x74, 6582 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 6583 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 6584 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x73, 0x22, 0xf3, 0x01, 0x0a, 0x1d, 0x53, 0x74, 0x72, 0x65, 6585 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x55, 0x70, 0x64, 0x61, 0x74, 6586 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x70, 0x0a, 0x17, 0x6f, 0x72, 0x64, 6587 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x75, 0x70, 0x64, 6588 0x61, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x69, 0x6e, 0x6a, 6589 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 6590 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4f, 6591 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x55, 0x70, 0x64, 6592 0x61, 0x74, 0x65, 0x73, 0x52, 0x15, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x4c, 6593 0x65, 0x76, 0x65, 0x6c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 6594 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 6595 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 6596 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 6597 0x03, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 6598 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 6599 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x22, 0x83, 0x02, 6600 0x0a, 0x15, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x4c, 0x65, 0x76, 0x65, 0x6c, 6601 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 6602 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 6603 0x65, 0x74, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 6604 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 6605 0x12, 0x47, 0x0a, 0x04, 0x62, 0x75, 0x79, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 6606 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 6607 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 6608 0x70, 0x63, 0x2e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x55, 0x70, 0x64, 6609 0x61, 0x74, 0x65, 0x52, 0x04, 0x62, 0x75, 0x79, 0x73, 0x12, 0x49, 0x0a, 0x05, 0x73, 0x65, 0x6c, 6610 0x6c, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 6611 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 6612 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x69, 6613 0x63, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 6614 0x65, 0x6c, 0x6c, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 6615 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 6616 0x64, 0x41, 0x74, 0x22, 0x7f, 0x0a, 0x10, 0x50, 0x72, 0x69, 0x63, 0x65, 0x4c, 0x65, 0x76, 0x65, 6617 0x6c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 6618 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1a, 0x0a, 6619 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 6620 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 6621 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 6622 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 6623 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 6624 0x74, 0x61, 0x6d, 0x70, 0x22, 0xc9, 0x03, 0x0a, 0x0d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x52, 6625 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 6626 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 6627 0x74, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x64, 6628 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x69, 6629 0x64, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 6630 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 6631 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 6632 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, 6633 0x69, 0x6d, 0x69, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 6634 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 6635 0x06, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 6636 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 6637 0x28, 0x12, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 6638 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 6639 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x69, 0x73, 6640 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x18, 0x09, 0x20, 0x01, 6641 0x28, 0x09, 0x52, 0x0d, 0x69, 0x73, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 6642 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 6643 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 6644 0x12, 0x29, 0x0a, 0x10, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x69, 0x6e, 0x61, 0x63, 6645 0x74, 0x69, 0x76, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x6e, 0x63, 0x6c, 6646 0x75, 0x64, 0x65, 0x49, 0x6e, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x36, 0x0a, 0x17, 0x73, 6647 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 6648 0x6f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x73, 0x75, 6649 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x4f, 0x72, 0x64, 6650 0x65, 0x72, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 6651 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, 0x64, 0x65, 0x49, 0x64, 0x12, 0x10, 6652 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 6653 0x22, 0xa4, 0x01, 0x0a, 0x0e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 6654 0x6e, 0x73, 0x65, 0x12, 0x4f, 0x0a, 0x06, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 6655 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 6656 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 6657 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 6658 0x76, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x06, 0x6f, 0x72, 6659 0x64, 0x65, 0x72, 0x73, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x02, 6660 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 6661 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 6662 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x52, 6663 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x22, 0xd7, 0x05, 0x0a, 0x14, 0x44, 0x65, 0x72, 0x69, 6664 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 6665 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 6666 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x48, 0x61, 0x73, 0x68, 0x12, 6667 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x18, 0x02, 0x20, 6668 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x69, 0x64, 0x65, 0x12, 0x1b, 6669 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 6670 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x73, 6671 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 6672 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 6673 0x12, 0x24, 0x0a, 0x0e, 0x69, 0x73, 0x5f, 0x72, 0x65, 0x64, 0x75, 0x63, 0x65, 0x5f, 0x6f, 0x6e, 6674 0x6c, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x73, 0x52, 0x65, 0x64, 0x75, 6675 0x63, 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 6676 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x12, 0x14, 6677 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 6678 0x72, 0x69, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 6679 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 6680 0x12, 0x2b, 0x0a, 0x11, 0x75, 0x6e, 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x5f, 0x71, 0x75, 0x61, 6681 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x75, 0x6e, 0x66, 6682 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x23, 0x0a, 6683 0x0d, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x0a, 6684 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x50, 0x72, 0x69, 6685 0x63, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 6686 0x65, 0x6e, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x66, 0x65, 0x65, 0x52, 0x65, 6687 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 6688 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1d, 0x0a, 6689 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 6690 0x12, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 6691 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x12, 6692 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x6f, 6693 0x72, 0x64, 0x65, 0x72, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x0f, 0x20, 0x01, 0x28, 6694 0x12, 0x52, 0x0b, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1d, 6695 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x10, 0x20, 0x01, 6696 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x25, 0x0a, 6697 0x0e, 0x69, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x18, 6698 0x11, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x73, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 6699 0x6f, 0x6e, 0x61, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 6700 0x61, 0x74, 0x18, 0x12, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 6701 0x72, 0x41, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x64, 0x5f, 0x6f, 0x72, 6702 0x64, 0x65, 0x72, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 6703 0x70, 0x6c, 0x61, 0x63, 0x65, 0x64, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x48, 0x61, 0x73, 0x68, 0x12, 6704 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 6705 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 6706 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x78, 0x5f, 0x68, 0x61, 0x73, 6707 0x68, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x78, 0x48, 0x61, 0x73, 0x68, 0x12, 6708 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 6709 0x64, 0x22, 0xdc, 0x02, 0x0a, 0x10, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 6710 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 6711 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 6712 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 6713 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 6714 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 6715 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 6716 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 6717 0x69, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 6718 0x18, 0x05, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 6719 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 6720 0x01, 0x28, 0x12, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 6721 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 6722 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x64, 6723 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 6724 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3c, 0x0a, 0x1a, 0x73, 0x75, 0x62, 6725 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x70, 0x6f, 6726 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x18, 0x73, 6727 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x6f, 6728 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 6729 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 6730 0x52, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 6731 0x22, 0xab, 0x01, 0x0a, 0x11, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 6732 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x09, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 6733 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 6734 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 6735 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 6736 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 6737 0x52, 0x09, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x41, 0x0a, 0x06, 0x70, 6738 0x61, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6e, 6739 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 6740 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 6741 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x22, 0xb0, 6742 0x03, 0x0a, 0x12, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x50, 0x6f, 0x73, 6743 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x18, 6744 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x12, 0x1b, 0x0a, 6745 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 6746 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 6747 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 6748 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 6749 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 6750 0x28, 0x09, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 6751 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 6752 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x6e, 0x74, 6753 0x72, 0x79, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 6754 0x65, 0x6e, 0x74, 0x72, 0x79, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x61, 6755 0x72, 0x67, 0x69, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x61, 0x72, 0x67, 6756 0x69, 0x6e, 0x12, 0x2b, 0x0a, 0x11, 0x6c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 6757 0x6e, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6c, 6758 0x69, 0x71, 0x75, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 6759 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x09, 0x20, 6760 0x01, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x43, 6761 0x0a, 0x1e, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x64, 0x75, 6762 0x63, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x5f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 6763 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1b, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 6764 0x65, 0x52, 0x65, 0x64, 0x75, 0x63, 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x51, 0x75, 0x61, 0x6e, 0x74, 6765 0x69, 0x74, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 6766 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 6767 0x41, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 6768 0x18, 0x0d, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 6769 0x74, 0x22, 0xde, 0x02, 0x0a, 0x12, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x56, 6770 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 6771 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 6772 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 6773 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 6774 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 6775 0x69, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, 6776 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 6777 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 6778 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 6779 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 6780 0x06, 0x20, 0x01, 0x28, 0x12, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1d, 6781 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x07, 0x20, 0x03, 6782 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x73, 0x12, 0x1c, 0x0a, 6783 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 6784 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3c, 0x0a, 0x1a, 0x73, 6785 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 6786 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 6787 0x18, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x6f, 0x74, 0x61, 0x6c, 6788 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x63, 0x63, 6789 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0a, 0x20, 0x01, 6790 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 6791 0x73, 0x73, 0x22, 0xaf, 0x01, 0x0a, 0x13, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 6792 0x56, 0x32, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x55, 0x0a, 0x09, 0x70, 0x6f, 6793 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 6794 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 6795 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 6796 0x63, 0x2e, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x50, 0x6f, 0x73, 0x69, 6797 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x32, 0x52, 0x09, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 6798 0x73, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 6799 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 6800 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 6801 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 6802 0x67, 0x69, 0x6e, 0x67, 0x22, 0xe4, 0x02, 0x0a, 0x14, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 6803 0x69, 0x76, 0x65, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x32, 0x12, 0x16, 0x0a, 6804 0x06, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 6805 0x69, 0x63, 0x6b, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 6806 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 6807 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 6808 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 6809 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 6810 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 6811 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 6812 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 6813 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 6814 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x50, 0x72, 0x69, 6815 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x18, 0x07, 0x20, 0x01, 6816 0x28, 0x09, 0x52, 0x06, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x12, 0x2b, 0x0a, 0x11, 0x6c, 0x69, 6817 0x71, 0x75, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 6818 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x61, 0x74, 0x69, 6819 0x6f, 0x6e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x5f, 6820 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, 6821 0x6b, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 6822 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 6823 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x0c, 6824 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x22, 0x63, 0x0a, 0x1a, 0x4c, 6825 0x69, 0x71, 0x75, 0x69, 0x64, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 6826 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 6827 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 6828 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x02, 6829 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 6830 0x6d, 0x69, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 6831 0x22, 0x72, 0x0a, 0x1b, 0x4c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x6f, 6832 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 6833 0x53, 0x0a, 0x09, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 6834 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 6835 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 6836 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 6837 0x65, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x70, 0x6f, 0x73, 0x69, 0x74, 6838 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xbe, 0x01, 0x0a, 0x16, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 6839 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 6840 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 6841 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 6842 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 6843 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 6844 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 6845 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x04, 6846 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x65, 6847 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x12, 0x52, 0x07, 0x65, 6848 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 6849 0x5f, 0x69, 0x64, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, 6850 0x65, 0x74, 0x49, 0x64, 0x73, 0x22, 0xab, 0x01, 0x0a, 0x17, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 6851 0x67, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 6852 0x65, 0x12, 0x4d, 0x0a, 0x08, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 6853 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 6854 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 6855 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, 6856 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x08, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 6857 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 6858 0x32, 0x29, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 6859 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 6860 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x67, 6861 0x69, 0x6e, 0x67, 0x22, 0x88, 0x01, 0x0a, 0x0e, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, 6862 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 6863 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 6864 0x74, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 6865 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 6866 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 6867 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 6868 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20, 6869 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x77, 6870 0x0a, 0x13, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 6871 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 6872 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 6873 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 6874 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 6875 0x03, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x19, 0x0a, 0x08, 6876 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x12, 0x52, 0x07, 6877 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xae, 0x01, 0x0a, 0x14, 0x46, 0x75, 0x6e, 0x64, 6878 0x69, 0x6e, 0x67, 0x52, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 6879 0x12, 0x53, 0x0a, 0x0d, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x61, 0x74, 0x65, 6880 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 6881 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 6882 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x75, 0x6e, 0x64, 6883 0x69, 0x6e, 0x67, 0x52, 0x61, 0x74, 0x65, 0x52, 0x0c, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 6884 0x52, 0x61, 0x74, 0x65, 0x73, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x18, 6885 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 6886 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 6887 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 6888 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x22, 0x5c, 0x0a, 0x0b, 0x46, 0x75, 0x6e, 0x64, 6889 0x69, 0x6e, 0x67, 0x52, 0x61, 0x74, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 6890 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 6891 0x65, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 6892 0x28, 0x09, 0x52, 0x04, 0x72, 0x61, 0x74, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 6893 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 6894 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0xc9, 0x01, 0x0a, 0x16, 0x53, 0x74, 0x72, 0x65, 0x61, 6895 0x6d, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 6896 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 6897 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 6898 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 6899 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 6900 0x74, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 6901 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 6902 0x64, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 6903 0x5f, 0x69, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x75, 0x62, 0x61, 6904 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x63, 0x63, 6905 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x05, 0x20, 0x01, 6906 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 6907 0x73, 0x73, 0x22, 0x8a, 0x01, 0x0a, 0x17, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x50, 0x6f, 0x73, 6908 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51, 6909 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 6910 0x32, 0x35, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 6911 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 6912 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x50, 6913 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 6914 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 6915 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 6916 0xcf, 0x03, 0x0a, 0x13, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 6917 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 6918 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 6919 0x65, 0x74, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x73, 0x69, 6920 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x53, 6921 0x69, 0x64, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 6922 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 6923 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 6924 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 6925 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 6926 0x69, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 6927 0x18, 0x06, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 6928 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 6929 0x01, 0x28, 0x12, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 6930 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 6931 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x69, 6932 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x18, 0x09, 0x20, 6933 0x01, 0x28, 0x09, 0x52, 0x0d, 0x69, 0x73, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 6934 0x61, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 6935 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 6936 0x65, 0x12, 0x29, 0x0a, 0x10, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x69, 0x6e, 0x61, 6937 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x6e, 0x63, 6938 0x6c, 0x75, 0x64, 0x65, 0x49, 0x6e, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x36, 0x0a, 0x17, 6939 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 6940 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x73, 6941 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x4f, 0x72, 6942 0x64, 0x65, 0x72, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x69, 0x64, 6943 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, 0x64, 0x65, 0x49, 0x64, 0x12, 6944 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 6945 0x64, 0x22, 0xaa, 0x01, 0x0a, 0x14, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 6946 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x05, 0x6f, 0x72, 6947 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 6948 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 6949 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 6950 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 6951 0x65, 0x72, 0x52, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x70, 0x65, 6952 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 6953 0x09, 0x52, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 6954 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 6955 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0xbf, 6956 0x03, 0x0a, 0x0d, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 6957 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 6958 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x25, 0x0a, 6959 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x18, 6960 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 6961 0x53, 0x69, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 6962 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 6963 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 6964 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 6965 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 6966 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, 6967 0x69, 0x6d, 0x69, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 6968 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 6969 0x07, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 6970 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 6971 0x28, 0x12, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 6972 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 6973 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x75, 6974 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x0a, 0x20, 0x03, 6975 0x28, 0x09, 0x52, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 6976 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 6977 0x79, 0x70, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x65, 0x78, 0x65, 0x63, 6978 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, 6979 0x61, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, 6980 0x61, 0x64, 0x65, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 6981 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 6982 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x10, 6983 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 6984 0x22, 0x9f, 0x01, 0x0a, 0x0e, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 6985 0x6e, 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x06, 0x74, 0x72, 0x61, 0x64, 0x65, 0x73, 0x18, 0x01, 0x20, 6986 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 6987 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 6988 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 6989 0x76, 0x65, 0x54, 0x72, 0x61, 0x64, 0x65, 0x52, 0x06, 0x74, 0x72, 0x61, 0x64, 0x65, 0x73, 0x12, 6990 0x41, 0x0a, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 6991 0x29, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 6992 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 6993 0x72, 0x70, 0x63, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, 6994 0x6e, 0x67, 0x22, 0xe8, 0x03, 0x0a, 0x0f, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 6995 0x65, 0x54, 0x72, 0x61, 0x64, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 6996 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 6997 0x72, 0x48, 0x61, 0x73, 0x68, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 6998 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 6999 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 7000 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 7001 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x30, 0x0a, 0x14, 0x74, 0x72, 0x61, 0x64, 0x65, 7002 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 7003 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x74, 0x72, 0x61, 0x64, 0x65, 0x45, 0x78, 0x65, 0x63, 7004 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x69, 0x73, 0x5f, 7005 0x6c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 7006 0x08, 0x52, 0x0d, 0x69, 0x73, 0x4c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 7007 0x12, 0x57, 0x0a, 0x0e, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x65, 0x6c, 7008 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 7009 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 7010 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x6f, 0x73, 7011 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x52, 0x0d, 0x70, 0x6f, 0x73, 0x69, 7012 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x79, 7013 0x6f, 0x75, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x61, 0x79, 0x6f, 0x75, 7014 0x74, 0x12, 0x10, 0x0a, 0x03, 0x66, 0x65, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 7015 0x66, 0x65, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, 0x5f, 7016 0x61, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x12, 0x52, 0x0a, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 7017 0x65, 0x64, 0x41, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x69, 7018 0x70, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x66, 0x65, 0x65, 7019 0x52, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, 0x61, 7020 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, 7021 0x64, 0x65, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 7022 0x6e, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x78, 7023 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x69, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x63, 7024 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, 0xbb, 0x01, 7025 0x0a, 0x0d, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x12, 7026 0x27, 0x0a, 0x0f, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 7027 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x74, 0x72, 0x61, 0x64, 0x65, 0x44, 7028 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x78, 0x65, 0x63, 7029 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 7030 0x09, 0x52, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x69, 0x63, 7031 0x65, 0x12, 0x2d, 0x0a, 0x12, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x71, 7032 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x65, 7033 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 7034 0x12, 0x29, 0x0a, 0x10, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 7035 0x72, 0x67, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x65, 0x78, 0x65, 0x63, 7036 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x22, 0xc1, 0x03, 0x0a, 0x0f, 7037 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x56, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 7038 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 7039 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 7040 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x18, 0x02, 7041 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 7042 0x69, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 7043 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 7044 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 7045 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 7046 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x05, 7047 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 7048 0x6d, 0x69, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 7049 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 7050 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 7051 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 7052 0x12, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 7053 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 7054 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x75, 0x62, 7055 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 7056 0x09, 0x52, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x73, 7057 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 7058 0x70, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 7059 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, 0x61, 7060 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, 7061 0x64, 0x65, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 7062 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 7063 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x10, 0x0a, 7064 0x03, 0x63, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, 7065 0xa1, 0x01, 0x0a, 0x10, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x56, 0x32, 0x52, 0x65, 0x73, 0x70, 7066 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x06, 0x74, 0x72, 0x61, 0x64, 0x65, 0x73, 0x18, 0x01, 7067 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 7068 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 7069 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 7070 0x69, 0x76, 0x65, 0x54, 0x72, 0x61, 0x64, 0x65, 0x52, 0x06, 0x74, 0x72, 0x61, 0x64, 0x65, 0x73, 7071 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 7072 0x32, 0x29, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 7073 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 7074 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x67, 7075 0x69, 0x6e, 0x67, 0x22, 0xc5, 0x03, 0x0a, 0x13, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x72, 7076 0x61, 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 7077 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 7078 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x65, 0x63, 7079 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 7080 0x52, 0x0d, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x69, 0x64, 0x65, 0x12, 7081 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 7082 0x28, 0x09, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 7083 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 7084 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 7085 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 7086 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 7087 0x06, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 7088 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x12, 7089 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 7090 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x12, 0x52, 0x07, 0x65, 7091 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 7092 0x5f, 0x69, 0x64, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, 7093 0x65, 0x74, 0x49, 0x64, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 7094 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x73, 7095 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x73, 0x12, 0x27, 0x0a, 0x0f, 7096 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 7097 0x0b, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 7098 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x69, 7099 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, 0x64, 0x65, 0x49, 0x64, 7100 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 7101 0x65, 0x73, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, 7102 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 7103 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, 0xa5, 0x01, 0x0a, 0x14, 7104 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 7105 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x48, 0x0a, 0x05, 0x74, 0x72, 0x61, 0x64, 0x65, 0x18, 0x01, 0x20, 7106 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 7107 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 7108 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 7109 0x76, 0x65, 0x54, 0x72, 0x61, 0x64, 0x65, 0x52, 0x05, 0x74, 0x72, 0x61, 0x64, 0x65, 0x12, 0x25, 7110 0x0a, 0x0e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 7111 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 7112 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 7113 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 7114 0x61, 0x6d, 0x70, 0x22, 0xc7, 0x03, 0x0a, 0x15, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x72, 7115 0x61, 0x64, 0x65, 0x73, 0x56, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 7116 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 7117 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x78, 7118 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 7119 0x28, 0x09, 0x52, 0x0d, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x69, 0x64, 7120 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 7121 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 7122 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 7123 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 7124 0x6e, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x05, 0x20, 0x01, 7125 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 7126 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1d, 7127 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 7128 0x28, 0x12, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 7129 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x12, 0x52, 7130 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 7131 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 7132 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x75, 0x62, 0x61, 0x63, 7133 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 7134 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x73, 0x12, 0x27, 7135 0x0a, 0x0f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 7136 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 7137 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x64, 0x65, 7138 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, 0x64, 0x65, 7139 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, 7140 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, 7141 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x63, 7142 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, 0xa7, 0x01, 7143 0x0a, 0x16, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x56, 0x32, 7144 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x48, 0x0a, 0x05, 0x74, 0x72, 0x61, 0x64, 7145 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 7146 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 7147 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x72, 0x69, 7148 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x54, 0x72, 0x61, 0x64, 0x65, 0x52, 0x05, 0x74, 0x72, 0x61, 7149 0x64, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 7150 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6f, 0x70, 0x65, 0x72, 7151 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 7152 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, 7153 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x89, 0x01, 0x0a, 0x1b, 0x53, 0x75, 0x62, 0x61, 7154 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x4c, 0x69, 0x73, 0x74, 7155 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 7156 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 7157 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 7158 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 7159 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 7160 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, 7161 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 7162 0x6d, 0x69, 0x74, 0x22, 0xb2, 0x01, 0x0a, 0x1c, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 7163 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 7164 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4f, 0x0a, 0x06, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x18, 0x01, 7165 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 7166 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 7167 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 7168 0x69, 0x76, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x06, 0x6f, 7169 0x72, 0x64, 0x65, 0x72, 0x73, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x18, 7170 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 7171 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 7172 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 7173 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x22, 0xce, 0x01, 0x0a, 0x1b, 0x53, 0x75, 0x62, 7174 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x4c, 0x69, 0x73, 7175 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 7176 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 7177 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 7178 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 7179 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x78, 7180 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 7181 0x28, 0x09, 0x52, 0x0d, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 7182 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 7183 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 7184 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 7185 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x06, 0x20, 0x01, 7186 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0x6a, 0x0a, 0x1c, 0x53, 0x75, 0x62, 7187 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x4c, 0x69, 0x73, 7188 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x06, 0x74, 0x72, 0x61, 7189 0x64, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 7190 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 7191 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 7192 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x54, 0x72, 0x61, 0x64, 0x65, 0x52, 0x06, 0x74, 7193 0x72, 0x61, 0x64, 0x65, 0x73, 0x22, 0xfc, 0x03, 0x0a, 0x14, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 7194 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 7195 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 7196 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 7197 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 7198 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 7199 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 7200 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x04, 0x20, 7201 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x72, 7202 0x64, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 7203 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x64, 7204 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 7205 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 7206 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x73, 7207 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 7208 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x12, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 7209 0x69, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x69, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 7210 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x69, 0x73, 0x43, 7211 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 7212 0x64, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 7213 0x6f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 7214 0x74, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 7215 0x27, 0x0a, 0x0f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 7216 0x65, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 7217 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 7218 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 7219 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x64, 0x65, 7220 0x5f, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, 0x64, 0x65, 7221 0x49, 0x64, 0x12, 0x2e, 0x0a, 0x13, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x61, 0x72, 7222 0x6b, 0x65, 0x74, 0x73, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 7223 0x11, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x4f, 0x6e, 7224 0x6c, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 7225 0x03, 0x63, 0x69, 0x64, 0x22, 0xad, 0x01, 0x0a, 0x15, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x48, 7226 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51, 7227 0x0a, 0x06, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 7228 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 7229 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 7230 0x70, 0x63, 0x2e, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4f, 0x72, 0x64, 7231 0x65, 0x72, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x06, 0x6f, 0x72, 0x64, 0x65, 0x72, 7232 0x73, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 7233 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 7234 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 7235 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 7236 0x67, 0x69, 0x6e, 0x67, 0x22, 0xa9, 0x05, 0x0a, 0x16, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 7237 0x69, 0x76, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 7238 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 7239 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x48, 0x61, 0x73, 0x68, 0x12, 0x1b, 7240 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 7241 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x69, 7242 0x73, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 7243 0x69, 0x73, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 7244 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 7245 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x25, 0x0a, 7246 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 7247 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 7248 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x79, 7249 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x54, 7250 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 7251 0x28, 0x09, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x72, 0x69, 7252 0x67, 0x67, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 7253 0x52, 0x0c, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1a, 7254 0x0a, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 7255 0x52, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x27, 0x0a, 0x0f, 0x66, 0x69, 7256 0x6c, 0x6c, 0x65, 0x64, 0x5f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x0a, 0x20, 7257 0x01, 0x28, 0x09, 0x52, 0x0e, 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x51, 0x75, 0x61, 0x6e, 0x74, 7258 0x69, 0x74, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0b, 0x20, 0x01, 7259 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 7260 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x63, 7261 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 7262 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x75, 0x70, 7263 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x69, 0x73, 0x5f, 0x72, 0x65, 7264 0x64, 0x75, 0x63, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 7265 0x0c, 0x69, 0x73, 0x52, 0x65, 0x64, 0x75, 0x63, 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x1c, 0x0a, 7266 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 7267 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x69, 7268 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x18, 0x10, 0x20, 7269 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x73, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 7270 0x61, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x61, 0x74, 7271 0x18, 0x11, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x41, 7272 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x64, 0x5f, 0x6f, 0x72, 0x64, 0x65, 7273 0x72, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x70, 0x6c, 7274 0x61, 0x63, 0x65, 0x64, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x48, 0x61, 0x73, 0x68, 0x12, 0x16, 0x0a, 7275 0x06, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 7276 0x61, 0x72, 0x67, 0x69, 0x6e, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x78, 0x5f, 0x68, 0x61, 0x73, 0x68, 7277 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x78, 0x48, 0x61, 0x73, 0x68, 0x12, 0x10, 7278 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 7279 0x22, 0xdc, 0x01, 0x0a, 0x1a, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 7280 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 7281 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 7282 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 7283 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 7284 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 7285 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 7286 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 7287 0x65, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 7288 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 7289 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 7290 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 7291 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 7292 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x73, 0x22, 7293 0xb3, 0x01, 0x0a, 0x1b, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 7294 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 7295 0x4f, 0x0a, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 7296 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 7297 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 7298 0x70, 0x63, 0x2e, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4f, 0x72, 0x64, 7299 0x65, 0x72, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 7300 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 7301 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 7302 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 7303 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 7304 0x73, 0x74, 0x61, 0x6d, 0x70, 0x32, 0xc4, 0x1a, 0x0a, 0x1e, 0x49, 0x6e, 0x6a, 0x65, 0x63, 0x74, 7305 0x69, 0x76, 0x65, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x45, 0x78, 0x63, 7306 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x50, 0x43, 0x12, 0x70, 0x0a, 0x07, 0x4d, 0x61, 0x72, 0x6b, 7307 0x65, 0x74, 0x73, 0x12, 0x31, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 7308 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 7309 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x52, 7310 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 7311 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 7312 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4d, 0x61, 0x72, 0x6b, 0x65, 7313 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6d, 0x0a, 0x06, 0x4d, 0x61, 7314 0x72, 0x6b, 0x65, 0x74, 0x12, 0x30, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 7315 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 7316 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x52, 7317 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 7318 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 7319 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4d, 0x61, 0x72, 0x6b, 0x65, 7320 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x81, 0x01, 0x0a, 0x0c, 0x53, 0x74, 7321 0x72, 0x65, 0x61, 0x6d, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x12, 0x36, 0x2e, 0x69, 0x6e, 0x6a, 7322 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 7323 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 7324 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 7325 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 7326 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 7327 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4d, 0x61, 0x72, 7328 0x6b, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x97, 0x01, 7329 0x0a, 0x14, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4d, 7330 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x12, 0x3e, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 7331 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 7332 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x42, 0x69, 0x6e, 0x61, 0x72, 7333 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x52, 7334 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3f, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 7335 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 7336 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x42, 0x69, 0x6e, 0x61, 0x72, 7337 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x52, 7338 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x94, 0x01, 0x0a, 0x13, 0x42, 0x69, 0x6e, 0x61, 7339 0x72, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x12, 7340 0x3d, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 7341 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 7342 0x72, 0x70, 0x63, 0x2e, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 7343 0x73, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3e, 7344 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 7345 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 7346 0x70, 0x63, 0x2e, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 7347 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7c, 7348 0x0a, 0x0b, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, 0x12, 0x35, 0x2e, 7349 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 7350 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 7351 0x63, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, 0x52, 0x65, 0x71, 7352 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 7353 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 7354 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 7355 0x6f, 0x6b, 0x56, 0x32, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7f, 0x0a, 0x0c, 7356 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x73, 0x56, 0x32, 0x12, 0x36, 0x2e, 0x69, 7357 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 7358 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 7359 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x73, 0x56, 0x32, 0x52, 0x65, 0x71, 7360 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 7361 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 7362 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 7363 0x6f, 0x6b, 0x73, 0x56, 0x32, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x90, 0x01, 7364 0x0a, 0x11, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 7365 0x6b, 0x56, 0x32, 0x12, 0x3b, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 7366 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 7367 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 7368 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 7369 0x1a, 0x3c, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 7370 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 7371 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 7372 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 7373 0x12, 0x9c, 0x01, 0x0a, 0x15, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 7374 0x62, 0x6f, 0x6f, 0x6b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x3f, 0x2e, 0x69, 0x6e, 0x6a, 7375 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 7376 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 7377 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x55, 0x70, 7378 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6e, 7379 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 7380 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 7381 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x55, 7382 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 7383 0x6d, 0x0a, 0x06, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x12, 0x30, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 7384 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 7385 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x72, 7386 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x69, 0x6e, 7387 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 7388 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 7389 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x76, 7390 0x0a, 0x09, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x33, 0x2e, 0x69, 0x6e, 7391 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 7392 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 7393 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 7394 0x1a, 0x34, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 7395 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 7396 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 7397 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7c, 0x0a, 0x0b, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 7398 0x6f, 0x6e, 0x73, 0x56, 0x32, 0x12, 0x35, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 7399 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 7400 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 7401 0x6f, 0x6e, 0x73, 0x56, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x69, 7402 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 7403 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 7404 0x2e, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x56, 0x32, 0x52, 0x65, 0x73, 0x70, 7405 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x94, 0x01, 0x0a, 0x13, 0x4c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x61, 7406 0x62, 0x6c, 0x65, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3d, 0x2e, 0x69, 7407 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 7408 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 7409 0x2e, 0x4c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x6f, 0x73, 0x69, 0x74, 7410 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3e, 0x2e, 0x69, 0x6e, 7411 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 7412 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 7413 0x4c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 7414 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x88, 0x01, 0x0a, 0x0f, 7415 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 7416 0x39, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 7417 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 7418 0x72, 0x70, 0x63, 0x2e, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x79, 0x6d, 0x65, 7419 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3a, 0x2e, 0x69, 0x6e, 0x6a, 7420 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 7421 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x46, 7422 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 7423 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7f, 0x0a, 0x0c, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 7424 0x67, 0x52, 0x61, 0x74, 0x65, 0x73, 0x12, 0x36, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 7425 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 7426 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x75, 0x6e, 0x64, 0x69, 7427 0x6e, 0x67, 0x52, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 7428 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 7429 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 7430 0x70, 0x63, 0x2e, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x61, 0x74, 0x65, 0x73, 0x52, 7431 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x8a, 0x01, 0x0a, 0x0f, 0x53, 0x74, 0x72, 0x65, 7432 0x61, 0x6d, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x39, 0x2e, 0x69, 0x6e, 7433 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 7434 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 7435 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 7436 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3a, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 7437 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 7438 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 7439 0x6d, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 7440 0x73, 0x65, 0x30, 0x01, 0x12, 0x81, 0x01, 0x0a, 0x0c, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 7441 0x72, 0x64, 0x65, 0x72, 0x73, 0x12, 0x36, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 7442 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 7443 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 7444 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 7445 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 7446 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 7447 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 7448 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x6d, 0x0a, 0x06, 0x54, 0x72, 0x61, 0x64, 7449 0x65, 0x73, 0x12, 0x30, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 7450 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 7451 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, 7452 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 7453 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 7454 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x52, 7455 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x73, 0x0a, 0x08, 0x54, 0x72, 0x61, 0x64, 0x65, 7456 0x73, 0x56, 0x32, 0x12, 0x32, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 7457 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 7458 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x56, 0x32, 7459 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 7460 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 7461 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x72, 0x61, 0x64, 7462 0x65, 0x73, 0x56, 0x32, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x81, 0x01, 0x0a, 7463 0x0c, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x12, 0x36, 0x2e, 7464 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 7465 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 7466 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x52, 0x65, 7467 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 7468 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 7469 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 7470 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 7471 0x12, 0x87, 0x01, 0x0a, 0x0e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x72, 0x61, 0x64, 0x65, 7472 0x73, 0x56, 0x32, 0x12, 0x38, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 7473 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 7474 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x72, 7475 0x61, 0x64, 0x65, 0x73, 0x56, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 7476 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 7477 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 7478 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x56, 0x32, 7479 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x97, 0x01, 0x0a, 0x14, 0x53, 7480 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x4c, 7481 0x69, 0x73, 0x74, 0x12, 0x3e, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 7482 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 7483 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 7484 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 7485 0x65, 0x73, 0x74, 0x1a, 0x3f, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 7486 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 7487 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 7488 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 7489 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x97, 0x01, 0x0a, 0x14, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 7490 0x75, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x3e, 0x2e, 7491 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 7492 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 7493 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x64, 7494 0x65, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3f, 0x2e, 7495 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 7496 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 7497 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x64, 7498 0x65, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x82, 7499 0x01, 0x0a, 0x0d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 7500 0x12, 0x37, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 7501 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 7502 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 7503 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 7504 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 7505 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x72, 7506 0x64, 0x65, 0x72, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 7507 0x6e, 0x73, 0x65, 0x12, 0x96, 0x01, 0x0a, 0x13, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 7508 0x64, 0x65, 0x72, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x3d, 0x2e, 0x69, 0x6e, 7509 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 7510 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 7511 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x48, 0x69, 0x73, 0x74, 7512 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3e, 0x2e, 0x69, 0x6e, 0x6a, 7513 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 7514 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 7515 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 7516 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x42, 0x26, 0x5a, 0x24, 7517 0x2f, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 7518 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 7519 0x70, 0x63, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 7520 } 7521 7522 var ( 7523 file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescOnce sync.Once 7524 file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescData = file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDesc 7525 ) 7526 7527 func file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP() []byte { 7528 file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescOnce.Do(func() { 7529 file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescData = protoimpl.X.CompressGZIP(file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescData) 7530 }) 7531 return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescData 7532 } 7533 7534 var file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes = make([]protoimpl.MessageInfo, 70) 7535 var file_goadesign_goagen_injective_derivative_exchange_rpc_proto_goTypes = []interface{}{ 7536 (*MarketsRequest)(nil), // 0: injective_derivative_exchange_rpc.MarketsRequest 7537 (*MarketsResponse)(nil), // 1: injective_derivative_exchange_rpc.MarketsResponse 7538 (*DerivativeMarketInfo)(nil), // 2: injective_derivative_exchange_rpc.DerivativeMarketInfo 7539 (*TokenMeta)(nil), // 3: injective_derivative_exchange_rpc.TokenMeta 7540 (*PerpetualMarketInfo)(nil), // 4: injective_derivative_exchange_rpc.PerpetualMarketInfo 7541 (*PerpetualMarketFunding)(nil), // 5: injective_derivative_exchange_rpc.PerpetualMarketFunding 7542 (*ExpiryFuturesMarketInfo)(nil), // 6: injective_derivative_exchange_rpc.ExpiryFuturesMarketInfo 7543 (*MarketRequest)(nil), // 7: injective_derivative_exchange_rpc.MarketRequest 7544 (*MarketResponse)(nil), // 8: injective_derivative_exchange_rpc.MarketResponse 7545 (*StreamMarketRequest)(nil), // 9: injective_derivative_exchange_rpc.StreamMarketRequest 7546 (*StreamMarketResponse)(nil), // 10: injective_derivative_exchange_rpc.StreamMarketResponse 7547 (*BinaryOptionsMarketsRequest)(nil), // 11: injective_derivative_exchange_rpc.BinaryOptionsMarketsRequest 7548 (*BinaryOptionsMarketsResponse)(nil), // 12: injective_derivative_exchange_rpc.BinaryOptionsMarketsResponse 7549 (*BinaryOptionsMarketInfo)(nil), // 13: injective_derivative_exchange_rpc.BinaryOptionsMarketInfo 7550 (*Paging)(nil), // 14: injective_derivative_exchange_rpc.Paging 7551 (*BinaryOptionsMarketRequest)(nil), // 15: injective_derivative_exchange_rpc.BinaryOptionsMarketRequest 7552 (*BinaryOptionsMarketResponse)(nil), // 16: injective_derivative_exchange_rpc.BinaryOptionsMarketResponse 7553 (*OrderbookV2Request)(nil), // 17: injective_derivative_exchange_rpc.OrderbookV2Request 7554 (*OrderbookV2Response)(nil), // 18: injective_derivative_exchange_rpc.OrderbookV2Response 7555 (*DerivativeLimitOrderbookV2)(nil), // 19: injective_derivative_exchange_rpc.DerivativeLimitOrderbookV2 7556 (*PriceLevel)(nil), // 20: injective_derivative_exchange_rpc.PriceLevel 7557 (*OrderbooksV2Request)(nil), // 21: injective_derivative_exchange_rpc.OrderbooksV2Request 7558 (*OrderbooksV2Response)(nil), // 22: injective_derivative_exchange_rpc.OrderbooksV2Response 7559 (*SingleDerivativeLimitOrderbookV2)(nil), // 23: injective_derivative_exchange_rpc.SingleDerivativeLimitOrderbookV2 7560 (*StreamOrderbookV2Request)(nil), // 24: injective_derivative_exchange_rpc.StreamOrderbookV2Request 7561 (*StreamOrderbookV2Response)(nil), // 25: injective_derivative_exchange_rpc.StreamOrderbookV2Response 7562 (*StreamOrderbookUpdateRequest)(nil), // 26: injective_derivative_exchange_rpc.StreamOrderbookUpdateRequest 7563 (*StreamOrderbookUpdateResponse)(nil), // 27: injective_derivative_exchange_rpc.StreamOrderbookUpdateResponse 7564 (*OrderbookLevelUpdates)(nil), // 28: injective_derivative_exchange_rpc.OrderbookLevelUpdates 7565 (*PriceLevelUpdate)(nil), // 29: injective_derivative_exchange_rpc.PriceLevelUpdate 7566 (*OrdersRequest)(nil), // 30: injective_derivative_exchange_rpc.OrdersRequest 7567 (*OrdersResponse)(nil), // 31: injective_derivative_exchange_rpc.OrdersResponse 7568 (*DerivativeLimitOrder)(nil), // 32: injective_derivative_exchange_rpc.DerivativeLimitOrder 7569 (*PositionsRequest)(nil), // 33: injective_derivative_exchange_rpc.PositionsRequest 7570 (*PositionsResponse)(nil), // 34: injective_derivative_exchange_rpc.PositionsResponse 7571 (*DerivativePosition)(nil), // 35: injective_derivative_exchange_rpc.DerivativePosition 7572 (*PositionsV2Request)(nil), // 36: injective_derivative_exchange_rpc.PositionsV2Request 7573 (*PositionsV2Response)(nil), // 37: injective_derivative_exchange_rpc.PositionsV2Response 7574 (*DerivativePositionV2)(nil), // 38: injective_derivative_exchange_rpc.DerivativePositionV2 7575 (*LiquidablePositionsRequest)(nil), // 39: injective_derivative_exchange_rpc.LiquidablePositionsRequest 7576 (*LiquidablePositionsResponse)(nil), // 40: injective_derivative_exchange_rpc.LiquidablePositionsResponse 7577 (*FundingPaymentsRequest)(nil), // 41: injective_derivative_exchange_rpc.FundingPaymentsRequest 7578 (*FundingPaymentsResponse)(nil), // 42: injective_derivative_exchange_rpc.FundingPaymentsResponse 7579 (*FundingPayment)(nil), // 43: injective_derivative_exchange_rpc.FundingPayment 7580 (*FundingRatesRequest)(nil), // 44: injective_derivative_exchange_rpc.FundingRatesRequest 7581 (*FundingRatesResponse)(nil), // 45: injective_derivative_exchange_rpc.FundingRatesResponse 7582 (*FundingRate)(nil), // 46: injective_derivative_exchange_rpc.FundingRate 7583 (*StreamPositionsRequest)(nil), // 47: injective_derivative_exchange_rpc.StreamPositionsRequest 7584 (*StreamPositionsResponse)(nil), // 48: injective_derivative_exchange_rpc.StreamPositionsResponse 7585 (*StreamOrdersRequest)(nil), // 49: injective_derivative_exchange_rpc.StreamOrdersRequest 7586 (*StreamOrdersResponse)(nil), // 50: injective_derivative_exchange_rpc.StreamOrdersResponse 7587 (*TradesRequest)(nil), // 51: injective_derivative_exchange_rpc.TradesRequest 7588 (*TradesResponse)(nil), // 52: injective_derivative_exchange_rpc.TradesResponse 7589 (*DerivativeTrade)(nil), // 53: injective_derivative_exchange_rpc.DerivativeTrade 7590 (*PositionDelta)(nil), // 54: injective_derivative_exchange_rpc.PositionDelta 7591 (*TradesV2Request)(nil), // 55: injective_derivative_exchange_rpc.TradesV2Request 7592 (*TradesV2Response)(nil), // 56: injective_derivative_exchange_rpc.TradesV2Response 7593 (*StreamTradesRequest)(nil), // 57: injective_derivative_exchange_rpc.StreamTradesRequest 7594 (*StreamTradesResponse)(nil), // 58: injective_derivative_exchange_rpc.StreamTradesResponse 7595 (*StreamTradesV2Request)(nil), // 59: injective_derivative_exchange_rpc.StreamTradesV2Request 7596 (*StreamTradesV2Response)(nil), // 60: injective_derivative_exchange_rpc.StreamTradesV2Response 7597 (*SubaccountOrdersListRequest)(nil), // 61: injective_derivative_exchange_rpc.SubaccountOrdersListRequest 7598 (*SubaccountOrdersListResponse)(nil), // 62: injective_derivative_exchange_rpc.SubaccountOrdersListResponse 7599 (*SubaccountTradesListRequest)(nil), // 63: injective_derivative_exchange_rpc.SubaccountTradesListRequest 7600 (*SubaccountTradesListResponse)(nil), // 64: injective_derivative_exchange_rpc.SubaccountTradesListResponse 7601 (*OrdersHistoryRequest)(nil), // 65: injective_derivative_exchange_rpc.OrdersHistoryRequest 7602 (*OrdersHistoryResponse)(nil), // 66: injective_derivative_exchange_rpc.OrdersHistoryResponse 7603 (*DerivativeOrderHistory)(nil), // 67: injective_derivative_exchange_rpc.DerivativeOrderHistory 7604 (*StreamOrdersHistoryRequest)(nil), // 68: injective_derivative_exchange_rpc.StreamOrdersHistoryRequest 7605 (*StreamOrdersHistoryResponse)(nil), // 69: injective_derivative_exchange_rpc.StreamOrdersHistoryResponse 7606 } 7607 var file_goadesign_goagen_injective_derivative_exchange_rpc_proto_depIdxs = []int32{ 7608 2, // 0: injective_derivative_exchange_rpc.MarketsResponse.markets:type_name -> injective_derivative_exchange_rpc.DerivativeMarketInfo 7609 3, // 1: injective_derivative_exchange_rpc.DerivativeMarketInfo.quote_token_meta:type_name -> injective_derivative_exchange_rpc.TokenMeta 7610 4, // 2: injective_derivative_exchange_rpc.DerivativeMarketInfo.perpetual_market_info:type_name -> injective_derivative_exchange_rpc.PerpetualMarketInfo 7611 5, // 3: injective_derivative_exchange_rpc.DerivativeMarketInfo.perpetual_market_funding:type_name -> injective_derivative_exchange_rpc.PerpetualMarketFunding 7612 6, // 4: injective_derivative_exchange_rpc.DerivativeMarketInfo.expiry_futures_market_info:type_name -> injective_derivative_exchange_rpc.ExpiryFuturesMarketInfo 7613 2, // 5: injective_derivative_exchange_rpc.MarketResponse.market:type_name -> injective_derivative_exchange_rpc.DerivativeMarketInfo 7614 2, // 6: injective_derivative_exchange_rpc.StreamMarketResponse.market:type_name -> injective_derivative_exchange_rpc.DerivativeMarketInfo 7615 13, // 7: injective_derivative_exchange_rpc.BinaryOptionsMarketsResponse.markets:type_name -> injective_derivative_exchange_rpc.BinaryOptionsMarketInfo 7616 14, // 8: injective_derivative_exchange_rpc.BinaryOptionsMarketsResponse.paging:type_name -> injective_derivative_exchange_rpc.Paging 7617 3, // 9: injective_derivative_exchange_rpc.BinaryOptionsMarketInfo.quote_token_meta:type_name -> injective_derivative_exchange_rpc.TokenMeta 7618 13, // 10: injective_derivative_exchange_rpc.BinaryOptionsMarketResponse.market:type_name -> injective_derivative_exchange_rpc.BinaryOptionsMarketInfo 7619 19, // 11: injective_derivative_exchange_rpc.OrderbookV2Response.orderbook:type_name -> injective_derivative_exchange_rpc.DerivativeLimitOrderbookV2 7620 20, // 12: injective_derivative_exchange_rpc.DerivativeLimitOrderbookV2.buys:type_name -> injective_derivative_exchange_rpc.PriceLevel 7621 20, // 13: injective_derivative_exchange_rpc.DerivativeLimitOrderbookV2.sells:type_name -> injective_derivative_exchange_rpc.PriceLevel 7622 23, // 14: injective_derivative_exchange_rpc.OrderbooksV2Response.orderbooks:type_name -> injective_derivative_exchange_rpc.SingleDerivativeLimitOrderbookV2 7623 19, // 15: injective_derivative_exchange_rpc.SingleDerivativeLimitOrderbookV2.orderbook:type_name -> injective_derivative_exchange_rpc.DerivativeLimitOrderbookV2 7624 19, // 16: injective_derivative_exchange_rpc.StreamOrderbookV2Response.orderbook:type_name -> injective_derivative_exchange_rpc.DerivativeLimitOrderbookV2 7625 28, // 17: injective_derivative_exchange_rpc.StreamOrderbookUpdateResponse.orderbook_level_updates:type_name -> injective_derivative_exchange_rpc.OrderbookLevelUpdates 7626 29, // 18: injective_derivative_exchange_rpc.OrderbookLevelUpdates.buys:type_name -> injective_derivative_exchange_rpc.PriceLevelUpdate 7627 29, // 19: injective_derivative_exchange_rpc.OrderbookLevelUpdates.sells:type_name -> injective_derivative_exchange_rpc.PriceLevelUpdate 7628 32, // 20: injective_derivative_exchange_rpc.OrdersResponse.orders:type_name -> injective_derivative_exchange_rpc.DerivativeLimitOrder 7629 14, // 21: injective_derivative_exchange_rpc.OrdersResponse.paging:type_name -> injective_derivative_exchange_rpc.Paging 7630 35, // 22: injective_derivative_exchange_rpc.PositionsResponse.positions:type_name -> injective_derivative_exchange_rpc.DerivativePosition 7631 14, // 23: injective_derivative_exchange_rpc.PositionsResponse.paging:type_name -> injective_derivative_exchange_rpc.Paging 7632 38, // 24: injective_derivative_exchange_rpc.PositionsV2Response.positions:type_name -> injective_derivative_exchange_rpc.DerivativePositionV2 7633 14, // 25: injective_derivative_exchange_rpc.PositionsV2Response.paging:type_name -> injective_derivative_exchange_rpc.Paging 7634 35, // 26: injective_derivative_exchange_rpc.LiquidablePositionsResponse.positions:type_name -> injective_derivative_exchange_rpc.DerivativePosition 7635 43, // 27: injective_derivative_exchange_rpc.FundingPaymentsResponse.payments:type_name -> injective_derivative_exchange_rpc.FundingPayment 7636 14, // 28: injective_derivative_exchange_rpc.FundingPaymentsResponse.paging:type_name -> injective_derivative_exchange_rpc.Paging 7637 46, // 29: injective_derivative_exchange_rpc.FundingRatesResponse.funding_rates:type_name -> injective_derivative_exchange_rpc.FundingRate 7638 14, // 30: injective_derivative_exchange_rpc.FundingRatesResponse.paging:type_name -> injective_derivative_exchange_rpc.Paging 7639 35, // 31: injective_derivative_exchange_rpc.StreamPositionsResponse.position:type_name -> injective_derivative_exchange_rpc.DerivativePosition 7640 32, // 32: injective_derivative_exchange_rpc.StreamOrdersResponse.order:type_name -> injective_derivative_exchange_rpc.DerivativeLimitOrder 7641 53, // 33: injective_derivative_exchange_rpc.TradesResponse.trades:type_name -> injective_derivative_exchange_rpc.DerivativeTrade 7642 14, // 34: injective_derivative_exchange_rpc.TradesResponse.paging:type_name -> injective_derivative_exchange_rpc.Paging 7643 54, // 35: injective_derivative_exchange_rpc.DerivativeTrade.position_delta:type_name -> injective_derivative_exchange_rpc.PositionDelta 7644 53, // 36: injective_derivative_exchange_rpc.TradesV2Response.trades:type_name -> injective_derivative_exchange_rpc.DerivativeTrade 7645 14, // 37: injective_derivative_exchange_rpc.TradesV2Response.paging:type_name -> injective_derivative_exchange_rpc.Paging 7646 53, // 38: injective_derivative_exchange_rpc.StreamTradesResponse.trade:type_name -> injective_derivative_exchange_rpc.DerivativeTrade 7647 53, // 39: injective_derivative_exchange_rpc.StreamTradesV2Response.trade:type_name -> injective_derivative_exchange_rpc.DerivativeTrade 7648 32, // 40: injective_derivative_exchange_rpc.SubaccountOrdersListResponse.orders:type_name -> injective_derivative_exchange_rpc.DerivativeLimitOrder 7649 14, // 41: injective_derivative_exchange_rpc.SubaccountOrdersListResponse.paging:type_name -> injective_derivative_exchange_rpc.Paging 7650 53, // 42: injective_derivative_exchange_rpc.SubaccountTradesListResponse.trades:type_name -> injective_derivative_exchange_rpc.DerivativeTrade 7651 67, // 43: injective_derivative_exchange_rpc.OrdersHistoryResponse.orders:type_name -> injective_derivative_exchange_rpc.DerivativeOrderHistory 7652 14, // 44: injective_derivative_exchange_rpc.OrdersHistoryResponse.paging:type_name -> injective_derivative_exchange_rpc.Paging 7653 67, // 45: injective_derivative_exchange_rpc.StreamOrdersHistoryResponse.order:type_name -> injective_derivative_exchange_rpc.DerivativeOrderHistory 7654 0, // 46: injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC.Markets:input_type -> injective_derivative_exchange_rpc.MarketsRequest 7655 7, // 47: injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC.Market:input_type -> injective_derivative_exchange_rpc.MarketRequest 7656 9, // 48: injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC.StreamMarket:input_type -> injective_derivative_exchange_rpc.StreamMarketRequest 7657 11, // 49: injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC.BinaryOptionsMarkets:input_type -> injective_derivative_exchange_rpc.BinaryOptionsMarketsRequest 7658 15, // 50: injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC.BinaryOptionsMarket:input_type -> injective_derivative_exchange_rpc.BinaryOptionsMarketRequest 7659 17, // 51: injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC.OrderbookV2:input_type -> injective_derivative_exchange_rpc.OrderbookV2Request 7660 21, // 52: injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC.OrderbooksV2:input_type -> injective_derivative_exchange_rpc.OrderbooksV2Request 7661 24, // 53: injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC.StreamOrderbookV2:input_type -> injective_derivative_exchange_rpc.StreamOrderbookV2Request 7662 26, // 54: injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC.StreamOrderbookUpdate:input_type -> injective_derivative_exchange_rpc.StreamOrderbookUpdateRequest 7663 30, // 55: injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC.Orders:input_type -> injective_derivative_exchange_rpc.OrdersRequest 7664 33, // 56: injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC.Positions:input_type -> injective_derivative_exchange_rpc.PositionsRequest 7665 36, // 57: injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC.PositionsV2:input_type -> injective_derivative_exchange_rpc.PositionsV2Request 7666 39, // 58: injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC.LiquidablePositions:input_type -> injective_derivative_exchange_rpc.LiquidablePositionsRequest 7667 41, // 59: injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC.FundingPayments:input_type -> injective_derivative_exchange_rpc.FundingPaymentsRequest 7668 44, // 60: injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC.FundingRates:input_type -> injective_derivative_exchange_rpc.FundingRatesRequest 7669 47, // 61: injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC.StreamPositions:input_type -> injective_derivative_exchange_rpc.StreamPositionsRequest 7670 49, // 62: injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC.StreamOrders:input_type -> injective_derivative_exchange_rpc.StreamOrdersRequest 7671 51, // 63: injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC.Trades:input_type -> injective_derivative_exchange_rpc.TradesRequest 7672 55, // 64: injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC.TradesV2:input_type -> injective_derivative_exchange_rpc.TradesV2Request 7673 57, // 65: injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC.StreamTrades:input_type -> injective_derivative_exchange_rpc.StreamTradesRequest 7674 59, // 66: injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC.StreamTradesV2:input_type -> injective_derivative_exchange_rpc.StreamTradesV2Request 7675 61, // 67: injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC.SubaccountOrdersList:input_type -> injective_derivative_exchange_rpc.SubaccountOrdersListRequest 7676 63, // 68: injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC.SubaccountTradesList:input_type -> injective_derivative_exchange_rpc.SubaccountTradesListRequest 7677 65, // 69: injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC.OrdersHistory:input_type -> injective_derivative_exchange_rpc.OrdersHistoryRequest 7678 68, // 70: injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC.StreamOrdersHistory:input_type -> injective_derivative_exchange_rpc.StreamOrdersHistoryRequest 7679 1, // 71: injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC.Markets:output_type -> injective_derivative_exchange_rpc.MarketsResponse 7680 8, // 72: injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC.Market:output_type -> injective_derivative_exchange_rpc.MarketResponse 7681 10, // 73: injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC.StreamMarket:output_type -> injective_derivative_exchange_rpc.StreamMarketResponse 7682 12, // 74: injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC.BinaryOptionsMarkets:output_type -> injective_derivative_exchange_rpc.BinaryOptionsMarketsResponse 7683 16, // 75: injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC.BinaryOptionsMarket:output_type -> injective_derivative_exchange_rpc.BinaryOptionsMarketResponse 7684 18, // 76: injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC.OrderbookV2:output_type -> injective_derivative_exchange_rpc.OrderbookV2Response 7685 22, // 77: injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC.OrderbooksV2:output_type -> injective_derivative_exchange_rpc.OrderbooksV2Response 7686 25, // 78: injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC.StreamOrderbookV2:output_type -> injective_derivative_exchange_rpc.StreamOrderbookV2Response 7687 27, // 79: injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC.StreamOrderbookUpdate:output_type -> injective_derivative_exchange_rpc.StreamOrderbookUpdateResponse 7688 31, // 80: injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC.Orders:output_type -> injective_derivative_exchange_rpc.OrdersResponse 7689 34, // 81: injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC.Positions:output_type -> injective_derivative_exchange_rpc.PositionsResponse 7690 37, // 82: injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC.PositionsV2:output_type -> injective_derivative_exchange_rpc.PositionsV2Response 7691 40, // 83: injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC.LiquidablePositions:output_type -> injective_derivative_exchange_rpc.LiquidablePositionsResponse 7692 42, // 84: injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC.FundingPayments:output_type -> injective_derivative_exchange_rpc.FundingPaymentsResponse 7693 45, // 85: injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC.FundingRates:output_type -> injective_derivative_exchange_rpc.FundingRatesResponse 7694 48, // 86: injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC.StreamPositions:output_type -> injective_derivative_exchange_rpc.StreamPositionsResponse 7695 50, // 87: injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC.StreamOrders:output_type -> injective_derivative_exchange_rpc.StreamOrdersResponse 7696 52, // 88: injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC.Trades:output_type -> injective_derivative_exchange_rpc.TradesResponse 7697 56, // 89: injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC.TradesV2:output_type -> injective_derivative_exchange_rpc.TradesV2Response 7698 58, // 90: injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC.StreamTrades:output_type -> injective_derivative_exchange_rpc.StreamTradesResponse 7699 60, // 91: injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC.StreamTradesV2:output_type -> injective_derivative_exchange_rpc.StreamTradesV2Response 7700 62, // 92: injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC.SubaccountOrdersList:output_type -> injective_derivative_exchange_rpc.SubaccountOrdersListResponse 7701 64, // 93: injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC.SubaccountTradesList:output_type -> injective_derivative_exchange_rpc.SubaccountTradesListResponse 7702 66, // 94: injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC.OrdersHistory:output_type -> injective_derivative_exchange_rpc.OrdersHistoryResponse 7703 69, // 95: injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC.StreamOrdersHistory:output_type -> injective_derivative_exchange_rpc.StreamOrdersHistoryResponse 7704 71, // [71:96] is the sub-list for method output_type 7705 46, // [46:71] is the sub-list for method input_type 7706 46, // [46:46] is the sub-list for extension type_name 7707 46, // [46:46] is the sub-list for extension extendee 7708 0, // [0:46] is the sub-list for field type_name 7709 } 7710 7711 func init() { file_goadesign_goagen_injective_derivative_exchange_rpc_proto_init() } 7712 func file_goadesign_goagen_injective_derivative_exchange_rpc_proto_init() { 7713 if File_goadesign_goagen_injective_derivative_exchange_rpc_proto != nil { 7714 return 7715 } 7716 if !protoimpl.UnsafeEnabled { 7717 file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { 7718 switch v := v.(*MarketsRequest); i { 7719 case 0: 7720 return &v.state 7721 case 1: 7722 return &v.sizeCache 7723 case 2: 7724 return &v.unknownFields 7725 default: 7726 return nil 7727 } 7728 } 7729 file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { 7730 switch v := v.(*MarketsResponse); i { 7731 case 0: 7732 return &v.state 7733 case 1: 7734 return &v.sizeCache 7735 case 2: 7736 return &v.unknownFields 7737 default: 7738 return nil 7739 } 7740 } 7741 file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { 7742 switch v := v.(*DerivativeMarketInfo); i { 7743 case 0: 7744 return &v.state 7745 case 1: 7746 return &v.sizeCache 7747 case 2: 7748 return &v.unknownFields 7749 default: 7750 return nil 7751 } 7752 } 7753 file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { 7754 switch v := v.(*TokenMeta); i { 7755 case 0: 7756 return &v.state 7757 case 1: 7758 return &v.sizeCache 7759 case 2: 7760 return &v.unknownFields 7761 default: 7762 return nil 7763 } 7764 } 7765 file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { 7766 switch v := v.(*PerpetualMarketInfo); i { 7767 case 0: 7768 return &v.state 7769 case 1: 7770 return &v.sizeCache 7771 case 2: 7772 return &v.unknownFields 7773 default: 7774 return nil 7775 } 7776 } 7777 file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { 7778 switch v := v.(*PerpetualMarketFunding); i { 7779 case 0: 7780 return &v.state 7781 case 1: 7782 return &v.sizeCache 7783 case 2: 7784 return &v.unknownFields 7785 default: 7786 return nil 7787 } 7788 } 7789 file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { 7790 switch v := v.(*ExpiryFuturesMarketInfo); i { 7791 case 0: 7792 return &v.state 7793 case 1: 7794 return &v.sizeCache 7795 case 2: 7796 return &v.unknownFields 7797 default: 7798 return nil 7799 } 7800 } 7801 file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { 7802 switch v := v.(*MarketRequest); i { 7803 case 0: 7804 return &v.state 7805 case 1: 7806 return &v.sizeCache 7807 case 2: 7808 return &v.unknownFields 7809 default: 7810 return nil 7811 } 7812 } 7813 file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { 7814 switch v := v.(*MarketResponse); i { 7815 case 0: 7816 return &v.state 7817 case 1: 7818 return &v.sizeCache 7819 case 2: 7820 return &v.unknownFields 7821 default: 7822 return nil 7823 } 7824 } 7825 file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { 7826 switch v := v.(*StreamMarketRequest); i { 7827 case 0: 7828 return &v.state 7829 case 1: 7830 return &v.sizeCache 7831 case 2: 7832 return &v.unknownFields 7833 default: 7834 return nil 7835 } 7836 } 7837 file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { 7838 switch v := v.(*StreamMarketResponse); i { 7839 case 0: 7840 return &v.state 7841 case 1: 7842 return &v.sizeCache 7843 case 2: 7844 return &v.unknownFields 7845 default: 7846 return nil 7847 } 7848 } 7849 file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { 7850 switch v := v.(*BinaryOptionsMarketsRequest); i { 7851 case 0: 7852 return &v.state 7853 case 1: 7854 return &v.sizeCache 7855 case 2: 7856 return &v.unknownFields 7857 default: 7858 return nil 7859 } 7860 } 7861 file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { 7862 switch v := v.(*BinaryOptionsMarketsResponse); i { 7863 case 0: 7864 return &v.state 7865 case 1: 7866 return &v.sizeCache 7867 case 2: 7868 return &v.unknownFields 7869 default: 7870 return nil 7871 } 7872 } 7873 file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { 7874 switch v := v.(*BinaryOptionsMarketInfo); i { 7875 case 0: 7876 return &v.state 7877 case 1: 7878 return &v.sizeCache 7879 case 2: 7880 return &v.unknownFields 7881 default: 7882 return nil 7883 } 7884 } 7885 file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { 7886 switch v := v.(*Paging); i { 7887 case 0: 7888 return &v.state 7889 case 1: 7890 return &v.sizeCache 7891 case 2: 7892 return &v.unknownFields 7893 default: 7894 return nil 7895 } 7896 } 7897 file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { 7898 switch v := v.(*BinaryOptionsMarketRequest); i { 7899 case 0: 7900 return &v.state 7901 case 1: 7902 return &v.sizeCache 7903 case 2: 7904 return &v.unknownFields 7905 default: 7906 return nil 7907 } 7908 } 7909 file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { 7910 switch v := v.(*BinaryOptionsMarketResponse); i { 7911 case 0: 7912 return &v.state 7913 case 1: 7914 return &v.sizeCache 7915 case 2: 7916 return &v.unknownFields 7917 default: 7918 return nil 7919 } 7920 } 7921 file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { 7922 switch v := v.(*OrderbookV2Request); i { 7923 case 0: 7924 return &v.state 7925 case 1: 7926 return &v.sizeCache 7927 case 2: 7928 return &v.unknownFields 7929 default: 7930 return nil 7931 } 7932 } 7933 file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { 7934 switch v := v.(*OrderbookV2Response); i { 7935 case 0: 7936 return &v.state 7937 case 1: 7938 return &v.sizeCache 7939 case 2: 7940 return &v.unknownFields 7941 default: 7942 return nil 7943 } 7944 } 7945 file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { 7946 switch v := v.(*DerivativeLimitOrderbookV2); i { 7947 case 0: 7948 return &v.state 7949 case 1: 7950 return &v.sizeCache 7951 case 2: 7952 return &v.unknownFields 7953 default: 7954 return nil 7955 } 7956 } 7957 file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { 7958 switch v := v.(*PriceLevel); i { 7959 case 0: 7960 return &v.state 7961 case 1: 7962 return &v.sizeCache 7963 case 2: 7964 return &v.unknownFields 7965 default: 7966 return nil 7967 } 7968 } 7969 file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { 7970 switch v := v.(*OrderbooksV2Request); i { 7971 case 0: 7972 return &v.state 7973 case 1: 7974 return &v.sizeCache 7975 case 2: 7976 return &v.unknownFields 7977 default: 7978 return nil 7979 } 7980 } 7981 file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { 7982 switch v := v.(*OrderbooksV2Response); i { 7983 case 0: 7984 return &v.state 7985 case 1: 7986 return &v.sizeCache 7987 case 2: 7988 return &v.unknownFields 7989 default: 7990 return nil 7991 } 7992 } 7993 file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { 7994 switch v := v.(*SingleDerivativeLimitOrderbookV2); i { 7995 case 0: 7996 return &v.state 7997 case 1: 7998 return &v.sizeCache 7999 case 2: 8000 return &v.unknownFields 8001 default: 8002 return nil 8003 } 8004 } 8005 file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { 8006 switch v := v.(*StreamOrderbookV2Request); i { 8007 case 0: 8008 return &v.state 8009 case 1: 8010 return &v.sizeCache 8011 case 2: 8012 return &v.unknownFields 8013 default: 8014 return nil 8015 } 8016 } 8017 file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { 8018 switch v := v.(*StreamOrderbookV2Response); i { 8019 case 0: 8020 return &v.state 8021 case 1: 8022 return &v.sizeCache 8023 case 2: 8024 return &v.unknownFields 8025 default: 8026 return nil 8027 } 8028 } 8029 file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { 8030 switch v := v.(*StreamOrderbookUpdateRequest); i { 8031 case 0: 8032 return &v.state 8033 case 1: 8034 return &v.sizeCache 8035 case 2: 8036 return &v.unknownFields 8037 default: 8038 return nil 8039 } 8040 } 8041 file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { 8042 switch v := v.(*StreamOrderbookUpdateResponse); i { 8043 case 0: 8044 return &v.state 8045 case 1: 8046 return &v.sizeCache 8047 case 2: 8048 return &v.unknownFields 8049 default: 8050 return nil 8051 } 8052 } 8053 file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { 8054 switch v := v.(*OrderbookLevelUpdates); i { 8055 case 0: 8056 return &v.state 8057 case 1: 8058 return &v.sizeCache 8059 case 2: 8060 return &v.unknownFields 8061 default: 8062 return nil 8063 } 8064 } 8065 file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { 8066 switch v := v.(*PriceLevelUpdate); i { 8067 case 0: 8068 return &v.state 8069 case 1: 8070 return &v.sizeCache 8071 case 2: 8072 return &v.unknownFields 8073 default: 8074 return nil 8075 } 8076 } 8077 file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { 8078 switch v := v.(*OrdersRequest); i { 8079 case 0: 8080 return &v.state 8081 case 1: 8082 return &v.sizeCache 8083 case 2: 8084 return &v.unknownFields 8085 default: 8086 return nil 8087 } 8088 } 8089 file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { 8090 switch v := v.(*OrdersResponse); i { 8091 case 0: 8092 return &v.state 8093 case 1: 8094 return &v.sizeCache 8095 case 2: 8096 return &v.unknownFields 8097 default: 8098 return nil 8099 } 8100 } 8101 file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { 8102 switch v := v.(*DerivativeLimitOrder); i { 8103 case 0: 8104 return &v.state 8105 case 1: 8106 return &v.sizeCache 8107 case 2: 8108 return &v.unknownFields 8109 default: 8110 return nil 8111 } 8112 } 8113 file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { 8114 switch v := v.(*PositionsRequest); i { 8115 case 0: 8116 return &v.state 8117 case 1: 8118 return &v.sizeCache 8119 case 2: 8120 return &v.unknownFields 8121 default: 8122 return nil 8123 } 8124 } 8125 file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { 8126 switch v := v.(*PositionsResponse); i { 8127 case 0: 8128 return &v.state 8129 case 1: 8130 return &v.sizeCache 8131 case 2: 8132 return &v.unknownFields 8133 default: 8134 return nil 8135 } 8136 } 8137 file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { 8138 switch v := v.(*DerivativePosition); i { 8139 case 0: 8140 return &v.state 8141 case 1: 8142 return &v.sizeCache 8143 case 2: 8144 return &v.unknownFields 8145 default: 8146 return nil 8147 } 8148 } 8149 file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { 8150 switch v := v.(*PositionsV2Request); i { 8151 case 0: 8152 return &v.state 8153 case 1: 8154 return &v.sizeCache 8155 case 2: 8156 return &v.unknownFields 8157 default: 8158 return nil 8159 } 8160 } 8161 file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { 8162 switch v := v.(*PositionsV2Response); i { 8163 case 0: 8164 return &v.state 8165 case 1: 8166 return &v.sizeCache 8167 case 2: 8168 return &v.unknownFields 8169 default: 8170 return nil 8171 } 8172 } 8173 file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { 8174 switch v := v.(*DerivativePositionV2); i { 8175 case 0: 8176 return &v.state 8177 case 1: 8178 return &v.sizeCache 8179 case 2: 8180 return &v.unknownFields 8181 default: 8182 return nil 8183 } 8184 } 8185 file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { 8186 switch v := v.(*LiquidablePositionsRequest); i { 8187 case 0: 8188 return &v.state 8189 case 1: 8190 return &v.sizeCache 8191 case 2: 8192 return &v.unknownFields 8193 default: 8194 return nil 8195 } 8196 } 8197 file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { 8198 switch v := v.(*LiquidablePositionsResponse); i { 8199 case 0: 8200 return &v.state 8201 case 1: 8202 return &v.sizeCache 8203 case 2: 8204 return &v.unknownFields 8205 default: 8206 return nil 8207 } 8208 } 8209 file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { 8210 switch v := v.(*FundingPaymentsRequest); i { 8211 case 0: 8212 return &v.state 8213 case 1: 8214 return &v.sizeCache 8215 case 2: 8216 return &v.unknownFields 8217 default: 8218 return nil 8219 } 8220 } 8221 file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { 8222 switch v := v.(*FundingPaymentsResponse); i { 8223 case 0: 8224 return &v.state 8225 case 1: 8226 return &v.sizeCache 8227 case 2: 8228 return &v.unknownFields 8229 default: 8230 return nil 8231 } 8232 } 8233 file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { 8234 switch v := v.(*FundingPayment); i { 8235 case 0: 8236 return &v.state 8237 case 1: 8238 return &v.sizeCache 8239 case 2: 8240 return &v.unknownFields 8241 default: 8242 return nil 8243 } 8244 } 8245 file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { 8246 switch v := v.(*FundingRatesRequest); i { 8247 case 0: 8248 return &v.state 8249 case 1: 8250 return &v.sizeCache 8251 case 2: 8252 return &v.unknownFields 8253 default: 8254 return nil 8255 } 8256 } 8257 file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { 8258 switch v := v.(*FundingRatesResponse); i { 8259 case 0: 8260 return &v.state 8261 case 1: 8262 return &v.sizeCache 8263 case 2: 8264 return &v.unknownFields 8265 default: 8266 return nil 8267 } 8268 } 8269 file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { 8270 switch v := v.(*FundingRate); i { 8271 case 0: 8272 return &v.state 8273 case 1: 8274 return &v.sizeCache 8275 case 2: 8276 return &v.unknownFields 8277 default: 8278 return nil 8279 } 8280 } 8281 file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { 8282 switch v := v.(*StreamPositionsRequest); i { 8283 case 0: 8284 return &v.state 8285 case 1: 8286 return &v.sizeCache 8287 case 2: 8288 return &v.unknownFields 8289 default: 8290 return nil 8291 } 8292 } 8293 file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { 8294 switch v := v.(*StreamPositionsResponse); i { 8295 case 0: 8296 return &v.state 8297 case 1: 8298 return &v.sizeCache 8299 case 2: 8300 return &v.unknownFields 8301 default: 8302 return nil 8303 } 8304 } 8305 file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { 8306 switch v := v.(*StreamOrdersRequest); i { 8307 case 0: 8308 return &v.state 8309 case 1: 8310 return &v.sizeCache 8311 case 2: 8312 return &v.unknownFields 8313 default: 8314 return nil 8315 } 8316 } 8317 file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { 8318 switch v := v.(*StreamOrdersResponse); i { 8319 case 0: 8320 return &v.state 8321 case 1: 8322 return &v.sizeCache 8323 case 2: 8324 return &v.unknownFields 8325 default: 8326 return nil 8327 } 8328 } 8329 file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { 8330 switch v := v.(*TradesRequest); i { 8331 case 0: 8332 return &v.state 8333 case 1: 8334 return &v.sizeCache 8335 case 2: 8336 return &v.unknownFields 8337 default: 8338 return nil 8339 } 8340 } 8341 file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { 8342 switch v := v.(*TradesResponse); i { 8343 case 0: 8344 return &v.state 8345 case 1: 8346 return &v.sizeCache 8347 case 2: 8348 return &v.unknownFields 8349 default: 8350 return nil 8351 } 8352 } 8353 file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { 8354 switch v := v.(*DerivativeTrade); i { 8355 case 0: 8356 return &v.state 8357 case 1: 8358 return &v.sizeCache 8359 case 2: 8360 return &v.unknownFields 8361 default: 8362 return nil 8363 } 8364 } 8365 file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { 8366 switch v := v.(*PositionDelta); i { 8367 case 0: 8368 return &v.state 8369 case 1: 8370 return &v.sizeCache 8371 case 2: 8372 return &v.unknownFields 8373 default: 8374 return nil 8375 } 8376 } 8377 file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { 8378 switch v := v.(*TradesV2Request); i { 8379 case 0: 8380 return &v.state 8381 case 1: 8382 return &v.sizeCache 8383 case 2: 8384 return &v.unknownFields 8385 default: 8386 return nil 8387 } 8388 } 8389 file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { 8390 switch v := v.(*TradesV2Response); i { 8391 case 0: 8392 return &v.state 8393 case 1: 8394 return &v.sizeCache 8395 case 2: 8396 return &v.unknownFields 8397 default: 8398 return nil 8399 } 8400 } 8401 file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { 8402 switch v := v.(*StreamTradesRequest); i { 8403 case 0: 8404 return &v.state 8405 case 1: 8406 return &v.sizeCache 8407 case 2: 8408 return &v.unknownFields 8409 default: 8410 return nil 8411 } 8412 } 8413 file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { 8414 switch v := v.(*StreamTradesResponse); i { 8415 case 0: 8416 return &v.state 8417 case 1: 8418 return &v.sizeCache 8419 case 2: 8420 return &v.unknownFields 8421 default: 8422 return nil 8423 } 8424 } 8425 file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { 8426 switch v := v.(*StreamTradesV2Request); i { 8427 case 0: 8428 return &v.state 8429 case 1: 8430 return &v.sizeCache 8431 case 2: 8432 return &v.unknownFields 8433 default: 8434 return nil 8435 } 8436 } 8437 file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { 8438 switch v := v.(*StreamTradesV2Response); i { 8439 case 0: 8440 return &v.state 8441 case 1: 8442 return &v.sizeCache 8443 case 2: 8444 return &v.unknownFields 8445 default: 8446 return nil 8447 } 8448 } 8449 file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { 8450 switch v := v.(*SubaccountOrdersListRequest); i { 8451 case 0: 8452 return &v.state 8453 case 1: 8454 return &v.sizeCache 8455 case 2: 8456 return &v.unknownFields 8457 default: 8458 return nil 8459 } 8460 } 8461 file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { 8462 switch v := v.(*SubaccountOrdersListResponse); i { 8463 case 0: 8464 return &v.state 8465 case 1: 8466 return &v.sizeCache 8467 case 2: 8468 return &v.unknownFields 8469 default: 8470 return nil 8471 } 8472 } 8473 file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { 8474 switch v := v.(*SubaccountTradesListRequest); i { 8475 case 0: 8476 return &v.state 8477 case 1: 8478 return &v.sizeCache 8479 case 2: 8480 return &v.unknownFields 8481 default: 8482 return nil 8483 } 8484 } 8485 file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { 8486 switch v := v.(*SubaccountTradesListResponse); i { 8487 case 0: 8488 return &v.state 8489 case 1: 8490 return &v.sizeCache 8491 case 2: 8492 return &v.unknownFields 8493 default: 8494 return nil 8495 } 8496 } 8497 file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { 8498 switch v := v.(*OrdersHistoryRequest); i { 8499 case 0: 8500 return &v.state 8501 case 1: 8502 return &v.sizeCache 8503 case 2: 8504 return &v.unknownFields 8505 default: 8506 return nil 8507 } 8508 } 8509 file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} { 8510 switch v := v.(*OrdersHistoryResponse); i { 8511 case 0: 8512 return &v.state 8513 case 1: 8514 return &v.sizeCache 8515 case 2: 8516 return &v.unknownFields 8517 default: 8518 return nil 8519 } 8520 } 8521 file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} { 8522 switch v := v.(*DerivativeOrderHistory); i { 8523 case 0: 8524 return &v.state 8525 case 1: 8526 return &v.sizeCache 8527 case 2: 8528 return &v.unknownFields 8529 default: 8530 return nil 8531 } 8532 } 8533 file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} { 8534 switch v := v.(*StreamOrdersHistoryRequest); i { 8535 case 0: 8536 return &v.state 8537 case 1: 8538 return &v.sizeCache 8539 case 2: 8540 return &v.unknownFields 8541 default: 8542 return nil 8543 } 8544 } 8545 file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} { 8546 switch v := v.(*StreamOrdersHistoryResponse); i { 8547 case 0: 8548 return &v.state 8549 case 1: 8550 return &v.sizeCache 8551 case 2: 8552 return &v.unknownFields 8553 default: 8554 return nil 8555 } 8556 } 8557 } 8558 type x struct{} 8559 out := protoimpl.TypeBuilder{ 8560 File: protoimpl.DescBuilder{ 8561 GoPackagePath: reflect.TypeOf(x{}).PkgPath(), 8562 RawDescriptor: file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDesc, 8563 NumEnums: 0, 8564 NumMessages: 70, 8565 NumExtensions: 0, 8566 NumServices: 1, 8567 }, 8568 GoTypes: file_goadesign_goagen_injective_derivative_exchange_rpc_proto_goTypes, 8569 DependencyIndexes: file_goadesign_goagen_injective_derivative_exchange_rpc_proto_depIdxs, 8570 MessageInfos: file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes, 8571 }.Build() 8572 File_goadesign_goagen_injective_derivative_exchange_rpc_proto = out.File 8573 file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDesc = nil 8574 file_goadesign_goagen_injective_derivative_exchange_rpc_proto_goTypes = nil 8575 file_goadesign_goagen_injective_derivative_exchange_rpc_proto_depIdxs = nil 8576 }