github ChainSafe/web3.js v1.2.9
Web3.js 1.2.9

latest releases: v1.7.2-rc.0, v1.7.1, v1.7.1-rc.0...
4 years ago

Hi!

In addition to dependency updates, small bug fixes for the ABI Coder change in 1.2.8, and many documentation improvements, this release extends the transaction event API for more granular tracking of transaction submissions.

These additions were proposed by client engineer @benjamincburns in #3438 and should:

  • make it easier to ensure that transactions are submitted in order (see #1846)
  • make transaction timing in performance benchmarking tools more precise
  • make it easier to monitor the transaction submission process for debugging purposes

The new / changed Promievents are:

Event Description Handler args
sending Fired immediately before transmitting the transaction request, after all intermediate requests such as eth_chainId, eth_estimateGas, or eth_gasPrice have completed. transactionPayload
sent Fired immediately after the request body has been written to the client, but before the transaction hash is received transactionPayload
confirmation Behaves as it does today, but includes the block hash for the most recently mined block in the event handler arguments confNumber, receipt, latestBlockHash

Also of note...

As reported in #3432 by @dmihal, Web3 has long had some interaction issues with provider middle-ware like web3-provider-engine that uses http and provides an event emitter interface. The library has assumed that these packages support subscription endpoints when they don't. This bug should be fixed by PR #3517.

Changelog

Added

  • Add sending and sent events for tx submissions (#3438)
  • Add latestBlockHash arg to confirmation event handler payload (#3438)
  • Make socket providers' max listeners threshold configurable (#3469)
  • Documentation about testing & ci resources for Web3.js development (#3528)
  • More detailed documentation about how to use method.encodeABI (#3549)
  • Integration tests for transactionPollingTimeout (#3513)

Changed

  • Websocket package from @web3-js/websocket@1.0.29 to websocket@1.0.31 (#3371)
  • Upgrade @web3-js/scrypt-shim@0.1.0 to scrypt-js@3.0.1
  • sendSignedTransaction revert handling synthesizes tx without network call (#3457)
  • Make docs grammar more idiomatic, normalize punctuation (#3543)

Fixed

  • Size property de-referencing crash when calling web3.eth.clearSubscriptions (#3527)
  • Abi param encoding for tuple arrays (#3538)
  • account.hashMessage with non-ASCII characters (#3523)
  • Subscription support check in method confirmations loop (#3432)
  • TS bindings for handleRevert added (#3545)
  • Docs: spelling of pre-defined block number (#3539)
  • Docs: missing defaultBlock param option in method.call description (#3558)

Don't miss a new web3.js release

NewReleases is sending notifications on new releases.