Description
This release implements the Pasteur hardfork (precompile updates, StakeHub/Governor system-contract upgrade), adds BEP-675 MEV BidBlock support, and removes the legacy TrieDB (rust-eth-triedb/pathdb) state backend.
Pasteur activation is scheduled for BSC Testnet (Chapel) at timestamp 1784601000 (2026-07-21 02:30:00 AM UTC). Mainnet activation remains unscheduled pending announcement.
⚠️ Note
- TrieDB is no longer supported. The
--statedb.triedbmode has been removed from the codebase; run with the default MDBX backend. (Fastnode mode remains available and is unaffected.) - This release only schedules Pasteur on Testnet (Chapel) — mainnet nodes are unaffected until a mainnet timestamp is announced.
What's Changed
Pasteur Hardfork
- feat(hardforks): define Pasteur hardfork by @chee-chyuan in #375
- feat(evm/precompiles): add Pasteur precompile set + dedup utilities by @chee-chyuan in #376
- feat(evm/precompiles): reject duplicate validators in cometBFT 0x67 at Pasteur by @chee-chyuan in #377
- feat(evm/precompiles): suspend legacy v1 Tendermint precompiles + reprice 0x67 at Pasteur by @chee-chyuan in #379
- feat(system-contracts): Pasteur StakeHub + Governor upgrade by @chee-chyuan in #380
- fix(rpc/eth_config): return null blobSchedule to match go-bsc by @chee-chyuan in #422
- fix(hardforks): schedule Pasteur testnet activation by @chee-chyuan in #428
BEP-675 MEV BidBlock
- feat(miner): BEP-675 block-MEV-info header tagging by @chee-chyuan in #381
- feat(miner): BEP-675 BidBlock builder permission manager by @chee-chyuan in #382
- feat(parlia): BEP-675 BidBlock system-tx validation by @chee-chyuan in #383
- feat(miner): BEP-675 BidBlock types — hash verified against geth by @chee-chyuan in #384
- feat(miner): BidBlockEnabled config + mev_params exposure by @chee-chyuan in #385
- feat(mev): mev_sendBidBlock admission path (BEP-675) by @chee-chyuan in #386
- feat(parlia): BlockTimeUpperCheck for BidBlock pre-seal by @chee-chyuan in #387
- test(miner): verify BidBlock hash with non-empty blob sidecar by @chee-chyuan in #389
- feat(miner): BidBlock blob-sidecar validation + version field by @chee-chyuan in #390
- feat(miner): assemble pre_seal_verify_bid_block by @chee-chyuan in #391
- feat(miner): BidBlock intake queue + admission enqueue by @chee-chyuan in #392
- feat(miner): bind-sign BidBlock system txs by @chee-chyuan in #393
- feat(miner): BidBlock EVM block-context attribute derivation by @chee-chyuan in #394
- test(ef-tests): BidBlock execution harness scaffold by @chee-chyuan in #395
- test(ef-tests): signable BSC test genesis for BidBlock harness by @chee-chyuan in #396
- test(ef-tests): wire BidBlock harness execution environment by @chee-chyuan in #397
- test(ef-tests): trusted local block build in BidBlock harness by @chee-chyuan in #398
- test(ef-tests): BidBlock build/execute round-trip agreement by @chee-chyuan in #402
- refactor(miner): split pre_seal_verify into header + payload halves by @chee-chyuan in #403
- feat(miner): add simulate_bid_block (BEP-675) by @chee-chyuan in #404
- feat(miner): tag BidBlock header with MEV info in simulate by @chee-chyuan in #405
- test(ef-tests): BidBlock execution-gate round-trip by @chee-chyuan in #406
- feat(miner): BidBlock consumer loop — pop, simulate, store best by @chee-chyuan in #407
- feat(miner): BidBlock build-cycle — execute, verify root, select by @chee-chyuan in #408
- feat(miner): revoke dishonest BidBlock builders + configured vanity by @chee-chyuan in #409
- fix(mev): add missing CheckPending quota and bidMustBefore timing to admit_bid_block by @chee-chyuan in #411
Other
- chore: remove triedb (rust-eth-triedb/pathdb) state backend by @chee-chyuan in #371
- perf(miner): adaptive root-reserve + per-attempt sparse-trie sink by @constwz in #418
Full Changelog: v0.0.10-beta...v0.1.0