Skip to content

Statediffing service v0.0.2 at v1.9.11

Pre-release
Pre-release
Compare
Choose a tag to compare
@i-norden i-norden released this 21 May 20:54

This is an internal release to enable us to work with the statediffing code using go modules. This release is rebased on top of master branch go-etheruem v1.9.11. Notice that the release tag has been updated to directly track the base geth version and also provide versioning for the statediffing code.

Changes to the statediff builder:

  • Fix major bug in diffing, due to mapping nodes to common.BytesToHash(nodePath)
  • Adjust to properly handle account and storage slot deletions and their side-effects
  • Enable filtering of storage leaf keys in storage tries in addition to the address filtering in the state trie
  • Enable turning on/off intermediate node inclusion at both the state and storage level
  • Represent said deletion events with a new "Removed" diff node type
  • Add new builder method for extracting entire state at a given height
  • Create new unit tests on mainnet block data
  • Expand previous unit tests to include tests for account and storage slot removal and their side-effects, new filtering, and more

Changes to the statediff service and api:

  • Fix bug that wouldn't allow StateDiffAt requests at block 0
  • Statediff builder params are no longer set at node initialization through the CLI, instead subscribers/requesters provide their own params through the ws and http endpoints
  • Add new http endpoint (StateTrieAt) that allows requester to fetch all state and storage trie nodes at a provided height
  • Clients can specify what other block data to include in the state object payload through the params they provide: block (header, uncles, and tx), receipts, and/or total difficulty