Skip to content

@ethereumjs/trie v6.1.0

Compare
Choose a tag to compare
@holgerd77 holgerd77 released this 08 Feb 16:10
· 339 commits to master since this release
b258fd9

Extended EIP-1186 Proof Functionality

This release complements on EIP-1186 proof functionality, see PR #2949 and #3267.

A new static Trie.createFromProof() constructor now allows for an easier instantiation of a trie given an EIP-1186 conformant proof, which can be created from an existing trie using the trie.createProof() method.

There are also new static methods for the verification of proofs, namely Trie.verifyProof() to verify a proof for a single key as well as Trie.verifyRangeProof() for a range of keys.

Additionally all proof related functionality is now better documented and there are README examples allowing for an easier entry to the topic.

Also note that along with this release round there is additional higher level proof functionality available shipped within the @ethereumjs/statemanager package.

WASM Crypto Support

With this release round there is a new way to replace the native JS crypto primitives used within the EthereumJS ecosystem by custom/other implementations in a controlled fashion, see PR #3192.

This can e.g. be used to replace time-consuming primitives like the commonly used keccak256 hash function with a more performant WASM based implementation, see @ethereumjs/common README for some detailed guidance on how to use.

Self-Contained (and Working 🙂) README Examples

All code examples in the EthereumJS monorepo library README files are now self-contained and can be executed "out of the box" by simply copying them over and running "as is", see tracking issue #3234 for an overview. Additionally all examples can now be found in their respective library examples folder (in fact the README examples are now auto-embedded from over there). As a nice side effect, all examples are now run in CI on new PRs and so do not risk getting outdated or broken over time.

Other Changes

  • More modern async trie iteration with web streams (see new createAsyncReadStream() method), PR #3231
  • Dependency Updates, PR #3212