Skip to content
This repository has been archived by the owner on Sep 5, 2020. It is now read-only.

Add "transfer all" option for contracts #1051

Closed
omniproc opened this issue Jul 28, 2016 · 5 comments
Closed

Add "transfer all" option for contracts #1051

omniproc opened this issue Jul 28, 2016 · 5 comments

Comments

@omniproc
Copy link

omniproc commented Jul 28, 2016

The "transfer all" function has been implemented in Mist for sending Ether from one address to another but is missing when using contracts. As a result it's currently very difficult to send all Ether from a wallet to a specific contract.

System information

Version: `0.8.1`
OS & Version: windows
Node type: `geth`
@luclu
Copy link
Contributor

luclu commented Jul 28, 2016

The send-screen is generic and should always display the 'send all' radio box.
Could you kindly upload a screenshot showcasing the context?

@omniproc
Copy link
Author

omniproc commented Jul 29, 2016

Sure. The issue only exists for custom contracts.
In the given example "Execute from" will be the account to transfer the Ether from to the contract and Ether / Number will be the amount. As you can see from the screenshot there's no "transfer all" option showing there. As you said I think this should be generic. E.g. any function that's accessing a account and providing an "amount" variable should have a "transfer all" option.

mist-issue

In this particular example (Vitalik's hard fork splitter contract) it makes it nearly impossible to transfer all the Ether from a account to the contract, always leaving some rest amount of Ether in the source account (and thus open to the replay attack the contract is supposed to eliminate).
With all this little amounts of Ether left unprotected one could automate a replay attack and collect all those tiny amounts that accumulateto a couple of thousand Ether as I would imagine. (Didn't have a deep look into it yet but that's my understanding of the splitter contract so far).

Whatever the reason might be: I think there is a great demand to have that "transfer all" option available for any kind of transaction. Otherwise we'll see even more abandoned accounts with pennies left in them over the years.

@alexvandesande
Copy link
Collaborator

I think it makes more sense to add a specific contract to use that on the send page rather than add a generic send all for all contracts. It would be terrible if someone accidentally sent all their ether to a contract not supposed to do that.

@frozeman
Copy link
Contributor

frozeman commented Aug 1, 2016

The contract execute functionality belongs in its own dapp in the future and is only in the wallet for the reason of not being otherwise possible.
Once its in its own dapp, we can surely add a lot of new features there, if we have the resources at hand

@lock
Copy link

lock bot commented Apr 1, 2018

This thread has been automatically locked because it has not had recent activity. Please open a new issue for related bugs and link to relevant comments in this thread.

@lock lock bot locked and limited conversation to collaborators Apr 1, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

4 participants