Important bug fix update
This point release contains an important fix for a state hash collision and should be applied as fast as possible.
This update also contains a couple of smaller features like a basic monitoring API.
The bug
The bug occurs due to a rare hash collision in the merkle state tree. Unfortunately, it silently corrupts the database in a non-recoverable way. This means that all databases should be considered suspect and you should re-sync from scratch after updating. To make this process easier, we have provided snapshots for both mainnet and testnet.
While this bug has been present in all versions of pathfinder, it only became possible to trigger this bug in the past week on StarkNet.
Naming change
You may have noticed that we have dropped the -alpha suffix from this release. This was mistakenly used in our prior releases due to a misunderstanding of how this semantic versioning naming worked. According to semver it is meant to indicate a pre-release of that version i.e. v0.1.1-alpha is a pre-release and one should expect a non-alpha v0.1.1 to follow at some stage. However, we simply wanted to use it to indicate that pathfinder is still in alpha -- this is however adequately indicated by the 0.x.y version number already.
We have therefore decided to drop the -alpha suffix in order to cause less confusion :)
Added
Monitoring endpoint
You can now enable a monitoring endpoint using --monitor-address IP:PORT. This adds /health and /ready queries which can be used to monitor the health and readiness of your pathfinder node. For more information see our readme.
Changed
- No longer store leaf nodes. This is a minor (1-2%) reduction in database size.
Fixed
- Minimum Rust version by @haritowa in 506
- Rare database migration bug for the events schema
- Less rare database migration bug involving
max feefor historical blocks
New Contributors
Full Changelog: v0.3.0-alpha...v0.3.1