-
Notifications
You must be signed in to change notification settings - Fork 553
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add ERC: Deferred Token Transfer #465
Add ERC: Deferred Token Transfer #465
Conversation
✅ All reviewers have approved. |
The commit 8e22e04 (as a parent of 5614006) contains errors. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this is fine to go in as is, but work on your Rationale before moving into Review.
The design of the Deferred Token Transfer contract aims to provide a straightforward and secure method for handling time-locked token transfers. The following considerations were made during its development: | ||
|
||
**Simplicity and Usability**: The contract interface is designed to be simple and intuitive, making it easy for users to create deposits and for beneficiaries to withdraw tokens once the conditions are met. | ||
|
||
**Security**: The contract ensures secure token transfers, preventing common vulnerabilities associated with ERC-20 transfers. Additionally, the contract includes checks to prevent multiple withdrawals of the same deposit. | ||
|
||
**Flexibility**: The contract supports various ERC-20 tokens, allowing users to create deposits with any standard ERC-20 token. This flexibility makes it suitable for a wide range of use cases. | ||
|
||
**Event Logging**: Events are emitted for both deposit creation and token withdrawal. This provides transparency and allows easy tracking of contract activities, which is crucial for auditability and user confidence. | ||
|
||
**Conditional Payments**: By implementing a time-lock mechanism, the contract ensures that tokens are only transferred after a specific timestamp. This feature is essential for use cases like vesting schedules, escrow arrangements, and timed rewards, where payments need to be delayed until certain conditions are met. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Your Rationale is pretty generic. These considerations kinda apply to all ERCs, and aren't specific to this one. Some examples you could explain here are why you chose a full uint256
for _unlockTime
, or why you've chosen to overload transferFrom
instead of introducing a new function name.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
All Reviewers Have Approved; Performing Automatic Merge...
When opening a pull request to submit a new EIP, please use the suggested template: https://github.com/ethereum/EIPs/blob/master/eip-template.md
We have a GitHub bot that automatically merges some PRs. It will merge yours immediately if certain criteria are met: