Skip to content

Releases: matter-labs/foundry-zksync

foundry-zksync Nightly (2024-06-04)

04 Jun 00:32
d94bab2
Compare
Choose a tag to compare
Pre-release

Other

  • fix: Add handle expect emit on create (#402)

foundry-zksync Nightly (2024-05-23)

15 May 00:31
13497a5
Compare
Choose a tag to compare
Pre-release
  • No changes

[email protected]

09 Apr 16:45
e148565
Compare
Choose a tag to compare
[email protected] Pre-release
Pre-release

📋 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

[email protected]

26 Mar 15:51
4307bfb
Compare
Choose a tag to compare
[email protected] Pre-release
Pre-release

📋 Summary

Note: This release was made from main branch. We are currently in the process of a preparing a new release from dev that introduces new re-architected approach for Foundry support.

🐛 Bug Fixes:

  • fix: flags for compiling with globset (#284)
  • fix: update outdated links to external resources (#206)
  • fix: script broadcast error and request memoization on zksolc (#269)

✨ New Features:

  • feat: prank cheatcode (#265)
  • feat: add deploy and rebuild on missing library dependencies (#274)
  • feat: allow seamless switching between evm and zk-vm (#271)
  • feat: update cheatcodes-test CI to use local era-test-node (#257)
  • feat: Add contracts to compile flag to zksolcconfig (#253)

⚠️ Breaking Changes:

  • TBD

📜 All Changes

  • feat: prank cheatcode (#265)
  • fix: flags for compiling with globset (#284)
  • fix: update outdated links to external resources (#206)
  • feat: add deploy and rebuild on missing library dependencies (#274)
  • feat: allow seamless switching between evm and zk-vm (#271)
  • chore: always upload era-test-node logs in ci (#273)
  • fix: script broadcast error and request memoization on zksolc (#269)
  • chore: update zksolc to latest 1.3.23 (#264)
  • chore: add explicit rust installation instructions to readme (#263)
  • feat: update cheatcodes-test CI to use local era-test-node (#257)
  • chore: adds zksolc 1.3.22 (#250)
  • feat: Add contracts to compile flag to zksolcconfig (#253)

⭐ Contributors

[email protected]

08 Feb 00:36
98865f2
Compare
Choose a tag to compare
[email protected] Pre-release
Pre-release

📋 Summary

Welcome to the first release of our foundry-zksync, enabling Foundry tools for Solidity development on zkSync Era. This alpha version offers features for compiling, deploying, testing, and interacting with smart contracts, with ongoing development to enhance functionality.

Please note that foundry-zksync is still in its alpha stage. Some features might not be fully supported yet and may not work as intended. However, it is open-sourced, and contributions are welcome!

🐛 Bug Fixes:

  • fix: improve script path detection by @aon in #243
  • fix: update compiler setup to account for zksolc settings and consistent with test / build cmds by @nbaztec, @Jrigada in #244
  • fix: zkforge script repeated deploys by @nbaztec in #242
  • fix: allow deployment in scripting by @Karrq, @nbaztec, and @MexicanAce in #238
  • fix: Log matching by @Jrigada in #237
  • fix: zkforge script support by @Karrq in #211
  • fix: persist bytecodes on fork by @nbaztec in #231
  • fix: resolve issue with setting zksolc configuration values in .toml and update readme / docs by @dutterbutter in #225
  • fix: adds optimization setting usage to handle large contract sizes and zksolc v1.3.21 by @dutterbutter and @nbaztec in #218
  • fix: record modified storage in inspector by @nbaztec in #221
  • fix: improve system context storage retrieval by @aon in #216
  • fix: addresses compilation paths issue and correctly compiles all project files by @dutterbutter in #210
  • fix: add back removed zksync zkcast subcommands by @dutterbutter in #254

✨ New Features:

🧺 Chores

📜 All Changes

📥 Binaries

System Architecture Binary
x86_64 foundry-zksync-v0.0.1-alpha.1-x86_64-unknown-linux-gnu.tar.gz
x86_64 [foundry-zksync-v0.0.1-alpha.1-x86_64-apple-darwin.tar.gz](https://github.com/matter-labs/foundry-zksync/releases...
Read more