Wrapped deposit contract EIP

This is a discussion thread for an informational EIP describing a singleton contract meant to act as a deposit agent.

The basic strategy is deploy a tiny, stateless contract that offers a way for other contracts to accept deposits (Ether, ERC20/721). This is done by having the singleton contract call into the destination contract with information about the deposit before executing the transfer.

This means a user only needs to approve the wrapper contract once and can then deposit to many applications supporting the interface. This is designed to:

  1. Remove the security implications of approving many application contracts to spend tokens
  2. Improve user experience when using tokens with applications
  3. Reduce the number of transactions needed when using the Ethereum network

Draft implementation of the wrapper contract here.