Skip to content
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

IMPERSONATECALL opcode EIP #2997

Merged
merged 9 commits into from
Oct 8, 2020
Merged

IMPERSONATECALL opcode EIP #2997

merged 9 commits into from
Oct 8, 2020

Conversation

SergioDemianLerner
Copy link
Contributor

@SergioDemianLerner SergioDemianLerner commented Sep 24, 2020

Proposal for IMPERSONATECALL. Open discussions are held in https://ethresear.ch/t/impersonatecall-opcode/8020 .

Copy link
Member

@lightclient lightclient left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

When you prepare your PR to merge, you will also need to add a discussion link in the discussions-to field in the header.

EIPS/eip-IMPERSONATECALL.md Outdated Show resolved Hide resolved
EIPS/eip-IMPERSONATECALL.md Outdated Show resolved Hide resolved
EIPS/eip-IMPERSONATECALL.md Outdated Show resolved Hide resolved
EIPS/eip-IMPERSONATECALL.md Outdated Show resolved Hide resolved
EIPS/eip-IMPERSONATECALL.md Outdated Show resolved Hide resolved
EIPS/eip-IMPERSONATECALL.md Outdated Show resolved Hide resolved
EIPS/eip-IMPERSONATECALL.md Outdated Show resolved Hide resolved
EIPS/eip-IMPERSONATECALL.md Outdated Show resolved Hide resolved
EIPS/eip-IMPERSONATECALL.md Outdated Show resolved Hide resolved
EIPS/eip-IMPERSONATECALL.md Outdated Show resolved Hide resolved
@SergioDemianLerner
Copy link
Contributor Author

I'll improve it based on the comments!

SergioDemianLerner and others added 4 commits September 29, 2020 11:52
Co-authored-by: lightclient <14004106+lightclient@users.noreply.github.com>
Co-authored-by: lightclient <14004106+lightclient@users.noreply.github.com>
@SergioDemianLerner
Copy link
Contributor Author

I saw that https://ethereum-magicians.org/ is more frequently used to discuss EIPs than https://ethresear.ch/. Should I move the discussion there? It better or worse to open two threads for discussion ?

@lightclient
Copy link
Member

ethereum-magicians is probably a better place to discuss core EIPs.

EIPS/eip-2997.md Outdated Show resolved Hide resolved
EIPS/eip-2997.md Outdated
Comment on lines 62 to 65
## Possible arguments against

* You can replicate this functionality with counterfactual contract creation. We argue that the there is an important benefit of avoiding the deployment cost in case the sponsor needs to serve thousands of users.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

EIPs are not the appropriate place to make arguments/pleas. Consider moving this content to the motivation section and re-wording it as a motivation.

EIPS/eip-2997.md Outdated
Comment on lines 61 to 65

## Possible arguments against

* You can replicate this functionality with counterfactual contract creation. We argue that the there is an important benefit of avoiding the deployment cost in case the sponsor needs to serve thousands of users.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
## Possible arguments against
* You can replicate this functionality with counterfactual contract creation. We argue that the there is an important benefit of avoiding the deployment cost in case the sponsor needs to serve thousands of users.

EIPS/eip-2997.md Show resolved Hide resolved
EIPS/eip-2997.md Show resolved Hide resolved
EIPS/eip-2997.md Outdated Show resolved Hide resolved
EIPS/eip-2997.md Show resolved Hide resolved
EIPS/eip-2997.md Outdated Show resolved Hide resolved
Copy link
Contributor

@MicahZoltu MicahZoltu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Only a couple style issues. Can be addressed latere though.

This proposal enables native multi-user wallets (wallets that serve multiple users) that can be commanded by EIP-712 based messages and therefore enable meta-transactions. Multi-user wallets also enable the aggregation of transfer operations in batches similar to rollups, but maintaining the same address space as normal onchain transactions, so the sender's wallet does not need to be upgraded to support sinding ether or tokens to a user of a multi-user wallet.
Additionally, many times a sponsor company wants to deploy non-custodial smart wallets for all its users. The sponsor does not want to pay the deployment cost of each user contract in advance. Counterfactual contract creation enables this, yet it forces the sponsor to create the smart wallet (or a proxy contract to it) when the user wants to transfer ether or tokens out of his/her account for the first time. This proposal avoids this extra cost, which is at least 42000 gas per user.


Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change

Style consistency.

EIPS/eip-2997.md Show resolved Hide resolved
@MicahZoltu MicahZoltu merged commit d967bec into ethereum:master Oct 8, 2020
tkstanczak pushed a commit to tkstanczak/EIPs that referenced this pull request Nov 7, 2020
Arachnid pushed a commit to Arachnid/EIPs that referenced this pull request Mar 6, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants