Vega Testnet (Fairground) release 0.45.2 is now live

Release notes and commentary by @cdm

This large, combined release includes a number of breaking changes, including that the API services are now in a separate service called data-node . This means links to API documentation have changed, and that those APIs are no longer served by validator nodes.

Also, governance now uses a Party’s staking balance, not a General account in a specified asset. This is part of the introduction of new APIs related to staking and delegation.

Finally, more fields that were previously numeric are strings, due to the shift from uint64 to uint256 .

Another improvement included in this release is to upgrade the version of Tendermint core.

New:

  • API (breaking change) :fire:: Change all price, amounts, balances from uint64 to string
  • API (breaking change) :fire:: Use staking accounts in governance
  • API (breaking change) :fire:: Remove redundant API from validator node
  • API: Add parties’ stake API
  • API: Add delegation core APIs
  • Implement retries for notary transactions
  • Implement retries for witness transactions
  • Add replay protection snapshot
  • Add ABCI snapshot
  • Reconcile delegation more frequently
  • Add staking snapshot
  • Add timestamps to rewards
  • Add witness snapshot
  • Add stake verifier snapshot
  • Update the Vega Wallet version
  • Add rewards snapshot
  • Add limit snapshot
  • Ask for passphrase confirmation on initialisation and generate commands when applicable
  • Implement spam snapshot
  • Add ERC20 logic signing
  • Implement snapshot for notary
  • Ensure the Vega and Ethereum wallets are not nil before accessing
  • Add replay protection snapshot
  • Set timeout for system-tests steps
  • Improve handling of expected trades
  • Make event forward mode deterministic
  • Update code still using uint64
  • Add command to list and describe Vega paths
  • Clean-up and separate checkpoints and snapshots
  • Add assetActions to banking snapshot
  • Add tools and linting
  • Assets snapshot implemented
  • Add clef wallet
  • Snapshot positions engine
  • Update to latest proto and go mod tidy
  • Adding IDGenerator types
  • Matching engine snapshots
  • Add fields to validators genesis
  • Port code to use last version of proto (layout change)
  • Collateral snapshots
  • Snapshot epoch engine
  • Add delegation snapshot
  • Document default file location
  • Update proto dependencies to latest
  • Additional test scenarios for delegation & rewards
  • Simplify node wallet integration
  • Add auto delegation to checkpoint
  • Add edge case scenarios for delegation to tests
  • Add new type to handle signed versions of the uint256 values we already support
  • Update the proto repository dependencies
  • Implement the spam protection engine
  • Migrate core & wallet to XDG structure
  • Prefix checkpoint files with time and interval for automated tests
  • Extend delegation feature test scenarios
  • Implement multisig control signatures
  • Remove expiry support for withdrawals
  • Allow proposal votes to happen during the validation period
  • Implement the simple JSON oracle source
  • Add more hashes to the app state hash
  • Remove the trading proxy service
  • Remove dependency to the Ethereum client from the Ethereum wallet
  • Collateral snapshot: Add checkpoints where needed, update processor (ABCI app) to write checkpoint data to file.
  • Add epoch to delegation balance events and changes to the delegation / reward engines
  • Load Tendermint logger configuration
  • Update istake ABI and run abigen
  • Reinstate wallet subcommand tests
  • Implement feature test for delegation
  • Add undelegate , delegate and register snapshot errors
  • Add network parameter for competition level
  • Update protobuf dependencies
  • Add command to sign a subset of network parameters
  • Remove the wallet-pubkey flag on genesis sign command
  • Add genesis verify command to verify signature against local genesis file
  • Add action field to epoch events
  • Update the go-ethereum dependency
  • Check big integer conversion from string in ERC20 code
  • Use the Vega public key as node ID
  • Add a simple subcommand to the Vega binary to ease submitting transactions
  • Do not require Ethereum client when starting the node wallet
  • Implement delegation and epoch for Limited Network Life
  • Implement staking event verification
  • Remove validator signature from configuration and add network parameters
  • Add asset details to reward events
  • Add new validator sub-command to Vega genesis
  • Add command to create a new genesis block with app state
  • Create reward engine
  • Modify staking account to be backed by governance token account balance
  • Verify transaction version 2 signature
  • Implement epoch time

Improvements:

  • Make event forwarder hashing result more random
  • Prevent overflow with pending delegation
  • Ensure sufficient balances when nominating multiple nodes
  • Checkpoints fixes
  • Add minimum validators network parameter and bug fix for overflow reward
  • Fix rewards payout with delay
  • Fix undelegateNow to use the passed amount instead of 0
  • Remove 0 balance events from checkpoint of delegations
  • Fix event sent on reward pool creation + fix owner
  • Fix filename for checkpoints
  • Remove delay in reward/delegation calculation
  • De-duplicate stake linkings
  • Add missing key to all network parameters key map
  • Send delegation events
  • Simplify check pointing for network parameters and start fixing collateral checkpoint
  • Fixed non-deterministic checkpoint and added auto delegation to checkpoint
  • Fixed epoch issue
  • Capture errors with Ethereum iterator and continue
  • Fix bug where the withdrawal signature uses uint64
  • Extended delegation rewards feature test scenario edits
  • Update integration tests now transaction error events are not sent in the execution package
  • Fix a panic when reloading checkpoints
  • Use block height in checkpoint file names
  • LoadGenesis returns nil if checkpoint entry is empty
  • Set ABCI client so it is possible to submit a transaction
  • Emit Party event when stake link is accepted
  • Add more delegation / reward scenarios and steps and a bug fix in emitted events
  • Change delegation balance event to use string
  • Sort proposals by timestamp
  • Fix panic with Vega watch
  • Include TX_ERROR events for type ALL subscribers
  • Always use asynchronous transactions
  • Use a custom http client for the Tendermint client

Where to next?

Check out https://docs.fairground.vega.xyz for more information, visit https://console.fairground.wtf to dive straight into the Console, download the go-wallet 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