Skip to content

v0.73.0-preview.10

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 29 Sep 18:25
· 3656 commits to develop since this release
v0.73.0-preview.10
6989864

Release version 0.73.0-preview.10

2023-09-29

0.73.0

🚨 Breaking changes:

  • 8679 - Snapshot configuration load-from-block-height no longer accept -1 as value. To reload from the latest snapshot, it should be valued 0.
  • 8679 - Snapshot configuration snapshot-keep-recent only accept values from 1 (included) to 10 (included) .
  • 8944 - Asset ID field on the ExportLedgerEntriesRequest gRPC API for exporting ledger entries has changed type to make it optional.
  • 9562 - --lite and --archive options to data node have been replaced with --retention-profile=[archive|conservative|minimal] with default mode as archive.

🛠 Improvements:

  • 9484 - Remove network parameters that only provide defaults for market liquidity settings.
  • 8718 - Emit market data event after setting mark price prior to final settlement.
  • 8590 - Improved Ethereum oracle support.
  • 8754 - Introduce Perpetuals and their funding payment calculations.
  • 8731 - Add liquidity provision SLA to governance proposals for spot market.
  • 8741 - Add a network parameter for disabling Ethereum oracles.
  • 8600 - Clean and refactor data source packages.
  • 8845 - Add support for network treasury and global insurance accounts.
  • 9545 - Auto load new segments after load finishes
  • 8661 - Refactor the snapshot engine to make it testable.
  • 8680 - Move loading the local snapshot in the initialization steps.
  • 8682 - Share snapshot by search the metadata database instead of loading the tree.
  • 8846 - Add support to transfer recurring transfers to metric based reward
  • 9549 - Update config defaults to better support archive nodes
  • 8857 - Add a step for getting the balance of the liquidity provider liquidity fee account
  • 8847 - Implement internal time trigger data source.
  • 8895 - Allow to set runtime parameters in the SQL Store connection structure
  • 8779 - Query all details of liquidity providers via an API.
  • 8924 - Refactor slightly to remove need to deep clone proto types
  • 8782 - List all active liquidity providers for a market via API.
  • 8753 - Governance for new market proposal.
  • 8752 - Add PERPS network parameter.
  • 8759 - Add update market support for PERPS.
  • 8758 - Internal recurring time trigger for PERPS.
  • 8913 - Add business logic for team management.
  • 8765 - Implement snapshots state for PERPS.
  • 8918 - Implement commands for team management.
  • 9401 - Use boot strap peers when fetching initial network history segment
  • 8960 - Improve wiring perpetual markets through governance.
  • 8969 - Improve wiring of internal time triggers for perpetual markets.
  • 9001 - Improve wiring of perpetual markets into the data node.
  • 8985 - Improve snapshot restore of internal time triggers for perpetual markets.
  • 9146 - Improve TWAP for perpetual markets to do calculations incrementally.
  • 8817 - Add interest term to perpetual funding payment calculation.
  • 8755 - Improve testing for perpetual settlement and collateral transfers.
  • 9319 - Introduce product data field in market data for product specific information.
  • 8756 - Settlement and margin implementation for PERPS.
  • 8932 - Fix range validation of performanceHysteresisEpochs
  • 8887 - Remove differences for snapshot loading when the nullchain is used instead of tendermint
  • 8973 - Do some more validation on Ethereum call specifications, add explicit error types to improve reporting
  • 8957 - Oracle bindings for PERPS.
  • 8770 - Add PERPS to integration tests.
  • 8763 - Periodic settlement data endpoint.
  • 8920 - Emit events when something happens to teams.
  • 8917 - Support teams engine snapshots
  • 9007 - Add reward vesting mechanisms.
  • 8914 - Add referral network parameters.
  • 9023 - Add transaction comparison tool.
  • 8120 - Data node API support for spot markets, data and governance.
  • 8762 - Data node API support for perpetual markets, data and governance.
  • 8761 - Add terminating PERPS via governance.
  • 9021 - Add rejection reason to stop orders.
  • 9012 - Add governance to update the referral program.
  • 9077 - Ensure liquidity SLA parameters are exposed on markets and proposals
  • 9046 - Send event on referral engine state change.
  • 9045 - Snapshot the referral engine.
  • 9136 - Referral engine returns reward factor for a given party
  • 9076 - Add current funding rate to market data.
  • 1932 - Allow configuring an SQL statement timeout.
  • 9162 - Refactor transfers to support new metric based rewards and distribution strategies
  • 9163 - Refactor reward engine to support the new metric based reward distribution
  • 9164 - Refactor market activity tracker to support more metrics and history
  • 9219 - Don't do IPFS garbage collection every segment
  • 9208 - Refactor referral set and teams state
  • 9204 - Ensure teams names are not duplicates
  • 9080 - Add support for vested and vesting account in GraphQL
  • 9147 - Add reward multiplier to vesting engine
  • 9234 - Add support for transfers out of the vested account
  • 9199 - Consider running notional volume to determine referrers and referees tier
  • 9214 - Add staking tier on referral program
  • 9205 - Ensure staking requirement when creating / joining referral sets
  • 9032 - Implement activity streaks.
  • 9133 - Apply discounts/rewards in fee calculation
  • 9281 - Add ability to filter funding period data points by the sequence they land in.
  • 9254 - Add fee discounts to trade API
  • 9246 - Add rewards multiplier support in the referral engine.
  • 9063 - Make calculationTimeStep a network parameter
  • 9167 - Rename liquidity network parameters
  • 9302 - Volume discount program
  • 9288 - Add check for current epoch to integration tests.
  • 9288 - Allow integration test time to progress by epoch.
  • 9078 - Add activity streak API.
  • 9351 - Avoid using strings in market activity tracker snapshot and checkpoint
  • 9079 - Add API to get the current referral program
  • 8916 - Add data node API for teams.
  • 7461 - Add endpoint to get transfer by ID.
  • 9417 - Add additional filters for referral set APIs.
  • 9375 - Apply SLA parameters at epoch boundary.
  • 9279 - Remove checks for best bid/ask when leaving opening auction.
  • 9456 - Add liquidity SLA parameters to NewMarket and UpdateMarketConfiguration proposals in GraphQL.
  • 9408 - Check for integer overflow in pagination.
  • 5176 - Check for duplicate asset registration in integration tests.
  • 9496 - Added support for new dispatch strategy fields in feature tests
  • 9536 - Feature tests for average position metric transfers and reward
  • 8764 - Include funding payment in margin and liquidation price estimates for PERPS.
  • 9519 - Fix oracle_specs data in the database that was inadvertently removed during an earlier database migration
  • 9475 - Make oracle_data and oracle_data_oracle_specs into hypertables
  • 9478 - Add SLA statistics to market data and liquidity provision APIs.
  • 9558 - Feature tests for relative return metric transfers and reward
  • 9559 - Feature tests for return volatility metric transfers and reward
  • 9564 - Fix error message for too many staking tiers.
  • 8421 - Markets that spend too long in opening auction should be cancelled.
  • 9575 - Expand SLA statistics by required liquidity and notional volumes.
  • 9590 - Restore positions for market activity tracker on migration from old version.
  • 9589 - Add event for funding payments.
  • 9460 - Add APIs for volume discount program.

🐛 Fixes:

  • 8417 - Fix normalisation of Ethereum calls that return structures
  • 8719 - Do not try to resolve iceberg order if it's not set
  • 8721 - Fix panic with triggered OCO expiring
  • 8751 - Fix Ethereum oracle data error event sent with incorrect sequence number
  • 8906 - Fix Ethereum oracle confirmation height not be used
  • 8729 - Stop order direction not set in datanode
  • 8545 - Block Explorer pagination does not order correctly.
  • 8748 - ListSuccessorMarkets does not return results.
  • 8749 - Ensure stop order expiry is in the future
  • 9337 - Non deterministic ordering of vesting ledger events
  • 8773 - Fix panic with stop orders
  • 9343 - Prevent malicious validator submitting Ethereum oracle chain event prior to initial start time
  • 8792 - Fix panic when starting null block chain node.
  • 8739 - Cancel orders for rejected markets.
  • 9594 - non deterministic order events on market termination
  • 9350 - Clear account ledger events causing segment divergence
  • 9118 - Improve list stop orders error message
  • 9406 - Fix Ethereum oracle validation failing unexpectedly when using go 1.19
  • 9105 - Truncate virtual stake decimal places
  • 9517 - Start and end time stamps in GetMarketDataHistoryByID now work as expected.
  • 9348 - Nil pointer error in Ethereum call engine when running with null block chain
  • 8800 - expiresAt is always null in the Stop Orders API.
  • 8796 - Avoid updating active proposals slice while iterating over it.
  • 8631 - Prevent duplicate Ethereum call chain event after snapshot start
  • 9528 - Allow order submission when in governance suspended auction.
  • 8679 - Disallow snapshot state-sync if local snapshots exist
  • 8364 - Initialising from network history not working after database wipe
  • 8827 - Add block height validation to validator initiated transactions and pruning to the pow engine cache
  • 8836 - Fix enactment of market update state
  • 8848 - Handle the case where the market is terminated and the epoch ends at the same block.
  • 8853 - Liquidity provision amendment bug fixes
  • 8862 - Fix settlement via governance
  • 9088 - Include error field in contractCall snapshot.
  • 8854 - Add liquidity v2 snapshots to the list of providers
  • 8772 - Checkpoint panic on successor markets.
  • 8962 - Refreshed pegged iceberg orders remain tracked as pegged orders.
  • 8837 - Remove successor entries from snapshot if they will be removed next tick.
  • 8868 - Fix oracle_specs table null value error.
  • 9038 - New market proposals are no longer in both the active and enacted slices to prevent pointer sharing.
  • 8878 - Fix amend to consider market decimals when checking for sufficient funds.
  • 8698 - Final settlement rounding can be off by a 1 factor instead of just one.
  • 9113 - Only add pending signatures to the retry list when the notary engine snapshot restores.
  • 8861 - Fix successor proposals never leaving proposed state.
  • 9086 - Set identifier generator during perpetual settlement for closed out orders.
  • 8884 - Do not assume \n is present on the first read chunk of the input
  • 8477 - Do not allow opening auction duration of 0
  • 9272 - Fix dead-lock when terminating a perpetual market.
  • 8891 - Emit market update event when resuming via governance
  • 8874 - Database migration can fail when rolling back and migrating up again.
  • 8855 - Preserve reference to parent market when restoring checkpoint data
  • 9576 - Metric collection during bridge stops no longer causes a panic.
  • 8909 - initialise id generator for all branches of market state update
  • 9004 - Clear insurance pools in a deterministic order in successor markets.
  • 8908 - A rejected parent market should result in all successors getting rejected, too.
  • 8953 - Fix reward distribution when validator delegate to other validators
  • 8898 - Fix auction uncrossing handling for spots
  • 8968 - Fix missing parent reference on checkpoint restore.
  • 9009 - Fix non determinism in RollbackParentELS
  • 8945 - Expose missing order from the stop order GraphQL endpoint.
  • 9034 - Add missing transfer types to GraphQL schema definition.
  • 9075 - Oracle Specs API can fail when oracle data is null.
  • 8944 - Fix ignoring of asset ID in ledger export, and make it optional.
  • 8971 - Record the epoch start time even in opening auction
  • 8992 - allow for 0 time step for SLA fee calculation
  • 9266 - Preserve perpetual state when updating product
  • 8988 - allow amend/cancel of pending liquidity provision
  • 8993 - handle the case where commitment min time fraction is 1
  • 9252 - Preserve the order of pegged orders in snapshots.
  • 9066 - Ensure a party have a liquidity provision before trying to cancel
  • 9140 - Stop orders table should be a hypertable with retention policy.
  • 9153 - MTM win transfers can be less than one.
  • 9227 - Do not allow market updates that change the product type.
  • 9535 - Populate referral statistics when loading from a snapshot.
  • 9178 - Fix LP amendment panic
  • 9329 - Roll next trigger time forward until after the time that triggered it.
  • 9053 - Handle settle market events in core positions plug-in.
  • 9189 - Fix stop orders snapshots
  • 9313 - ListLedgerEntries transfers type filter works as expected with open to and from filters.
  • 9198 - Fix panic during LP amendment applications
  • 9196 - API documentation should specify the time format.
  • 9294 - Data node panics when many markets use the same data source
  • 9203 - Do not remove LPs from the parties map if they are an LP without an open position
  • 9202 - Fix ELS not calculated when leaving opening auction.
  • 9276 - Properly save stats in the positions snapshot
  • 9276 - Properly save stats in the positions snapshot
  • 9305 - Properly propagate providersFeeCalculationTimeStep parameter
  • 9374 - ListGovernanceData ignored reference filter.
  • 9385 - Support deprecated liquidity auction type for compatibility
  • 9398 - Fix division by zero panic in market liquidity
  • 9413 - Fix range validation for SLA parameters
  • 9332 - Ethereum oracles sending data to unintended destinations
  • 9447 - Store current SLA parameters in the liquidity engine snapshot.
  • 9433 - fix referral set snapshot
  • 9432 - fix referral set not saved to database.
  • 9449 - if expiration is empty, never expire a discount/reward program
  • 9263 - save dispatch strategy details in the database and allow for its retrieval.
  • 9374 - ListGovernanceData returns an error instead of results.
  • 9344 - Verify EthTime in submitted ChainEvent transactions matches the chain.
  • 9461 - Do not make SLA related transfers for 0 amount.
  • 9462 - Add missing proposal error enum values to the database.
  • 9466 - ListReferralSets returns error when there are no stats available.
  • 9341 - Fix checkpoint loading
  • 9472 - ListTeams returns error when filtering by referrer or team.
  • 9477 - Teams data not persisted to the database.
  • 9412 - Use vote close time for opening auction start time.
  • 9487 - Reset auction trigger appropriately when market is resumed via governance.
  • 9489 - A referrer cannot join another team.
  • 9441 - fix occasional double close of channel in integration tests
  • 9074 - Fix error response for CSV exports.
  • 9512 - Allow hysteresis period to be set to 0.
  • 9526 - Rename go enum value REJECTION_REASON_STOP_ORDER_NOT_CLOSING_THE_POSITION to match db schema
  • 8979 - Add trusted proxy config and verification for XFF header.
  • 9530 - Referral program end timestamp not correctly displaying in GraphQL API.
  • 9532 - Data node crashes if referral program starts and ends in the same block.
  • 9540 - Proposals connection errors for UpdateReferralProgram.
  • 9570 - Ledger entry export doesn't work if dateRange.End is specified
  • 9571 - Ledger entry CSV export slow even when looking at narrow time window
  • 8934 - Check for special characters in headers.
  • 9609 - Do not prompt for funding payments when terminating a perpetual market if we have already processed a trigger.
  • 8979 - Update XFF information in rate limiter documentation.
  • 9540 - Proposals connection does not resolve UpdateReferralProgram proposals correctly.
  • 9580 - Add program end time validation for referral proposals.
  • 9588 - Fix snapshot state for referral and volume discount programs.
  • 9596 - Empty positions and potential positions are excluded from win socialisation.
  • 9619 - Win socialisation on funding payments should include parties who haven't traded.