Testnet release notes and updates

Our next Testnet reset is scheduled for Monday 11th May at 10am UTC (GMT+1). We’re expecting to release a new version of the node software and also new updates to Vega Console. Watch this space for more details next week.

Happy Trading!

3 Likes

Last night we had an incident on Testnet which caused a reset.

What happened? One of the markets on Testnet ended up without sufficient liquidity to close out some of the positions. In the future this will trigger the market to enter into auction mode, which will be used to source sufficient liquidity to allow the market to recover.

What’s next? Markets automatically entering into auction mode is not yet implemented, however the engineering team are working on adding auction modes to Testnet this quarter.

Thanks and if you’d like to participate in our Testnet head over to our website to request access.

5 Likes

We reset the Testnet as scheduled yesterday at 10am UTC (GMT+1) and released new versions of our node software and console.

A couple of the exciting improvements/fixes in v0.17.0 of the node software are:

  • Improvements to GraphQL APIs including a new allParties query.
  • Add an updatedAt field to all orders returned by APIs.
  • Return full Market details in nested GraphQL queries, previously this was just a summary.

Also, for a more in-depth summary of the changes in Console v0.22.0 head over to this post by @edd

Thanks and happy trading.

3 Likes

Thank you for the information, access requested. I really hope that you will invite me to the test team soon.
With respect MBGBuzzer [4Block]

5 Likes

Welcome @MBGBuzzer we hope to see you on a Testnet on boarding session soon :+1:

2 Likes

We reset the Testnet as scheduled today at 10am UTC (GMT+1) and released new versions of our node software and console.

A handful of the exciting improvements/fixes in v0.18.1 of the node software are:

  • Automatically build for multiple architectures and publish to GitHub releases.
  • Improvements to GraphQL APIs including support for governance proposals and complexity limits.
  • Fix amends triggering multiple updates to a single order in some use cases.
  • Fix to ensure keys are hex encoded.

For the Console v0.22.3 release:

  • Improvements to the toast notifications we added last release, and brings back the ‘Reset’ switch on the ‘loading page’. Useful if something goes wrong while loading. We hope you don’t need it, but if you do - it’s back.
  • Long public keys are now intelligently truncated.
  • Toast notifications now stack when they happen close together.
  • Fixes for logging in to a wallet with no keys present.
  • Other minor bug fixes/improvements.
2 Likes

We reset the Testnet as scheduled yesterday at 10am UTC (GMT+1) and released new versions of our node software and also Vega Console.

The v0.19.0 release of the node software contains many internal improvements, bug fixes and enhancements to pave the way for new Governance features.

For the Console v0.24.1 release, several enhancements that will support new Governance changes on Vega nodes. Additional fixes include:

  • Fix for incorrect title field on windows in new workspaces.
  • Fix for market order price showing as 0 in the order list.
  • Improved error messages given for login failure.
  • Font size changes for visual consistency.
  • Improve error handling and make reporting clearer.

Thanks and if you’d like to participate in our Testnet head over to our website to request access

2 Likes

:mega: We’ve performed our scheduled reset of the Testnet at 10am GMT (UTC), all your accounts will remain but your collateral and order book/positions will be removed and you’ll have a fresh set of collateral to play with! Happy trading :moneybag:

2 Likes

:mega: We’re about to reset the Vega Testnet to perform an update of the Market Names for our 3 test markets [MarketInfo->Instrument->Name], your trading collateral, positions and all orders will be reset as well. No other changes.

2 Likes

Our next Testnet reset and release is scheduled for Monday 3rd August at 10am UTC (GMT+1).

:rotating_light: EDIT: Sometimes big releases cause big bugs! This release has been rolled back. :rotating_light:

This time around we have a hefty update for the node software with release 0.22.0. The release primarily focuses on setting up Vega nodes to deal correctly with events sourced from other chains, as we’re nearly ready to start bringing in ERC20 assets from Ethereum. This includes responding to asset-related events from Ethereum, and support for validator nodes notarising asset movements and proposals. (Note: deposit of ERC20 assets on Vega is not yet enabled.)

The release also contains a lot of bug fixes and improvements, primarily around an internal refactor to use an event bus to communicate between packages. Also included are some corrections for order statuses that were incorrectly being reported or left outdated on the APIs.

Also new or improved:

  • Adding support for two-step governance processes such as asset proposals and new chain proposals, add RejectionReason field to rejected governance proposals, and add a new Notary package for tracking multisig decisions for governance, such as
  • Adding OpenInterest field to markets, which shows the total size of open orders
  • GraphQL: Orders will include their version and updatedAt, which are useful when dealing with amended orders
  • GraphQL: New asset proposals
  • API documentation: Improving order documentation for Status and TimeInForce

If you use APIs to interact with the testnet, these changes may affect you.

  • REST: Updating orders endpoints to use POST, not PUT or DELETE
  • GraphQL: Some endpoints returned a nullable array of strings. Now they will return an array of nullable strings
  • GraphQL & GRPC: Removing broken open parameter from Orders endpoints. It returned ambiguous results
  • REST & GraphQL: Market name will now be based on the instrument name rather than being set separately
  • Fixing outdated order details for orders amended by cancel-and-replace
  • Fixing incorrect status on partially filled trades that would have matched with another order by the same user. Was stopped, now rejected

The Console 0.27.2 release primarily includes design and usability improvements.

  • New design for how error messages are displayed
  • New design for the connection status, now appears in bottom left of browser window
  • Fixing various label typos and some improved labels
  • Fixing an issue where changing a pubkey wasn’t clearing the list of positions
4 Likes

Thanks @candida, as mentioned we’ve now rolled back this release so the testnet is fully operational running release 0.19.0.

We’ll update here as soon as we have the next release fixed, tested and ready to go :rocket:

4 Likes

Update: Testnet release 0.22.0 (Node software) and 0.27.2 (Vega Console) is now live and operating normally.

Happy trading, check out the new features listed two posts above and if you’d like to participate in our Testnet head over to our website to request access.

3 Likes

A Console-only update went out this evening, which fixed a long standing bug whereby old orders could show up in the Open Orders panel.

It was pretty disconcerting for users, but fortunately was ‘mostly harmless’. We were sometimes missing an update to an order, and that could include the fact that the order actually closed. It’s now displayibng as it should.

2 Likes

We’re doing a chain reset this morning, without an upgrade. It’s a new start for everyone!

1 Like

Core 0.23.1
This release contains a lot of groundwork for Fees and Auction mode.

Fees are incurred on every trade on Vega. Those fees are divided between up to three recipient types, but traders will only see one collective fee charged. The fees reward liquidity providers, infrastructure providers and market makers.

  • The liquidity portion of the fee is paid to market makers for providing liquidity, and is transferred to the market-maker fee pool for the market.
  • The infrastructure portion of the fee, which is paid to validators as a reward for running the infrastructure of the network, is transferred to the infrastructure fee pool for that asset. It is then periodically distributed to the validators.
  • The maker portion of the fee is transferred to the non-aggressive, or passive party in the trade (the maker, as opposed to the taker).

Auction mode is not enabled in this release, but the work is nearly complete for Opening Auctions on new markets.

Please note, this release disables order amends . The team uncovered an issue in the Market Depth API output that is caused by order amends, so rather than give incorrect output, we’ve temporarily disabled the amendment of orders. They will return when the Market Depth API is fixed. For now, amends will return an error .(edited)

Console 0.31.2 - This release contains a lot of bug fixes, and improvements for upcoming functionality - specifically deposits from other chains and governance proposals. It also introduces a few changes to the default layouts. If you’ve experienced unclosable panels, or My Workspace not working, use the reset toggle in the settings menu to return to the defaults.

  • Replace existing Wallet menu with a new version based on Blueprint’s panel stack
  • Update default layouts to be 2 panels across the bottom, not 4
  • Remember custom column widths on tables
  • Reduce slow block sensitivity

Also, the API docs get a lot more information on each field in this release

2 Likes

Our next Testnet reset and release is scheduled for Monday 14th August at 10am UTC (GMT+1).

Release 0.24.0 includes a small update for the node software, it primarily focuses on bug fixes and improvements to existing features under the hood. This said, one new API endpoint has been added to allow cancelling of multiple orders simultaneously, either all orders by market, a single order in a specific market, or just all your open orders. Note: This is currently a gRPC/API Client only API method until the next release.

A minor power up that we’re adding in this release is rate limiting. We limit the number of transaction requests a party can make, using a simple but effective strategy for now.

Improvements have been made to our Reference API documentation with better descriptions for all fields.

If you’d like to participate in our Testnet, please head over to our website to request access.

:mega: We’re performing an earlier than scheduled reset and release of testnet today at 12pm UTC.

Node software updated to 0.25.0
This release adds the event bus API, allowing for much greater introspection in to the operation of a node. We’ve also re-enabled the order amends API, as well as a long list of fixes.

All your accounts will remain but your collateral and order book/positions will be removed and you’ll have a fresh set of collateral to play with! Happy trading :moneybag:

There are some breaking changes for the APIs with this release:

  • :fire: GraphQL, REST, gRPC: CumulativeVolume field has been removed from MarketDepth results and from 0.25.0 please retrieve all price levels and calculate a cumulative value on the client side using each volume value.
  • :fire: GraphQL: Field case change proposalId -> proposalID
  • :fire: GraphQL: Withdrawals now return a Party , not a party ID

We’re doing an out-of-usual schedule update to testnet at in 5 minutes. This is version 0.25.1, which is patch that contains:

  • Adds a REST endpoint prepareVote, which is much like the other prepareX endpoints, but for placing a vote,
  • Fixes a value that was being passed by reference rather than copied, which was the root cause of the Market Depth endpoint sometimes showing orders at price levels that were already closed

It’s a pretty boring batch release. The fun stuff is in 0.26.0 (which is oh-so-nearly tagged - event bus fixes and more) and 0.27.0 (price monitoring amongst others).
Those should come on our usually scheduled Monday release slots.

We’ve performed an update to the testnet alongside the scheduled reset today.

Node software updated to 0.26.1

This release provides extensive improvements to the Vega core and stability enhancements to the Events API and underlying events bus.

The Events API added in 0.25.0 had reliability issues when a large volume of events were being emitted. This release addresses that in two ways:

  1. The gRPC event stream now takes a parameter that sets a batch size. A client will receive the events when the batch limit is hit.
  2. GraphQL is now limited to one event type per subscription, and we also removed the ALL event type as an option. This was due to the GraphQL gateway layer taking too long to process the full event stream, leading to sporadic disconnections.

These two fixes combined make both the gRPC and GraphQL streams much more reliable under reasonably heavy load.

This release also adds some performance improvements to the way the core processes Tendermint events, some documentation improvements, and some additional debugging tools.

New

#2319 Add fee estimate API endpoints to remaining APIs
#2321 :fire: Change estimateFee to estimateOrder in GraphQL
#2327 :fire: GraphQL: Event bus API - remove ALL type & limit subscription to one event type
#2343 :fire: Add batching support to stream subscribers

Improvements

#2463 Further reliability fixes for the event bus
#2469 Fix incorrect error returned when a trader places an order in an asset that they have no account for (was InvalidPartyID, now InsufficientAssetBalance)
#2458 REST: Fix a crasher when a market is proposed without specifying auction times
#2229 Add Price Monitoring module
#2246 Add new market depth subscription methods
#2298 Improve error messages for Good For Auction/Good For Normal rejections
#2301 Add validation for GFA/GFN orders
#2307 Implement app state hash
#2312 Add validation for market proposal risk parameters
#2313 Additional transaction replay protection
#2314 GraphQL: Improve response when market does not exist
#2315 GraphQL: Improve response when party does not exist
#2316 Documentation: Improve documentation for fee estimate endpoint
#2318 Documentation: Improve documentation for governance data endpoints
#2324 Cache transactions already seen by checkTX
#2328 Add test covering context cancellation mid data-sending
#2331 Internal refactor of network parameter storage
#2334 Rewrite vegastream to use the event bus
#2333 Fix context for events, add block hash and event id
#2335 Add ABCI event recorder
#2341 Ensure event slices cannot be empty
#2345 Handle filled orders in the market depth service before new orders are added
#2346 CI: Add missing environment variables
#2348 Use cached transactions in checkTX
#2349 Optimise accounts map accesses
#2351 Fix sequence ID related to market OnChainTimeUpdate
#2355 Update coding style doc with info on log levels
#2358 Add documentation and comments for events.proto
#2359 Fix out of bounds index crash
#2364 Add mutex to protect map access
#2366 Auctions: Reject IOC/FOK orders
#2368 Tidy up genesis market instantiation
#2369 Optimise event bus to reduce CPU usage
#2370 Event stream: Send batches instead of single events
#2376 GraphQL: Remove verbose logging
#2377 Update tendermint stats less frequently for Vega stats API endpoint
#2381 Event stream: Reduce CPU load, depending on batch size
#2382 GraphQL: Make event stream batch size mandatory
#2401 Event stream: Fix CPU spinning after stream close
#2404 Auctions: Add fix for crash during auction exit
#2419 Make the price level wash trade check configurable
#2432 Use EmitDefaults on jsonpb.Marshaler
#2431 GraphQL: Add price monitoring
#2433 Validate amend orders with GFN and GFA
#2436 Return a permission denied error for a non-allowlisted public key
#2438 GraphQL: Fix a resolver error when markets are in auction mode
#2441 GraphQL: Remove unnecessary validations
#2442 GraphQL: Update library; improve error responses
#2447 REST: Fix HTTP verb for network parameters query
#2443 Auctions: Add check for opening auction duration during market creation

If you’d like to participate in our Testnet, please head over to our website to request access

1 Like

We’re performing an update to the testnet alongside the scheduled reset today at 10am GMT/UTC.

Node software updated to 0.27.0

This release contains improvements in the memory usage during auctions with particularly large order books. Previously this would cause slower block times when handling orders placed during an opening auction. The release also contains a lot of important internal work related to liquidity provision mechanics.

We have breaking changes for API client users, specifically #2476. When querying market data, previously all times were returned in seconds, they are now returned using RFC3339 format.

The testnet infrastructure will be undergoing maintenance upgrades at the same time as this release so please keep an eye on our Discord Testnet channel for the latest status on when the system will be returned to normal operation. :man_technologist:t2:

New

#2498 Automatically create a bond account for liquidity providers
#2596 Create liquidity measurement API
#2490 GraphQL: Add Withdrawal and Deposit events to event bus
#2476 :fire:MarketData now uses RFC3339 formatted times, not seconds
#2473 Add network parameters related to target stake calculation
#2506 Network parameters can now contain JSON configuration

Improvements

#2521 Optimise memory usage when building cumulative price levels
#2520 Fix indicative price calculation
#2517 Improve command line for rate limiting in faucet & wallet
#2510 Remove reference to external risk model
#2509 Fix panic when loading an invalid genesis configuration
#2502 Fix pointer when using amend in place
#2487 Remove context from struct that didn’t need it
#2485 Refactor event bus event transmission
#2481 Add LiquidityProvisionSubmission transaction
#2480 Remove unused code
#2479 Improve validation of external resources
#1936 Upgrade to Tendermint 0.33.8

As ever, if you’d like to participate in our Testnet, please head over to our website to request access.