github category-labs/monad-bft v0.16.2

6 hours ago

⚠️ Do not upgrade your mainnet or testnet node until you receive an official announcement.
Upgrades are communicated via official channels. See upgrade instructions for details.

v0.16.2

Tags or hashes:

Highlights

  • Raptorcast v1 publish — nodes now publish proposals in the v1 raptorcast wire format on both
    the primary and secondary paths.
  • JSON-RPC error codes corrected across eth_call, eth_estimateGas, eth_simulateV1,
    debug_* and txpool_*.
  • Raptorcast throughput improved ~16.7% under multi-target load.

Notable protocol changes

  • [Consensus] Raptorcast advances to the accept_both_publish_v1 stage; nodes publish proposals
    in the v1 wire format on both primary and secondary paths.
  • [Consensus] AdvanceRound is published to full nodes via broadcast rather than secondary
    raptorcast, avoiding a collision with the proposal commitment under v1.

Notable RPC/SDK changes

  • [RPC] Fix JSON-RPC error codes and messages returned by the call, simulate, debug, txpool and
    websocket handlers.
  • [RPC] Fix zero-fee eth_calls — a zero maxFeePerGas is no longer raised to the base fee,
    matching geth and reth.
  • [RPC] Fix EIP-1898 compatibility for BlockTagOrHash.
  • [RPC] eth_createAccessList now accepts state overrides.

Notable robustness changes

  • [Consensus] A validator publishes only the first accepted proposal to its full nodes, so an
    equivocated proposal is no longer forwarded.
  • [RPC] Concurrency limiter for eth_feeHistory, bounding memory on large block ranges.
  • [EVM] Runloop fix for when the node resets to the start block number.

Notable performance changes

  • [Consensus] Raptorcast avoids redundant wire-auth lookups in the authenticated send path —
    15,796 to 18,427 chunks/s.

Notable internal changes

  • [Node ops] Nodes can opt out of serving statesync requests. Optional node.toml setting,
    default unchanged.
  • [Node ops] Update the openssl crate to 0.10.81, closing seven advisories. Reached only
    through monad-rpc with a MongoDB archive backend configured; monad-node does not link it.
  • [EVM] Seed Address, bytes32 and StorageKey hashing per process, so colliding keys cannot
    be precomputed against node-local maps.
  • [EVM] Replace silkpre's ECRECOVER precompile with a vendored monad_recover_address on system
    libsecp256k1. Adds a libsecp256k1-dev build dependency outside the published Docker images.
  • [EVM] Allow dual-db commit in runloop_monad_ethblocks where secondary_db is optional.
    • Ref: cherry-pick from staging-v0.16.1 (df14e67bb)
  • [EVM] Consolidate dual-db mirroring with for_each_db.
    • Ref: cherry-pick from staging-v0.16.1 (d836afc18)

Full Changelog: v0.16.1...v0.16.2

Don't miss a new monad-bft release

NewReleases is sending notifications on new releases.