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

feat: zksync support #4725

Open
wants to merge 234 commits into
base: main
Choose a base branch
from

Conversation

mshojaei-txfusion
Copy link
Collaborator

Description

This PR introduces a series of changes aimed at enhancing zkSync support within the codebase. Key updates include the addition of the zksolc compiler for zkSync, integration of contract artifacts, CLI automation for core deployment, and compatibility adjustments in tests for the zkSync environment. It also includes improvements in contract verification on zkSync explorer and handling gas limits for zkSync deployments.

Drive-by changes

  • Added support for the zksolc compiler.
  • Decoupled Hardhat configuration for EVM from zkSync.
  • Enabled the export of zkSync-related contract artifacts.
  • Verified compatibility of different deployment components based on the chain’s technical stack.
  • Integrated zkSync provider and signer.
  • Added support for contract verification on the zkSync explorer.
  • Blacklisted static contracts from deployment on zkSync, as they are not supported.

Related issues

No related issue

Backward compatibility

Yes

Testing

Manual testing and some automated tests were performed, including end-to-end tests on zkSync for warp read and apply functionalities.

ljankovic-txfusion and others added 30 commits September 12, 2024 12:23
@ltyu ltyu dismissed jmrossy’s stale review January 17, 2025 16:26

It seems like most issues were resolved and/or outdated

.changeset/wicked-cherries-pump.md Outdated Show resolved Hide resolved
typescript/sdk/src/providers/ProviderType.ts Outdated Show resolved Hide resolved
typescript/sdk/src/index.ts Outdated Show resolved Hide resolved
Comment on lines +15 to +20
networks: {
zkSyncNetwork: {
url: 'http://127.0.0.1:8011',
ethNetwork: '',
zksync: true,
},
Copy link
Contributor

@xeno097 xeno097 Jan 17, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this needed for building the zk-sync artifacts or can it be removed?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would keep it there, removing the zksync network reference has been know to cause issues for some reason

github-merge-queue bot pushed a commit that referenced this pull request Jan 22, 2025
### Description

ZKSync PR 1

This PR introduces ZKSync support for Solidity contracts and
restructures build files directory structure.

### Drive-by changes

- Added ZKSync compilation support using zksolc via
`@matterlabs/hardhat-zksync-solc`
- Restructured typechain directory location to `core-utils/typechain`
- Decoupled Hardhat configuration for ZKSync from EVM.
- Updated build process to handle both standard and ZKSync contract
artifacts

### Related issues

None

### Backward compatibility

Yes

### Testing

Testing was previously in [feat: zksync
support](#4725)
PR

---------

Co-authored-by: Morteza Shojaei <[email protected]>
Co-authored-by: mshojaei-txfusion <[email protected]>
Co-authored-by: Le Yu <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: In Progress
Development

Successfully merging this pull request may close these issues.

9 participants