Skip to content
This repository has been archived by the owner on Jul 9, 2021. It is now read-only.

Add support for ERC-777. #2022

Closed
MicahZoltu opened this issue Jul 31, 2019 · 1 comment
Closed

Add support for ERC-777. #2022

MicahZoltu opened this issue Jul 31, 2019 · 1 comment

Comments

@MicahZoltu
Copy link

Expected Behavior

There are two benefits to using ERC-777 over ERC-20 when trading:

  1. No more need for approval from takers. A taker can just sign a single transaction which transfers the token to 0x contracts along with calldata that contains the signature and trade data. While makers still have to do approvals (or deposits), takers are much more likely to be first time users or casual users who struggle with approvals.
  2. When transferring a token to a recipient, the 0x contract can call a function on the receiver along with metadata supplied as part of the transaction which allows triggering additional functionality in the receiver. This allows 0x to be integrated into other smart contract platforms that need to do internal book-keeping on trade.

Context

Approvals are a wretched user experience that confuses everyone who is new to the platform and frustrates those who are experienced with the platform. They also encourage the "approve all" mechanism of approvals which increases risk for users when security vulnerabilities are discovered.

Smart contracts that want to integrate with 0x need the ability to be notified when a trade occurs along with details of the trade and metadata about the trade supplied by the traders. For example, a platform like Augur may want to allow users to trade ETH+metadata for ETH+metadata, which would result in the ETH being used to purchase some other asset which is then divided up between the users based on the provided metadata.

@MicahZoltu
Copy link
Author

Moved to ZEIPs: 0xProject/ZEIPs#49

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant