Skip to content

v1.3.1

Latest

Choose a tag to compare

@davidtaikocha davidtaikocha released this 17 Aug 00:52

alethia-reth v1.3.1

This patch release restores debug_* / trace_* block replay and eth_estimateGas on Unzen networks, and reserves anchor zk gas during transaction-pool preselection. It contains no consensus or fork-schedule changes: block execution and validation are unchanged from v1.3.0.

CLI changes

  • No CLI flag changes in this release.

RPC and simulation fixes

  • Derive the anchor execution context for replay-style RPC execution. debug_traceTransaction, debug_traceBlockByNumber / debug_traceBlockByHash and the trace_* namespace previously failed at the anchor transaction — tx 0 of every Taiko block — with insufficient funds for gas * price + value (-32003), because reth's replay helpers run pre-execution on a throwaway executor and then replay on a fresh EVM that never received the anchor's balance-check exemption. The exemption is now derived on demand for anchor-shaped transactions; the block executor keeps using the authoritative system-call context and still fails loudly without it.
  • Meter each raw-EVM transact against a fresh zk gas budget. eth_estimateGas previously failed with zk gas limit exceeded for any transaction consuming a large share of the 100M Unzen block budget, because reth's estimator re-runs the same transaction on a single EVM (full-gas run, optimistic run, binary search, retry) and every run inherited the in-flight zk gas of the previous ones. The reset clears the meter and the inspector-path step bookkeeping, and is disabled inside TaikoBlockExecutor, which owns its own per-transaction reset/charge/commit bracket.

Block building

  • Reserve 2,000,000 zk gas for the mandatory anchor before tx-pool preselection. taikoAuth candidate lists were selected against the full 100M block budget even though the resulting payload executes the anchor first, so a list could later be truncated by the payload builder. Recent mainnet anchor-only blocks used 1,160,754 zk gas, leaving comfortable headroom under the reserve. The reservation is applied once to the shared selection executor, is a no-op before Unzen, and does not change payload execution, consensus validation, or RPC request/response shapes.

Operator-visible changes

  • eth_callBundle and the intra-block replay helpers now give each transaction a fresh zk gas budget instead of accumulating across the whole simulation, so a bundle whose total zk gas exceeds the block budget is no longer flagged mid-simulation. Consensus paths — payload building, derived-block execution, the prover path, and eth_simulateV1 — all run through TaikoBlockExecutor and are unaffected.

Full changelog: v1.3.0...v1.3.1