Comments (3)
Hi @brotherlymite, I wanted to provide an update on our work regarding this issue.
We understand that the problem originated from the split in the Aave proposal contracts, which led to the use of cheatcodes in external contracts—functionality that isn’t natively supported and is quite complex to implement. More context & documentation can be found in the zksync discrepancies aave-v3-origin issue and this related issue.
To partially enable this functionality, we utilized the zkVm cheatcode to switch execution between EVM and zkVM. However, during this transition, a migration occurs, which we believe is corrupting the state. Consequently, when switching back from zkVM to EVM, the cheatcodes stop functioning.
In cases where only one cheatcode is involved, using a low-level call can resolve the issue. This method allows us to verify the state without the additional checks performed by high-level calls. However, Aave’s extensive tests, which involve multiple cheatcodes, make this workaround highly cumbersome. We acknowledge that implementing this would require significant changes to the codebase, and although we’re testing it ourselves, the process is challenging due to the extensive modifications needed.
We understand that a better solution for this is a top priority, and we’re treating it as such. Resolving this will require further research and development time. We’re progressing as quickly as possible, but we anticipate that it will take more time during this week to provide a path forward for this issue.
from foundry-zksync.
Hey @brotherlymite thanks for the report - we investigated the issue and found (and applied with #499) a fix that should make your original use case work.
We tried running your example with the fix applied and that resulted in Ownable: caller is not the owner
, could you please verify that it is the intended behavior of the test?
Thank you
from foundry-zksync.
@Karrq thank you, yes it was expected on the test.
On the latest commit of foundry-zksync I'm able to run the tests without any issues.
from foundry-zksync.
Related Issues (20)
- Test failures when running on regular EVM HOT 2
- Unable to deploy contract with big factory deps on zkSync Era mainnet HOT 9
- "./install-foundry-zksync" not working HOT 20
- `forge coverage --via-ir` fails with stack too deep HOT 1
- Reading value that was deleted in a mapping causes panic HOT 3
- Getting an error when running ./install-foundry-zksync HOT 10
- Unable to deploy using create2 factory HOT 4
- Error installing foundry-zksync HOT 1
- Failure building forge
- Empty forked state for `vm.createSelectFork` HOT 1
- Contract deploy bug in fork test HOT 2
- build --sizes does not work properly (false negative error code) HOT 1
- cast etherscan-source seems to not work HOT 4
- EvmError: InvalidOperandOOG when called SystemContractsCaller.systemCallWithReturndata HOT 4
- Fuzz Test Failure in Counter.t.sol on zkSync with Foundry in Windows/WSL HOT 2
- vm.recordLogs does not record events emitted by calls
- Docs installation guide does not work HOT 1
- --zksync flag causes invariant tests to hang HOT 3
- Cargo install from git is failing to build HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from foundry-zksync.