This ERC defines a simple contract interface for managing deposits. It also defines a new address format that encodes the extra data passed into the interface’s main deposit function.
EIP is here: https://eips.ethereum.org/EIPS/eip-2876
Sample Implementation is linked in the EIP.
One major question brought up: Why not EIP-681? It also supports ERC-20 which many exchanges need.
I mention why no ERC-20 support is not an issue in the EIP (separation of logic and keys) and as for why not EIP-681 I answered here.
Some goals I want to accomplish after this EIP is in a Final stage:
- Get support for generating and verifying deposit addresses into as many popular libraries in as many languages as possible.
- Get a widely reviewed implementation of a simple forwarding contract that implements the interface and also has some Event emitting and a kill switch. This way merchants and exchanges can just deploy the one contract and start accepting deposits immediately.
- Get support for sending to these deposit addresses in all major wallet software.
- Get major exchanges to support sending to these addresses.
Anyways. Now that you all are up to speed on my goals and reasoning, tear my proposal apart, please. I look forward to discussing with you all.