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_codeto reuseIntercodeobjects -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