You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Transaction aggreagation is hard, one of the cases is #20approve + transferFrom model, there were multiple tries including: #677, #827, #1003. They all fail because of complexity and requirement of checks on receivers side which can be forgotten. Many Dapps asks user to establish almost infinite approve once to interact with single transaction later, this opens dangerous flaws, recent example: https://blog.0xproject.com/post-mortem-0x-v2-0-exchange-vulnerability-763015399578
I propose to allow users to upload Stateless force-upgradable smart contracts to account addresses. Since it will be stateless there is no problems with upgrades and migrations. Simple contract could be used for start:
contract MyWallet {
modifier onlySelf {
require(msg.sender == address(this));
_;
}
function() public payable {
}
function performCalls(
address[] memory targets,
uint256[] memory values,
bytes[] memory calldataArray,
)
public
onlySelf
payable
{
for (uint i = 0; i < targets.length; i++) {
(bool success,) = target.call.value(values[i])(calldataArray[i]);
require(success);
}
}
}
Anyone will be able to group multiple transactions easily. No more infinite approves!
Abstract
Allow accounts to deploy smart contracts to its own addresses. This smart contrcats should not do SSTORE, else it should revert.
Motivation
We need a reliable way to group any transaction, even ERC20 approve + transferFrom.
Specification
Coming soon!
Rationale
Coming soon!
Backwards Compatibility
Should not be a problem, let's discuss.
The text was updated successfully, but these errors were encountered:
k06a
changed the title
EIP-xxxx: Stateless upgradable smart contracts for account addresses
EIP-2243: Stateless upgradable smart contracts for account addresses
Aug 17, 2019
"This smart contrcats should not..." in the Abstract. Otherwise, it sounds nice and concise. It would be good to include some technical references, e.g. similar works, EIP's etc. —if they exist, that is.
There has been no activity on this issue for two months. It will be closed in a week if no further activity occurs. If you would like to move this EIP forward, please respond to any outstanding feedback or add a comment indicating that you have addressed all required feedback and are ready for a review.
This issue was closed due to inactivity. If you are still pursuing it, feel free to reopen it and respond to any feedback or request a review in a comment.
eip: 2243
title: Stateless upgradable smart contracts for account addresses
author: Anton Bukov k06aaa@gmail.com
status: Draft
type: Standards Track
category: Core
created: 2019-08-17
Simple Summary
Transaction aggreagation is hard, one of the cases is #20
approve
+transferFrom
model, there were multiple tries including: #677, #827, #1003. They all fail because of complexity and requirement of checks on receivers side which can be forgotten. Many Dapps asks user to establish almost infiniteapprove
once to interact with single transaction later, this opens dangerous flaws, recent example: https://blog.0xproject.com/post-mortem-0x-v2-0-exchange-vulnerability-763015399578I propose to allow users to upload Stateless force-upgradable smart contracts to account addresses. Since it will be stateless there is no problems with upgrades and migrations. Simple contract could be used for start:
Anyone will be able to group multiple transactions easily. No more infinite approves!
Abstract
Allow accounts to deploy smart contracts to its own addresses. This smart contrcats should not do SSTORE, else it should revert.
Motivation
We need a reliable way to group any transaction, even ERC20
approve
+transferFrom
.Specification
Coming soon!
Rationale
Coming soon!
Backwards Compatibility
Should not be a problem, let's discuss.
The text was updated successfully, but these errors were encountered: