# 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/BatchExchangeModification

BatchExchangeModificationProposal defines a message to batch multiple proposals in the exchange module.

Copy type BatchExchangeModificationProposal struct { Title string Description string SpotMarketParamUpdateProposal []*SpotMarketParamUpdateProposal DerivativeMarketParamUpdateProposal []*DerivativeMarketParamUpdateProposal SpotMarketLaunchProposal []*SpotMarketLaunchProposal PerpetualMarketLaunchProposal []*PerpetualMarketLaunchProposal ExpiryFuturesMarketLaunchProposal []*ExpiryFuturesMarketLaunchProposal TradingRewardCampaignUpdateProposal *TradingRewardCampaignUpdateProposal }

Fields description

  • Title describes the title of the proposal.
  • Description describes the description of the proposal.
  • SpotMarketParamUpdateProposal describes the SpotMarketParamUpdateProposal.
  • DerivativeMarketParamUpdateProposal describes the DerivativeMarketParamUpdateProposal.
  • SpotMarketLaunchProposal describes the SpotMarketLaunchProposal.
  • PerpetualMarketLaunchProposal describes the PerpetualMarketLaunchProposal.
  • ExpiryFuturesMarketLaunchProposal describes the ExpiryFuturesMarketLaunchProposal.
  • TradingRewardCampaignUpdateProposal describes the TradingRewardCampaignUpdateProposal.

# 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 MakerFeeRate sdk.Dec TakerFeeRate 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.
  • 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.

# 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 OracleParams struct { // Oracle base currency OracleBase string // Oracle quote currency OracleQuote string // Scale factor for oracle prices. OracleScaleFactor uint32 // Oracle type OracleType types1.OracleType } 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 HourlyInterestRate *sdk.Dec HourlyFundingRateCap *sdk.Dec Status MarketStatus OracleParams *OracleParams }

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.
  • OracleParams describes the new oracle parameters.

# Proposal/TradingRewardCampaignLaunch

TradingRewardCampaignLaunchProposal defines an SDK message for proposing to launch a new trading reward campaign.

Copy type TradingRewardCampaignLaunchProposal struct { Title string Description string CampaignInfo *TradingRewardCampaignInfo CampaignRewardPools []*CampaignRewardPool }

Fields description

  • Title describes the title of the proposal.
  • Description describes the description of the proposal.
  • CampaignInfo describes the CampaignInfo.
  • CampaignRewardPools describes the CampaignRewardPools.

# Proposal/TradingRewardCampaignUpdate

TradingRewardCampaignUpdateProposal defines an SDK message for proposing to update an existing trading reward campaign.

Copy type TradingRewardCampaignUpdateProposal struct { Title string Description string CampaignInfo *TradingRewardCampaignInfo CampaignRewardPoolsAdditions []*CampaignRewardPool CampaignRewardPoolsUpdates []*CampaignRewardPool }
  • Title describes the title of the proposal.
  • Description describes the description of the proposal.
  • CampaignRewardPoolsAdditions describes the CampaignRewardPoolsAdditions.
  • CampaignRewardPoolsUpdates describes the CampaignRewardPoolsUpdates.

# Proposal/FeeDiscount

FeeDiscountProposal defines an SDK message for proposing to launch or update a fee discount schedule.

Copy type FeeDiscountProposal struct { Title string Description string Schedule *FeeDiscountSchedule }
  • Title describes the title of the proposal.
  • Description describes the description of the proposal.
  • Schedule describes the Fee discount schedule.

# Proposal/TradingRewardPendingPointsUpdate

TradingRewardPendingPointsUpdateProposal defines an SDK message to update reward points for certain addresses during the vesting period.

Copy type TradingRewardPendingPointsUpdateProposal struct { Title string Description string PendingPoolTimestamp int64 RewardPointUpdates *[]RewardPointUpdate }

Fields description

  • Title describes the title of the proposal.
  • Description describes the description of the proposal.
  • PendingPoolTimestamp describes timestamp of the pending pool.
  • RewardPointUpdates describes the RewardPointUpdate.