[Dev Tools] Difficulties integrating with ZK chain because lack of compatibility with Ethereum Dev Tools #799
Replies: 5 comments 2 replies
-
It seems you are facing compatibility issues with the ZKsync-hardhat plugins, particularly with the versions of ethers, hardhat-toolbox, and typechain your projects are using. Here are some steps and considerations that might help:
For more detailed guidance and updates on the development tools, you can visit the ZKsync developers discussions on Github. Your feedback helps us serve you better. If this fully addresses your question, please give it a thumbs up. If it doesn't, please give it a thumbs down. This will inform the community and team so we can improve our support. |
Beta Was this translation helpful? Give feedback.
-
|
Beta Was this translation helpful? Give feedback.
-
Thank you @cytadela8 How about the issue regarding the lack of support of the historical access on the in memory zk node? Any plan to support these? |
Beta Was this translation helpful? Give feedback.
-
Also I receive another question: Have you guys tried using @openzeppelin/hardhat-upgrades overloaded with @matterlabs/hardhat-zksync-upgradable? I have found a very unexpected bug in hre.upgrades.deployProxy (which is documented on https://docs.zksync.io/build/tooling/hardhat/guides/migrating-to-zksync#deploying-proxy-contracts). When running the following simple code:
error
After a bit of debugging I have found out that their makeDeployProxy() expects factory to be instance of zk.ContractFactory, however the hre.ethers.getContractFactory() returns some other (still compatible) object. After adding a hardcoded always-true flag in the source code of @matterlabs/hardhat-zksync-upgradable, it passed Any clues about this issue? |
Beta Was this translation helpful? Give feedback.
-
Thank you , very helpful 🙏 |
Beta Was this translation helpful? Give feedback.
-
Team or Project
Cronos zkEVM
Environment
Mainnet
Select the Dev Tool you are using
Hardhat Plugins
Provide the version of the tool (if applicable)
No response
Provide a brief description of the functionality you're trying to implement and the issue you are running into.
Hi, we are receiving some feedbacks from project trying to integrate with Cronos zkEVM complaining that the zksync-hardhat is not completely compatible with their code and the in memory zk-node is missing some core RPCs that is critical for their developments
Is there any alternatives or any plan to support those?
Putting the message below
Currently, the only issue is the amount of refactoring to be done across our three smart contract repos: they all depend on ethersV5, hardhat-toolboxV2 and typechain, while zksync plugins require ethersV6, toolboxV5 and direct usage of contract deployment routines. Also, inMemory zkNode does not support historical access, making many hardhat-chai matchers useless (e.g., .changeEtherBalance, .changeTokenBalance assertions). I am currently looking for ways to reduce the amount of changes while preserving a decent level of assertions. This is at least what have been revealed during smart contract level review.
Repo Link (Optional)
No response
Additional Details
No response
Beta Was this translation helpful? Give feedback.
All reactions