# Governance Proposals

# Proposal/SpotMarketParamUpdate

SpotMarketParamUpdateProposal defines an SDK message to propose an update of spot market params.

Copy type SpotMarketParamUpdateProposal struct { Title string Description string MarketId string MakerFeeRate *sdk.Dec TakerFeeRate *sdk.Dec RelayerFeeShareRate *sdk.Dec MinPriceTickSize *sdk.Dec MinQuantityTickSize *sdk.Dec Status MarketStatus }

Fields description

  • Title describes the title of the proposal.
  • Description describes the description of the proposal.
  • MarketId describes the id of the market to change params.
  • MakerFeeRate describes the target fee rate for makers.
  • TakerFeeRate describes the target fee rate for takers.
  • RelayerFeeShareRate describes the relayer fee share rate.
  • MinPriceTickSize defines the minimum tick size of the order's price.
  • MinQuantityTickSize defines the minimum tick size of the order's quantity.
  • Status describes the target status of the market.

# Proposal/ExchangeEnable

ExchangeEnableProposal defines a message to propose enable of specific exchange type.

Copy type ExchangeEnableProposal struct { Title string Description string ExchangeType ExchangeType }

Fields description

  • Title describes the title of the proposal.
  • Description describes the description of the proposal.
  • ExchangeType describes the type of exchange, spot or derivatives.

# Proposal/SpotMarketLaunch

SpotMarketLaunchProposal defines an SDK message for proposing a new spot market through governance.

Copy type SpotMarketLaunchProposal struct { Title string Description string Ticker string BaseDenom string QuoteDenom string MinPriceTickSize sdk.Dec MinQuantityTickSize sdk.Dec }

Fields description

  • Title describes the title of the proposal.
  • Description describes the description of the proposal.
  • Ticker describes the ticker for the spot market.
  • BaseDenom specifies the type of coin to use as the base currency.
  • QuoteDenom specifies the type of coin to use as the quote currency.
  • MinPriceTickSize defines the minimum tick size of the order's price.
  • MinQuantityTickSize defines the minimum tick size of the order's quantity.

# Proposal/PerpetualMarketLaunch

PerpetualMarketLaunchProposal defines an SDK message for proposing a new perpetual futures market through governance.

Copy type PerpetualMarketLaunchProposal struct { Title string Description string Ticker string QuoteDenom string OracleBase string OracleQuote string OracleScaleFactor uint32 OracleType types1.OracleType InitialMarginRatio sdk.Dec MaintenanceMarginRatio sdk.Dec MakerFeeRate sdk.Dec TakerFeeRate sdk.Dec MinPriceTickSize sdk.Dec MinQuantityTickSize sdk.Dec }

Fields description

  • Title describes the title of the proposal.
  • Description describes the description of the proposal.
  • Ticker field describes the ticker for the derivative market.
  • QuoteDenom field describes the type of coin to use as the base currency.
  • OracleBase field describes the oracle base currency.
  • OracleQuote field describes the oracle quote currency.
  • OracleScaleFactor field describes the scale factor for oracle prices.
  • OracleType field describes the oracle type.
  • MakerFeeRate field describes the trade fee rate for makers on the derivative market.
  • TakerFeeRate field describes the trade fee rate for takers on the derivative market.
  • InitialMarginRatio field describes the initial margin ratio for the derivative market.
  • MaintenanceMarginRatio field describes the maintenance margin ratio for the derivative market.
  • MinPriceTickSize field describes the minimum tick size of the order's price and margin.
  • MinQuantityTickSize field describes the minimum tick size of the order's quantity.

# Expiry futures market launch proposal

Copy // ExpiryFuturesMarketLaunchProposal defines an SDK message for proposing a new expiry futures market through governance type ExpiryFuturesMarketLaunchProposal struct { Title string Description string // Ticker for the derivative market. Ticker string // type of coin to use as the quote currency QuoteDenom string // Oracle base currency OracleBase string // Oracle quote currency OracleQuote string // Scale factor for oracle prices. OracleScaleFactor uint32 // Oracle type OracleType types1.OracleType // Expiration time of the market Expiry int64 // initial_margin_ratio defines the initial margin ratio for the derivative market InitialMarginRatio sdk.Dec // maintenance_margin_ratio defines the maintenance margin ratio for the derivative market MaintenanceMarginRatio sdk.Dec // maker_fee_rate defines the exchange trade fee for makers for the derivative market MakerFeeRate sdk.Dec // taker_fee_rate defines the exchange trade fee for takers for the derivative market TakerFeeRate sdk.Dec // min_price_tick_size defines the minimum tick size of the order's price and margin MinPriceTickSize sdk.Dec // min_quantity_tick_size defines the minimum tick size of the order's quantity MinQuantityTickSize sdk.Dec }

Fields description

  • Title describes the title of the proposal.
  • Description describes the description of the proposal.
  • Ticker field describes the ticker for the derivative market.
  • QuoteDenom field describes the type of coin to use as the quote currency.
  • OracleBase field describes the oracle base currency.
  • OracleQuote field describes the oracle quote currency.
  • OracleScaleFactor field describes the scale factor for oracle prices.
  • OracleType field describes the oracle type.
  • Expiry field describes the expiration time of the market.
  • MakerFeeRate field describes the trade fee rate for makers on the derivative market.
  • TakerFeeRate field describes the trade fee rate for takers on the derivative market.
  • InitialMarginRatio field describes the initial margin ratio for the derivative market.
  • MaintenanceMarginRatio field describes the maintenance margin ratio for the derivative market.
  • MinPriceTickSize field describes the minimum tick size of the order's price and margin.
  • MinQuantityTickSize field describes the minimum tick size of the order's quantity.

# Proposal/DerivativeMarketParamUpdate

Copy type DerivativeMarketParamUpdateProposal struct { Title string Description string MarketId string InitialMarginRatio *sdk.Dec MaintenanceMarginRatio *sdk.Dec MakerFeeRate *sdk.Dec TakerFeeRate *sdk.Dec RelayerFeeShareRate *sdk.Dec MinPriceTickSize *sdk.Dec MinQuantityTickSize *sdk.Dec Status MarketStatus }

Fields description

  • Title describes the title of the proposal.
  • Description describes the description of the proposal.
  • MarketId describes the id of the market to change params.
  • InitialMarginRatio describes the target initial margin ratio.
  • MaintenanceMarginRatio describes the target maintenance margin ratio.
  • MakerFeeRate describes the target fee rate for makers.
  • TakerFeeRate describes the target fee rate for takers.
  • RelayerFeeShareRate describes the relayer fee share rate.
  • MinPriceTickSize defines the minimum tick size of the order's price.
  • MinQuantityTickSize defines the minimum tick size of the order's quantity.
  • Status describes the target status of the market.

# TradingRewardCampaignProposal

TradingRewardCampaignProposal defines an SDK message for proposing a new liquidity mining campaign through governance.

Copy type TradingRewardCampaign struct { // spot_market_ids are the marketIDs of the active spot markets in the liquidity mining campaign SpotMarketIds []string // spot_market_weights are the weights for the spot markets SpotMarketWeights []github_com_cosmos_cosmos_sdk_types.Dec // derivative_market_ids are the marketIDs of the active derivative markets in the liquidity mining campaign DerivativeMarketIds []string // derivative_market_weights are the weights for the derivative markets DerivativeMarketWeights []github_com_cosmos_cosmos_sdk_types.Dec // max_epoch_rewards are the maximum reward amounts to be disbursed at the end of the epoch MaxEpochRewards github_com_cosmos_cosmos_sdk_types.Coins } type TradingRewardCampaignProposal struct { Title string Description string Campaign *TradingRewardCampaign }