Socket
Socket
Sign inDemoInstall

@0x/mesh-rpc-client

Package Overview
Dependencies
8
Maintainers
6
Versions
50
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install
Previous1234

5.0.2-beta-v3

Diff

fberger
published 5.1.0-beta •

Changelog

Source

v5.1.0-beta

Features ✅

  • The getStats RPC endpoint now includes a new field which accounts for the number of orders that have been marked as "removed" but not yet permanently deleted (#461).
  • Improved historical order sharing using round-robin algorithm instead of random selection (#454). This will reduce the warm-up time for receiving existing orders when first joining the network.
  • Added ERC1155 assetData support (#453). This includes order watching and order events for orders involving ERC1155 tokens.
  • Added Ability to specify custom contract addresses via the CUSTOM_ADDRESSES environment variable or the customAddresses field in the TypeScript bindings (#445).

Bug fixes 🐞

  • Temporarily disabled bandwidth-based peer banning (#448). A bug in libp2p was occasionally causing observed bandwidth usage to spike to unrealistic levels, which can result in peers being erroneously banned. We decided to temporarily stop banning peers while we're working with the libp2p team to resolve the issue.
fberger
published 5.0.0-beta-v3 •

fberger
published 5.0.0-beta •

Changelog

Source

v5.0.0-beta

Breaking changes 🛠

  • Removes the txHashes key in the OrderEvents emitted from the orders JSON-RPC subscription and replaced it with contractEvents, an array of decoded order-relevant contract events. Parsing these events allows callers to find every discrete order fill/cancel event. (#420)
  • Renames the Kind key in OrderEvent to EndState to better elucidate that it represents the aggregate change to the orders state since it was last re-validated. As an end state, it does not capture any possible intermediate states the order might have been in since the last re-validation. Intermediate states can be inferred from the contractEvents included (#420)

Features ✅

  • Removed the max expiration limit for orders. The only remaining expiration constraint is that the unix timestamp does not overflow int64 (i.e., is not larger than 9223372036854775807). (#400)

Bug fixes 🐞

  • Fixed bug where we weren't updating an orders fillableTakerAssetAmount in the DB when orders were being partially filled or when their fillability increased due to a block re-org. (#439)
  • Made verbosity field optional in the TypeScript Config type. (#410)
  • Fixed issue where we weren't re-validating orders potentially impacted by the balance increase of the recipient of an ERC20 or ERC721 transfer. (#416)
fberger
published 4.0.1-beta •

Changelog

Source

v4.0.1-beta

Bug fixes 🐞

  • Fixed a DB transaction deadlock accidentally introduced in the v4.0.0-beta release. (#403)
fberger
published 4.0.0-beta •

Changelog

Source

v4.0.0-beta

Breaking changes 🛠

  • Renamed the environment variable P2P_LISTEN_PORT to P2P_TCP_PORT (#366). This makes it possible to configure Mesh to use both the TCP and Websocket transports by listening on different ports.

Features ✅

  • Enabled WebSocket transport for bootstrap nodes and all other nodes (#361, #363, #366). By default the WebSocket transport listens on port 60559 but this can be changed via the P2P_WEBSOCKETS_PORT environment variable.
  • Created TypeScript bindings and an NPM package for running Mesh directly in the browser (#369). Documentation for the NPM package and a guide for running Mesh in the browser can be found at https://0x-org.gitbook.io/mesh/.
  • Added ability to use custom bootstrap list via the BOOTSTRAP_LIST environment variable (#374). Typically this should only be used for testing/debugging.
  • Added WebAssembly/Browser support to packages that previously did not support it (#358, #359, #366).
  • Order hash calculations are now cached, which slightly improves performance (#365).
  • Refactored BlockWatch so that it can be used without using LevelDB for Ethereum block storage. (#355)

Bug fixes 🐞

  • Fixed two related bugs: One where order expiration events would be emitted multiple times and another that meant subsequent fill/cancel events for orders deemed expired were not emitted. Fills/cancels for expired orders will continue to be emitted if they occur within ~4 mins (i.e. 20 blocks) of the expiration (#385).
  • Fixed a data race-condition in OrderWatcher that could have caused order collection updates to be overwritten in the DB. (#386)
  • Fixed a bug where fillableTakerAssetAmount and lastUpdated were not always being properly updated in the DB. (#386)
  • Fixed some issues with key prefixes for certain types not being applied correctly to logs (#375).
  • Fixed an issue where order hashes were not being correctly logged (#368).
  • Mesh will now properly shut down if the database is unexpectedly closed (#370).
fberger
published 3.0.1-beta •

Changelog

Source

v3.0.1-beta

Bug fixes 🐞

  • Fixed bug where block number would sometimes be converted to hex with a leading zero, an invalid hex value per the Ethereum JSON-RPC specification. (#353)
  • Fixed bug which resulted in orders that were close to expiring being re-added and removed multiple times, resulting in multiple ADDED and EXPIRED events for the same order (#352).
fberger
published 3.0.0-beta •

Changelog

Source

v3.0.0-beta

Breaking changes 🛠

  • Modified Mesh's validation logic to reject and consider invalid any partially fillable orders. While this is technically a breaking change, partially fillable orders are rare in the wild and we don't expect this will affect many users. (#333)
  • Lowercased GetStatsAsync method to getStatsAsync in TS client

Bug fixes 🐞

  • De-dup order submitted via the JSON-RPC method mesh_addOrders before performing validation (#331)
  • Added "declaration": true, to TS client's tsconfig.json so that downstream projects can use it's TS typings. (#325)
fberger
published 2.0.0-beta •

Changelog

Source

v2.0.0-beta

Breaking changes 🛠

  • Modified how mesh_addOrders treats orders that are already stored on the Mesh node. Previously, they would be rejected with code OrderAlreadyStored. Now, if the order is stored and fillable, it will be accepted. If it is stored but unfillable, it will be rejected with OrderAlreadyStoredAndUnfillable. We additionally added a isNew property to the accepted orderInfos returned, so that callers can discern which orders Mesh already knew about. (#316)

Features ✅

  • Added backup bootstrap nodes provided by the libp2p community
  • Improved log formatting and reduced verbosity in a few cases (#314, #287)
  • Reduced AdvertiseBootDelay for bootstrap nodes
  • Implemented a check that will alerts you when switching to a different Ethereum network ID. (#301) -- special thanks to @hrharder!
  • Made environment variable parsing more generous by automatically removing quotes if needed (#306)
  • Improved tests by adding timeouts and closing resources where appropriate (#310, #309, #308)
  • Increased robustness by removing panics and failing more gracefully (#312)
  • RPC server is now started while block event backfilling is happening under the hood instead of waiting for it to complete (#318)
  • Added a mesh_getStats endpoint which returns a host of useful information about the state of the Mesh node (e.g., number of fillable order stored, number of peers, peerID, etc...) (#322)

Bug fixes 🐞

  • Log messages are no longer incorrectly fired when receiving orders which have already been seen (#286)
  • Fixed a bug where Mesh was still running after the database was closed (#300)
  • Handled Parity "unknown block" error gracefully like we do Geth's (#285)
fberger
published 1.0.6-beta •

Changelog

Source

v1.0.6-beta

This release fixes several bugs:

  • Uninitialized TxHashes map & accidental inclusion of null address txHash in order events (#280)
  • Concurrent read/write issue in OrderWatcher's EventDecoder (#278)
  • Non-unique logging keys causing Elastic Search indexing issues (#275)

It also includes a reduction in the delay before which bootstrap nodes advertise themselves as relays from 15mins to 30sec.

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc