github category-labs/monad v0.12.8

8 hours ago

monad (execution) v0.12.8 Changelog

Tag: v0.12.8

Protocol Changes

Prep for MONAD_NINE

MIP-3: Linear Memory Pool

  • Combine EVM memory regions into one transaction-wide memory region
  • VM memory pool implementation
  • Ref: cc6f45669, c54fc3a73, 5562f4f1c

Reserve Balance Precompile Scaffolding

  • Reserve balance precompile scaffolding for MIP-4
  • Ref: aebac934b

Osaka Fork Preparation

  • Activate Osaka in MONAD_NEXT
  • Ref: 8f8564b8b

Robustness Fixes

  • Fix expmod padding crash - cbbd825b4
  • Avoid potential UB on empty precompile input - 48f6d8276
  • Don't recover high-s authorities - c54fc3a73
  • statesync client: only copy state and code to current to avoid stale data - 5130f0e84
  • Move version erasure logic to write_new_root_node() - 0f6ed8e5f

Performance Improvements

  • Undefer cold charge in storage - 3515ad320
  • Track stack offset to prevent store forwarding stalls - 5562f4f1c
  • Change State::set_code to reuse Intercode objects - b1a2d06a3
  • Improve BYTE instruction performance - e5005b1f7, 40500e8d4, d9fe40661
  • Facility to lazily construct SharedIntercode - 9630d662d
  • Replace mult with shift in BYTE interpretation - d9fe40661

Tracers

  • Add test for prestate/statediff tracers on system transactions - 2431631c5
  • Add missing state tracer for system txns - 4bae41cda

Events / SDK

  • Add snapshot support to eventwatch.c - 9dc87e58d
  • Add zstd snapshot utility functions - a0d078b40
  • Refactor exclusive writer detection - 99e674c56
  • Add unit tests for event snapshot files - 6c73be142
  • Prepare libmonad_event for out-of-project builds - b2165f135

Internal / Refactoring

  • Refactor MonadChainContext & remove revert closure - db66c77a4
  • Use [[gnu::cleanup]] instead of goto in events - a0e39e136
  • Pull out state overrides - 03fb45873
  • Fix LLVM build following EVM memory changes - f035992f2
  • Remove code and code_size from evmc_message - 27603cab3
  • MPT interface refactoring - 438fc2d14, 3159f36cb, 4e4539986, 56ea0272a
  • Bump spec tests - 3e5a6c636
  • Remove thread_safe_lru - 2c506b32a

Build / Tooling

  • monad_core will also link to zstd - 1149f0dbe
  • Skip tests in debug - 021d7d78f
  • .gitignore JetBrains IDE files in nested directories - d22abd656
  • Support table formatting of microbenchmark results - 7b5b405b7
  • ethereum_test improvements - 8c5e039a9
  • Add store forwarding stall microbenchmark - f7c60ac9d

Don't miss a new monad release

NewReleases is sending notifications on new releases.