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
fabioberger
released this
19 Dec 22:41
·
532 commits
to master
since this release
Summary
Breaking changes 🛠
- Changed the response from
@0x/mesh-ts-client
'sgetOrdersAsync
endpoint to include thesnapshotID
andsnapshotTimestamp
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 optionenableEthereumRPCRateLimiting
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 toGetOrdersResponse
, the return type of themesh_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 eitherprocess
ORwindow
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).