Additionally, invariant tests do not work with testContract as during the test, they perform the lookup on the target address and try to match it with a known contract to obtain the ABI for invariant testing. This being an EVM bytecode, the test always fails as we do not know of any solc artifacts within known_contracts.
Solution
Append solc artifacts to known_contracts. This is supported by the argument that in zksync context we are always aware of solc artifacts as we use them to translate bytecodes between VMs.
Motivation
In zksync context, the traces cannot decode contracts via EVM bytecode as we only pass zksolc artifacts to
known_contracts
.Additionally, invariant tests do not work with
testContract
as during the test, they perform the lookup on the target address and try to match it with a known contract to obtain the ABI for invariant testing. This being an EVM bytecode, the test always fails as we do not know of any solc artifacts withinknown_contracts
.Solution
Append solc artifacts to
known_contracts
. This is supported by the argument that in zksync context we are always aware of solc artifacts as we use them to translate bytecodes between VMs.This therefore fixes the decode problem: