Why is this release great? An intro by @barney
This is a really exciting release for me because it includes pegged orders which are a really efficient way to place liquidity on order books. Pegged orders allow placing an order at an offset from a reference price such as the mid price or best bid/offer. Pegged orders prices are calculated when they hit the book and also automatically be re-priced as the reference price changes.
This would be quite a big deal on a centralised exchange but for dexs it’s game changing because pegged orders mitigate the latency of blockchain based systems. Re-pricing happens atomically after the transaction that changed the reference price, which means zero effective latency for the amend and no transaction overhead on the blockchain. This also means that pegged orders are re-priced intra-block and able to respond to price action immediately, with trader only maintaining the offset and also massively reduces the number of transactions needed to maintain a supply of liquidity around the market price.
Pegged orders will accelerate the shift from stop-gap pure AMM dexs to order book based and hybrid solutions by allowing markets built with Vega to offer more capital efficiency for liquidity providers and better price determination.
Release notes and commentary by @edd
This release enables (or more accurately re-enables) pegged orders, meaning they’re finally here!
The Ethereum bridge also received some work - in particular the number of confirmations Vega waits for on Ethereum is now controlled by a governance parameter. Being a governance parameter, that means that the value can be changed by a governance vote. Slightly related: You can now fetch active governance proposals via REST.
- We also switch to Buf for our protobuf workflow. This was one of the pre-requisites for opening up the API clients’ build process, and making the protos open source. More on that soon!
- We also fixed an issue on testnet where votes were not registered when voting on open governance proposals. The required number of Ropsten
VOTEtokens was being calculated incorrectly, leading to all votes quietly being ignored. In 0.30.0, voting works as expected again.
- Bug note: Estimated fees for a pegged order will assume that like other limit orders, it could trade aggressively on entry to the order book and therefore incur fees. However, persistent pegged orders (the only type Vega currently supports) always hit the order book as passive orders (they cannot be crossed with other orders on the book due to the rules around allowable peg reference + offset combinations), and therefore will never incur any fees.
- API (breaking change): Rename
marketTradingMode, add new
marketStateenum (ACTIVE, SUSPENDED or PENDING)
- API: Add REST endpoint to fetch all proposals (
- API: Add transfer bus events for withdrawals and deposits
- API: Add New Market bus event
- API: Add Supplied State to market data
FeeSplitterto correctly split fee portion of an aggressive order
- Switch to Buf
- Add configurable required confirmations for bridge transactions
- Add fees estimate for pegged orders
- Add bond and fee transfers
- API: Fix typos in GraphQL schema documentation
- API: Fix GraphQL, Allow
marketIdto be null when it is invalid
- API: Fix New Market bus event being sent more than once
- Fix voting for proposals
- Refactor pegged order repricing
- Refactor expiring orders lists
- Handle liquidity commitments on market proposals
- Add changing liquidity commitment when not enough stake
- Fix read nodes lagging if they receive votes but not a bridge event
- Fix various minor bridge confirmation bugs
- Fix removing pegged orders that are rejected when unparked
- Fix crasher when proposing an update to network parameters
- Update target stake to include mark price
- Fix price monitoring integration tests
- Add more unit tests for pegged order price amends
- Fix cancelling all orders
- Fix parked pegged orders to have a price of 0 explicitly
- Disallow GFN to GTC/GTT amends
- Add rounding to pegged order mid prices that land on non integer values
- Fix error handling when amending some pegged order types
- Remove order from pegged list when it becomes inactive
- Add more panics to the core
- Remove expiring orders when amending to non GTT
- Add extra integration tests for uncrossing at auction end
- Fix potential divide by 0 in position calculation
- Add check for pegged orders impacted by order expiry
- Remove the ability to amend a pegged order’s price
- Add price monitoring tests for order amendment
- Fix fee monitoring values during auction
- Fix incorrect reference when amending pegged orders
- Fix incorrect error codes for IOC and FOK orders during auction
- Update price monitoring to use reference price when syncing with risk model
- Refactor governance event subscription
Where to next?
Check out https://docs.testnet.vega.xyz for more information, visit https://testnet.vega.trading to dive straight into the Console, or reach out to us on Discord if you need some hosted wallet details.
Thank you, please comment below if you’d like to give any feedback on the release.
Note: You can raise bugs for the software in the Vega Nolt