governance.proto
path vega/governance.proto
package vega
Messages
BatchProposalTerms
Terms for a batch governance proposal on Vega
Name | Type | Description |
---|---|---|
closing_timestamp | int64 | Closing timestamp in Unix time; adheres to `minClose` and `maxClose` limits. |
proposal_params | ProposalParameters | Specific parameters defining the proposal's characteristics used for validation. |
changes | repeated BatchProposalTermsChange | List of individual changes included in the batch proposal. |
BatchProposalTermsChange
Terms change for a batch governance proposal
Name | Type | Description |
---|---|---|
enactment_timestamp | int64 | Timestamp as Unix time in seconds when proposal terms gets enacted if proposal passed the vote, constrained by `minEnact` and `maxEnact` network parameters. |
validation_timestamp | int64 | Validation timestamp as Unix time in seconds. |
update_market | UpdateMarket | Proposal change for modifying an existing futures market. |
new_market | NewMarket | Proposal change for creating new futures market. |
update_network_parameter | UpdateNetworkParameter | Proposal change for updating Vega network parameters. |
new_freeform | NewFreeform | Proposal change for a freeform request, which can be voted on but does not change the behaviour of the system, and can be used to gauge community sentiment. |
update_asset | UpdateAsset | Proposal change for updating an asset. |
new_spot_market | NewSpotMarket | Proposal change for creating new spot market. |
update_spot_market | UpdateSpotMarket | Proposal change for modifying an existing spot market. |
new_transfer | NewTransfer | Proposal change for a governance initiated transfer. |
cancel_transfer | CancelTransfer | Proposal change to cancel a governance initiated transfe. |
update_market_state | UpdateMarketState | Proposal change for updating the state of a market. |
update_referral_program | UpdateReferralProgram | Proposal change for updating the referral program. |
update_volume_discount_program | UpdateVolumeDiscountProgram | Proposal change for updating the volume discount program. |
new_asset | NewAsset | Proposal change for adding a new asset. |
update_volume_rebate_program | UpdateVolumeRebateProgram | Proposal change for updating the volume rebate program. |
new_protocol_automated_purchase | NewProtocolAutomatedPurchase | Proposal for a new automated purchase auction |
CancelTransfer
Name | Type | Description |
---|---|---|
changes | CancelTransferConfiguration | Configuration for cancellation of a governance-initiated transfer |
CancelTransferConfiguration
Name | Type | Description |
---|---|---|
transfer_id | string | ID of the governance transfer proposal. |
FutureProduct
Future product configuration
Name | Type | Description |
---|---|---|
settlement_asset | string | Asset ID for the product's settlement asset. |
quote_name | string | Product quote name. |
data_source_spec_for_settlement_data | DataSourceDefinition | Data source spec describing the data source for settlement. |
data_source_spec_for_trading_termination | DataSourceDefinition | The external data source spec describing the data source of trading termination. |
data_source_spec_binding | DataSourceSpecToFutureBinding | Binding between the data source spec and the settlement data. |
cap | optional FutureCap | If set, this product creates a capped future market. |
GovernanceData
Governance data
Name | Type | Description |
---|---|---|
proposal | Proposal | Governance proposal that is being voted on. |
yes | repeated Vote | All YES votes in favour of the proposal above. |
no | repeated Vote | All NO votes against the proposal above. |
yes_party | repeated GovernanceData.YesPartyEntry | All latest YES votes by party which is guaranteed to be unique, where key (string) is the party ID i.e. public key and value (Vote) is the vote cast by the given party. |
no_party | repeated GovernanceData.NoPartyEntry | All latest NO votes by party which is guaranteed to be unique, where key (string) is the party ID i.e. public key and value (Vote) is the vote cast by the given party. |
proposal_type | GovernanceData.Type | Type of proposal this data is for. |
proposals | repeated Proposal | If proposal type is batch, proposals will contain all the proposals that are make up the batch. |
GovernanceData.NoPartyEntry
Name | Type | Description |
---|---|---|
key | string | |
value | Vote |
GovernanceData.YesPartyEntry
Name | Type | Description |
---|---|---|
key | string | |
value | Vote |
InstrumentConfiguration
Instrument configuration
Name | Type | Description |
---|---|---|
name | string | Instrument name. |
code | string | Instrument code, human-readable shortcode used to describe the instrument. |
future | FutureProduct | Future. |
spot | SpotProduct | Spot. |
perpetual | PerpetualProduct | Perpetual. |
NewAsset
New asset on Vega
Name | Type | Description |
---|---|---|
changes | AssetDetails | Configuration of the new asset. |
NewFreeform
Freeform proposal This message is just used as a placeholder to sort out the nature of the proposal once parsed.
Name | Type | Description |
---|
NewMarket
New market on Vega
Name | Type | Description |
---|---|---|
changes | NewMarketConfiguration | Configuration of the new market. |
NewMarketConfiguration
Configuration for a new futures market on Vega
Name | Type | Description |
---|---|---|
instrument | InstrumentConfiguration | New futures market instrument configuration. |
decimal_places | uint64 | Decimal places used for the new futures market, sets the smallest price increment on the book. |
metadata | repeated string | Optional new futures market metadata, tags. |
price_monitoring_parameters | PriceMonitoringParameters | Price monitoring parameters. |
liquidity_monitoring_parameters | LiquidityMonitoringParameters | Liquidity monitoring parameters. |
simple | SimpleModelParams | Simple risk model parameters, valid only if MODEL_SIMPLE is selected. |
log_normal | LogNormalRiskModel | Log normal risk model parameters, valid only if MODEL_LOG_NORMAL is selected. |
position_decimal_places | int64 | Decimal places for order sizes, sets what size the smallest order / position on the futures market can be. |
lp_price_range | optional string | DEPRECATED: Use liquidity SLA parameters instead. Percentage move up and down from the mid price which specifies the range of price levels over which automated liquidity provisions will be deployed. |
linear_slippage_factor | string | Linear slippage factor is used to cap the slippage component of maintenance margin - it is applied to the slippage volume. |
quadratic_slippage_factor | string | Quadratic slippage factor is used to cap the slippage component of maintenance margin - it is applied to the square of the slippage volume. |
successor | optional SuccessorConfiguration | Successor configuration. If this proposal is meant to succeed a given market, then this should be set. |
liquidity_sla_parameters | LiquiditySLAParameters | Liquidity SLA parameters |
liquidity_fee_settings | LiquidityFeeSettings | Specifies how the liquidity fee for the market will be calculated. |
liquidation_strategy | LiquidationStrategy | Liquidation strategy for this market. |
mark_price_configuration | CompositePriceConfiguration | Mark price configuration. |
tick_size | string | The market tick size defines the minimum change in quote price for the market |
enable_transaction_reordering | bool | If enabled aggressive orders sent to the market will be delayed by the configured number of blocks |
allowed_empty_amm_levels | optional uint64 | Number of allowed price levels between an AMM's fair price and its quote prices. An AMM definition that exceeds this will be rejected at submission. |
NewProtocolAutomatedPurchase
Name | Type | Description |
---|---|---|
changes | NewProtocolAutomatedPurchaseChanges | Configuration for a change to create a new automated purchase auction |
NewProtocolAutomatedPurchaseChanges
Name | Type | Description |
---|---|---|
from | string | The source token that will be swapped |
from_account_type | AccountType | The account type for the network from which the tokens will be sourced |
to_account_type | AccountType | The account type for the network to which the purchased tokens will be sent |
market_id | string | The market that will be used to enact the purchase/sale |
price_oracle | DataSourceDefinition | The oracle which will define an approximate acceptable price for the transaction |
price_oracle_spec_binding | SpecBindingForCompositePrice | The spec binding for the price oracle |
oracle_offset_factor | string | The final acceptable price is the price oracle value weighted by this factor (e.g. 1.05 to allow for 5% slippage on the purchase) |
auction_schedule | DataSourceDefinition | A time based oracle for when auctions will occur |
auction_volume_snapshot_schedule | DataSourceDefinition | A time based oracle for when an observation will be taken of the balance of the source account. This will emit an event notifying of the balance planned to exchange, along with storing this value. When an auction occurs, the latest reading for this value will be used for the volume to trade, rather than the full balance of the account. |
automated_purchase_spec_binding | DataSourceSpecToAutomatedPurchaseBinding | The spec binding for the auction schedule and volume snapshot schedule |
auction_duration | string | The duration of the auction |
minimum_auction_size | string | Minimum number of tokens to be sold (specified in asset decimals). If less than this are available in the account at the last snapshot before auction, no auction will occur and the balance will roll over to the next scheduled auction. |
maximum_auction_size | string | Maximum number of tokens to be sold (specified in asset decimals). If more than this are available in the account at the last snapshot before auction, this maximum value will be used instead, and the remainder will be rolled over to the next scheduled auction. |
expiry_timestamp | int64 | Timestamp in Unix seconds, when the automated purchase is stopped. If an auction is in action it will be removed when the auction is finished. |
oracle_price_staleness_tolerance | string | For how long the oracle price source is considered valid |
NewSpotMarket
New spot market on Vega
Name | Type | Description |
---|---|---|
changes | NewSpotMarketConfiguration | Configuration of the new spot market. |
NewSpotMarketConfiguration
Configuration for a new spot market on Vega
Name | Type | Description |
---|---|---|
instrument | InstrumentConfiguration | New spot market instrument configuration. |
price_decimal_places | uint64 | Decimal places used for the new spot market, sets the smallest price increment on the book. |
metadata | repeated string | Optional new spot market metadata, tags. |
price_monitoring_parameters | PriceMonitoringParameters | Price monitoring parameters. |
target_stake_parameters | TargetStakeParameters | Specifies parameters related to target stake calculation. |
simple | SimpleModelParams | Simple risk model parameters, valid only if MODEL_SIMPLE is selected. |
log_normal | LogNormalRiskModel | Log normal risk model parameters, valid only if MODEL_LOG_NORMAL is selected. |
size_decimal_places | int64 | Decimal places for order sizes, sets what size the smallest order / position on the spot market can be. |
sla_params | LiquiditySLAParameters | Specifies the liquidity provision SLA parameters. |
liquidity_fee_settings | LiquidityFeeSettings | Specifies how the liquidity fee for the market will be calculated. |
tick_size | string | The market tick size defines the minimum change in quote price for the market |
enable_transaction_reordering | bool | If enabled aggressive orders sent to the market will be delayed by the configured number of blocks |
NewTransfer
New governance transfer
Name | Type | Description |
---|---|---|
changes | NewTransferConfiguration | Configuration for a new transfer. |
NewTransferConfiguration
Name | Type | Description |
---|---|---|
source_type | AccountType | Source account type, such as network treasury, market insurance pool |
source | string | If network treasury, field is empty, otherwise uses the market ID |
transfer_type | GovernanceTransferType | "All or nothing" or "best effort": All or nothing: Transfers the specified amount or does not transfer anything Best effort: Transfers the specified amount or the max allowable amount if this is less than the specified amount |
amount | string | Maximum amount to transfer |
asset | string | ID of asset to transfer |
fraction_of_balance | string | Maximum fraction of the source account's balance to transfer as a decimal - i.e. 0.1 = 10% of the balance |
destination_type | AccountType | Specifies the account type to transfer to: reward pool, party, network insurance pool, market insurance pool |
destination | string | Specifies the account to transfer to, depending on the account type: Network treasury: leave empty Party: party's public key Market insurance pool: market ID |
one_off | OneOffTransfer | |
recurring | RecurringTransfer |
OneOffTransfer
Specific details for a one off transfer
Name | Type | Description |
---|---|---|
deliver_on | int64 | Timestamp in Unix nanoseconds for when the transfer should be delivered into the receiver's account. |
PerpetualProduct
Perpetual product configuration
Name | Type | Description |
---|---|---|
settlement_asset | string | Asset ID for the product's settlement asset. |
quote_name | string | Product quote name. |
margin_funding_factor | string | Controls how much the upcoming funding payment liability contributes to party's margin, in the range [0, 1]. |
interest_rate | string | Continuously compounded interest rate used in funding rate calculation, in the range [-1, 1]. |
clamp_lower_bound | string | Lower bound for the clamp function used as part of the funding rate calculation, in the range [-1, 1]. |
clamp_upper_bound | string | Upper bound for the clamp function used as part of the funding rate calculation, in the range [-1, 1]. |
data_source_spec_for_settlement_schedule | DataSourceDefinition | Data source spec describing the data source for settlement schedule. |
data_source_spec_for_settlement_data | DataSourceDefinition | Data source spec describing the data source for settlement. |
data_source_spec_binding | DataSourceSpecToPerpetualBinding | Binding between the data source spec and the settlement data. |
funding_rate_scaling_factor | optional string | Factor applied to funding-rates. This scales the impact that spot price deviations have on funding payments. |
funding_rate_lower_bound | optional string | Lower bound for the funding-rate such that the funding-rate will never be lower than this value. |
funding_rate_upper_bound | optional string | Upper bound for the funding-rate such that the funding-rate will never be higher than this value. |
internal_composite_price_configuration | optional CompositePriceConfiguration | Composite price configuration to drive the calculation of the internal composite price used for funding payments. If undefined the default mark price of the market is used. |
Proposal
Governance proposal
Name | Type | Description |
---|---|---|
id | string | Unique proposal ID. |
reference | string | Proposal reference. |
party_id | string | Party ID i.e. public key of the party submitting the proposal. |
state | Proposal.State | Current state of the proposal, i.e. open, passed, failed etc. |
timestamp | int64 | Proposal timestamp for date and time as Unix time in nanoseconds when proposal was submitted to the network. |
terms | optional ProposalTerms | Proposal configuration and the actual change that is meant to be executed when proposal is enacted. Single proposal term. |
reason | optional ProposalError | Reason for the current state of the proposal, this may be set in case of REJECTED and FAILED statuses. |
error_details | optional string | Detailed error associated to the reason. |
rationale | ProposalRationale | Rationale behind a proposal. |
required_participation | string | Required vote participation for this proposal. |
required_majority | string | Required majority for this proposal. |
required_liquidity_provider_participation | optional string | Required participation from liquidity providers, optional but is required for market update proposal. |
required_liquidity_provider_majority | optional string | Required majority from liquidity providers, optional but is required for market update proposal. |
batch_terms | optional BatchProposalTerms | Batch proposal terms. |
batch_id | optional string | ID of a batch proposal that this proposal is part of. |
ProposalParameters
Name | Type | Description |
---|---|---|
min_close | int64 | Represents the minimum time before a proposal can be closed for voting. |
max_close | int64 | Represents the maximum time that a proposal can be open for voting. |
min_enact | int64 | Represents the minimum time before an enacted proposal takes effect. |
max_enact | int64 | Represents the maximum time before an enacted proposal must take effect. |
required_participation | string | Specifies the required percentage of eligible participants that must partake in the proposal for it to be valid. |
required_majority | string | Specifies the required percentage of votes a proposal needs to be approved. |
min_proposer_balance | string | Specifies the minimum governance token balance a proposer must hold to initiate a proposal. |
min_voter_balance | string | Specifies the minimum governance token balance a voter must hold to participate in voting. |
required_participation_lp | string | Specifies the required percentage of participation from liquidity providers for the proposal to be valid. |
required_majority_lp | string | Specifies the required majority percentage from liquidity providers for a proposal to be approved. |
min_equity_like_share | string | Specifies the minimum share that is akin to equity, which a participant must hold for their vote to be eligible. |
ProposalRationale
Rationale behind a proposal.
Name | Type | Description |
---|---|---|
description | string | Description to show a short title / something in case the link goes offline. This is to be between 0 and 20k unicode characters. This is mandatory for all proposals. |
title | string | Title to be used to give a short description of the proposal in lists. This is to be between 0 and 100 unicode characters. This is mandatory for all proposals. |
ProposalTerms
Terms for a governance proposal on Vega
Name | Type | Description |
---|---|---|
closing_timestamp | int64 | Timestamp as Unix time in seconds when voting closes for this proposal, constrained by `minClose` and `maxClose` network parameters. |
enactment_timestamp | int64 | Timestamp as Unix time in seconds when proposal gets enacted if passed, constrained by `minEnact` and `maxEnact` network parameters. |
validation_timestamp | int64 | Validation timestamp as Unix time in seconds. |
update_market | UpdateMarket | Proposal change for modifying an existing futures market on Vega. |
new_market | NewMarket | Proposal change for creating new futures market on Vega. |
update_network_parameter | UpdateNetworkParameter | Proposal change for updating Vega network parameters. |
new_asset | NewAsset | Proposal change for creating new assets on Vega. |
new_freeform | NewFreeform | Proposal change for a freeform request, which can be voted on but does not change the behaviour of the system, and can be used to gauge community sentiment. |
update_asset | UpdateAsset | Proposal change for updating an asset. |
new_spot_market | NewSpotMarket | Proposal change for creating new spot market on Vega. |
update_spot_market | UpdateSpotMarket | Proposal change for modifying an existing spot market on Vega. |
new_transfer | NewTransfer | Proposal change for a governance transfer. |
cancel_transfer | CancelTransfer | Cancel a governance transfer. |
update_market_state | UpdateMarketState | Proposal change for updating the state of a market. |
update_referral_program | UpdateReferralProgram | Proposal change for updating the referral program. |
update_volume_discount_program | UpdateVolumeDiscountProgram | Proposal change for updating the volume discount program. |
update_volume_rebate_program | UpdateVolumeRebateProgram | Proposal change for updating the volume rebate program. |
new_protocol_automated_purchase | NewProtocolAutomatedPurchase | Proposal for a new automated purchase auction |
RecurringTransfer
Specific details for a recurring transfer First epoch from which this transfer shall be paid.
Name | Type | Description |
---|---|---|
start_epoch | uint64 | |
end_epoch | optional uint64 | Last epoch at which this transfer shall be paid. |
dispatch_strategy | optional DispatchStrategy | Optional parameter defining how a transfer is dispatched. |
factor | string | Factor that the initial transfer amount is multiplied by for each epoch that it is executed. For example if the initial transfer amount is 1000 and the factor is 0.5, then the amounts transferred per epoch will be 1000, 500, 250, 125, etc. |
ReferralProgramChanges
Name | Type | Description |
---|---|---|
benefit_tiers | repeated BenefitTier | Defined benefit tiers in increasing order. First element will give Tier 1, second element will give Tier 2, and so on. Determines the level of benefit a party can expect based on performance criteria. |
end_of_program_timestamp | int64 | Timestamp as Unix time in seconds, after which when the current epoch ends, the program will end and benefits will be disabled. |
window_length | uint64 | Number of epochs over which to evaluate a referral set's running volume. |
staking_tiers | repeated StakingTier | Defined staking tiers in increasing order. First element will give Tier 1, second element will give Tier 2, and so on. Determines the level of benefit a party can expect based on their staking. |
SpotProduct
Spot product configuration
Name | Type | Description |
---|---|---|
base_asset | string | Base asset ID. |
quote_asset | string | Quote asset ID. |
SuccessorConfiguration
Configuration required to turn a new market proposal in to a successor market proposal.
Name | Type | Description |
---|---|---|
parent_market_id | string | ID of the market that the successor should take over from. |
insurance_pool_fraction | string | A decimal value between or equal to 0 and 1, specifying the fraction of the insurance pool balance that is carried over from the parent market to the successor. |
UpdateAsset
Update an existing asset on Vega
Name | Type | Description |
---|---|---|
asset_id | string | Asset ID the update is for. |
changes | AssetDetailsUpdate | Changes to apply on an existing asset. |
UpdateFutureProduct
Future product configuration
Name | Type | Description |
---|---|---|
quote_name | string | Human-readable name/abbreviation of the quote name. |
data_source_spec_for_settlement_data | DataSourceDefinition | The data source spec describing the data of settlement data. |
data_source_spec_for_trading_termination | DataSourceDefinition | The data source spec describing the data source for trading termination. |
data_source_spec_binding | DataSourceSpecToFutureBinding | The binding between the data source spec and the settlement data. |
UpdateInstrumentConfiguration
Instrument configuration
Name | Type | Description |
---|---|---|
code | string | Instrument code, human-readable shortcode used to describe the instrument. |
name | string | Instrument name |
future | UpdateFutureProduct | Future. |
perpetual | UpdatePerpetualProduct | Perpetual. |
UpdateMarket
Update an existing market on Vega
Name | Type | Description |
---|---|---|
market_id | string | Market ID the update is for. |
changes | UpdateMarketConfiguration | Updated configuration of the futures market. |
UpdateMarketConfiguration
Configuration to update a futures market on Vega
Name | Type | Description |
---|---|---|
instrument | UpdateInstrumentConfiguration | Updated futures market instrument configuration. |
metadata | repeated string | Optional futures market metadata, tags. |
price_monitoring_parameters | PriceMonitoringParameters | Price monitoring parameters. |
liquidity_monitoring_parameters | LiquidityMonitoringParameters | Liquidity monitoring parameters. |
simple | SimpleModelParams | Simple risk model parameters, valid only if MODEL_SIMPLE is selected. |
log_normal | LogNormalRiskModel | Log normal risk model parameters, valid only if MODEL_LOG_NORMAL is selected. |
lp_price_range | optional string | DEPRECATED: Use liquidity SLA parameters instead. Percentage move up and down from the mid price which specifies the range of price levels over which automated liquidity provisions will be deployed. |
linear_slippage_factor | string | Linear slippage factor is used to cap the slippage component of maintenance margin - it is applied to the slippage volume. |
quadratic_slippage_factor | string | Quadratic slippage factor is used to cap the slippage component of maintenance margin - it is applied to the square of the slippage volume. |
liquidity_sla_parameters | LiquiditySLAParameters | Liquidity SLA parameters |
liquidity_fee_settings | LiquidityFeeSettings | Specifies how the liquidity fee for the market will be calculated. |
liquidation_strategy | LiquidationStrategy | Liquidation strategy parameters |
mark_price_configuration | CompositePriceConfiguration | Mark price configuration. |
tick_size | string | The market tick size defines the minimum change in quote price for the market |
enable_transaction_reordering | bool | If enabled aggressive orders sent to the market will be delayed by the configured number of blocks |
allowed_empty_amm_levels | optional uint64 | Number of allowed price levels between an AMM's fair price and its quote prices. An AMM definition that exceeds this will be rejected at submission. |
UpdateMarketState
Name | Type | Description |
---|---|---|
changes | UpdateMarketStateConfiguration | Configuration for governance-initiated change of a market's state |
UpdateMarketStateConfiguration
Name | Type | Description |
---|---|---|
market_id | string | ID of the market |
update_type | MarketStateUpdateType | Type of the market update |
price | optional string | Settlement price, relevant only for market termination for futures markets |
UpdateNetworkParameter
Update network configuration on Vega
Name | Type | Description |
---|---|---|
changes | NetworkParameter | The network parameter to update. |
UpdatePerpetualProduct
Perpetual product configuration
Name | Type | Description |
---|---|---|
quote_name | string | Human-readable name/abbreviation of the quote name. |
margin_funding_factor | string | Controls how much the upcoming funding payment liability contributes to party's margin, in the range [0, 1]. |
interest_rate | string | Continuously compounded interest rate used in funding rate calculation, in the range [-1, 1]. |
clamp_lower_bound | string | Lower bound for the clamp function used as part of the funding rate calculation, in the range [-1, 1]. |
clamp_upper_bound | string | Upper bound for the clamp function used as part of the funding rate calculation, in the range [-1, 1]. |
data_source_spec_for_settlement_schedule | DataSourceDefinition | Data source spec describing the data source for settlement schedule. |
data_source_spec_for_settlement_data | DataSourceDefinition | Data source spec describing the data source for settlement. |
data_source_spec_binding | DataSourceSpecToPerpetualBinding | Binding between the data source spec and the settlement data. |
funding_rate_scaling_factor | optional string | Factor applied to funding-rates. This scales the impact that spot price deviations have on funding payments. |
funding_rate_lower_bound | optional string | Lower bound for the funding-rate such that the funding-rate will never be lower than this value. |
funding_rate_upper_bound | optional string | Upper bound for the funding-rate such that the funding-rate will never be higher than this value. |
internal_composite_price_configuration | optional CompositePriceConfiguration | Configuration for the internal composite price used in funding payment calculation. |
UpdateReferralProgram
Name | Type | Description |
---|---|---|
changes | ReferralProgramChanges | Configuration for change to update a referral program. |
UpdateSpotInstrumentConfiguration
Name | Type | Description |
---|---|---|
code | string | Instrument code, human-readable shortcode used to describe the instrument. |
name | string | Instrument name |
UpdateSpotMarket
Update an existing spot market on Vega
Name | Type | Description |
---|---|---|
market_id | string | Market ID the update is for. |
changes | UpdateSpotMarketConfiguration | Updated configuration of the spot market. |
UpdateSpotMarketConfiguration
Configuration to update a spot market on Vega
Name | Type | Description |
---|---|---|
metadata | repeated string | Optional spot market metadata, tags. |
price_monitoring_parameters | PriceMonitoringParameters | Price monitoring parameters. |
target_stake_parameters | TargetStakeParameters | Specifies parameters related to target stake calculation. |
simple | SimpleModelParams | Simple risk model parameters, valid only if MODEL_SIMPLE is selected. |
log_normal | LogNormalRiskModel | Log normal risk model parameters, valid only if MODEL_LOG_NORMAL is selected. |
sla_params | LiquiditySLAParameters | Specifies the liquidity provision SLA parameters. |
liquidity_fee_settings | LiquidityFeeSettings | Specifies how the liquidity fee for the market will be calculated. |
tick_size | string | The market tick size defines the minimum change in quote price for the market |
instrument | UpdateSpotInstrumentConfiguration | Specifies the name and code of the spot instrument. |
enable_transaction_reordering | bool | If enabled aggressive orders sent to the market will be delayed by the configured number of blocks |
UpdateVolumeDiscountProgram
Name | Type | Description |
---|---|---|
changes | VolumeDiscountProgramChanges | Configuration for a change to update a volume discount program |
UpdateVolumeRebateProgram
Name | Type | Description |
---|---|---|
changes | VolumeRebateProgramChanges | Configuration for a change to update a volume rebate program |
VolumeDiscountProgramChanges
Name | Type | Description |
---|---|---|
benefit_tiers | repeated VolumeBenefitTier | Defined benefit tiers in increasing order. First element will give Tier 1, second element will give Tier 2, and so on. Determines the level of benefit a party can expect based on performance criteria. |
end_of_program_timestamp | int64 | Timestamp as Unix time in seconds, after which when the current epoch ends, the program will end and benefits will be disabled. |
window_length | uint64 | Number of epochs over which to evaluate a referral set's running volume. |
VolumeRebateProgramChanges
Name | Type | Description |
---|---|---|
benefit_tiers | repeated VolumeRebateBenefitTier | Defined benefit tiers in increasing order. First element will give Tier 1, second element will give Tier 2, and so on. Determines the level of benefit a party can expect based on performance criteria. |
end_of_program_timestamp | int64 | Timestamp as Unix time in seconds, after which when the current epoch ends, the program will end and benefits will be disabled. |
window_length | uint64 | Number of epochs over which to evaluate a referral set's running volume. |
Vote
Governance vote
Name | Type | Description |
---|---|---|
party_id | string | Voter's party ID. |
value | Vote.Value | Which way the party voted. |
proposal_id | string | Proposal ID being voted on. |
timestamp | int64 | Timestamp in Unix nanoseconds when the vote was acknowledged by the network. |
total_governance_token_balance | string | Total number of governance token for the party that cast the vote. |
total_governance_token_weight | string | The weight of this vote based on the total number of governance tokens. |
total_equity_like_share_weight | string | The weight of the vote compared to the total amount of equity-like share on the market. It is only populated if the vote is for a single type proposal. |
els_per_market | repeated VoteELSPair | The per market weight of the vote compared to the total amount of equity-like share on the market.. It is only populated if the vote is for a batch type proposal. |
VoteELSPair
Name | Type | Description |
---|---|---|
market_id | string | The market ID. |
els | string | The equity-like share weight for this market. |
Enums
GovernanceData.Type
Proposal type
Name | Number | Description |
---|---|---|
TYPE_SINGLE_OR_UNSPECIFIED | 0 | Single proposal only. In case it has not been specified, for example in older proposals, then this is the default. |
TYPE_BATCH | 1 | Proposal contains a batch of proposals or a proposal that should be treated as part of a batch. |
GovernanceTransferType
Name | Number | Description |
---|---|---|
GOVERNANCE_TRANSFER_TYPE_UNSPECIFIED | 0 | |
GOVERNANCE_TRANSFER_TYPE_ALL_OR_NOTHING | 1 | |
GOVERNANCE_TRANSFER_TYPE_BEST_EFFORT | 2 |
MarketStateUpdateType
Name | Number | Description |
---|---|---|
MARKET_STATE_UPDATE_TYPE_UNSPECIFIED | 0 | Default value, always invalid |
MARKET_STATE_UPDATE_TYPE_TERMINATE | 1 | Request to terminate a market via governance |
MARKET_STATE_UPDATE_TYPE_SUSPEND | 2 | Request to suspend a market via governance |
MARKET_STATE_UPDATE_TYPE_RESUME | 3 | Request to resume a market via governance |
Proposal.State
Proposal state transition: Open -> - Passed -> Enacted. - Passed -> Failed. - Declined Rejected Proposal can enter Failed state from any other state
Name | Number | Description |
---|---|---|
STATE_UNSPECIFIED | 0 | Default value, always invalid |
STATE_FAILED | 1 | Proposal enactment has failed - even though proposal has passed, its execution could not be performed |
STATE_OPEN | 2 | Proposal is open for voting |
STATE_PASSED | 3 | Proposal has gained enough support to be executed |
STATE_REJECTED | 4 | Proposal wasn't accepted i.e. proposal terms failed validation due to wrong configuration or failed to meet network requirements. |
STATE_DECLINED | 5 | Proposal didn't get enough votes, e.g. either failed to gain required participation or majority level. |
STATE_ENACTED | 6 | Proposal enacted. |
STATE_WAITING_FOR_NODE_VOTE | 7 | Waiting for node validation of the proposal |
ProposalError
List of possible errors that can cause a proposal to be in state rejected or failed
Name | Number | Description |
---|---|---|
PROPOSAL_ERROR_UNSPECIFIED | 0 | Default value |
PROPOSAL_ERROR_CLOSE_TIME_TOO_SOON | 1 | Specified close time is too early based on network parameters |
PROPOSAL_ERROR_CLOSE_TIME_TOO_LATE | 2 | Specified close time is too late based on network parameters |
PROPOSAL_ERROR_ENACT_TIME_TOO_SOON | 3 | Specified enactment time is too early based on network parameters |
PROPOSAL_ERROR_ENACT_TIME_TOO_LATE | 4 | Specified enactment time is too late based on network parameters |
PROPOSAL_ERROR_INSUFFICIENT_TOKENS | 5 | Proposer for this proposal has insufficient tokens |
PROPOSAL_ERROR_INVALID_INSTRUMENT_SECURITY | 6 | Instrument quote name and base name were the same |
PROPOSAL_ERROR_NO_PRODUCT | 7 | Proposal has no product |
PROPOSAL_ERROR_UNSUPPORTED_PRODUCT | 8 | Specified product is not supported |
PROPOSAL_ERROR_NO_TRADING_MODE | 11 | Proposal has no trading mode |
PROPOSAL_ERROR_UNSUPPORTED_TRADING_MODE | 12 | Proposal has an unsupported trading mode |
PROPOSAL_ERROR_NODE_VALIDATION_FAILED | 13 | Proposal failed node validation |
PROPOSAL_ERROR_MISSING_BUILTIN_ASSET_FIELD | 14 | Field is missing in a builtin asset source |
PROPOSAL_ERROR_MISSING_ERC20_CONTRACT_ADDRESS | 15 | Contract address is missing in the ERC20 asset source |
PROPOSAL_ERROR_INVALID_ASSET | 16 | Asset ID is invalid or does not exist on the Vega network |
PROPOSAL_ERROR_INCOMPATIBLE_TIMESTAMPS | 17 | Proposal terms timestamps are not compatible (Validation < Closing < Enactment) |
PROPOSAL_ERROR_NO_RISK_PARAMETERS | 18 | No risk parameters were specified |
PROPOSAL_ERROR_NETWORK_PARAMETER_INVALID_KEY | 19 | Invalid key in update network parameter proposal |
PROPOSAL_ERROR_NETWORK_PARAMETER_INVALID_VALUE | 20 | Invalid value in update network parameter proposal |
PROPOSAL_ERROR_NETWORK_PARAMETER_VALIDATION_FAILED | 21 | Validation failed for network parameter proposal |
PROPOSAL_ERROR_OPENING_AUCTION_DURATION_TOO_SMALL | 22 | Opening auction duration is less than the network minimum opening auction time |
PROPOSAL_ERROR_OPENING_AUCTION_DURATION_TOO_LARGE | 23 | Opening auction duration is more than the network minimum opening auction time |
PROPOSAL_ERROR_COULD_NOT_INSTANTIATE_MARKET | 25 | Market proposal market could not be instantiated in execution |
PROPOSAL_ERROR_INVALID_FUTURE_PRODUCT | 26 | Market proposal market contained invalid product definition |
PROPOSAL_ERROR_INVALID_RISK_PARAMETER | 30 | Market proposal has invalid risk parameter |
PROPOSAL_ERROR_MAJORITY_THRESHOLD_NOT_REACHED | 31 | Proposal was declined because vote didn't reach the majority threshold required |
PROPOSAL_ERROR_PARTICIPATION_THRESHOLD_NOT_REACHED | 32 | Proposal declined because the participation threshold was not reached |
PROPOSAL_ERROR_INVALID_ASSET_DETAILS | 33 | Asset proposal has invalid asset details |
PROPOSAL_ERROR_UNKNOWN_TYPE | 34 | Proposal is an unknown type |
PROPOSAL_ERROR_UNKNOWN_RISK_PARAMETER_TYPE | 35 | Proposal has an unknown risk parameter type |
PROPOSAL_ERROR_INVALID_FREEFORM | 36 | Validation failed for freeform proposal |
PROPOSAL_ERROR_INSUFFICIENT_EQUITY_LIKE_SHARE | 37 | Party doesn't have enough equity-like share to propose an update on the market targeted by the proposal |
PROPOSAL_ERROR_INVALID_MARKET | 38 | Market targeted by the proposal does not exist or is not eligible for modification |
PROPOSAL_ERROR_TOO_MANY_MARKET_DECIMAL_PLACES | 39 | Market proposal decimal place is higher than the market settlement asset decimal places |
PROPOSAL_ERROR_TOO_MANY_PRICE_MONITORING_TRIGGERS | 40 | Market proposal contains too many price monitoring triggers |
PROPOSAL_ERROR_ERC20_ADDRESS_ALREADY_IN_USE | 41 | Market proposal contains too many price monitoring triggers |
PROPOSAL_ERROR_LP_PRICE_RANGE_NONPOSITIVE | 42 | LP price range must be larger than 0 |
PROPOSAL_ERROR_LP_PRICE_RANGE_TOO_LARGE | 43 | LP price range must not be larger than 100 |
PROPOSAL_ERROR_LINEAR_SLIPPAGE_FACTOR_OUT_OF_RANGE | 44 | Linear slippage factor is out of range, either negative or too large |
PROPOSAL_ERROR_QUADRATIC_SLIPPAGE_FACTOR_OUT_OF_RANGE | 45 | Quadratic slippage factor is out of range, either negative or too large |
PROPOSAL_ERROR_INVALID_SPOT | 46 | Validation failed for spot proposal |
PROPOSAL_ERROR_SPOT_PRODUCT_DISABLED | 47 | Spot trading not enabled |
PROPOSAL_ERROR_INVALID_SUCCESSOR_MARKET | 48 | Market proposal is invalid, either invalid insurance pool fraction, or it specifies a parent market that it can't succeed. |
PROPOSAL_ERROR_GOVERNANCE_TRANSFER_PROPOSAL_FAILED | 49 | Governance transfer proposal is invalid |
PROPOSAL_ERROR_GOVERNANCE_TRANSFER_PROPOSAL_INVALID | 50 | Governance transfer proposal failed |
PROPOSAL_ERROR_GOVERNANCE_CANCEL_TRANSFER_PROPOSAL_INVALID | 51 | Proposal for cancelling transfer is invalid, check proposal ID |
PROPOSAL_ERROR_INVALID_MARKET_STATE_UPDATE | 52 | Proposal for updating market state is invalid |
PROPOSAL_ERROR_INVALID_SLA_PARAMS | 53 | Liquidity provision SLA parameters are invalid |
PROPOSAL_ERROR_MISSING_SLA_PARAMS | 54 | Mandatory liquidity provision SLA parameters are missing |
PROPOSAL_ERROR_INVALID_PERPETUAL_PRODUCT | 55 | Perpetual market proposal contained invalid product definition |
PROPOSAL_ERROR_INVALID_REFERRAL_PROGRAM | 56 | Referral program proposal is invalid |
PROPOSAL_ERROR_INVALID_VOLUME_DISCOUNT_PROGRAM | 57 | Volume discount program proposal is invalid |
PROPOSAL_ERROR_PROPOSAL_IN_BATCH_REJECTED | 58 | One or more proposals in a batch has been rejected |
PROPOSAL_ERROR_PROPOSAL_IN_BATCH_DECLINED | 59 | One or more proposals in a batch has been declined |
PROPOSAL_ERROR_INVALID_SIZE_DECIMAL_PLACES | 60 | Spot market decimal places cannot be greater than the base asset’s decimal places |
PROPOSAL_ERROR_INVALID_VOLUME_REBATE_PROGRAM | 61 | Volume rebate program proposal is invalid |
PROPOSAL_ERROR_INVALID_PROTOCOL_AUTOMATED_PURCHASE | 62 | Automated purchase proposal is invalid |
Vote.Value
Vote value
Name | Number | Description |
---|---|---|
VALUE_UNSPECIFIED | 0 | Default value, always invalid |
VALUE_NO | 1 | Vote against the proposal |
VALUE_YES | 2 | Vote in favour of the proposal |