Change log:
Hard fork specific changes:
- Decrease sprint length from 64 to 16
- Increase
baseFeeChangeDenominator
from 8 to 16
New-cli:
- Pruning has been introduced in the new-cli (using the command
bor snapshot prune-state
). The internal mechanism of pruning will work in the same way as it used to with the previous versions. The command snapshot prune-state will be available as a subcommand of the bor binary and will accept relevant flags (e.g. datadir). More details can be found here. - Adds support for a new flag for tweaking the number of tries in memory (
—cache.triesinmemory
, default: 128) (#552). - Updates and improvements in the description and documentation of the flags in new-cli along with their default values in the help command.
Improvements and feature additions:
- GRPC integration for bor and heimdall (#468).
- Improve bor’s interaction with heimdall by using context based cancellation methods in heimdall client and bor consensus (#445).
- More improvements on checkpoint based validations while importing new blocks to control reorgs (#425).
- Improvement and fixes in
eth_getTransactionReceiptsByBlock
rpc call which used to return wrong results when state-sync transactions are present and unit tests for the same (#477). - Replace mutex wherever possible with atomic pointers (introduced in go 1.19) (#446).
- Add new metrics in heimdall client to measure requests (like valid/invalid requests, duration of each request, etc) (#459).
- Add traces (available through open-telemetry tracing) in whole mining process to measure time taken by each component in building a new block to make improvements in future (#429).
- Enable tracing support for state-sync transactions in
debug
requests (#547). - Minor bug fixes and improvements across other modules.
Testing and benchmarking
- Restore geth tests (#436).
- Benchmark mining operations to make it more optimal to use (#439).
- More unit tests for testing the consistency of validator set operations (e.g. handling priority and power of validators in set) in bor consensus (#452).
- e2e tests for bor receipt calculations (#431).
- Unit tests for bor specific filters (#456).
- Unit tests for scenarios when validator comes back online after a crash and tries to reorg (#507).
- Property based tests on transaction pool have been added to make improvements in future (#466).