Skip to content

Latest commit

 

History

History
18 lines (15 loc) · 867 Bytes

README.md

File metadata and controls

18 lines (15 loc) · 867 Bytes

HEVM Helpers

This library is intended for use with HEVM from dapphub. It enables writing to arbitrary contract's storage, targeted by a specific function.

Effectively: this allows you to set an arbitrary value like balanceOf of any contract, without knowing storage layout. i.e.:

 function write_balanceOf(address who, address acct, uint256 value) public {
    write_map(who, "balanceOf(address)", acct, value);
 }
 function write_balanceOfUnderlying(address who, address acct, uint256 value) public {
    write_map(who, "balanceOfUnderlying(address)", acct, value);
 }
 function write_totalSupply(address who, uint256 value) public {
    write_flat(who, "totalSupply()", value);
 }

It supports multi-key mapping via: write_deep_map(address who, string memory sig, bytes32[] memory keys, address value). It has some limitations around structs.