Tags or hashes:
monad-bft(consensus): tagv0.14.0(2d487de0)monad(execution): tagv0.14.0(54e132cfa)
Highlights
- RPC: ~400ms faster receipt queries — Receipts now tracked in chainstate buffer and available at Proposed time, eliminating trie lookups that added ~400ms on v0.13.0.
- RPC:
eth_fillTransaction— New endpoint to get a fully populated transaction (gas, nonce, etc.) without signing. Useful for wallets and dapps preparing transactions. - RPC: Websocket notifications on proposed blocks —
newHeadsandlogssubscriptions now emit on proposed blocks instead of voted, reducing notification latency for real-time applications.
Notable RPC/SDK changes
- [RPC]
eth_fillTransactionRPC endpoint- Ref: monad-bft PR #2662, PR #2932
- PR #2932 fixes several inconsistencies: preserves user-provided
maxFeePerGaswhen sufficient, treats0x0gas/fee as missing, allows gas fill for failed txs, rejects blob-style requests, handles EIP-2930 legacy-fee correctly
- [RPC] Use proposed blocks in websocket notifications
- Ref: monad-bft PR #2817
- Websocket
newHeadsandlogsnow emit on proposed blocks (earlier than voted)
- [RPC] Consolidate triedb usage to ChainState
- Ref: monad-bft PR #2876
- [RPC] Transaction receipts in chainstate buffer (~400ms faster receipt queries)
- Ref: monad-bft PR #2809, PR #2818
- [RPC] Simplify RPC block height buffer mapping
- Ref: monad-bft PR #2812
- [RPC] Use ChainStateBuffer for RPC logs
- Ref: monad-bft PR #2840
- [Execution] Add execution events Rust SDK with path resolution and descriptor info
- [Execution] Native transfer tracer scaffolding (not yet wired to RPC)
Notable robustness changes
- [Execution] Remove ASSERT that relied on suboptimality of reserve balance accounting
- [Consensus] RLP cleanup and stricter decoding enforcement
- Ref: monad-bft PR #2785
- [Consensus] Fix zero-length allocation leak in triedb sync read FFI
- Ref: monad-bft PR #2816
- [Consensus] Fix dataplane ban expiry TOCTOU underflow
- Ref: monad-bft PR #2851
- [Archive] Fix S3 client stuck after sustained outage
- Ref: monad-bft PR #2823
- [Archive] Relax checker replica matching for AWS args
- Ref: monad-bft PR #2943
- [Execution] Fix runloop_monad off-by-one when nblocks=1
- [Execution] Fix RangedGetMachine skipping keys past min prefix
- [Execution] Fix minor RLP errors, union type-punning, event padding bits
- [Execution] Fix CLI crash on unexpected arguments
- [Execution] Fix node writer reentrance causing non-contiguous writes
- [Execution] Fix undefined behavior in RLP encoding with empty inputs
- [Consensus] Panic on startup for invalid redundancy factor
- Ref: monad-bft PR #2899
- [Consensus] Fix ledger-tail: read author_address from persisted peers
- Ref: monad-bft PR #2888
- [RPC] Fix blocktags in
eth_getLogs- Ref: monad-bft PR #2804
- [Consensus] Exclude uninvited candidates when forming secondary group
- Ref: monad-bft PR #2874
- [Execution] Fix dangling pointer in events SDK, executor count, predecessor tx wait
- [Execution] Stricter RLP decoding: error for oversized bytes32
Notable performance changes
- [Consensus] Cache all successful Raptorcast decoding outcomes
- Ref: monad-bft PR #2887
- [Consensus] Weighted fair queue for transaction ingestion
- Ref: monad-bft PR #2828
- [Consensus] Gas-based peer scoring
- Ref: monad-bft PR #2829
- [Consensus] XOR decoder buffers in AVX2 chunks
- Ref: monad-bft PR #2863
- [Consensus] Lazy decoder for BLS signature
- Ref: monad-bft PR #2861
- [Execution] Improve fast list compaction offset calculation with hysteresis
- [Execution] Compaction offset refactor and runtime header performance optimizations
Notable internal changes
- [Consensus] Lightweight UDP framing protocol (leanudp)
- Ref: monad-bft PR #2827
- [Consensus] Support direct UDP port in peer discovery
- Ref: monad-bft PR #2842
- [Consensus] Add vote-delay readiness metrics
- Ref: monad-bft PR #2872
- [Consensus] Support larger Merkle trees
- Ref: monad-bft PR #2822
- [Consensus] Wireauth: GC idle timer, handshake buffering, split rate limits by cookie validity
- Ref: monad-bft PR #2708, PR #2695, PR #2778
- [Archive] Support per-source AWS profile with isolation
- Ref: monad-bft PR #2865
- [Consensus] ⚠️ Make auth UDP fields in
node.tomlrequired- Ref: monad-bft PR #2891
- [Consensus] Lower max
raptor10_fullnode_redundancy_factorfrom 7 to 3- Ref: monad-bft PR #2852
- ⚠️ If your
node.tomlhasraptor10_fullnode_redundancy_factor> 3, you must lower it before upgrading
- [Ops] ⚠️
monad-ledger-tail: rename--node-config-pathto--peers-path- Ref: monad-bft PR #2916
- [Ops] Change systemd services from
Restart=notoRestart=always- Ref: monad-bft PR #2860
- [Execution] Refactor chain: remove
static_validate_headerandvalidate_transactionvirtual methods - [Execution] Add eventwatch example program for execution events
- [Consensus] Auth socket with codec abstraction, direct point-to-point routing
- Ref: monad-bft PR #2897, PR #2896
- [Consensus] Raptorcast: remove legacy packet parser
- Ref: monad-bft PR #2864