copyStorage
Signature
Section titled “Signature”function copyStorage(address from, address to) external;Description
Section titled “Description”Utility cheatcode to copy storage of from contract to another to contract.
Cheatcode is not allowed if the target address has arbitrary storage set.
Examples
Section titled “Examples”Given a contract
contract Counter { uint256 public count;
function setCount(uint256 x) public { count = x; }}using copyStorage cheatcode copies the storage set on an instance to another address:
function testCopyStorage() public { Counter original = new Counter(); original.setCount(1000); Counter copy = new Counter(); copy.setCount(1); // Check initial count on copy. assertEq(copy.count(), 1);
vm.copyStorage(address(original), address(copy)); // Value is copied from first contract to copy. assertEq(copy.count(), 1000);}