v0.73.0-preview.13
Pre-release
Pre-release
·
3454 commits
to develop
since this release
Release version 0.73.0-preview.13
2023-10-10
0.73.0
🚨 Breaking changes:
- 8679 - Snapshot configuration
load-from-block-heightno longer accept-1as value. To reload from the latest snapshot, it should be valued0. - 8679 - Snapshot configuration
snapshot-keep-recentonly accept values from1(included) to10(included) . - 8944 - Asset ID field on the
ExportLedgerEntriesRequest gRPC APIfor exporting ledger entries has changed type to make it optional. - 9562 -
--liteand--archiveoptions to data node have been replaced with--retention-profile=[archive|conservative|minimal]with default mode as archive. - 9258 - Rework
GetReferralSetStatsendpoint. - 9258 - Change HTTP endpoint from
/volume-discount-statsto/volume-discount-program/stats. - 9258 - Change HTTP endpoint from
/referral-sets/stats/{id}to/referral-sets/{id}/stats.
🛠 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
SLAto governance proposals for spot market. - 8741 - Add a network parameter for disabling
Ethereumoracles. - 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
- 9678 - Cache and forward referral rewards multiplier and factor multiplier
- 8779 - Query all details of liquidity providers via an API.
- 8924 - Refactor slightly to remove need to deep clone
prototypes - 8782 - List all active liquidity providers for a market via API.
- 8753 - Governance for new market proposal.
- 8752 - Add
PERPSnetwork 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
- 9670 - Do not check destination account exists when validating transfer proposal
- 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
TWAPfor 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
nullchainis used instead oftendermint - 8973 - Do some more validation on Ethereum call specifications, add explicit error types to improve reporting
- 8957 - Oracle bindings for
PERPS. - 8770 - Add
PERPSto 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
APIsupport for spot markets, data and governance. - 8762 - Data node
APIsupport for perpetual markets, data and governance. - 8761 - Add terminating
PERPSvia governance. - 9021 - Add rejection reason to stop orders.
- 9012 - Add governance to update the referral program.
- 9077 - Ensure liquidity
SLAparameters 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
SQLstatement 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
IPFSgarbage 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
- 9593 - Version and whether it was taken for a protocol upgrade added to snapshot.
- 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
calculationTimeStepa 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
APIfor 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
SLAparameters toNewMarketandUpdateMarketConfigurationproposals inGraphQL. - 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
- 9547 - Less disk space is now needed to initialise a data node from network history.
- 8764 - Include funding payment in margin and liquidation price estimates for
PERPS. - 9519 - Fix
oracle_specsdata in thedatabasethat was inadvertently removed during an earlier database migration - 9475 - Make
oracle_dataandoracle_data_oracle_specsintohypertables - 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.
- 9578 - Add spam protection for referral transactions
- 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.
- 9628 - Upgrade
CometBFT. - 9577 - Feature test coverage for distribution strategy
- 9542 - Ensure all per asset accounts exist after migration
- 8475 - Emit margin levels event when margin balance is cleared.
- 9664 - Handle pagination of release request with github.
- 9681 - Move referral set reward factor to the referral set stats events
- 9708 - Use the correct transaction hash when submitting orders through the
nullblockchain - 409 - Add integration test for team rewards
0056-REWA-106 - 410 - Add integration test for team rewards
0056-REWA-107 - 411 - Add integration test for team rewards
0056-REWA-108 - 408 - Add integration test for team rewards
0056-REWA-105 - 407 - Add integration test for team rewards
0056-REWA-104 - 406 - Add integration test for team rewards
0056-REWA-103
🐛 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 -
ListSuccessorMarketsdoes 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.
- 9685 - All events for core are sent out in a stable order.
- 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
GetMarketDataHistoryByIDnow work as expected. - 9348 - Nil pointer error in Ethereum call engine when running with null block chain
- 8800 -
expiresAtis always null in the Stop OrdersAPI. - 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
powengine 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
contractCallsnapshot. - 8854 - Add liquidity
v2snapshots 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_specstable 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
\nis 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
GraphQLendpoint. - 9034 - Add missing transfer types to
GraphQLschema definition. - 9075 -
Oracle Specs APIcan fail when oracle data is null. - 8944 - Fix ignoring of asset
IDin ledger export, and make it optional. - 8971 - Record the epoch start time even in opening auction
- 8992 - allow for 0 time step for
SLAfee 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
hypertablewith retention policy. - 9153 -
MTMwin 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 -
ListLedgerEntriestransfers type filter works as expected with open to and from filters. - 9198 - Fix panic during LP amendment applications
- 9196 -
APIdocumentation 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
ELSnot calculated when leaving opening auction. - 9276 - Properly save stats in the positions snapshot
- 9276 - Properly save stats in the positions snapshot
- 9305 - Properly propagate
providersFeeCalculationTimeStepparameter - 9374 -
ListGovernanceDataignored 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 -
ListGovernanceDatareturns an error instead of results. - 9344 - Verify
EthTimein submittedChainEventtransactions matches the chain. - 9461 - Do not make SLA related transfers for 0 amount.
- 9462 - Add missing proposal error
enumvalues to the database. - 9466 -
ListReferralSetsreturns error when there are no stats available. - 9341 - Fix checkpoint loading
- 9472 -
ListTeamsreturns 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
CSVexports. - 9512 - Allow hysteresis period to be set to 0.
- 9526 - Rename go enum value
REJECTION_REASON_STOP_ORDER_NOT_CLOSING_THE_POSITIONto matchdbschema - 8979 - Add trusted proxy config and verification for
XFFheader. - 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.Endis specified - 9571 - Ledger entry
CSVexport 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
XFFinformation in rate limiter documentation. - 9540 - Proposals connection does not resolve
UpdateReferralProgramproposals 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.
- 9624 - Fix get returns when window is larger than available returns
- 9634 - Do not allow to submit liquidity provision for pending LPs
- 9636 - include ersatz validator for validator ranking reward.
- 9655 - Make liquidity monitoring parameter required in market proposals validation
- 9280 - Fix block height off by one issue.
- 9658 - Fix
updateVolumeDiscountProgramGraphQL resolver. - 9672 - Fix margin being non-zero on
PERPS, add tests to ensure distressed parties are handled correctly - 9280 - Get block height directly from
blockstable. - 9675 - Fix snapshot issue with not applying
providersCalculationStepat epoch start. - 9693 - Add missing validation for general account public key in governance transfer
- 9691 - Refactor referral engine snapshot
- 8570 - Ensure pagination doesn't trigger a sequential scan on block-explorer transactions table.
- 9704 - Fix referral program snapshot
- 9705 - Ensure vote events are sent in the same order.
- 9714 - Missing data from the fee stats