Skip to content

Releases: matter-labs/foundry-zksync

foundry-zksync Nightly (2024-08-15)

15 Aug 00:32
5c7b918
Compare
Choose a tag to compare
Pre-release

Other

  • fix: Change branch from workflows to main (#520)
  • feat: Foundry Upstream support 62cdea8 (#493)
  • test(zk): migrate factory tests & script (#516)
  • test(zk): Migrate ownership zksync tests to cargo test (#523)

foundry-zksync Nightly (2024-08-06)

02 Aug 00:33
bde6d97
Compare
Choose a tag to compare
Pre-release
  • No changes

v0.0.3-alpha.1

22 Jul 15:57
d51c5ef
Compare
Choose a tag to compare

What's Changed

Breaking Changes

  • Deprecated support for deploying missing libraries. The feature was very fragile from the beginning and required considerable resources to be able to keep up with foundry's fast track updates. The current recommended way would be to run the forge create commands manually as they are printed in the output. Alternatively the known deployed libraries can be specified in foundry.toml. There is an ongoing investigation on how to re-introduce this functionality in a way that is sustainable in the long run.

Full Changelog: nightly-ab00f2ea4a6bd2100b7fdb5f16687fd078a1f6f3...v0.0.3-alpha.1

v0.0.2-alpha.aave-2

22 Jul 10:15
825ca04
Compare
Choose a tag to compare
v0.0.2-alpha.aave-2 Pre-release
Pre-release

What's Changed

  • fix: resolve hashes always enabled by @nbaztec in #394
  • test: add case for contracts w/ libraries by @Karrq in #387
  • fix: use journaled state to read storage by @nbaztec in #393
  • chore: add .zksolc-libraries-cache to .gitignore by @elfedy in #397
  • feat: always get logs after zkvm execution by @Karrq in #396
  • fix: add support for SELFBALANCE opcode by @Karrq in #395
  • feat: compile zksync via foundry-compilers by @elfedy in #368
  • docs: add notes solc version compatibility with zksolc by @elfedy in #399
  • fix: use consistent chainId in zkEVM by @nbaztec in #398
  • chore: remove contracts_to_compile from CompilerArgs by @elfedy in #401
  • chore: update readme by @dutterbutter in #376
  • fix: Override blockhash in zk context by @Jrigada in #400
  • fix: Add handle expect emit on create by @Jrigada in #402
  • feat: add zk-solc-path option by @elfedy in #406
  • fix: allow install script in CI by @nbaztec in #370
  • chore: add assert for bytecode word-size in etch by @nbaztec in #410
  • feat: batch large factory_deps by @nbaztec in #412
  • feat: create docker container by @ETeissonniere in #407
  • chore: adds aave-governance-v3 test suite to CI by @HermanObst in #413
  • chore: update foundry-compilers by @elfedy in #414
  • chore: remove aave-governance-v3 test suite to CI by @Karrq in #417
  • chore: update LATEST_SOLC const by @Karrq in #419
  • chore: update foundry-compilers by @elfedy in #425
  • refactor: only build/create evm or zksync by @Karrq in #421
  • refactor: improve foundry_zksync_core::vm::runner by @Karrq in #416
  • chore: update zksync deps by @nbaztec in #404
  • docs: update zksync links by @Karrq in #432
  • refactor(config): split zk-related configuration by @Karrq in #430
  • docs: zksync config by @Karrq in #437
  • refactor: only script/test evm or zksync by @Karrq in #435
  • feat(create): empty constructor args warning by @Karrq in #436
  • fix: Use zk_output to run Invariant tests by @Jrigada in #441
  • feat(verify): zksync contract verification by @Karrq in #440
  • fix: batch factory deps for broadcastable tx by @Karrq in #455
  • feat: disable batch factory deps by default by @nbaztec in #476
  • fix(zk): propagate env during transact by @Karrq in #477
  • fix: wrong gas parameters while broadcasting tx in script by @HermanObst in #473

Full Changelog: v0.0.2-alpha.aave-1...v0.0.2-alpha.aave-2

foundry-zksync Nightly (2024-07-15)

04 Jul 00:32
ab00f2e
Compare
Choose a tag to compare
Pre-release
  • No changes

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