Skip to content

[email protected]

Pre-release
Pre-release
Compare
Choose a tag to compare
@github-actions github-actions released this 09 Apr 16:45
e148565

📋 Summary

The latest version of [email protected], introduces a significant architectural overhaul compared to its previous releases, enhancing its compatibility and integration with zkSync environments. Here's a summary of the key changes:

  • Compilation: Utilizes solc and zksolc for bytecode generation, managed under DualCompiledContract via an Executor and CheatcodeTracer for improved debugging.
  • EVM Interactions: Maintains standard EVM calls with adaptations for address.balance and block.timestamp/block.number to source data from zkSync's storage, ensuring consistency.
  • Transaction Handling: Transforms CALL and CREATE operations into zkSync transactions, including bytecode retrieval, nonce management, and EOA marking to align with zkSync protocols.
  • Execution and State Management: Processes transactions through the zkSync VM, applying state changes to journaled_state, with results communicated back for verification.
  • Integration and Usage: Enables zkSync features in forge with the --zksync flag and in tests via vm.zkVm(true), phasing out zkforge and zkcast for a unified toolset.

This update streamlines zkSync environment development, offering simplified command usage and enhanced compatibility.

🐛 Bug Fixes:

  • fix: make ci work #308
  • fix: use tx_nonce for transactions, handle multiple deploys for same bytecode #307
  • fix: forge build, forge create, forge script and smoke tests #299
  • fix: use real caller for zk transactions #293

✨ New Features:

  • feat: add manual factory deps #310

⚠️ Breaking Changes:

  • This release includes the re-architected implementation and considered a breaking change from previous releases.

📜 All Changes

  • chore: remove prints #305

⭐ Contributors

  • Agustin Aon
  • Dustin Brickwood
  • Juan Rigada
  • Karrq
  • Nisheeth Barthwal
  • Herman Obst Demaestri