Developer Preview – 2025-07-01
·
454 commits
to devel
since this release
🚀 Features
- metadata:
- New metadata account storage with ownership model for evm/svm/wasm runtimes (@dmitry123)
- Re-implement svm storage using metadata API (@bfday)
- genesis-upgrade:
- Add update account code by auth feature (@b33ngo)
- wasm-runtime:
- Add using rwasm with runtime (@dmitry123)
- eip2935:
- EIP-2935 implementation, e2e tests, and cleanup (@bfday)
- erc20:
- Native wasm-driven universal ERC20 token standard with plugins support (@bfday)
- Added processing of ERC20_MAGIC_BYTES into make_create_frame (@bfday)
- Warmup precompiles before benchmarking (@bfday)
- Additional tests and optimizations, plugin disable, bug fixes, LE endianess switch, error handling, modularization, benchmarking, better performance, reduced size, and native ser/deser (@bfday)
- builtins-fuel:
- build:
- svm:
- Unified block env creation, block propagation, balance settlement, debug_log split, contract test coverage, import optimizations, extended code size, error/output stringification, warnings cleanup, test toggles, and more integration with AddrType (@bfday)
- runtime/transaction:
- Add method for resetting call id; reset call id before each transaction (@xozzslip)
- wasmtime:
- Migrate system builtins to the new version of rwasm with updated context management system (@dmitry123)
- Use unified wasmtime compilation config, migrate runtime to the new rwasm and updated caller, integrated new wasmtime execution model, optimized running evm e2e testing suite, temporarily disabled failing tests (@dmitry123)
- New rwasm with new wasmtime compiler & executor (@dmitry123)
- test:
- Multicall tests now enabled with new Wasmtime-based implementation (@xozzslip)
🐞 Bug Fixes
- rwasm/vm/stack-overflow:
- Investigate and fix stack overflow issues, update to fixed rwasm version (@dmitry123)
- revm:
- Run e2e tests with wasmtime enabled, fix artifact movement and CI versioning for sub-crates (@dmitry123)
- codec/metadata:
- Migrate codec to BufMut, fix metadata create syscall input size (@dmitry123)
- svm:
- Fix protected storage slot verification, block propagation, max code size logic, warnings, missing docs, and unused structs (@dmitry123, @bfday)
- runtime/rwasm:
- Fix reading/writing stack params for fuel system calls, gas calculation for missing memory grow ops, support shared buffer for rwasm calls, fix syncing sp pointer between system calls (@dmitry123)
- deps/build:
- Update revm, fix alloy deps compilation, fix missing SDK features in tests (@dmitry123, @bfday)
- misc:
- Fix incorrect input size for metadata create syscall, mark fuzz tests ignored, improve lcov merging, update lcov gen and makefile targets, prevent makefile crash on wasm2wat conversion failure (@dmitry123, @bfday)
🛠 Refactoring
- metadata/contract:
- Metadata syscalls and fix missing keccak256 native mapping, move contract into one crate, fix eip2935 exit error (@dmitry123)
- erc20/build:
- ci/infrastructure:
- Switch runners, update pipeline, submodule fetch, artifact cleanup, increase timeouts, clean space before builds (@dmitry123, @d1r1)
🧹 Chores
- deps/actions:
- Bump docker/build-push-action, actions/delete-package-versions (@dependabot)
- Upgrade revm, remove legacy storage and preimage syscalls, derive Default for BlockContextV1, enable wasmtime for e2e tests, rename testing folders, tweak exit/panic interfaces (@dmitry123)
⚡️ Performance
- tests:
- Replace genesis caches with precompiled data, speeding up e2e test execution by 5–6x (@dmitry123)
What's Changed
- feat(rwasm): migrating rwasm to the latest version by @dmitry123 in #110
- feat(svm): system precompiles for svm support (mvp) by @bfdays in #111
- docs: update broken doc link in storage.md by @JayeTurn in #109
- feat(build): add docker-based reproducible builds with artifact generation by @d1r1 in #112
- feat(new-wasmtime): new rwasm with new wasmtime compiler & executor by @dmitry123 in #118
- ci: clean space before builds by @dmitry123 in #120
- feat(erc20): native wasm-driven universal ERC20 token standard with plugins support by @bfdays in #115
- feat(eip2935): eip2935 implementation by @bfdays in #117
- feat(builtins-fuel): add fuel builtins for imported functions by @xozzslip in #119
- ci: change default runner by @dmitry123 in #124
- feat(genesis-upgrade): add update account code by auth feature by @b33ngo in #116
- chore(deps): bump actions/delete-package-versions from 4 to 5 by @dependabot in #113
- chore(deps): bump docker/build-push-action from 5 to 6 by @dependabot in #114
- feat(metadata): new metadata account storage with ownership model for evm/svm/wasm runtimes by @dmitry123 in #125
- refactor(sdk): change interfaces for exit/panic methods by @dmitry123 in #127
- feat(svm): re-implement svm storage using metadata api by @bfdays in #126
- fix(rwasm): investigating issue with stack overflow by @dmitry123 in #128
- feat(runtime): add method for resetting call id by @xozzslip in #129
New Contributors
Full Changelog: v0.2.1-dev...v0.3.0-dev