Echidna is now using hevm, our tool, to perform an awesome combination of symbolic execution and fuzzing. In my view, this is a very cool and exciting way of using hevm as a library:
gustavo-grieco.github.io/blo…
Thanks to Gustavo Grieco for the amazing work and write-up!
A stunt contract is the one that is in the ERC1967 implementation slot, while the actual logic contract in the fallback contract might be different.
Yolc uses this technique to make the contract interactable on Etherscan, e.g. basescan.org/address/0x71D97…
The access control part of the contracts is inherently not suitable for fuzzing or invariant testing.
Yolc will introduce a type-level ACL (access control list) for the storage APIs: If applied, you will need to supply the necessary "runtime-witness" as an ACL to have write access to the sensitive storage.
Yolc is born for a different purpose:
No: Simple, Easy, Wrong.
Yes: Elegant, Coherent, Correct.
More on: addressing essential complexity.
Lesss on: creating accidental complexity.
Have you found out why it is a type error?
This is its similar solidity code:
```solidity
uint256 senderBalance = balances[from];
uint256 receiverBalance = balances[to];
(uint256 newSenderBalance, uint256 newReceiverBalance) = (senderBalance - amount, receiverBalance amount);
balances[from] = newSenderBalance;
balances[to] = newReceiverBalance;
```
Define multi-level hash map at arbitrary storage slot:
This is similar to and compatible with Solidity's "mapping (address -> mapping (address -> uint256))".
This is the first part of a series explaining the next-generation Haskell effect library, Heftia.
Heftia: The Final Word in Haskell Effect System Libraries - Part 1.1 sayo-hs.github.io/blog/hefti…
Another future benefit of being an embedded DSL is that the same code can be used as indexer logic.
This will be an equivalent to "isomorphic client-server-stack": an "isomorphic contract-indexer-stack."