Governance Proposals
Proposal/SpotMarketParamUpdate
SpotMarketParamUpdateProposal defines an SDK message to propose an update of spot market params.
type SpotMarketParamUpdateProposal struct {
Title string
Description string
MarketId string
MakerFeeRate *sdk.Dec
TakerFeeRate *sdk.Dec
RelayerFeeShareRate *sdk.Dec
MinPriceTickSize *sdk.Dec
MinQuantityTickSize *sdk.Dec
MinNotional *sdk.Dec
Status MarketStatus
}
Fields description
Titledescribes the title of the proposal.Descriptiondescribes the description of the proposal.MarketIddescribes the id of the market to change params.MakerFeeRatedescribes the target fee rate for makers.TakerFeeRatedescribes the target fee rate for takers.RelayerFeeShareRatedescribes the relayer fee share rate.MinPriceTickSizedefines the minimum tick size of the order's price.MinQuantityTickSizedefines the minimum tick size of the order's quantity.Statusdescribes the target status of the market.
Proposal/ExchangeEnable
ExchangeEnableProposal defines a message to propose enable of specific exchange type.
type ExchangeEnableProposal struct {
Title string
Description string
ExchangeType ExchangeType
}
Fields description
Titledescribes the title of the proposal.Descriptiondescribes the description of the proposal.ExchangeTypedescribes the type of exchange, spot or derivatives.
Proposal/BatchExchangeModification
BatchExchangeModificationProposal defines a message to batch multiple proposals in the exchange module.
type BatchExchangeModificationProposal struct {
Title string
Description string
SpotMarketParamUpdateProposal []*SpotMarketParamUpdateProposal
DerivativeMarketParamUpdateProposal []*DerivativeMarketParamUpdateProposal
SpotMarketLaunchProposal []*SpotMarketLaunchProposal
PerpetualMarketLaunchProposal []*PerpetualMarketLaunchProposal
ExpiryFuturesMarketLaunchProposal []*ExpiryFuturesMarketLaunchProposal
TradingRewardCampaignUpdateProposal *TradingRewardCampaignUpdateProposal
}
Fields description
Titledescribes the title of the proposal.Descriptiondescribes the description of the proposal.SpotMarketParamUpdateProposaldescribes the SpotMarketParamUpdateProposal.DerivativeMarketParamUpdateProposaldescribes the DerivativeMarketParamUpdateProposal.SpotMarketLaunchProposaldescribes the SpotMarketLaunchProposal.PerpetualMarketLaunchProposaldescribes the PerpetualMarketLaunchProposal.ExpiryFuturesMarketLaunchProposaldescribes the ExpiryFuturesMarketLaunchProposal.TradingRewardCampaignUpdateProposaldescribes the TradingRewardCampaignUpdateProposal.
Proposal/SpotMarketLaunch
SpotMarketLaunchProposal defines an SDK message for proposing a new spot market through governance.
type SpotMarketLaunchProposal struct {
Title string
Description string
Ticker string
BaseDenom string
QuoteDenom string
MinPriceTickSize sdk.Dec
MinQuantityTickSize sdk.Dec
MinNotional sdk.Dec
MakerFeeRate sdk.Dec
TakerFeeRate sdk.Dec
}
Fields description
Titledescribes the title of the proposal.Descriptiondescribes the description of the proposal.Tickerdescribes the ticker for the spot market.BaseDenomspecifies the type of coin to use as the base currency.QuoteDenomspecifies the type of coin to use as the quote currency.MinPriceTickSizedefines the minimum tick size of the order's price.MinQuantityTickSizedefines the minimum tick size of the order's quantity.MakerFeeRatefield describes the trade fee rate for makers on the derivative market.TakerFeeRatefield 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.
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
Titledescribes the title of the proposal.Descriptiondescribes the description of the proposal.Tickerfield describes the ticker for the derivative market.QuoteDenomfield describes the type of coin to use as the base currency.OracleBasefield describes the oracle base currency.OracleQuotefield describes the oracle quote currency.OracleScaleFactorfield describes the scale factor for oracle prices.OracleTypefield describes the oracle type.MakerFeeRatefield describes the trade fee rate for makers on the derivative market.TakerFeeRatefield describes the trade fee rate for takers on the derivative market.InitialMarginRatiofield describes the initial margin ratio for the derivative market.MaintenanceMarginRatiofield describes the maintenance margin ratio for the derivative market.MinPriceTickSizefield describes the minimum tick size of the order's price and margin.MinQuantityTickSizefield describes the minimum tick size of the order's quantity.
Expiry futures market launch proposal
// 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
// min_notional defines the minimum notional (in quote asset) required for orders in the market
MinNotional sdk.Dec
}
Fields description
Titledescribes the title of the proposal.Descriptiondescribes the description of the proposal.Tickerfield describes the ticker for the derivative market.QuoteDenomfield describes the type of coin to use as the quote currency.OracleBasefield describes the oracle base currency.OracleQuotefield describes the oracle quote currency.OracleScaleFactorfield describes the scale factor for oracle prices.OracleTypefield describes the oracle type.Expiryfield describes the expiration time of the market.MakerFeeRatefield describes the trade fee rate for makers on the derivative market.TakerFeeRatefield describes the trade fee rate for takers on the derivative market.InitialMarginRatiofield describes the initial margin ratio for the derivative market.MaintenanceMarginRatiofield describes the maintenance margin ratio for the derivative market.MinPriceTickSizefield describes the minimum tick size of the order's price and margin.MinQuantityTickSizefield describes the minimum tick size of the order's quantity.
Binary options market launch proposal
type BinaryOptionsMarketLaunchProposal struct {
Title string
Description string
// Ticker for the derivative contract.
Ticker string
// Oracle symbol
OracleSymbol string
// Oracle Provider
OracleProvider string
// Oracle type
OracleType types1.OracleType
// Scale factor for oracle prices.
OracleScaleFactor uint32
// expiration timestamp
ExpirationTimestamp int64
// expiration timestamp
SettlementTimestamp int64
// admin of the market
Admin string
// Address of the quote currency denomination for the binary options contract
QuoteDenom string
// maker_fee_rate defines the maker fee rate of a binary options market
MakerFeeRate sdk.Dec
// taker_fee_rate defines the taker fee rate of a derivative market
TakerFeeRate sdk.Dec
// min_price_tick_size defines the minimum tick size that the price and margin required for orders in the market
MinPriceTickSize sdk.Dec
// min_quantity_tick_size defines the minimum tick size of the quantity required for orders in the market
MinQuantityTickSize sdk.Dec
}
Binary options market param update
type BinaryOptionsMarketParamUpdateProposal struct {
Title string
Description string
MarketId string
// 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
// relayer_fee_share_rate defines the relayer fee share rate for the derivative market
RelayerFeeShareRate *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
// min_notional defines the minimum notional for orders
MinNotional *sdk.Dec
// expiration timestamp
ExpirationTimestamp int64
// expiration timestamp
SettlementTimestamp int64
// new price at which market will be settled
SettlementPrice *sdk.Dec
// admin of the market
Admin string
Status MarketStatus
OracleParams *ProviderOracleParams
}
Proposal/DerivativeMarketParamUpdate
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
MinNotional *sdk.Dec
HourlyInterestRate *sdk.Dec
HourlyFundingRateCap *sdk.Dec
Status MarketStatus
OracleParams *OracleParams
}
Fields description
Titledescribes the title of the proposal.Descriptiondescribes the description of the proposal.MarketIddescribes the id of the market to change params.InitialMarginRatiodescribes the target initial margin ratio.MaintenanceMarginRatiodescribes the target maintenance margin ratio.MakerFeeRatedescribes the target fee rate for makers.TakerFeeRatedescribes the target fee rate for takers.RelayerFeeShareRatedescribes the relayer fee share rate.MinPriceTickSizedefines the minimum tick size of the order's price.MinQuantityTickSizedefines the minimum tick size of the order's quantity.Statusdescribes the target status of the market.OracleParamsdescribes the new oracle parameters.
Proposal/TradingRewardCampaignLaunch
TradingRewardCampaignLaunchProposal defines an SDK message for proposing to launch a new trading reward campaign.
type TradingRewardCampaignLaunchProposal struct {
Title string
Description string
CampaignInfo *TradingRewardCampaignInfo
CampaignRewardPools []*CampaignRewardPool
}
Fields description
Titledescribes the title of the proposal.Descriptiondescribes the description of the proposal.CampaignInfodescribes the CampaignInfo.CampaignRewardPoolsdescribes the CampaignRewardPools.
Proposal/TradingRewardCampaignUpdate
TradingRewardCampaignUpdateProposal defines an SDK message for proposing to update an existing trading reward campaign.
type TradingRewardCampaignUpdateProposal struct {
Title string
Description string
CampaignInfo *TradingRewardCampaignInfo
CampaignRewardPoolsAdditions []*CampaignRewardPool
CampaignRewardPoolsUpdates []*CampaignRewardPool
}
Titledescribes the title of the proposal.Descriptiondescribes the description of the proposal.CampaignRewardPoolsAdditionsdescribes the CampaignRewardPoolsAdditions.CampaignRewardPoolsUpdatesdescribes the CampaignRewardPoolsUpdates.
Proposal/FeeDiscount
FeeDiscountProposal defines an SDK message for proposing to launch or update a fee discount schedule.
type FeeDiscountProposal struct {
Title string
Description string
Schedule *FeeDiscountSchedule
}
Titledescribes the title of the proposal.Descriptiondescribes the description of the proposal.Scheduledescribes the Fee discount schedule.
Proposal/TradingRewardPendingPointsUpdate
TradingRewardPendingPointsUpdateProposal defines an SDK message to update reward points for certain addresses during the vesting period.
type TradingRewardPendingPointsUpdateProposal struct {
Title string
Description string
PendingPoolTimestamp int64
RewardPointUpdates *[]RewardPointUpdate
}
Fields description
Titledescribes the title of the proposal.Descriptiondescribes the description of the proposal.PendingPoolTimestampdescribes timestamp of the pending pool.RewardPointUpdatesdescribes the RewardPointUpdate.