Skip to content
This repository has been archived by the owner on Oct 11, 2024. It is now read-only.

Version 7.0.1-beta

Pre-release
Pre-release
Compare
Choose a tag to compare
@fabioberger fabioberger released this 19 Dec 22:41
· 532 commits to master since this release
07530fb

Summary

Breaking changes 🛠

  • Changed the response from @0x/mesh-ts-client's getOrdersAsync endpoint to include the snapshotID and snapshotTimestamp at which the Mesh DB was queried along with the orders found. (#591)
  • Increased the default ETHEREUM_RPC_MAX_REQUESTS_PER_24_HR_UTC from 100k to 200k (#596).

Features ✅

  • Instead of progressing Mesh forward by a single block on every invocation of the BLOCK_POLLING_INTERVAL, we now attempt to sync as many blocks as necessary to reach the latest block available. This will reduce the chances of Mesh becoming out-of-sync with it's backing Ethereum node (#564)
  • Added a new environment variable ENABLE_ETHEREUM_RPC_RATE_LIMITING and config option enableEthereumRPCRateLimiting which can be used to completely disable Mesh's internal Ethereum RPC rate limiting features. By default it is enabled, and disabling can have some consequences depending on your RPC provider. (#584)
  • Added a SnapshotTimestamp field to GetOrdersResponse, the return type of the mesh_getOrders RPC method. This way, the caller can know at what point in time the snapshot had been created. (#591)
  • Improved batching of events emitted from order events subscriptions (#566)
  • Added timestamp to order events (#602)

Bug fixes 🐞

  • Fixed an issue where order updates could have been missed if Mesh discovered blocks but didn't have time to process them before getting shut down. Now, blocks are only persisted to the DB once any order updates resulting from it have been processed. (#566).
  • Fixed a race-condition when adding new orders to Mesh which could result in order-relevant events being missed if they occured very soon after the order was submitted and the order validation RPC call took a long time (#566).
  • Upgraded the web3-provider dependency used by @0x/mesh-rpc-client in order to fix a bug where it was requiring either process OR window to exist in the global scope (#601).
  • Fixed an issue where the internal Ethereum RPC rate limiter could be too aggressive in certain scenarios (#596).
  • Add a default RPC request timeout of 30sec to all non-subscription requests sent by @0x/mesh-rpc-client to avoid the client from hanging endlessly if it misses a response due to network disruption (#603).