ProxyDelegate
Following the steps to complete this exercise:
- clone this project
- update packages:
npm ci
- run the test:
npm test
- make sure only 1 test case fails, the one that set version
- fix the failed test case by modifying the ProxyDelegate.sol contract, e.g. add a version state variable in ProxyDelegate.sol
- add a new Proxy contract which will use .call() instead of .delegatecall()
- write test cases for the new Proxy contract to test getMsgSender() and setVersion(). Do you notice any differences between .call() and .delegatecall()?
- commit your changes to github and submit your github url