-
Notifications
You must be signed in to change notification settings - Fork 376
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feature/909 proxy delegatecall #1003
Feature/909 proxy delegatecall #1003
Conversation
Codecov Report
@@ Coverage Diff @@
## master #1003 +/- ##
=======================================
Coverage 66.59% 66.59%
=======================================
Files 257 257
Lines 7394 7394
Branches 494 430 -64
=======================================
Hits 4924 4924
- Misses 2373 2375 +2
+ Partials 97 95 -2
Continue to review full report at Codecov.
|
Transfer tests are failing. They are coupled to gas costs of various smart contract calls. Changing Proxy's fallback function will have increased gas costs for pretty much every call. This will unfortunately require changes to the e2e transfer test (updating the expected gas costs) and to You can run the tests locally by going to the celotool package and running
Let me know if you have any questions, happy to chat about this. |
bringing celo:master
…00ted42/celo-monorepo into feature/909-proxy-delegatecall
Bringing celo-monorepo:master
…00ted42/celo-monorepo into feature/909-proxy-delegatecall
* master: (31 commits) Upgrade to Node 10 (#1148) [faucet] Add custom metrics (#1143) Add IdentityMetadata to Contractkit (#1126) [Wallet] Local currency v1.1 (#1137) Add attestation-service deploy (#1128) [Wallet] A few docs and build cleanup (#1138) [CircleCI]Add comment on how to fix lint checks (#1134) 2019-09-30 integration deployment (#1149) Update web3 provider to new integration url (#1151) [celotool]Add fast mode to celotool invite (#1135) Revert "Feature/909 proxy delegatecall" (#1146) Use contractkit in notification service (#1118) Feature/909 proxy delegatecall (#1003) integration deployment for 2019-09-29 (#1139) Add instructions for npm publication to tag commit (#1117) Client Logs Data Flow script update (#1055) Deploying latest proxy code in genesis (#1122) Enable floating promises check everywhere (fix issues) (#1115) [cli] Solution for build error contractkit on Linux 19.04 distro (#960) [Wallet] Merge back changes made for mx pilot (#1113) ... # Conflicts: # yarn.lock
* master: (35 commits) [Wallet] Network fee in transaction feed (#1145) New About Page Cover (#905) Upgrade to Node 10 (#1148) [faucet] Add custom metrics (#1143) Add IdentityMetadata to Contractkit (#1126) [Wallet] Local currency v1.1 (#1137) Add attestation-service deploy (#1128) [Wallet] A few docs and build cleanup (#1138) [CircleCI]Add comment on how to fix lint checks (#1134) 2019-09-30 integration deployment (#1149) Update web3 provider to new integration url (#1151) [celotool]Add fast mode to celotool invite (#1135) Revert "Feature/909 proxy delegatecall" (#1146) Use contractkit in notification service (#1118) Feature/909 proxy delegatecall (#1003) integration deployment for 2019-09-29 (#1139) Add instructions for npm publication to tag commit (#1117) Client Logs Data Flow script update (#1055) Deploying latest proxy code in genesis (#1122) Enable floating promises check everywhere (fix issues) (#1115) ... # Conflicts: # packages/web/src/about/About.tsx # packages/web/src/about/images/index.ts # packages/web/static/locales/en/about.json
Description
The intention of this PR is to validate if an address is a contract or EOA before calling the
delegatecall
Tested
Test added in
proxy.ts
calling_setAndInitializeImplementation
with a EOA address.Other changes
The
isContract
function shouldn't be called from a constructor. Calling this function from a constructor will return 0 independently if the address given as parameter is a contract or EOARelated issues
Backwards compatibility
Brief explanation of why these changes are/are not backwards compatible.