This release of Bor, version v2.5.2, introduces the code necessary for the Madhugiri Hard Fork on the mainnet.
Madhugiri Hard Fork Activation:
The hard fork is scheduled for Tuesday, Dec 9th at 10:00 UTC at block 80084800.
The main components of the hard fork include:
- PIP-74: Implementation for the inclusion of state sync transactions.
- Geth-related EIPs: Includes EIP-7823, EIP-7883, and EIP-7825. Notably, the gas for EIP-7825 is set to 33,554,432, which differs from the upstream Geth value.
In addition to the hard fork preparations, this release contains several important improvements and fixes:
New Feature for Miners:
A new flag, --allow-gas-tip-override, has been introduced. This allows block producers to set a gas tip value different from the default (25 gwei), which can help in mining transactions priced near the default tip that might otherwise bloat the pool.
Key Fixes and Improvements:
- Consensus Stability: The gas cap on system transactions has been lifted to prevent potential consensus failures that could occur in rare cases.
- Stateless Node Fixes: The transaction indexer is now disabled in stateless mode to resolve issues with hanging goroutines caused by pruned blocks.
- State-Sync Transaction Handling: Fixes have been implemented for marshalling/unmarshalling state-sync transactions in block data responses. Another fix corrects the `EffectiveGasTip` for these transactions to prevent negative rewards in `eth_FeeHistory` RPC calls.
- Improved Observability: New metrics have been added to the txpool to provide better insight into lock contention and a node's performance, particularly when adding new transactions.
- Thread Safety: A mutex has been added to the historyReader in triedb/pathdb to ensure thread-safe access.
This release contains the code to activate the Madhugiri HF for mainnet. It mainly provides the implementation of PIP-74 (state sync txs inclusion), and the changes from geth related to EIP-7823, EIP-7883 and EIP-7825 (with gas set to 33'554'432 instead of 16'777'216 as done upstream). Furthermore, it contains several improvements and bug fixes. Timeline for the HF: - Tuesday, Dec 9th at 10.00 UTC for Madhugiri (block `80084800`) ## What's Changed * Disable txn indexer in stateless mode by @cffls in https://github.com/0xPolygon/bor/pull/1868 * chore: bump kurtosis-pos by @kamuikatsurgi in https://github.com/0xPolygon/bor/pull/1870 * consensus, internal: don't limit gas cap for system txns by @manav2401 in https://github.com/0xPolygon/bor/pull/1865 * fix: txindexer in statless mode by @kamuikatsurgi in https://github.com/0xPolygon/bor/pull/1872 * miner: add more context to commit interrupt logs by @manav2401 in https://github.com/0xPolygon/bor/pull/1886 * chore: make function comment match function name by @tinyfoolish in https://github.com/0xPolygon/bor/pull/1879 * core/types: handle state-sync tx in marshalling/unmarshalling by @manav2401 in https://github.com/0xPolygon/bor/pull/1890 * triedb/pathdb: add mutex for thread-safe access in historyReader by @bbaktaeho in https://github.com/0xPolygon/bor/pull/1875 * (feat): allow miner gas tip override by @manav2401 in https://github.com/0xPolygon/bor/pull/1889 * Merge master to develop by @marcello33 in https://github.com/0xPolygon/bor/pull/1892 * core: fix EffectiveGasTip for SSTxs by @marcello33 in https://github.com/0xPolygon/bor/pull/1891 * Deps bump by @marcello33 in https://github.com/0xPolygon/bor/pull/1894 * core/txpool/legacypool: add metrics in txpool for more observability by @manav2401 in https://github.com/0xPolygon/bor/pull/1893 * core/txpool/legacypool: fix metric reporting in txpool.add by @manav2401 in https://github.com/0xPolygon/bor/pull/1895 * Removing master branch trigger by @djpolygon in https://github.com/0xPolygon/bor/pull/1896 * chore: fix goreleaser-cross by @marcello33 in https://github.com/0xPolygon/bor/pull/1897 * v2.5.2 by @marcello33 in https://github.com/0xPolygon/bor/pull/1906 ## New Contributors * @tinyfoolish made their first contribution in https://github.com/0xPolygon/bor/pull/1879 **Full Changelog**: https://github.com/0xPolygon/bor/compare/v2.5.1...v2.5.2