github.com/InjectiveLabs/sdk-go@v1.53.0/proto/injective/exchange/v1beta1/proposal.proto (about) 1 syntax = "proto3"; 2 package injective.exchange.v1beta1; 3 4 import "cosmos/base/v1beta1/coin.proto"; 5 import "cosmos/distribution/v1beta1/distribution.proto"; 6 import "cosmos/msg/v1/msg.proto"; 7 import "cosmos_proto/cosmos.proto"; 8 import "gogoproto/gogo.proto"; 9 import "injective/exchange/v1beta1/exchange.proto"; 10 import "injective/oracle/v1beta1/oracle.proto"; 11 import "amino/amino.proto"; 12 13 option go_package = "github.com/InjectiveLabs/injective-core/injective-chain/modules/exchange/types"; 14 15 message SpotMarketParamUpdateProposal { 16 option (amino.name) = "exchange/SpotMarketParamUpdateProposal"; 17 option (gogoproto.equal) = false; 18 option (gogoproto.goproto_getters) = false; 19 option (cosmos_proto.implements_interface) = "cosmos.gov.v1beta1.Content"; 20 21 string title = 1; 22 string description = 2; 23 string market_id = 3; 24 25 // maker_fee_rate defines the trade fee rate for makers on the spot market 26 string maker_fee_rate = 4 [ 27 (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", 28 (gogoproto.nullable) = true 29 ]; 30 31 // taker_fee_rate defines the trade fee rate for takers on the spot market 32 string taker_fee_rate = 5 [ 33 (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", 34 (gogoproto.nullable) = true 35 ]; 36 37 // relayer_fee_share_rate defines the relayer fee share rate for the spot 38 // market 39 string relayer_fee_share_rate = 6 [ 40 (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", 41 (gogoproto.nullable) = true 42 ]; 43 44 // min_price_tick_size defines the minimum tick size of the order's price and 45 // margin 46 string min_price_tick_size = 7 [ 47 (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", 48 (gogoproto.nullable) = true 49 ]; 50 // min_quantity_tick_size defines the minimum tick size of the order's 51 // quantity 52 string min_quantity_tick_size = 8 [ 53 (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", 54 (gogoproto.nullable) = true 55 ]; 56 57 MarketStatus status = 9; 58 59 string ticker = 10 [ (gogoproto.nullable) = true ]; 60 61 // min_notional defines the minimum notional (in quote asset) required for 62 // orders in the market 63 string min_notional = 11 [ 64 (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", 65 (gogoproto.nullable) = true 66 ]; 67 68 AdminInfo admin_info = 12; 69 } 70 71 enum ExchangeType { 72 EXCHANGE_UNSPECIFIED = 0 73 [ (gogoproto.enumvalue_customname) = "EXCHANGE_UNSPECIFIED" ]; 74 SPOT = 1 [ (gogoproto.enumvalue_customname) = "SPOT" ]; 75 DERIVATIVES = 2 [ (gogoproto.enumvalue_customname) = "DERIVATIVES" ]; 76 } 77 78 message ExchangeEnableProposal { 79 option (amino.name) = "exchange/ExchangeEnableProposal"; 80 option (gogoproto.equal) = false; 81 option (gogoproto.goproto_getters) = false; 82 83 string title = 1; 84 string description = 2; 85 86 ExchangeType exchangeType = 3; 87 } 88 89 message BatchExchangeModificationProposal { 90 option (amino.name) = "exchange/BatchExchangeModificationProposal"; 91 option (gogoproto.equal) = false; 92 option (gogoproto.goproto_getters) = false; 93 option (cosmos_proto.implements_interface) = "cosmos.gov.v1beta1.Content"; 94 95 string title = 1; 96 string description = 2; 97 98 repeated SpotMarketParamUpdateProposal spot_market_param_update_proposals = 3; 99 repeated DerivativeMarketParamUpdateProposal 100 derivative_market_param_update_proposals = 4; 101 repeated SpotMarketLaunchProposal spot_market_launch_proposals = 5; 102 repeated PerpetualMarketLaunchProposal perpetual_market_launch_proposals = 6; 103 repeated ExpiryFuturesMarketLaunchProposal 104 expiry_futures_market_launch_proposals = 7; 105 TradingRewardCampaignUpdateProposal trading_reward_campaign_update_proposal = 106 8; 107 repeated BinaryOptionsMarketLaunchProposal 108 binary_options_market_launch_proposals = 9; 109 repeated BinaryOptionsMarketParamUpdateProposal 110 binary_options_param_update_proposals = 10; 111 UpdateDenomDecimalsProposal denom_decimals_update_proposal = 11; 112 113 FeeDiscountProposal fee_discount_proposal = 12; 114 115 repeated MarketForcedSettlementProposal market_forced_settlement_proposals = 116 13; 117 } 118 119 // SpotMarketLaunchProposal defines a SDK message for proposing a new spot 120 // market through governance 121 message SpotMarketLaunchProposal { 122 option (amino.name) = "exchange/SpotMarketLaunchProposal"; 123 option (gogoproto.equal) = false; 124 option (gogoproto.goproto_getters) = false; 125 option (cosmos_proto.implements_interface) = "cosmos.gov.v1beta1.Content"; 126 127 string title = 1; 128 string description = 2; 129 // Ticker for the spot market. 130 string ticker = 3; 131 // type of coin to use as the base currency 132 string base_denom = 4; 133 // type of coin to use as the quote currency 134 string quote_denom = 5; 135 // min_price_tick_size defines the minimum tick size of the order's price 136 string min_price_tick_size = 6 [ 137 (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", 138 (gogoproto.nullable) = false 139 ]; 140 // min_quantity_tick_size defines the minimum tick size of the order's 141 // quantity 142 string min_quantity_tick_size = 7 [ 143 (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", 144 (gogoproto.nullable) = false 145 ]; 146 // maker_fee_rate defines the fee percentage makers pay when trading 147 string maker_fee_rate = 8 [ 148 (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", 149 (gogoproto.nullable) = true 150 ]; 151 // taker_fee_rate defines the fee percentage takers pay when trading 152 string taker_fee_rate = 9 [ 153 (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", 154 (gogoproto.nullable) = true 155 ]; 156 // min_notional defines the minimum notional for orders in the market 157 string min_notional = 10 [ 158 (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", 159 (gogoproto.nullable) = false 160 ]; 161 AdminInfo admin_info = 11; 162 } 163 164 // PerpetualMarketLaunchProposal defines a SDK message for proposing a new 165 // perpetual futures market through governance 166 message PerpetualMarketLaunchProposal { 167 option (amino.name) = "exchange/PerpetualMarketLaunchProposal"; 168 option (gogoproto.equal) = false; 169 option (gogoproto.goproto_getters) = false; 170 option (cosmos_proto.implements_interface) = "cosmos.gov.v1beta1.Content"; 171 172 string title = 1; 173 string description = 2; 174 // Ticker for the derivative market. 175 string ticker = 3; 176 // type of coin to use as the base currency 177 string quote_denom = 4; 178 // Oracle base currency 179 string oracle_base = 5; 180 // Oracle quote currency 181 string oracle_quote = 6; 182 // Scale factor for oracle prices. 183 uint32 oracle_scale_factor = 7; 184 // Oracle type 185 injective.oracle.v1beta1.OracleType oracle_type = 8; 186 // initial_margin_ratio defines the initial margin ratio for the derivative 187 // market 188 string initial_margin_ratio = 9 [ 189 (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", 190 (gogoproto.nullable) = false 191 ]; 192 193 // maintenance_margin_ratio defines the maintenance margin ratio for the 194 // derivative market 195 string maintenance_margin_ratio = 10 [ 196 (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", 197 (gogoproto.nullable) = false 198 ]; 199 200 // maker_fee_rate defines the exchange trade fee for makers for the derivative 201 // market 202 string maker_fee_rate = 11 [ 203 (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", 204 (gogoproto.nullable) = false 205 ]; 206 207 // taker_fee_rate defines the exchange trade fee for takers for the derivative 208 // market 209 string taker_fee_rate = 12 [ 210 (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", 211 (gogoproto.nullable) = false 212 ]; 213 // min_price_tick_size defines the minimum tick size of the order's price and 214 // margin 215 string min_price_tick_size = 13 [ 216 (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", 217 (gogoproto.nullable) = false 218 ]; 219 // min_quantity_tick_size defines the minimum tick size of the order's 220 // quantity 221 string min_quantity_tick_size = 14 [ 222 (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", 223 (gogoproto.nullable) = false 224 ]; 225 // min_notional defines the minimum notional (in quote asset) required for 226 // orders in the market 227 string min_notional = 15 [ 228 (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", 229 (gogoproto.nullable) = false 230 ]; 231 AdminInfo admin_info = 16; 232 } 233 234 message BinaryOptionsMarketLaunchProposal { 235 option (amino.name) = "exchange/BinaryOptionsMarketLaunchProposal"; 236 option (gogoproto.equal) = false; 237 option (gogoproto.goproto_getters) = false; 238 option (cosmos_proto.implements_interface) = "cosmos.gov.v1beta1.Content"; 239 240 string title = 1; 241 string description = 2; 242 // Ticker for the derivative contract. 243 string ticker = 3; 244 // Oracle symbol 245 string oracle_symbol = 4; 246 // Oracle Provider 247 string oracle_provider = 5; 248 // Oracle type 249 injective.oracle.v1beta1.OracleType oracle_type = 6; 250 // Scale factor for oracle prices. 251 uint32 oracle_scale_factor = 7; 252 // expiration timestamp 253 int64 expiration_timestamp = 8; 254 // expiration timestamp 255 int64 settlement_timestamp = 9; 256 // admin of the market 257 string admin = 10; 258 // Address of the quote currency denomination for the binary options contract 259 string quote_denom = 11; 260 // maker_fee_rate defines the maker fee rate of a binary options market 261 string maker_fee_rate = 12 [ 262 (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", 263 (gogoproto.nullable) = false 264 ]; 265 // taker_fee_rate defines the taker fee rate of a derivative market 266 string taker_fee_rate = 13 [ 267 (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", 268 (gogoproto.nullable) = false 269 ]; 270 // min_price_tick_size defines the minimum tick size that the price and margin 271 // required for orders in the market 272 string min_price_tick_size = 14 [ 273 (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", 274 (gogoproto.nullable) = false 275 ]; 276 // min_quantity_tick_size defines the minimum tick size of the quantity 277 // required for orders in the market 278 string min_quantity_tick_size = 15 [ 279 (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", 280 (gogoproto.nullable) = false 281 ]; 282 // min_notional defines the minimum notional (in quote asset) required for 283 // orders in the market 284 string min_notional = 16 [ 285 (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", 286 (gogoproto.nullable) = false 287 ]; 288 uint32 admin_permissions = 17; 289 } 290 291 // ExpiryFuturesMarketLaunchProposal defines a SDK message for proposing a new 292 // expiry futures market through governance 293 message ExpiryFuturesMarketLaunchProposal { 294 option (amino.name) = "exchange/ExpiryFuturesMarketLaunchProposal"; 295 option (gogoproto.equal) = false; 296 option (gogoproto.goproto_getters) = false; 297 option (cosmos_proto.implements_interface) = "cosmos.gov.v1beta1.Content"; 298 299 string title = 1; 300 string description = 2; 301 // Ticker for the derivative market. 302 string ticker = 3; 303 // type of coin to use as the quote currency 304 string quote_denom = 4; 305 // Oracle base currency 306 string oracle_base = 5; 307 // Oracle quote currency 308 string oracle_quote = 6; 309 // Scale factor for oracle prices. 310 uint32 oracle_scale_factor = 7; 311 // Oracle type 312 injective.oracle.v1beta1.OracleType oracle_type = 8; 313 // Expiration time of the market 314 int64 expiry = 9; 315 // initial_margin_ratio defines the initial margin ratio for the derivative 316 // market 317 string initial_margin_ratio = 10 [ 318 (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", 319 (gogoproto.nullable) = false 320 ]; 321 322 // maintenance_margin_ratio defines the maintenance margin ratio for the 323 // derivative market 324 string maintenance_margin_ratio = 11 [ 325 (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", 326 (gogoproto.nullable) = false 327 ]; 328 329 // maker_fee_rate defines the exchange trade fee for makers for the derivative 330 // market 331 string maker_fee_rate = 12 [ 332 (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", 333 (gogoproto.nullable) = false 334 ]; 335 336 // taker_fee_rate defines the exchange trade fee for takers for the derivative 337 // market 338 string taker_fee_rate = 13 [ 339 (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", 340 (gogoproto.nullable) = false 341 ]; 342 // min_price_tick_size defines the minimum tick size of the order's price and 343 // margin 344 string min_price_tick_size = 14 [ 345 (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", 346 (gogoproto.nullable) = false 347 ]; 348 // min_quantity_tick_size defines the minimum tick size of the order's 349 // quantity 350 string min_quantity_tick_size = 15 [ 351 (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", 352 (gogoproto.nullable) = false 353 ]; 354 // min_notional defines the minimum notional (in quote asset) required for 355 // orders in the market 356 string min_notional = 16 [ 357 (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", 358 (gogoproto.nullable) = false 359 ]; 360 361 AdminInfo admin_info = 17; 362 } 363 364 message DerivativeMarketParamUpdateProposal { 365 option (amino.name) = "exchange/DerivativeMarketParamUpdateProposal"; 366 option (gogoproto.equal) = false; 367 option (gogoproto.goproto_getters) = false; 368 369 option (cosmos_proto.implements_interface) = "cosmos.gov.v1beta1.Content"; 370 371 string title = 1; 372 string description = 2; 373 string market_id = 3; 374 375 // initial_margin_ratio defines the initial margin ratio for the derivative 376 // market 377 string initial_margin_ratio = 4 [ 378 (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", 379 (gogoproto.nullable) = true 380 ]; 381 382 // maintenance_margin_ratio defines the maintenance margin ratio for the 383 // derivative market 384 string maintenance_margin_ratio = 5 [ 385 (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", 386 (gogoproto.nullable) = true 387 ]; 388 389 // maker_fee_rate defines the exchange trade fee for makers for the derivative 390 // market 391 string maker_fee_rate = 6 [ 392 (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", 393 (gogoproto.nullable) = true 394 ]; 395 396 // taker_fee_rate defines the exchange trade fee for takers for the derivative 397 // market 398 string taker_fee_rate = 7 [ 399 (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", 400 (gogoproto.nullable) = true 401 ]; 402 403 // relayer_fee_share_rate defines the relayer fee share rate for the 404 // derivative market 405 string relayer_fee_share_rate = 8 [ 406 (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", 407 (gogoproto.nullable) = true 408 ]; 409 410 // min_price_tick_size defines the minimum tick size of the order's price and 411 // margin 412 string min_price_tick_size = 9 [ 413 (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", 414 (gogoproto.nullable) = true 415 ]; 416 // min_quantity_tick_size defines the minimum tick size of the order's 417 // quantity 418 string min_quantity_tick_size = 10 [ 419 (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", 420 (gogoproto.nullable) = true 421 ]; 422 // hourly_interest_rate defines the hourly interest rate 423 string HourlyInterestRate = 11 [ 424 (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", 425 (gogoproto.nullable) = true 426 ]; 427 // hourly_funding_rate_cap defines the maximum absolute value of the hourly 428 // funding rate 429 string HourlyFundingRateCap = 12 [ 430 (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", 431 (gogoproto.nullable) = true 432 ]; 433 434 MarketStatus status = 13; 435 436 OracleParams oracle_params = 14; 437 438 string ticker = 15 [ (gogoproto.nullable) = true ]; 439 440 // min_notional defines the minimum notional (in quote asset) required for 441 // orders in the market 442 string min_notional = 16 [ 443 (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", 444 (gogoproto.nullable) = true 445 ]; 446 447 AdminInfo admin_info = 17; 448 } 449 450 message AdminInfo { 451 string admin = 1; 452 uint32 admin_permissions = 2; 453 } 454 455 message MarketForcedSettlementProposal { 456 option (amino.name) = "exchange/MarketForcedSettlementProposal"; 457 option (gogoproto.equal) = false; 458 option (gogoproto.goproto_getters) = false; 459 option (cosmos_proto.implements_interface) = "cosmos.gov.v1beta1.Content"; 460 461 string title = 1; 462 string description = 2; 463 string market_id = 3; 464 string settlement_price = 4 [ 465 (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", 466 (gogoproto.nullable) = true 467 ]; 468 } 469 470 message UpdateDenomDecimalsProposal { 471 option (amino.name) = "exchange/UpdateDenomDecimalsProposal"; 472 option (gogoproto.equal) = false; 473 option (gogoproto.goproto_getters) = false; 474 option (cosmos_proto.implements_interface) = "cosmos.gov.v1beta1.Content"; 475 476 string title = 1; 477 string description = 2; 478 repeated DenomDecimals denom_decimals = 3; 479 } 480 481 message BinaryOptionsMarketParamUpdateProposal { 482 option (amino.name) = "exchange/BinaryOptionsMarketParamUpdateProposal"; 483 option (gogoproto.equal) = false; 484 option (gogoproto.goproto_getters) = false; 485 486 option (cosmos_proto.implements_interface) = "cosmos.gov.v1beta1.Content"; 487 488 string title = 1; 489 string description = 2; 490 string market_id = 3; 491 492 // maker_fee_rate defines the exchange trade fee for makers for the derivative 493 // market 494 string maker_fee_rate = 4 [ 495 (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", 496 (gogoproto.nullable) = true 497 ]; 498 499 // taker_fee_rate defines the exchange trade fee for takers for the derivative 500 // market 501 string taker_fee_rate = 5 [ 502 (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", 503 (gogoproto.nullable) = true 504 ]; 505 506 // relayer_fee_share_rate defines the relayer fee share rate for the 507 // derivative market 508 string relayer_fee_share_rate = 6 [ 509 (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", 510 (gogoproto.nullable) = true 511 ]; 512 513 // min_price_tick_size defines the minimum tick size of the order's price and 514 // margin 515 string min_price_tick_size = 7 [ 516 (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", 517 (gogoproto.nullable) = true 518 ]; 519 // min_quantity_tick_size defines the minimum tick size of the order's 520 // quantity 521 string min_quantity_tick_size = 8 [ 522 (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", 523 (gogoproto.nullable) = true 524 ]; 525 526 // expiration timestamp 527 int64 expiration_timestamp = 9; 528 // expiration timestamp 529 int64 settlement_timestamp = 10; 530 // new price at which market will be settled 531 string settlement_price = 11 [ 532 (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", 533 (gogoproto.nullable) = true 534 ]; 535 // admin of the market 536 string admin = 12; 537 MarketStatus status = 13; 538 ProviderOracleParams oracle_params = 14; 539 540 string ticker = 15 [ (gogoproto.nullable) = true ]; 541 542 // min_notional defines the minimum notional (in quote asset) required for 543 // orders in the market 544 string min_notional = 16 [ 545 (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", 546 (gogoproto.nullable) = true 547 ]; 548 } 549 550 message ProviderOracleParams { 551 // Oracle base currency 552 string symbol = 1; 553 // Oracle quote currency 554 string provider = 2; 555 // Scale factor for oracle prices. 556 uint32 oracle_scale_factor = 3; 557 // Oracle type 558 injective.oracle.v1beta1.OracleType oracle_type = 4; 559 } 560 561 message OracleParams { 562 // Oracle base currency 563 string oracle_base = 1; 564 // Oracle quote currency 565 string oracle_quote = 2; 566 // Scale factor for oracle prices. 567 uint32 oracle_scale_factor = 3; 568 // Oracle type 569 injective.oracle.v1beta1.OracleType oracle_type = 4; 570 } 571 572 message TradingRewardCampaignLaunchProposal { 573 option (amino.name) = "exchange/TradingRewardCampaignLaunchProposal"; 574 option (gogoproto.equal) = false; 575 option (gogoproto.goproto_getters) = false; 576 option (cosmos_proto.implements_interface) = "cosmos.gov.v1beta1.Content"; 577 578 string title = 1; 579 string description = 2; 580 TradingRewardCampaignInfo campaign_info = 3; 581 repeated CampaignRewardPool campaign_reward_pools = 4; 582 } 583 584 message TradingRewardCampaignUpdateProposal { 585 option (amino.name) = "exchange/TradingRewardCampaignUpdateProposal"; 586 option (gogoproto.equal) = false; 587 option (gogoproto.goproto_getters) = false; 588 option (cosmos_proto.implements_interface) = "cosmos.gov.v1beta1.Content"; 589 590 string title = 1; 591 string description = 2; 592 TradingRewardCampaignInfo campaign_info = 3; 593 repeated CampaignRewardPool campaign_reward_pools_additions = 4; 594 repeated CampaignRewardPool campaign_reward_pools_updates = 5; 595 } 596 597 message RewardPointUpdate { 598 string account_address = 1; 599 // new_points overwrites the current trading reward points for the account 600 string new_points = 12 [ 601 (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", 602 (gogoproto.nullable) = false 603 ]; 604 } 605 606 message TradingRewardPendingPointsUpdateProposal { 607 option (amino.name) = "exchange/TradingRewardPendingPointsUpdateProposal"; 608 option (gogoproto.equal) = false; 609 option (gogoproto.goproto_getters) = false; 610 option (cosmos_proto.implements_interface) = "cosmos.gov.v1beta1.Content"; 611 612 string title = 1; 613 string description = 2; 614 int64 pending_pool_timestamp = 3; 615 repeated RewardPointUpdate reward_point_updates = 4; 616 } 617 618 message FeeDiscountProposal { 619 option (amino.name) = "exchange/FeeDiscountProposal"; 620 option (gogoproto.equal) = false; 621 option (gogoproto.goproto_getters) = false; 622 option (cosmos_proto.implements_interface) = "cosmos.gov.v1beta1.Content"; 623 624 string title = 1; 625 string description = 2; 626 FeeDiscountSchedule schedule = 3; 627 } 628 629 message BatchCommunityPoolSpendProposal { 630 option (amino.name) = "exchange/BatchCommunityPoolSpendProposal"; 631 option (gogoproto.equal) = false; 632 option (gogoproto.goproto_getters) = false; 633 option (cosmos_proto.implements_interface) = "cosmos.gov.v1beta1.Content"; 634 635 string title = 1; 636 string description = 2; 637 repeated cosmos.distribution.v1beta1.CommunityPoolSpendProposal proposals = 3; 638 } 639 640 // AtomicMarketOrderFeeMultiplierScheduleProposal defines a SDK message for 641 // proposing new atomic take fee multipliers for specified markets 642 message AtomicMarketOrderFeeMultiplierScheduleProposal { 643 option (amino.name) = 644 "exchange/AtomicMarketOrderFeeMultiplierScheduleProposal"; 645 option (gogoproto.equal) = false; 646 option (gogoproto.goproto_getters) = false; 647 option (cosmos_proto.implements_interface) = "cosmos.gov.v1beta1.Content"; 648 649 string title = 1; 650 string description = 2; 651 652 repeated MarketFeeMultiplier market_fee_multipliers = 3; 653 }