Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Zksolc version 1.3.14 support #123

Closed
wants to merge 6 commits into from
Closed

Conversation

sammyshakes
Copy link

@sammyshakes sammyshakes commented Sep 29, 2023

Enhancements to ZkSolc Implementation

This PR brings about refinements to the ZkSolc handling, ensuring better maintainability and introducing support for newer versions. Here's a breakdown of the modifications:

1. Code Refinements in zksolc.rs :

  • Argument Passing Refinement: Removed the direct passing of contract_path to the command.

    This was throwing error from zksolc v1.3.14.

  • Filename Extraction: Adopted a more direct approach to extracting the filename from contract_path.

    This new approach is not only more concise but also reduces potential points of failure in the filename extraction process.

2. Updates in zksolc_manager.rs :

  • Enum Enhancements: Introduced new variants V1313 and V1314 to the ZkSolcVersion enum.

    These additions ensure that our system is compatible with these newer versions.

  • Default Version Update: The DEFAULT_ZKSOLC_VERSION constant is now updated to "v1.3.14".

    This reflects our commitment to staying updated with the latest stable versions.

  • Version Parsing: The parse_version function and the implementation of the ZkSolcVersion enum have been augmented to recognize and handle the new versions.


Request: Kindly go through the changes and share your feedback. Once reviewed, we can proceed with the merging process.

mm-zk and others added 6 commits August 10, 2023 06:36
Re-applying all the zksync speicific changes on top of the fresh fork

* chore(security): add workflow for leaked secrets monitoring

* Implement zk-build, zk-create, zk-cast, & zk-deposit cmds

* improve the error message for missing zk compiler output (#82)

Co-authored-by: Tamer Tas <tmrtx@noreply>

* Zkutils comments (#81)

* zk_utils comment

* update developer comments for zkutils and zksolc

* update doc

* Update README.md

* Update README.md

* Added troubleshooting section to README. (#84)

Better error handling for failed transactions

* Added better error messages when file or contract name is not correct (#86)

* updated cargo lock to use the newer version of zksync era (#87)

* Added support for Macs with Apple Silicon (#90)

Added support for Macs with Apple Silicon:

selecting proper zksync compiler
information on where to get the most recent solidity

* Improved message on compiler error and added support for 1.3.10 (#91)

* added better compiler error passing and support for version 1.3.10

* added comments

* more instructions

* more info

* Added a dependency on ethers-rs fork to support latest solidity (#92)

We're currently based off the old fork of foundry, that was depending on the old version of ethers-rs, which supported the solc compiler only up to 0.8.17 (especially on Apple Silicon).

With this PR, I'm moving us to depend on a fork of ethers-rs, that has svm (solidity version manager) patched to the newest release - therefore allowing us to support 0.8.20.

In the near future, we'll rebase ourselves to newer version of foundry, and this dependency would be switched back to original ethers repo.

* fix test compilation issue (#88)

* Adding support for the newest 1.3.11 zksolc compiler (#95)

* Fix flags for zk deposit (#94)

Fix flags used by zk-deposit:

Use --l1-url and --l2-url (and ignore the --rpc-url flag)

* edited README

* typos

* one more typo

* updates from comments

* Fixed compilation issue (#101)

* fix(readme): --is-system flag image (#103)

* Replace `zksync` crate with `zksync_web3_rs` (#110)

* WIP deposit using zksync_ethers_rs

* WIP deposit and test script

* Add zksync rust sdk as dependency

* Use withdraw from Rust SDK

* Add to address as parameter for withdraw

* WIP test

* Add support for multiple flags in withdraw

* Update cargo.lock

* Use Rust SDK to send transactions to contracts

* Fix deposit test

* Support all parameter types for send command

* Add optional fields to deposit

* Add missing deposit parameters

* Cleanup

* wip.

* Deploy with constructor parameters

* Remove unwraps and commented code

* Fix operator_tip setter

* Remove legacy test script

* point zksync-web3-rs to main

* revert cargo.toml autoformat

* Fix create.

* Remove zksync dependencies.

* Update deploy with new signature from Rust SDK

* Add support for construction parameters from file.

* Update function to get constructor arguments

* Add back chain id to every zk function.

* Minor cleanups and consistency. (#9)

* Add transaction id to print after deploy

* Fix compiler warnings

* Update zksync-web3-rs commit in dependencies

* Add necessary changes with new SDK version

---------

Co-authored-by: Joaquín P. Centeno <[email protected]>
Co-authored-by: IAvecilla <[email protected]>
Co-authored-by: Matías Onorato <[email protected]>

* fixed compilation issues

---------

Co-authored-by: Maksym <[email protected]>
Co-authored-by: sam shakespeare <[email protected]>
Co-authored-by: tmrtx <[email protected]>
Co-authored-by: Tamer Tas <tmrtx@noreply>
Co-authored-by: Sam Shakespeare <[email protected]>
Co-authored-by: Katharine <[email protected]>
Co-authored-by: niramisa <[email protected]>
Co-authored-by: evmcheb <[email protected]>
Co-authored-by: Martin Paulucci <[email protected]>
Co-authored-by: Joaquín P. Centeno <[email protected]>
Co-authored-by: IAvecilla <[email protected]>
Co-authored-by: Matías Onorato <[email protected]>
@dutterbutter
Copy link
Collaborator

We recently updated to sync with upstream as we were 230+ commits behind and foundry had changed their project structure this has resulted in a lot of conflicts on this PR. I suggest closing the PR and reopening with latest changes from main. Apologies for the inconvenience!

@dutterbutter
Copy link
Collaborator

Closing in favour of #132

@Karrq Karrq deleted the zksolc-version-1.3.14-support branch October 9, 2024 18:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants